You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

465 lines
16 KiB

  1. {
  2. "auth": {
  3. "oauth2": {
  4. "scopes": {
  5. "https://www.googleapis.com/auth/cloud-platform": {
  6. "description": "View and manage your data across Google Cloud Platform services"
  7. },
  8. "https://www.googleapis.com/auth/cloud-platform.read-only": {
  9. "description": "View your data across Google Cloud Platform services"
  10. },
  11. "https://www.googleapis.com/auth/compute": {
  12. "description": "View and manage your Google Compute Engine resources"
  13. },
  14. "https://www.googleapis.com/auth/compute.readonly": {
  15. "description": "View your Google Compute Engine resources"
  16. }
  17. }
  18. }
  19. },
  20. "basePath": "",
  21. "baseUrl": "https://oslogin.googleapis.com/",
  22. "batchPath": "batch",
  23. "canonicalName": "Cloud OS Login",
  24. "description": "Manages OS login configuration for Google account users.",
  25. "discoveryVersion": "v1",
  26. "documentationLink": "https://cloud.google.com/compute/docs/oslogin/",
  27. "fullyEncodeReservedExpansion": true,
  28. "icons": {
  29. "x16": "http://www.google.com/images/icons/product/search-16.gif",
  30. "x32": "http://www.google.com/images/icons/product/search-32.gif"
  31. },
  32. "id": "oslogin:v1alpha",
  33. "kind": "discovery#restDescription",
  34. "name": "oslogin",
  35. "ownerDomain": "google.com",
  36. "ownerName": "Google",
  37. "parameters": {
  38. "$.xgafv": {
  39. "description": "V1 error format.",
  40. "enum": [
  41. "1",
  42. "2"
  43. ],
  44. "enumDescriptions": [
  45. "v1 error format",
  46. "v2 error format"
  47. ],
  48. "location": "query",
  49. "type": "string"
  50. },
  51. "access_token": {
  52. "description": "OAuth access token.",
  53. "location": "query",
  54. "type": "string"
  55. },
  56. "alt": {
  57. "default": "json",
  58. "description": "Data format for response.",
  59. "enum": [
  60. "json",
  61. "media",
  62. "proto"
  63. ],
  64. "enumDescriptions": [
  65. "Responses with Content-Type of application/json",
  66. "Media download with context-dependent Content-Type",
  67. "Responses with Content-Type of application/x-protobuf"
  68. ],
  69. "location": "query",
  70. "type": "string"
  71. },
  72. "callback": {
  73. "description": "JSONP",
  74. "location": "query",
  75. "type": "string"
  76. },
  77. "fields": {
  78. "description": "Selector specifying which fields to include in a partial response.",
  79. "location": "query",
  80. "type": "string"
  81. },
  82. "key": {
  83. "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
  84. "location": "query",
  85. "type": "string"
  86. },
  87. "oauth_token": {
  88. "description": "OAuth 2.0 token for the current user.",
  89. "location": "query",
  90. "type": "string"
  91. },
  92. "prettyPrint": {
  93. "default": "true",
  94. "description": "Returns response with indentations and line breaks.",
  95. "location": "query",
  96. "type": "boolean"
  97. },
  98. "quotaUser": {
  99. "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
  100. "location": "query",
  101. "type": "string"
  102. },
  103. "uploadType": {
  104. "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
  105. "location": "query",
  106. "type": "string"
  107. },
  108. "upload_protocol": {
  109. "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
  110. "location": "query",
  111. "type": "string"
  112. }
  113. },
  114. "protocol": "rest",
  115. "resources": {
  116. "users": {
  117. "methods": {
  118. "getLoginProfile": {
  119. "description": "Retrieves the profile information used for logging in to a virtual machine\non Google Compute Engine.",
  120. "flatPath": "v1alpha/users/{usersId}/loginProfile",
  121. "httpMethod": "GET",
  122. "id": "oslogin.users.getLoginProfile",
  123. "parameterOrder": [
  124. "name"
  125. ],
  126. "parameters": {
  127. "name": {
  128. "description": "The unique ID for the user in format `users/{user}`.",
  129. "location": "path",
  130. "pattern": "^users/[^/]+$",
  131. "required": true,
  132. "type": "string"
  133. },
  134. "operatingSystemType": {
  135. "description": "The type of operating system associated with the account.",
  136. "enum": [
  137. "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
  138. "LINUX",
  139. "WINDOWS"
  140. ],
  141. "location": "query",
  142. "type": "string"
  143. },
  144. "projectId": {
  145. "description": "The project ID of the Google Cloud Platform project.",
  146. "location": "query",
  147. "type": "string"
  148. },
  149. "systemId": {
  150. "description": "A system ID for filtering the results of the request.",
  151. "location": "query",
  152. "type": "string"
  153. }
  154. },
  155. "path": "v1alpha/{+name}/loginProfile",
  156. "response": {
  157. "$ref": "LoginProfile"
  158. },
  159. "scopes": [
  160. "https://www.googleapis.com/auth/cloud-platform",
  161. "https://www.googleapis.com/auth/cloud-platform.read-only",
  162. "https://www.googleapis.com/auth/compute",
  163. "https://www.googleapis.com/auth/compute.readonly"
  164. ]
  165. },
  166. "importSshPublicKey": {
  167. "description": "Adds an SSH public key and returns the profile information. Default POSIX\naccount information is set when no username and UID exist as part of the\nlogin profile.",
  168. "flatPath": "v1alpha/users/{usersId}:importSshPublicKey",
  169. "httpMethod": "POST",
  170. "id": "oslogin.users.importSshPublicKey",
  171. "parameterOrder": [
  172. "parent"
  173. ],
  174. "parameters": {
  175. "parent": {
  176. "description": "The unique ID for the user in format `users/{user}`.",
  177. "location": "path",
  178. "pattern": "^users/[^/]+$",
  179. "required": true,
  180. "type": "string"
  181. },
  182. "projectId": {
  183. "description": "The project ID of the Google Cloud Platform project.",
  184. "location": "query",
  185. "type": "string"
  186. }
  187. },
  188. "path": "v1alpha/{+parent}:importSshPublicKey",
  189. "request": {
  190. "$ref": "SshPublicKey"
  191. },
  192. "response": {
  193. "$ref": "ImportSshPublicKeyResponse"
  194. },
  195. "scopes": [
  196. "https://www.googleapis.com/auth/cloud-platform",
  197. "https://www.googleapis.com/auth/compute"
  198. ]
  199. }
  200. },
  201. "resources": {
  202. "projects": {
  203. "methods": {
  204. "delete": {
  205. "description": "Deletes a POSIX account.",
  206. "flatPath": "v1alpha/users/{usersId}/projects/{projectsId}",
  207. "httpMethod": "DELETE",
  208. "id": "oslogin.users.projects.delete",
  209. "parameterOrder": [
  210. "name"
  211. ],
  212. "parameters": {
  213. "name": {
  214. "description": "A reference to the POSIX account to update. POSIX accounts are identified\nby the project ID they are associated with. A reference to the POSIX\naccount is in format `users/{user}/projects/{project}`.",
  215. "location": "path",
  216. "pattern": "^users/[^/]+/projects/[^/]+$",
  217. "required": true,
  218. "type": "string"
  219. },
  220. "operatingSystemType": {
  221. "description": "The type of operating system associated with the account.",
  222. "enum": [
  223. "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
  224. "LINUX",
  225. "WINDOWS"
  226. ],
  227. "location": "query",
  228. "type": "string"
  229. }
  230. },
  231. "path": "v1alpha/{+name}",
  232. "response": {
  233. "$ref": "Empty"
  234. },
  235. "scopes": [
  236. "https://www.googleapis.com/auth/cloud-platform",
  237. "https://www.googleapis.com/auth/compute"
  238. ]
  239. }
  240. }
  241. },
  242. "sshPublicKeys": {
  243. "methods": {
  244. "delete": {
  245. "description": "Deletes an SSH public key.",
  246. "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
  247. "httpMethod": "DELETE",
  248. "id": "oslogin.users.sshPublicKeys.delete",
  249. "parameterOrder": [
  250. "name"
  251. ],
  252. "parameters": {
  253. "name": {
  254. "description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.",
  255. "location": "path",
  256. "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
  257. "required": true,
  258. "type": "string"
  259. }
  260. },
  261. "path": "v1alpha/{+name}",
  262. "response": {
  263. "$ref": "Empty"
  264. },
  265. "scopes": [
  266. "https://www.googleapis.com/auth/cloud-platform",
  267. "https://www.googleapis.com/auth/compute"
  268. ]
  269. },
  270. "get": {
  271. "description": "Retrieves an SSH public key.",
  272. "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
  273. "httpMethod": "GET",
  274. "id": "oslogin.users.sshPublicKeys.get",
  275. "parameterOrder": [
  276. "name"
  277. ],
  278. "parameters": {
  279. "name": {
  280. "description": "The fingerprint of the public key to retrieve. Public keys are identified\nby their SHA-256 fingerprint. The fingerprint of the public key is in\nformat `users/{user}/sshPublicKeys/{fingerprint}`.",
  281. "location": "path",
  282. "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
  283. "required": true,
  284. "type": "string"
  285. }
  286. },
  287. "path": "v1alpha/{+name}",
  288. "response": {
  289. "$ref": "SshPublicKey"
  290. },
  291. "scopes": [
  292. "https://www.googleapis.com/auth/cloud-platform",
  293. "https://www.googleapis.com/auth/compute"
  294. ]
  295. },
  296. "patch": {
  297. "description": "Updates an SSH public key and returns the profile information. This method\nsupports patch semantics.",
  298. "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
  299. "httpMethod": "PATCH",
  300. "id": "oslogin.users.sshPublicKeys.patch",
  301. "parameterOrder": [
  302. "name"
  303. ],
  304. "parameters": {
  305. "name": {
  306. "description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.",
  307. "location": "path",
  308. "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
  309. "required": true,
  310. "type": "string"
  311. },
  312. "updateMask": {
  313. "description": "Mask to control which fields get updated. Updates all if not present.",
  314. "format": "google-fieldmask",
  315. "location": "query",
  316. "type": "string"
  317. }
  318. },
  319. "path": "v1alpha/{+name}",
  320. "request": {
  321. "$ref": "SshPublicKey"
  322. },
  323. "response": {
  324. "$ref": "SshPublicKey"
  325. },
  326. "scopes": [
  327. "https://www.googleapis.com/auth/cloud-platform",
  328. "https://www.googleapis.com/auth/compute"
  329. ]
  330. }
  331. }
  332. }
  333. }
  334. }
  335. },
  336. "revision": "20190107",
  337. "rootUrl": "https://oslogin.googleapis.com/",
  338. "schemas": {
  339. "Empty": {
  340. "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
  341. "id": "Empty",
  342. "properties": {},
  343. "type": "object"
  344. },
  345. "ImportSshPublicKeyResponse": {
  346. "description": "A response message from importing an SSH public key.",
  347. "id": "ImportSshPublicKeyResponse",
  348. "properties": {
  349. "loginProfile": {
  350. "$ref": "LoginProfile",
  351. "description": "The login profile information for the user."
  352. }
  353. },
  354. "type": "object"
  355. },
  356. "LoginProfile": {
  357. "description": "The user profile information used for logging in to a virtual machine on\nGoogle Compute Engine.",
  358. "id": "LoginProfile",
  359. "properties": {
  360. "name": {
  361. "description": "A unique user ID.",
  362. "type": "string"
  363. },
  364. "posixAccounts": {
  365. "description": "The list of POSIX accounts associated with the user.",
  366. "items": {
  367. "$ref": "PosixAccount"
  368. },
  369. "type": "array"
  370. },
  371. "sshPublicKeys": {
  372. "additionalProperties": {
  373. "$ref": "SshPublicKey"
  374. },
  375. "description": "A map from SSH public key fingerprint to the associated key object.",
  376. "type": "object"
  377. }
  378. },
  379. "type": "object"
  380. },
  381. "PosixAccount": {
  382. "description": "The POSIX account information associated with a Google account.",
  383. "id": "PosixAccount",
  384. "properties": {
  385. "accountId": {
  386. "description": "Output only. A POSIX account identifier.",
  387. "type": "string"
  388. },
  389. "gecos": {
  390. "description": "The GECOS (user information) entry for this account.",
  391. "type": "string"
  392. },
  393. "gid": {
  394. "description": "The default group ID.",
  395. "format": "int64",
  396. "type": "string"
  397. },
  398. "homeDirectory": {
  399. "description": "The path to the home directory for this account.",
  400. "type": "string"
  401. },
  402. "operatingSystemType": {
  403. "description": "The operating system type where this account applies.",
  404. "enum": [
  405. "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
  406. "LINUX",
  407. "WINDOWS"
  408. ],
  409. "enumDescriptions": [
  410. "The operating system type associated with the user account information is\nunspecified.",
  411. "Linux user account information.",
  412. "Windows user account information."
  413. ],
  414. "type": "string"
  415. },
  416. "primary": {
  417. "description": "Only one POSIX account can be marked as primary.",
  418. "type": "boolean"
  419. },
  420. "shell": {
  421. "description": "The path to the logic shell for this account.",
  422. "type": "string"
  423. },
  424. "systemId": {
  425. "description": "System identifier for which account the username or uid applies to.\nBy default, the empty value is used.",
  426. "type": "string"
  427. },
  428. "uid": {
  429. "description": "The user ID.",
  430. "format": "int64",
  431. "type": "string"
  432. },
  433. "username": {
  434. "description": "The username of the POSIX account.",
  435. "type": "string"
  436. }
  437. },
  438. "type": "object"
  439. },
  440. "SshPublicKey": {
  441. "description": "The SSH public key information associated with a Google account.",
  442. "id": "SshPublicKey",
  443. "properties": {
  444. "expirationTimeUsec": {
  445. "description": "An expiration time in microseconds since epoch.",
  446. "format": "int64",
  447. "type": "string"
  448. },
  449. "fingerprint": {
  450. "description": "Output only. The SHA-256 fingerprint of the SSH public key.",
  451. "type": "string"
  452. },
  453. "key": {
  454. "description": "Public key text in SSH format, defined by\n\u003ca href=\"https://www.ietf.org/rfc/rfc4253.txt\" target=\"_blank\"\u003eRFC4253\u003c/a\u003e\nsection 6.6.",
  455. "type": "string"
  456. }
  457. },
  458. "type": "object"
  459. }
  460. },
  461. "servicePath": "",
  462. "title": "Cloud OS Login API",
  463. "version": "v1alpha",
  464. "version_module": true
  465. }