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