google-api-client 0.52.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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