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 CloudassetV1p5beta1
27
27
  VERSION = 'V1p5beta1'
28
- REVISION = '20201106'
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'
@@ -717,6 +717,36 @@ module Google
717
717
  end
718
718
  end
719
719
 
720
+ # Identification for an API Operation.
721
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
722
+ include Google::Apis::Core::Hashable
723
+
724
+ # API methods or permissions to allow. Method or permission must belong to the
725
+ # service specified by `service_name` field. A single MethodSelector entry with `
726
+ # *` specified for the `method` field will allow all methods AND permissions for
727
+ # the service specified in `service_name`.
728
+ # Corresponds to the JSON property `methodSelectors`
729
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1MethodSelector>]
730
+ attr_accessor :method_selectors
731
+
732
+ # The name of the API whose methods or permissions the IngressPolicy or
733
+ # EgressPolicy want to allow. A single ApiOperation with `service_name` field
734
+ # set to `*` will allow all methods AND permissions for all services.
735
+ # Corresponds to the JSON property `serviceName`
736
+ # @return [String]
737
+ attr_accessor :service_name
738
+
739
+ def initialize(**args)
740
+ update!(**args)
741
+ end
742
+
743
+ # Update properties of this object
744
+ def update!(**args)
745
+ @method_selectors = args[:method_selectors] if args.key?(:method_selectors)
746
+ @service_name = args[:service_name] if args.key?(:service_name)
747
+ end
748
+ end
749
+
720
750
  # `BasicLevel` is an `AccessLevel` using a set of recommended features.
721
751
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
722
752
  include Google::Apis::Core::Hashable
@@ -916,6 +946,286 @@ module Google
916
946
  end
917
947
  end
918
948
 
949
+ # Defines the conditions under which an EgressPolicy matches a request.
950
+ # Conditions based on information about the source of the request. Note that if
951
+ # the destination of the request is protected by a ServicePerimeter, then that
952
+ # ServicePerimeter must have an IngressPolicy which allows access in order for
953
+ # this request to succeed.
954
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
955
+ include Google::Apis::Core::Hashable
956
+
957
+ # A list of identities that are allowed access through this [EgressPolicy].
958
+ # Should be in the format of email address. The email address should represent
959
+ # individual user or service account only.
960
+ # Corresponds to the JSON property `identities`
961
+ # @return [Array<String>]
962
+ attr_accessor :identities
963
+
964
+ # Specifies the type of identities that are allowed access to outside the
965
+ # perimeter. If left unspecified, then members of `identities` field will be
966
+ # allowed access.
967
+ # Corresponds to the JSON property `identityType`
968
+ # @return [String]
969
+ attr_accessor :identity_type
970
+
971
+ def initialize(**args)
972
+ update!(**args)
973
+ end
974
+
975
+ # Update properties of this object
976
+ def update!(**args)
977
+ @identities = args[:identities] if args.key?(:identities)
978
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
979
+ end
980
+ end
981
+
982
+ # Policy for egress from perimeter. EgressPolicies match requests based on `
983
+ # egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `
984
+ # egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy
985
+ # matches a request, the request is allowed to span the ServicePerimeter
986
+ # boundary. For example, an EgressPolicy can be used to allow VMs on networks
987
+ # within the ServicePerimeter to access a defined set of projects outside the
988
+ # perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket
989
+ # or query against a BigQuery dataset). EgressPolicies are concerned with the *
990
+ # resources* that a request relates as well as the API services and API actions
991
+ # being used. They do not related to the direction of data movement. More
992
+ # detailed documentation for this concept can be found in the descriptions of
993
+ # EgressFrom and EgressTo.
994
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
995
+ include Google::Apis::Core::Hashable
996
+
997
+ # Defines the conditions under which an EgressPolicy matches a request.
998
+ # Conditions based on information about the source of the request. Note that if
999
+ # the destination of the request is protected by a ServicePerimeter, then that
1000
+ # ServicePerimeter must have an IngressPolicy which allows access in order for
1001
+ # this request to succeed.
1002
+ # Corresponds to the JSON property `egressFrom`
1003
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressFrom]
1004
+ attr_accessor :egress_from
1005
+
1006
+ # Defines the conditions under which an EgressPolicy matches a request.
1007
+ # Conditions are based on information about the ApiOperation intended to be
1008
+ # performed on the `resources` specified. Note that if the destination of the
1009
+ # request is protected by a ServicePerimeter, then that ServicePerimeter must
1010
+ # have an IngressPolicy which allows access in order for this request to succeed.
1011
+ # Corresponds to the JSON property `egressTo`
1012
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressTo]
1013
+ attr_accessor :egress_to
1014
+
1015
+ def initialize(**args)
1016
+ update!(**args)
1017
+ end
1018
+
1019
+ # Update properties of this object
1020
+ def update!(**args)
1021
+ @egress_from = args[:egress_from] if args.key?(:egress_from)
1022
+ @egress_to = args[:egress_to] if args.key?(:egress_to)
1023
+ end
1024
+ end
1025
+
1026
+ # Defines the conditions under which an EgressPolicy matches a request.
1027
+ # Conditions are based on information about the ApiOperation intended to be
1028
+ # performed on the `resources` specified. Note that if the destination of the
1029
+ # request is protected by a ServicePerimeter, then that ServicePerimeter must
1030
+ # have an IngressPolicy which allows access in order for this request to succeed.
1031
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
1032
+ include Google::Apis::Core::Hashable
1033
+
1034
+ # A list of ApiOperations that this egress rule applies to. A request matches if
1035
+ # it contains an operation/service in this list.
1036
+ # Corresponds to the JSON property `operations`
1037
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1038
+ attr_accessor :operations
1039
+
1040
+ # A list of resources, currently only projects in the form `projects/`, that
1041
+ # match this to stanza. A request matches if it contains a resource in this list.
1042
+ # If `*` is specified for resources, then this EgressTo rule will authorize
1043
+ # access to all resources outside the perimeter.
1044
+ # Corresponds to the JSON property `resources`
1045
+ # @return [Array<String>]
1046
+ attr_accessor :resources
1047
+
1048
+ def initialize(**args)
1049
+ update!(**args)
1050
+ end
1051
+
1052
+ # Update properties of this object
1053
+ def update!(**args)
1054
+ @operations = args[:operations] if args.key?(:operations)
1055
+ @resources = args[:resources] if args.key?(:resources)
1056
+ end
1057
+ end
1058
+
1059
+ # Defines the conditions under which an IngressPolicy matches a request.
1060
+ # Conditions are based on information about the source of the request.
1061
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
1062
+ include Google::Apis::Core::Hashable
1063
+
1064
+ # A list of identities that are allowed access through this ingress policy.
1065
+ # Should be in the format of email address. The email address should represent
1066
+ # individual user or service account only.
1067
+ # Corresponds to the JSON property `identities`
1068
+ # @return [Array<String>]
1069
+ attr_accessor :identities
1070
+
1071
+ # Specifies the type of identities that are allowed access from outside the
1072
+ # perimeter. If left unspecified, then members of `identities` field will be
1073
+ # allowed access.
1074
+ # Corresponds to the JSON property `identityType`
1075
+ # @return [String]
1076
+ attr_accessor :identity_type
1077
+
1078
+ # Sources that this IngressPolicy authorizes access from.
1079
+ # Corresponds to the JSON property `sources`
1080
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressSource>]
1081
+ attr_accessor :sources
1082
+
1083
+ def initialize(**args)
1084
+ update!(**args)
1085
+ end
1086
+
1087
+ # Update properties of this object
1088
+ def update!(**args)
1089
+ @identities = args[:identities] if args.key?(:identities)
1090
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
1091
+ @sources = args[:sources] if args.key?(:sources)
1092
+ end
1093
+ end
1094
+
1095
+ # Policy for ingress into ServicePerimeter. IngressPolicies match requests based
1096
+ # on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match,
1097
+ # both the `ingress_from` and `ingress_to` stanzas must be matched. If an
1098
+ # IngressPolicy matches a request, the request is allowed through the perimeter
1099
+ # boundary from outside the perimeter. For example, access from the internet can
1100
+ # be allowed either based on an AccessLevel or, for traffic hosted on Google
1101
+ # Cloud, the project of the source network. For access from private networks,
1102
+ # using the project of the hosting network is required. Individual ingress
1103
+ # policies can be limited by restricting which services and/or actions they
1104
+ # match using the `ingress_to` field.
1105
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
1106
+ include Google::Apis::Core::Hashable
1107
+
1108
+ # Defines the conditions under which an IngressPolicy matches a request.
1109
+ # Conditions are based on information about the source of the request.
1110
+ # Corresponds to the JSON property `ingressFrom`
1111
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressFrom]
1112
+ attr_accessor :ingress_from
1113
+
1114
+ # Defines the conditions under which an IngressPolicy matches a request.
1115
+ # Conditions are based on information about the ApiOperation intended to be
1116
+ # performed on the destination of the request.
1117
+ # Corresponds to the JSON property `ingressTo`
1118
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressTo]
1119
+ attr_accessor :ingress_to
1120
+
1121
+ def initialize(**args)
1122
+ update!(**args)
1123
+ end
1124
+
1125
+ # Update properties of this object
1126
+ def update!(**args)
1127
+ @ingress_from = args[:ingress_from] if args.key?(:ingress_from)
1128
+ @ingress_to = args[:ingress_to] if args.key?(:ingress_to)
1129
+ end
1130
+ end
1131
+
1132
+ # The source that IngressPolicy authorizes access from.
1133
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
1134
+ include Google::Apis::Core::Hashable
1135
+
1136
+ # An AccessLevel resource name that allow resources within the ServicePerimeters
1137
+ # to be accessed from the internet. AccessLevels listed must be in the same
1138
+ # policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will
1139
+ # cause an error. If no AccessLevel names are listed, resources within the
1140
+ # perimeter can only be accessed via Google Cloud calls with request origins
1141
+ # within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`
1142
+ # . If `*` is specified, then all IngressSources will be allowed.
1143
+ # Corresponds to the JSON property `accessLevel`
1144
+ # @return [String]
1145
+ attr_accessor :access_level
1146
+
1147
+ # A Google Cloud resource that is allowed to ingress the perimeter. Requests
1148
+ # from these resources will be allowed to access perimeter data. Currently only
1149
+ # projects are allowed. Format: `projects/`project_number`` The project may be
1150
+ # in any Google Cloud organization, not just the organization that the perimeter
1151
+ # is defined in. `*` is not allowed, the case of allowing all Google Cloud
1152
+ # resources only is not supported.
1153
+ # Corresponds to the JSON property `resource`
1154
+ # @return [String]
1155
+ attr_accessor :resource
1156
+
1157
+ def initialize(**args)
1158
+ update!(**args)
1159
+ end
1160
+
1161
+ # Update properties of this object
1162
+ def update!(**args)
1163
+ @access_level = args[:access_level] if args.key?(:access_level)
1164
+ @resource = args[:resource] if args.key?(:resource)
1165
+ end
1166
+ end
1167
+
1168
+ # Defines the conditions under which an IngressPolicy matches a request.
1169
+ # Conditions are based on information about the ApiOperation intended to be
1170
+ # performed on the destination of the request.
1171
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
1172
+ include Google::Apis::Core::Hashable
1173
+
1174
+ # A list of ApiOperations the sources specified in corresponding IngressFrom are
1175
+ # allowed to perform in this ServicePerimeter.
1176
+ # Corresponds to the JSON property `operations`
1177
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1178
+ attr_accessor :operations
1179
+
1180
+ # A list of resources, currently only projects in the form `projects/`,
1181
+ # protected by this ServicePerimeter that are allowed to be accessed by sources
1182
+ # defined in the corresponding IngressFrom. A request matches if it contains a
1183
+ # resource in this list. If `*` is specified for resources, then this IngressTo
1184
+ # rule will authorize access to all resources inside the perimeter, provided
1185
+ # that the request also matches the `operations` field.
1186
+ # Corresponds to the JSON property `resources`
1187
+ # @return [Array<String>]
1188
+ attr_accessor :resources
1189
+
1190
+ def initialize(**args)
1191
+ update!(**args)
1192
+ end
1193
+
1194
+ # Update properties of this object
1195
+ def update!(**args)
1196
+ @operations = args[:operations] if args.key?(:operations)
1197
+ @resources = args[:resources] if args.key?(:resources)
1198
+ end
1199
+ end
1200
+
1201
+ # An allowed method or permission of a service specified in ApiOperation.
1202
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
1203
+ include Google::Apis::Core::Hashable
1204
+
1205
+ # Value for `method` should be a valid method name for the corresponding `
1206
+ # service_name` in ApiOperation. If `*` used as value for `method`, then ALL
1207
+ # methods and permissions are allowed.
1208
+ # Corresponds to the JSON property `method`
1209
+ # @return [String]
1210
+ attr_accessor :method_prop
1211
+
1212
+ # Value for `permission` should be a valid Cloud IAM permission for the
1213
+ # corresponding `service_name` in ApiOperation.
1214
+ # Corresponds to the JSON property `permission`
1215
+ # @return [String]
1216
+ attr_accessor :permission
1217
+
1218
+ def initialize(**args)
1219
+ update!(**args)
1220
+ end
1221
+
1222
+ # Update properties of this object
1223
+ def update!(**args)
1224
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1225
+ @permission = args[:permission] if args.key?(:permission)
1226
+ end
1227
+ end
1228
+
919
1229
  # A restriction on the OS type and version of devices making requests.
920
1230
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
921
1231
  include Google::Apis::Core::Hashable
@@ -1049,6 +1359,20 @@ module Google
1049
1359
  # @return [Array<String>]
1050
1360
  attr_accessor :access_levels
1051
1361
 
1362
+ # List of EgressPolicies to apply to the perimeter. A perimeter may have
1363
+ # multiple EgressPolicies, each of which is evaluated separately. Access is
1364
+ # granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
1365
+ # Corresponds to the JSON property `egressPolicies`
1366
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressPolicy>]
1367
+ attr_accessor :egress_policies
1368
+
1369
+ # List of IngressPolicies to apply to the perimeter. A perimeter may have
1370
+ # multiple IngressPolicies, each of which is evaluated separately. Access is
1371
+ # granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
1372
+ # Corresponds to the JSON property `ingressPolicies`
1373
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressPolicy>]
1374
+ attr_accessor :ingress_policies
1375
+
1052
1376
  # A list of Google Cloud resources that are inside of the service perimeter.
1053
1377
  # Currently only projects are allowed. Format: `projects/`project_number``
1054
1378
  # Corresponds to the JSON property `resources`
@@ -1074,6 +1398,8 @@ module Google
1074
1398
  # Update properties of this object
1075
1399
  def update!(**args)
1076
1400
  @access_levels = args[:access_levels] if args.key?(:access_levels)
1401
+ @egress_policies = args[:egress_policies] if args.key?(:egress_policies)
1402
+ @ingress_policies = args[:ingress_policies] if args.key?(:ingress_policies)
1077
1403
  @resources = args[:resources] if args.key?(:resources)
1078
1404
  @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
1079
1405
  @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)
@@ -88,6 +88,12 @@ module Google
88
88
  include Google::Apis::Core::JsonObjectSupport
89
89
  end
90
90
 
91
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
91
97
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
92
98
  class Representation < Google::Apis::Core::JsonRepresentation; end
93
99
 
@@ -112,6 +118,54 @@ module Google
112
118
  include Google::Apis::Core::JsonObjectSupport
113
119
  end
114
120
 
121
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
151
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
115
169
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
116
170
  class Representation < Google::Apis::Core::JsonRepresentation; end
117
171
 
@@ -275,6 +329,15 @@ module Google
275
329
  end
276
330
  end
277
331
 
332
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
333
+ # @private
334
+ class Representation < Google::Apis::Core::JsonRepresentation
335
+ collection :method_selectors, as: 'methodSelectors', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1MethodSelector, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1MethodSelector::Representation
336
+
337
+ property :service_name, as: 'serviceName'
338
+ end
339
+ end
340
+
278
341
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
279
342
  # @private
280
343
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -318,6 +381,78 @@ module Google
318
381
  end
319
382
  end
320
383
 
384
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
385
+ # @private
386
+ class Representation < Google::Apis::Core::JsonRepresentation
387
+ collection :identities, as: 'identities'
388
+ property :identity_type, as: 'identityType'
389
+ end
390
+ end
391
+
392
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
393
+ # @private
394
+ class Representation < Google::Apis::Core::JsonRepresentation
395
+ property :egress_from, as: 'egressFrom', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressFrom, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressFrom::Representation
396
+
397
+ property :egress_to, as: 'egressTo', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressTo, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressTo::Representation
398
+
399
+ end
400
+ end
401
+
402
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
403
+ # @private
404
+ class Representation < Google::Apis::Core::JsonRepresentation
405
+ collection :operations, as: 'operations', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation::Representation
406
+
407
+ collection :resources, as: 'resources'
408
+ end
409
+ end
410
+
411
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
412
+ # @private
413
+ class Representation < Google::Apis::Core::JsonRepresentation
414
+ collection :identities, as: 'identities'
415
+ property :identity_type, as: 'identityType'
416
+ collection :sources, as: 'sources', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressSource, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressSource::Representation
417
+
418
+ end
419
+ end
420
+
421
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
422
+ # @private
423
+ class Representation < Google::Apis::Core::JsonRepresentation
424
+ property :ingress_from, as: 'ingressFrom', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressFrom, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressFrom::Representation
425
+
426
+ property :ingress_to, as: 'ingressTo', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressTo, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressTo::Representation
427
+
428
+ end
429
+ end
430
+
431
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
432
+ # @private
433
+ class Representation < Google::Apis::Core::JsonRepresentation
434
+ property :access_level, as: 'accessLevel'
435
+ property :resource, as: 'resource'
436
+ end
437
+ end
438
+
439
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
440
+ # @private
441
+ class Representation < Google::Apis::Core::JsonRepresentation
442
+ collection :operations, as: 'operations', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation::Representation
443
+
444
+ collection :resources, as: 'resources'
445
+ end
446
+ end
447
+
448
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
449
+ # @private
450
+ class Representation < Google::Apis::Core::JsonRepresentation
451
+ property :method_prop, as: 'method'
452
+ property :permission, as: 'permission'
453
+ end
454
+ end
455
+
321
456
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
322
457
  # @private
323
458
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -346,6 +481,10 @@ module Google
346
481
  # @private
347
482
  class Representation < Google::Apis::Core::JsonRepresentation
348
483
  collection :access_levels, as: 'accessLevels'
484
+ collection :egress_policies, as: 'egressPolicies', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressPolicy, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1EgressPolicy::Representation
485
+
486
+ collection :ingress_policies, as: 'ingressPolicies', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressPolicy, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1IngressPolicy::Representation
487
+
349
488
  collection :resources, as: 'resources'
350
489
  collection :restricted_services, as: 'restrictedServices'
351
490
  property :vpc_accessible_services, as: 'vpcAccessibleServices', class: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices, decorator: Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices::Representation