google-api-client 0.40.2 → 0.41.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +66 -0
  3. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  4. data/generated/google/apis/androidmanagement_v1/classes.rb +117 -0
  5. data/generated/google/apis/androidmanagement_v1/representations.rb +39 -0
  6. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  7. data/generated/google/apis/appsmarket_v2.rb +1 -1
  8. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  9. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +9 -0
  10. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -0
  11. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  12. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +4 -4
  13. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  14. data/generated/google/apis/bigtableadmin_v1/classes.rb +5 -10
  15. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  16. data/generated/google/apis/bigtableadmin_v2/classes.rb +39 -31
  17. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -5
  18. data/generated/google/apis/books_v1.rb +1 -1
  19. data/generated/google/apis/calendar_v3.rb +1 -1
  20. data/generated/google/apis/chat_v1.rb +1 -1
  21. data/generated/google/apis/chat_v1/classes.rb +2 -0
  22. data/generated/google/apis/cloudasset_v1.rb +1 -1
  23. data/generated/google/apis/cloudasset_v1/classes.rb +12 -3
  24. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  25. data/generated/google/apis/cloudasset_v1beta1/classes.rb +948 -36
  26. data/generated/google/apis/cloudasset_v1beta1/representations.rb +241 -0
  27. data/generated/google/apis/cloudasset_v1beta1/service.rb +4 -4
  28. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  29. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +18 -19
  30. data/generated/google/apis/cloudasset_v1p4beta1/service.rb +10 -6
  31. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  32. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
  33. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +5 -6
  34. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  35. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  36. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  37. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +14 -9
  38. data/generated/google/apis/cloudresourcemanager_v1/service.rb +15 -6
  39. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  40. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +4 -2
  41. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  42. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  43. data/generated/google/apis/compute_alpha.rb +1 -1
  44. data/generated/google/apis/compute_alpha/classes.rb +535 -43
  45. data/generated/google/apis/compute_alpha/representations.rb +167 -0
  46. data/generated/google/apis/compute_alpha/service.rb +922 -172
  47. data/generated/google/apis/compute_beta.rb +1 -1
  48. data/generated/google/apis/compute_beta/classes.rb +107 -42
  49. data/generated/google/apis/compute_beta/representations.rb +20 -0
  50. data/generated/google/apis/compute_v1.rb +1 -1
  51. data/generated/google/apis/compute_v1/classes.rb +22 -10
  52. data/generated/google/apis/compute_v1/representations.rb +1 -0
  53. data/generated/google/apis/container_v1beta1.rb +1 -1
  54. data/generated/google/apis/container_v1beta1/classes.rb +21 -7
  55. data/generated/google/apis/content_v2.rb +1 -1
  56. data/generated/google/apis/content_v2/classes.rb +7 -1
  57. data/generated/google/apis/content_v2/representations.rb +1 -0
  58. data/generated/google/apis/content_v2/service.rb +10 -5
  59. data/generated/google/apis/content_v2_1.rb +1 -1
  60. data/generated/google/apis/content_v2_1/classes.rb +93 -7
  61. data/generated/google/apis/content_v2_1/representations.rb +37 -0
  62. data/generated/google/apis/content_v2_1/service.rb +10 -5
  63. data/generated/google/apis/dataproc_v1.rb +1 -1
  64. data/generated/google/apis/dataproc_v1/classes.rb +46 -0
  65. data/generated/google/apis/dataproc_v1/representations.rb +17 -0
  66. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  67. data/generated/google/apis/dataproc_v1beta2/classes.rb +12 -0
  68. data/generated/google/apis/dataproc_v1beta2/representations.rb +1 -0
  69. data/generated/google/apis/dialogflow_v2.rb +1 -1
  70. data/generated/google/apis/dialogflow_v2/service.rb +14 -2
  71. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  72. data/generated/google/apis/dialogflow_v2beta1/service.rb +28 -4
  73. data/generated/google/apis/documentai_v1beta2.rb +36 -0
  74. data/generated/google/apis/documentai_v1beta2/classes.rb +3284 -0
  75. data/generated/google/apis/documentai_v1beta2/representations.rb +1344 -0
  76. data/generated/google/apis/documentai_v1beta2/service.rb +269 -0
  77. data/generated/google/apis/drive_v2.rb +1 -1
  78. data/generated/google/apis/drive_v2/service.rb +26 -78
  79. data/generated/google/apis/drive_v3.rb +1 -1
  80. data/generated/google/apis/drive_v3/service.rb +18 -54
  81. data/generated/google/apis/fcm_v1.rb +1 -1
  82. data/generated/google/apis/fcm_v1/classes.rb +6 -0
  83. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  84. data/generated/google/apis/firebase_v1beta1/classes.rb +7 -6
  85. data/generated/google/apis/firebase_v1beta1/service.rb +53 -49
  86. data/generated/google/apis/healthcare_v1.rb +1 -1
  87. data/generated/google/apis/healthcare_v1/service.rb +2 -0
  88. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  89. data/generated/google/apis/healthcare_v1beta1/classes.rb +910 -43
  90. data/generated/google/apis/healthcare_v1beta1/representations.rb +404 -0
  91. data/generated/google/apis/healthcare_v1beta1/service.rb +517 -0
  92. data/generated/google/apis/iam_v1.rb +1 -1
  93. data/generated/google/apis/iam_v1/classes.rb +5 -0
  94. data/generated/google/apis/iam_v1/service.rb +4 -0
  95. data/generated/google/apis/iamcredentials_v1.rb +2 -2
  96. data/generated/google/apis/iamcredentials_v1/service.rb +1 -1
  97. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  98. data/generated/google/apis/lifesciences_v2beta/classes.rb +10 -0
  99. data/generated/google/apis/lifesciences_v2beta/representations.rb +1 -0
  100. data/generated/google/apis/monitoring_v3.rb +1 -1
  101. data/generated/google/apis/monitoring_v3/classes.rb +56 -17
  102. data/generated/google/apis/people_v1.rb +1 -1
  103. data/generated/google/apis/people_v1/classes.rb +4 -4
  104. data/generated/google/apis/people_v1/service.rb +6 -5
  105. data/generated/google/apis/run_v1.rb +1 -1
  106. data/generated/google/apis/run_v1/classes.rb +6 -6
  107. data/generated/google/apis/run_v1alpha1.rb +1 -1
  108. data/generated/google/apis/run_v1alpha1/classes.rb +6 -6
  109. data/generated/google/apis/run_v1beta1.rb +1 -1
  110. data/generated/google/apis/secretmanager_v1.rb +1 -1
  111. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  112. data/generated/google/apis/securitycenter_v1.rb +1 -1
  113. data/generated/google/apis/securitycenter_v1/classes.rb +10 -10
  114. data/generated/google/apis/securitycenter_v1/service.rb +10 -10
  115. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  116. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +10 -10
  117. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +10 -10
  118. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  119. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +21 -2
  120. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
  121. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  122. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +21 -2
  123. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +1 -0
  124. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  125. data/generated/google/apis/servicemanagement_v1/classes.rb +117 -37
  126. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  127. data/generated/google/apis/servicenetworking_v1/classes.rb +13 -2
  128. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  129. data/generated/google/apis/servicenetworking_v1beta/classes.rb +13 -2
  130. data/generated/google/apis/serviceusage_v1.rb +1 -1
  131. data/generated/google/apis/serviceusage_v1/classes.rb +27 -2
  132. data/generated/google/apis/serviceusage_v1/representations.rb +2 -0
  133. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  134. data/generated/google/apis/serviceusage_v1beta1/classes.rb +72 -2
  135. data/generated/google/apis/serviceusage_v1beta1/representations.rb +30 -0
  136. data/generated/google/apis/serviceusage_v1beta1/service.rb +37 -0
  137. data/generated/google/apis/slides_v1.rb +1 -1
  138. data/generated/google/apis/slides_v1/classes.rb +4 -0
  139. data/generated/google/apis/vision_v1.rb +1 -1
  140. data/generated/google/apis/vision_v1/classes.rb +18 -0
  141. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  142. data/generated/google/apis/vision_v1p1beta1/classes.rb +18 -0
  143. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  144. data/generated/google/apis/vision_v1p2beta1/classes.rb +18 -0
  145. data/generated/google/apis/youtube_v3.rb +1 -1
  146. data/generated/google/apis/youtube_v3/classes.rb +38 -0
  147. data/generated/google/apis/youtube_v3/representations.rb +27 -0
  148. data/generated/google/apis/youtube_v3/service.rb +32 -0
  149. data/lib/google/apis/version.rb +1 -1
  150. metadata +7 -7
  151. data/generated/google/apis/customsearch_v1.rb +0 -31
  152. data/generated/google/apis/customsearch_v1/classes.rb +0 -1606
  153. data/generated/google/apis/customsearch_v1/representations.rb +0 -372
  154. data/generated/google/apis/customsearch_v1/service.rb +0 -608
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigtable/
26
26
  module BigtableadminV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200424'
28
+ REVISION = '20200512'
29
29
  end
30
30
  end
31
31
  end
@@ -28,15 +28,14 @@ module Google
28
28
  class Cluster
29
29
  include Google::Apis::Core::Hashable
30
30
 
31
- # (`CreationOnly`)
32
- # The type of storage used by this cluster to serve its
31
+ # Immutable. The type of storage used by this cluster to serve its
33
32
  # parent instance's tables, unless explicitly overridden.
34
33
  # Corresponds to the JSON property `defaultStorageType`
35
34
  # @return [String]
36
35
  attr_accessor :default_storage_type
37
36
 
38
- # (`CreationOnly`)
39
- # The location where this cluster's nodes and storage reside. For best
37
+ # Immutable. The location where this cluster's nodes and storage reside. For
38
+ # best
40
39
  # performance, clients should be located as close as possible to this
41
40
  # cluster. Currently only zones are supported, so values should be of the
42
41
  # form `projects/`project`/locations/`zone``.
@@ -44,7 +43,6 @@ module Google
44
43
  # @return [String]
45
44
  attr_accessor :location
46
45
 
47
- # Required. (`OutputOnly`)
48
46
  # The unique name of the cluster. Values are of the form
49
47
  # `projects/`project`/instances/`instance`/clusters/a-z*`.
50
48
  # Corresponds to the JSON property `name`
@@ -58,8 +56,7 @@ module Google
58
56
  # @return [Fixnum]
59
57
  attr_accessor :serve_nodes
60
58
 
61
- # (`OutputOnly`)
62
- # The current state of the cluster.
59
+ # Output only. The current state of the cluster.
63
60
  # Corresponds to the JSON property `state`
64
61
  # @return [String]
65
62
  attr_accessor :state
@@ -266,15 +263,13 @@ module Google
266
263
  # @return [Hash<String,String>]
267
264
  attr_accessor :labels
268
265
 
269
- # Required. (`OutputOnly`)
270
266
  # The unique name of the instance. Values are of the form
271
267
  # `projects/`project`/instances/a-z+[a-z0-9]`.
272
268
  # Corresponds to the JSON property `name`
273
269
  # @return [String]
274
270
  attr_accessor :name
275
271
 
276
- # (`OutputOnly`)
277
- # The current state of the instance.
272
+ # Output only. The current state of the instance.
278
273
  # Corresponds to the JSON property `state`
279
274
  # @return [String]
280
275
  attr_accessor :state
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigtable/
26
26
  module BigtableadminV2
27
27
  VERSION = 'V2'
28
- REVISION = '20200424'
28
+ REVISION = '20200512'
29
29
 
30
30
  # Administer your Cloud Bigtable tables and clusters
31
31
  AUTH_BIGTABLE_ADMIN = 'https://www.googleapis.com/auth/bigtable.admin'
@@ -27,7 +27,7 @@ module Google
27
27
  class AppProfile
28
28
  include Google::Apis::Core::Hashable
29
29
 
30
- # Optional long form description of the use case for this AppProfile.
30
+ # Long form description of the use case for this AppProfile.
31
31
  # Corresponds to the JSON property `description`
32
32
  # @return [String]
33
33
  attr_accessor :description
@@ -53,9 +53,8 @@ module Google
53
53
  # @return [Google::Apis::BigtableadminV2::MultiClusterRoutingUseAny]
54
54
  attr_accessor :multi_cluster_routing_use_any
55
55
 
56
- # (`OutputOnly`)
57
56
  # The unique name of the app profile. Values are of the form
58
- # `projects/<project>/instances/<instance>/appProfiles/_a-zA-Z0-9*`.
57
+ # `projects/`project`/instances/`instance`/appProfiles/_a-zA-Z0-9*`.
59
58
  # Corresponds to the JSON property `name`
60
59
  # @return [String]
61
60
  attr_accessor :name
@@ -328,15 +327,14 @@ module Google
328
327
  class Cluster
329
328
  include Google::Apis::Core::Hashable
330
329
 
331
- # (`CreationOnly`)
332
- # The type of storage used by this cluster to serve its
330
+ # Immutable. The type of storage used by this cluster to serve its
333
331
  # parent instance's tables, unless explicitly overridden.
334
332
  # Corresponds to the JSON property `defaultStorageType`
335
333
  # @return [String]
336
334
  attr_accessor :default_storage_type
337
335
 
338
- # (`CreationOnly`)
339
- # The location where this cluster's nodes and storage reside. For best
336
+ # Immutable. The location where this cluster's nodes and storage reside. For
337
+ # best
340
338
  # performance, clients should be located as close as possible to this
341
339
  # cluster. Currently only zones are supported, so values should be of the
342
340
  # form `projects/`project`/locations/`zone``.
@@ -344,7 +342,6 @@ module Google
344
342
  # @return [String]
345
343
  attr_accessor :location
346
344
 
347
- # Required. (`OutputOnly`)
348
345
  # The unique name of the cluster. Values are of the form
349
346
  # `projects/`project`/instances/`instance`/clusters/a-z*`.
350
347
  # Corresponds to the JSON property `name`
@@ -358,8 +355,7 @@ module Google
358
355
  # @return [Fixnum]
359
356
  attr_accessor :serve_nodes
360
357
 
361
- # (`OutputOnly`)
362
- # The current state of the cluster.
358
+ # Output only. The current state of the cluster.
363
359
  # Corresponds to the JSON property `state`
364
360
  # @return [String]
365
361
  attr_accessor :state
@@ -838,6 +834,9 @@ module Google
838
834
  # Requests for policies with any conditional bindings must specify version 3.
839
835
  # Policies without any conditional bindings may specify any valid value or
840
836
  # leave the field unset.
837
+ # To learn which resources support conditions in their IAM policies, see the
838
+ # [IAM
839
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
841
840
  # Corresponds to the JSON property `requestedPolicyVersion`
842
841
  # @return [Fixnum]
843
842
  attr_accessor :requested_policy_version
@@ -880,15 +879,13 @@ module Google
880
879
  # @return [Hash<String,String>]
881
880
  attr_accessor :labels
882
881
 
883
- # Required. (`OutputOnly`)
884
882
  # The unique name of the instance. Values are of the form
885
883
  # `projects/`project`/instances/a-z+[a-z0-9]`.
886
884
  # Corresponds to the JSON property `name`
887
885
  # @return [String]
888
886
  attr_accessor :name
889
887
 
890
- # (`OutputOnly`)
891
- # The current state of the instance.
888
+ # Output only. The current state of the instance.
892
889
  # Corresponds to the JSON property `state`
893
890
  # @return [String]
894
891
  attr_accessor :state
@@ -1343,10 +1340,13 @@ module Google
1343
1340
  # Google groups, and domains (such as G Suite). A `role` is a named list of
1344
1341
  # permissions; each `role` can be an IAM predefined role or a user-created
1345
1342
  # custom role.
1346
- # Optionally, a `binding` can specify a `condition`, which is a logical
1347
- # expression that allows access to a resource only if the expression evaluates
1348
- # to `true`. A condition can add constraints based on attributes of the
1349
- # request, the resource, or both.
1343
+ # For some types of Google Cloud resources, a `binding` can also specify a
1344
+ # `condition`, which is a logical expression that allows access to a resource
1345
+ # only if the expression evaluates to `true`. A condition can add constraints
1346
+ # based on attributes of the request, the resource, or both. To learn which
1347
+ # resources support conditions in their IAM policies, see the
1348
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1349
+ # policies).
1350
1350
  # **JSON example:**
1351
1351
  # `
1352
1352
  # "bindings": [
@@ -1361,7 +1361,9 @@ module Google
1361
1361
  # `,
1362
1362
  # `
1363
1363
  # "role": "roles/resourcemanager.organizationViewer",
1364
- # "members": ["user:eve@example.com"],
1364
+ # "members": [
1365
+ # "user:eve@example.com"
1366
+ # ],
1365
1367
  # "condition": `
1366
1368
  # "title": "expirable access",
1367
1369
  # "description": "Does not grant access after Sep 2020",
@@ -1439,6 +1441,9 @@ module Google
1439
1441
  # the conditions in the version `3` policy are lost.
1440
1442
  # If a policy does not include any conditions, operations on that policy may
1441
1443
  # specify any valid version or leave the field unset.
1444
+ # To learn which resources support conditions in their IAM policies, see the
1445
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1446
+ # policies).
1442
1447
  # Corresponds to the JSON property `version`
1443
1448
  # @return [Fixnum]
1444
1449
  attr_accessor :version
@@ -1467,10 +1472,13 @@ module Google
1467
1472
  # Google groups, and domains (such as G Suite). A `role` is a named list of
1468
1473
  # permissions; each `role` can be an IAM predefined role or a user-created
1469
1474
  # custom role.
1470
- # Optionally, a `binding` can specify a `condition`, which is a logical
1471
- # expression that allows access to a resource only if the expression evaluates
1472
- # to `true`. A condition can add constraints based on attributes of the
1473
- # request, the resource, or both.
1475
+ # For some types of Google Cloud resources, a `binding` can also specify a
1476
+ # `condition`, which is a logical expression that allows access to a resource
1477
+ # only if the expression evaluates to `true`. A condition can add constraints
1478
+ # based on attributes of the request, the resource, or both. To learn which
1479
+ # resources support conditions in their IAM policies, see the
1480
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1481
+ # policies).
1474
1482
  # **JSON example:**
1475
1483
  # `
1476
1484
  # "bindings": [
@@ -1485,7 +1493,9 @@ module Google
1485
1493
  # `,
1486
1494
  # `
1487
1495
  # "role": "roles/resourcemanager.organizationViewer",
1488
- # "members": ["user:eve@example.com"],
1496
+ # "members": [
1497
+ # "user:eve@example.com"
1498
+ # ],
1489
1499
  # "condition": `
1490
1500
  # "title": "expirable access",
1491
1501
  # "description": "Does not grant access after Sep 2020",
@@ -1523,8 +1533,7 @@ module Google
1523
1533
  # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1524
1534
  # the fields in the mask will be modified. If no mask is provided, the
1525
1535
  # following default mask is used:
1526
- # paths: "bindings, etag"
1527
- # This field is only used by Cloud IAM.
1536
+ # `paths: "bindings, etag"`
1528
1537
  # Corresponds to the JSON property `updateMask`
1529
1538
  # @return [String]
1530
1539
  attr_accessor :update_mask
@@ -1643,24 +1652,23 @@ module Google
1643
1652
  # @return [Hash<String,Google::Apis::BigtableadminV2::ClusterState>]
1644
1653
  attr_accessor :cluster_states
1645
1654
 
1646
- # (`CreationOnly`)
1647
1655
  # The column families configured for this table, mapped by column family ID.
1648
1656
  # Views: `SCHEMA_VIEW`, `FULL`
1649
1657
  # Corresponds to the JSON property `columnFamilies`
1650
1658
  # @return [Hash<String,Google::Apis::BigtableadminV2::ColumnFamily>]
1651
1659
  attr_accessor :column_families
1652
1660
 
1653
- # (`CreationOnly`)
1654
- # The granularity (i.e. `MILLIS`) at which timestamps are stored in
1655
- # this table. Timestamps not matching the granularity will be rejected.
1661
+ # Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in
1662
+ # this
1663
+ # table. Timestamps not matching the granularity will be rejected.
1656
1664
  # If unspecified at creation time, the value will be set to `MILLIS`.
1657
1665
  # Views: `SCHEMA_VIEW`, `FULL`.
1658
1666
  # Corresponds to the JSON property `granularity`
1659
1667
  # @return [String]
1660
1668
  attr_accessor :granularity
1661
1669
 
1662
- # Output only. The unique name of the table. Values are of the form
1663
- # `projects/<project>/instances/<instance>/tables/_a-zA-Z0-9*`.
1670
+ # The unique name of the table. Values are of the form
1671
+ # `projects/`project`/instances/`instance`/tables/_a-zA-Z0-9*`.
1664
1672
  # Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`
1665
1673
  # Corresponds to the JSON property `name`
1666
1674
  # @return [String]
@@ -367,7 +367,6 @@ module Google
367
367
  # Partially updates an instance within a project. This method can modify all
368
368
  # fields of an Instance and is the preferred way to update an Instance.
369
369
  # @param [String] name
370
- # Required. (`OutputOnly`)
371
370
  # The unique name of the instance. Values are of the form
372
371
  # `projects/`project`/instances/a-z+[a-z0-9]`.
373
372
  # @param [Google::Apis::BigtableadminV2::Instance] instance_object
@@ -477,7 +476,6 @@ module Google
477
476
  # name and type for an Instance. To update other Instance properties, such as
478
477
  # labels, use PartialUpdateInstance.
479
478
  # @param [String] name
480
- # Required. (`OutputOnly`)
481
479
  # The unique name of the instance. Values are of the form
482
480
  # `projects/`project`/instances/a-z+[a-z0-9]`.
483
481
  # @param [Google::Apis::BigtableadminV2::Instance] instance_object
@@ -668,9 +666,8 @@ module Google
668
666
 
669
667
  # Updates an app profile within an instance.
670
668
  # @param [String] name
671
- # (`OutputOnly`)
672
669
  # The unique name of the app profile. Values are of the form
673
- # `projects/<project>/instances/<instance>/appProfiles/_a-zA-Z0-9*`.
670
+ # `projects/`project`/instances/`instance`/appProfiles/_a-zA-Z0-9*`.
674
671
  # @param [Google::Apis::BigtableadminV2::AppProfile] app_profile_object
675
672
  # @param [Boolean] ignore_warnings
676
673
  # If true, ignore safety checks when updating the app profile.
@@ -850,7 +847,6 @@ module Google
850
847
 
851
848
  # Updates a cluster within an instance.
852
849
  # @param [String] name
853
- # Required. (`OutputOnly`)
854
850
  # The unique name of the cluster. Values are of the form
855
851
  # `projects/`project`/instances/`instance`/clusters/a-z*`.
856
852
  # @param [Google::Apis::BigtableadminV2::Cluster] cluster_object
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://code.google.com/apis/books/docs/v1/getting_started.html
26
26
  module BooksV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200606'
28
+ REVISION = '20200617'
29
29
 
30
30
  # Manage your books
31
31
  AUTH_BOOKS = 'https://www.googleapis.com/auth/books'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/google-apps/calendar/firstapp
26
26
  module CalendarV3
27
27
  VERSION = 'V3'
28
- REVISION = '20200517'
28
+ REVISION = '20200610'
29
29
 
30
30
  # See, edit, share, and permanently delete all the calendars you can access using Google Calendar
31
31
  AUTH_CALENDAR = 'https://www.googleapis.com/auth/calendar'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/hangouts/chat
26
26
  module ChatV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200502'
28
+ REVISION = '20200617'
29
29
  end
30
30
  end
31
31
  end
@@ -787,6 +787,8 @@ module Google
787
787
  include Google::Apis::Core::Hashable
788
788
 
789
789
  # Output only. The display name (only if the space is a room).
790
+ # Please note that this field might not be populated in direct messages
791
+ # between humans.
790
792
  # Corresponds to the JSON property `displayName`
791
793
  # @return [String]
792
794
  attr_accessor :display_name
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/asset-inventory/docs/quickstart
26
26
  module CloudassetV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200605'
28
+ REVISION = '20200613'
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'
@@ -27,7 +27,10 @@ module Google
27
27
  # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-
28
28
  # resource-hierarchy),
29
29
  # a resource outside the Google Cloud resource hierarchy (such as Google
30
- # Kubernetes Engine clusters and objects), or a Cloud IAM policy.
30
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
31
+ # See [Supported asset
32
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
33
+ # for more information.
31
34
  class Asset
32
35
  include Google::Apis::Core::Hashable
33
36
 
@@ -834,7 +837,7 @@ module Google
834
837
  attr_accessor :denied_values
835
838
 
836
839
  # Determines the inheritance behavior for this `Policy`.
837
- # By default, a `ListPolicy` set at a resource supercedes any `Policy` set
840
+ # By default, a `ListPolicy` set at a resource supersedes any `Policy` set
838
841
  # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
839
842
  # set to `true`, then the values from the effective `Policy` of the parent
840
843
  # resource are inherited, meaning the values set in this `Policy` are
@@ -958,6 +961,9 @@ module Google
958
961
 
959
962
  # The name of the `Constraint` the `Policy` is configuring, for example,
960
963
  # `constraints/serviceuser.services`.
964
+ # A [list of available
965
+ # constraints](/resource-manager/docs/organization-policy/org-policy-constraints)
966
+ # is available.
961
967
  # Immutable after creation.
962
968
  # Corresponds to the JSON property `constraint`
963
969
  # @return [String]
@@ -1963,7 +1969,10 @@ module Google
1963
1969
  # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-
1964
1970
  # resource-hierarchy),
1965
1971
  # a resource outside the Google Cloud resource hierarchy (such as Google
1966
- # Kubernetes Engine clusters and objects), or a Cloud IAM policy.
1972
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
1973
+ # See [Supported asset
1974
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
1975
+ # for more information.
1967
1976
  # Corresponds to the JSON property `asset`
1968
1977
  # @return [Google::Apis::CloudassetV1::Asset]
1969
1978
  attr_accessor :asset
@@ -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 = '20200605'
28
+ REVISION = '20200613'
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'
@@ -22,12 +22,38 @@ module Google
22
22
  module Apis
23
23
  module CloudassetV1beta1
24
24
 
25
- # Cloud asset. This includes all Google Cloud Platform resources,
26
- # Cloud IAM policies, and other non-GCP assets.
25
+ # An asset in Google Cloud. An asset can be any resource in the Google Cloud
26
+ # [resource
27
+ # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-
28
+ # resource-hierarchy),
29
+ # a resource outside the Google Cloud resource hierarchy (such as Google
30
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
31
+ # See [Supported asset
32
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
33
+ # for more information.
27
34
  class Asset
28
35
  include Google::Apis::Core::Hashable
29
36
 
30
- # Type of the asset. Example: "google.compute.Disk".
37
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
38
+ # services, along with a list of requirements necessary for the label to be
39
+ # applied.
40
+ # Corresponds to the JSON property `accessLevel`
41
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1AccessLevel]
42
+ attr_accessor :access_level
43
+
44
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
45
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which
46
+ # define regions of services able to freely pass data within a perimeter). An
47
+ # access policy is globally visible within an organization, and the
48
+ # restrictions it specifies apply to all projects within an organization.
49
+ # Corresponds to the JSON property `accessPolicy`
50
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1AccessPolicy]
51
+ attr_accessor :access_policy
52
+
53
+ # The type of the asset. Example: `compute.googleapis.com/Disk`
54
+ # See [Supported asset
55
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
56
+ # for more information.
31
57
  # Corresponds to the JSON property `assetType`
32
58
  # @return [String]
33
59
  attr_accessor :asset_type
@@ -97,31 +123,58 @@ module Google
97
123
  # @return [Google::Apis::CloudassetV1beta1::Policy]
98
124
  attr_accessor :iam_policy
99
125
 
100
- # The full name of the asset. For example:
126
+ # The full name of the asset. Example:
101
127
  # `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/
102
- # instance1`.
128
+ # instance1`
103
129
  # See [Resource
104
- # Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
130
+ # names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
105
131
  # for more information.
106
132
  # Corresponds to the JSON property `name`
107
133
  # @return [String]
108
134
  attr_accessor :name
109
135
 
110
- # Representation of a cloud resource.
136
+ # A representation of an [organization
137
+ # policy](https://cloud.google.com/resource-manager/docs/organization-policy/
138
+ # overview#organization_policy).
139
+ # There can be more than one organization policy with different constraints
140
+ # set on a given resource.
141
+ # Corresponds to the JSON property `orgPolicy`
142
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleCloudOrgpolicyV1Policy>]
143
+ attr_accessor :org_policy
144
+
145
+ # A representation of a Google Cloud resource.
111
146
  # Corresponds to the JSON property `resource`
112
147
  # @return [Google::Apis::CloudassetV1beta1::Resource]
113
148
  attr_accessor :resource
114
149
 
150
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
151
+ # import and export data amongst themselves, but not export outside of the
152
+ # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
153
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
154
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
155
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
156
+ # Google Cloud project can only belong to a single regular Service Perimeter.
157
+ # Service Perimeter Bridges can contain only Google Cloud projects as members,
158
+ # a single Google Cloud project may belong to multiple Service Perimeter
159
+ # Bridges.
160
+ # Corresponds to the JSON property `servicePerimeter`
161
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
162
+ attr_accessor :service_perimeter
163
+
115
164
  def initialize(**args)
116
165
  update!(**args)
117
166
  end
118
167
 
119
168
  # Update properties of this object
120
169
  def update!(**args)
170
+ @access_level = args[:access_level] if args.key?(:access_level)
171
+ @access_policy = args[:access_policy] if args.key?(:access_policy)
121
172
  @asset_type = args[:asset_type] if args.key?(:asset_type)
122
173
  @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
123
174
  @name = args[:name] if args.key?(:name)
175
+ @org_policy = args[:org_policy] if args.key?(:org_policy)
124
176
  @resource = args[:resource] if args.key?(:resource)
177
+ @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
125
178
  end
126
179
  end
127
180
 
@@ -489,6 +542,857 @@ module Google
489
542
  end
490
543
  end
491
544
 
545
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
546
+ # resource.
547
+ class GoogleCloudOrgpolicyV1BooleanPolicy
548
+ include Google::Apis::Core::Hashable
549
+
550
+ # If `true`, then the `Policy` is enforced. If `false`, then any
551
+ # configuration is acceptable.
552
+ # Suppose you have a `Constraint`
553
+ # `constraints/compute.disableSerialPortAccess` with `constraint_default`
554
+ # set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following
555
+ # behavior:
556
+ # - If the `Policy` at this resource has enforced set to `false`, serial
557
+ # port connection attempts will be allowed.
558
+ # - If the `Policy` at this resource has enforced set to `true`, serial
559
+ # port connection attempts will be refused.
560
+ # - If the `Policy` at this resource is `RestoreDefault`, serial port
561
+ # connection attempts will be allowed.
562
+ # - If no `Policy` is set at this resource or anywhere higher in the
563
+ # resource hierarchy, serial port connection attempts will be allowed.
564
+ # - If no `Policy` is set at this resource, but one exists higher in the
565
+ # resource hierarchy, the behavior is as if the`Policy` were set at
566
+ # this resource.
567
+ # The following examples demonstrate the different possible layerings:
568
+ # Example 1 (nearest `Constraint` wins):
569
+ # `organizations/foo` has a `Policy` with:
570
+ # `enforced: false`
571
+ # `projects/bar` has no `Policy` set.
572
+ # The constraint at `projects/bar` and `organizations/foo` will not be
573
+ # enforced.
574
+ # Example 2 (enforcement gets replaced):
575
+ # `organizations/foo` has a `Policy` with:
576
+ # `enforced: false`
577
+ # `projects/bar` has a `Policy` with:
578
+ # `enforced: true`
579
+ # The constraint at `organizations/foo` is not enforced.
580
+ # The constraint at `projects/bar` is enforced.
581
+ # Example 3 (RestoreDefault):
582
+ # `organizations/foo` has a `Policy` with:
583
+ # `enforced: true`
584
+ # `projects/bar` has a `Policy` with:
585
+ # `RestoreDefault: ```
586
+ # The constraint at `organizations/foo` is enforced.
587
+ # The constraint at `projects/bar` is not enforced, because
588
+ # `constraint_default` for the `Constraint` is `ALLOW`.
589
+ # Corresponds to the JSON property `enforced`
590
+ # @return [Boolean]
591
+ attr_accessor :enforced
592
+ alias_method :enforced?, :enforced
593
+
594
+ def initialize(**args)
595
+ update!(**args)
596
+ end
597
+
598
+ # Update properties of this object
599
+ def update!(**args)
600
+ @enforced = args[:enforced] if args.key?(:enforced)
601
+ end
602
+ end
603
+
604
+ # Used in `policy_type` to specify how `list_policy` behaves at this
605
+ # resource.
606
+ # `ListPolicy` can define specific values and subtrees of Cloud Resource
607
+ # Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that
608
+ # are allowed or denied by setting the `allowed_values` and `denied_values`
609
+ # fields. This is achieved by using the `under:` and optional `is:` prefixes.
610
+ # The `under:` prefix is used to denote resource subtree values.
611
+ # The `is:` prefix is used to denote specific values, and is required only
612
+ # if the value contains a ":". Values prefixed with "is:" are treated the
613
+ # same as values with no prefix.
614
+ # Ancestry subtrees must be in one of the following formats:
615
+ # - "projects/<project-id>", e.g. "projects/tokyo-rain-123"
616
+ # - "folders/<folder-id>", e.g. "folders/1234"
617
+ # - "organizations/<organization-id>", e.g. "organizations/1234"
618
+ # The `supports_under` field of the associated `Constraint` defines whether
619
+ # ancestry prefixes can be used. You can set `allowed_values` and
620
+ # `denied_values` in the same `Policy` if `all_values` is
621
+ # `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
622
+ # values. If `all_values` is set to either `ALLOW` or `DENY`,
623
+ # `allowed_values` and `denied_values` must be unset.
624
+ class GoogleCloudOrgpolicyV1ListPolicy
625
+ include Google::Apis::Core::Hashable
626
+
627
+ # The policy all_values state.
628
+ # Corresponds to the JSON property `allValues`
629
+ # @return [String]
630
+ attr_accessor :all_values
631
+
632
+ # List of values allowed at this resource. Can only be set if `all_values`
633
+ # is set to `ALL_VALUES_UNSPECIFIED`.
634
+ # Corresponds to the JSON property `allowedValues`
635
+ # @return [Array<String>]
636
+ attr_accessor :allowed_values
637
+
638
+ # List of values denied at this resource. Can only be set if `all_values`
639
+ # is set to `ALL_VALUES_UNSPECIFIED`.
640
+ # Corresponds to the JSON property `deniedValues`
641
+ # @return [Array<String>]
642
+ attr_accessor :denied_values
643
+
644
+ # Determines the inheritance behavior for this `Policy`.
645
+ # By default, a `ListPolicy` set at a resource supersedes any `Policy` set
646
+ # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
647
+ # set to `true`, then the values from the effective `Policy` of the parent
648
+ # resource are inherited, meaning the values set in this `Policy` are
649
+ # added to the values inherited up the hierarchy.
650
+ # Setting `Policy` hierarchies that inherit both allowed values and denied
651
+ # values isn't recommended in most circumstances to keep the configuration
652
+ # simple and understandable. However, it is possible to set a `Policy` with
653
+ # `allowed_values` set that inherits a `Policy` with `denied_values` set.
654
+ # In this case, the values that are allowed must be in `allowed_values` and
655
+ # not present in `denied_values`.
656
+ # For example, suppose you have a `Constraint`
657
+ # `constraints/serviceuser.services`, which has a `constraint_type` of
658
+ # `list_constraint`, and with `constraint_default` set to `ALLOW`.
659
+ # Suppose that at the Organization level, a `Policy` is applied that
660
+ # restricts the allowed API activations to ``E1`, `E2``. Then, if a
661
+ # `Policy` is applied to a project below the Organization that has
662
+ # `inherit_from_parent` set to `false` and field all_values set to DENY,
663
+ # then an attempt to activate any API will be denied.
664
+ # The following examples demonstrate different possible layerings for
665
+ # `projects/bar` parented by `organizations/foo`:
666
+ # Example 1 (no inherited values):
667
+ # `organizations/foo` has a `Policy` with values:
668
+ # `allowed_values: "E1" allowed_values:"E2"`
669
+ # `projects/bar` has `inherit_from_parent` `false` and values:
670
+ # `allowed_values: "E3" allowed_values: "E4"`
671
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
672
+ # The accepted values at `projects/bar` are `E3`, and `E4`.
673
+ # Example 2 (inherited values):
674
+ # `organizations/foo` has a `Policy` with values:
675
+ # `allowed_values: "E1" allowed_values:"E2"`
676
+ # `projects/bar` has a `Policy` with values:
677
+ # `value: "E3" value: "E4" inherit_from_parent: true`
678
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
679
+ # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
680
+ # Example 3 (inheriting both allowed and denied values):
681
+ # `organizations/foo` has a `Policy` with values:
682
+ # `allowed_values: "E1" allowed_values: "E2"`
683
+ # `projects/bar` has a `Policy` with:
684
+ # `denied_values: "E1"`
685
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
686
+ # The value accepted at `projects/bar` is `E2`.
687
+ # Example 4 (RestoreDefault):
688
+ # `organizations/foo` has a `Policy` with values:
689
+ # `allowed_values: "E1" allowed_values:"E2"`
690
+ # `projects/bar` has a `Policy` with values:
691
+ # `RestoreDefault: ```
692
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
693
+ # The accepted values at `projects/bar` are either all or none depending on
694
+ # the value of `constraint_default` (if `ALLOW`, all; if
695
+ # `DENY`, none).
696
+ # Example 5 (no policy inherits parent policy):
697
+ # `organizations/foo` has no `Policy` set.
698
+ # `projects/bar` has no `Policy` set.
699
+ # The accepted values at both levels are either all or none depending on
700
+ # the value of `constraint_default` (if `ALLOW`, all; if
701
+ # `DENY`, none).
702
+ # Example 6 (ListConstraint allowing all):
703
+ # `organizations/foo` has a `Policy` with values:
704
+ # `allowed_values: "E1" allowed_values: "E2"`
705
+ # `projects/bar` has a `Policy` with:
706
+ # `all: ALLOW`
707
+ # The accepted values at `organizations/foo` are `E1`, E2`.
708
+ # Any value is accepted at `projects/bar`.
709
+ # Example 7 (ListConstraint allowing none):
710
+ # `organizations/foo` has a `Policy` with values:
711
+ # `allowed_values: "E1" allowed_values: "E2"`
712
+ # `projects/bar` has a `Policy` with:
713
+ # `all: DENY`
714
+ # The accepted values at `organizations/foo` are `E1`, E2`.
715
+ # No value is accepted at `projects/bar`.
716
+ # Example 10 (allowed and denied subtrees of Resource Manager hierarchy):
717
+ # Given the following resource hierarchy
718
+ # O1->`F1, F2`; F1->`P1`; F2->`P2, P3`,
719
+ # `organizations/foo` has a `Policy` with values:
720
+ # `allowed_values: "under:organizations/O1"`
721
+ # `projects/bar` has a `Policy` with:
722
+ # `allowed_values: "under:projects/P3"`
723
+ # `denied_values: "under:folders/F2"`
724
+ # The accepted values at `organizations/foo` are `organizations/O1`,
725
+ # `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
726
+ # `projects/P3`.
727
+ # The accepted values at `projects/bar` are `organizations/O1`,
728
+ # `folders/F1`, `projects/P1`.
729
+ # Corresponds to the JSON property `inheritFromParent`
730
+ # @return [Boolean]
731
+ attr_accessor :inherit_from_parent
732
+ alias_method :inherit_from_parent?, :inherit_from_parent
733
+
734
+ # Optional. The Google Cloud Console will try to default to a configuration
735
+ # that matches the value specified in this `Policy`. If `suggested_value`
736
+ # is not set, it will inherit the value specified higher in the hierarchy,
737
+ # unless `inherit_from_parent` is `false`.
738
+ # Corresponds to the JSON property `suggestedValue`
739
+ # @return [String]
740
+ attr_accessor :suggested_value
741
+
742
+ def initialize(**args)
743
+ update!(**args)
744
+ end
745
+
746
+ # Update properties of this object
747
+ def update!(**args)
748
+ @all_values = args[:all_values] if args.key?(:all_values)
749
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
750
+ @denied_values = args[:denied_values] if args.key?(:denied_values)
751
+ @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
752
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
753
+ end
754
+ end
755
+
756
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
757
+ # for configurations of Cloud Platform resources.
758
+ class GoogleCloudOrgpolicyV1Policy
759
+ include Google::Apis::Core::Hashable
760
+
761
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
762
+ # resource.
763
+ # Corresponds to the JSON property `booleanPolicy`
764
+ # @return [Google::Apis::CloudassetV1beta1::GoogleCloudOrgpolicyV1BooleanPolicy]
765
+ attr_accessor :boolean_policy
766
+
767
+ # The name of the `Constraint` the `Policy` is configuring, for example,
768
+ # `constraints/serviceuser.services`.
769
+ # A [list of available
770
+ # constraints](/resource-manager/docs/organization-policy/org-policy-constraints)
771
+ # is available.
772
+ # Immutable after creation.
773
+ # Corresponds to the JSON property `constraint`
774
+ # @return [String]
775
+ attr_accessor :constraint
776
+
777
+ # An opaque tag indicating the current version of the `Policy`, used for
778
+ # concurrency control.
779
+ # When the `Policy` is returned from either a `GetPolicy` or a
780
+ # `ListOrgPolicy` request, this `etag` indicates the version of the current
781
+ # `Policy` to use when executing a read-modify-write loop.
782
+ # When the `Policy` is returned from a `GetEffectivePolicy` request, the
783
+ # `etag` will be unset.
784
+ # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
785
+ # that was returned from a `GetOrgPolicy` request as part of a
786
+ # read-modify-write loop for concurrency control. Not setting the `etag`in a
787
+ # `SetOrgPolicy` request will result in an unconditional write of the
788
+ # `Policy`.
789
+ # Corresponds to the JSON property `etag`
790
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
791
+ # @return [String]
792
+ attr_accessor :etag
793
+
794
+ # Used in `policy_type` to specify how `list_policy` behaves at this
795
+ # resource.
796
+ # `ListPolicy` can define specific values and subtrees of Cloud Resource
797
+ # Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that
798
+ # are allowed or denied by setting the `allowed_values` and `denied_values`
799
+ # fields. This is achieved by using the `under:` and optional `is:` prefixes.
800
+ # The `under:` prefix is used to denote resource subtree values.
801
+ # The `is:` prefix is used to denote specific values, and is required only
802
+ # if the value contains a ":". Values prefixed with "is:" are treated the
803
+ # same as values with no prefix.
804
+ # Ancestry subtrees must be in one of the following formats:
805
+ # - "projects/<project-id>", e.g. "projects/tokyo-rain-123"
806
+ # - "folders/<folder-id>", e.g. "folders/1234"
807
+ # - "organizations/<organization-id>", e.g. "organizations/1234"
808
+ # The `supports_under` field of the associated `Constraint` defines whether
809
+ # ancestry prefixes can be used. You can set `allowed_values` and
810
+ # `denied_values` in the same `Policy` if `all_values` is
811
+ # `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
812
+ # values. If `all_values` is set to either `ALLOW` or `DENY`,
813
+ # `allowed_values` and `denied_values` must be unset.
814
+ # Corresponds to the JSON property `listPolicy`
815
+ # @return [Google::Apis::CloudassetV1beta1::GoogleCloudOrgpolicyV1ListPolicy]
816
+ attr_accessor :list_policy
817
+
818
+ # Ignores policies set above this resource and restores the
819
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
820
+ # this resource.
821
+ # Suppose that `constraint_default` is set to `ALLOW` for the
822
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
823
+ # foo.com sets a `Policy` at their Organization resource node that restricts
824
+ # the allowed service activations to deny all service activations. They
825
+ # could then set a `Policy` with the `policy_type` `restore_default` on
826
+ # several experimental projects, restoring the `constraint_default`
827
+ # enforcement of the `Constraint` for only those projects, allowing those
828
+ # projects to have all services activated.
829
+ # Corresponds to the JSON property `restoreDefault`
830
+ # @return [Google::Apis::CloudassetV1beta1::GoogleCloudOrgpolicyV1RestoreDefault]
831
+ attr_accessor :restore_default
832
+
833
+ # The time stamp the `Policy` was previously updated. This is set by the
834
+ # server, not specified by the caller, and represents the last time a call to
835
+ # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
836
+ # be ignored.
837
+ # Corresponds to the JSON property `updateTime`
838
+ # @return [String]
839
+ attr_accessor :update_time
840
+
841
+ # Version of the `Policy`. Default version is 0;
842
+ # Corresponds to the JSON property `version`
843
+ # @return [Fixnum]
844
+ attr_accessor :version
845
+
846
+ def initialize(**args)
847
+ update!(**args)
848
+ end
849
+
850
+ # Update properties of this object
851
+ def update!(**args)
852
+ @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy)
853
+ @constraint = args[:constraint] if args.key?(:constraint)
854
+ @etag = args[:etag] if args.key?(:etag)
855
+ @list_policy = args[:list_policy] if args.key?(:list_policy)
856
+ @restore_default = args[:restore_default] if args.key?(:restore_default)
857
+ @update_time = args[:update_time] if args.key?(:update_time)
858
+ @version = args[:version] if args.key?(:version)
859
+ end
860
+ end
861
+
862
+ # Ignores policies set above this resource and restores the
863
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
864
+ # this resource.
865
+ # Suppose that `constraint_default` is set to `ALLOW` for the
866
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
867
+ # foo.com sets a `Policy` at their Organization resource node that restricts
868
+ # the allowed service activations to deny all service activations. They
869
+ # could then set a `Policy` with the `policy_type` `restore_default` on
870
+ # several experimental projects, restoring the `constraint_default`
871
+ # enforcement of the `Constraint` for only those projects, allowing those
872
+ # projects to have all services activated.
873
+ class GoogleCloudOrgpolicyV1RestoreDefault
874
+ include Google::Apis::Core::Hashable
875
+
876
+ def initialize(**args)
877
+ update!(**args)
878
+ end
879
+
880
+ # Update properties of this object
881
+ def update!(**args)
882
+ end
883
+ end
884
+
885
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
886
+ # services, along with a list of requirements necessary for the label to be
887
+ # applied.
888
+ class GoogleIdentityAccesscontextmanagerV1AccessLevel
889
+ include Google::Apis::Core::Hashable
890
+
891
+ # `BasicLevel` is an `AccessLevel` using a set of recommended features.
892
+ # Corresponds to the JSON property `basic`
893
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1BasicLevel]
894
+ attr_accessor :basic
895
+
896
+ # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language
897
+ # to represent the necessary conditions for the level to apply to a request.
898
+ # See CEL spec at: https://github.com/google/cel-spec
899
+ # Corresponds to the JSON property `custom`
900
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1CustomLevel]
901
+ attr_accessor :custom
902
+
903
+ # Description of the `AccessLevel` and its use. Does not affect behavior.
904
+ # Corresponds to the JSON property `description`
905
+ # @return [String]
906
+ attr_accessor :description
907
+
908
+ # Required. Resource name for the Access Level. The `short_name` component
909
+ # must begin with a letter and only include alphanumeric and '_'. Format:
910
+ # `accessPolicies/`policy_id`/accessLevels/`short_name``. The maximum length
911
+ # of the `short_name` component is 50 characters.
912
+ # Corresponds to the JSON property `name`
913
+ # @return [String]
914
+ attr_accessor :name
915
+
916
+ # Human readable title. Must be unique within the Policy.
917
+ # Corresponds to the JSON property `title`
918
+ # @return [String]
919
+ attr_accessor :title
920
+
921
+ def initialize(**args)
922
+ update!(**args)
923
+ end
924
+
925
+ # Update properties of this object
926
+ def update!(**args)
927
+ @basic = args[:basic] if args.key?(:basic)
928
+ @custom = args[:custom] if args.key?(:custom)
929
+ @description = args[:description] if args.key?(:description)
930
+ @name = args[:name] if args.key?(:name)
931
+ @title = args[:title] if args.key?(:title)
932
+ end
933
+ end
934
+
935
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
936
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which
937
+ # define regions of services able to freely pass data within a perimeter). An
938
+ # access policy is globally visible within an organization, and the
939
+ # restrictions it specifies apply to all projects within an organization.
940
+ class GoogleIdentityAccesscontextmanagerV1AccessPolicy
941
+ include Google::Apis::Core::Hashable
942
+
943
+ # Output only. An opaque identifier for the current version of the
944
+ # `AccessPolicy`. This will always be a strongly validated etag, meaning that
945
+ # two Access Polices will be identical if and only if their etags are
946
+ # identical. Clients should not expect this to be in any specific format.
947
+ # Corresponds to the JSON property `etag`
948
+ # @return [String]
949
+ attr_accessor :etag
950
+
951
+ # Output only. Resource name of the `AccessPolicy`. Format:
952
+ # `accessPolicies/`policy_id``
953
+ # Corresponds to the JSON property `name`
954
+ # @return [String]
955
+ attr_accessor :name
956
+
957
+ # Required. The parent of this `AccessPolicy` in the Cloud Resource
958
+ # Hierarchy. Currently immutable once created. Format:
959
+ # `organizations/`organization_id``
960
+ # Corresponds to the JSON property `parent`
961
+ # @return [String]
962
+ attr_accessor :parent
963
+
964
+ # Required. Human readable title. Does not affect behavior.
965
+ # Corresponds to the JSON property `title`
966
+ # @return [String]
967
+ attr_accessor :title
968
+
969
+ def initialize(**args)
970
+ update!(**args)
971
+ end
972
+
973
+ # Update properties of this object
974
+ def update!(**args)
975
+ @etag = args[:etag] if args.key?(:etag)
976
+ @name = args[:name] if args.key?(:name)
977
+ @parent = args[:parent] if args.key?(:parent)
978
+ @title = args[:title] if args.key?(:title)
979
+ end
980
+ end
981
+
982
+ # `BasicLevel` is an `AccessLevel` using a set of recommended features.
983
+ class GoogleIdentityAccesscontextmanagerV1BasicLevel
984
+ include Google::Apis::Core::Hashable
985
+
986
+ # How the `conditions` list should be combined to determine if a request is
987
+ # granted this `AccessLevel`. If AND is used, each `Condition` in
988
+ # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
989
+ # is used, at least one `Condition` in `conditions` must be satisfied for the
990
+ # `AccessLevel` to be applied. Default behavior is AND.
991
+ # Corresponds to the JSON property `combiningFunction`
992
+ # @return [String]
993
+ attr_accessor :combining_function
994
+
995
+ # Required. A list of requirements for the `AccessLevel` to be granted.
996
+ # Corresponds to the JSON property `conditions`
997
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1Condition>]
998
+ attr_accessor :conditions
999
+
1000
+ def initialize(**args)
1001
+ update!(**args)
1002
+ end
1003
+
1004
+ # Update properties of this object
1005
+ def update!(**args)
1006
+ @combining_function = args[:combining_function] if args.key?(:combining_function)
1007
+ @conditions = args[:conditions] if args.key?(:conditions)
1008
+ end
1009
+ end
1010
+
1011
+ # A condition necessary for an `AccessLevel` to be granted. The Condition is an
1012
+ # AND over its fields. So a Condition is true if: 1) the request IP is from one
1013
+ # of the listed subnetworks AND 2) the originating device complies with the
1014
+ # listed device policy AND 3) all listed access levels are granted AND 4) the
1015
+ # request was sent at a time allowed by the DateTimeRestriction.
1016
+ class GoogleIdentityAccesscontextmanagerV1Condition
1017
+ include Google::Apis::Core::Hashable
1018
+
1019
+ # `DevicePolicy` specifies device specific restrictions necessary to acquire a
1020
+ # given access level. A `DevicePolicy` specifies requirements for requests from
1021
+ # devices to be granted access levels, it does not do any enforcement on the
1022
+ # device. `DevicePolicy` acts as an AND over all specified fields, and each
1023
+ # repeated field is an OR over its elements. Any unset fields are ignored. For
1024
+ # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type :
1025
+ # DESKTOP_LINUX, encryption_status: ENCRYPTED`, then the DevicePolicy will be
1026
+ # true for requests originating from encrypted Linux desktops and encrypted
1027
+ # Windows desktops.
1028
+ # Corresponds to the JSON property `devicePolicy`
1029
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1DevicePolicy]
1030
+ attr_accessor :device_policy
1031
+
1032
+ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
1033
+ # a CIDR IP address block, the specified IP address portion must be properly
1034
+ # truncated (i.e. all the host bits must be zero) or the input is considered
1035
+ # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
1036
+ # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
1037
+ # "2001:db8::1/32" is not. The originating IP of a request must be in one of
1038
+ # the listed subnets in order for this Condition to be true. If empty, all IP
1039
+ # addresses are allowed.
1040
+ # Corresponds to the JSON property `ipSubnetworks`
1041
+ # @return [Array<String>]
1042
+ attr_accessor :ip_subnetworks
1043
+
1044
+ # The request must be made by one of the provided user or service
1045
+ # accounts. Groups are not supported.
1046
+ # Syntax:
1047
+ # `user:`emailid``
1048
+ # `serviceAccount:`emailid``
1049
+ # If not specified, a request may come from any user.
1050
+ # Corresponds to the JSON property `members`
1051
+ # @return [Array<String>]
1052
+ attr_accessor :members
1053
+
1054
+ # Whether to negate the Condition. If true, the Condition becomes a NAND over
1055
+ # its non-empty fields, each field must be false for the Condition overall to
1056
+ # be satisfied. Defaults to false.
1057
+ # Corresponds to the JSON property `negate`
1058
+ # @return [Boolean]
1059
+ attr_accessor :negate
1060
+ alias_method :negate?, :negate
1061
+
1062
+ # The request must originate from one of the provided countries/regions.
1063
+ # Must be valid ISO 3166-1 alpha-2 codes.
1064
+ # Corresponds to the JSON property `regions`
1065
+ # @return [Array<String>]
1066
+ attr_accessor :regions
1067
+
1068
+ # A list of other access levels defined in the same `Policy`, referenced by
1069
+ # resource name. Referencing an `AccessLevel` which does not exist is an
1070
+ # error. All access levels listed must be granted for the Condition
1071
+ # to be true. Example:
1072
+ # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
1073
+ # Corresponds to the JSON property `requiredAccessLevels`
1074
+ # @return [Array<String>]
1075
+ attr_accessor :required_access_levels
1076
+
1077
+ def initialize(**args)
1078
+ update!(**args)
1079
+ end
1080
+
1081
+ # Update properties of this object
1082
+ def update!(**args)
1083
+ @device_policy = args[:device_policy] if args.key?(:device_policy)
1084
+ @ip_subnetworks = args[:ip_subnetworks] if args.key?(:ip_subnetworks)
1085
+ @members = args[:members] if args.key?(:members)
1086
+ @negate = args[:negate] if args.key?(:negate)
1087
+ @regions = args[:regions] if args.key?(:regions)
1088
+ @required_access_levels = args[:required_access_levels] if args.key?(:required_access_levels)
1089
+ end
1090
+ end
1091
+
1092
+ # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language
1093
+ # to represent the necessary conditions for the level to apply to a request.
1094
+ # See CEL spec at: https://github.com/google/cel-spec
1095
+ class GoogleIdentityAccesscontextmanagerV1CustomLevel
1096
+ include Google::Apis::Core::Hashable
1097
+
1098
+ # Represents a textual expression in the Common Expression Language (CEL)
1099
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1100
+ # are documented at https://github.com/google/cel-spec.
1101
+ # Example (Comparison):
1102
+ # title: "Summary size limit"
1103
+ # description: "Determines if a summary is less than 100 chars"
1104
+ # expression: "document.summary.size() < 100"
1105
+ # Example (Equality):
1106
+ # title: "Requestor is owner"
1107
+ # description: "Determines if requestor is the document owner"
1108
+ # expression: "document.owner == request.auth.claims.email"
1109
+ # Example (Logic):
1110
+ # title: "Public documents"
1111
+ # description: "Determine whether the document should be publicly visible"
1112
+ # expression: "document.type != 'private' && document.type != 'internal'"
1113
+ # Example (Data Manipulation):
1114
+ # title: "Notification string"
1115
+ # description: "Create a notification string with a timestamp."
1116
+ # expression: "'New message received at ' + string(document.create_time)"
1117
+ # The exact variables and functions that may be referenced within an expression
1118
+ # are determined by the service that evaluates it. See the service
1119
+ # documentation for additional information.
1120
+ # Corresponds to the JSON property `expr`
1121
+ # @return [Google::Apis::CloudassetV1beta1::Expr]
1122
+ attr_accessor :expr
1123
+
1124
+ def initialize(**args)
1125
+ update!(**args)
1126
+ end
1127
+
1128
+ # Update properties of this object
1129
+ def update!(**args)
1130
+ @expr = args[:expr] if args.key?(:expr)
1131
+ end
1132
+ end
1133
+
1134
+ # `DevicePolicy` specifies device specific restrictions necessary to acquire a
1135
+ # given access level. A `DevicePolicy` specifies requirements for requests from
1136
+ # devices to be granted access levels, it does not do any enforcement on the
1137
+ # device. `DevicePolicy` acts as an AND over all specified fields, and each
1138
+ # repeated field is an OR over its elements. Any unset fields are ignored. For
1139
+ # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type :
1140
+ # DESKTOP_LINUX, encryption_status: ENCRYPTED`, then the DevicePolicy will be
1141
+ # true for requests originating from encrypted Linux desktops and encrypted
1142
+ # Windows desktops.
1143
+ class GoogleIdentityAccesscontextmanagerV1DevicePolicy
1144
+ include Google::Apis::Core::Hashable
1145
+
1146
+ # Allowed device management levels, an empty list allows all management
1147
+ # levels.
1148
+ # Corresponds to the JSON property `allowedDeviceManagementLevels`
1149
+ # @return [Array<String>]
1150
+ attr_accessor :allowed_device_management_levels
1151
+
1152
+ # Allowed encryptions statuses, an empty list allows all statuses.
1153
+ # Corresponds to the JSON property `allowedEncryptionStatuses`
1154
+ # @return [Array<String>]
1155
+ attr_accessor :allowed_encryption_statuses
1156
+
1157
+ # Allowed OS versions, an empty list allows all types and all versions.
1158
+ # Corresponds to the JSON property `osConstraints`
1159
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1OsConstraint>]
1160
+ attr_accessor :os_constraints
1161
+
1162
+ # Whether the device needs to be approved by the customer admin.
1163
+ # Corresponds to the JSON property `requireAdminApproval`
1164
+ # @return [Boolean]
1165
+ attr_accessor :require_admin_approval
1166
+ alias_method :require_admin_approval?, :require_admin_approval
1167
+
1168
+ # Whether the device needs to be corp owned.
1169
+ # Corresponds to the JSON property `requireCorpOwned`
1170
+ # @return [Boolean]
1171
+ attr_accessor :require_corp_owned
1172
+ alias_method :require_corp_owned?, :require_corp_owned
1173
+
1174
+ # Whether or not screenlock is required for the DevicePolicy to be true.
1175
+ # Defaults to `false`.
1176
+ # Corresponds to the JSON property `requireScreenlock`
1177
+ # @return [Boolean]
1178
+ attr_accessor :require_screenlock
1179
+ alias_method :require_screenlock?, :require_screenlock
1180
+
1181
+ def initialize(**args)
1182
+ update!(**args)
1183
+ end
1184
+
1185
+ # Update properties of this object
1186
+ def update!(**args)
1187
+ @allowed_device_management_levels = args[:allowed_device_management_levels] if args.key?(:allowed_device_management_levels)
1188
+ @allowed_encryption_statuses = args[:allowed_encryption_statuses] if args.key?(:allowed_encryption_statuses)
1189
+ @os_constraints = args[:os_constraints] if args.key?(:os_constraints)
1190
+ @require_admin_approval = args[:require_admin_approval] if args.key?(:require_admin_approval)
1191
+ @require_corp_owned = args[:require_corp_owned] if args.key?(:require_corp_owned)
1192
+ @require_screenlock = args[:require_screenlock] if args.key?(:require_screenlock)
1193
+ end
1194
+ end
1195
+
1196
+ # A restriction on the OS type and version of devices making requests.
1197
+ class GoogleIdentityAccesscontextmanagerV1OsConstraint
1198
+ include Google::Apis::Core::Hashable
1199
+
1200
+ # The minimum allowed OS version. If not set, any version of this OS
1201
+ # satisfies the constraint. Format: `"major.minor.patch"`.
1202
+ # Examples: `"10.5.301"`, `"9.2.1"`.
1203
+ # Corresponds to the JSON property `minimumVersion`
1204
+ # @return [String]
1205
+ attr_accessor :minimum_version
1206
+
1207
+ # Required. The allowed OS type.
1208
+ # Corresponds to the JSON property `osType`
1209
+ # @return [String]
1210
+ attr_accessor :os_type
1211
+
1212
+ # Only allows requests from devices with a verified Chrome OS.
1213
+ # Verifications includes requirements that the device is enterprise-managed,
1214
+ # conformant to domain policies, and the caller has permission to call
1215
+ # the API targeted by the request.
1216
+ # Corresponds to the JSON property `requireVerifiedChromeOs`
1217
+ # @return [Boolean]
1218
+ attr_accessor :require_verified_chrome_os
1219
+ alias_method :require_verified_chrome_os?, :require_verified_chrome_os
1220
+
1221
+ def initialize(**args)
1222
+ update!(**args)
1223
+ end
1224
+
1225
+ # Update properties of this object
1226
+ def update!(**args)
1227
+ @minimum_version = args[:minimum_version] if args.key?(:minimum_version)
1228
+ @os_type = args[:os_type] if args.key?(:os_type)
1229
+ @require_verified_chrome_os = args[:require_verified_chrome_os] if args.key?(:require_verified_chrome_os)
1230
+ end
1231
+ end
1232
+
1233
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
1234
+ # import and export data amongst themselves, but not export outside of the
1235
+ # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
1236
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
1237
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
1238
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
1239
+ # Google Cloud project can only belong to a single regular Service Perimeter.
1240
+ # Service Perimeter Bridges can contain only Google Cloud projects as members,
1241
+ # a single Google Cloud project may belong to multiple Service Perimeter
1242
+ # Bridges.
1243
+ class GoogleIdentityAccesscontextmanagerV1ServicePerimeter
1244
+ include Google::Apis::Core::Hashable
1245
+
1246
+ # Description of the `ServicePerimeter` and its use. Does not affect
1247
+ # behavior.
1248
+ # Corresponds to the JSON property `description`
1249
+ # @return [String]
1250
+ attr_accessor :description
1251
+
1252
+ # Required. Resource name for the ServicePerimeter. The `short_name`
1253
+ # component must begin with a letter and only include alphanumeric and '_'.
1254
+ # Format: `accessPolicies/`policy_id`/servicePerimeters/`short_name``
1255
+ # Corresponds to the JSON property `name`
1256
+ # @return [String]
1257
+ attr_accessor :name
1258
+
1259
+ # Perimeter type indicator. A single project is
1260
+ # allowed to be a member of single regular perimeter, but multiple service
1261
+ # perimeter bridges. A project cannot be a included in a perimeter bridge
1262
+ # without being included in regular perimeter. For perimeter bridges,
1263
+ # the restricted service list as well as access level lists must be
1264
+ # empty.
1265
+ # Corresponds to the JSON property `perimeterType`
1266
+ # @return [String]
1267
+ attr_accessor :perimeter_type
1268
+
1269
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
1270
+ # describe specific Service Perimeter configuration.
1271
+ # Corresponds to the JSON property `spec`
1272
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig]
1273
+ attr_accessor :spec
1274
+
1275
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
1276
+ # describe specific Service Perimeter configuration.
1277
+ # Corresponds to the JSON property `status`
1278
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig]
1279
+ attr_accessor :status
1280
+
1281
+ # Human readable title. Must be unique within the Policy.
1282
+ # Corresponds to the JSON property `title`
1283
+ # @return [String]
1284
+ attr_accessor :title
1285
+
1286
+ # Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly
1287
+ # exists for all Service Perimeters, and that spec is identical to the
1288
+ # status for those Service Perimeters. When this flag is set, it inhibits the
1289
+ # generation of the implicit spec, thereby allowing the user to explicitly
1290
+ # provide a configuration ("spec") to use in a dry-run version of the Service
1291
+ # Perimeter. This allows the user to test changes to the enforced config
1292
+ # ("status") without actually enforcing them. This testing is done through
1293
+ # analyzing the differences between currently enforced and suggested
1294
+ # restrictions. use_explicit_dry_run_spec must bet set to True if any of the
1295
+ # fields in the spec are set to non-default values.
1296
+ # Corresponds to the JSON property `useExplicitDryRunSpec`
1297
+ # @return [Boolean]
1298
+ attr_accessor :use_explicit_dry_run_spec
1299
+ alias_method :use_explicit_dry_run_spec?, :use_explicit_dry_run_spec
1300
+
1301
+ def initialize(**args)
1302
+ update!(**args)
1303
+ end
1304
+
1305
+ # Update properties of this object
1306
+ def update!(**args)
1307
+ @description = args[:description] if args.key?(:description)
1308
+ @name = args[:name] if args.key?(:name)
1309
+ @perimeter_type = args[:perimeter_type] if args.key?(:perimeter_type)
1310
+ @spec = args[:spec] if args.key?(:spec)
1311
+ @status = args[:status] if args.key?(:status)
1312
+ @title = args[:title] if args.key?(:title)
1313
+ @use_explicit_dry_run_spec = args[:use_explicit_dry_run_spec] if args.key?(:use_explicit_dry_run_spec)
1314
+ end
1315
+ end
1316
+
1317
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
1318
+ # describe specific Service Perimeter configuration.
1319
+ class GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig
1320
+ include Google::Apis::Core::Hashable
1321
+
1322
+ # A list of `AccessLevel` resource names that allow resources within the
1323
+ # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
1324
+ # must be in the same policy as this `ServicePerimeter`. Referencing a
1325
+ # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
1326
+ # listed, resources within the perimeter can only be accessed via Google
1327
+ # Cloud calls with request origins within the perimeter. Example:
1328
+ # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
1329
+ # For Service Perimeter Bridge, must be empty.
1330
+ # Corresponds to the JSON property `accessLevels`
1331
+ # @return [Array<String>]
1332
+ attr_accessor :access_levels
1333
+
1334
+ # A list of Google Cloud resources that are inside of the service perimeter.
1335
+ # Currently only projects are allowed. Format: `projects/`project_number``
1336
+ # Corresponds to the JSON property `resources`
1337
+ # @return [Array<String>]
1338
+ attr_accessor :resources
1339
+
1340
+ # Google Cloud services that are subject to the Service Perimeter
1341
+ # restrictions. For example, if `storage.googleapis.com` is specified, access
1342
+ # to the storage buckets inside the perimeter must meet the perimeter's
1343
+ # access restrictions.
1344
+ # Corresponds to the JSON property `restrictedServices`
1345
+ # @return [Array<String>]
1346
+ attr_accessor :restricted_services
1347
+
1348
+ # Specifies how APIs are allowed to communicate within the Service
1349
+ # Perimeter.
1350
+ # Corresponds to the JSON property `vpcAccessibleServices`
1351
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices]
1352
+ attr_accessor :vpc_accessible_services
1353
+
1354
+ def initialize(**args)
1355
+ update!(**args)
1356
+ end
1357
+
1358
+ # Update properties of this object
1359
+ def update!(**args)
1360
+ @access_levels = args[:access_levels] if args.key?(:access_levels)
1361
+ @resources = args[:resources] if args.key?(:resources)
1362
+ @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
1363
+ @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)
1364
+ end
1365
+ end
1366
+
1367
+ # Specifies how APIs are allowed to communicate within the Service
1368
+ # Perimeter.
1369
+ class GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices
1370
+ include Google::Apis::Core::Hashable
1371
+
1372
+ # The list of APIs usable within the Service Perimeter. Must be empty
1373
+ # unless 'enable_restriction' is True.
1374
+ # Corresponds to the JSON property `allowedServices`
1375
+ # @return [Array<String>]
1376
+ attr_accessor :allowed_services
1377
+
1378
+ # Whether to restrict API calls within the Service Perimeter to the list of
1379
+ # APIs specified in 'allowed_services'.
1380
+ # Corresponds to the JSON property `enableRestriction`
1381
+ # @return [Boolean]
1382
+ attr_accessor :enable_restriction
1383
+ alias_method :enable_restriction?, :enable_restriction
1384
+
1385
+ def initialize(**args)
1386
+ update!(**args)
1387
+ end
1388
+
1389
+ # Update properties of this object
1390
+ def update!(**args)
1391
+ @allowed_services = args[:allowed_services] if args.key?(:allowed_services)
1392
+ @enable_restriction = args[:enable_restriction] if args.key?(:enable_restriction)
1393
+ end
1394
+ end
1395
+
492
1396
  # This resource represents a long-running operation that is the result of a
493
1397
  # network API call.
494
1398
  class Operation
@@ -700,28 +1604,29 @@ module Google
700
1604
  end
701
1605
  end
702
1606
 
703
- # Representation of a cloud resource.
1607
+ # A representation of a Google Cloud resource.
704
1608
  class Resource
705
1609
  include Google::Apis::Core::Hashable
706
1610
 
707
- # The content of the resource, in which some sensitive fields are scrubbed
708
- # away and may not be present.
1611
+ # The content of the resource, in which some sensitive fields are removed
1612
+ # and may not be present.
709
1613
  # Corresponds to the JSON property `data`
710
1614
  # @return [Hash<String,Object>]
711
1615
  attr_accessor :data
712
1616
 
713
1617
  # The URL of the discovery document containing the resource's JSON schema.
714
- # For example:
715
- # `"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest"`.
716
- # It will be left unspecified for resources without a discovery-based API,
717
- # such as Cloud Bigtable.
1618
+ # Example:
1619
+ # `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`
1620
+ # This value is unspecified for resources that do not have an API based on a
1621
+ # discovery document, such as Cloud Bigtable.
718
1622
  # Corresponds to the JSON property `discoveryDocumentUri`
719
1623
  # @return [String]
720
1624
  attr_accessor :discovery_document_uri
721
1625
 
722
- # The JSON schema name listed in the discovery document.
723
- # Example: "Project". It will be left unspecified for resources (such as
724
- # Cloud Bigtable) without a discovery-based API.
1626
+ # The JSON schema name listed in the discovery document. Example:
1627
+ # `Project`
1628
+ # This value is unspecified for resources that do not have an API based on a
1629
+ # discovery document, such as Cloud Bigtable.
725
1630
  # Corresponds to the JSON property `discoveryName`
726
1631
  # @return [String]
727
1632
  attr_accessor :discovery_name
@@ -730,25 +1635,25 @@ module Google
730
1635
  # [Resource
731
1636
  # Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
732
1637
  # for more information.
733
- # For GCP assets, it is the parent resource defined in the [Cloud IAM policy
1638
+ # For Google Cloud assets, this value is the parent resource defined in the
1639
+ # [Cloud IAM policy
734
1640
  # hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
735
- # For example:
736
- # `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
737
- # For third-party assets, it is up to the users to define.
1641
+ # Example:
1642
+ # `//cloudresourcemanager.googleapis.com/projects/my_project_123`
1643
+ # For third-party assets, this field may be set differently.
738
1644
  # Corresponds to the JSON property `parent`
739
1645
  # @return [String]
740
1646
  attr_accessor :parent
741
1647
 
742
- # The REST URL for accessing the resource. An HTTP GET operation using this
743
- # URL returns the resource itself.
744
- # Example:
745
- # `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`.
746
- # It will be left unspecified for resources without a REST API.
1648
+ # The REST URL for accessing the resource. An HTTP `GET` request using this
1649
+ # URL returns the resource itself. Example:
1650
+ # `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`
1651
+ # This value is unspecified for resources without a REST API.
747
1652
  # Corresponds to the JSON property `resourceUrl`
748
1653
  # @return [String]
749
1654
  attr_accessor :resource_url
750
1655
 
751
- # The API version. Example: "v1".
1656
+ # The API version. Example: `v1`
752
1657
  # Corresponds to the JSON property `version`
753
1658
  # @return [String]
754
1659
  attr_accessor :version
@@ -807,24 +1712,31 @@ module Google
807
1712
  end
808
1713
  end
809
1714
 
810
- # Temporal asset. In addition to the asset, the temporal asset includes the
811
- # status of the asset and valid from and to time of it.
1715
+ # An asset in Google Cloud and its temporal metadata, including the time window
1716
+ # when it was observed and its status during that window.
812
1717
  class TemporalAsset
813
1718
  include Google::Apis::Core::Hashable
814
1719
 
815
- # Cloud asset. This includes all Google Cloud Platform resources,
816
- # Cloud IAM policies, and other non-GCP assets.
1720
+ # An asset in Google Cloud. An asset can be any resource in the Google Cloud
1721
+ # [resource
1722
+ # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-
1723
+ # resource-hierarchy),
1724
+ # a resource outside the Google Cloud resource hierarchy (such as Google
1725
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
1726
+ # See [Supported asset
1727
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
1728
+ # for more information.
817
1729
  # Corresponds to the JSON property `asset`
818
1730
  # @return [Google::Apis::CloudassetV1beta1::Asset]
819
1731
  attr_accessor :asset
820
1732
 
821
- # If the asset is deleted or not.
1733
+ # Whether the asset has been deleted or not.
822
1734
  # Corresponds to the JSON property `deleted`
823
1735
  # @return [Boolean]
824
1736
  attr_accessor :deleted
825
1737
  alias_method :deleted?, :deleted
826
1738
 
827
- # A time window of (start_time, end_time].
1739
+ # A time window specified by its `start_time` and `end_time`.
828
1740
  # Corresponds to the JSON property `window`
829
1741
  # @return [Google::Apis::CloudassetV1beta1::TimeWindow]
830
1742
  attr_accessor :window
@@ -841,12 +1753,12 @@ module Google
841
1753
  end
842
1754
  end
843
1755
 
844
- # A time window of (start_time, end_time].
1756
+ # A time window specified by its `start_time` and `end_time`.
845
1757
  class TimeWindow
846
1758
  include Google::Apis::Core::Hashable
847
1759
 
848
- # End time of the time window (inclusive).
849
- # Current timestamp if not specified.
1760
+ # End time of the time window (inclusive). If not specified, the current
1761
+ # timestamp is used instead.
850
1762
  # Corresponds to the JSON property `endTime`
851
1763
  # @return [String]
852
1764
  attr_accessor :end_time