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.
 
 
 

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