(MS-CPREST) Ms SQL Server Protocols
(MS-CPREST) Ms SQL Server Protocols
Tools. The Open Specifications documentation does not require the use of Microsoft programming
tools or programming environments in order for you to develop an implementation. If you have access
to Microsoft programming tools and environments, you are free to take advantage of them. Certain
Open Specifications documents are intended for use in conjunction with publicly available standards
specifications and network programming art and, as such, assume that the reader either is familiar
with the aforementioned material or has immediate access to it.
1 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Revision Summary
Revision Revision
Date History Class Comments
2 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Table of Contents
1 Introduction .......................................................................................................... 11
1.1 Glossary ......................................................................................................... 11
1.2 References ...................................................................................................... 13
1.2.1 Normative References ................................................................................. 13
1.2.2 Informative References ............................................................................... 15
1.3 Overview ........................................................................................................ 15
1.4 Relationship to Other Protocols .......................................................................... 16
1.5 Prerequisites/Preconditions ............................................................................... 16
1.6 Applicability Statement ..................................................................................... 16
1.7 Versioning and Capability Negotiation ................................................................. 16
1.8 Vendor-Extensible Fields ................................................................................... 16
1.9 Standards Assignments..................................................................................... 16
2 Messages ............................................................................................................... 17
2.1 Transport ........................................................................................................ 17
2.2 Common Data Types ........................................................................................ 17
2.2.1 Namespaces .............................................................................................. 17
2.2.2 HTTP Methods ............................................................................................ 17
2.2.3 HTTP Headers ............................................................................................ 17
2.2.3.1 X-RequestID......................................................................................... 17
2.2.3.2 version ................................................................................................ 17
2.2.4 URI Parameters .......................................................................................... 17
2.2.4.1 clusterIp .............................................................................................. 18
2.2.4.2 controllerPort ....................................................................................... 18
2.2.4.3 bdcName ............................................................................................. 18
2.2.4.4 uriVersion ............................................................................................ 18
2.2.5 JSON Elements ........................................................................................... 18
2.2.5.1 Big Data Cluster.................................................................................... 19
2.2.5.1.1 Big Data Cluster Spec Schema .......................................................... 19
2.2.5.1.1.1 definitions ................................................................................. 20
2.2.5.1.1.1.1 storage ............................................................................... 21
2.2.5.1.1.1.2 storageInfo .......................................................................... 22
2.2.5.1.1.1.2.1 accessMode.................................................................... 22
2.2.5.1.1.1.3 docker ................................................................................ 23
2.2.5.1.1.1.3.1 imagePullPolicy............................................................... 23
2.2.5.1.1.1.4 security ............................................................................... 24
2.2.5.1.1.1.4.1 activeDirectory ............................................................... 25
2.2.5.1.1.1.4.1.1 dnsIpAddresses ........................................................ 27
2.2.5.1.1.1.4.1.2 domainControllerFullyQualifiedDns .............................. 28
2.2.5.1.1.1.4.1.3 clusterAdmins ........................................................... 28
2.2.5.1.1.1.4.1.4 clusterUsers ............................................................. 29
2.2.5.1.1.1.4.1.5 appOwners ............................................................... 29
2.2.5.1.1.1.4.1.6 appUsers.................................................................. 30
2.2.5.1.1.1.5 spark .................................................................................. 30
2.2.5.1.1.1.6 hdfs .................................................................................... 31
2.2.5.1.1.1.7 sql ...................................................................................... 31
2.2.5.1.1.1.8 gateway .............................................................................. 32
2.2.5.1.1.1.9 metadata ............................................................................ 32
2.2.5.1.1.2 apiVersion................................................................................. 33
2.2.5.1.1.3 spec ......................................................................................... 33
2.2.5.1.1.3.1 resources ............................................................................ 34
2.2.5.1.1.3.1.1 sparkhead...................................................................... 35
2.2.5.1.1.3.1.1.1 spec ........................................................................ 36
2.2.5.1.1.3.1.1.2 spec.settings ............................................................ 36
2.2.5.1.1.3.1.2 storage-0....................................................................... 37
3 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.1.1.3.1.2.1 spec ........................................................................ 38
2.2.5.1.1.3.1.2.2 spec.settings ............................................................ 39
2.2.5.1.1.3.1.3 nmnode-0 ...................................................................... 39
2.2.5.1.1.3.1.3.1 spec ........................................................................ 40
2.2.5.1.1.3.1.3.2 spec.settings ............................................................ 41
2.2.5.1.1.3.1.4 master .......................................................................... 41
2.2.5.1.1.3.1.4.1 spec ........................................................................ 42
2.2.5.1.1.3.1.4.2 spec.endpoints.......................................................... 43
2.2.5.1.1.3.1.4.3 spec.endpoints.serviceType ........................................ 44
2.2.5.1.1.3.1.4.4 spec.settings ............................................................ 45
2.2.5.1.1.3.1.5 compute-0 ..................................................................... 45
2.2.5.1.1.3.1.5.1 spec ........................................................................ 46
2.2.5.1.1.3.1.5.2 spec.settings ............................................................ 47
2.2.5.1.1.3.1.6 appproxy ....................................................................... 47
2.2.5.1.1.3.1.6.1 spec ........................................................................ 48
2.2.5.1.1.3.1.6.2 spec.endpoints.......................................................... 49
2.2.5.1.1.3.1.6.3 spec.endpoints.name ................................................. 50
2.2.5.1.1.3.1.6.4 spec.endpoints.serviceType ........................................ 50
2.2.5.1.1.3.1.7 zookeeper ...................................................................... 51
2.2.5.1.1.3.1.7.1 spec ........................................................................ 52
2.2.5.1.1.3.1.7.2 spec.settings ............................................................ 52
2.2.5.1.1.3.1.8 gateway ........................................................................ 53
2.2.5.1.1.3.1.8.1 spec ........................................................................ 54
2.2.5.1.1.3.1.8.2 spec.endpoints.......................................................... 55
2.2.5.1.1.3.1.8.3 spec.endpoints.name ................................................. 56
2.2.5.1.1.3.1.8.4 spec.endpoints.serviceType ........................................ 56
2.2.5.1.1.3.1.9 spark-0 ......................................................................... 57
2.2.5.1.1.3.1.9.1 spec ........................................................................ 57
2.2.5.1.1.3.1.9.2 spec.settings ............................................................ 58
2.2.5.1.1.3.1.10 data-0 ........................................................................... 59
2.2.5.1.1.3.1.10.1 spec ........................................................................ 59
2.2.5.1.1.3.1.10.2 spec.settings ............................................................ 60
2.2.5.1.1.3.2 services .............................................................................. 61
2.2.5.1.1.3.2.1 sql ................................................................................ 61
2.2.5.1.1.3.2.1.1 resources ................................................................. 62
2.2.5.1.1.3.2.2 hdfs .............................................................................. 63
2.2.5.1.1.3.2.2.1 resources ................................................................. 63
2.2.5.1.1.3.2.3 spark ............................................................................ 64
2.2.5.1.1.3.2.3.1 resources ................................................................. 65
2.2.5.1.2 Big Data Cluster Error Response Schema ............................................ 65
2.2.5.1.3 Big Data Cluster Information Schema ................................................ 66
2.2.5.1.4 Big Data Cluster Status Schema ........................................................ 67
2.2.5.1.4.1 services .................................................................................... 68
2.2.5.1.4.1.1 resources ............................................................................ 68
2.2.5.1.4.1.1.1 instances ....................................................................... 69
2.2.5.1.4.1.1.1.1 dashboards .............................................................. 70
2.2.5.1.5 Big Data Cluster Service Status Schema ............................................. 71
2.2.5.1.5.1 resources .................................................................................. 72
2.2.5.1.5.1.1 instances ............................................................................. 73
2.2.5.1.5.1.1.1 dashboards .................................................................... 74
2.2.5.1.5.1.2 replicas ............................................................................... 75
2.2.5.1.5.1.2.1 availabilityMode .............................................................. 76
2.2.5.1.5.1.2.2 replicaRole ..................................................................... 76
2.2.5.1.5.1.2.3 synchronizationStatus ..................................................... 77
2.2.5.1.6 Big Data Cluster Service Resource Status Schema ............................... 77
2.2.5.1.6.1 instances .................................................................................. 78
2.2.5.1.6.1.1 dashboards .......................................................................... 79
2.2.5.1.7 Big Data Cluster Upgrade Schema ..................................................... 80
4 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.1.8 Big Data Cluster Endpoints List Schema ............................................. 81
2.2.5.1.8.1 protocol .................................................................................... 82
2.2.5.1.9 Big Data Cluster Endpoint Schema ..................................................... 82
2.2.5.1.9.1 protocol .................................................................................... 83
2.2.5.2 Storage ............................................................................................... 83
2.2.5.2.1 Storage Response Schema ............................................................... 83
2.2.5.2.1.1 state ........................................................................................ 84
2.2.5.3 App ..................................................................................................... 85
2.2.5.3.1 App Description Schema ................................................................... 85
2.2.5.3.1.1 definitions ................................................................................. 87
2.2.5.3.1.1.1 link ..................................................................................... 87
2.2.5.3.1.1.2 parameter ........................................................................... 87
2.2.5.3.1.1.2.1 type .............................................................................. 88
2.2.5.3.1.2 input_param_defs ...................................................................... 89
2.2.5.3.1.3 output_param_defs .................................................................... 89
2.2.5.3.1.4 state ........................................................................................ 89
2.2.5.3.1.5 links ......................................................................................... 90
2.2.5.3.2 App Run Result Schema ................................................................... 91
2.2.5.3.2.1 outputParameters ...................................................................... 92
2.2.5.4 Token .................................................................................................. 93
2.2.5.4.1 Token Response Schema .................................................................. 93
2.2.5.5 Home .................................................................................................. 94
2.2.5.5.1 Ping Response Schema .................................................................... 94
2.2.5.5.1.1 code ......................................................................................... 95
2.2.5.5.1.2 message ................................................................................... 95
2.2.5.5.2 Info Response Schema ..................................................................... 95
2.2.5.6 Config ................................................................................................. 96
2.2.5.6.1 Apply Settings Request Schema ........................................................ 96
2.2.5.6.2 Set Settings Response Schema ......................................................... 97
2.2.5.6.2.1 settings .................................................................................... 98
2.2.5.6.3 Get Cluster Settings Schema ............................................................ 98
2.2.5.6.3.1 definitions ................................................................................. 99
2.2.5.6.3.1.1 settings ............................................................................... 99
2.2.5.6.3.1.2 status ................................................................................100
2.2.5.6.3.2 services ...................................................................................101
2.2.5.6.3.2.1 resources ...........................................................................102
2.2.5.6.4 Get Service Configuration Response Settings Schema .........................103
2.2.5.6.4.1 definitions ................................................................................103
2.2.5.6.4.1.1 settings ..............................................................................104
2.2.5.6.4.1.2 status ................................................................................104
2.2.5.6.4.2 resources .................................................................................105
2.2.5.6.5 Get Resource Settings Schema.........................................................106
2.2.5.6.5.1 definitions ................................................................................107
2.2.5.6.5.1.1 settings ..............................................................................107
2.2.5.6.5.1.2 status ................................................................................108
2.2.5.7 KMS ...................................................................................................109
2.2.5.7.1 Update KMS Configuration Request Schema .......................................109
2.2.5.7.1.1 keyProvider ..............................................................................110
2.2.5.7.1.2 keyAttributes............................................................................110
2.2.5.7.1.3 keyApplicationName ..................................................................111
2.2.5.7.1.4 keyApplicationVersion................................................................111
2.2.5.7.2 Show KMS Configuration Response Schema .......................................111
3 Protocol Details ................................................................................................... 113
3.1 Common Details .............................................................................................113
3.1.1 Abstract Data Model ...................................................................................113
3.1.2 Timers .....................................................................................................113
3.1.3 Initialization ..............................................................................................113
5 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.4 Higher-Layer Triggered Events ....................................................................113
3.1.5 Message Processing Events and Sequencing Rules .........................................113
3.1.5.1 Big Data Cluster...................................................................................114
3.1.5.1.1 Create Big Data Cluster ...................................................................115
3.1.5.1.1.1 Request Body ...........................................................................116
3.1.5.1.1.2 Response Body .........................................................................116
3.1.5.1.1.3 Processing Details .....................................................................116
3.1.5.1.2 Delete Big Data Cluster ...................................................................116
3.1.5.1.2.1 Request Body ...........................................................................116
3.1.5.1.2.2 Response Body .........................................................................116
3.1.5.1.2.3 Processing Details .....................................................................116
3.1.5.1.3 Get Big Data Cluster Logs ................................................................117
3.1.5.1.3.1 Request Body ...........................................................................117
3.1.5.1.3.2 Response Body .........................................................................117
3.1.5.1.3.3 Processing Details .....................................................................117
3.1.5.1.4 Get Big Data Cluster Status .............................................................117
3.1.5.1.4.1 Request Body ...........................................................................118
3.1.5.1.4.2 Response Body .........................................................................118
3.1.5.1.4.3 Processing Details .....................................................................118
3.1.5.1.5 Get Big Data Cluster Information ......................................................118
3.1.5.1.5.1 Request Body ...........................................................................118
3.1.5.1.5.2 Response Body .........................................................................118
3.1.5.1.5.3 Processing Details .....................................................................118
3.1.5.1.6 Get Service Status ..........................................................................119
3.1.5.1.6.1 Request Body ...........................................................................119
3.1.5.1.6.2 Response Body .........................................................................119
3.1.5.1.6.3 Processing Details .....................................................................119
3.1.5.1.7 Get Service Resource Status ............................................................119
3.1.5.1.7.1 Request Body ...........................................................................120
3.1.5.1.7.2 Response Body .........................................................................120
3.1.5.1.7.3 Processing Details .....................................................................120
3.1.5.1.8 Redirect to Metrics Link ...................................................................120
3.1.5.1.8.1 Request Body ...........................................................................121
3.1.5.1.8.2 Response Body .........................................................................121
3.1.5.1.8.3 Processing Details .....................................................................121
3.1.5.1.9 Upgrade Big Data Cluster ................................................................121
3.1.5.1.9.1 Request Body ...........................................................................122
3.1.5.1.9.2 Response Body .........................................................................122
3.1.5.1.9.3 Processing Details .....................................................................122
3.1.5.1.10 Get All Big Data Cluster Endpoints ....................................................122
3.1.5.1.10.1 Request Body ...........................................................................122
3.1.5.1.10.2 Response Body .........................................................................122
3.1.5.1.10.3 Processing Details .....................................................................122
3.1.5.1.11 Get Big Data Cluster Endpoint ..........................................................122
3.1.5.1.11.1 Request Body ...........................................................................123
3.1.5.1.11.2 Response Body .........................................................................123
3.1.5.1.11.3 Processing Details .....................................................................123
3.1.5.2 Control ...............................................................................................123
3.1.5.2.1 Get Control Status ..........................................................................124
3.1.5.2.1.1 Request Body ...........................................................................124
3.1.5.2.1.2 Response Body .........................................................................124
3.1.5.2.1.3 Processing Details .....................................................................124
3.1.5.2.2 Upgrade Control .............................................................................124
3.1.5.2.2.1 Request Body ...........................................................................125
3.1.5.2.2.2 Response Body .........................................................................125
3.1.5.2.2.3 Processing Details .....................................................................125
3.1.5.2.3 Redirect to Metrics Link ...................................................................125
3.1.5.2.3.1 Request Body ...........................................................................126
6 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.2.3.2 Response Body .........................................................................126
3.1.5.2.3.3 Processing Details .....................................................................126
3.1.5.2.4 Get Control Resource Status ............................................................126
3.1.5.2.4.1 Request Body ...........................................................................126
3.1.5.2.4.2 Response Body .........................................................................126
3.1.5.2.4.3 Processing Details .....................................................................127
3.1.5.3 Storage ..............................................................................................127
3.1.5.3.1 Get Mount Status ...........................................................................127
3.1.5.3.1.1 Request Body ...........................................................................127
3.1.5.3.1.2 Response Body .........................................................................127
3.1.5.3.1.3 Processing Details .....................................................................128
3.1.5.3.2 Get All Mount Statuses ....................................................................128
3.1.5.3.2.1 Request Body ...........................................................................128
3.1.5.3.2.2 Response Body .........................................................................128
3.1.5.3.2.3 Processing Details .....................................................................128
3.1.5.3.3 Create Mount .................................................................................128
3.1.5.3.3.1 Request Body ...........................................................................129
3.1.5.3.3.2 Response Body .........................................................................129
3.1.5.3.3.3 Processing Details .....................................................................129
3.1.5.3.4 Delete Mount .................................................................................129
3.1.5.3.4.1 Request Body ...........................................................................129
3.1.5.3.4.2 Response Body .........................................................................129
3.1.5.3.4.3 Processing Details .....................................................................130
3.1.5.3.5 Refresh Mount................................................................................130
3.1.5.3.5.1 Request Body ...........................................................................130
3.1.5.3.5.2 Response Body .........................................................................130
3.1.5.3.5.3 Processing Details .....................................................................130
3.1.5.4 App Deploy .........................................................................................130
3.1.5.4.1 Get App ........................................................................................131
3.1.5.4.1.1 Request Body ...........................................................................131
3.1.5.4.1.2 Response Body .........................................................................131
3.1.5.4.1.3 Processing Details .....................................................................132
3.1.5.4.2 Get App Versions ............................................................................132
3.1.5.4.2.1 Request Body ...........................................................................132
3.1.5.4.2.2 Response Body .........................................................................132
3.1.5.4.2.3 Processing Details .....................................................................132
3.1.5.4.3 Get All Apps ...................................................................................132
3.1.5.4.3.1 Request Body ...........................................................................133
3.1.5.4.3.2 Response Body .........................................................................133
3.1.5.4.3.3 Processing Details .....................................................................133
3.1.5.4.4 Create App ....................................................................................133
3.1.5.4.4.1 Request Body ...........................................................................133
3.1.5.4.4.2 Response Body .........................................................................134
3.1.5.4.4.3 Processing Details .....................................................................134
3.1.5.4.5 Update App ...................................................................................134
3.1.5.4.5.1 Request Body ...........................................................................134
3.1.5.4.5.2 Response Body .........................................................................134
3.1.5.4.5.3 Processing Details .....................................................................134
3.1.5.4.6 Delete App ....................................................................................135
3.1.5.4.6.1 Request Body ...........................................................................135
3.1.5.4.6.2 Response Body .........................................................................135
3.1.5.4.6.3 Processing Details .....................................................................135
3.1.5.4.7 Run App ........................................................................................135
3.1.5.4.7.1 Request Header ........................................................................136
3.1.5.4.7.2 Request Body ...........................................................................136
3.1.5.4.7.3 Response Body .........................................................................136
3.1.5.4.7.4 Processing Details .....................................................................136
3.1.5.4.8 Get App Swagger Document ............................................................136
7 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.4.8.1 Request Body ...........................................................................137
3.1.5.4.8.2 Response Body .........................................................................137
3.1.5.4.8.3 Processing Details .....................................................................137
3.1.5.5 Token .................................................................................................137
3.1.5.5.1 Create Token .................................................................................137
3.1.5.5.1.1 Request Body ...........................................................................138
3.1.5.5.1.2 Response Body .........................................................................138
3.1.5.5.1.3 Processing Details .....................................................................138
3.1.5.6 Home Page .........................................................................................138
3.1.5.6.1 Get Home Page ..............................................................................138
3.1.5.6.1.1 Request Body ...........................................................................139
3.1.5.6.1.2 Response Body .........................................................................139
3.1.5.6.1.3 Processing Details .....................................................................139
3.1.5.6.2 Ping Controller ...............................................................................139
3.1.5.6.2.1 Request Body ...........................................................................139
3.1.5.6.2.2 Response Body .........................................................................139
3.1.5.6.2.3 Processing Details .....................................................................139
3.1.5.6.3 Info ..............................................................................................139
3.1.5.6.3.1 Request Body ...........................................................................140
3.1.5.6.3.2 Response Body .........................................................................140
3.1.5.6.3.3 Processing Details .....................................................................140
3.1.5.7 Config ................................................................................................140
3.1.5.7.1 Apply Configuration Settings ............................................................141
3.1.5.7.1.1 Request Body ...........................................................................141
3.1.5.7.1.2 Response Body .........................................................................141
3.1.5.7.1.3 Processing Details .....................................................................141
3.1.5.7.2 Revert Pending Configuration Settings ..............................................141
3.1.5.7.2.1 Request Body ...........................................................................142
3.1.5.7.2.2 Response Body .........................................................................142
3.1.5.7.2.3 Processing Details .....................................................................142
3.1.5.7.3 Set Cluster Configuration Settings ....................................................142
3.1.5.7.3.1 Request Body ...........................................................................143
3.1.5.7.3.2 Response Body .........................................................................143
3.1.5.7.3.3 Processing Details .....................................................................143
3.1.5.7.4 Get Cluster Configuration Settings ....................................................143
3.1.5.7.4.1 Request Body ...........................................................................144
3.1.5.7.4.2 Response Body .........................................................................144
3.1.5.7.4.3 Processing Details .....................................................................144
3.1.5.7.5 Set Service Configuration Settings ....................................................144
3.1.5.7.5.1 Request Body ...........................................................................145
3.1.5.7.5.2 Response Body .........................................................................145
3.1.5.7.5.3 Processing Details .....................................................................145
3.1.5.7.6 Get Service Configuration Settings ...................................................145
3.1.5.7.6.1 Request Body ...........................................................................146
3.1.5.7.6.2 Response Body .........................................................................146
3.1.5.7.6.3 Processing Details .....................................................................146
3.1.5.7.7 Set Resource Configuration Settings .................................................146
3.1.5.7.7.1 Request Body ...........................................................................147
3.1.5.7.7.2 Response Body .........................................................................147
3.1.5.7.7.3 Processing Details .....................................................................147
3.1.5.7.8 Get Resource Configuration Settings .................................................147
3.1.5.7.8.1 Request Body ...........................................................................148
3.1.5.7.8.2 Response Body .........................................................................148
3.1.5.7.8.3 Processing Details .....................................................................148
3.1.5.8 KMS ...................................................................................................148
3.1.5.8.1 Update KMS Configuration ...............................................................149
3.1.5.8.1.1 Request Body ...........................................................................149
3.1.5.8.1.2 Response Body .........................................................................149
8 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.8.1.3 Processing Details .....................................................................149
3.1.5.8.2 Show KMS Configuration .................................................................149
3.1.5.8.2.1 Request Body ...........................................................................150
3.1.5.8.2.2 Response Body .........................................................................150
3.1.5.8.2.3 Processing Details .....................................................................150
3.1.6 Timer Events .............................................................................................150
3.1.7 Other Local Events .....................................................................................150
3.2 Cluster Admin Details ......................................................................................150
4 Protocol Examples ............................................................................................... 151
4.1 Check the Control Plane Status .........................................................................152
4.2 Create a Big Data Cluster .................................................................................153
4.3 Check on the Progress of the Big Data Cluster Deployment ..................................156
4.4 Receive an Error in the Big Data Cluster Deployment ...........................................159
4.5 Check on the Status of the Big Data Cluster .......................................................159
4.6 Receive the State and Configuration of the Big Data Cluster .................................162
4.7 Receive Service Status Information ...................................................................171
4.8 Receive Service Resource Status Information .....................................................173
4.9 Upgrade the Big Data Cluster ...........................................................................173
4.10 Receive a List of Information About All the Exposed Big Data Cluster Endpoints ......173
4.11 Expose a Big Data Cluster Endpoint ...................................................................174
4.12 Check Mount Status ........................................................................................175
4.13 Receive an Application Specification ..................................................................175
4.14 Deploy an Application ......................................................................................175
4.15 Run an Application ..........................................................................................176
4.16 Check on the Results of a Request to Run an Application ......................................176
4.17 Receive an Authentication Token .......................................................................176
4.18 Receive a Response Returned from a Ping on the Controller .................................177
4.19 Receive Cluster Information .............................................................................177
4.20 Apply Configuration Settings ............................................................................177
4.21 Set Configuration Settings................................................................................177
4.22 Retrieve Cluster Configuration Settings ..............................................................177
4.23 Retrieve Service Configuration Settings .............................................................178
4.24 Retrieve Resource Configuration Settings ...........................................................178
4.25 Update KMS Configuration ................................................................................179
4.26 Show KMS Configuration ..................................................................................179
5 Security ............................................................................................................... 180
5.1 Security Considerations for Implementers ..........................................................180
5.2 Index of Security Parameters ...........................................................................180
6 Appendix A: Full JSON Schema ............................................................................ 181
6.1 Big Data Cluster ..............................................................................................181
6.1.1 Big Data Cluster Spec Schema ....................................................................181
6.1.2 Big Data Cluster Error Response Schema ......................................................198
6.1.3 Big Data Cluster Information Schema ...........................................................199
6.1.4 Big Data Cluster Status Schema ..................................................................199
6.1.5 Big Data Cluster Service Status Schema .......................................................201
6.1.6 Big Data Cluster Service Resource Status Schema .........................................203
6.1.7 Big Data Cluster Upgrade Schema ...............................................................204
6.1.8 Big Data Cluster Endpoints List Schema........................................................205
6.1.9 Big Data Cluster Endpoint Schema ...............................................................205
6.2 Storage .........................................................................................................206
6.2.1 Storage Response Schema ..........................................................................206
6.3 App ...............................................................................................................207
6.3.1 App Description Schema .............................................................................207
6.3.2 App Run Result Schema .............................................................................209
6.4 Token ............................................................................................................209
6.4.1 Token Response Schema ............................................................................209
9 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
6.5 Home ............................................................................................................210
6.5.1 Ping Response Schema ...............................................................................210
6.5.2 Info Response Schema ...............................................................................211
6.6 Config............................................................................................................211
6.6.1 Apply Settings Request Schema ..................................................................211
6.6.2 Set Settings Response Schema ...................................................................211
6.6.3 Get Cluster Settings Schema .......................................................................212
6.6.4 Get Service Configuration Response Settings Schema ....................................214
6.6.5 Get Resource Settings Schema ....................................................................215
6.7 KMS ..............................................................................................................217
6.7.1 Update KMS Configuration Request Schema ..................................................217
6.7.2 Show KMS Configuration Response Schema ..................................................217
7 Appendix B: Product Behavior ............................................................................. 219
8 Change Tracking .................................................................................................. 222
9 Index ................................................................................................................... 223
10 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
1 Introduction
The Control Plane REST API protocol specifies an HTTP-based web service API that deploys data
services and applications into a managed cluster environment, and then communicates with its
management service APIs to manage high-value data stored in relational databases that have been
integrated with high-volume data resources within a dedicated cluster.
Sections 1.5, 1.8, 1.9, 2, and 3 of this specification are normative. All other sections and examples in
this specification are informative.
1.1 Glossary
Apache Hadoop: An open-source framework that provides distributed processing of large data
sets across clusters of computers that use different programming paradigms and software
libraries.
Apache Knox: A gateway system that provides secure access to data and processing resources in
an Apache Hadoop cluster.
Apache Spark: A parallel processing framework that supports in-memory processing to boost the
performance of big-data analytic applications.
application: A participant that is responsible for beginning, propagating, and completing an atomic
transaction. An application communicates with a transaction manager in order to begin and
complete transactions. An application communicates with a transaction manager in order to
marshal transactions to and from other applications. An application also communicates in
application-specific ways with a resource manager in order to submit requests for work on
resources.
Bearer: A type of token that provides an authentication access type supported by HTTP as defined
by [RFC6750].
big data cluster: A grouping of high-value relational data with high-volume big data that provides
the computational power of a cluster to increase scalability and performance of applications.
cluster: A group of computers that are able to dynamically assign resource tasks among nodes in
a group.
configuration only mode: An availability group replica mode that is used to store configuration
metadata when the replica does not contain user data.
container: A unit of software that isolates and packs an application and its dependencies into a
single, portable unit.
control plane: A logical plane that provides management and security for a Kubernetes cluster.
It contains the controller, management proxy, and other services that are used to monitor
and maintain the cluster.
11 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
control plane service: The service that is deployed and hosted in the same Kubernetes
namespace in which the user wants to build out a big data cluster. The service provides the
core functionality for deploying and managing all interactions within a Kubernetes cluster.
controller: A replica set that is deployed in a big data cluster to manage the functions for
deploying and managing all interactions within the control plane service.
create retrieve update delete (CRUD): The four basic functions of persistent storage. The "C"
stands for create, the "R" for retrieve, the "U" for update, and the "D" for delete. CRUD is used
to denote these conceptual actions and does not imply the associated meaning in a particular
technology area (such as in databases, file systems, and so on) unless that associated meaning
is explicitly stated.
distinguished name (DN): In the Active Directory directory service, the unique identifier of an
object in Active Directory, as described in [MS-ADTS] and [RFC2251].
Docker: An open-source project for automating the deployment of applications as portable, self-
sufficient containers that can run on the cloud or on-premises.
domain controller (DC): A server that controls all access in a security domain.
Domain Name System (DNS): A hierarchical, distributed database that contains mappings of
domain names to various types of data, such as IP addresses. DNS enables the location of
computers and services by user-friendly names, and it also enables the discovery of other
information stored in the database.
Hadoop Distributed File System (HDFS): A core component of Apache Hadoop, consisting of a
distributed storage and file system that allows files of various formats to be stored across
numerous machines or nodes.
JavaScript Object Notation (JSON): A text-based, data interchange format that is used to
transmit structured data, typically in Asynchronous JavaScript + XML (AJAX) web applications,
as described in [RFC7159]. The JSON format is based on the structure of ECMAScript (Jscript,
JavaScript) objects.
JSON Web Token (JWT): A string representing a set of claims as a JSON object that is encoded
in a JWS or JWE, enabling the claims to be digitally signed or integrity protected with a Message
Authentication Code (MAC) and/or encrypted. For more information, see [RFC7519].
Kubernetes cluster: A set of computers in which each computer is called a node. A designated
master node controls the cluster, and the remaining nodes in the cluster are the worker nodes.
A Kubernetes cluster can contain a mixture of physical-machine and virtual-machine nodes.
Kubernetes namespace: Namespaces represent subdivisions within a cluster. A cluster can have
multiple namespaces that act as their own independent virtual clusters.
management proxy: A pod that is deployed in the control plane to provide users with the
ability to interact with deployed applications to manage the big data cluster.
master instance: A server instance that is running in a big data cluster. The master instance
provides various kinds of functionality in the cluster, such as for connectivity, scale-out query
management, and metadata and user databases.
NameNode: A central service in HDFS that manages the file system metadata and where clients
request to perform operations on files stored in the file system.
12 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
node: A single physical or virtual computer that is configured as a member of a cluster. The node
has the necessary software installed and configured to run containerized applications.
persistent volume: A volume that can be mounted to Kubernetes to provide continuous and
unrelenting storage to a cluster.
pod: A unit of deployment in a Kubernetes cluster that consists of a logical group of one or more
containers and their associated resources. A pod is deployed as a functional unit in and
represents a process that is running on a Kubernetes cluster.
pool: A logical grouping of pods that serve a similar function in a big data cluster deployment.
replica set: A group of pods that mirror each other in order to maintain a stable set of data that
runs at any given time across one or more nodes.
storage class: A definition that specifies how storage volumes that are used for persistent storage
are to be configured.
synchronous-commit mode: A high-availability commit mode in which the primary replica waits
for transactions to be committed by a secondary replica before returning to the client.
Uniform Resource Identifier (URI): A string that identifies a resource. The URI is an addressing
mechanism defined in Internet Engineering Task Force (IETF) Uniform Resource Identifier (URI):
Generic Syntax [RFC3986].
universally unique identifier (UUID): A 128-bit value. UUIDs can be used for multiple
purposes, from tagging objects with an extremely short lifetime, to reliably identifying very
persistent objects in cross-process communication such as client and server interfaces, manager
entry-point vectors, and RPC objects. UUIDs are highly likely to be unique. UUIDs are also
known as globally unique identifiers (GUIDs) and these terms are used interchangeably in the
Microsoft protocol technical documents (TDs). Interchanging the usage of these terms does not
imply or require a specific algorithm or mechanism to generate the UUID. Specifically, the use of
this term does not imply or require that the algorithms described in [RFC4122] or [C706] has to
be used for generating the UUID.
YAML Ain't Markup Language (YAML): A Unicode-based data serialization language that is
designed around the common native data types of agile programming languages. YAML v1.2 is a
superset of JSON.
MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined
in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.
1.2 References
Links to a document in the Microsoft Open Specifications library point to the correct section in the
most recently published version of the referenced document. However, because individual documents
in the library are not updated at the same time, the section numbers in the documents may not
match. You can confirm the correct section numbering by checking the Errata.
We conduct frequent surveys of the normative references to assure their continued availability. If you
have any issue with finding a normative reference, please contact dochelp@microsoft.com. We will
assist you in finding the relevant information.
13 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
[ApacheKnox] Apache Software Foundation, "Apache Knox", https://knox.apache.org/
[JSON-Schema] Internet Engineering Task Force (IETF), "JSON Schema and Hyper-Schema",
http://json-schema.org/
[REST] Fielding, R., "Architectural Styles and the Design of Network-based Software Architectures",
2000, http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
[RFC1001] Network Working Group, "Protocol Standard for a NetBIOS Service on a TCP/UDP
Transport: Concepts and Methods", RFC 1001, March 1987, https://www.rfc-editor.org/info/rfc1001
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC
2119, March 1997, https://www.rfc-editor.org/info/rfc2119
[RFC3986] Berners-Lee, T., Fielding, R., and Masinter, L., "Uniform Resource Identifier (URI): Generic
Syntax", STD 66, RFC 3986, January 2005, https://www.rfc-editor.org/info/rfc3986
[RFC4120] Neuman, C., Yu, T., Hartman, S., and Raeburn, K., "The Kerberos Network Authentication
Service (V5)", RFC 4120, July 2005, https://www.rfc-editor.org/rfc/rfc4120
[RFC4559] Jaganathan, K., Zhu, L., and Brezak, J., "SPNEGO-based Kerberos and NTLM HTTP
Authentication in Microsoft Windows", RFC 4559, June 2006, https://www.rfc-editor.org/info/rfc4559
[RFC7230] Fielding, R., and Reschke, J., Eds., "Hypertext Transfer Protocol (HTTP/1.1): Message
Syntax and Routing", RFC 7230, June 2014, https://www.rfc-editor.org/info/rfc7230
[RFC7231] Fielding, R., and Reschke, J., Eds., "Hypertext Transfer Protocol -- HTTP/1.1: Semantics
and Content", RFC7231, June 2014, https://www.rfc-editor.org/info/rfc7231
[RFC7519] Internet Engineering Task Force, "JSON Web Token (JWT)", https://www.rfc-
editor.org/info/rfc7519
[RFC791] Postel, J., Ed., "Internet Protocol: DARPA Internet Program Protocol Specification", RFC 791,
September 1981, https://www.rfc-editor.org/info/rfc791
[RFC793] Postel, J., Ed., "Transmission Control Protocol: DARPA Internet Program Protocol
Specification", RFC 793, September 1981, https://www.rfc-editor.org/info/rfc793
[RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data Interchange Format", RFC
8259, December 2017, https://www.rfc-editor.org/info/rfc8259
[Swagger2.0] SmartBear Software, "What Is Swagger?", OpenAPI Specification (fka Swagger), version
2.0, https://swagger.io/docs/specification/2-0/what-is-swagger/
[YAML1.2] Ben-Kiki, O., Evans, C., and dot NET, I., "YAML Ain't Markup Language (YAML) Version
1.2", 3rd edition, October 2009, https://yaml.org/spec/1.2/spec.html
14 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
1.2.2 Informative References
[MSDOCS-ConfigBDC] Microsoft Corporation, "Configure Apache Spark and Apache Hadoop in Big Data
Clusters", https://learn.microsoft.com/en-us/sql/big-data-cluster/configure-spark-hdfs?view=sql-
server-ver15
[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000, https://www.rfc-
editor.org/info/rfc2818
1.3 Overview
The Control Plane REST API protocol specifies a protocol to communicate with the control plane. The
control plane acts as an abstraction layer in which users can create and manage big data clusters
inside a Kubernetes namespace [Kubernetes] without communicating directly with the Kubernetes
cluster or the services and tools deployed in it. It provides convenient APIs to allow the user to
manage the lifecycle of resources deployed in the cluster.
All client and server communications are formatted in JavaScript Object Notation (JSON), as
specified in [RFC8259].
The protocol uses RESTful web service APIs that allow users to do the following:
Create a Kubernetes cluster in which to manage, manipulate, and monitor a big data cluster.
Manage the lifecycle of a big data cluster, including authentication and security.
Manage the lifecycle of machine learning applications and other resources that are deployed in
the cluster.
Manage the lifecycle of Hadoop Distributed File System (HDFS) mounts mounted remotely.
Use monitoring tools deployed in the Kubernetes cluster to observe or report the status of the big
data cluster.
The control plane consists of a controller replica set, a management proxy, and various pods that
provide log and metrics collection for pods in the cluster.
This protocol defines the deployment of a big data cluster with the most basic topography and the
default configurations for the resources in the initial cluster manifest (see section 3.1.5.1.1).
Depending on the configuration sent to the Control Plane REST API, the Apache Spark
[ApacheSpark] and Apache Hadoop [ApacheHadoop] resources in the cluster can be customized by
including additional settings in the initial cluster manifest. All configurations are based on the
configuration settings defined in the documentation for each component. Supported and unsupported
configurations are listed in [MSDOCS-ConfigBDC].
This protocol can be authenticated by using either Basic authentication or token authentication.
Additionally, if the Control Plane is deployed with Active Directory configured, Active Directory can be
used to retrieve a JSON Web Token (JWT) token which can then be used to authenticate the Control
Plane REST APIs.
All requests are initiated by the client, and the server responds in JSON format, as illustrated in the
following diagram.
15 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Figure 1: Communication flow
The Control Plane REST API protocol transmits messages by using HTTPS [RFC7230] [RFC2818] over
TCP [RFC793].
1.5 Prerequisites/Preconditions
A controller and controller database has to be deployed in the Kubernetes cluster before the
Control Plane REST API can be used. The controller is deployed by using Kubernetes APIs
[Kubernetes].
This protocol supports exchanging messages between a client and the control plane service.
None.
None.
None.
16 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2 Messages
2.1 Transport
The Control Plane REST API protocol consists of a set of RESTful [REST] web services APIs, and
client messages MUST use HTTPS over TCP/IP, as specified in [RFC793] [RFC7230] [RFC7231].
The management service is granted permission by the cluster administrator to manage all resources
within the cluster, including but not limited to authentication. Implementers can configure their
servers to use standard authentication, such as HTTP Basic and token authentication.
This protocol does not require any specific HTTP ports, character sets, or transfer encoding.
2.2.1 Namespaces
None.
This protocol uses HTTP methods GET, POST, PATCH, and DELETE.
This protocol defines the following common HTTP headers in addition to the existing set of standard
HTTP headers.
X-RequestID A universal unique identifier (UUID) that helps map a request through the
control plane service.
version The minimum big data cluster version that the client is compatible with.
2.2.3.1 X-RequestID
A request to the control plane service can include an optional X-RequestID header that is included
in all subsequent calls within the control plane service. This header can help with following a request
through the control plane service logs.
2.2.3.2 version
A request to the big data cluster or control plane service can include a semantic version
[Preston] header that denotes the minimum big data cluster version with which the client is
compatible. The value of this header MUST be a version that is greater than or equal to "15.0.2070".
Every resource that supports CRUD operations uses common JSON elements [JSON-Schema] in any
request or response.
17 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
This protocol defines the following common URI parameters [RFC3986].
controllerPort A port that is defined by the user during control plane creation and exposed on
the cluster for the controller.
bdcName The name of the big data cluster that is being manipulated.
2.2.4.1 clusterIp
The clusterIp parameter contains the IP address of a node in the cluster that is accessible to the user.
This is often the same address that tools, such as the kubectl tool that manages the Kubernetes
cluster, use to connect to the cluster.
2.2.4.2 controllerPort
The controllerPort parameter is defined in the controller. The value of this parameter is specified
before controller deployment.
2.2.4.3 bdcName
The bdcName parameter provides the name of the deployed big data cluster. The bdcName
parameter matches the Kubernetes cluster into which the big data cluster is deployed.
2.2.4.4 uriVersion
The uriVersion parameter SHOULD<1> provide the valid API version for the target REST API in the
following format: v#. Available values for this parameter are "v1" and "v2".
Every resource type that supports this protocol supports CRUD operations and uses common JSON
elements [JSON-Schema] in any request or response.
The element names that are defined, implicitly or explicitly, in the schemas that are defined in this
section can be regular expressions [JSON-RegEx]. For example, "([A-Za-z_.-])+" is a regular
expression that matches any string that uses any combination of alphabetical characters, "_"s, "."s,
and "-"s. When used to define an array, the element name "*" is a placeholder for the individual
elements within the array that do not have names.
The following table summarizes the set of common resource types that are consumed or produced by
this protocol.
Big Data Cluster 2.2.5.1 Defines the big data cluster that is deployed.
18 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Structure Section Description
Config 2.2.5.6 Defines the settings that are used to configure the big
data cluster.
KMS 2.2.5.7 Defines the settings that define the main encryption keys
for encryption at rest.
The Big Data Cluster resource type defines the big data cluster resources that are created and
managed by the protocol that is defined by this specification inside a Kubernetes namespace
[Kubernetes].
This protocol defines the following set of Big Data Cluster JSON schemas.
Big Data Cluster Spec Schema 2.2.5.1.1 Defines the big data cluster that is deployed.
Big Data Cluster Error Response Schema 2.2.5.1.2 Describes the current errors.
Big Data Cluster Information Schema 2.2.5.1.3 Provides information about the big data
cluster.
Big Data Cluster Status Schema 2.2.5.1.4 Retrieves the status of the big data cluster.
Big Data Cluster Service Status Schema 2.2.5.1.5 Retrieves the status of a service.
Big Data Cluster Service Resource Status 2.2.5.1.6 Retrieves the requested status of a resource in
Schema a service.
Big Data Cluster Upgrade Schema 2.2.5.1.7 Upgrades the images in the big data cluster
and control plane.
Big Data Cluster Endpoints List Schema 2.2.5.1.8 Retrieves a list of endpoints that are exposed
for a component.
Big Data Cluster Endpoint Schema 2.2.5.1.9 Exposes an endpoint outside the big data
cluster.
The Big Data Cluster Spec schema defines the big data cluster JSON object that is deployed inside
a Kubernetes namespace [Kubernetes].
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"definitions": {
19 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"comment": "section 2.2.5.1.1.1"
},
"required": [
"apiVersion",
"metadata",
"spec"
],
"properties": {
"apiVersion": {
"comment": "section 2.2.5.1.1.2"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"spec": {
"comment": "section 2.2.5.1.1.3"
}
}
2.2.5.1.1.1 definitions
The definitions element specifies the resources that are deployed in the big data cluster.
"definitions": {
"storage": {
"comment": "section 2.2.5.1.1.1.1"
},
"storageInfo": {
"comment": "section 2.2.5.1.1.1.2"
},
"docker": {
"comment": "section 2.2.5.1.1.1.3"
},
"security": {
"comment": "section 2.2.5.1.1.1.4"
},
"spark": {
"comment": "section 2.2.5.1.1.1.5"
},
"hdfs": {
"comment": "section 2.2.5.1.1.1.6"
},
"sql": {
"comment": "section 2.2.5.1.1.1.7"
},
"gateway": {
"comment": "section 2.2.5.1.1.1.8"
},
20 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"metadata": {
"comment": "section 2.2.5.1.1.1.9"
},
"replicas": {
"type": "integer"
}
}
2.2.5.1.1.1.1 storage
The storage element specifies the structured data that define the Kubernetes persistent storage that
is used in the cluster.
"storage": {
"required": [
"logs",
"data"
],
"properties": {
"data": {
"$ref": "#/definitions/storageInfo"
},
"logs": {
"$ref": "#/definitions/storageInfo"
}
}
}
21 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.1.2 storageInfo
The storageInfo element specifies the structured data that are used to create persistent volumes
in Kubernetes [Kubernetes].
"storageInfo": {
"required": [
"className",
"accessMode",
"size"
],
"properties": {
"className": {
"type": "string"
},
"accessMode": {
"comment": "section 2.2.5.1.1.1.2.1"
},
"size": {
"type": "string",
"example": "10Gi"
}
}
}
2.2.5.1.1.1.2.1 accessMode
The accessMode element specifies the way in which a user or group of users can interact with data in
the persistent volumes.
"accessMode": {
"enum": [
"ReadWriteOnce",
"ReadOnlyMany",
"ReadWriteMany"
]
22 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
2.2.5.1.1.1.3 docker
The docker element specifies the structured data that define where to find the Docker image.
"docker": {
"required": [
"registry",
"repository",
"imageTag",
"imagePullPolicy"
],
"properties": {
"registry": {
"type": "string",
"example": "repo.contoso.com"
},
"repository": {
"type": "string"
},
"imageTag": {
"type": "string",
"example": "latest"
},
"imagePullPolicy": {
"comment": "section 2.2.5.1.1.1.3.1"
}
}
}
23 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.1.1.1.3.1 imagePullPolicy
The imagePullPolicy element specifies the policy that pulls the Docker image into the cluster.
"imagePullPolicy": {
"enum": [
"Always",
"IfNotPresent"
]
}
2.2.5.1.1.1.4 security
The security element specifies the collection of data that define the security settings for the cluster.
"security": {
"type": "object",
"required": [
"activeDirectory",
"allowRunAsRoot",
"allowNodeMetricsCollection",
"allowPodMetricsCollection",
"automountServiceAccountToken"
],
"properties": {
"activeDirectory": {
"comment": "section 2.2.5.1.1.1.4.1"
},
"allowRunAsRoot": {
"$id": "#/properties/allowRunAsRoot",
"type": "boolean"
},
"allowDumps": {
"$id": "#/properties/allowDumps",
"type": "boolean"
},
"allowNodeMetricsCollection": {
"$id": "#/properties/allowNodeMetricsCollection",
"type": "boolean"
},
"allowPodMetricsCollection": {
"$id": "#/properties/allowPodMetricsCollection",
"type": "boolean"
},
"automountServiceAccountToken": {
"$id": "#/properties/automountServiceAccountToken",
24 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "boolean"
}
}
}
2.2.5.1.1.1.4.1 activeDirectory
The activeDirectory element SHOULD<7> specify the Active Directory settings for the cluster.
"activeDirectory": {
"$id": "#/properties/activeDirectory",
"type": "object",
"required": [
"useInternalDomain",
"useSubdomain",
"ouDistinguishedName",
"dnsIpAddresses",
"domainControllerFullyQualifiedDns",
"domainDnsName",
"clusterAdmins",
"clusterUsers"
],
"properties": {
"useInternalDomain": {
"$id": "#/properties/activeDirectory/properties/useInternalDomain",
"type": "boolean"
},
"useSubdomain": {
"$id": "#/properties/activeDirectory/properties/useSubdomain",
"type": "boolean"
},
25 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"ouDistinguishedName": {
"$id": "#/properties/activeDirectory/properties/ouDistinguishedName",
"type": "string"
},
"dnsIpAddresses": {
"comment": "section 2.2.5.1.1.1.4.1.1"
},
"domainControllerFullyQualifiedDns": {
"comment": "section 2.2.5.1.1.1.4.1.2"
},
"subdomain": {
"$id": "#/properties/activeDirectory/properties/subdomain",
"type": "string"
},
"accountPrefix": {
"$id": "#/properties/activeDirectory/properties/accountPrefix",
"type": "string"
},
"realm": {
"$id": "#/properties/activeDirectory/properties/realm",
"type": "string"
},
"domainDnsName": {
"$id": "#/properties/activeDirectory/properties/domainDnsName",
"type": "string"
},
"netbiosDomainName": {
"$id": "#/properties/activeDirectory/properties/netbiosDomainName",
"type": "string"
},
"accountPasswordsNeverExpire": {
"$id": "#/properties/activeDirectory/properties/accountPasswordsNeverExpire",
"type": "boolean"
},
"clusterAdmins": {
"comment": "section 2.2.5.1.1.1.4.1.3"
},
"clusterUsers": {
"comment": "section 2.2.5.1.1.1.4.1.4"
},
"appOwners": {
"comment": "section 2.2.5.1.1.1.4.1.5"
},
"appUsers": {
"comment": "section 2.2.5.1.1.1.4.1.6"
}
}
}
26 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.1.4.1.1 dnsIpAddresses
The dnsIpAddresses element SHOULD<17> specify a list of Domain Name System (DNS) IP
addresses of domain controllers (DCs).
The element name "*" is a placeholder for the individual elements within the array that do not have
names.
"dnsIpAddresses": {
"$id": "#/properties/activeDirectory/properties/dnsIpAddresses",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/dnsIpAddresses/items",
"type": "string"
}
}
27 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
This protocol defines the following common JSON schema elements.
2.2.5.1.1.1.4.1.2 domainControllerFullyQualifiedDns
The element name "*" is a placeholder for the individual elements within the array that do not have
names.
"domainControllerFullyQualifiedDns": {
"$id": "#/properties/activeDirectory/properties/domainControllerFullyQualifiedDns",
"type": "array",
"items": {
"$id":
"#/properties/activeDirectory/properties/domainControllerFullyQualifiedDns/items",
"type": "string"
}
}
2.2.5.1.1.1.4.1.3 clusterAdmins
The clusterAdmins element SHOULD<19> specify an array of the names of the Active Directory
group that is assigned administrator permissions. This element can contain only one Active Directory
group name.
The element name "*" is a placeholder for the individual elements within the array that do not have
names.
"clusterAdmins": {
"$id": "#/properties/activeDirectory/properties/clusterAdmins",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/clusterAdmins/items",
"type": "string"
}
}
28 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
This protocol defines the following common JSON schema elements.
2.2.5.1.1.1.4.1.4 clusterUsers
The clusterUsers element SHOULD<20> specify an array of the names of the Active Directory groups
that have regular permissions in the cluster.
The element name "*" is a placeholder for the individual elements within the array that do not have
names.
"clusterUsers": {
"$id": "#/properties/activeDirectory/properties/clusterUsers",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/clusterUsers/items",
"type": "string"
}
}
2.2.5.1.1.1.4.1.5 appOwners
The appOwners element SHOULD<21> specify an array of the names of the Active Directory groups
that have permissions to create, delete, and run applications in the cluster.
The element name "*" is a placeholder for the individual elements within the array that do not have
names.
"appOwners": {
"$id": "#/properties/activeDirectory/properties/appOwners",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/appOwners/items",
"type": "string"
}
}
29 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.1.4.1.6 appUsers
The appUsers element SHOULD<22> specify an array of the names of the Active Directory groups
that have permissions to run applications in the cluster.
The element name "*" is a placeholder for the individual elements within the array that do not have
names.
"appUsers": {
"$id": "#/properties/activeDirectory/properties/appUsers",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/appUsers/items",
"type": "string"
}
}
2.2.5.1.1.1.5 spark
The spark element specifies the structured data that define the settings for Apache Spark
[ApacheSpark] in the cluster.
"spark": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
}
30 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.1.6 hdfs
The hdfs element specifies the structured data that define the settings for the HDFS [ApacheHadoop]
resource in the cluster.
"hdfs": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
}
2.2.5.1.1.1.7 sql
The sql element specifies the structured data that define the settings for the SQL Server resource in
the cluster.
The sql element MUST use the hadr.enabled instance of the element to enable high availability for
the master SQL Server instances.
"sql": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
}
31 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
cluster.
2.2.5.1.1.1.8 gateway
The gateway element specifies the structured data that define the settings for the gateway resource
in the cluster.
"gateway": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
}
2.2.5.1.1.1.9 metadata
The metadata element specifies the structured data that provide information about a specified JSON
object in the cluster.
"metadata": {
"required": [
"kind",
"name"
],
"properties": {
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"additionalProperties": false
}
32 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.2 apiVersion
The apiVersion element specifies the Kubernetes [Kubernetes] API version that is used in the cluster.
"apiVersion": {
"$id": "#/properties/apiVersion",
"const": "v1"
}
2.2.5.1.1.3 spec
The spec element specifies the structured data that define the resources and services that are
deployed in the big data cluster.
"spec": {
"$id": "#/properties/spec",
"type": "object",
"required": [
"resources",
"services"
],
"properties": {
"security": {
"$ref": "#/definitions/security"
},
"resources": {
"comment": "section 2.2.5.1.1.3.1"
},
"services": {
"comment": "section 2.2.5.1.1.3.2"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
}
}
}
33 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.1 resources
The resources element of the spec element specifies the structured data for the resources that are
deployed in the big data cluster.
"resources": {
"$id": "#/properties/spec/properties/resources",
"type": "object",
"required": [
"sparkhead",
"storage-0",
"nmnode-0",
"master",
"compute-0",
"appproxy",
"zookeeper",
"gateway",
"data-0"
],
"properties": {
"sparkhead": {
"comment": "section 2.2.5.1.1.3.1.1"
},
"storage-0": {
"comment": "section 2.2.5.1.1.3.1.2"
},
"nmnode-0": {
"comment": "section 2.2.5.1.1.3.1.3"
},
"master": {
"comment": "section 2.2.5.1.1.3.1.4"
},
"compute-0": {
"comment": "section 2.2.5.1.1.3.1.5"
},
"appproxy": {
"comment": "section 2.2.5.1.1.3.1.6"
},
"zookeeper": {
"comment": "section 2.2.5.1.1.3.1.7"
},
"gateway": {
"comment": "section 2.2.5.1.1.3.1.8"
},
"spark-0": {
"comment": "section 2.2.5.1.1.3.1.9"
},
"data-0": {
"comment": "section 2.2.5.1.1.3.1.10"
34 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
}
}
2.2.5.1.1.3.1.1 sparkhead
The sparkhead resource provides all the management services components that maintain the
Apache Spark instances [ApacheSpark] in the big data cluster.
"sparkhead": {
"$id": "#/properties/spec/properties/resources/properties/sparkhead",
"type": "object",
"required": [
"spec",
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/sparkhead/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.1.1"
}
}
}
35 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
clusterName string Specifies the name of the big data cluster into
which sparkhead resources are deployed.
2.2.5.1.1.3.1.1.1 spec
The spec element of the sparkhead resource specifies the structured data that define the
sparkhead resources that are deployed in the cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/sparkhead/properties/spec",
"type": "object",
"required": [
"replicas",
],
"properties": {
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/sparkhead/properties/spec/properties/repli
cas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"comment": "section 2.2.5.1.1.3.1.1.2"
}
}
}
2.2.5.1.1.3.1.1.2 spec.settings
The spec.settings element of the sparkhead resource specifies the settings of a sparkhead
resource.
36 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The JSON of this element is as follows.
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/sparkhead/properties/spec/properties/setti
ngs",
"type": "object",
"required": [
"spark",
],
"properties": {
"spark": {
"$ref": "#/definitions/spark"
}
}
}
2.2.5.1.1.3.1.2 storage-0
The storage-0 resource provides of a group of disks that are aggregated and managed as a single
unit and used to ingest and store data from HDFS [ApacheHadoop].
"storage-0": {
"$id": "#/properties/spec/properties/resources/properties/storage-0",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/clusterName",
"type": "string"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.2.1"
}
}
}
37 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.1.2.1 spec
The spec element of the storage-0 resource specifies the structured data that define the storage-0
resources deployed in the big data cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/storage-0/properties/spec",
"type": "object",
"required": [
"type",
"replicas",
"settings"
],
"properties": {
"type": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"comment": "section 2.2.5.1.1.3.1.2.2"
}
}
}
38 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.1.2.2 spec.settings
The spec.settings element of the storage-0 resource specifies the settings of a storage-0 resource.
"settings": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/spec/properties/settings",
"type": "object",
"required": [
"spark",
"sql",
"hdfs"
],
"properties": {
"spark": {
"$ref": "#/definitions/spark"
},
"sql": {
"$ref": "#/definitions/sql"
},
"hdfs": {
"$ref": "#/definitions/hdfs"
}
}
}
2.2.5.1.1.3.1.3 nmnode-0
The nmnode-0 resource provides the NameNode central service in HDFS [ApacheHadoop].
"nmnode-0": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-0",
"type": "object",
"required": [
"spec",
],
"properties": {
39 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-
0/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.3.1"
}
}
}
clusterName string Specifies the name of the big data cluster into
which nmnode-0 resources are deployed.
2.2.5.1.1.3.1.3.1 spec
The spec element of the nmnode-0 resource specifies the structured data that define the nmnode-0
resources that are deployed in the cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-0/properties/spec",
"type": "object",
"required": [
"replicas",
],
"properties": {
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-
0/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"comment": "section 2.2.5.1.1.3.1.3.2"
}
}
}
40 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.1.3.2 spec.settings
The spec.settings element of the nmnode-0 resource specifies the settings of a nmnode-0
resource.
"settings": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-
0/properties/spec/properties/settings",
"type": "object",
"required": [
"hdfs",
],
"properties": {
"hdfs": {
"$ref": "#/definitions/hdfs"
}
}
}
2.2.5.1.1.3.1.4 master
The master resource provides various kinds of functionality in the big data cluster, such as for
connectivity, scale-out query management, metadata and user databases, and machine learning
services.
"master": {
"$id": "#/properties/spec/properties/resources/properties/master",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/clusterName",
41 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "string"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.4.1"
}
}
}
clusterName string Specifies the name of the big data cluster into
which the master resource is deployed.
2.2.5.1.1.3.1.4.1 spec
The spec element of the master resource specifies the structured data that define the master
resource that is deployed in the big data cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/master/properties/spec",
"type": "object",
"required": [
"type",
"replicas",
"endpoints"
],
"properties": {
"type": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/replicas
",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"endpoints": {
"comment": "section 2.2.5.1.1.3.1.4.2"
42 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"settings": {
"comment": "section 2.2.5.1.1.3.1.4.4"
}
}
}
2.2.5.1.1.3.1.4.2 spec.endpoints
The spec.endpoints element of the master resource defines externally available endpoints that can
be used to access a resource.
"endpoints": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s",
"type": "array",
"items": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items",
"type": "object",
"required": [
"name",
"serviceType",
"port"
],
"properties": {
"name": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/name",
"type": "string"
},
"serviceType": {
"comment": "section 2.2.5.1.1.3.1.4.3"
},
"port": {
43 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/port",
"type": "integer",
"examples": [
31433,
]
},
"dnsName": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/dnsName",
"type": "string"
},
"dynamicDnsUpdate": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/dynamicDnsUpdate",
"type": "boolean"
}
}
}
}
2.2.5.1.1.3.1.4.3 spec.endpoints.serviceType
The spec.endpoints.serviceType element of the master resource defines what type of Kubernetes
[Kubernetes] Service exposes the endpoint.
"serviceType": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/serviceType",
"enum": [
"NodePort",
"LoadBalancer"
]
}
44 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.1.4.4 spec.settings
The spec.settings element of the master resource specifies the settings of the master resource.
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/settings
",
"type": "object",
"required": [
"sql",
],
"properties": {
"sql": {
"$ref": "#/definitions/sql"
}
}
}
2.2.5.1.1.3.1.5 compute-0
The compute-0 resource specifies of a group of one or more pods that provides scale-out
computational resources for the big data cluster.
"compute-0": {
"$id": "#/properties/spec/properties/resources/properties/compute-0",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/compute-
0/properties/clusterName",
"type": "string"
},
"metadata": {
"$ref": "#/definitions/metadata"
45 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.5.1"
}
}
}
clusterName string Specifies the name of the big data cluster into
which compute-0 resources are deployed.
2.2.5.1.1.3.1.5.1 spec
The spec element of the compute-0 resource specifies the structured data that define a compute-0
resource.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/compute-0/properties/spec",
"type": "object",
"required": [
"type",
"replicas"
],
"properties": {
"type": {
"$id": "#/properties/spec/properties/resources/properties/compute-0
/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/compute-0
/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"comment": "section 2.2.5.1.1.3.1.5.2"
}
}
}
46 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
This protocol defines the following common JSON schema elements.
2.2.5.1.1.3.1.5.2 spec.settings
The spec.settings element of the compute-0 resource specifies the settings of a compute-0
resource.
"settings": {
"$id": "#/properties/spec/properties/resources/properties/compute-
0/properties/spec/properties/settings",
"type": "object",
"required": [
"sql",
],
"properties": {
"sql": {
"$ref": "#/definitions/sql"
}
}
}
2.2.5.1.1.3.1.6 appproxy
The appproxy resource specifies a pod that is deployed in the control plane and provides users with
the ability to interact with the applications that are deployed in the big data cluster.
"appproxy": {
"$id": "#/properties/spec/properties/resources/properties/appproxy",
"type": "object",
"required": [
"spec",
],
47 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.6.1"
}
}
}
clusterName string Specifies the name of the big data cluster into
which appproxy resources are deployed.
2.2.5.1.1.3.1.6.1 spec
The spec element of the appproxy resource specifies the structured data that define the appproxy
resources that are deployed in the big data cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/appproxy/properties/spec",
"type": "object",
"required": [
"replicas",
"endpoints"
],
"properties": {
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/replic
as",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"endpoints": {
"comment": "section 2.2.5.1.1.3.1.6.2"
},
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/settin
gs",
"type": "object"
}
48 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
}
2.2.5.1.1.3.1.6.2 spec.endpoints
The spec.endpoints element for the appproxy resource defines the endpoints that can be used to
interact with the appproxy.
"endpoints": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts",
"type": "array",
"items": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items",
"type": "object",
"required": [
"name",
"serviceType",
"port"
],
"properties": {
"name": {
"comment": "section 2.2.5.1.1.3.1.6.3"
},
"serviceType": {
"comment": "section 2.2.5.1.1.3.1.6.4"
},
"port": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/port",
"type": "integer",
"examples": [
30778,
]
},
"dnsName": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/dnsName",
"type": "string"
49 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"dynamicDnsUpdate": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/dynamicDnsUpdate",
"type": "boolean"
}
}
}
}
2.2.5.1.1.3.1.6.3 spec.endpoints.name
The spec.endpoints.name element for the appproxy resource defines the name of the endpoint.
"name": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/name",
"const": "AppServiceProxy"
}
2.2.5.1.1.3.1.6.4 spec.endpoints.serviceType
The spec.endpoints.serviceType element for the appproxy resource defines what type of
Kubernetes [Kubernetes] Service exposes the endpoint.
50 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The JSON of this element is as follows.
"serviceType": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/serviceType",
"enum": [
"NodePort",
"LoadBalancer"
]
}
2.2.5.1.1.3.1.7 zookeeper
The zookeeper resource contains instances of Apache ZooKeeper [ApacheZooKeeper] that are used
to provide a service that maintains synchronization in highly available systems in the big data
cluster.
"zookeeper": {
"$id": "#/properties/spec/properties/resources/properties/zookeeper",
"type": "object",
"required": [
"spec",
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.7.1"
}
}
}
clusterName string Specifies the name of the big data cluster into
which zookeeper resources are deployed.
51 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.1.7.1 spec
The spec element of the zookeeper resource specifies the structured data that define the zookeeper
resources that are deployed in the big data cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/zookeeper/properties/spec",
"type": "object",
"required": [
"replicas",
],
"properties": {
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/spec/properties/repli
cas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"comment": "section 2.2.5.1.1.3.1.7.2"
}
}
}
2.2.5.1.1.3.1.7.2 spec.settings
The spec.settings element of the zookeeper resource specifies the settings of a zookeeper
resource.
"settings": {
52 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/spec/properties/setti
ngs",
"type": "object",
"required": [
"hdfs",
],
"properties": {
"hdfs": {
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/spec/properties/setti
ngs/properties/hdfs",
"type": "object"
}
}
}
2.2.5.1.1.3.1.8 gateway
The gateway resource uses the Apache Knox [ApacheKnox] gateway system to provide a secure
endpoint by which to connect to Hadoop [ApacheHadoop].
"gateway": {
"$id": "#/properties/spec/properties/resources/properties/gateway",
"type": "object",
"required": [
"spec",
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.8.1"
}
}
}
clusterName string Specifies the name of the big data cluster into
which gateway resources are deployed.
53 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.1.8.1 spec
The spec element of the gateway resource specifies the structured data that define the gateway
resources that are deployed in the big data cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/gateway/properties/spec",
"type": "object",
"required": [
"replicas",
"endpoints"
],
"properties": {
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/replica
s",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"endpoints": {
"comment": "section 2.2.5.1.1.3.1.8.2"
},
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/setting
s",
"type": "object"
}
}
}
54 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.1.1.3.1.8.2 spec.endpoints
The spec.endpoints element for the gateway resource defines the endpoints that can be used to
interact with the gateway resource.
"endpoints": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts",
"type": "array",
"items": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items",
"type": "object",
"required": [
"name",
"serviceType",
"port"
],
"properties": {
"name": {
"comment": "section 2.2.5.1.1.3.1.8.3"
},
"serviceType": {
"comment": "section 2.2.5.1.1.3.1.8.4"
},
"port": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/port",
"type": "integer"
},
"dnsName": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/dnsName",
"type": "string"
},
"dynamicDnsUpdate": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/dynamicDnsUpdate",
"type": "boolean"
}
}
}
}
55 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.1.8.3 spec.endpoints.name
The spec.endpoints.name element of the gateway resource specifies the name of the endpoint.
"name": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/name",
"const": "Knox"
}
2.2.5.1.1.3.1.8.4 spec.endpoints.serviceType
"serviceType": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/serviceType",
"enum": [
"NodePort",
"LoadBalancer"
]
}
56 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.1.1.3.1.9 spark-0
The spark-0 resource specifies the settings structured data that define the spark service settings.
"spark-0": {
"$id": "#/properties/spec/properties/resources/properties/spark-0",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/spark-
0/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.9.1"
}
}
}
clusterName string Specifies the name of the big data cluster into
which spark-0 resources are deployed.
2.2.5.1.1.3.1.9.1 spec
The spec element of the spark-0 resource specifies the structured data that define the spark-0
resources that are deployed in the big data cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/spark-0/properties/spec",
"type": "object",
"required": [
"type",
"replicas"
],
57 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"properties": {
"type": {
"$id": "#/properties/spec/properties/resources/properties/spark-
0/properties/spec/properties/type",
"type": ["integer","string"]
},
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/spark-0/properties
/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"comment": "section 2.2.5.1.1.3.1.9.2"
}
}
}
2.2.5.1.1.3.1.9.2 spec.settings
The spec.settings element of the spark-0 resource specifies the settings of a spark-0 resource.
"settings": {
"$id": "#/properties/spec/properties/resources/properties/spark-0/properties/spec
/properties/settings",
"type": "object",
"required": [
"spark",
"hdfs"
],
"properties": {
"spark": {
"$ref": "#/definitions/spark"
},
"hdfs": {
"$ref": "#/definitions/hdfs"
}
}
58 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
2.2.5.1.1.3.1.10 data-0
The data-0 resource specifies a group of pods that provide persistent storage in the big data cluster.
"data-0": {
"$id": "#/properties/spec/properties/resources/properties/data-0",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"spec": {
"comment": "section 2.2.5.1.1.3.1.10.1"
}
}
}
clusterName string Specifies the name of the big data cluster into
which data-0 resources are deployed.
2.2.5.1.1.3.1.10.1 spec
59 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The spec element of the data-0 resource specifies the structured data that define the data-0
resources that are deployed in the big data cluster.
"spec": {
"$id": "#/properties/spec/properties/resources/properties/data-0/properties/spec",
"type": "object",
"required": [
"type",
"replicas"
],
"properties": {
"type": {
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"comment": "section 2.2.5.1.1.3.1.10.2"
}
}
}
2.2.5.1.1.3.1.10.2 spec.settings
The spec.settings element of the data-0 resource specifies the settings of a data-0 resource.
"settings": {
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/spec/properties/settings",
60 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "object",
"required": [
"sql",
],
"properties": {
"sql": {
"$ref": "#/definitions/sql"
}
}
}
2.2.5.1.1.3.2 services
The services element of the spec element consists of the services that are deployed to distribute and
manage the resources in the big data cluster.
"services": {
"$id": "#/properties/spec/properties/services",
"type": "object",
"required": [
"sql",
"hdfs",
"spark"
],
"properties": {
"sql": {
"comment": "section 2.2.5.1.1.3.2.1"
},
"hdfs": {
"comment": "section 2.2.5.1.1.3.2.2"
},
"spark": {
"comment": "section 2.2.5.1.1.3.2.3"
}
}
}
2.2.5.1.1.3.2.1 sql
61 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The sql service distributes and manages the SQL Server service in the big data cluster.
"sql": {
"$id": "#/properties/spec/properties/services/properties/sql",
"type": "object",
"required": [
"resources",
],
"properties": {
"resources": {
"comment": "section 2.2.5.1.1.3.2.1.1"
},
"settings": {
"$ref": "#/definitions/sql"
}
}
}
2.2.5.1.1.3.2.1.1 resources
The resources element of the sql service specifies an array of resources that use the SQL Server
service in the big data cluster.
"resources": {
"$id": "#/properties/spec/properties/services/properties/sql/properties/resources",
"type": "array",
"items": [
{
"const": "master"
},
{
"const": "compute-0"
},
{
"const": "data-0"
},
{
"const": "storage-0"
}
]
}
62 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.1.1.3.2.2 hdfs
The hdfs service distributes and manages the HDFS [ApacheHadoop] storage and file system in the
big data cluster.
"hdfs": {
"$id": "#/properties/spec/properties/services/properties/hdfs",
"type": "object",
"required": [
"resources",
],
"properties": {
"resources": {
"comment": "section 2.2.5.1.1.3.2.2.1"
},
"settings": {
"$ref": "#/definitions/hdfs"
}
}
}
2.2.5.1.1.3.2.2.1 resources
The resources element of an hdfs service specifies the array of resources that are deployed to an
HDFS service in the big data cluster.
"resources": {
"$id": "#/properties/spec/properties/services/properties/hdfs/properties/resources",
"type": "array",
"items": [
{
"const": "nmnode-0"
},
{
"const": "zookeeper"
},
{
63 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"const": "storage-0"
},
{
"const": "sparkhead"
},
{
"const": "spark-0"
}
]
}
2.2.5.1.1.3.2.3 spark
The spark service provides support for in-memory processing to boost the performance of the big-
data analytic applications in the big data cluster.
"spark": {
"$id": "#/properties/spec/properties/services/properties/spark",
"type": "object",
"required": [
"resources",
"settings"
],
"properties": {
"resources": {
"comment": "section 2.2.5.1.1.3.2.3.1"
},
"settings": {
"$ref": "#/definitions/spark"
}
}
}
64 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.1.1.3.2.3.1 resources
The resources element of a spark service specifies an array of resources that define the resources
that are deployed in the spark services.
"resources": {
"$id": "#/properties/spec/properties/services/properties/spark/properties/resources",
"type": "array",
"items": [
{
"const": "sparkhead"
},
{
"const": "storage-0"
},
{
"const": "spark-0"
}
]
}
The Big Data Cluster Error Response schema specifies the response body that describes the
current errors in the big data cluster.
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "The Root Schema",
"required": [
"code",
"reason",
"data"
],
"properties": {
"code": {
"$id": "#/properties/code",
"type": "integer",
"title": "The Code Schema",
"default": 0,
"examples": [
500,
]
},
"reason": {
"$id": "#/properties/reason",
"type": "string",
65 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"default": "",
"examples": [
"An unexpected exception occurred.",
]
},
"data": {
"$id": "#/properties/data",
"type": "string",
"default": "",
"examples": [
"Null reference exception",
]
}
}
code integer Specifies the HTTP status code that results from
the operation.
The Big Data Cluster Information schema provides the specified information about the big data
cluster.
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"state",
"spec"
],
"properties": {
"state": {
"$id": "#/properties/state",
"type": "string",
"title": "The State Schema"
},
"spec": {
"$id": "#/properties/spec",
"type": "string"
}
}
66 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
model.
The Big Data Cluster Status schema retrieves the specified status information about the big data
cluster.
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"bdcName",
"state",
"healthStatus",
"details",
"services"
],
"properties": {
"bdcName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"services": {
"comment": "section 2.2.5.1.4.1"
}
}
bdcName string Specifies the name of the big data cluster for
which status is requested.
2.2.5.1.4.1 services
67 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The services element provides a list of the names of the services about which status information is
requested.
"services": {
"type": "array",
"title": "The Services Schema",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"serviceName",
"state",
"healthStatus",
"details",
"resources"
],
"properties": {
"serviceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"resources": {
"comment": "section 2.2.5.1.4.1.1"
}
}
}
}
2.2.5.1.4.1.1 resources
The resources element specifies an array of resources that are used in a service about which status
information is requested.
68 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"resources": {
"type": "array",
"title": "The Resources Schema",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"resourceName",
"state",
"healthStatus",
"details",
"instances"
],
"properties": {
"resourceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"instances": {
"oneOf": [
{"type": "null"},
{"comment": "section 2.2.5.1.4.1.1.1"}
]
}
}
}
}
2.2.5.1.4.1.1.1 instances
The instances element contains an array that includes information about all the instances of a
specific resource in the cluster.
69 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"instances": {
"type": "array",
"title": "The Instances Schema",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"instanceName",
"state",
"healthStatus",
"details",
"dashboards"
],
"properties": {
"instanceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"dashboards": {
"comment": "section 2.2.5.1.4.1.1.1.1"
}
}
}
}
2.2.5.1.4.1.1.1.1 dashboards
The dashboards element defines a series of URLs that can be used to retrieve logs and metrics for a
specific resource instance.
"dashboards": {
"type": "object",
"title": "The Dashboards Schema",
"required": [
"nodeMetricsUrl",
"sqlMetricsUrl",
70 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"logsUrl"
],
"properties": {
"nodeMetricsUrl": {
"type": "string",
"examples": [
"https://0.0.0.0:30777/api/v1/bdc/instances/master/status/nodemetrics/ui",
]
},
"sqlMetricsUrl": {
"type": "string",
"examples": [
"https://0.0.0.0:30777/api/v1/bdc/instances/master/status/sqlmetrics/ui",
]
},
"logsUrl": {
"type": "string",
"examples": [
"https://0.0.0.0:30777/api/v1/bdc/instances/master/status/logs/ui",
]
}
}
}
logsUrl string Specifies a URL that can be used to view the logs
for the resource instance.
The Big Data Cluster Service Status schema retrieves the requested status information about the
services in the big data cluster.
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"required": [
"serviceName",
"state",
"healthStatus",
"details",
"resources"
],
"properties": {
"serviceName": {
"type": "string"
},
"state": {
71 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"resources": {
"comment": "section 2.2.5.1.5.1"
}
}
2.2.5.1.5.1 resources
The resources element specifies the array of resources that are deployed in the big data cluster.
"resources": {
"$id": "#/properties/resources",
"type": "array",
"title": "The Resources Schema",
"items": {
"$id": "#/properties/resources/items",
"type": "object",
"title": "The Items Schema",
"required": [
"resourceName",
"state",
"healthStatus",
"details",
"instances",
"replicas",
],
"properties": {
"resourceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
72 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"details": {
"type": ["string", "null"]
},
"instances": {
"oneOf": [
{"type": "null"},
{"comment": "section 2.2.5.1.5.1.1"}
]
},
"replicas": {
"oneOf": [
{"type": "null"},
{"comment": "section 2.2.5.1.5.1.2"}
]
}
}
}
}
2.2.5.1.5.1.1 instances
The instances element contains an array that includes information about all the instances of a
specific resource in the cluster.
"instances": {
"type": "array",
"title": "The Instances Schema",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"instanceName",
"state",
"healthStatus",
"details",
73 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"dashboards"
],
"properties": {
"instanceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"dashboards": {
"comment": "section 2.2.5.1.5.1.1.1"
}
}
}
}
2.2.5.1.5.1.1.1 dashboards
The dashboards element defines a series of URLs that can be used to retrieve logs and metrics for a
specific resource instance.
"dashboards": {
"type": "object",
"title": "The Dashboards Schema",
"required": [
"nodeMetricsUrl",
"sqlMetricsUrl",
"logsUrl"
],
"properties": {
"nodeMetricsUrl": {
"type": "string"
},
"sqlMetricsUrl": {
"type": "string"
},
"logsUrl": {
"type": "string"
74 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
}
}
logsUrl string Specifies a URL that can be used to view the logs
for the resource instance.
2.2.5.1.5.1.2 replicas
The replicas element that is used in the Big Data Cluster Service Status schema SHOULD<23>
contain an array that includes information about all the replicas of a specific resource instance in the
cluster.
"replicas": {
"type": "array",
"items": {
"type": "object",
"required": [
"availabilityMode",
"details",
"healthStatus",
"replicaName",
"replicaRole",
"state",
"synchronizationStatus",
],
"properties": {
"availabilityMode": {
"comment": "section 2.2.5.1.5.2.1"
},
"details": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"replicaName": {
"type": ["string", "null"]
},
"replicaRole": {
"comment": "section 2.2.5.1.5.2.2"
},
"state": {
"type": "string"
},
"synchronizationStatus": {
"comment": "section 2.2.5.1.5.2.3"
75 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
}
}
}
2.2.5.1.5.1.2.1 availabilityMode
The availabilityMode element SHOULD<24> define the availability mode that is currently being used
by a replica.
"availabilityMode": {
"enum": [
"Asynchronous",
"Synchronous",
"ConfigurationOnly"
]
}
2.2.5.1.5.1.2.2 replicaRole
76 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The replicaRole element SHOULD<25> define the role for a replica in the availability group.
"replicaRole": {
"enum": [
"Resolving",
"Primary",
"Secondary"
]
},
2.2.5.1.5.1.2.3 synchronizationStatus
"synchronizationStatus": {
"enum": [
"Synchronized",
"Not Synchronizing"
]
}
The Big Data Cluster Service Resource Status schema retrieves the requested status information
about a resource that is deployed in a service in the big data cluster.
"$schema": "http://json-schema.org/draft-07/schema#",
77 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema",
"required": [
"resourceName",
"state",
"healthStatus",
"details",
"instances"
],
"properties": {
"resourceName": {
"$id": "#/properties/resourceName",
"type": "string"
},
"state": {
"$id": "#/properties/state",
"type": "string"
},
"healthStatus": {
"$id": "#/properties/healthStatus",
"type": "string"
},
"details": {
"$id": "#/properties/details",
"type": ["string", "null"]
},
"instances": {
"oneOf": [
{"type": "null"},
{"comment": "section 2.2.5.1.6.1"}
]
}
}
2.2.5.1.6.1 instances
The instances element contains an array that contains information about all the instances of a
specific resource in the cluster.
"instances": {
78 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$id": "#/properties/instances",
"type": "array",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"instanceName",
"state",
"healthStatus",
"details",
"dashboards"
],
"properties": {
"instanceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"dashboards": {
"comment": "section 2.2.5.1.6.1.1"
}
}
}
}
2.2.5.1.6.1.1 dashboards
The dashboards element defines a series of URLs that can be used to retrieve logs and metrics for a
specific resource instance.
"dashboards": {
"type": "object",
"title": "The Dashboards Schema",
"required": [
"nodeMetricsUrl",
"sqlMetricsUrl",
"logsUrl"
79 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
],
"properties": {
"nodeMetricsUrl": {
"type": "string"
},
"sqlMetricsUrl": {
"type": "string"
},
"logsUrl": {
"type": "string"
}
}
}
logsUrl string Specifies a URL that can be used to view the logs
for the resource instance.
The Big Data Cluster Upgrade schema is used to upgrade the big data cluster.
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"required": [
"targetVersion",
"targetRepository"
],
"properties": {
"targetVersion": {
"$id": "#/properties/targetVersion",
"type": "string",
},
"targetRepository": {
"$id": "#/properties/targetRepository",
"type": "string",
}
}
80 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
The Big Data Cluster Endpoints List schema is used to retrieve a listing of information about the
endpoints that are exposed for a component.
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "array",
"title": "The Root Schema",
"items": {
"$id": "#/items",
"type": "object",
"required": [
"name",
"description",
"endpoint",
"protocol"
],
"properties": {
"name": {
"$id": "#/items/properties/name",
"type": "string",
"title": "The Name Schema"
},
"description": {
"$id": "#/items/properties/description",
"type": "string"
},
"endpoint": {
"$id": "#/items/properties/endpoint",
"type": "string"
},
"protocol": {
"comment": "section 2.2.5.1.8.1"
}
}
}
81 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.1.8.1 protocol
The protocol element specifies the network protocol that is used to access the endpoint.
"protocol": {
"enum": [
"https",
"tds"
]
}
The Big Data Cluster Endpoint schema is used to expose an endpoint outside the cluster.
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"required": [
"name",
"description",
"endpoint",
"protocol"
],
"properties": {
"name": {
"$id": "#/properties/name",
"type": "string",
"title": "The Name Schema"
},
"description": {
"$id": "#/properties/description",
"type": "string"
},
"endpoint": {
"$id": "#/properties/endpoint",
"type": "string"
},
"protocol": {
"comment": "section 2.2.5.1.9.1"
}
}
82 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
This protocol defines the following common JSON schema elements.
2.2.5.1.9.1 protocol
The protocol element specifies the network protocol that is used to access the endpoint.
"protocol": {
"enum": [
"https",
"tds"
]
}
2.2.5.2 Storage
The Storage resource type defines the persistent storage that is used in the big data cluster.
This protocol defines the following set of common Storage JSON schemas.
Storage Response Schema 2.2.5.2.1 Specifies the response body that describes the state of a
mounted remote HDFS storage volume.
The Storage Response schema specifies the response body that describes the state of a remote
HDFS storage volume that is mounted in the big data cluster.
83 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The following is the schema in JSON format.
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Storage Response Schema",
"required": [
"mount",
"remote",
"state",
"error"
],
"properties": {
"mount": {
"$id": "#/properties/mount",
"type": "string"
},
"remote": {
"$id": "#/properties/remote",
"type": "string"
},
"state": {
"comment": "section 2.2.5.2.1.1"
},
"error": {
"$id": "#/properties/error",
"type": "string"
}
}
2.2.5.2.1.1 state
The state element defines the valid state values of the HDFS mount deployment.
"state": {
"$id": "#/properties/state",
"enum": [
"Initial",
"Creating",
"WaitingForCreate",
"Updating",
"WaitingForUpdate",
"Ready",
"Deleting",
"WaitingForDelete",
"Deleted",
"Error"
84 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
]
}
Deleted string Indicates that the HDFS mount has been deleted.
2.2.5.3 App
The App resource type defines the application scripts that are deployed in the big data cluster.
This protocol defines the following set of common App JSON schemas.
The App Description schema defines an overview of an application that is deployed in the big data
cluster.
"$schema": "http://json-schema.org/draft-07/schema#",
85 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "object",
"title": "App Result Schema",
"definitions": {
"comment": "section 2.2.5.3.1.1"
},
"required": [
"name",
"internal_name",
"version",
"input_param_defs",
"output_param_defs",
"state",
"links"
],
"properties": {
"name": {
"$id": "#/properties/name",
"type": "string"
},
"internal_name": {
"$id": "#/properties/internal_name",
"type": "string"
},
"version": {
"$id": "#/properties/version",
"type": "string"
},
"input_param_defs": {
"comment": "section 2.2.5.3.1.2"
},
"output_param_defs": {
"comment": "section 2.2.5.3.1.3"
},
"state": {
"comment": "section 2.2.5.3.1.4"
},
"links": {
"comment": "section 2.2.5.3.1.5"
}
}
86 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.3.1.1 definitions
The definitions element specifies schema elements that can be referenced by other elements within
the schema.
"definitions": {
"link": {
"comment": "section 2.2.5.3.1.1.1"
},
"parameter": {
"comment": "section 2.2.5.3.1.1.2"
}
}
2.2.5.3.1.1.1 link
The link element defines a URL that can be used to interact with the deployed application.
"link": {
"type": "object",
"properties": {
"*": {
"type": "string"
}
}
}
2.2.5.3.1.1.2 parameter
87 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"parameter": {
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"comment": "section 2.2.5.3.1.1.2.1"
}
}
}
2.2.5.3.1.1.2.1 type
The type element defines the valid data types of application parameters.
"type": {
"enum": [
"str",
"int",
"dataframe",
"data.frame",
"float",
"matrix",
"vector",
"bool"
]
}
88 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.3.1.2 input_param_defs
The input_param_defs element is an array of parameter objects that represent the inputs that can
be passed to the application.
"input_param_defs": {
"$id": "#/properties/input_param_defs",
"type": "array",
"description": "Array of input parameters for the deployed app",
"items": {
"$ref": "#/definitions/parameter"
}
}
2.2.5.3.1.3 output_param_defs
The output_param_defs element is an array of parameter objects that represent the outputs of the
application.
"output_param_defs": {
"$id": "#/properties/output_param_defs",
"type": "array",
"items": {
"$ref": "#/definitions/parameter"
}
}
2.2.5.3.1.4 state
The state element defines the valid states of the application's deployment.
89 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"state": {
"$id": "#/properties/state",
"enum": [
"Initial",
"Creating",
"WaitingForCreate",
"Updating",
"WaitingForUpdate",
"Ready",
"Deleting",
"WaitingForDelete",
"Deleted",
"Error"
]
}
2.2.5.3.1.5 links
The links element is a data structure that represents a URL that can be used to access the deployed
application.
"links": {
"$id": "#/properties/links",
"type": "object",
"required": [
"app",
"swagger"
90 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
],
"properties": {
"app": {
"$id": "#/properties/links/properties/app",
"type": "string"
},
"swagger": {
"$id": "#/properties/links/properties/swagger",
"type": "string"
}
}
}
The App Run Result schema describes the results of running an application.
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"success",
"errorMessage",
"outputFiles",
"consoleOutput",
"changedFiles"
],
"properties": {
"success": {
"$id": "#/properties/success",
"type": "boolean"
},
"errorMessage": {
"$id": "#/properties/errorMessage",
"type": "string"
},
"outputParameters": {
"comment": "section 2.2.5.3.2.1"
},
"outputFiles": {
"$id": "#/properties/outputFiles",
"type": "object"
},
"consoleOutput": {
"$id": "#/properties/consoleOutput",
"type": "string"
},
"changedFiles": {
"$id": "#/properties/changedFiles",
"type": "array"
91 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
}
consoleOutput string Specifies the text output that resulted from the
application method.
2.2.5.3.2.1 outputParameters
The outputParameters element contains an object of outputs that resulted from the application
method. The number and name of this element are based on the output_param_defs element of the
application, as specified in section 2.2.5.3.1.3.
"outputParameters": {
"type": "object",
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": ["string", "integer", "array", "boolean"]
}
},
"additionalProperties": false
}
92 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.4 Token
The Token resource type defines the authentication that is used in the big data cluster.
This protocol defines the following set of common Token JSON schemas.
Token Response Schema 2.2.5.4.1 Defines the response body that is returned when a user
requests an authentication token.
The Token Response schema defines the response body that is returned when a user requests an
authentication token.
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"token_type",
"access_token",
"expires_in",
"expires_on",
"token_id"
],
"properties": {
"token_type": {
"$id": "#/properties/token_type",
"type": "string"
},
"access_token": {
"$id": "#/properties/access_token",
"type": "string"
},
"expires_in": {
"$id": "#/properties/expires_in",
"type": "integer"
},
"expires_on": {
"$id": "#/properties/expires_on",
"type": "integer"
},
"token_id": {
"$id": "#/properties/token_id",
"type": "string"
}
}
access_token string Specifies the JWT token that is generated for the
request.
93 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.5 Home
The Home resource type defines the response that is used to determine whether the control plane
service is listening for requests.
This protocol defines the following set of common Home JSON schemas.
Ping Response Schema 2.2.5.5.1 Specifies the availability of the control plane.
Info Response Schema 2.2.5.5.2 Specifies a JSON model that contains metadata about the
control plane.
The Ping Response schema specifies the availability information that is used to determine whether
the Control Plane REST API is responsive.
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema",
"required": [
"code",
"message"
],
"properties": {
"code": {
"comment": "section 2.2.5.5.1.1"
},
"message": {
"comment": "section 2.2.5.5.1.2"
}
}
94 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element name Type Description
2.2.5.5.1.1 code
The code element specifies the HTTP Response Status code that is returned in response to the ping
made to the controller.
"code": {
"$id": "#/properties/code",
"const": 200
}
2.2.5.5.1.2 message
The message element contains a message that describes the status of the controller.
"message": {
"$id": "#/properties/message",
"const": "Controller is available."
}
Controller is available. string Indicates that the control plane has been verified
as being available.
The Info Response schema specifies a JSON model that contains metadata about the deployed
control plane.
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema",
95 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"required": [
"version",
"buildTimestamp"
],
"properties": {
"version": {
"$id": "#/properties/version",
"type": "string"
},
"buildTimestamp": {
"$id": "#/properties/buildTimestamp",
"type": "string"
}
}
buildTimestamp string Specifies the build and time information for the
message that was returned in response to the
ping that was made to the controller.
2.2.5.6 Config
The Config resource type SHOULD<27> define the settings that are used to configure a big data
cluster.
This protocol defines the following set of common Config JSON schemas.
Apply Settings Request 2.2.5.6.1 Specifies a request that contains the settings to apply or
Schema abort.
Set Settings Response 2.2.5.6.2 Specifies a response that contains the settings to be
Schema applied.
The Apply Settings Request schema SHOULD<28> specify a JSON model that contains a request to
apply or abort the application of settings in a big data cluster.
96 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"properties": {
"description": {
"type": "string",
},
"abortUpgrade": {
"$id": "#/properties/abortUpgrade",
"type": "boolean",
"default": false,
}
},
"additionalProperties": false
}
The Set Settings Response schema SHOULD<29> specify a JSON model that contains the settings
to be applied to a big data cluster.
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "http://example.com/example.json",
"type": "object",
"required": [
"settings"
],
"properties": {
"settings": {
"comment": "section 2.2.5.6.2.1"
}
},
"additionalProperties": "false"
}
97 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.6.2.1 settings
"settings": {
"$id": "#/properties/settings",
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type":"string"
}
},
"additionalProperties": "false"
}
^([A-Za-z_.-])+$ string A key that specifies the setting to be updated. The value
of this key is a string that defines the desired setting
value.
The Get Cluster Settings schema SHOULD<30> specify a JSON model that contains the settings for
a big data cluster.
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"definitions": {
"comment": "section 2.2.5.6.3.1"
},
"required": [
"bdcName",
"services",
"settings",
"status"
],
"properties": {
"bdcName": {
"type": "string",
"description": "An explanation about the purpose of this instance.",
"title": "ThebdcName schema",
"default": "",
"examples": [
"test",
]
},
"services": {
"comment": "section 2.2.5.6.3.2"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
98 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"additionalProperties": "false"
}
bdcName string Specifies the name of the deployed big data cluster to be
queried.
2.2.5.6.3.1 definitions
The definitions element specifies schema elements that can be referenced by other elements within
the schema.
"definitions": {
"settings": {
"comment": "section 2.2.5.6.3.1.1"
},
"status": {
"comment": "section 2.2.5.6.3.1.2"
}
}
2.2.5.6.3.1.1 settings
"settings": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
99 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"additionalProperties": "false"
}
string The name of the setting. The value for this field is the
^([A-Za-z_.-])+$
intended value of the setting.
2.2.5.6.3.1.2 status
The status element defines an array that contains information about big data cluster configuration
settings.
"status": {
"type": "array",
"additionalProperties": false,
"items": {
"anyOf": [
{
"required": [
"settingName",
"defaultValue",
"configuredValue",
"lastUpdatedTime",
"type",
"description",
"configurable",
"immutable"
],
"properties": {
"settingName": {
"type": "string"
},
"defaultValue": {
"type": "string"
},
"configuredValue": {
"type": "string"
},
"lastUpdatedTime": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"configurable": {
"type": "boolean"
},
"immutable": {
"type": "boolean"
}
},
"additionalProperties": "false"
}
]
100 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
}
configuredValue string Specifies the current configured value for the setting.
type string Specifies the type for the value for the setting.
2.2.5.6.3.2 services
The services schema defines an array that contains configuration settings for the services that are
running in a big data cluster.
"services": {
"type": "array",
"additionalItems": false,
"items": {
"anyOf": [
{
"required": [
"serviceName",
"settings"
],
"properties": {
"serviceName": {
"type": "string"
},
"resources": {
"comment": "section 2.2.5.6.3.2.1"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": false
}
]
},
101 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
}
2.2.5.6.3.2.1 resources
The resources schema defines an array of objects that define the configuration settings for resources
that are running as part of the service.
"resources": {
"type": "object",
"required": [
"resourceName",
"settings",
"status"
],
"properties": {
"resourceName": {
"type": "string"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": "false"
}
102 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
2.2.5.6.4 Get Service Configuration Response Settings Schema
The Get Service Configuration Response Settings schema SHOULD<31> specify a JSON model
that contains the settings for a service in a big data cluster.
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "http://example.com/example.json",
"type": "object",
"definitions": {
"comment": "section 2.2.5.6.4.1"
},
"required": [
"serviceName",
"settings"
],
"properties": {
"serviceName": {
"type": "string"
},
"resources": {
"comment": "section 2.2.5.6.4.2"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": "false"
}
2.2.5.6.4.1 definitions
The definitions element specifies schema elements that can be referenced by other elements within
the schema.
"definitions": {
"settings": {
"comment": "section 2.2.5.6.4.1.1"
103 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"status": {
"comment": "section 2.2.5.6.4.1.2"
}
}
2.2.5.6.4.1.1 settings
"settings": {
"$id": "#/properties/settings",
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": "false"
}
^([A-Za-z_.-])+$ string The name of the setting. The value for this field is the
intended value of the setting.
2.2.5.6.4.1.2 status
The status element defines an array that contains information about a specific big data cluster
configuration setting.
"status": {
"type": "array",
"additionalProperties": false,
"items": {
"anyOf": [
{
"required": [
"settingName",
"defaultValue",
104 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"configuredValue",
"lastUpdatedTime",
"type",
"description",
"configurable",
"immutable"
],
"properties": {
"settingName": {
"type": "string"
},
"defaultValue": {
"type": "string"
},
"configuredValue": {
"type": "string"
},
"lastUpdatedTime": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"configurable": {
"type": "boolean"
},
"immutable": {
"type": "boolean"
}
},
"additionalProperties": false
}
]
}
}
configuredValue string Specifies the current configured value for the setting.
type string Specifies the type for the value for the setting.
2.2.5.6.4.2 resources
105 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The resources schema defines an array of objects that define the configuration settings for resources
running as part of the service.
"resources": {
"type": "array",
"additionalItems": "false",
"items": {
"anyOf": [
{
"required": [
"resourceName",
"settings"
],
"properties": {
"resourceName": {
"type": "string"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": "false"
}
]
}
}
The Get Resource Settings schema SHOULD<32> specify a JSON model that contains the settings
for a resource in a big data cluster.
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"definitions": {
"comment": "section 2.2.5.6.5.1"
},
"required": [
"resourceName",
"settings"
],
"properties": {
"resourceName": {
106 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "string"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": "false"
}
resourceName string Specifies a JSON model that contains metadata about the
control plane.
2.2.5.6.5.1 definitions
The definitions element specifies schema elements that can be referenced by other elements within
the schema.
"definitions": {
"settings": {
"comment": "section 2.2.5.6.5.1.1"
},
"status": {
"comment": "section 2.2.5.6.5.1.2"
}
}
2.2.5.6.5.1.1 settings
107 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"settings": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": "false"
}
2.2.5.6.5.1.2 status
The status element defines an array that contains information about a specific big data cluster
configuration setting.
"status": {
"type": "array",
"additionalProperties": "false",
"items": {
"anyOf": [
{
"required": [
"settingName",
"defaultValue",
"configuredValue",
"lastUpdatedTime",
"type",
"description",
"configurable",
"immutable"
],
"properties": {
"settingName": {
"type": "string"
},
"defaultValue": {
"type": "string"
},
"configuredValue": {
"type": "string"
},
"lastUpdatedTime": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"configurable": {
"type": "boolean"
},
108 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"immutable": {
"type": "boolean"
}
},
"additionalProperties": "false"
}
]
}
}
configuredValue string Specifies the current configured value for the setting.
type string Specifies the type for the value for the setting.
2.2.5.7 KMS
The KMS resource type SHOULD<33> define the key management service (KMS) settings that are
used to configure the main encryption keys for encryption at rest in a big data cluster.
This protocol defines the following set of common KMS JSON schemas.
Update KMS Configuration 2.2.5.7.1 Specifies a request that contains the configuration to
Request apply for the KMS main encryption keys.
Show KMS Configuration 2.2.5.7.2 Specifies a response that shows the latest configuration
Response of the KMS for the main encryption keys.
The Update KMS Configuration Request schema SHOULD<34> specify a JSON model that contains
the KMS configuration for a big data cluster.
"$schema": "http://json-schema.org/draft-07/schema",
109 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "object",
"required": [
"keyProvider",
"keyAttributes",
"keyApplicationName",
"keyApplicationVersion"
],
"properties": {
"keyProvider": {
"comment": "section 2.2.5.7.1.1",
},
"keyAttributes": {
"comment": "section 2.2.5.7.1.2",
},
"keyApplicationName": {
"comment": "section 2.2.5.7.1.3",
},
"keyApplicationVersion": {
"comment": "section 2.2.5.7.1.4",
}
},
"additionalProperties": false
}
2.2.5.7.1.1 keyProvider
The keyProvider element defines the name of the provider of the key.
"keyProvider": {
"type": "string"
}
2.2.5.7.1.2 keyAttributes
The keyAttributes element defines the attributes for the external encryption key. An equal sign (=)
is used as a separator between a key and its value.
"keyAttributes": {
"type": "object",
"required": [
"keyname"
],
"properties": {
110 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"keyname": {
"type": "string"
}
}
}
2.2.5.7.1.3 keyApplicationName
The keyApplicationName element specifies the Application Deployment application name for
external keys.
"keyApplicationName": {
"type": "string"
}
2.2.5.7.1.4 keyApplicationVersion
The keyApplicationVersion element specifies the Application Deployment application version for
external keys.
"keyApplicationVersion": {
"type": "string"
}
The Show KMS Configuration Response schema SHOULD<35> specify a JSON model that contains
the latest KMS configuration for a big data cluster.
"$schema": "http://json-schema.org/draft-07/schema",
"type": "array",
"additionalItems": false,
"items": {
"anyOf": [
{
"type": "object",
"required": [
"keyApplicationName",
"keyApplicationVersion",
"keyAttributes",
"keyCreationTime",
"keyProvider",
"keyVersion",
"resource"
111 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
],
"properties": {
"keyApplicationName": {
"comment": "section 2.2.5.7.1.3",
},
"keyApplicationVersion": {
"comment": "section 2.2.5.7.1.4",
},
"keyAttributes": {
"comment": "section 2.2.5.7.1.2",
},
"keyCreationTime": {
"type": "integer",
"default": 0,
},
"keyProvider": {
"comment": "section 2.2.5.7.1.1",
},
"keyVersion": {
"type": "string",
},
"resource": {
"type": "string",
}
},
"additionalProperties": false
}
]
}
keyCreationTime string Specifies the timestamp at which the key was configured,
as represented by the number of seconds that have
elapsed since 1970-01-01T00:00:00Z.
resource string Specifies the name of the resource to which the setting is
applied. Possible values include “HDFS” and “MSSQL”.
112 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3 Protocol Details
If an HTTP operation is unsuccessful, the server MUST return the error as JSON content in the
response. The format of the JSON response is provided in the Response Body sections of the methods
that can performed during HTTP operations.
None.
3.1.2 Timers
None.
3.1.3 Initialization
For a client to use this protocol, the client MUST have a healthy control plane service that is running
in a Kubernetes cluster.
None.
The methods of the APIs that are defined in this section can use resources that are defined according
to the resource types in section 2.2.5.
The following APIs are invoked and managed by using the control plane service.
Big Data Cluster 3.1.5.1 The APIs that are used to perform create retrieve update
delete (CRUD) operations against the big data cluster resource
that is deployed in the Kubernetes cluster.
Control 3.1.5.2 The APIs that are used to perform management operations
against the control plane.
Storage 3.1.5.3 The APIs that are used to perform CRUD operations on external
mounts that are mounted in the HDFS instance of the big data
cluster.
App Deploy 3.1.5.4 The APIs that are used to perform CRUD operations against a
standalone application that is deployed in a pod in the cluster.
Token 3.1.5.5 The APIs that are used to create a token that can be included as a
header in an application call in the cluster.
Home Page 3.1.5.6 The APIs that are used to monitor whether the control plane
service is listening for requests.
Config 3.1.5.7 The APIs that are used to configure services and resources that
are deployed in the cluster.
113 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
API Section Description
KMS 3.1.5.8 The APIs that are used to configure and view the main encryption
keys.
The URL of the message that invokes the resource is formed by concatenating the following
components:
The remainder of the desired HTTP URL as described in the following sections.
Requests require a Basic authentication header or a JWT authentication token [RFC7519] (see
section 3.1.5.5) to be attached to the request. However, if the control plane is set up by using Active
Directory, an exception for this is the Token API, as described in section 3.1.5.5.1, and which requires
either a Basic authentication header or a negotiation header [RFC4559].
For example, to retrieve the state of a currently deployed cluster, the following request is sent by
using Basic authentication.
adminPassword: The administrator password for the cluster that was defined during control plane
service setup.
k: The parameter that is required because the cluster uses self-signed certificates. For more
information, see section 5.1.
header: The parameter that adds the X-RequestID header to the request.
negotiate: The control plane authenticates the request by using negotiation. An empty username and
password are sent in the request.
A Big Data Cluster API represents a big data cluster resource that is deployed in a Kubernetes
cluster in a Kubernetes namespace of the same name.
The methods of this API are invoked by using the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc
The following methods can be performed during HTTP operations on this resource.
114 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Method Section Description
Cluster
Get Big Data 3.1.5.1.3 Retrieves logs from a big data cluster resource.
Cluster Logs
Get Big Data 3.1.5.1.4 Retrieves the status of a big data cluster resource.
Cluster Status
Get Big Data 3.1.5.1.5 Retrieves the status and configuration of a big data cluster resource.
Cluster Information
Get Service Status 3.1.5.1.6 Retrieves the statuses of all resources in a service in a big data
cluster resource.
Get Service 3.1.5.1.7 Retrieves the status of a resource in a service in a big data cluster
Resource Status resource.
Upgrade Big Data 3.1.5.1.9 Updates the Docker images that are deployed in a big data cluster
Cluster resource.
Get All Big Data 3.1.5.1.10 Retrieves a list of all endpoints exposed by a big data cluster
Cluster Endpoints resource.
Get Big Data 3.1.5.1.11 Retrieves the endpoint information for a specific endpoint in the big
Cluster Endpoint data cluster resource.
The Create Big Data Cluster method creates a big data cluster in the Kubernetes cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc
This method MUST include the version header with the POST operation.
The HTTP response message for the Create Big Data Cluster method can include the following
status codes.
200 The cluster specification was accepted, and creation of the big data cluster has
been initiated.
400 The control plane service failed to parse the cluster specification.
500 An internal error occurred while initiating the create event for the cluster.
115 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
500 The operation failed to store the list of the data pool nodes in metadata storage.
500 The operation failed to store the list of the storage pool nodes in metadata
storage.
The request body is a JSON object that is defined by the Big Data Cluster Spec schema, as specified
in section 2.2.5.1.1. For an example of this request body, see section 4.2.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of this response body, see
section 4.4.
None.
The Delete Big Data Cluster method deletes the big data cluster resource that is deployed in the
cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc
The HTTP response message for the Delete Big Data Cluster method can include the following status
codes.
500 Deletion of the big data cluster resource failed due to an internal error.
None.
116 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.1.3 Get Big Data Cluster Logs
The Get Big Data Cluster Logs method retrieves the logs from the big data cluster resource.
The client is responsible for tracking the offset into the file when a partial log is retrieved. To do so,
the client adds the previous offset value to the length of the log returned. This value represents the
new offset value.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/log?offset=<offsetNumber>
offset: A parameter that allows a partial log to be returned. If the value of offset is 0, the whole log
is returned. If the value of offset is nonzero, the log that is returned starts at the byte located at the
offset value.
The HTTP response message for the Get Big Data Cluster Logs method can include the following
status code.
The response body contains the contents of the log file. The log starts with the offset value and
continues to the end of the log.
None.
The Get Big Data Cluster Status method retrieves the status of all resources in a big data cluster
resource.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/status?all=[<true/false>]
all: If the query parameter is set to "all", additional information is provided about all instances that
exist for each resource in all the services.
The HTTP response message for the Get Big Data Cluster Status method can include the following
status codes.
200 The status of the big data cluster resource was returned successfully.
117 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
500 The operation failed to retrieve the status of the big data cluster resource.
The response body is a JSON object that is defined by the Big Data Cluster Status schema, as
specified in section 2.2.5.1.4. For examples of the response body, see sections 4.3 and 4.5.
None.
Th Get Big Data Cluster Information method retrieves the status and configuration of the big data
cluster resource.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc
The HTTP response message for the Get Big Data Cluster Information method can include the
following status codes.
500 The operation failed to retrieve the information for the currently deployed big
data cluster resource.
The response body is a JSON object that is defined by the Big Data Cluster Information schema, as
specified in section 2.2.5.1.3. For an example of the response body, see section 4.6.
None.
118 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.1.6 Get Service Status
The Get Service Status method retrieves the statuses of all services in a specified service in the big
data cluster resource.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/<serviceName>/status?all=[
<true/false>]
serviceName: The name of the service for which to retrieve the status. The value can be one of the
following:
all: If the query parameter is set to "all", additional information is provided about all instances that
exist for each resource in the specified service.
The HTTP response message for the Get Service Status method can include the following status
codes.
The response body is a JSON object that is defined by the Big Data Cluster Service Status schema,
as specified in section 2.2.5.1.5. For an example of the response body, see section 4.7.
None.
The Get Service Resource Status method retrieves the status of a resource within a specified
service in the big data cluster resource.
119 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/<serviceName>/resource/<re
sourceName>/status?all=[<true/false>]
serviceName: The name of the service for which to retrieve the status. The value can be one of the
following:
resourceName: The name of the resource for which to retrieve the status.
all: If the query parameter is set to "all", additional information is provided about all instances that
exist for each resource in the specified service.
The HTTP response message for the Get Service Resource Status method can include the following
status codes.
The response body is a JSON object that is defined by the Big Data Cluster Service Resource
Status schema, as specified in section 2.2.5.1.6. For an example of the response body, see section
4.8.
None.
The Redirect to Metrics Link method redirects the client to a URL that displays metrics for
components in the big data cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/instances/<instanceName>/status/<li
nkType>/ui
120 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
instanceName: The name of the instance for which to retrieve the URI.
linkType: The type of link to retrieve. The value can be one of the following:
SqlMetrics: Metrics for any SQL instances that are running in the requested instance.
NodeMetrics: Metrics for the node that contains the pod on which the instance is running.
Logs: A link to a dashboard that contains the logs from the requested instance.
The HTTP response message for the Redirect to Metrics Link method can include the following
status codes.
404 The resource that is specified in the request does not exist.
None.
The Upgrade Big Data Cluster method updates the Docker images that are deployed in the big
data cluster resource.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc
This method MUST include the version header with the PATCH operation.
The HTTP response message for the Upgrade Big Data Cluster method can include the following
status codes.
121 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.1.9.1 Request Body
The response body is a JSON object that is defined by the Big Data Cluster Upgrade schema, as
specified in section 2.2.5.1.7. For an example of the request body, see section 4.9.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Get All Big Data Cluster Endpoints method retrieves a list of all endpoints exposed by a big
data cluster resource.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/endpoints
The HTTP response message for the Get All Big Data Cluster Endpoints method can include the
following status codes.
The response body is a JSON object that is defined by the Big Data Cluster Endpoints List schema,
as specified in section 2.2.5.1.8. For an example of the response body, see section 4.10.
None.
The Get Big Data Cluster Endpoint method retrieves the endpoint information for a specific
endpoint in the big data cluster resource.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/endpoints/<endpointName>
122 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
endpointName: The name of the endpoint for which to retrieve information. This value can be one of
the following:
gateway: Gateway to access HDFS [ApacheHadoop] files and Apache Spark [ApacheSpark].
app-proxy: Proxy for running commands against applications deployed in the cluster.
mgmtproxy: Proxy for accessing services which monitor the health of the cluster.
livy: Proxy for running Apache Spark statements, jobs, and applications.
The HTTP response message for the Get Big Data Cluster Endpoint method can include the
following status codes.
The response body is a JSON object that is defined by the Big Data Cluster Endpoint schema, as
specified in section 2.2.5.1.9. For an example of the response body, see section 4.11.
None.
3.1.5.2 Control
The methods of this API are invoked by using the following URI.
123 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
https://<clusterIp>:<controllerPort>/api/<uriVersion>/control
The following methods can be performed by using HTTP operations on this resource.
Get Control Status 3.1.5.2.1 Retrieve the status of the control plane.
Redirect to Metrics 3.1.5.2.3 Redirects the client to a URI that displays metrics for a resource in the
Link control plane.
Get Control 3.1.5.2.4 Retrieves the status of a resource in the control plane.
Resource Status
The Get Control Status method is used to retrieve the statuses of all components in the control
plane.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/control?all=<true>
The HTTP response message for the Get Control Status method can include the following status
codes.
The response body is a JSON object that is defined by the Big Data Cluster Service Status schema,
as specified in section 2.2.5.1.5. For an example of the response body, see section 4.7.
None.
The Upgrade Control method is used to update images currently deployed in the control plane.
124 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
This method is invoked by sending a PATCH operation to the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/control
This method MUST include the version header with the PATCH operation.
The HTTP response message for the Upgrade Control method can include the following status codes.
The response body is a JSON object that is defined by the Big Data Cluster Upgrade schema, as
specified in section 2.2.5.1.7. For an example of the request body, see section 4.9.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Redirect to Metrics Link method redirects the client to a URL that displays metrics for
components in a cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/control/instances/<instanceName>/status
/<linkType>/ui
instanceName: The name of the pod for which to retrieve the URI.
linkType: The type of link to retrieve. The value can be one of the following:
SqlMetrics: Metrics for an SQL instances that are running in the requested instance.
NodeMetrics: Metrics for the node that contains the pod on which the instance is running.
Logs: A link to a dashboard that contains the logs from the requested instance.
The HTTP response message for the Redirect to Metrics Link method can include the following
status codes.
125 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
400 The resource that is specified in the request does not exist.
None.
The Get Control Resource Status method retrieves the status of a resource in the control plane.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/control/resources/<resourceName>/status
?all=[<true/false>]
resourceName: The name of the resource for which to retrieve the status.
all: If the query parameter is set to "all", additional information is provided about all instances that
exist for each resource in the specified service.
The HTTP response message for the Get Control Resource Status method can include the following
status codes.
The response body is a JSON object that is defined by the Big Data Cluster Service Resource
Status schema, as specified in section 2.2.5.1.6. For an example of the response body, section 4.8.
126 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.2.4.3 Processing Details
None.
3.1.5.3 Storage
The Storage API specifies a remote file system that is mounted to a path in the cluster’s local HDFS.
The methods of this API are invoked by using the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/hdfs/mounts
The following methods can be performed by using HTTP operations on this resource.
Get Mount Status 3.1.5.3.1 Retrieve the status of a specified mount in the cluster.
Get All Mount Statuses 3.1.5.3.2 Retrieve the status of all mounts in the cluster.
The Get Mount Status method is used to retrieve the status of one or more HDFS mounts in the
cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/hdfs/mounts/<mountPath>
The HTTP response message for the Get Mount Status method can include the following status
codes.
127 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The response body is a JSON object that is defined by the Storage Response schema, as specified in
section 2.2.5.2.1. For an example of the response body, see section 4.12.
None.
The Get All Mount Statuses method is used to retrieve the statuses of all HDFS mounts in the
cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/hdfs/mounts/
The HTTP response message for the Get All Mount Statuses method can include the following status
code.
The response body is a JSON object that is defined by the Storage Response schema, as specified in
section 2.2.5.2.1. For an example of the response body, see section 4.12.
None.
The Create Mount method creates an HDFS mount within the cluster. The client can use the GET
operation to monitor the creation of the mount.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/hdfs/mounts?remote=<remote
>&mount=<mount>
The HTTP response message for the Create Mount method can include the following status codes.
128 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
500 An internal error occurred while initiating the create event for the specified
mount.
The request body is a request in JSON format in which each element corresponds to an authentication
element that is needed to access the remote file system. The authentication elements that are
required vary from provider to provider.
None.
The Delete Mount method deletes a mounted HDFS mount. The client can use the Get Mount
Status method to monitor the deletion of the mount.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/hdfs/mounts?mount=<mount>
The HTTP response message for the Delete Mount method can include the following status codes.
129 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
If the request is successful, no response body is returned.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Refresh Mount method refreshes a currently mounted mount to update the files and permissions
that are stored in HDFS.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/hdfs/mounts/refresh?mount=
<mount>
The HTTP response message for the Refresh Mount method can include the following status codes.
If the request fails, the response body is as a JSON object that is defined by the Big Data Cluster
Error Response schema, as specified in section 2.2.5.1.2. For an example of a response body, see
section 4.4.
None.
The App Deploy API specifies an R or Python script that can be deployed or is deployed in the
cluster.
The methods of this API are invoked by using the following URI.
130 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
https://<clusterIp>:<controllerPort>/api/<uriVersion>/app
The following methods can be performed by using HTTP operations on this resource.
Get App Versions 3.1.5.4.2 Retrieve the status of all deployed applications.
Get All Apps 3.1.5.4.3 Retrieve the status of one or more deployed applications.
Get App Swagger 3.1.5.4.8 Retrieve a Swagger document that describes the application that
Document is deployed.
The Get App method returns a description of a deployed application with the specified name and
version.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/app/name/<version>
The HTTP response message for the Get App method can include the following status codes.
The response body is a JSON object that is defined by the App Description schema, as specified in
section 2.2.5.3.1. For an example of a response body, see section 4.13.
131 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.4.1.3 Processing Details
None.
The Get App Versions method returns a list of all versions of the named applications that are
deployed in the cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/app/<name>
The HTTP response message for the Get App Versions method can include the following status
codes.
200 A list of all versions of the deployed application was successfully returned.
The response body is an array of app descriptions in a JSON object that is defined by the App
Description schema, as specified in section 2.2.5.3.1. For an example of a response body, see
section 4.13.
None.
The Get All Apps method is used to retrieve a list of the descriptions of all applications that are
deployed in the cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/app
The HTTP response message for the Get All Apps method can include the following status code.
132 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.4.3.1 Request Body
The response body is an array of app descriptions in a JSON object that is defined by the App
Description schema, as specified in section 2.2.5.3.1. For an example of a response body, see
section 4.13.
None.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/app
The HTTP response message for the Create App method can include the following status codes.
201 The application was created successfully, and its status is available by using the
Location header link.
The request body is a ZIP file that is created for use in deploying an application in the big data
cluster. The ZIP file needs to contain a specification file that specifies the runtime for the application
and the big data cluster-supported application that is to be deployed. For an example of a request
body, see section 4.14.
The specification file, that MUST use the filename "spec.yaml", is written in YAML Ain't Markup
Language (YAML) [YAML1.2] and contains the following elements.
Element Description
runtime The language the application uses. The valid options are the following:
R – Specifies to use the R runtime.
Python – Specifies to use the Python runtime.
SSIS – Specifies to use the SQL Server Integration Services (SSIS) runtime.
MLEAP – Specifies to use the MLEAP runtime.
133 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Element Description
entrypoint The function that is called upon execution of the Create App method.
inputs The input parameters for the application that are defined by a mapping between
parameter name and parameter type.
None.
The Update App method is used to update an application that is deployed in the cluster.
The Update App method is invoked by sending a PATCH operation to the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/app
The HTTP response message for the Update App method can include the following status codes.
201 The application was updated. The update status is available by using a GET
operation.
The request body is a ZIP file that is created for use in updating an application in the big data cluster.
For details about the creation of this ZIP file, see section 3.1.5.4.4.1. For an example of a request
body, see section 4.14.
134 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
None.
The Delete App method is used to delete an application that is deployed in the cluster.
This method can be invoked by sending a DELETE operation to the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/app/<name>/<version>
The HTTP response message for Delete App method can include the following status codes.
202 The request was accepted, and the application will be deleted.
None.
The Run App method is used to send a request to an application that is deployed in the cluster.
This method can be invoked by sending a POST operation to the following URI.
https://<clusterIp>:<appProxyPort>/api/<uriVersion>/app/<name>/<version>/run
appProxyPort: The port that is defined by the user during control plane creation and exposed on the
cluster for the appproxy resource.
The HTTP response message for Run App method can include the following status codes.
202 The request is accepted, and the application will be run with the passed-in
135 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
parameters.
The request MUST use Bearer authentication. This is done by including an Authorization HTTP
header that contains a Bearer token. The header looks like the following.
token: The token string that is returned when a token is retrieved. For further details, see section
3.1.5.5.1.
The request body is a JSON object that is defined by the App Run Result schema, as specified in
section 2.2.5.3.2.
The elements in this JSON object match the names and types that are defined for the
input_param_defs element in section 2.2.5.3.1.2.
The response body is a JSON object that is defined by the App Run Result schema, as specified in
section 2.2.5.3.2. For an example of a response body, see section 4.16.
None.
The Get App Swagger Document method is used to retrieve a Swagger [Swagger2.0] document
that can be passed into a Swagger editor to describe the application that is deployed in the cluster.
This method can be invoked by sending a GET operation to the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/app/<name>/<version>/swagger.json
The HTTP response message for the Get App Swagger Document method can include the following
status codes.
202 The request is accepted, and the application's Swagger document is returned in
136 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
the response.
The response body is a JSON file that conforms to the Swagger 2.0 specification [Swagger2.0].
None.
3.1.5.5 Token
The Token API is a JWT [RFC7519] token that can be used as a form of authentication to use an
application.
The methods of this API are invoked by using the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/token
The following methods can be performed by using HTTP operations on this resource.
This method can be invoked by sending a POST operation to the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/token
In addition to a Basic authentication header, this method can be accessed by using a negotiation
[RFC4559] header.
The HTTP response message for the Create Token method can include the following status codes.
137 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.5.1.1 Request Body
The response is a JSON object that is defined by the Token Response schema, as specified in section
2.2.5.4.1. For an example of a response body, see section 4.17.
None.
The Home Page API is used to determine whether the control plane service is listening for
requests.
The methods of this API are invoked by sending a GET operation to the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/
The following methods can be performed by using HTTP operations on this resource.
The Get Home Page method is used to retrieve the home page of the controller. This API can be
used to check whether the control plane service is running.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/
The HTTP response message for the Get Home Page method can include the following status code.
138 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The request body is empty.
None.
The Ping Controller method is used to determine whether the control plane REST API is responsive.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/
The HTTP response message for the Ping Controller method can include the following status code.
The response body is a JSON object that is defined by the Ping Response schema, as specified in
section 2.2.5.5.1. For an example of a response body, see section 4.18.
None.
3.1.5.6.3 Info
The Info method is used to retrieve information about the currently deployed cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/info
The HTTP response message for the Info method can include the following status code.
139 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.6.3.1 Request Body
The response body is a JSON object that is defined by the Info Response schema, as specified in
section 2.2.5.5.2. For an example of a response body, see section 4.19.
None.
3.1.5.7 Config
The Config API SHOULD<36> be used to configure the resources and services that are deployed in a
big data cluster.
The methods of this API are invoked by using the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/config
The following methods can be performed by using HTTP operations on this resource.
140 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
3.1.5.7.1 Apply Configuration Settings
The Apply Configuration Settings method SHOULD<37> be used to initiate the application of new
or pending configuration settings in a big data cluster or to abort a failed application of configuration
settings in a big data cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/config
The HTTP response message for the Apply Configuration Settings method can include the following
status codes.
400 The control plane MUST be upgraded before the configuration for the big data
cluster can be upgraded.
The request body is a JSON object that is defined by the Apply Settings Request schema, as
specified in section 2.2.5.6.1. For an example of this request body, see section 4.20.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Revert Pending Configuration Settings method SHOULD<38> be used to clear out all pending
configuration settings in a big data cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/config/revert
141 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The HTTP response message for the Revert Pending Configuration Settings method can include
the following status codes.
404 The specified big data cluster resource does not exist.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Set Cluster Configuration Settings method SHOULD<39> be used to set pending cluster-level
settings.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/config
The HTTP response message for the Set Cluster Configuration Settings method can include the
following status codes.
400 An upgrade is already in progress. The big data cluster MUST be upgraded or
rolled back before configuring new settings.
142 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
The request body is a JSON object that is defined by the Set Settings Request schema, as specified
in section 2.2.5.6.2. For an example of this request body, see section 4.21.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Get Cluster Configuration Settings method SHOULD<40> be used to retrieve cluster-level
settings.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/config?filterOption=<filterOption>&
recursive=<false>&includeDetails=<includeDetails>&settings=<settings>
filterOption: A parameter that allows the user to specify a subset of settings to be returned. The
possible values are as follows:
All: All user-configurable and system-managed settings are returned. If no option is specified, the
system defaults to "All".
Configurable: All settings that can be configured by the user are returned.
settings: An optional parameter that can specify a list of pattern property strings that are used to
restrict the number of settings to be returned.
recursive: A parameter that allows for the scope of all settings to be returned. When set to true, the
API returns cluster-, service-, and resource-scoped settings.
includeDetails: A parameter that specifies whether to return additional details for each setting.
The HTTP response message for the Get Cluster Configuration Settings method can include the
following status codes.
143 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
400 The filterOption parameter value that was provided was invalid.
The response is a JSON object that is defined by the Get Cluster Settings schema, as specified in
section 2.2.5.6.3. For an example of this response body, see section 4.22.
None.
The Set Service Configuration Settings method SHOULD<41> be used to set service scoped
settings in a big data cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/<serviceName>/config
The HTTP response message for the Set Service Configuration Settings method can include the
following status codes.
400 An upgrade is already in progress. The big data cluster must be upgraded or
rolled back before configuring new settings.
144 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
The request body is a JSON object that is defined by the Apply Settings Request schema, as
specified in section 2.2.5.6.1. For an example of this request body, see section 4.20.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Get Service Configuration Settings method SHOULD<42> be used to retrieve service-scoped
configuration settings in a big data cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/<serviceName>/config?filte
rOption=<filterOption>&recursive=<false>&includeDetails=<includeDetails>&settings=<settings>
filterOption: A parameter that allows the user to specify a subset of settings to be returned. The
following are the possible values:
All: All user-configurable and system-managed settings are returned. If no option is specified, the
system defaults to "All".
Configurable: All settings that can be configured by the user are returned.
UserConfigured: All settings that have been configured by the user are returned.
recursive: A Boolean parameter that allows for the scope of all settings to be returned. When set to
true, the API returns service- and resource-scoped settings.
settings: A parameter that specifies a list of pattern property strings that can be used to restrict the
number of settings returned.
includeDetails: A parameter that specifies whether to return additional details for each setting.
145 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The HTTP response message for the Get Service Configuration Settings method can include the
following status codes.
The response is a JSON object that is defined by the Get Service Configuration Response Settings
schema, as specified in section 2.2.5.6.4. For an example of a response body, see section 4.23.
None.
The Set Resource Configuration Settings method SHOULD<43> be used to apply all pending
configuration settings in a big data cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/<serviceName>/resources/<r
esourceName>/config
resourceName: The parameter that specifies which resource the service belongs to.
serviceName: The parameter that specifies which resource to retrieve settings for.
The HTTP response message for the Set Resource Configuration Settings method can include the
following status codes.
400 The control plane MUST be upgraded before the configuration for the big data
cluster can be upgraded.
146 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
The request body is a JSON object that is defined by the Apply Settings Request schema, as
specified in section 2.2.5.6.1. For an example of this request body, see section 4.20.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Get Resource Configuration Settings method SHOULD<44> be used to retrieve resource
scoped configuration settings in a big data cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/services/<serviceName>/resources/<r
esourceName>/config?filterOption=<filterOption>&recursive=<false>&includeDetails=<includeDeta
ils>&settings=<settings>
filterOption: A parameter that allows the user to specify a subset of settings to be returned. The
following are the possible values:
All: All user configurable and system managed settings are returned. If no option is specified, the
system defaults to "All".
Configurable: All settings that can be configured by the user are returned.
UserConfigured: All settings that have been configured by the user are returned.
recursive: A parameter that allows for the scopes of all settings to be returned. If set to true, the API
returns resource-scoped settings.
settings: A parameter that can specify a list of pattern property strings that can be used to restrict
the number of settings returned.
includeDetails: A parameter that specifies whether to return additional details for each setting.
147 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
The HTTP response message for the Get Resource Configuration Settings method can include the
following status codes.
500 An internal error occurred while retrieving the resource configuration settings.
The response is a JSON object that is defined by the Get Resource Settings schema, as specified in
section 2.2.5.6.5. For an example of this response body, see section 4.24.
None.
3.1.5.8 KMS
The KMS API SHOULD<45> be used to configure and view the main encryption keys for encrypting
data at rest in a big data cluster.
The methods of this API are invoked by using the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/kms/config
The following methods can be performed by using HTTP operations on this resource.
Update KMS 3.1.5.8.1 Update the KMS main encryption keys in the cluster.
configuration
Show KMS 3.1.5.8.2 Show the configuration for the KMS main encryption keys.
configuration
The Update KMS Configuration method SHOULD<46> be used to initiate creation or configuration
of a new encryption key in the cluster.
148 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
This method is invoked by sending a POST operation to the following URI.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/kms/config
The HTTP response message for the Update KMS Configuration method can include the following
status codes.
The request body is a JSON object that is defined by the Update KMS Configuration Request
schema, as specified in section 2.2.5.7.1. For an example of this request body, see section 4.25.
If the request is successful, a JSON response is returned as specified in the Show KMS
Configuration Response schema in section 2.2.5.7.2. For an example of the response body, see
section 4.26.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
The Show KMS Configuration method SHOULD<47> be used to view the configuration settings of
the existing encryption keys in the cluster.
https://<clusterIp>:<controllerPort>/api/<uriVersion>/bdc/kms/config
The HTTP response message for the Show KMS Configuration method can include the following
status codes.
149 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
HTTP status code Description
If the request is successful, a JSON response object is returned that is specified by the Show KMS
Configuration Response schema in section 2.2.5.7.2. For an example of the response body, see
section 4.26.
If the request fails, the response body is a JSON object that is defined by the Big Data Cluster Error
Response schema, as specified in section 2.2.5.1.2. For an example of the response body, see
section 4.4.
None.
None.
None.
The client role of this protocol is simply a pass-through and requires no additional timers or other
state. Calls made by the higher-layer protocol or application are passed directly to the transport, and
the results returned by the transport are passed directly back to the higher-layer protocol or
application.
150 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
4 Protocol Examples
For ease of implementation, the following sections provide usage examples of some of the API
methods defined in this protocol.
Example Section
Receive the State and Configuration of the Big Data Cluster 4.6
Receive a List of Information About All the Exposed Big Data Cluster Endpoints 4.10
151 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
4.1 Check the Control Plane Status
The client sees whether the control plane is ready to accept creation of a big data cluster by sending
the following request. If the control plane is ready, the GET operation returns a message with a status
of 200. The following is an example of a request that is sent by the Get Control Status method, as
defined in section 3.1.5.2.1.
Request
Curl Request:
Response
Successful Response: This is an example of a response that is returned when the big data cluster
is ready.
Response Body:
{
"serviceName": "control",
"state": "READY",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "controldb",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet controldb is healthy",
"instances": null
},
{
"resourceName": "control",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet control is healthy",
"instances": null
},
{
"resourceName": "metricsdc",
"state": "ready",
"healthStatus": "healthy",
"details": "DaemonSet metricsdc is healthy",
"instances": null
},
{
"resourceName": "metricsui",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet metricsui is healthy",
"instances": null
},
{
"resourceName": "metricsdb",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet metricsdb is healthy",
"instances": null
},
152 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
{
"resourceName": "logsui",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet logsui is healthy",
"instances": null
},
{
"resourceName": "logsdb",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet logsdb is healthy",
"instances": null
},
{
"resourceName": "mgmtproxy",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet mgmtproxy is healthy",
"instances": null
},
{
"resourceName": "controlwd",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet controlwd is healthy",
"instances": null
}
]
}
If the GET operation returns a message with a 200 status, the client can proceed to create a big data
cluster by sending a request that uses the following sample configuration for a cluster named "mssql-
cluster". The following is an example of a request body that is sent by the Create Big Data Cluster
method, as defined in section 3.1.5.1.1.
Request
Curl Request:
Request Body:
{
"apiVersion": "v1",
"metadata": {
"kind": "Cluster",
"name": "mssql-cluster"
},
"spec": {
"resources": {
"nmnode-0": {
"spec": {
"replicas": 1
}
},
"sparkhead": {
"spec": {
"replicas": 1
153 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
},
"zookeeper": {
"spec": {
"replicas": 0
}
},
"gateway": {
"spec": {
"replicas": 1,
"endpoints": [
{
"name": "Knox",
"dnsName": "",
"serviceType": "NodePort",
"port": 30443
}
]
}
},
"appproxy": {
"spec": {
"replicas": 1,
"endpoints": [
{
"name": "AppServiceProxy",
"dnsName": "",
"serviceType": "NodePort",
"port": 30778
}
]
}
},
"master": {
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Master",
"replicas": 3,
"endpoints": [
{
"name": "Master",
"dnsName": "",
"serviceType": "NodePort",
"port": 31433
},
{
"name": "MasterSecondary",
"dnsName": "",
"serviceType": "NodePort",
"port": 31436
}
],
"settings": {
"sql": {
"hadr.enabled": "true"
}
}
}
},
"compute-0": {
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Compute",
154 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"replicas": 1
}
},
"data-0": {
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Data",
"replicas": 2
}
},
"storage-0": {
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Storage",
"replicas": 2,
"settings": {
"spark": {
"includeSpark": "true"
},
"sql": {},
"hdfs": {}
}
}
}
},
"services": {
"sql": {
"resources": [
"master",
"compute-0",
"data-0",
"storage-0"
]
},
"hdfs": {
"resources": [
"nmnode-0",
"zookeeper",
"storage-0",
"sparkhead"
],
"settings": {
}
},
"spark": {
"resources": [
"sparkhead",
"storage-0"
],
"settings": {
}
}
}
}
}
Response
Successful Response: This is an example of a response that is returned when the big data cluster
is ready.
155 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Status code: 200
Failed Response: This is an example of a response that is returned when the big data cluster is
invalid.
Response Body:
{
"code": 400,
"reason": "INVALID JSON",
"data": "The control plane service failed to parse the cluster
specification."
}
The user can check the status of the creation of the big data cluster by sending the following request.
After the status response is returned as "ready", the client can begin to use the big data cluster. The
following is an example of a response body that is returned for the Get Big Data Cluster Status
method, as defined in section 3.1.5.1.4.
Request
Curl Request:
Response
Successful Response: This is an example of a response that is returned when the big data cluster
is ready.
Response Body:
{
"bdcName": "mssql-cluster",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"services": [
{
"serviceName": "sql",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "master",
"state": "ready",
"healthStatus": "healthy",
156 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"details": "StatefulSet master is healthy",
"instances": null
},
{
"resourceName": "compute-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet compute-0 is healthy",
"instances": null
},
{
"resourceName": "data-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet data-0 is healthy",
"instances": null
},
{
"resourceName": "storage-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet storage-0 is healthy",
"instances": null
}
]
},
{
"serviceName": "hdfs",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "nmnode-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet nmnode-0 is healthy",
"instances": null
},
{
"resourceName": "zookeeper",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet zookeeper is healthy",
"instances": null
},
{
"resourceName": "storage-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet storage-0 is healthy",
"instances": null
},
{
"resourceName": "sparkhead",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet sparkhead is healthy",
"instances": null
}
]
},
{
"serviceName": "spark",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
157 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"resourceName": "sparkhead",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet sparkhead is healthy",
"instances": null
},
{
"resourceName": "storage-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet storage-0 is healthy",
"instances": null
}
]
},
{
"serviceName": "control",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "controldb",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet controldb is healthy",
"instances": null
},
{
"resourceName": "control",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet control is healthy",
"instances": null
},
{
"resourceName": "metricsdc",
"state": "ready",
"healthStatus": "healthy",
"details": "DaemonSet metricsdc is healthy",
"instances": null
},
{
"resourceName": "metricsui",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet metricsui is healthy",
"instances": null
},
{
"resourceName": "metricsdb",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet metricsdb is healthy",
"instances": null
},
{
"resourceName": "logsui",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet logsui is healthy",
"instances": null
},
{
"resourceName": "logsdb",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet logsdb is healthy",
"instances": null
158 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
{
"resourceName": "mgmtproxy",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet mgmtproxy is healthy",
"instances": null
}
]
},
{
"serviceName": "gateway",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "gateway",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet gateway is healthy",
"instances": null
}
]
},
{
"serviceName": "app",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "appproxy",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet appproxy is healthy",
"instances": null
}
]
}
]
}
The following is an example of a response body that is returned for a failed request that uses the
Create Big Data Cluster method, as defined in section 3.1.5.1.1.
{
"code": 400,
"reason": "INVALID JSON",
"data": "The control plane service failed to parse the cluster specification."
}
The following is an example of a response body that is returned for the Get Big Data Cluster Status
method, as defined in section 3.1.5.1.4.
{
"bdcName": "bdc",
"state": "ready",
"healthStatus": "healthy",
159 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"details": null,
"services": [
{
"serviceName": "sql",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "master",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet master is healthy",
"instances": null
},
{
"resourceName": "compute-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet compute-0 is healthy",
"instances": null
},
{
"resourceName": "data-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet data-0 is healthy",
"instances": null
},
{
"resourceName": "storage-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet storage-0 is healthy",
"instances": null
}
]
},
{
"serviceName": "hdfs",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "nmnode-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet nmnode-0 is healthy",
"instances": null
},
{
"resourceName": "zookeeper",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet zookeeper is healthy",
"instances": null
},
{
"resourceName": "storage-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet storage-0 is healthy",
"instances": null
}
]
},
{
"serviceName": "spark",
160 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "sparkhead",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet sparkhead is healthy",
"instances": null
},
{
"resourceName": "storage-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet storage-0 is healthy",
"instances": null
}
]
},
{
"serviceName": "control",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "controldb",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"instances": null
},
{
"resourceName": "control",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"instances": null
},
{
"resourceName": "metricsdc",
"state": "ready",
"healthStatus": "healthy",
"details": "DaemonSet metricsdc is healthy",
"instances": null
},
{
"resourceName": "metricsui",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet metricsui is healthy",
"instances": null
},
{
"resourceName": "metricsdb",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet metricsdb is healthy",
"instances": null
},
{
"resourceName": "logsui",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet logsui is healthy",
"instances": null
},
{
161 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"resourceName": "logsdb",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet logsdb is healthy",
"instances": null
},
{
"resourceName": "mgmtproxy",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet mgmtproxy is healthy",
"instances": null
}
]
},
{
"serviceName": "gateway",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "gateway",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet gateway is healthy",
"instances": null
}
]
},
{
"serviceName": "app",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "appproxy",
"state": "ready",
"healthStatus": "healthy",
"details": "ReplicaSet appproxy is healthy",
"instances": null
}
]
}
]
}
4.6 Receive the State and Configuration of the Big Data Cluster
The following is an example of a response body that is returned for the Get Big Data Cluster
Information method, as defined in section 3.1.5.1.5.
The value of the following spec element is escaped by the server before it is sent to the client. The
spec value is then unescaped by the client to create a valid JSON document.
{
"state": "Ready",
"spec": "{
"apiVersion": "v1",
"metadata": {
"kind": "BigDataCluster",
"name": "mssql-cluster"
},
"spec": {
162 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"resources": {
"gateway": {
"clusterName": "mssql-cluster",
"spec": {
"replicas": 1,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "10Gi"
}
},
"endpoints": [
{
"name": "Knox",
"serviceType": "NodePort",
"port": 30443,
"dynamicDnsUpdate": true
}
],
"settings": {
"gateway": {
"gateway-site.gateway.httpclient.socketTimeout": "90s",
"gateway-site.sun.security.krb5.debug": "true"
}
}
}
},
"appproxy": {
"clusterName": "mssql-cluster",
"spec": {
"replicas": 1,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "10Gi"
}
},
"endpoints": [
{
"name": "AppServiceProxy",
"serviceType": "NodePort",
"port": 30778,
"dynamicDnsUpdate": true
}
],
163 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"settings": {}
}
},
"storage-0": {
"clusterName": "mssql-cluster",
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Storage",
"replicas": 2,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "10Gi"
}
},
"settings": {
"spark": {
"includeSpark": "true",
"yarn-site.yarn.nodemanager.resource.memory-mb": "18432",
"yarn-site.yarn.scheduler.maximum-allocation-vcores": "6",
"yarn-site.yarn.scheduler.maximum-allocation-mb": "18432",
"spark-defaults-conf.spark.executor.instances": "3",
"yarn-site.yarn.nodemanager.resource.cpu-vcores": "6",
"spark-defaults-conf.spark.executor.cores": "1",
"spark-defaults-conf.spark.driver.memory": "2g",
"spark-defaults-conf.spark.driver.cores": "1",
"yarn-site.yarn.scheduler.capacity.maximum-am-resource-percent":
"0.3",
"spark-defaults-conf.spark.executor.memory": "1536m",
"capacity-scheduler.yarn.scheduler.capacity.maximum-applications":
"10000",
"capacity-scheduler.yarn.scheduler.capacity.resource-calculator":
"org.apache.hadoop.yarn.util.resource.DominantResourceCalculator",
"capacity-scheduler.yarn.scheduler.capacity.root.queues": "default",
"capacity-scheduler.yarn.scheduler.capacity.root.default.capacity":
"100",
"capacity-scheduler.yarn.scheduler.capacity.root.default.user-limit-
factor": "1",
"capacity-scheduler.yarn.scheduler.capacity.root.default.maximum-
capacity": "100",
"capacity-scheduler.yarn.scheduler.capacity.root.default.state":
"RUNNING",
"capacity-scheduler.yarn.scheduler.capacity.root.default.maximum-
application-lifetime": "-1",
"capacity-scheduler.yarn.scheduler.capacity.root.default.default-
application-lifetime": "-1",
"capacity-scheduler.yarn.scheduler.capacity.node-locality-delay":
"40",
"capacity-scheduler.yarn.scheduler.capacity.rack-locality-additional-
delay": "-1",
"hadoop-env.HADOOP_HEAPSIZE_MAX": "2048",
"yarn-env.YARN_RESOURCEMANAGER_HEAPSIZE": "2048",
"yarn-env.YARN_NODEMANAGER_HEAPSIZE": "2048",
"mapred-env.HADOOP_JOB_HISTORYSERVER_HEAPSIZE": "2048",
164 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"hive-env.HADOOP_HEAPSIZE": "2048",
"livy-conf.livy.server.session.timeout-check": "true",
"livy-conf.livy.server.session.timeout-check.skip-busy": "true",
"livy-conf.livy.server.session.timeout": "2h",
"livy-conf.livy.server.yarn.poll-interval": "500ms",
"livy-env.LIVY_SERVER_JAVA_OPTS": "-Xmx2g",
"spark-defaults-conf.spark.r.backendConnectionTimeout": "86400",
"spark-history-server-conf.spark.history.fs.cleaner.maxAge": "7d",
"spark-history-server-conf.spark.history.fs.cleaner.interval": "12h",
"spark-env.SPARK_DAEMON_MEMORY": "2g",
"yarn-site.yarn.log-aggregation.retain-seconds": "604800",
"yarn-site.yarn.nodemanager.log-aggregation.compression-type": "gz",
"yarn-site.yarn.nodemanager.log-aggregation.roll-monitoring-interval-
seconds": "3600",
"yarn-site.yarn.scheduler.minimum-allocation-mb": "512",
"yarn-site.yarn.scheduler.minimum-allocation-vcores": "1",
"yarn-site.yarn.nm.liveness-monitor.expiry-interval-ms": "180000"
},
"sql": {},
"hdfs": {
"hdfs-site.dfs.replication": "2",
"hdfs-site.dfs.ls.limit": "500",
"hdfs-env.HDFS_NAMENODE_OPTS": "-Dhadoop.security.logger=INFO,RFAS -
Xmx2g",
"hdfs-env.HDFS_DATANODE_OPTS": "-Dhadoop.security.logger=ERROR,RFAS -
Xmx2g",
"hdfs-env.HDFS_AUDIT_LOGGER": "INFO,RFAAUDIT",
"core-
site.hadoop.security.group.mapping.ldap.search.group.hierarchy.levels": "10",
"core-site.fs.permissions.umask-mode": "077",
"core-site.hadoop.security.kms.client.failover.max.retries": "20",
"kms-site.hadoop.security.kms.encrypted.key.cache.size": "500",
"zoo-cfg.tickTime": "2000",
"zoo-cfg.initLimit": "10",
"zoo-cfg.syncLimit": "5",
"zoo-cfg.maxClientCnxns": "60",
"zoo-cfg.minSessionTimeout": "4000",
"zoo-cfg.maxSessionTimeout": "40000",
"zoo-cfg.autopurge.snapRetainCount": "3",
"zoo-cfg.autopurge.purgeInterval": "0",
"zookeeper-java-env.JVMFLAGS": "-Xmx1G -Xms1G",
"zookeeper-log4j-properties.zookeeper.console.threshold": "INFO"
}
}
}
},
"sparkhead": {
"clusterName": "mssql-cluster",
"spec": {
"replicas": 2,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "10Gi"
}
},
"settings": {
165 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"hdfs": {
"hdfs-site.dfs.replication": "2",
"hdfs-site.dfs.ls.limit": "500",
"hdfs-env.HDFS_NAMENODE_OPTS": "-Dhadoop.security.logger=INFO,RFAS -
Xmx2g",
"hdfs-env.HDFS_DATANODE_OPTS": "-Dhadoop.security.logger=ERROR,RFAS -
Xmx2g",
"hdfs-env.HDFS_AUDIT_LOGGER": "INFO,RFAAUDIT",
"core-
site.hadoop.security.group.mapping.ldap.search.group.hierarchy.levels": "10",
"core-site.fs.permissions.umask-mode": "077",
"core-site.hadoop.security.kms.client.failover.max.retries": "20",
"kms-site.hadoop.security.kms.encrypted.key.cache.size": "500",
"zoo-cfg.tickTime": "2000",
"zoo-cfg.initLimit": "10",
"zoo-cfg.syncLimit": "5",
"zoo-cfg.maxClientCnxns": "60",
"zoo-cfg.minSessionTimeout": "4000",
"zoo-cfg.maxSessionTimeout": "40000",
"zoo-cfg.autopurge.snapRetainCount": "3",
"zoo-cfg.autopurge.purgeInterval": "0",
"zookeeper-java-env.JVMFLAGS": "-Xmx1G -Xms1G",
"zookeeper-log4j-properties.zookeeper.console.threshold": "INFO"
},
"spark": {
"yarn-site.yarn.nodemanager.resource.memory-mb": "18432",
"yarn-site.yarn.scheduler.maximum-allocation-vcores": "6",
"yarn-site.yarn.scheduler.maximum-allocation-mb": "18432",
"spark-defaults-conf.spark.executor.instances": "3",
"yarn-site.yarn.nodemanager.resource.cpu-vcores": "6",
"spark-defaults-conf.spark.executor.cores": "1",
"spark-defaults-conf.spark.driver.memory": "2g",
"spark-defaults-conf.spark.driver.cores": "1",
"yarn-site.yarn.scheduler.capacity.maximum-am-resource-percent":
"0.3",
"spark-defaults-conf.spark.executor.memory": "1536m",
"capacity-scheduler.yarn.scheduler.capacity.maximum-applications":
"10000",
"capacity-scheduler.yarn.scheduler.capacity.resource-calculator":
"org.apache.hadoop.yarn.util.resource.DominantResourceCalculator",
"capacity-scheduler.yarn.scheduler.capacity.root.queues": "default",
"capacity-scheduler.yarn.scheduler.capacity.root.default.capacity":
"100",
"capacity-scheduler.yarn.scheduler.capacity.root.default.user-limit-
factor": "1",
"capacity-scheduler.yarn.scheduler.capacity.root.default.maximum-
capacity": "100",
"capacity-scheduler.yarn.scheduler.capacity.root.default.state":
"RUNNING",
"capacity-scheduler.yarn.scheduler.capacity.root.default.maximum-
application-lifetime": "-1",
"capacity-scheduler.yarn.scheduler.capacity.root.default.default-
application-lifetime": "-1",
"capacity-scheduler.yarn.scheduler.capacity.node-locality-delay":
"40",
"capacity-scheduler.yarn.scheduler.capacity.rack-locality-additional-
delay": "-1",
"hadoop-env.HADOOP_HEAPSIZE_MAX": "2048",
"yarn-env.YARN_RESOURCEMANAGER_HEAPSIZE": "2048",
"yarn-env.YARN_NODEMANAGER_HEAPSIZE": "2048",
"mapred-env.HADOOP_JOB_HISTORYSERVER_HEAPSIZE": "2048",
"hive-env.HADOOP_HEAPSIZE": "2048",
"livy-conf.livy.server.session.timeout-check": "true",
"livy-conf.livy.server.session.timeout-check.skip-busy": "true",
"livy-conf.livy.server.session.timeout": "2h",
"livy-conf.livy.server.yarn.poll-interval": "500ms",
"livy-env.LIVY_SERVER_JAVA_OPTS": "-Xmx2g",
"spark-defaults-conf.spark.r.backendConnectionTimeout": "86400",
"spark-history-server-conf.spark.history.fs.cleaner.maxAge": "7d",
166 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"spark-history-server-conf.spark.history.fs.cleaner.interval": "12h",
"spark-env.SPARK_DAEMON_MEMORY": "2g",
"yarn-site.yarn.log-aggregation.retain-seconds": "604800",
"yarn-site.yarn.nodemanager.log-aggregation.compression-type": "gz",
"yarn-site.yarn.nodemanager.log-aggregation.roll-monitoring-interval-
seconds": "3600",
"yarn-site.yarn.scheduler.minimum-allocation-mb": "512",
"yarn-site.yarn.scheduler.minimum-allocation-vcores": "1",
"yarn-site.yarn.nm.liveness-monitor.expiry-interval-ms": "180000"
}
}
}
},
"data-0": {
"clusterName": "mssql-cluster",
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Data",
"replicas": 2,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "10Gi"
}
},
"settings": {
"sql": {}
}
}
},
"compute-0": {
"clusterName": "mssql-cluster",
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Compute",
"replicas": 1,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
167 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"size": "10Gi"
}
},
"settings": {
"sql": {}
}
}
},
"master": {
"clusterName": "mssql-cluster",
"metadata": {
"kind": "Pool",
"name": "default"
},
"spec": {
"type": "Master",
"replicas": 1,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "10Gi"
}
},
"endpoints": [
{
"name": "Master",
"serviceType": "NodePort",
"port": 31433,
"dynamicDnsUpdate": true
}
],
"settings": {
"sql": {
"hadr.enabled": "false"
}
}
}
},
"nmnode-0": {
"clusterName": "mssql-cluster",
"spec": {
"replicas": 2,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
168 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"size": "10Gi"
}
},
"settings": {
"hdfs": {
"hdfs-site.dfs.replication": "2",
"hdfs-site.dfs.ls.limit": "500",
"hdfs-env.HDFS_NAMENODE_OPTS": "-Dhadoop.security.logger=INFO,RFAS -
Xmx2g",
"hdfs-env.HDFS_DATANODE_OPTS": "-Dhadoop.security.logger=ERROR,RFAS -
Xmx2g",
"hdfs-env.HDFS_AUDIT_LOGGER": "INFO,RFAAUDIT",
"core-
site.hadoop.security.group.mapping.ldap.search.group.hierarchy.levels": "10",
"core-site.fs.permissions.umask-mode": "077",
"core-site.hadoop.security.kms.client.failover.max.retries": "20",
"kms-site.hadoop.security.kms.encrypted.key.cache.size": "500",
"zoo-cfg.tickTime": "2000",
"zoo-cfg.initLimit": "10",
"zoo-cfg.syncLimit": "5",
"zoo-cfg.maxClientCnxns": "60",
"zoo-cfg.minSessionTimeout": "4000",
"zoo-cfg.maxSessionTimeout": "40000",
"zoo-cfg.autopurge.snapRetainCount": "3",
"zoo-cfg.autopurge.purgeInterval": "0",
"zookeeper-java-env.JVMFLAGS": "-Xmx1G -Xms1G",
"zookeeper-log4j-properties.zookeeper.console.threshold": "INFO"
}
}
}
},
"zookeeper": {
"clusterName": "mssql-cluster",
"spec": {
"replicas": 3,
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "10Gi"
}
},
"settings": {
"hdfs": {
"hdfs-site.dfs.replication": "2",
"hdfs-site.dfs.ls.limit": "500",
"hdfs-env.HDFS_NAMENODE_OPTS": "-Dhadoop.security.logger=INFO,RFAS -
Xmx2g",
"hdfs-env.HDFS_DATANODE_OPTS": "-Dhadoop.security.logger=ERROR,RFAS -
Xmx2g",
"hdfs-env.HDFS_AUDIT_LOGGER": "INFO,RFAAUDIT",
"core-
site.hadoop.security.group.mapping.ldap.search.group.hierarchy.levels": "10",
"core-site.fs.permissions.umask-mode": "077",
"core-site.hadoop.security.kms.client.failover.max.retries": "20",
"kms-site.hadoop.security.kms.encrypted.key.cache.size": "500",
"zoo-cfg.tickTime": "2000",
"zoo-cfg.initLimit": "10",
169 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"zoo-cfg.syncLimit": "5",
"zoo-cfg.maxClientCnxns": "60",
"zoo-cfg.minSessionTimeout": "4000",
"zoo-cfg.maxSessionTimeout": "40000",
"zoo-cfg.autopurge.snapRetainCount": "3",
"zoo-cfg.autopurge.purgeInterval": "0",
"zookeeper-java-env.JVMFLAGS": "-Xmx1G -Xms1G",
"zookeeper-log4j-properties.zookeeper.console.threshold": "INFO"
}
}
}
}
},
"services": {
"sql": {
"resources": [
"master",
"compute-0",
"data-0",
"storage-0"
],
"settings": {}
},
"hdfs": {
"resources": [
"nmnode-0",
"zookeeper",
"storage-0",
"sparkhead"
],
"settings": {}
},
"spark": {
"resources": [
"sparkhead",
"storage-0"
],
"settings": {
"yarn-site.yarn.nodemanager.resource.memory-mb": "18432",
"yarn-site.yarn.scheduler.maximum-allocation-vcores": "6",
"yarn-site.yarn.scheduler.maximum-allocation-mb": "18432",
"spark-defaults-conf.spark.executor.instances": "3",
"yarn-site.yarn.nodemanager.resource.cpu-vcores": "6",
"spark-defaults-conf.spark.executor.cores": "1",
"spark-defaults-conf.spark.driver.memory": "2g",
"spark-defaults-conf.spark.driver.cores": "1",
"yarn-site.yarn.scheduler.capacity.maximum-am-resource-percent": "0.3",
"spark-defaults-conf.spark.executor.memory": "1536m"
}
}
},
"docker": {
"registry": "mcr.contoso.com",
"repository": "mssql/bdc",
"imageTag": "latest",
"imagePullPolicy": "Always"
},
"storage": {
"data": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "15Gi"
},
"logs": {
"className": "local-storage",
"accessMode": "ReadWriteOnce",
"size": "10Gi"
}
}
170 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
}"
}
The following is an example of a response body that is sent by the Get Service Status method, as
defined in section 3.1.5.1.6.
{
"serviceName": "sql",
"state": "ready",
"healthStatus": "healthy",
"details": null,
"resources": [
{
"resourceName": "master",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet master is healthy",
"instances": [
{
"instanceName": "master-0",
"state": "running",
"healthStatus": "healthy",
"details": "Pod master-0 is healthy",
"dashboards": {
"nodeMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/master-
0/status/nodemetrics/ui",
"sqlMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/master-
0/status/sqlmetrics/ui",
"logsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/master-0/status/logs/ui"
}
}
]
},
{
"resourceName": "compute-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet compute-0 is healthy",
"instances": [
{
"instanceName": "compute-0-0",
"state": "running",
"healthStatus": "healthy",
"details": "Pod compute-0-0 is healthy",
"dashboards": {
"nodeMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/compute-0-
0/status/nodemetrics/ui",
"sqlMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/compute-0-
0/status/sqlmetrics/ui",
"logsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/compute-0-
0/status/logs/ui"
}
}
]
},
{
"resourceName": "data-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet data-0 is healthy",
"instances": [
{
"instanceName": "data-0-0",
171 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"state": "running",
"healthStatus": "healthy",
"details": "Pod data-0-0 is healthy",
"dashboards": {
"nodeMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/data-0-
0/status/nodemetrics/ui",
"sqlMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/data-0-
0/status/sqlmetrics/ui",
"logsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/data-0-0/status/logs/ui"
}
},
{
"instanceName": "data-0-1",
"state": "running",
"healthStatus": "healthy",
"details": "Pod data-0-1 is healthy",
"dashboards": {
"nodeMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/data-0-
1/status/nodemetrics/ui",
"sqlMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/data-0-
1/status/sqlmetrics/ui",
"logsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/data-0-1/status/logs/ui"
}
}
]
},
{
"resourceName": "storage-0",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet storage-0 is healthy",
"instances": [
{
"instanceName": "storage-0-0",
"state": "running",
"healthStatus": "healthy",
"details": "Pod storage-0-0 is healthy",
"dashboards": {
"nodeMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/storage-0-
0/status/nodemetrics/ui",
"sqlMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/storage-0-
0/status/sqlmetrics/ui",
"logsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/storage-0-
0/status/logs/ui"
}
},
{
"instanceName": "storage-0-1",
"state": "running",
"healthStatus": "healthy",
"details": "Pod storage-0-1 is healthy",
"dashboards": {
"nodeMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/storage-0-
1/status/nodemetrics/ui",
"sqlMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/storage-0-
1/status/sqlmetrics/ui",
"logsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/storage-0-
1/status/logs/ui"
}
}
]
}
]
}
172 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
4.8 Receive Service Resource Status Information
The following is an example of a response body that is sent by the Get Service Resource Status
method, as defined in section 3.1.5.1.7.
{
"resourceName": "master",
"state": "ready",
"healthStatus": "healthy",
"details": "StatefulSet master is healthy",
"instances": [
{
"instanceName": "master-0",
"state": "running",
"healthStatus": "healthy",
"details": "Pod master-0 is healthy",
"dashboards": {
"nodeMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/master-
0/status/nodemetrics/ui",
"sqlMetricsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/master-
0/status/sqlmetrics/ui",
"logsUrl": "https://0.0.0.0:30777/api/v1/bdc/instances/master-0/status/logs/ui"
}
}
]
}
The following is an example of a request body that is sent by the Upgrade Big Data Cluster method,
as defined in section 3.1.5.1.9.
{
"targetVersion": "latest",
"targetRepository": "foo/bar/baz"
}
4.10 Receive a List of Information About All the Exposed Big Data Cluster Endpoints
The following is an example of a response body that is sent by the Get All Big Data Cluster
Endpoints method, as defined in section 3.1.5.1.10.
[
{
"name":"gateway",
"description":"Gateway to access HDFS files, Spark",
"endpoint":"https://10.91.138.80:30443",
"protocol":"https"
},
{
"name":"spark-history",
"description":"Spark Jobs Management and Monitoring Dashboard",
"endpoint":"https://10.91.138.80:30443/gateway/default/sparkhistory",
"protocol":"https"
},
{
"name":"yarn-ui",
"description":"Spark Diagnostics and Monitoring Dashboard",
"endpoint":"https://10.91.138.80:30443/gateway/default/yarn",
"protocol":"https"
},
{
173 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"name":"app-proxy",
"description":"Application Proxy",
"endpoint":"https://10.91.138.80:30778",
"protocol":"https"
},
{
"name":"mgmtproxy",
"description":"Management Proxy",
"endpoint":"https://10.91.138.80:30777",
"protocol":"https"
},
{
"name":"logsui",
"description":"Log Search Dashboard",
"endpoint":"https://10.91.138.80:30777/kibana",
"protocol":"https"
},
{
"name":"metricsui",
"description":"Metrics Dashboard",
"endpoint":"https://10.91.138.80:30777/grafana",
"protocol":"https"
},
{
"name":"controller",
"description":"Cluster Management Service",
"endpoint":"https://10.91.138.80:30080",
"protocol":"https"
},
{
"name":"sql-server-master",
"description":"SQL Server Master Instance Front-End",
"endpoint":"10.91.138.80,31433",
"protocol":"tds"
},
{
"name":"webhdfs",
"description":"HDFS File System Proxy",
"endpoint":"https://10.91.138.80:30443/gateway/default/webhdfs/v1",
"protocol":"https"
},
{
"name":"livy",
"description":"Proxy for running Spark statements, jobs, applications",
"endpoint":"https://10.91.138.80:30443/gateway/default/livy/v1",
"protocol":"https"
}
]
The following is an example of a response body that is sent by the Get Big Data Cluster Endpoint
method, as defined in section 3.1.5.1.11.
{
"name":"gateway",
"description":"Gateway to access HDFS files, Spark",
"endpoint":"https://10.91.138.80:30443",
"protocol":"https"
}
174 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
4.12 Check Mount Status
The following is an example of a response body that is sent by the Get Mount Status method, as
defined in section 3.1.5.3.1.
{
"mount": "/mnt/test",
"remote": "abfs://foo.bar",
"state": "Ready",
"error": ""
}
The following is an example of a response body that is sent by the Get App method, as defined in
section 3.1.5.4.1.
{
"name": "hello-py",
"internal_name": "app1",
"version": "v1",
"input_param_defs": [
{
"name": "msg",
"type": "str"
},
{
"name": "foo",
"type": "int"
}
],
"output_param_defs": [
{
"name": "out",
"type": "str"
}
],
"state": "Ready",
"links": {
"app": "https://10.127.22.96:30777/api/app/hello-py/v1",
"swagger": "https://10.127.22.96:30777/api/app/hello-py/v1/swagger.json"
}
}
The following is an example of a request body that is sent by the Create App method, as defined in
section 3.1.5.4.4, or the Update App method, as defined in section 3.1.5.4.5. To deploy an
application that uses the Python runtime, the following files are bundled into a ZIP file.
#add.py
def add(x, y):
result = x+y
return result
result=add(x,y)
#spec.yaml
name: add-app
version: v1
runtime: Python
src: ./add.py
175 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
entrypoint: add
replicas: 1
poolsize: 1
inputs:
x: int
y: int
output:
result: int
The following is an example of a request body that is sent by the Run App method, as defined in
section 3.1.5.4.7.
{
"x":5,
"y": 37
}
The following is an example of a response body that is sent by the Run App method, as defined in
section 3.1.5.4.7. In this example, the outputParameters result shown here would match the
calculated value of the output.result in the spec.yaml, as described in section 4.14.
{
"success": true,
"errorMessage": "",
"outputParameters": {
"result": 42
},
"outputFiles": {},
"consoleOutput": "",
"changedFiles": []
}
The following is an example of a response body that is sent by the Create Token method, as defined
in section 3.1.5.5.1.
{
"token_type": "Bearer",
"access_token":
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjpbImFwcCIsImNvbnRyb2xsZXIiLCJtZXRhZGF0YSJdLCJ
uYmYiOjE1NTQ5MTM0MjIsImV4cCI6MTU1NDk0OTQyMSwiaWF0IjoxNTU0OTEzNDIyLCJpc3MiOiJtc3NxbC5taWNyb3Nv
ZnQuY29tIiwiYXVkIjoibXNzcWwubWljcm9zb2Z0LmNvbSJ9.qKTG4PsGxDDFbjnZnE__3NWxEqCS9X9kc9B9IpR_UTY"
,
"expires_in": 36000,
"expires_on": 1554949422,
"token_id":
"YsaMFgi1Re72fyfd7dZz6twfgjCy7jb49h1IVKkHMZt0QpqO7noNte6Veu0x8h3PD7msPDiR9z9drWyJvZQ6MPWD0wNz
mRrvCQ+v7dNQV8+9e9N4gZ7iE5vDP6z9hBgrggh8w4FeVSwCYYZiOG67OTzF2cnCfhQ8Gs+AjJWso3ga5lHqIKv34JNgO
ONp5Vpbu5iHGffZepgZ4jaIDIVd3ByogHtq+/c5pjdwLwoxH47Xuik0wNLLwiqktAWOv1cxDXOivkaGbJ6FDtJR4tPuNg
RLjNuz9iAZ16osNDyJ7oKyecnt4Tbt+XerwlyYYrjDWcW92qtpHX+kWnDrnmRn1g=="
}
176 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
4.18 Receive a Response Returned from a Ping on the Controller
The following is an example of a response body that is sent by the Ping Controller method, as
defined in section 3.1.5.6.2.
{
"code": 200,
"message": "Controller is available."
}
The following is an example of a response body that is sent by the Info method, as defined in section
3.1.5.6.3.
{
"version":"1.0",
"buildTimestamp":"Thu Aug 01 03:32:28 GMT 2019"
}
The following is an example of a request body that is sent by the Apply Configuration Settings
method, as defined in section 3.1.5.7.1.1.
{
"description": "",
"abortUpgrade": false
}
The following is an example of a request body that is sent by the Set Cluster Configuration
Settings method, as defined in section 3.1.5.7.3.1.
{
"settings":
{
"bdc.telemetry.customerFeedback": "true"
}
}
The following is an example of a response body that is sent by the Get Cluster Configuration
Settings method, as defined in section 3.1.5.7.4.2.
{
"bdcName": "test",
"services": [],
"settings": {
"bdc.resourcemanagement.enabled": "false",
"bdc.telemetry.customerFeedback": "true"
},
"status": [{
"settingName": "bdc.resourcemanagement.enabled",
177 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"defaultValue": "false",
"configuredValue": "false",
"lastUpdatedTime": "01/04/2021 19:11:35",
"type": "bool",
"description": "Controls whether or not this cluster applies memory and cpu requests
and limits",
"configurable": true,
"immutable": false
},{
"settingName": "bdc.telemetry.customerFeedback",
"defaultValue": "true",
"configuredValue": "true",
"lastUpdatedTime": "01/04/2021 21:30:23",
"type": "bool",
"description": "Controls whether this cluster participates in the Customer Experience
Improvement Program (CEIP) which sends product usage and diagnostic data to Microsoft.",
"configurable": true,
"immutable": false
}
]
}
The following is an example of a response body that is sent by the Get Service Configuration
Settings method, as defined in section 3.1.5.7.6.2.
{
"serviceName": "spark",
"resources": [],
"settings": {
"spark-defaults-conf.spark.driver.cores": "1",
"spark-defaults-conf.spark.driver.memory": "1664m",
"spark-defaults-conf.spark.driver.memoryOverhead": "384",
"spark-defaults-conf.spark.executor.cores": "2",
"spark-defaults-conf.spark.executor.instances": "1",
"spark-defaults-conf.spark.executor.memory": "3712m",
"spark-defaults-conf.spark.executor.memoryOverhead": "384",
"yarn-site.yarn.nodemanager.resource.cpu-vcores": "6",
"yarn-site.yarn.nodemanager.resource.memory-mb": "12288",
"yarn-site.yarn.scheduler.capacity.maximum-am-resource-percent": "0.34",
"yarn-site.yarn.scheduler.maximum-allocation-mb": "12288",
"yarn-site.yarn.scheduler.maximum-allocation-vcores": "6"
},
"status": []
}
The following is an example of a response body that is sent by the Get Resource Configuration
Settings method, as defined in section 3.1.5.7.8.2.
{
"settings": {
"spark-defaults-conf.spark.driver.memory": "2g",
"spark-defaults-conf.spark.driver.cores": "1",
"spark-defaults-conf.spark.executor.instances": "3",
"spark-defaults-conf.spark.executor.memory": "1536m",
"spark-defaults-conf.spark.executor.cores": "1",
"yarn-site.yarn.nodemanager.resource.memory-mb": "18432",
"yarn-site.yarn.nodemanager.resource.cpu-vcores": "6",
"yarn-site.yarn.scheduler.maximum-allocation-mb": "18432",
"yarn-site.yarn.scheduler.maximum-allocation-vcores": "6",
178 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"yarn-site.yarn.scheduler.capacity.maximum-am-resource-percent": "0.3"
}
}
The following is an example of a request body that is sent by the Update KMS Configuration
method, as defined in section 3.1.5.8.1.1.
{
"keyProvider": "External",
"keyAttributes": {
"keyname": "encryptionkey-2048"
},
"keyApplicationName": "encryption",
"keyApplicationVersion": "v1"
}
The following is an example of a response body that is sent by the Show KMS Configuration
method, as defined in section 3.1.5.8.2.2.
[
{
"keyApplicationName": "encryption",
"keyApplicationVersion": "v1",
"keyAttributes": "keyname=encryptionkey-2048",
"keyCreationTime": 637556679382899848,
"keyProvider": "External",
"keyVersion": "edb3bbab4bd94a17b5f61fc1e52b5e39",
"resource": "HDFS"
},
{
"keyApplicationName": "encryption",
"keyApplicationVersion": "v1",
"keyAttributes": "keyname=encryptionkey-2048",
"keyCreationTime": 637556679383023432,
"keyProvider": "External",
"keyVersion": "ea0c1fadacb14e838f3085dec21e8c09",
"resource": "MSSQL"
}
]
179 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
5 Security
The Control Plane Rest API protocol uses self-signed certificates. A user of this protocol needs to skip
certificate verification when sending HTTP operations.
None.
180 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
6 Appendix A: Full JSON Schema
For ease of implementation, the following sections provide the full JSON schemas for this protocol.
Storage 6.2
App 6.3
Token 6.4
Home 6.5
Config 6.6
KMS 6.7
181 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"data": {
"$ref": "#/definitions/storageInfo"
},
"logs": {
"$ref": "#/definitions/storageInfo"
}
}
},
"storageInfo": {
"required": [
"className",
"accessMode",
"size"
],
"properties": {
"className": {
"type": "string"
},
"accessMode": {
"enum": [
"ReadWriteOnce",
"ReadOnlyMany",
"ReadWriteMany"
]
},
"size": {
"type": "string",
"example": "10Gi"
}
}
},
"docker": {
"required": [
"registry",
"repository",
"imageTag",
"imagePullPolicy"
],
"properties": {
"registry": {
"type": "string",
"example": "repo.contoso.com"
},
"repository": {
"type": "string"
},
"imageTag": {
"type": "string",
"example": "latest"
},
"imagePullPolicy": {
"enum": [
"Always",
"IfNotPresent"
]
}
}
},
"security": {
"type": "object",
"required": [
"activeDirectory",
"allowRunAsRoot",
"allowNodeMetricsCollection",
"allowPodMetricsCollection",
"automountServiceAccountToken"
],
"properties": {
"activeDirectory": {
182 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$id": "#/properties/activeDirectory",
"type": "object",
"required": [
"useInternalDomain",
"useSubdomain",
"ouDistinguishedName",
"dnsIpAddresses",
"domainControllerFullyQualifiedDns",
"domainDnsName",
"clusterAdmins",
"clusterUsers"
],
"properties": {
"useInternalDomain": {
"$id": "#/properties/activeDirectory/properties/useInternalDomain",
"type": "boolean"
},
"useSubdomain": {
"$id": "#/properties/activeDirectory/properties/useSubdomain",
"type": "boolean"
},
"ouDistinguishedName": {
"$id": "#/properties/activeDirectory/properties/ouDistinguishedName",
"type": "string"
},
"dnsIpAddresses": {
"$id": "#/properties/activeDirectory/properties/dnsIpAddresses",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/dnsIpAddresses/items",
"type": "string"
}
},
"domainControllerFullyQualifiedDns": {
"$id":
"#/properties/activeDirectory/properties/domainControllerFullyQualifiedDns",
"type": "array",
"items": {
"$id":
"#/properties/activeDirectory/properties/domainControllerFullyQualifiedDns/items",
"type": "string"
}
},
"subdomain": {
"$id": "#/properties/activeDirectory/properties/subdomain ",
"type": "string"
},
"accountPrefix": {
"$id": "#/properties/activeDirectory/properties/accountPrefix ",
"type": "string"
},
"realm": {
"$id": "#/properties/activeDirectory/properties/realm",
"type": "string"
},
"accountPasswordsNeverExpire": {
"$id": "#/properties/activeDirectory/properties/accountPasswordsNeverExpire",
"type": "boolean"
},
"netbiosDomainName": {
"$id": "#/properties/activeDirectory/properties/netbiosDomainName",
"type": "string"
},
"domainDnsName": {
"$id": "#/properties/activeDirectory/properties/domainDnsName",
"type": "string"
},
"clusterAdmins": {
"$id": "#/properties/activeDirectory/properties/clusterAdmins",
183 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/clusterAdmins/items",
"type": "string"
}
},
"clusterUsers": {
"$id": "#/properties/activeDirectory/properties/clusterUsers",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/clusterUsers/items",
"type": "string"
}
},
"appOwners": {
"$id": "#/properties/activeDirectory/properties/appOwners",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/appOwners/items",
"type": "string"
}
},
"appUsers": {
"$id": "#/properties/activeDirectory/properties/appUsers",
"type": "array",
"items": {
"$id": "#/properties/activeDirectory/properties/appUsers/items",
"type": "string"
}
}
}
},
"allowRunAsRoot": {
"$id": "#/properties/allowRunAsRoot",
"type": "boolean"
},
"allowDumps": {
"$id": "#/properties/allowDumps",
"type": "boolean"
},
"allowNodeMetricsCollection": {
"$id": "#/properties/allowNodeMetricsCollection",
"type": "boolean"
},
"allowPodMetricsCollection": {
"$id": "#/properties/allowPodMetricsCollection",
"type": "boolean"
},
"automountServiceAccountToken": {
"$id": "#/properties/automountServiceAccountToken",
"type": "boolean"
}
}
},
"spark": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
},
"hdfs": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
184 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"sql": {
"patternProperties": {
"^([A-Za-z_,-])+$": {
"type": "string"
}
},
"additionalProperties": false
},
"gateway": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
},
"metadata": {
"required": [
"kind",
"name"
],
"properties": {
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"additionalProperties": false
},
"replicas": {
"type": "integer"
}
},
"required": [
"apiVersion",
"metadata",
"spec"
],
"properties": {
"apiVersion": {
"$id": "#/properties/apiVersion",
"const": "v1"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"spec": {
"$id": "#/properties/spec",
"type": "object",
"required": [
"resources",
"services"
],
"properties": {
"security": {
"$ref": "#/definitions/security"
},
"resources": {
"$id": "#/properties/spec/properties/resources",
"type": "object",
"required": [
"sparkhead",
"storage-0",
"nmnode-0",
"master",
"compute-0",
"appproxy",
185 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"zookeeper",
"gateway",
"data-0"
],
"properties": {
"sparkhead": {
"$id": "#/properties/spec/properties/resources/properties/sparkhead",
"type": "object",
"required": [
"spec"
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/sparkhead/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"$id":
"#/properties/spec/properties/resources/properties/sparkhead/properties/spec",
"type": "object",
"required": [
"replicas"
],
"properties": {
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/sparkhead/properties/spec/properties/repli
cas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/sparkhead/properties/spec/properties/setti
ngs",
"type": "object",
"required": [
"spark"
],
"properties": {
"spark": {
"$ref": "#/definitions/spark"
}
}
}
}
}
}
},
"storage": {
"$id": "#/properties/spec/properties/resources/properties/storage-0",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/clusterName",
186 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "string"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/spec",
"type": "object",
"required": [
"type",
"replicas",
"settings"
],
"properties": {
"type": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"$id": "#/properties/spec/properties/resources/properties/storage-
0/properties/spec/properties/settings",
"type": "object",
"required": [
"spark",
"sql",
"hdfs"
],
"properties": {
"spark": {
"$ref": "#/definitions/spark"
},
"sql": {
"$ref": "#/definitions/sql"
},
"hdfs": {
"$ref": "#/definitions/hdfs"
}
}
}
}
}
}
},
"nmnode-0": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-0",
"type": "object",
"required": [
"spec"
],
"properties": {
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-
0/properties/clusterName",
187 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-
0/properties/spec",
"type": "object",
"required": [
"replicas"
],
"properties": {
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-
0/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"$id": "#/properties/spec/properties/resources/properties/nmnode-
0/properties/spec/properties/settings",
"type": "object",
"required": [
"hdfs"
],
"properties": {
"hdfs": {
"$ref": "#/definitions/hdfs"
}
}
}
}
}
}
},
"master": {
"$id": "#/properties/spec/properties/resources/properties/master",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/clusterName",
"type": "string"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec",
"type": "object",
"required": [
"type",
"replicas",
"endpoints"
],
188 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"properties": {
"type": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/replicas
",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"endpoints": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s",
"type": "array",
"items": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items",
"type": "object",
"required": [
"name",
"serviceType",
"port"
],
"properties": {
"name": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/name",
"type": "string"
},
"serviceType": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/serviceType",
"enum": [
"NodePort",
"LoadBalancer"
]
},
"port": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/port",
"type": "integer",
"examples": [
31433
]
},
"dnsName": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/dnsName",
"type": "string"
},
"dynamicDnsUpdate": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/endpoint
s/items/properties/dynamicDnsUpdate",
"type": "boolean"
189 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
}
}
}
},
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/master/properties/spec/properties/settings
",
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"$ref": "#/definitions/sql"
}
}
}
}
}
}
},
"compute-0": {
"$id": "#/properties/spec/properties/resources/properties/compute-0",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/compute-
0/properties/clusterName",
"type": "string"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"$id": "#/properties/spec/properties/resources/properties/compute-
0/properties/spec",
"type": "object",
"required": [
"type",
"replicas"
],
"properties": {
"type": {
"$id": "#/properties/spec/properties/resources/properties/compute-
0/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/compute-
0/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"$id": "#/properties/spec/properties/resources/properties/compute-
0/properties/spec/properties/settings",
190 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"$ref": "#/definitions/sql"
}
}
}
}
}
}
},
"appproxy": {
"$id": "#/properties/spec/properties/resources/properties/appproxy",
"type": "object",
"required": [
"spec"
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec",
"type": "object",
"required": [
"replicas",
"endpoints"
],
"properties": {
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/replic
as",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"endpoints": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts",
"type": "array",
"items": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items",
"type": "object",
"required": [
"name",
"serviceType",
"port"
],
"properties": {
"name": {
191 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/name",
"const": "AppServiceProxy"
},
"serviceType": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/serviceType",
"enum": [
"NodePort",
"LoadBalancer"
]
},
"port": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/port",
"type": "integer",
"examples": [
30778
]
},
"dnsName": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/dnsName",
"type": "string"
},
"dynamicDnsUpdate": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/endpoi
nts/items/properties/dynamicDnsUpdate",
"type": "boolean"
}
}
}
},
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/appproxy/properties/spec/properties/settin
gs",
"type": "object"
}
}
}
}
},
"zookeeper": {
"$id": "#/properties/spec/properties/resources/properties/zookeeper",
"type": "object",
"required": [
"spec"
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/spec",
"type": "object",
"required": [
"replicas"
192 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
],
"properties": {
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/spec/properties/repli
cas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/spec/properties/setti
ngs",
"type": "object",
"required": [
"hdfs"
],
"properties": {
"hdfs": {
"$id":
"#/properties/spec/properties/resources/properties/zookeeper/properties/spec/properties/setti
ngs/properties/hdfs",
"type": "object"
}
}
}
}
}
}
},
"gateway": {
"$id": "#/properties/spec/properties/resources/properties/gateway",
"type": "object",
"required": [
"spec"
],
"properties": {
"clusterName": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"spec": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec",
"type": "object",
"required": [
"replicas",
"endpoints"
],
"properties": {
"replicas": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/replica
s",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
193 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$ref": "#/definitions/storage"
},
"endpoints": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts",
"type": "array",
"items": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items",
"type": "object",
"required": [
"name",
"serviceType",
"port"
],
"properties": {
"name": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/name",
"const": "Knox"
},
"serviceType": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/serviceType",
"enum": [
"NodePort",
"LoadBalancer"
]
},
"port": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/port",
"type": "integer"
},
"dnsName": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/dnsName",
"type": "string"
},
"dynamicDnsUpdate": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/endpoin
ts/items/properties/dynamicDnsUpdate",
"type": "boolean"
}
}
}
},
"settings": {
"$id":
"#/properties/spec/properties/resources/properties/gateway/properties/spec/properties/setting
s",
"type": "object"
}
}
}
}
},
"spark-0": {
"$id": "#/properties/spec/properties/resources/properties/spark-0",
"type": "object",
"required": [
"metadata",
194 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"spec"
],
"properties": {
"clusterName": {
"$id": "#/properties/spec/properties/resources/properties/spark-
0/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"spec": {
"$id": "#/properties/spec/properties/resources/properties/spark-
0/properties/spec",
"type": "object",
"required": [
"type",
"replicas"
],
"properties": {
"type": {
"$id": "#/properties/spec/properties/resources/properties/spark-
0/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/spark-
0/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"$id": "#/properties/spec/properties/resources/properties/spark-
0/properties/spec/properties/settings",
"type": "object",
"required": [
"spark",
"hdfs"
],
"properties": {
"spark": {
"$ref": "#/definitions/spark"
},
"hdfs": {
"$ref": "#/definitions/hdfs"
}
}
}
}
}
}
},
"data-0": {
"$id": "#/properties/spec/properties/resources/properties/data-0",
"type": "object",
"required": [
"metadata",
"spec"
],
"properties": {
"clusterName": {
195 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/clusterName",
"type": "string"
},
"security": {
"$ref": "#/definitions/security"
},
"metadata": {
"$ref": "#/definitions/metadata"
},
"spec": {
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/spec",
"type": "object",
"required": [
"type",
"replicas"
],
"properties": {
"type": {
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/spec/properties/type",
"type": ["integer", "string"]
},
"replicas": {
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/spec/properties/replicas",
"type": "integer"
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
},
"settings": {
"$id": "#/properties/spec/properties/resources/properties/data-
0/properties/spec/properties/settings",
"type": "object",
"required": [
"sql"
],
"properties": {
"sql": {
"$ref": "#/definitions/sql"
}
}
}
}
}
}
}
}
},
"services": {
"$id": "#/properties/spec/properties/services",
"type": "object",
"required": [
"sql",
"hdfs",
"spark"
],
"properties": {
"sql": {
"$id": "#/properties/spec/properties/services/properties/sql",
"type": "object",
"required": [
"resources"
],
196 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"properties": {
"resources": {
"$id":
"#/properties/spec/properties/services/properties/sql/properties/resources",
"type": "array",
"items": [
{
"const": "master"
},
{
"const": "compute-0"
},
{
"const": "data-0"
},
{
"const": "storage-0"
}
]
},
"settings": {
"$ref": "#/definitions/sql"
}
}
},
"hdfs": {
"$id": "#/properties/spec/properties/services/properties/hdfs",
"type": "object",
"required": [
"resources"
],
"properties": {
"resources": {
"$id":
"#/properties/spec/properties/services/properties/hdfs/properties/resources",
"type": "array",
"items": [
{
"const": "nmnode-0"
},
{
"const": "zookeeper"
},
{
"const": "storage-0"
},
{
"const": "sparkhead"
},
{
"const": "spark-0"
}
]
},
"settings": {
"$ref": "#/definitions/hdfs"
}
}
},
"spark": {
"$id": "#/properties/spec/properties/services/properties/spark",
"type": "object",
"required": [
"resources",
"settings"
],
"properties": {
"resources": {
197 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$id":
"#/properties/spec/properties/services/properties/spark/properties/resources",
"type": "array",
"items": [
{
"const": "sparkhead"
},
{
"const": "storage-0"
},
{
"const": "spark-0"
}
]
},
"settings": {
"$ref": "#/definitions/spark"
}
}
}
}
},
"docker": {
"$ref": "#/definitions/docker"
},
"storage": {
"$ref": "#/definitions/storage"
}
}
}
}
}
}
198 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"examples": [
"Null reference exception"
]
}
}
}
199 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"resources"
],
"properties": {
"serviceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"resources": {
"type": "array",
"title": "The Resources Schema",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"resourceName",
"state",
"healthStatus",
"details",
"instances"
],
"properties": {
"resourceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"instances": {
"oneOf": [
{
"type": "null"
},
{
"type": "array",
"title": "The Instances Schema",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"instanceName",
"state",
"healthStatus",
"details",
"dashboards"
],
"properties": {
"instanceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
200 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"details": {
"type": ["string", "null"]
},
"dashboards": {
"type": "object",
"title": "The Dashboards Schema",
"required": [
"nodeMetricsUrl",
"sqlMetricsUrl",
"logsUrl"
],
"properties": {
"nodeMetricsUrl": {
"type": "string",
"examples": [
"https://0.0.0.0:30777/api/v1/bdc/instances/master/status/nodemetrics/ui"
]
},
"sqlMetricsUrl": {
"type": "string",
"examples": [
"https://0.0.0.0:30777/api/v1/bdc/instances/master/status/sqlmetrics/ui"
]
},
"logsUrl": {
"type": "string",
"examples": [
"https://0.0.0.0:30777/api/v1/bdc/instances/master/status/logs/ui"
]
}
}
}
}
}
}
]
}
}
}
}
}
}
}
}
}
201 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"resources": {
"$id": "#/properties/resources",
"type": "array",
"title": "The Resources Schema",
"items": {
"$id": "#/properties/resources/items",
"type": "object",
"title": "The Items Schema",
"required": [
"resourceName",
"state",
"healthStatus",
"details",
"instances"
],
"properties": {
"resourceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"instances": {
"oneOf": [
{
"type": "null"
},
{
"type": "array",
"title": "The Instances Schema",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"instanceName",
"state",
"healthStatus",
"details",
"dashboards"
],
"properties": {
"instanceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"dashboards": {
202 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "object",
"title": "The Dashboards Schema",
"required": [
"nodeMetricsUrl",
"sqlMetricsUrl",
"logsUrl"
],
"properties": {
"nodeMetricsUrl": {
"type": "string"
},
"sqlMetricsUrl": {
"type": "string"
},
"logsUrl": {
"type": "string"
}
}
}
}
}
}
]
}
}
}
}
}
}
"oneOf": [
{
203 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "null"
},
{
"type": "array",
"items": {
"type": "object",
"title": "The Items Schema",
"required": [
"instanceName",
"state",
"healthStatus",
"details",
"dashboards"
],
"properties": {
"instanceName": {
"type": "string"
},
"state": {
"type": "string"
},
"healthStatus": {
"type": "string"
},
"details": {
"type": ["string", "null"]
},
"dashboards": {
"type": "object",
"title": "The Dashboards Schema",
"required": [
"nodeMetricsUrl",
"sqlMetricsUrl",
"logsUrl"
],
"properties": {
"nodeMetricsUrl": {
"type": "string"
},
"sqlMetricsUrl": {
"type": "string"
},
"logsUrl": {
"type": "string"
}
}
}
}
}
}
]
}
}
}
204 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "string",
},
"targetRepository": {
"$id": "#/properties/targetRepository",
"type": "string",
}
}
}
205 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"title": "The Name Schema"
},
"description": {
"$id": "#/properties/description",
"type": "string"
},
"endpoint": {
"$id": "#/properties/endpoint",
"type": "string"
},
"protocol": {
"enum": [
"https",
"tds"
]
}
}
}
6.2 Storage
206 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"error": {
"$id": "#/properties/error",
"type": "string"
}
}
}
6.3 App
207 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"input_param_defs",
"output_param_defs",
"state",
"links"
],
"properties": {
"name": {
"$id": "#/properties/name",
"type": "string"
},
"internal_name": {
"$id": "#/properties/internal_name",
"type": "string"
},
"version": {
"$id": "#/properties/version",
"type": "string"
},
"input_param_defs": {
"$id": "#/properties/input_param_defs",
"type": "array",
"description": "Array of input parameters for the deployed app",
"items": {
"$ref": "#/definitions/parameter"
}
},
"output_param_defs": {
"$id": "#/properties/output_param_defs",
"type": "array",
"items": {
"$ref": "#/definitions/parameter"
}
},
"state": {
"$id": "#/properties/state",
"enum": [
"Initial",
"Creating",
"WaitingForCreate",
"Updating",
"WaitingForUpdate",
"Ready",
"Deleting",
"WaitingForDelete",
"Deleted",
"Error"
]
},
"links": {
"$id": "#/properties/links",
"type": "object",
"required": [
"app",
"swagger"
],
"properties": {
"app": {
"$id": "#/properties/links/properties/app",
"type": "string"
},
"swagger": {
"$id": "#/properties/links/properties/swagger",
"type": "string"
}
}
}
}
}
208 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
6.3.2 App Run Result Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": [
"success",
"errorMessage",
"outputFiles",
"consoleOutput",
"changedFiles"
],
"properties": {
"success": {
"$id": "#/properties/success",
"type": "boolean"
},
"errorMessage": {
"$id": "#/properties/errorMessage",
"type": "string"
},
"outputParameters": {
"type": "object",
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": ["string", "integer", "array", "boolean"]
}
},
"additionalProperties": false
},
"outputFiles": {
"$id": "#/properties/outputFiles",
"type": "object"
},
"consoleOutput": {
"$id": "#/properties/consoleOutput",
"type": "string"
},
"changedFiles": {
"$id": "#/properties/changedFiles",
"type": "array"
}
}
}
6.4 Token
209 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"expires_on",
"token_id"
],
"properties": {
"token_type": {
"$id": "#/properties/token_type",
"type": "string"
},
"access_token": {
"$id": "#/properties/access_token",
"type": "string"
},
"expires_in": {
"$id": "#/properties/expires_in",
"type": "integer"
},
"expires_on": {
"$id": "#/properties/expires_on",
"type": "integer"
},
"token_id": {
"$id": "#/properties/token_id",
"type": "string"
}
}
}
6.5 Home
210 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
6.5.2 Info Response Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema",
"required": [
"version",
"buildTimestamp"
],
"properties": {
"version": {
"$id": "#/properties/version",
"type": "string"
},
"buildTimestamp": {
"$id": "#/properties/buildTimestamp",
"type": "string"
}
}
}
6.6 Config
211 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "http://example.com/example.json",
"type": "object",
"required": [
"settings"
],
"properties": {
"settings": {
"$id": "#/properties/settings",
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
212 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "string"
},
"configurable": {
"type": "boolean"
},
"immutable": {
"type": "boolean"
}
},
"additionalProperties": false
}
]
}
}
},
"required": [
"bdcName",
"services",
"settings",
"status"
],
"properties": {
"bdcName": {
"type": "string",
"title": "The bdcName schema",
"description": "An explanation about the purpose of this instance.",
"default": "",
"examples": [
"test"
]
},
"services": {
"type": "array",
"additionalItems": false,
"items": {
"anyOf": [
{
"required": [
"serviceName",
"settings"
],
"properties": {
"serviceName": {
"type": "string"
},
"resources": {
"type": "array",
"additionalItems": false,
"type": "object",
"required": [
"resourceName",
"settings",
"status"
],
"properties": {
"resourceName": {
"type": "string"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": false
},
"settings": {
"$ref": "#/definitions/settings"
213 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": false
}
]
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": false
}
}
214 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"description": {
"type": "string"
},
"configurable": {
"type": "boolean"
},
"immutable": {
"type": "boolean"
}
},
"additionalProperties": false
}
]
}
}
},
"required": [
"serviceName",
"settings"
],
"properties": {
"serviceName": {
"type": "string"
},
"resources": {
"type": "array",
"additionalItems": false,
"items": {
"anyOf": [
{
"required": [
"resourceName",
"settings"
],
"properties": {
"resourceName": {
"type": "string"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": false
}
]
}
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
},
"additionalProperties": false
}
215 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"settings": {
"patternProperties": {
"^([A-Za-z_.-])+$": {
"type": "string"
}
},
"additionalProperties": false
},
"status": {
"items": {
"anyOf": [
{
"type": "object",
"required": [
"settingName",
"defaultValue",
"configuredValue",
"lastUpdatedTime",
"type",
"description",
"configurable",
"immutable"
],
"properties": {
"settingName": {
"type": "string"
},
"defaultValue": {
"type": "string"
},
"configuredValue": {
"type": "string"
},
"lastUpdatedTime": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"configurable": {
"type": "boolean"
},
"immutable": {
"type": "boolean"
}
},
"additionalProperties": false
}
]
}
}
},
"required": [
"resourceName",
"settings"
],
"properties": {
"resourceName": {
"type": "string"
},
"settings": {
"$ref": "#/definitions/settings"
},
"status": {
"$ref": "#/definitions/status"
}
216 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
},
"additionalProperties": false
}
6.7 KMS
217 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
"type": "object",
"required": [
"keyApplicationName",
"keyApplicationVersion",
"keyAttributes",
"keyCreationTime",
"keyProvider",
"keyVersion",
"resource"
],
"properties": {
"keyApplicationName": {
"type": "string"
},
"keyApplicationVersion": {
"type": "string"
},
"keyAttributes": {
"type": "string"
},
"keyCreationTime": {
"type": "integer",
"default": 0
},
"keyProvider": {
"type": "string"
},
"keyVersion": {
"type": "string"
},
"resource": {
"type": "string"
}
},
"additionalProperties": false
}
]
}
}
218 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
7 Appendix B: Product Behavior
The information in this specification is applicable to the following Microsoft products or supplemental
software. References to product versions include updates to those products.
Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base
(KB) number appears with a product name, the behavior changed in that update. The new behavior
also applies to subsequent updates unless otherwise specified. If a product edition appears with the
product version, behavior is different in that product edition.
Unless otherwise specified, any statement of optional behavior in this specification that is prescribed
using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the
SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the
product does not follow the prescription.
<1> Section 2.2.4.4: The "v1" value of the uriVersion parameter is supported only by SQL Server
earlier than SQL Server 2019 Cumulative Update 9 (CU9).
<2> Section 2.2.5.1.1.1.4: The allowRunAsRoot element is not supported by SQL Server earlier
than SQL Server 2019 Cumulative Update 5 (CU5). In SQL Server 2019 Cumulative Update 2 (CU2),
SQL Server 2019 Cumulative Update 3 (CU3), and SQL Server 2019 Cumulative Update 4 (CU4), the
equivalent element privileged was used. SQL Server 2019 and SQL Server 2019 Cumulative Update 1
(CU1) do not support this functionality.
<3> Section 2.2.5.1.1.1.4: The allowDumps element is not supported by SQL Server earlier than
SQL Server 2019 CU5.
<5> Section 2.2.5.1.1.1.4: The allowPodMetricsCollection element is not supported by SQL Server
earlier than SQL Server 2019 CU5.
<7> Section 2.2.5.1.1.1.4.1: The security.activeDirectory element is not supported by SQL Server
earlier than SQL Server 2019 CU2.
<9> Section 2.2.5.1.1.1.4.1: The useSubdomain element is not supported by SQL Server earlier
than SQL Server 2019 CU5.
<11> Section 2.2.5.1.1.1.4.1: The subdomain element is not supported by SQL Server earlier than
SQL Server 2019 CU5.
<12> Section 2.2.5.1.1.1.4.1: The accountPrefix element is not supported by SQL Server earlier
than SQL Server 2019 CU5.
219 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
<13> Section 2.2.5.1.1.1.4.1: The security.activeDirectory.realm element is not supported by
SQL Server earlier than SQL Server 2019 CU2. In SQL Server 2019 and SQL Server 2019 CU1, the
equivalent element security.realm was used.
<16> Section 2.2.5.1.1.1.4.1: The netbiosDomainName element is not supported by SQL Server
earlier than SQL Server 2019 CU9.
<23> Section 2.2.5.1.5.1.2: The replicas element is not supported by SQL Server earlier than SQL
Server 2019 CU9.
<24> Section 2.2.5.1.5.1.2.1: The availabilityMode element is not supported by SQL Server earlier
than SQL Server 2019 CU9.
<25> Section 2.2.5.1.5.1.2.2: The replicaRole element is not supported by SQL Server earlier than
SQL Server 2019 CU9.
<26> Section 2.2.5.1.5.1.2.3: The synchronizationStatus element is not supported by SQL Server
earlier than SQL Server 2019 CU9.
<27> Section 2.2.5.6: The Config resource type is not supported by SQL Server earlier than SQL
Server 2019 CU9.
<28> Section 2.2.5.6.1: The Apply Settings Request schema is not supported by SQL Server
earlier than SQL Server 2019 CU9.
<29> Section 2.2.5.6.2: The Set Settings Response schema is not supported by SQL Server earlier
than SQL Server 2019 CU9.
220 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
<30> Section 2.2.5.6.3: The Get Cluster Settings schema is not supported by SQL Server earlier
than SQL Server 2019 CU9.
<31> Section 2.2.5.6.4: The Get Service Configuration Response Settings schema is not
supported by SQL Server earlier than SQL Server 2019 CU9.
<32> Section 2.2.5.6.5: The Get Resource Settings schema is not supported by SQL Server earlier
than SQL Server 2019 CU9.
<33> Section 2.2.5.7: The KMS resource type is not supported by SQL Server earlier than SQL
Server 2019 Cumulative Update 11 (CU11).
<34> Section 2.2.5.7.1: The Update KMS Configuration Request schema is not supported by SQL
Server earlier than SQL Server 2019 CU11.
<35> Section 2.2.5.7.2: The Show KMS Configuration Response schema is not supported by SQL
Server earlier than SQL Server 2019 CU11.
<36> Section 3.1.5.7: The Config API is not supported by SQL Server earlier than SQL Server 2019
CU9. Note that as such, the methods of the Config API do not support the "v1" value of the uriVersion
parameter.
<37> Section 3.1.5.7.1: The Apply Configuration Settings method is not supported by SQL Server
earlier than SQL Server 2019 CU9.
<38> Section 3.1.5.7.2: The Revert Pending Configuration Settings method is not supported by
SQL Server earlier than SQL Server 2019 CU9.
<39> Section 3.1.5.7.3: The Set Cluster Configuration Settings method is not supported by SQL
Server earlier than SQL Server 2019 CU9.
<40> Section 3.1.5.7.4: The Get Cluster Configuration Settings method is not supported by SQL
Server earlier than SQL Server 2019 CU9.
<41> Section 3.1.5.7.5: The Set Service Configuration Settings method is not supported by SQL
Server earlier than SQL Server 2019 CU9.
<42> Section 3.1.5.7.6: The Get Service Configuration Settings method is not supported by SQL
Server 2019 CU9.
<43> Section 3.1.5.7.7: The Set Resource Configuration Settings method is not supported by
SQL Server earlier than SQL Server 2019 CU9.
<44> Section 3.1.5.7.8: The Get Resource Configuration Settings method is not supported by
SQL Server earlier than SQL Server 2019 CU9.
<45> Section 3.1.5.8: The KMS API is not supported by SQL Server earlier than SQL Server 2019
CU11.
<46> Section 3.1.5.8.1: The Update KMS Configuration method is not supported by SQL Server
earlier than SQL Server 2019 CU11.
<47> Section 3.1.5.8.2: The Show KMS Configuration method is not supported by SQL Server
earlier than SQL Server 2019 CU11.
221 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
8 Change Tracking
No table of changes is available. The document is either new or has had no changes since its last
release.
222 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
9 Index
A Retrieve Cluster Configuration Settings example
177
App 85 Retrieve Resource Configuration Settings example
Applicability 16 178
Retrieve Service Configuration Settings example
B 178
Run an Application example 176
Big Data Cluster 19 Set Configuration Settings example 177
Show KMS Configuration example 179
C Update KMS Configuration example 179
Upgrade the Big Data Cluster example 173
Capability negotiation 16
Change tracking 222 F
Common
Abstract data model 113 Fields - vendor-extensible 16
Higher-layer triggered events 113 Full JSON schema 181
Initialization 113
Message processing events and sequencing rules G
113
Other local events 150 Glossary 11
Timer events 150
Timers 113 H
Config 96
Headers
E version 17
X-RequestID 17
Elements 18 Home 94
App 85 HTTP headers 17
Big Data Cluster 19 HTTP methods 17
Config 96
Home 94 I
KMS 109
Storage 83 Implementer - security considerations 180
Token 93 Index of security parameters 180
Examples Informative references 15
Apply Configuration Settings example 177 Introduction 11
Check Mount Status example 175
Check on the Progress of the Big Data Cluster J
Deployment example 156
Check on the Results of a Request to Run an JSON schema 181
Application example 176
Check on the Status of the Big Data Cluster K
example 159
Check the Control Plane Status example 152 KMS 109
Create a Big Data Cluster example 153
Deploy an Application example 175 M
Expose a Big Data Cluster Endpoint example 174
Receive a List of Information About All the Exposed Messages
Big Data Cluster Endpoints example 173 transport 17
Receive a Response Returned from a Ping on the
Controller example 177
N
Receive an Application Specification example 175
Receive an Authentication Token example 176
Namespaces 17
Receive an Error in the Big Data Cluster
Normative references 13
Deployment example 159
Receive Cluster Information example 177
Receive Service Resource Status Information O
example 173
Receive Service Status Information example 171 Overview (synopsis) 15
Receive the State and Configuration of the Big
Data Cluster example 162 P
223 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022
Parameters - security index 180
Preconditions 16 V
Prerequisites 16
Product behavior 219 Vendor-extensible fields 16
Protocol Details version 17
Cluster Admin 150 Versioning 16
Common 113
Protocol examples X
Apply Configuration Settings 177
Check Mount Status 175 X-RequestID 17
Check on the Progress of the Big Data Cluster
Deployment 156
Check on the Results of a Request to Run an
Application 176
Check on the Status of the Big Data Cluster 159
Check the Control Plane Status 152
Create a Big Data Cluster 153
Deploy an Application 175
Expose a Big Data Cluster Endpoint 174
Receive a List of Information About All the Exposed
Big Data Cluster Endpoints 173
Receive a Response Returned from a Ping on the
Controller 177
Receive an Application Specification 175
Receive an Authentication Token 176
Receive an Error in the Big Data Cluster
Deployment 159
Receive Cluster Information 177
Receive Service Resource Status Information 173
Receive Service Status Information 171
Receive the State and Configuration of the Big
Data Cluster 162
Retrieve Cluster Configuration Settings 177
Retrieve Resource Configuration Settings 178
Retrieve Service Configuration Settings 178
Run an Application 176
Set Configuration Settings 177
Show KMS Configuration 179
Update KMS Configuration 179
Upgrade the Big Data Cluster 173
References
informative 15
normative 13
Relationship to other protocols 16
Security
implementer considerations 180
parameter index 180
Standards assignments 16
Storage 83
Token 93
Tracking changes 222
Transport 17
elements 18
HTTP headers 17
HTTP methods 17
namespaces 17
224 / 224
[MS-CPREST] - v20221101
Control Plane REST API
Copyright © 2022 Microsoft Corporation
Release: November 1, 2022