google-api-client 0.52.0 → 0.53.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -14
  3. data/CHANGELOG.md +6 -0
  4. data/OVERVIEW.md +36 -27
  5. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  6. data/generated/google/apis/accesscontextmanager_v1/classes.rb +326 -0
  7. data/generated/google/apis/accesscontextmanager_v1/representations.rb +139 -0
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/service.rb +2 -2
  10. data/generated/google/apis/analyticsadmin_v1alpha.rb +2 -2
  11. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +8 -0
  12. data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +1 -0
  13. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +12 -1
  14. data/{lib/google/apis/core/logging.rb → generated/google/apis/apigateway_v1.rb} +14 -10
  15. data/generated/google/apis/apigateway_v1/classes.rb +1116 -0
  16. data/generated/google/apis/apigateway_v1/representations.rb +442 -0
  17. data/generated/google/apis/apigateway_v1/service.rb +1172 -0
  18. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  19. data/generated/google/apis/apigateway_v1beta/classes.rb +19 -8
  20. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -0
  21. data/generated/google/apis/apigee_v1.rb +1 -1
  22. data/generated/google/apis/apigee_v1/classes.rb +24 -22
  23. data/generated/google/apis/apigee_v1/service.rb +50 -48
  24. data/generated/google/apis/artifactregistry_v1.rb +38 -0
  25. data/generated/google/apis/artifactregistry_v1/classes.rb +242 -0
  26. data/generated/google/apis/artifactregistry_v1/representations.rb +116 -0
  27. data/generated/google/apis/artifactregistry_v1/service.rb +210 -0
  28. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  29. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -120
  30. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -62
  31. data/generated/google/apis/artifactregistry_v1beta2.rb +1 -1
  32. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +0 -120
  33. data/generated/google/apis/artifactregistry_v1beta2/representations.rb +0 -62
  34. data/generated/google/apis/chat_v1.rb +1 -1
  35. data/generated/google/apis/chat_v1/service.rb +132 -0
  36. data/generated/google/apis/cloudasset_v1.rb +1 -1
  37. data/generated/google/apis/cloudasset_v1/classes.rb +326 -0
  38. data/generated/google/apis/cloudasset_v1/representations.rb +139 -0
  39. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  40. data/generated/google/apis/cloudasset_v1beta1/classes.rb +326 -0
  41. data/generated/google/apis/cloudasset_v1beta1/representations.rb +139 -0
  42. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  43. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +326 -0
  44. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +139 -0
  45. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  46. data/generated/google/apis/cloudbuild_v1/classes.rb +3 -3
  47. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  48. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +3 -3
  49. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  50. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +3 -3
  51. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  52. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1 -1
  53. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  54. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +0 -26
  55. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +0 -24
  56. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +0 -26
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +0 -24
  59. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +0 -26
  61. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +0 -24
  62. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  63. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +0 -26
  64. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +0 -24
  65. data/generated/google/apis/container_v1.rb +1 -1
  66. data/generated/google/apis/container_v1/classes.rb +7 -7
  67. data/generated/google/apis/container_v1beta1.rb +1 -1
  68. data/generated/google/apis/container_v1beta1/classes.rb +7 -7
  69. data/generated/google/apis/content_v2_1.rb +1 -1
  70. data/generated/google/apis/content_v2_1/classes.rb +434 -0
  71. data/generated/google/apis/content_v2_1/representations.rb +187 -0
  72. data/generated/google/apis/content_v2_1/service.rb +116 -0
  73. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  74. data/generated/google/apis/datacatalog_v1beta1/classes.rb +6 -0
  75. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  76. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  77. data/generated/google/apis/datalabeling_v1beta1.rb +1 -1
  78. data/generated/google/apis/dataproc_v1.rb +1 -1
  79. data/generated/google/apis/dataproc_v1/classes.rb +29 -1
  80. data/generated/google/apis/dataproc_v1/representations.rb +14 -0
  81. data/generated/google/apis/dataproc_v1/service.rb +42 -0
  82. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  83. data/generated/google/apis/dataproc_v1beta2/classes.rb +29 -1
  84. data/generated/google/apis/dataproc_v1beta2/representations.rb +14 -0
  85. data/generated/google/apis/dataproc_v1beta2/service.rb +42 -0
  86. data/generated/google/apis/dialogflow_v2.rb +1 -1
  87. data/generated/google/apis/dialogflow_v2/classes.rb +4041 -678
  88. data/generated/google/apis/dialogflow_v2/representations.rb +1851 -298
  89. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  90. data/generated/google/apis/dialogflow_v2beta1/classes.rb +4047 -684
  91. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1862 -309
  92. data/generated/google/apis/dialogflow_v3.rb +1 -1
  93. data/generated/google/apis/dialogflow_v3/classes.rb +3120 -311
  94. data/generated/google/apis/dialogflow_v3/representations.rb +2002 -617
  95. data/generated/google/apis/dialogflow_v3/service.rb +408 -0
  96. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  97. data/generated/google/apis/dialogflow_v3beta1/classes.rb +5145 -2336
  98. data/generated/google/apis/dialogflow_v3beta1/representations.rb +1729 -344
  99. data/generated/google/apis/dialogflow_v3beta1/service.rb +408 -0
  100. data/generated/google/apis/dlp_v2.rb +1 -1
  101. data/generated/google/apis/dlp_v2/service.rb +3 -9
  102. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  103. data/generated/google/apis/documentai_v1beta2/classes.rb +5 -92
  104. data/generated/google/apis/documentai_v1beta2/representations.rb +2 -15
  105. data/generated/google/apis/documentai_v1beta3.rb +1 -1
  106. data/generated/google/apis/documentai_v1beta3/classes.rb +5 -92
  107. data/generated/google/apis/documentai_v1beta3/representations.rb +2 -15
  108. data/generated/google/apis/gameservices_v1.rb +1 -1
  109. data/generated/google/apis/gameservices_v1/service.rb +14 -14
  110. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  111. data/generated/google/apis/gameservices_v1beta/service.rb +14 -14
  112. data/generated/google/apis/localservices_v1.rb +4 -1
  113. data/generated/google/apis/manufacturers_v1.rb +1 -1
  114. data/generated/google/apis/manufacturers_v1/classes.rb +2 -2
  115. data/generated/google/apis/monitoring_v3.rb +1 -1
  116. data/generated/google/apis/monitoring_v3/classes.rb +2 -2
  117. data/generated/google/apis/notebooks_v1.rb +1 -1
  118. data/generated/google/apis/notebooks_v1/classes.rb +13 -0
  119. data/generated/google/apis/notebooks_v1/representations.rb +12 -0
  120. data/generated/google/apis/notebooks_v1/service.rb +34 -0
  121. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  122. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +0 -37
  123. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +0 -18
  124. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  125. data/generated/google/apis/recommendationengine_v1beta1/service.rb +2 -1
  126. data/generated/google/apis/securitycenter_v1.rb +1 -1
  127. data/generated/google/apis/securitycenter_v1/classes.rb +18 -10
  128. data/generated/google/apis/securitycenter_v1/representations.rb +1 -0
  129. data/generated/google/apis/securitycenter_v1/service.rb +30 -30
  130. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  131. data/generated/google/apis/securitycenter_v1beta1/classes.rb +7 -0
  132. data/generated/google/apis/securitycenter_v1beta1/representations.rb +1 -0
  133. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  134. data/generated/google/apis/securitycenter_v1beta2/classes.rb +7 -0
  135. data/generated/google/apis/securitycenter_v1beta2/representations.rb +1 -0
  136. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  137. data/generated/google/apis/servicemanagement_v1/classes.rb +11 -10
  138. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  139. data/generated/google/apis/sqladmin_v1beta4/classes.rb +7 -7
  140. data/generated/google/apis/sqladmin_v1beta4/service.rb +4 -1
  141. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  142. data/generated/google/apis/storagetransfer_v1/classes.rb +25 -0
  143. data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
  144. data/generated/google/apis/webmasters_v3/classes.rb +8 -0
  145. data/generated/google/apis/webmasters_v3/representations.rb +1 -0
  146. data/generated/google/apis/youtube_v3.rb +1 -1
  147. data/generated/google/apis/youtube_v3/classes.rb +18 -143
  148. data/generated/google/apis/youtube_v3/representations.rb +0 -57
  149. data/generated/google/apis/youtube_v3/service.rb +0 -43
  150. data/lib/google/apis/version.rb +1 -23
  151. metadata +27 -263
  152. data/.github/CONTRIBUTING.md +0 -31
  153. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -36
  154. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -21
  155. data/.github/ISSUE_TEMPLATE/support_request.md +0 -7
  156. data/.github/workflows/autoapprove.yml +0 -49
  157. data/.github/workflows/release-please.yml +0 -57
  158. data/.gitignore +0 -23
  159. data/.kokoro/build.bat +0 -11
  160. data/.kokoro/build.sh +0 -4
  161. data/.kokoro/continuous/common.cfg +0 -25
  162. data/.kokoro/continuous/linux.cfg +0 -25
  163. data/.kokoro/continuous/osx.cfg +0 -8
  164. data/.kokoro/continuous/post.cfg +0 -30
  165. data/.kokoro/continuous/windows.cfg +0 -29
  166. data/.kokoro/osx.sh +0 -4
  167. data/.kokoro/presubmit/common.cfg +0 -24
  168. data/.kokoro/presubmit/linux.cfg +0 -24
  169. data/.kokoro/presubmit/osx.cfg +0 -8
  170. data/.kokoro/presubmit/windows.cfg +0 -29
  171. data/.kokoro/release.cfg +0 -94
  172. data/.kokoro/trampoline.bat +0 -10
  173. data/.kokoro/trampoline.sh +0 -4
  174. data/.repo-metadata.json +0 -5
  175. data/.rspec +0 -2
  176. data/.rubocop.yml +0 -12
  177. data/.rubocop_todo.yml +0 -63
  178. data/CODE_OF_CONDUCT.md +0 -43
  179. data/Gemfile +0 -55
  180. data/MIGRATING.md +0 -215
  181. data/README.md +0 -402
  182. data/Rakefile +0 -131
  183. data/api_list_config.yaml +0 -9
  184. data/api_names.yaml +0 -1082
  185. data/bin/generate-api +0 -194
  186. data/docs/api-keys.md +0 -20
  187. data/docs/auth.md +0 -53
  188. data/docs/client-secrets.md +0 -69
  189. data/docs/getting-started.md +0 -340
  190. data/docs/installation.md +0 -0
  191. data/docs/logging.md +0 -34
  192. data/docs/media-upload.md +0 -25
  193. data/docs/oauth-installed.md +0 -191
  194. data/docs/oauth-server.md +0 -133
  195. data/docs/oauth-web.md +0 -280
  196. data/docs/oauth.md +0 -268
  197. data/docs/pagination.md +0 -29
  198. data/docs/performance.md +0 -25
  199. data/google-api-client.gemspec +0 -36
  200. data/lib/google/api_client/auth/installed_app.rb +0 -143
  201. data/lib/google/api_client/auth/key_utils.rb +0 -94
  202. data/lib/google/api_client/auth/storage.rb +0 -104
  203. data/lib/google/api_client/auth/storages/file_store.rb +0 -57
  204. data/lib/google/api_client/auth/storages/redis_store.rb +0 -59
  205. data/lib/google/api_client/client_secrets.rb +0 -176
  206. data/lib/google/apis.rb +0 -58
  207. data/lib/google/apis/core/api_command.rb +0 -209
  208. data/lib/google/apis/core/base_service.rb +0 -447
  209. data/lib/google/apis/core/batch.rb +0 -236
  210. data/lib/google/apis/core/composite_io.rb +0 -97
  211. data/lib/google/apis/core/download.rb +0 -118
  212. data/lib/google/apis/core/hashable.rb +0 -44
  213. data/lib/google/apis/core/http_command.rb +0 -447
  214. data/lib/google/apis/core/json_representation.rb +0 -153
  215. data/lib/google/apis/core/multipart.rb +0 -135
  216. data/lib/google/apis/core/upload.rb +0 -273
  217. data/lib/google/apis/errors.rb +0 -89
  218. data/lib/google/apis/generator.rb +0 -71
  219. data/lib/google/apis/generator/annotator.rb +0 -339
  220. data/lib/google/apis/generator/helpers.rb +0 -76
  221. data/lib/google/apis/generator/model.rb +0 -187
  222. data/lib/google/apis/generator/template.rb +0 -124
  223. data/lib/google/apis/generator/templates/_class.tmpl +0 -43
  224. data/lib/google/apis/generator/templates/_method.tmpl +0 -92
  225. data/lib/google/apis/generator/templates/_representation.tmpl +0 -51
  226. data/lib/google/apis/generator/templates/_representation_stub.tmpl +0 -17
  227. data/lib/google/apis/generator/templates/_representation_type.tmpl +0 -10
  228. data/lib/google/apis/generator/templates/classes.rb.tmpl +0 -29
  229. data/lib/google/apis/generator/templates/module.rb.tmpl +0 -40
  230. data/lib/google/apis/generator/templates/representations.rb.tmpl +0 -32
  231. data/lib/google/apis/generator/templates/service.rb.tmpl +0 -61
  232. data/lib/google/apis/options.rb +0 -116
  233. data/rakelib/devsite/devsite_builder.rb +0 -126
  234. data/rakelib/devsite/link_checker.rb +0 -64
  235. data/rakelib/devsite/repo_metadata.rb +0 -56
  236. data/rakelib/metrics.rake +0 -22
  237. data/rakelib/rubocop.rake +0 -10
  238. data/rakelib/spec.rake +0 -11
  239. data/rakelib/yard.rake +0 -11
  240. data/samples/cli/.env +0 -4
  241. data/samples/cli/Gemfile +0 -7
  242. data/samples/cli/README.md +0 -51
  243. data/samples/cli/google-api-samples +0 -32
  244. data/samples/cli/lib/base_cli.rb +0 -95
  245. data/samples/cli/lib/samples/adsense.rb +0 -99
  246. data/samples/cli/lib/samples/analytics.rb +0 -80
  247. data/samples/cli/lib/samples/androidpublisher.rb +0 -47
  248. data/samples/cli/lib/samples/bigquery.rb +0 -101
  249. data/samples/cli/lib/samples/calendar.rb +0 -83
  250. data/samples/cli/lib/samples/drive.rb +0 -82
  251. data/samples/cli/lib/samples/gmail.rb +0 -157
  252. data/samples/cli/lib/samples/pubsub.rb +0 -114
  253. data/samples/cli/lib/samples/sheets.rb +0 -61
  254. data/samples/cli/lib/samples/translate.rb +0 -44
  255. data/samples/cli/lib/samples/vision.rb +0 -69
  256. data/samples/cli/lib/samples/you_tube.rb +0 -47
  257. data/samples/web/Gemfile +0 -9
  258. data/samples/web/README.md +0 -44
  259. data/samples/web/app.rb +0 -120
  260. data/samples/web/views/calendar.erb +0 -34
  261. data/samples/web/views/drive.erb +0 -33
  262. data/samples/web/views/home.erb +0 -34
  263. data/samples/web/views/layout.erb +0 -40
  264. data/synth.py +0 -40
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/asset-inventory/docs/quickstart
26
26
  module CloudassetV1
27
27
  VERSION = 'V1'
28
- REVISION = '20201204'
28
+ REVISION = '20201211'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -1433,6 +1433,36 @@ module Google
1433
1433
  end
1434
1434
  end
1435
1435
 
1436
+ # Identification for an API Operation.
1437
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
1438
+ include Google::Apis::Core::Hashable
1439
+
1440
+ # API methods or permissions to allow. Method or permission must belong to the
1441
+ # service specified by `service_name` field. A single MethodSelector entry with `
1442
+ # *` specified for the `method` field will allow all methods AND permissions for
1443
+ # the service specified in `service_name`.
1444
+ # Corresponds to the JSON property `methodSelectors`
1445
+ # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1MethodSelector>]
1446
+ attr_accessor :method_selectors
1447
+
1448
+ # The name of the API whose methods or permissions the IngressPolicy or
1449
+ # EgressPolicy want to allow. A single ApiOperation with `service_name` field
1450
+ # set to `*` will allow all methods AND permissions for all services.
1451
+ # Corresponds to the JSON property `serviceName`
1452
+ # @return [String]
1453
+ attr_accessor :service_name
1454
+
1455
+ def initialize(**args)
1456
+ update!(**args)
1457
+ end
1458
+
1459
+ # Update properties of this object
1460
+ def update!(**args)
1461
+ @method_selectors = args[:method_selectors] if args.key?(:method_selectors)
1462
+ @service_name = args[:service_name] if args.key?(:service_name)
1463
+ end
1464
+ end
1465
+
1436
1466
  # `BasicLevel` is an `AccessLevel` using a set of recommended features.
1437
1467
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
1438
1468
  include Google::Apis::Core::Hashable
@@ -1632,6 +1662,286 @@ module Google
1632
1662
  end
1633
1663
  end
1634
1664
 
1665
+ # Defines the conditions under which an EgressPolicy matches a request.
1666
+ # Conditions based on information about the source of the request. Note that if
1667
+ # the destination of the request is protected by a ServicePerimeter, then that
1668
+ # ServicePerimeter must have an IngressPolicy which allows access in order for
1669
+ # this request to succeed.
1670
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
1671
+ include Google::Apis::Core::Hashable
1672
+
1673
+ # A list of identities that are allowed access through this [EgressPolicy].
1674
+ # Should be in the format of email address. The email address should represent
1675
+ # individual user or service account only.
1676
+ # Corresponds to the JSON property `identities`
1677
+ # @return [Array<String>]
1678
+ attr_accessor :identities
1679
+
1680
+ # Specifies the type of identities that are allowed access to outside the
1681
+ # perimeter. If left unspecified, then members of `identities` field will be
1682
+ # allowed access.
1683
+ # Corresponds to the JSON property `identityType`
1684
+ # @return [String]
1685
+ attr_accessor :identity_type
1686
+
1687
+ def initialize(**args)
1688
+ update!(**args)
1689
+ end
1690
+
1691
+ # Update properties of this object
1692
+ def update!(**args)
1693
+ @identities = args[:identities] if args.key?(:identities)
1694
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
1695
+ end
1696
+ end
1697
+
1698
+ # Policy for egress from perimeter. EgressPolicies match requests based on `
1699
+ # egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `
1700
+ # egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy
1701
+ # matches a request, the request is allowed to span the ServicePerimeter
1702
+ # boundary. For example, an EgressPolicy can be used to allow VMs on networks
1703
+ # within the ServicePerimeter to access a defined set of projects outside the
1704
+ # perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket
1705
+ # or query against a BigQuery dataset). EgressPolicies are concerned with the *
1706
+ # resources* that a request relates as well as the API services and API actions
1707
+ # being used. They do not related to the direction of data movement. More
1708
+ # detailed documentation for this concept can be found in the descriptions of
1709
+ # EgressFrom and EgressTo.
1710
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
1711
+ include Google::Apis::Core::Hashable
1712
+
1713
+ # Defines the conditions under which an EgressPolicy matches a request.
1714
+ # Conditions based on information about the source of the request. Note that if
1715
+ # the destination of the request is protected by a ServicePerimeter, then that
1716
+ # ServicePerimeter must have an IngressPolicy which allows access in order for
1717
+ # this request to succeed.
1718
+ # Corresponds to the JSON property `egressFrom`
1719
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressFrom]
1720
+ attr_accessor :egress_from
1721
+
1722
+ # Defines the conditions under which an EgressPolicy matches a request.
1723
+ # Conditions are based on information about the ApiOperation intended to be
1724
+ # performed on the `resources` specified. Note that if the destination of the
1725
+ # request is protected by a ServicePerimeter, then that ServicePerimeter must
1726
+ # have an IngressPolicy which allows access in order for this request to succeed.
1727
+ # Corresponds to the JSON property `egressTo`
1728
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressTo]
1729
+ attr_accessor :egress_to
1730
+
1731
+ def initialize(**args)
1732
+ update!(**args)
1733
+ end
1734
+
1735
+ # Update properties of this object
1736
+ def update!(**args)
1737
+ @egress_from = args[:egress_from] if args.key?(:egress_from)
1738
+ @egress_to = args[:egress_to] if args.key?(:egress_to)
1739
+ end
1740
+ end
1741
+
1742
+ # Defines the conditions under which an EgressPolicy matches a request.
1743
+ # Conditions are based on information about the ApiOperation intended to be
1744
+ # performed on the `resources` specified. Note that if the destination of the
1745
+ # request is protected by a ServicePerimeter, then that ServicePerimeter must
1746
+ # have an IngressPolicy which allows access in order for this request to succeed.
1747
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
1748
+ include Google::Apis::Core::Hashable
1749
+
1750
+ # A list of ApiOperations that this egress rule applies to. A request matches if
1751
+ # it contains an operation/service in this list.
1752
+ # Corresponds to the JSON property `operations`
1753
+ # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1754
+ attr_accessor :operations
1755
+
1756
+ # A list of resources, currently only projects in the form `projects/`, that
1757
+ # match this to stanza. A request matches if it contains a resource in this list.
1758
+ # If `*` is specified for resources, then this EgressTo rule will authorize
1759
+ # access to all resources outside the perimeter.
1760
+ # Corresponds to the JSON property `resources`
1761
+ # @return [Array<String>]
1762
+ attr_accessor :resources
1763
+
1764
+ def initialize(**args)
1765
+ update!(**args)
1766
+ end
1767
+
1768
+ # Update properties of this object
1769
+ def update!(**args)
1770
+ @operations = args[:operations] if args.key?(:operations)
1771
+ @resources = args[:resources] if args.key?(:resources)
1772
+ end
1773
+ end
1774
+
1775
+ # Defines the conditions under which an IngressPolicy matches a request.
1776
+ # Conditions are based on information about the source of the request.
1777
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
1778
+ include Google::Apis::Core::Hashable
1779
+
1780
+ # A list of identities that are allowed access through this ingress policy.
1781
+ # Should be in the format of email address. The email address should represent
1782
+ # individual user or service account only.
1783
+ # Corresponds to the JSON property `identities`
1784
+ # @return [Array<String>]
1785
+ attr_accessor :identities
1786
+
1787
+ # Specifies the type of identities that are allowed access from outside the
1788
+ # perimeter. If left unspecified, then members of `identities` field will be
1789
+ # allowed access.
1790
+ # Corresponds to the JSON property `identityType`
1791
+ # @return [String]
1792
+ attr_accessor :identity_type
1793
+
1794
+ # Sources that this IngressPolicy authorizes access from.
1795
+ # Corresponds to the JSON property `sources`
1796
+ # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressSource>]
1797
+ attr_accessor :sources
1798
+
1799
+ def initialize(**args)
1800
+ update!(**args)
1801
+ end
1802
+
1803
+ # Update properties of this object
1804
+ def update!(**args)
1805
+ @identities = args[:identities] if args.key?(:identities)
1806
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
1807
+ @sources = args[:sources] if args.key?(:sources)
1808
+ end
1809
+ end
1810
+
1811
+ # Policy for ingress into ServicePerimeter. IngressPolicies match requests based
1812
+ # on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match,
1813
+ # both the `ingress_from` and `ingress_to` stanzas must be matched. If an
1814
+ # IngressPolicy matches a request, the request is allowed through the perimeter
1815
+ # boundary from outside the perimeter. For example, access from the internet can
1816
+ # be allowed either based on an AccessLevel or, for traffic hosted on Google
1817
+ # Cloud, the project of the source network. For access from private networks,
1818
+ # using the project of the hosting network is required. Individual ingress
1819
+ # policies can be limited by restricting which services and/or actions they
1820
+ # match using the `ingress_to` field.
1821
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
1822
+ include Google::Apis::Core::Hashable
1823
+
1824
+ # Defines the conditions under which an IngressPolicy matches a request.
1825
+ # Conditions are based on information about the source of the request.
1826
+ # Corresponds to the JSON property `ingressFrom`
1827
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressFrom]
1828
+ attr_accessor :ingress_from
1829
+
1830
+ # Defines the conditions under which an IngressPolicy matches a request.
1831
+ # Conditions are based on information about the ApiOperation intended to be
1832
+ # performed on the destination of the request.
1833
+ # Corresponds to the JSON property `ingressTo`
1834
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressTo]
1835
+ attr_accessor :ingress_to
1836
+
1837
+ def initialize(**args)
1838
+ update!(**args)
1839
+ end
1840
+
1841
+ # Update properties of this object
1842
+ def update!(**args)
1843
+ @ingress_from = args[:ingress_from] if args.key?(:ingress_from)
1844
+ @ingress_to = args[:ingress_to] if args.key?(:ingress_to)
1845
+ end
1846
+ end
1847
+
1848
+ # The source that IngressPolicy authorizes access from.
1849
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
1850
+ include Google::Apis::Core::Hashable
1851
+
1852
+ # An AccessLevel resource name that allow resources within the ServicePerimeters
1853
+ # to be accessed from the internet. AccessLevels listed must be in the same
1854
+ # policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will
1855
+ # cause an error. If no AccessLevel names are listed, resources within the
1856
+ # perimeter can only be accessed via Google Cloud calls with request origins
1857
+ # within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`
1858
+ # . If `*` is specified, then all IngressSources will be allowed.
1859
+ # Corresponds to the JSON property `accessLevel`
1860
+ # @return [String]
1861
+ attr_accessor :access_level
1862
+
1863
+ # A Google Cloud resource that is allowed to ingress the perimeter. Requests
1864
+ # from these resources will be allowed to access perimeter data. Currently only
1865
+ # projects are allowed. Format: `projects/`project_number`` The project may be
1866
+ # in any Google Cloud organization, not just the organization that the perimeter
1867
+ # is defined in. `*` is not allowed, the case of allowing all Google Cloud
1868
+ # resources only is not supported.
1869
+ # Corresponds to the JSON property `resource`
1870
+ # @return [String]
1871
+ attr_accessor :resource
1872
+
1873
+ def initialize(**args)
1874
+ update!(**args)
1875
+ end
1876
+
1877
+ # Update properties of this object
1878
+ def update!(**args)
1879
+ @access_level = args[:access_level] if args.key?(:access_level)
1880
+ @resource = args[:resource] if args.key?(:resource)
1881
+ end
1882
+ end
1883
+
1884
+ # Defines the conditions under which an IngressPolicy matches a request.
1885
+ # Conditions are based on information about the ApiOperation intended to be
1886
+ # performed on the destination of the request.
1887
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
1888
+ include Google::Apis::Core::Hashable
1889
+
1890
+ # A list of ApiOperations the sources specified in corresponding IngressFrom are
1891
+ # allowed to perform in this ServicePerimeter.
1892
+ # Corresponds to the JSON property `operations`
1893
+ # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1894
+ attr_accessor :operations
1895
+
1896
+ # A list of resources, currently only projects in the form `projects/`,
1897
+ # protected by this ServicePerimeter that are allowed to be accessed by sources
1898
+ # defined in the corresponding IngressFrom. A request matches if it contains a
1899
+ # resource in this list. If `*` is specified for resources, then this IngressTo
1900
+ # rule will authorize access to all resources inside the perimeter, provided
1901
+ # that the request also matches the `operations` field.
1902
+ # Corresponds to the JSON property `resources`
1903
+ # @return [Array<String>]
1904
+ attr_accessor :resources
1905
+
1906
+ def initialize(**args)
1907
+ update!(**args)
1908
+ end
1909
+
1910
+ # Update properties of this object
1911
+ def update!(**args)
1912
+ @operations = args[:operations] if args.key?(:operations)
1913
+ @resources = args[:resources] if args.key?(:resources)
1914
+ end
1915
+ end
1916
+
1917
+ # An allowed method or permission of a service specified in ApiOperation.
1918
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
1919
+ include Google::Apis::Core::Hashable
1920
+
1921
+ # Value for `method` should be a valid method name for the corresponding `
1922
+ # service_name` in ApiOperation. If `*` used as value for `method`, then ALL
1923
+ # methods and permissions are allowed.
1924
+ # Corresponds to the JSON property `method`
1925
+ # @return [String]
1926
+ attr_accessor :method_prop
1927
+
1928
+ # Value for `permission` should be a valid Cloud IAM permission for the
1929
+ # corresponding `service_name` in ApiOperation.
1930
+ # Corresponds to the JSON property `permission`
1931
+ # @return [String]
1932
+ attr_accessor :permission
1933
+
1934
+ def initialize(**args)
1935
+ update!(**args)
1936
+ end
1937
+
1938
+ # Update properties of this object
1939
+ def update!(**args)
1940
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1941
+ @permission = args[:permission] if args.key?(:permission)
1942
+ end
1943
+ end
1944
+
1635
1945
  # A restriction on the OS type and version of devices making requests.
1636
1946
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
1637
1947
  include Google::Apis::Core::Hashable
@@ -1765,6 +2075,20 @@ module Google
1765
2075
  # @return [Array<String>]
1766
2076
  attr_accessor :access_levels
1767
2077
 
2078
+ # List of EgressPolicies to apply to the perimeter. A perimeter may have
2079
+ # multiple EgressPolicies, each of which is evaluated separately. Access is
2080
+ # granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
2081
+ # Corresponds to the JSON property `egressPolicies`
2082
+ # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressPolicy>]
2083
+ attr_accessor :egress_policies
2084
+
2085
+ # List of IngressPolicies to apply to the perimeter. A perimeter may have
2086
+ # multiple IngressPolicies, each of which is evaluated separately. Access is
2087
+ # granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
2088
+ # Corresponds to the JSON property `ingressPolicies`
2089
+ # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressPolicy>]
2090
+ attr_accessor :ingress_policies
2091
+
1768
2092
  # A list of Google Cloud resources that are inside of the service perimeter.
1769
2093
  # Currently only projects are allowed. Format: `projects/`project_number``
1770
2094
  # Corresponds to the JSON property `resources`
@@ -1790,6 +2114,8 @@ module Google
1790
2114
  # Update properties of this object
1791
2115
  def update!(**args)
1792
2116
  @access_levels = args[:access_levels] if args.key?(:access_levels)
2117
+ @egress_policies = args[:egress_policies] if args.key?(:egress_policies)
2118
+ @ingress_policies = args[:ingress_policies] if args.key?(:ingress_policies)
1793
2119
  @resources = args[:resources] if args.key?(:resources)
1794
2120
  @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
1795
2121
  @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)
@@ -208,6 +208,12 @@ module Google
208
208
  include Google::Apis::Core::JsonObjectSupport
209
209
  end
210
210
 
211
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
212
+ class Representation < Google::Apis::Core::JsonRepresentation; end
213
+
214
+ include Google::Apis::Core::JsonObjectSupport
215
+ end
216
+
211
217
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
212
218
  class Representation < Google::Apis::Core::JsonRepresentation; end
213
219
 
@@ -232,6 +238,54 @@ module Google
232
238
  include Google::Apis::Core::JsonObjectSupport
233
239
  end
234
240
 
241
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
242
+ class Representation < Google::Apis::Core::JsonRepresentation; end
243
+
244
+ include Google::Apis::Core::JsonObjectSupport
245
+ end
246
+
247
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
248
+ class Representation < Google::Apis::Core::JsonRepresentation; end
249
+
250
+ include Google::Apis::Core::JsonObjectSupport
251
+ end
252
+
253
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
254
+ class Representation < Google::Apis::Core::JsonRepresentation; end
255
+
256
+ include Google::Apis::Core::JsonObjectSupport
257
+ end
258
+
259
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
260
+ class Representation < Google::Apis::Core::JsonRepresentation; end
261
+
262
+ include Google::Apis::Core::JsonObjectSupport
263
+ end
264
+
265
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
266
+ class Representation < Google::Apis::Core::JsonRepresentation; end
267
+
268
+ include Google::Apis::Core::JsonObjectSupport
269
+ end
270
+
271
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
272
+ class Representation < Google::Apis::Core::JsonRepresentation; end
273
+
274
+ include Google::Apis::Core::JsonObjectSupport
275
+ end
276
+
277
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
278
+ class Representation < Google::Apis::Core::JsonRepresentation; end
279
+
280
+ include Google::Apis::Core::JsonObjectSupport
281
+ end
282
+
283
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
284
+ class Representation < Google::Apis::Core::JsonRepresentation; end
285
+
286
+ include Google::Apis::Core::JsonObjectSupport
287
+ end
288
+
235
289
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
236
290
  class Representation < Google::Apis::Core::JsonRepresentation; end
237
291
 
@@ -766,6 +820,15 @@ module Google
766
820
  end
767
821
  end
768
822
 
823
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
824
+ # @private
825
+ class Representation < Google::Apis::Core::JsonRepresentation
826
+ collection :method_selectors, as: 'methodSelectors', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1MethodSelector, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1MethodSelector::Representation
827
+
828
+ property :service_name, as: 'serviceName'
829
+ end
830
+ end
831
+
769
832
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
770
833
  # @private
771
834
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -809,6 +872,78 @@ module Google
809
872
  end
810
873
  end
811
874
 
875
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
876
+ # @private
877
+ class Representation < Google::Apis::Core::JsonRepresentation
878
+ collection :identities, as: 'identities'
879
+ property :identity_type, as: 'identityType'
880
+ end
881
+ end
882
+
883
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
884
+ # @private
885
+ class Representation < Google::Apis::Core::JsonRepresentation
886
+ property :egress_from, as: 'egressFrom', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressFrom, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressFrom::Representation
887
+
888
+ property :egress_to, as: 'egressTo', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressTo, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressTo::Representation
889
+
890
+ end
891
+ end
892
+
893
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
894
+ # @private
895
+ class Representation < Google::Apis::Core::JsonRepresentation
896
+ collection :operations, as: 'operations', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation::Representation
897
+
898
+ collection :resources, as: 'resources'
899
+ end
900
+ end
901
+
902
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
903
+ # @private
904
+ class Representation < Google::Apis::Core::JsonRepresentation
905
+ collection :identities, as: 'identities'
906
+ property :identity_type, as: 'identityType'
907
+ collection :sources, as: 'sources', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressSource, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressSource::Representation
908
+
909
+ end
910
+ end
911
+
912
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
913
+ # @private
914
+ class Representation < Google::Apis::Core::JsonRepresentation
915
+ property :ingress_from, as: 'ingressFrom', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressFrom, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressFrom::Representation
916
+
917
+ property :ingress_to, as: 'ingressTo', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressTo, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressTo::Representation
918
+
919
+ end
920
+ end
921
+
922
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
923
+ # @private
924
+ class Representation < Google::Apis::Core::JsonRepresentation
925
+ property :access_level, as: 'accessLevel'
926
+ property :resource, as: 'resource'
927
+ end
928
+ end
929
+
930
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
931
+ # @private
932
+ class Representation < Google::Apis::Core::JsonRepresentation
933
+ collection :operations, as: 'operations', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ApiOperation::Representation
934
+
935
+ collection :resources, as: 'resources'
936
+ end
937
+ end
938
+
939
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
940
+ # @private
941
+ class Representation < Google::Apis::Core::JsonRepresentation
942
+ property :method_prop, as: 'method'
943
+ property :permission, as: 'permission'
944
+ end
945
+ end
946
+
812
947
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
813
948
  # @private
814
949
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -837,6 +972,10 @@ module Google
837
972
  # @private
838
973
  class Representation < Google::Apis::Core::JsonRepresentation
839
974
  collection :access_levels, as: 'accessLevels'
975
+ collection :egress_policies, as: 'egressPolicies', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressPolicy, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1EgressPolicy::Representation
976
+
977
+ collection :ingress_policies, as: 'ingressPolicies', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressPolicy, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1IngressPolicy::Representation
978
+
840
979
  collection :resources, as: 'resources'
841
980
  collection :restricted_services, as: 'restrictedServices'
842
981
  property :vpc_accessible_services, as: 'vpcAccessibleServices', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices::Representation