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 CloudassetV1beta1
27
27
  VERSION = 'V1beta1'
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'
@@ -804,6 +804,36 @@ module Google
804
804
  end
805
805
  end
806
806
 
807
+ # Identification for an API Operation.
808
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
809
+ include Google::Apis::Core::Hashable
810
+
811
+ # API methods or permissions to allow. Method or permission must belong to the
812
+ # service specified by `service_name` field. A single MethodSelector entry with `
813
+ # *` specified for the `method` field will allow all methods AND permissions for
814
+ # the service specified in `service_name`.
815
+ # Corresponds to the JSON property `methodSelectors`
816
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1MethodSelector>]
817
+ attr_accessor :method_selectors
818
+
819
+ # The name of the API whose methods or permissions the IngressPolicy or
820
+ # EgressPolicy want to allow. A single ApiOperation with `service_name` field
821
+ # set to `*` will allow all methods AND permissions for all services.
822
+ # Corresponds to the JSON property `serviceName`
823
+ # @return [String]
824
+ attr_accessor :service_name
825
+
826
+ def initialize(**args)
827
+ update!(**args)
828
+ end
829
+
830
+ # Update properties of this object
831
+ def update!(**args)
832
+ @method_selectors = args[:method_selectors] if args.key?(:method_selectors)
833
+ @service_name = args[:service_name] if args.key?(:service_name)
834
+ end
835
+ end
836
+
807
837
  # `BasicLevel` is an `AccessLevel` using a set of recommended features.
808
838
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
809
839
  include Google::Apis::Core::Hashable
@@ -1003,6 +1033,286 @@ module Google
1003
1033
  end
1004
1034
  end
1005
1035
 
1036
+ # Defines the conditions under which an EgressPolicy matches a request.
1037
+ # Conditions based on information about the source of the request. Note that if
1038
+ # the destination of the request is protected by a ServicePerimeter, then that
1039
+ # ServicePerimeter must have an IngressPolicy which allows access in order for
1040
+ # this request to succeed.
1041
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
1042
+ include Google::Apis::Core::Hashable
1043
+
1044
+ # A list of identities that are allowed access through this [EgressPolicy].
1045
+ # Should be in the format of email address. The email address should represent
1046
+ # individual user or service account only.
1047
+ # Corresponds to the JSON property `identities`
1048
+ # @return [Array<String>]
1049
+ attr_accessor :identities
1050
+
1051
+ # Specifies the type of identities that are allowed access to outside the
1052
+ # perimeter. If left unspecified, then members of `identities` field will be
1053
+ # allowed access.
1054
+ # Corresponds to the JSON property `identityType`
1055
+ # @return [String]
1056
+ attr_accessor :identity_type
1057
+
1058
+ def initialize(**args)
1059
+ update!(**args)
1060
+ end
1061
+
1062
+ # Update properties of this object
1063
+ def update!(**args)
1064
+ @identities = args[:identities] if args.key?(:identities)
1065
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
1066
+ end
1067
+ end
1068
+
1069
+ # Policy for egress from perimeter. EgressPolicies match requests based on `
1070
+ # egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `
1071
+ # egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy
1072
+ # matches a request, the request is allowed to span the ServicePerimeter
1073
+ # boundary. For example, an EgressPolicy can be used to allow VMs on networks
1074
+ # within the ServicePerimeter to access a defined set of projects outside the
1075
+ # perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket
1076
+ # or query against a BigQuery dataset). EgressPolicies are concerned with the *
1077
+ # resources* that a request relates as well as the API services and API actions
1078
+ # being used. They do not related to the direction of data movement. More
1079
+ # detailed documentation for this concept can be found in the descriptions of
1080
+ # EgressFrom and EgressTo.
1081
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
1082
+ include Google::Apis::Core::Hashable
1083
+
1084
+ # Defines the conditions under which an EgressPolicy matches a request.
1085
+ # Conditions based on information about the source of the request. Note that if
1086
+ # the destination of the request is protected by a ServicePerimeter, then that
1087
+ # ServicePerimeter must have an IngressPolicy which allows access in order for
1088
+ # this request to succeed.
1089
+ # Corresponds to the JSON property `egressFrom`
1090
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressFrom]
1091
+ attr_accessor :egress_from
1092
+
1093
+ # Defines the conditions under which an EgressPolicy matches a request.
1094
+ # Conditions are based on information about the ApiOperation intended to be
1095
+ # performed on the `resources` specified. Note that if the destination of the
1096
+ # request is protected by a ServicePerimeter, then that ServicePerimeter must
1097
+ # have an IngressPolicy which allows access in order for this request to succeed.
1098
+ # Corresponds to the JSON property `egressTo`
1099
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressTo]
1100
+ attr_accessor :egress_to
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @egress_from = args[:egress_from] if args.key?(:egress_from)
1109
+ @egress_to = args[:egress_to] if args.key?(:egress_to)
1110
+ end
1111
+ end
1112
+
1113
+ # Defines the conditions under which an EgressPolicy matches a request.
1114
+ # Conditions are based on information about the ApiOperation intended to be
1115
+ # performed on the `resources` specified. Note that if the destination of the
1116
+ # request is protected by a ServicePerimeter, then that ServicePerimeter must
1117
+ # have an IngressPolicy which allows access in order for this request to succeed.
1118
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
1119
+ include Google::Apis::Core::Hashable
1120
+
1121
+ # A list of ApiOperations that this egress rule applies to. A request matches if
1122
+ # it contains an operation/service in this list.
1123
+ # Corresponds to the JSON property `operations`
1124
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1125
+ attr_accessor :operations
1126
+
1127
+ # A list of resources, currently only projects in the form `projects/`, that
1128
+ # match this to stanza. A request matches if it contains a resource in this list.
1129
+ # If `*` is specified for resources, then this EgressTo rule will authorize
1130
+ # access to all resources outside the perimeter.
1131
+ # Corresponds to the JSON property `resources`
1132
+ # @return [Array<String>]
1133
+ attr_accessor :resources
1134
+
1135
+ def initialize(**args)
1136
+ update!(**args)
1137
+ end
1138
+
1139
+ # Update properties of this object
1140
+ def update!(**args)
1141
+ @operations = args[:operations] if args.key?(:operations)
1142
+ @resources = args[:resources] if args.key?(:resources)
1143
+ end
1144
+ end
1145
+
1146
+ # Defines the conditions under which an IngressPolicy matches a request.
1147
+ # Conditions are based on information about the source of the request.
1148
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
1149
+ include Google::Apis::Core::Hashable
1150
+
1151
+ # A list of identities that are allowed access through this ingress policy.
1152
+ # Should be in the format of email address. The email address should represent
1153
+ # individual user or service account only.
1154
+ # Corresponds to the JSON property `identities`
1155
+ # @return [Array<String>]
1156
+ attr_accessor :identities
1157
+
1158
+ # Specifies the type of identities that are allowed access from outside the
1159
+ # perimeter. If left unspecified, then members of `identities` field will be
1160
+ # allowed access.
1161
+ # Corresponds to the JSON property `identityType`
1162
+ # @return [String]
1163
+ attr_accessor :identity_type
1164
+
1165
+ # Sources that this IngressPolicy authorizes access from.
1166
+ # Corresponds to the JSON property `sources`
1167
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressSource>]
1168
+ attr_accessor :sources
1169
+
1170
+ def initialize(**args)
1171
+ update!(**args)
1172
+ end
1173
+
1174
+ # Update properties of this object
1175
+ def update!(**args)
1176
+ @identities = args[:identities] if args.key?(:identities)
1177
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
1178
+ @sources = args[:sources] if args.key?(:sources)
1179
+ end
1180
+ end
1181
+
1182
+ # Policy for ingress into ServicePerimeter. IngressPolicies match requests based
1183
+ # on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match,
1184
+ # both the `ingress_from` and `ingress_to` stanzas must be matched. If an
1185
+ # IngressPolicy matches a request, the request is allowed through the perimeter
1186
+ # boundary from outside the perimeter. For example, access from the internet can
1187
+ # be allowed either based on an AccessLevel or, for traffic hosted on Google
1188
+ # Cloud, the project of the source network. For access from private networks,
1189
+ # using the project of the hosting network is required. Individual ingress
1190
+ # policies can be limited by restricting which services and/or actions they
1191
+ # match using the `ingress_to` field.
1192
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
1193
+ include Google::Apis::Core::Hashable
1194
+
1195
+ # Defines the conditions under which an IngressPolicy matches a request.
1196
+ # Conditions are based on information about the source of the request.
1197
+ # Corresponds to the JSON property `ingressFrom`
1198
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressFrom]
1199
+ attr_accessor :ingress_from
1200
+
1201
+ # Defines the conditions under which an IngressPolicy matches a request.
1202
+ # Conditions are based on information about the ApiOperation intended to be
1203
+ # performed on the destination of the request.
1204
+ # Corresponds to the JSON property `ingressTo`
1205
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressTo]
1206
+ attr_accessor :ingress_to
1207
+
1208
+ def initialize(**args)
1209
+ update!(**args)
1210
+ end
1211
+
1212
+ # Update properties of this object
1213
+ def update!(**args)
1214
+ @ingress_from = args[:ingress_from] if args.key?(:ingress_from)
1215
+ @ingress_to = args[:ingress_to] if args.key?(:ingress_to)
1216
+ end
1217
+ end
1218
+
1219
+ # The source that IngressPolicy authorizes access from.
1220
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
1221
+ include Google::Apis::Core::Hashable
1222
+
1223
+ # An AccessLevel resource name that allow resources within the ServicePerimeters
1224
+ # to be accessed from the internet. AccessLevels listed must be in the same
1225
+ # policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will
1226
+ # cause an error. If no AccessLevel names are listed, resources within the
1227
+ # perimeter can only be accessed via Google Cloud calls with request origins
1228
+ # within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`
1229
+ # . If `*` is specified, then all IngressSources will be allowed.
1230
+ # Corresponds to the JSON property `accessLevel`
1231
+ # @return [String]
1232
+ attr_accessor :access_level
1233
+
1234
+ # A Google Cloud resource that is allowed to ingress the perimeter. Requests
1235
+ # from these resources will be allowed to access perimeter data. Currently only
1236
+ # projects are allowed. Format: `projects/`project_number`` The project may be
1237
+ # in any Google Cloud organization, not just the organization that the perimeter
1238
+ # is defined in. `*` is not allowed, the case of allowing all Google Cloud
1239
+ # resources only is not supported.
1240
+ # Corresponds to the JSON property `resource`
1241
+ # @return [String]
1242
+ attr_accessor :resource
1243
+
1244
+ def initialize(**args)
1245
+ update!(**args)
1246
+ end
1247
+
1248
+ # Update properties of this object
1249
+ def update!(**args)
1250
+ @access_level = args[:access_level] if args.key?(:access_level)
1251
+ @resource = args[:resource] if args.key?(:resource)
1252
+ end
1253
+ end
1254
+
1255
+ # Defines the conditions under which an IngressPolicy matches a request.
1256
+ # Conditions are based on information about the ApiOperation intended to be
1257
+ # performed on the destination of the request.
1258
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
1259
+ include Google::Apis::Core::Hashable
1260
+
1261
+ # A list of ApiOperations the sources specified in corresponding IngressFrom are
1262
+ # allowed to perform in this ServicePerimeter.
1263
+ # Corresponds to the JSON property `operations`
1264
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation>]
1265
+ attr_accessor :operations
1266
+
1267
+ # A list of resources, currently only projects in the form `projects/`,
1268
+ # protected by this ServicePerimeter that are allowed to be accessed by sources
1269
+ # defined in the corresponding IngressFrom. A request matches if it contains a
1270
+ # resource in this list. If `*` is specified for resources, then this IngressTo
1271
+ # rule will authorize access to all resources inside the perimeter, provided
1272
+ # that the request also matches the `operations` field.
1273
+ # Corresponds to the JSON property `resources`
1274
+ # @return [Array<String>]
1275
+ attr_accessor :resources
1276
+
1277
+ def initialize(**args)
1278
+ update!(**args)
1279
+ end
1280
+
1281
+ # Update properties of this object
1282
+ def update!(**args)
1283
+ @operations = args[:operations] if args.key?(:operations)
1284
+ @resources = args[:resources] if args.key?(:resources)
1285
+ end
1286
+ end
1287
+
1288
+ # An allowed method or permission of a service specified in ApiOperation.
1289
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
1290
+ include Google::Apis::Core::Hashable
1291
+
1292
+ # Value for `method` should be a valid method name for the corresponding `
1293
+ # service_name` in ApiOperation. If `*` used as value for `method`, then ALL
1294
+ # methods and permissions are allowed.
1295
+ # Corresponds to the JSON property `method`
1296
+ # @return [String]
1297
+ attr_accessor :method_prop
1298
+
1299
+ # Value for `permission` should be a valid Cloud IAM permission for the
1300
+ # corresponding `service_name` in ApiOperation.
1301
+ # Corresponds to the JSON property `permission`
1302
+ # @return [String]
1303
+ attr_accessor :permission
1304
+
1305
+ def initialize(**args)
1306
+ update!(**args)
1307
+ end
1308
+
1309
+ # Update properties of this object
1310
+ def update!(**args)
1311
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1312
+ @permission = args[:permission] if args.key?(:permission)
1313
+ end
1314
+ end
1315
+
1006
1316
  # A restriction on the OS type and version of devices making requests.
1007
1317
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
1008
1318
  include Google::Apis::Core::Hashable
@@ -1136,6 +1446,20 @@ module Google
1136
1446
  # @return [Array<String>]
1137
1447
  attr_accessor :access_levels
1138
1448
 
1449
+ # List of EgressPolicies to apply to the perimeter. A perimeter may have
1450
+ # multiple EgressPolicies, each of which is evaluated separately. Access is
1451
+ # granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
1452
+ # Corresponds to the JSON property `egressPolicies`
1453
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressPolicy>]
1454
+ attr_accessor :egress_policies
1455
+
1456
+ # List of IngressPolicies to apply to the perimeter. A perimeter may have
1457
+ # multiple IngressPolicies, each of which is evaluated separately. Access is
1458
+ # granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
1459
+ # Corresponds to the JSON property `ingressPolicies`
1460
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressPolicy>]
1461
+ attr_accessor :ingress_policies
1462
+
1139
1463
  # A list of Google Cloud resources that are inside of the service perimeter.
1140
1464
  # Currently only projects are allowed. Format: `projects/`project_number``
1141
1465
  # Corresponds to the JSON property `resources`
@@ -1161,6 +1485,8 @@ module Google
1161
1485
  # Update properties of this object
1162
1486
  def update!(**args)
1163
1487
  @access_levels = args[:access_levels] if args.key?(:access_levels)
1488
+ @egress_policies = args[:egress_policies] if args.key?(:egress_policies)
1489
+ @ingress_policies = args[:ingress_policies] if args.key?(:ingress_policies)
1164
1490
  @resources = args[:resources] if args.key?(:resources)
1165
1491
  @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
1166
1492
  @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)
@@ -106,6 +106,12 @@ module Google
106
106
  include Google::Apis::Core::JsonObjectSupport
107
107
  end
108
108
 
109
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
113
+ end
114
+
109
115
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
110
116
  class Representation < Google::Apis::Core::JsonRepresentation; end
111
117
 
@@ -130,6 +136,54 @@ module Google
130
136
  include Google::Apis::Core::JsonObjectSupport
131
137
  end
132
138
 
139
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
151
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
169
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
175
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
176
+ class Representation < Google::Apis::Core::JsonRepresentation; end
177
+
178
+ include Google::Apis::Core::JsonObjectSupport
179
+ end
180
+
181
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
182
+ class Representation < Google::Apis::Core::JsonRepresentation; end
183
+
184
+ include Google::Apis::Core::JsonObjectSupport
185
+ end
186
+
133
187
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
134
188
  class Representation < Google::Apis::Core::JsonRepresentation; end
135
189
 
@@ -343,6 +397,15 @@ module Google
343
397
  end
344
398
  end
345
399
 
400
+ class GoogleIdentityAccesscontextmanagerV1ApiOperation
401
+ # @private
402
+ class Representation < Google::Apis::Core::JsonRepresentation
403
+ collection :method_selectors, as: 'methodSelectors', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1MethodSelector, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1MethodSelector::Representation
404
+
405
+ property :service_name, as: 'serviceName'
406
+ end
407
+ end
408
+
346
409
  class GoogleIdentityAccesscontextmanagerV1BasicLevel
347
410
  # @private
348
411
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -386,6 +449,78 @@ module Google
386
449
  end
387
450
  end
388
451
 
452
+ class GoogleIdentityAccesscontextmanagerV1EgressFrom
453
+ # @private
454
+ class Representation < Google::Apis::Core::JsonRepresentation
455
+ collection :identities, as: 'identities'
456
+ property :identity_type, as: 'identityType'
457
+ end
458
+ end
459
+
460
+ class GoogleIdentityAccesscontextmanagerV1EgressPolicy
461
+ # @private
462
+ class Representation < Google::Apis::Core::JsonRepresentation
463
+ property :egress_from, as: 'egressFrom', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressFrom, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressFrom::Representation
464
+
465
+ property :egress_to, as: 'egressTo', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressTo, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressTo::Representation
466
+
467
+ end
468
+ end
469
+
470
+ class GoogleIdentityAccesscontextmanagerV1EgressTo
471
+ # @private
472
+ class Representation < Google::Apis::Core::JsonRepresentation
473
+ collection :operations, as: 'operations', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation::Representation
474
+
475
+ collection :resources, as: 'resources'
476
+ end
477
+ end
478
+
479
+ class GoogleIdentityAccesscontextmanagerV1IngressFrom
480
+ # @private
481
+ class Representation < Google::Apis::Core::JsonRepresentation
482
+ collection :identities, as: 'identities'
483
+ property :identity_type, as: 'identityType'
484
+ collection :sources, as: 'sources', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressSource, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressSource::Representation
485
+
486
+ end
487
+ end
488
+
489
+ class GoogleIdentityAccesscontextmanagerV1IngressPolicy
490
+ # @private
491
+ class Representation < Google::Apis::Core::JsonRepresentation
492
+ property :ingress_from, as: 'ingressFrom', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressFrom, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressFrom::Representation
493
+
494
+ property :ingress_to, as: 'ingressTo', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressTo, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressTo::Representation
495
+
496
+ end
497
+ end
498
+
499
+ class GoogleIdentityAccesscontextmanagerV1IngressSource
500
+ # @private
501
+ class Representation < Google::Apis::Core::JsonRepresentation
502
+ property :access_level, as: 'accessLevel'
503
+ property :resource, as: 'resource'
504
+ end
505
+ end
506
+
507
+ class GoogleIdentityAccesscontextmanagerV1IngressTo
508
+ # @private
509
+ class Representation < Google::Apis::Core::JsonRepresentation
510
+ collection :operations, as: 'operations', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ApiOperation::Representation
511
+
512
+ collection :resources, as: 'resources'
513
+ end
514
+ end
515
+
516
+ class GoogleIdentityAccesscontextmanagerV1MethodSelector
517
+ # @private
518
+ class Representation < Google::Apis::Core::JsonRepresentation
519
+ property :method_prop, as: 'method'
520
+ property :permission, as: 'permission'
521
+ end
522
+ end
523
+
389
524
  class GoogleIdentityAccesscontextmanagerV1OsConstraint
390
525
  # @private
391
526
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -414,6 +549,10 @@ module Google
414
549
  # @private
415
550
  class Representation < Google::Apis::Core::JsonRepresentation
416
551
  collection :access_levels, as: 'accessLevels'
552
+ collection :egress_policies, as: 'egressPolicies', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressPolicy, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1EgressPolicy::Representation
553
+
554
+ collection :ingress_policies, as: 'ingressPolicies', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressPolicy, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1IngressPolicy::Representation
555
+
417
556
  collection :resources, as: 'resources'
418
557
  collection :restricted_services, as: 'restrictedServices'
419
558
  property :vpc_accessible_services, as: 'vpcAccessibleServices', class: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices, decorator: Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices::Representation