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.
 
 
 

318 lines
14 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. }
  9. }
  10. },
  11. "basePath": "",
  12. "baseUrl": "https://iap.googleapis.com/",
  13. "batchPath": "batch",
  14. "canonicalName": "Cloud IAP",
  15. "description": "Controls access to cloud applications running on Google Cloud Platform.",
  16. "discoveryVersion": "v1",
  17. "documentationLink": "https://cloud.google.com/iap",
  18. "fullyEncodeReservedExpansion": true,
  19. "icons": {
  20. "x16": "http://www.google.com/images/icons/product/search-16.gif",
  21. "x32": "http://www.google.com/images/icons/product/search-32.gif"
  22. },
  23. "id": "iap:v1beta1",
  24. "kind": "discovery#restDescription",
  25. "name": "iap",
  26. "ownerDomain": "google.com",
  27. "ownerName": "Google",
  28. "parameters": {
  29. "$.xgafv": {
  30. "description": "V1 error format.",
  31. "enum": [
  32. "1",
  33. "2"
  34. ],
  35. "enumDescriptions": [
  36. "v1 error format",
  37. "v2 error format"
  38. ],
  39. "location": "query",
  40. "type": "string"
  41. },
  42. "access_token": {
  43. "description": "OAuth access token.",
  44. "location": "query",
  45. "type": "string"
  46. },
  47. "alt": {
  48. "default": "json",
  49. "description": "Data format for response.",
  50. "enum": [
  51. "json",
  52. "media",
  53. "proto"
  54. ],
  55. "enumDescriptions": [
  56. "Responses with Content-Type of application/json",
  57. "Media download with context-dependent Content-Type",
  58. "Responses with Content-Type of application/x-protobuf"
  59. ],
  60. "location": "query",
  61. "type": "string"
  62. },
  63. "callback": {
  64. "description": "JSONP",
  65. "location": "query",
  66. "type": "string"
  67. },
  68. "fields": {
  69. "description": "Selector specifying which fields to include in a partial response.",
  70. "location": "query",
  71. "type": "string"
  72. },
  73. "key": {
  74. "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.",
  75. "location": "query",
  76. "type": "string"
  77. },
  78. "oauth_token": {
  79. "description": "OAuth 2.0 token for the current user.",
  80. "location": "query",
  81. "type": "string"
  82. },
  83. "prettyPrint": {
  84. "default": "true",
  85. "description": "Returns response with indentations and line breaks.",
  86. "location": "query",
  87. "type": "boolean"
  88. },
  89. "quotaUser": {
  90. "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.",
  91. "location": "query",
  92. "type": "string"
  93. },
  94. "uploadType": {
  95. "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
  96. "location": "query",
  97. "type": "string"
  98. },
  99. "upload_protocol": {
  100. "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
  101. "location": "query",
  102. "type": "string"
  103. }
  104. },
  105. "protocol": "rest",
  106. "resources": {
  107. "v1beta1": {
  108. "methods": {
  109. "getIamPolicy": {
  110. "description": "Gets the access control policy for an Identity-Aware Proxy protected\nresource.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
  111. "flatPath": "v1beta1/{v1beta1Id}:getIamPolicy",
  112. "httpMethod": "POST",
  113. "id": "iap.getIamPolicy",
  114. "parameterOrder": [
  115. "resource"
  116. ],
  117. "parameters": {
  118. "resource": {
  119. "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
  120. "location": "path",
  121. "pattern": "^.+$",
  122. "required": true,
  123. "type": "string"
  124. }
  125. },
  126. "path": "v1beta1/{+resource}:getIamPolicy",
  127. "request": {
  128. "$ref": "GetIamPolicyRequest"
  129. },
  130. "response": {
  131. "$ref": "Policy"
  132. },
  133. "scopes": [
  134. "https://www.googleapis.com/auth/cloud-platform"
  135. ]
  136. },
  137. "setIamPolicy": {
  138. "description": "Sets the access control policy for an Identity-Aware Proxy protected\nresource. Replaces any existing policy.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
  139. "flatPath": "v1beta1/{v1beta1Id}:setIamPolicy",
  140. "httpMethod": "POST",
  141. "id": "iap.setIamPolicy",
  142. "parameterOrder": [
  143. "resource"
  144. ],
  145. "parameters": {
  146. "resource": {
  147. "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
  148. "location": "path",
  149. "pattern": "^.+$",
  150. "required": true,
  151. "type": "string"
  152. }
  153. },
  154. "path": "v1beta1/{+resource}:setIamPolicy",
  155. "request": {
  156. "$ref": "SetIamPolicyRequest"
  157. },
  158. "response": {
  159. "$ref": "Policy"
  160. },
  161. "scopes": [
  162. "https://www.googleapis.com/auth/cloud-platform"
  163. ]
  164. },
  165. "testIamPermissions": {
  166. "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected\nresource. If the resource does not exist or the caller does not have\nIdentity-Aware Proxy permissions a [google.rpc.Code.PERMISSION_DENIED]\nwill be returned.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
  167. "flatPath": "v1beta1/{v1beta1Id}:testIamPermissions",
  168. "httpMethod": "POST",
  169. "id": "iap.testIamPermissions",
  170. "parameterOrder": [
  171. "resource"
  172. ],
  173. "parameters": {
  174. "resource": {
  175. "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
  176. "location": "path",
  177. "pattern": "^.+$",
  178. "required": true,
  179. "type": "string"
  180. }
  181. },
  182. "path": "v1beta1/{+resource}:testIamPermissions",
  183. "request": {
  184. "$ref": "TestIamPermissionsRequest"
  185. },
  186. "response": {
  187. "$ref": "TestIamPermissionsResponse"
  188. },
  189. "scopes": [
  190. "https://www.googleapis.com/auth/cloud-platform"
  191. ]
  192. }
  193. }
  194. }
  195. },
  196. "revision": "20190306",
  197. "rootUrl": "https://iap.googleapis.com/",
  198. "schemas": {
  199. "Binding": {
  200. "description": "Associates `members` with a `role`.",
  201. "id": "Binding",
  202. "properties": {
  203. "condition": {
  204. "$ref": "Expr",
  205. "description": "Unimplemented. The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
  206. },
  207. "members": {
  208. "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n",
  209. "items": {
  210. "type": "string"
  211. },
  212. "type": "array"
  213. },
  214. "role": {
  215. "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
  216. "type": "string"
  217. }
  218. },
  219. "type": "object"
  220. },
  221. "Expr": {
  222. "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"",
  223. "id": "Expr",
  224. "properties": {
  225. "description": {
  226. "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
  227. "type": "string"
  228. },
  229. "expression": {
  230. "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.",
  231. "type": "string"
  232. },
  233. "location": {
  234. "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
  235. "type": "string"
  236. },
  237. "title": {
  238. "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
  239. "type": "string"
  240. }
  241. },
  242. "type": "object"
  243. },
  244. "GetIamPolicyRequest": {
  245. "description": "Request message for `GetIamPolicy` method.",
  246. "id": "GetIamPolicyRequest",
  247. "properties": {},
  248. "type": "object"
  249. },
  250. "Policy": {
  251. "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**JSON Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\n**YAML Example**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-other-app@appspot.gserviceaccount.com\n role: roles/owner\n - members:\n - user:sean@example.com\n role: roles/viewer\n\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam/docs).",
  252. "id": "Policy",
  253. "properties": {
  254. "bindings": {
  255. "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.",
  256. "items": {
  257. "$ref": "Binding"
  258. },
  259. "type": "array"
  260. },
  261. "etag": {
  262. "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
  263. "format": "byte",
  264. "type": "string"
  265. },
  266. "version": {
  267. "description": "Deprecated.",
  268. "format": "int32",
  269. "type": "integer"
  270. }
  271. },
  272. "type": "object"
  273. },
  274. "SetIamPolicyRequest": {
  275. "description": "Request message for `SetIamPolicy` method.",
  276. "id": "SetIamPolicyRequest",
  277. "properties": {
  278. "policy": {
  279. "$ref": "Policy",
  280. "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
  281. }
  282. },
  283. "type": "object"
  284. },
  285. "TestIamPermissionsRequest": {
  286. "description": "Request message for `TestIamPermissions` method.",
  287. "id": "TestIamPermissionsRequest",
  288. "properties": {
  289. "permissions": {
  290. "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
  291. "items": {
  292. "type": "string"
  293. },
  294. "type": "array"
  295. }
  296. },
  297. "type": "object"
  298. },
  299. "TestIamPermissionsResponse": {
  300. "description": "Response message for `TestIamPermissions` method.",
  301. "id": "TestIamPermissionsResponse",
  302. "properties": {
  303. "permissions": {
  304. "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
  305. "items": {
  306. "type": "string"
  307. },
  308. "type": "array"
  309. }
  310. },
  311. "type": "object"
  312. }
  313. },
  314. "servicePath": "",
  315. "title": "Cloud Identity-Aware Proxy API",
  316. "version": "v1beta1",
  317. "version_module": true
  318. }