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.
 
 
 

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