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 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