google-api-client 0.30.7 → 0.30.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  4. data/generated/google/apis/alertcenter_v1beta1/classes.rb +1 -1
  5. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  6. data/generated/google/apis/analyticsreporting_v4/classes.rb +1 -1
  7. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  8. data/generated/google/apis/androidmanagement_v1/classes.rb +9 -4
  9. data/generated/google/apis/cloudasset_v1.rb +1 -1
  10. data/generated/google/apis/cloudasset_v1/classes.rb +456 -0
  11. data/generated/google/apis/cloudasset_v1/representations.rb +145 -0
  12. data/generated/google/apis/cloudshell_v1.rb +1 -1
  13. data/generated/google/apis/cloudshell_v1/classes.rb +7 -0
  14. data/generated/google/apis/cloudshell_v1/representations.rb +1 -0
  15. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  16. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +7 -0
  17. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +1 -0
  18. data/generated/google/apis/container_v1beta1.rb +1 -1
  19. data/generated/google/apis/container_v1beta1/classes.rb +75 -0
  20. data/generated/google/apis/container_v1beta1/representations.rb +36 -0
  21. data/generated/google/apis/docs_v1.rb +1 -1
  22. data/generated/google/apis/docs_v1/classes.rb +51 -4
  23. data/generated/google/apis/docs_v1/representations.rb +17 -0
  24. data/generated/google/apis/genomics_v1.rb +1 -1
  25. data/generated/google/apis/genomics_v1/classes.rb +6 -0
  26. data/generated/google/apis/genomics_v1/representations.rb +1 -0
  27. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  28. data/generated/google/apis/genomics_v1alpha2/classes.rb +6 -0
  29. data/generated/google/apis/genomics_v1alpha2/representations.rb +1 -0
  30. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  31. data/generated/google/apis/genomics_v2alpha1/classes.rb +6 -0
  32. data/generated/google/apis/genomics_v2alpha1/representations.rb +1 -0
  33. data/generated/google/apis/jobs_v3.rb +1 -1
  34. data/generated/google/apis/jobs_v3/classes.rb +1 -1
  35. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  36. data/generated/google/apis/jobs_v3p1beta1/classes.rb +1 -1
  37. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  38. data/generated/google/apis/remotebuildexecution_v1/classes.rb +22 -14
  39. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  40. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +22 -14
  41. data/generated/google/apis/remotebuildexecution_v1alpha/service.rb +20 -12
  42. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  43. data/generated/google/apis/remotebuildexecution_v2/classes.rb +22 -14
  44. data/generated/google/apis/sheets_v4.rb +1 -1
  45. data/generated/google/apis/sheets_v4/classes.rb +173 -0
  46. data/generated/google/apis/sheets_v4/representations.rb +64 -0
  47. data/generated/google/apis/vision_v1.rb +1 -1
  48. data/generated/google/apis/vision_v1/classes.rb +100 -2015
  49. data/generated/google/apis/vision_v1/representations.rb +866 -1703
  50. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  51. data/generated/google/apis/vision_v1p1beta1/classes.rb +100 -2015
  52. data/generated/google/apis/vision_v1p1beta1/representations.rb +938 -1775
  53. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  54. data/generated/google/apis/vision_v1p2beta1/classes.rb +100 -2015
  55. data/generated/google/apis/vision_v1p2beta1/representations.rb +990 -1827
  56. data/lib/google/apis/version.rb +1 -1
  57. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 52c10c95e9d406301f8d7e8df7afb46df1d4ef58
4
- data.tar.gz: c96902466441d1719d8bf5fe7a3eac6bebdbc9a4
3
+ metadata.gz: c12445ef3842212b18d158fe3974dc1f1ac02d3d
4
+ data.tar.gz: bacbfef2d397dbd226313d56e076c0784a8a5395
5
5
  SHA512:
6
- metadata.gz: 97b849fe07cbc5b2707d4abc97589fbd09062a5370a1c371e3af9f16e692190c83d3055e348352c36611bc9e8ca28c34406210b3a2fb33e3cf4b26002e2a662d
7
- data.tar.gz: c5057875b65ae0cd01ad0fa4d5ce7023cb7412883471661d4be187e1f900a1822787e2b5475e17aeb326d11276af6f9b69786e747505c54fad58d69d5ec0312f
6
+ metadata.gz: b75234662c2cbb915cf611f7f74ddd76e9d5a09bd62e85cd043d52ddc352dfb72ef296c643c6fd05e82003c00de71b3f2d3651ee65eed66b49c85eaaa5a95dd7
7
+ data.tar.gz: 0bd6c414d09c82b756dbbdb9e0537375a94ba116820c5245e0de5f1a6151fee3085153db65ec0955858ed476edf8d97fbd6bb7733e9276abefca9dab13a04d9f
@@ -1,3 +1,26 @@
1
+ # 0.30.8
2
+ * Backwards compatible changes:
3
+ * Updated `alertcenter_v1beta1`
4
+ * Updated `analyticsreporting_v4`
5
+ * Updated `androidmanagement_v1`
6
+ * Updated `cloudasset_v1`
7
+ * Updated `cloudshell_v1`
8
+ * Updated `cloudshell_v1alpha1`
9
+ * Updated `container_v1beta1`
10
+ * Updated `docs_v1`
11
+ * Updated `genomics_v1`
12
+ * Updated `genomics_v1alpha2`
13
+ * Updated `genomics_v2alpha1`
14
+ * Updated `jobs_v3`
15
+ * Updated `jobs_v3p1beta1`
16
+ * Updated `remotebuildexecution_v1`
17
+ * Updated `remotebuildexecution_v1alpha`
18
+ * Updated `remotebuildexecution_v2`
19
+ * Updated `sheets_v4`
20
+ * Updated `vision_v1`
21
+ * Updated `vision_v1p1beta1`
22
+ * Updated `vision_v1p2beta1`
23
+
1
24
  # 0.30.7
2
25
  * Backwards compatible changes:
3
26
  * Added `translate_v3beta1`
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/admin-sdk/alertcenter/
26
26
  module AlertcenterV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20190520'
28
+ REVISION = '20190725'
29
29
 
30
30
  # See and delete your domain's G Suite alerts, and send alert feedback
31
31
  AUTH_APPS_ALERTS = 'https://www.googleapis.com/auth/apps.alerts'
@@ -191,7 +191,7 @@ module Google
191
191
  # * Mobile device management
192
192
  # * Gmail phishing
193
193
  # * Domain wide takeout
194
- # * Government attack warning
194
+ # * State sponsored attack
195
195
  # * Google identity
196
196
  # Corresponds to the JSON property `source`
197
197
  # @return [String]
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/analytics/devguides/reporting/core/v4/
26
26
  module AnalyticsreportingV4
27
27
  VERSION = 'V4'
28
- REVISION = '20190710'
28
+ REVISION = '20190719'
29
29
 
30
30
  # View and manage your Google Analytics data
31
31
  AUTH_ANALYTICS = 'https://www.googleapis.com/auth/analytics'
@@ -1350,7 +1350,7 @@ module Google
1350
1350
  attr_accessor :dimension_filter_clauses
1351
1351
 
1352
1352
  # The dimensions requested.
1353
- # Requests can have a total of 7 dimensions.
1353
+ # Requests can have a total of 9 dimensions.
1354
1354
  # Corresponds to the JSON property `dimensions`
1355
1355
  # @return [Array<Google::Apis::AnalyticsreportingV4::Dimension>]
1356
1356
  attr_accessor :dimensions
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/android/management
27
27
  module AndroidmanagementV1
28
28
  VERSION = 'V1'
29
- REVISION = '20190701'
29
+ REVISION = '20190720'
30
30
 
31
31
  # Manage Android devices and apps for your customers
32
32
  AUTH_ANDROIDMANAGEMENT = 'https://www.googleapis.com/auth/androidmanagement'
@@ -193,7 +193,9 @@ module Google
193
193
  # @return [String]
194
194
  attr_accessor :install_type
195
195
 
196
- # Whether the app is allowed to lock itself in full-screen mode.
196
+ # Whether the app is allowed to lock itself in full-screen mode. DEPRECATED. Use
197
+ # InstallType KIOSK or kioskCustomLauncherEnabled to to configure a dedicated
198
+ # device.
197
199
  # Corresponds to the JSON property `lockTaskAllowed`
198
200
  # @return [Boolean]
199
201
  attr_accessor :lock_task_allowed
@@ -1939,6 +1941,8 @@ module Google
1939
1941
  end
1940
1942
 
1941
1943
  # A default activity for handling intents that match a particular intent filter.
1944
+ # Note: To set up a kiosk, use InstallType to KIOSK rather than use persistent
1945
+ # preferred activities.
1942
1946
  class PersistentPreferredActivity
1943
1947
  include Google::Apis::Core::Hashable
1944
1948
 
@@ -2180,9 +2184,8 @@ module Google
2180
2184
 
2181
2185
  # Whether the kiosk custom launcher is enabled. This replaces the home screen
2182
2186
  # with a launcher that locks down the device to the apps installed via the
2183
- # applications setting. The apps appear on a single page in alphabetical order.
2184
- # It is recommended to also use status_bar_disabled to block access to device
2185
- # settings.
2187
+ # applications setting. Apps appear on a single page in alphabetical order. The
2188
+ # status bar is disabled when this is set.
2186
2189
  # Corresponds to the JSON property `kioskCustomLauncherEnabled`
2187
2190
  # @return [Boolean]
2188
2191
  attr_accessor :kiosk_custom_launcher_enabled
@@ -2387,6 +2390,8 @@ module Google
2387
2390
 
2388
2391
  # Whether the status bar is disabled. This disables notifications, quick
2389
2392
  # settings, and other screen overlays that allow escape from full-screen mode.
2393
+ # DEPRECATED. To disable the status bar on a kiosk device, use InstallType KIOSK
2394
+ # or kioskCustomLauncherEnabled.
2390
2395
  # Corresponds to the JSON property `statusBarDisabled`
2391
2396
  # @return [Boolean]
2392
2397
  attr_accessor :status_bar_disabled
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/quickstart-cloud-asset-inventory
26
26
  module CloudassetV1
27
27
  VERSION = 'V1'
28
- REVISION = '20190709'
28
+ REVISION = '20190722'
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,6 +27,21 @@ module Google
27
27
  class Asset
28
28
  include Google::Apis::Core::Hashable
29
29
 
30
+ # An `AccessLevel` is a label that can be applied to requests to GCP services,
31
+ # along with a list of requirements necessary for the label to be applied.
32
+ # Corresponds to the JSON property `accessLevel`
33
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessLevel]
34
+ attr_accessor :access_level
35
+
36
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
37
+ # attributes to use GCP services) and `ServicePerimeters` (which define regions
38
+ # of services able to freely pass data within a perimeter). An access policy is
39
+ # globally visible within an organization, and the restrictions it specifies
40
+ # apply to all projects within an organization.
41
+ # Corresponds to the JSON property `accessPolicy`
42
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy]
43
+ attr_accessor :access_policy
44
+
30
45
  # Type of the asset. Example: "compute.googleapis.com/Disk".
31
46
  # Corresponds to the JSON property `assetType`
32
47
  # @return [String]
@@ -95,17 +110,33 @@ module Google
95
110
  # @return [Google::Apis::CloudassetV1::Resource]
96
111
  attr_accessor :resource
97
112
 
113
+ # `ServicePerimeter` describes a set of GCP resources which can freely import
114
+ # and export data amongst themselves, but not export outside of the
115
+ # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
116
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
117
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
118
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
119
+ # project can only belong to a single regular Service Perimeter. Service
120
+ # Perimeter Bridges can contain only GCP projects as members, a single GCP
121
+ # project may belong to multiple Service Perimeter Bridges.
122
+ # Corresponds to the JSON property `servicePerimeter`
123
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
124
+ attr_accessor :service_perimeter
125
+
98
126
  def initialize(**args)
99
127
  update!(**args)
100
128
  end
101
129
 
102
130
  # Update properties of this object
103
131
  def update!(**args)
132
+ @access_level = args[:access_level] if args.key?(:access_level)
133
+ @access_policy = args[:access_policy] if args.key?(:access_policy)
104
134
  @asset_type = args[:asset_type] if args.key?(:asset_type)
105
135
  @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
106
136
  @name = args[:name] if args.key?(:name)
107
137
  @org_policy = args[:org_policy] if args.key?(:org_policy)
108
138
  @resource = args[:resource] if args.key?(:resource)
139
+ @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
109
140
  end
110
141
  end
111
142
 
@@ -769,6 +800,431 @@ module Google
769
800
  end
770
801
  end
771
802
 
803
+ # An `AccessLevel` is a label that can be applied to requests to GCP services,
804
+ # along with a list of requirements necessary for the label to be applied.
805
+ class GoogleIdentityAccesscontextmanagerV1AccessLevel
806
+ include Google::Apis::Core::Hashable
807
+
808
+ # `BasicLevel` is an `AccessLevel` using a set of recommended features.
809
+ # Corresponds to the JSON property `basic`
810
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1BasicLevel]
811
+ attr_accessor :basic
812
+
813
+ # Output only. Time the `AccessLevel` was created in UTC.
814
+ # Corresponds to the JSON property `createTime`
815
+ # @return [String]
816
+ attr_accessor :create_time
817
+
818
+ # Description of the `AccessLevel` and its use. Does not affect behavior.
819
+ # Corresponds to the JSON property `description`
820
+ # @return [String]
821
+ attr_accessor :description
822
+
823
+ # Required. Resource name for the Access Level. The `short_name` component
824
+ # must begin with a letter and only include alphanumeric and '_'. Format:
825
+ # `accessPolicies/`policy_id`/accessLevels/`short_name``
826
+ # Corresponds to the JSON property `name`
827
+ # @return [String]
828
+ attr_accessor :name
829
+
830
+ # Human readable title. Must be unique within the Policy.
831
+ # Corresponds to the JSON property `title`
832
+ # @return [String]
833
+ attr_accessor :title
834
+
835
+ # Output only. Time the `AccessLevel` was updated in UTC.
836
+ # Corresponds to the JSON property `updateTime`
837
+ # @return [String]
838
+ attr_accessor :update_time
839
+
840
+ def initialize(**args)
841
+ update!(**args)
842
+ end
843
+
844
+ # Update properties of this object
845
+ def update!(**args)
846
+ @basic = args[:basic] if args.key?(:basic)
847
+ @create_time = args[:create_time] if args.key?(:create_time)
848
+ @description = args[:description] if args.key?(:description)
849
+ @name = args[:name] if args.key?(:name)
850
+ @title = args[:title] if args.key?(:title)
851
+ @update_time = args[:update_time] if args.key?(:update_time)
852
+ end
853
+ end
854
+
855
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
856
+ # attributes to use GCP services) and `ServicePerimeters` (which define regions
857
+ # of services able to freely pass data within a perimeter). An access policy is
858
+ # globally visible within an organization, and the restrictions it specifies
859
+ # apply to all projects within an organization.
860
+ class GoogleIdentityAccesscontextmanagerV1AccessPolicy
861
+ include Google::Apis::Core::Hashable
862
+
863
+ # Output only. Time the `AccessPolicy` was created in UTC.
864
+ # Corresponds to the JSON property `createTime`
865
+ # @return [String]
866
+ attr_accessor :create_time
867
+
868
+ # Output only. Resource name of the `AccessPolicy`. Format:
869
+ # `accessPolicies/`policy_id``
870
+ # Corresponds to the JSON property `name`
871
+ # @return [String]
872
+ attr_accessor :name
873
+
874
+ # Required. The parent of this `AccessPolicy` in the Cloud Resource
875
+ # Hierarchy. Currently immutable once created. Format:
876
+ # `organizations/`organization_id``
877
+ # Corresponds to the JSON property `parent`
878
+ # @return [String]
879
+ attr_accessor :parent
880
+
881
+ # Required. Human readable title. Does not affect behavior.
882
+ # Corresponds to the JSON property `title`
883
+ # @return [String]
884
+ attr_accessor :title
885
+
886
+ # Output only. Time the `AccessPolicy` was updated in UTC.
887
+ # Corresponds to the JSON property `updateTime`
888
+ # @return [String]
889
+ attr_accessor :update_time
890
+
891
+ def initialize(**args)
892
+ update!(**args)
893
+ end
894
+
895
+ # Update properties of this object
896
+ def update!(**args)
897
+ @create_time = args[:create_time] if args.key?(:create_time)
898
+ @name = args[:name] if args.key?(:name)
899
+ @parent = args[:parent] if args.key?(:parent)
900
+ @title = args[:title] if args.key?(:title)
901
+ @update_time = args[:update_time] if args.key?(:update_time)
902
+ end
903
+ end
904
+
905
+ # `BasicLevel` is an `AccessLevel` using a set of recommended features.
906
+ class GoogleIdentityAccesscontextmanagerV1BasicLevel
907
+ include Google::Apis::Core::Hashable
908
+
909
+ # How the `conditions` list should be combined to determine if a request is
910
+ # granted this `AccessLevel`. If AND is used, each `Condition` in
911
+ # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
912
+ # is used, at least one `Condition` in `conditions` must be satisfied for the
913
+ # `AccessLevel` to be applied. Default behavior is AND.
914
+ # Corresponds to the JSON property `combiningFunction`
915
+ # @return [String]
916
+ attr_accessor :combining_function
917
+
918
+ # Required. A list of requirements for the `AccessLevel` to be granted.
919
+ # Corresponds to the JSON property `conditions`
920
+ # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1Condition>]
921
+ attr_accessor :conditions
922
+
923
+ def initialize(**args)
924
+ update!(**args)
925
+ end
926
+
927
+ # Update properties of this object
928
+ def update!(**args)
929
+ @combining_function = args[:combining_function] if args.key?(:combining_function)
930
+ @conditions = args[:conditions] if args.key?(:conditions)
931
+ end
932
+ end
933
+
934
+ # A condition necessary for an `AccessLevel` to be granted. The Condition is an
935
+ # AND over its fields. So a Condition is true if: 1) the request IP is from one
936
+ # of the listed subnetworks AND 2) the originating device complies with the
937
+ # listed device policy AND 3) all listed access levels are granted AND 4) the
938
+ # request was sent at a time allowed by the DateTimeRestriction.
939
+ class GoogleIdentityAccesscontextmanagerV1Condition
940
+ include Google::Apis::Core::Hashable
941
+
942
+ # `DevicePolicy` specifies device specific restrictions necessary to acquire a
943
+ # given access level. A `DevicePolicy` specifies requirements for requests from
944
+ # devices to be granted access levels, it does not do any enforcement on the
945
+ # device. `DevicePolicy` acts as an AND over all specified fields, and each
946
+ # repeated field is an OR over its elements. Any unset fields are ignored. For
947
+ # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type :
948
+ # DESKTOP_LINUX, encryption_status: ENCRYPTED`, then the DevicePolicy will be
949
+ # true for requests originating from encrypted Linux desktops and encrypted
950
+ # Windows desktops.
951
+ # Corresponds to the JSON property `devicePolicy`
952
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1DevicePolicy]
953
+ attr_accessor :device_policy
954
+
955
+ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
956
+ # a CIDR IP address block, the specified IP address portion must be properly
957
+ # truncated (i.e. all the host bits must be zero) or the input is considered
958
+ # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
959
+ # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
960
+ # "2001:db8::1/32" is not. The originating IP of a request must be in one of
961
+ # the listed subnets in order for this Condition to be true. If empty, all IP
962
+ # addresses are allowed.
963
+ # Corresponds to the JSON property `ipSubnetworks`
964
+ # @return [Array<String>]
965
+ attr_accessor :ip_subnetworks
966
+
967
+ # The request must be made by one of the provided user or service
968
+ # accounts. Groups are not supported.
969
+ # Syntax:
970
+ # `user:`emailid``
971
+ # `serviceAccount:`emailid``
972
+ # If not specified, a request may come from any user.
973
+ # Corresponds to the JSON property `members`
974
+ # @return [Array<String>]
975
+ attr_accessor :members
976
+
977
+ # Whether to negate the Condition. If true, the Condition becomes a NAND over
978
+ # its non-empty fields, each field must be false for the Condition overall to
979
+ # be satisfied. Defaults to false.
980
+ # Corresponds to the JSON property `negate`
981
+ # @return [Boolean]
982
+ attr_accessor :negate
983
+ alias_method :negate?, :negate
984
+
985
+ # The request must originate from one of the provided countries/regions.
986
+ # Must be valid ISO 3166-1 alpha-2 codes.
987
+ # Corresponds to the JSON property `regions`
988
+ # @return [Array<String>]
989
+ attr_accessor :regions
990
+
991
+ # A list of other access levels defined in the same `Policy`, referenced by
992
+ # resource name. Referencing an `AccessLevel` which does not exist is an
993
+ # error. All access levels listed must be granted for the Condition
994
+ # to be true. Example:
995
+ # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
996
+ # Corresponds to the JSON property `requiredAccessLevels`
997
+ # @return [Array<String>]
998
+ attr_accessor :required_access_levels
999
+
1000
+ def initialize(**args)
1001
+ update!(**args)
1002
+ end
1003
+
1004
+ # Update properties of this object
1005
+ def update!(**args)
1006
+ @device_policy = args[:device_policy] if args.key?(:device_policy)
1007
+ @ip_subnetworks = args[:ip_subnetworks] if args.key?(:ip_subnetworks)
1008
+ @members = args[:members] if args.key?(:members)
1009
+ @negate = args[:negate] if args.key?(:negate)
1010
+ @regions = args[:regions] if args.key?(:regions)
1011
+ @required_access_levels = args[:required_access_levels] if args.key?(:required_access_levels)
1012
+ end
1013
+ end
1014
+
1015
+ # `DevicePolicy` specifies device specific restrictions necessary to acquire a
1016
+ # given access level. A `DevicePolicy` specifies requirements for requests from
1017
+ # devices to be granted access levels, it does not do any enforcement on the
1018
+ # device. `DevicePolicy` acts as an AND over all specified fields, and each
1019
+ # repeated field is an OR over its elements. Any unset fields are ignored. For
1020
+ # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type :
1021
+ # DESKTOP_LINUX, encryption_status: ENCRYPTED`, then the DevicePolicy will be
1022
+ # true for requests originating from encrypted Linux desktops and encrypted
1023
+ # Windows desktops.
1024
+ class GoogleIdentityAccesscontextmanagerV1DevicePolicy
1025
+ include Google::Apis::Core::Hashable
1026
+
1027
+ # Allowed device management levels, an empty list allows all management
1028
+ # levels.
1029
+ # Corresponds to the JSON property `allowedDeviceManagementLevels`
1030
+ # @return [Array<String>]
1031
+ attr_accessor :allowed_device_management_levels
1032
+
1033
+ # Allowed encryptions statuses, an empty list allows all statuses.
1034
+ # Corresponds to the JSON property `allowedEncryptionStatuses`
1035
+ # @return [Array<String>]
1036
+ attr_accessor :allowed_encryption_statuses
1037
+
1038
+ # Allowed OS versions, an empty list allows all types and all versions.
1039
+ # Corresponds to the JSON property `osConstraints`
1040
+ # @return [Array<Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1OsConstraint>]
1041
+ attr_accessor :os_constraints
1042
+
1043
+ # Whether the device needs to be approved by the customer admin.
1044
+ # Corresponds to the JSON property `requireAdminApproval`
1045
+ # @return [Boolean]
1046
+ attr_accessor :require_admin_approval
1047
+ alias_method :require_admin_approval?, :require_admin_approval
1048
+
1049
+ # Whether the device needs to be corp owned.
1050
+ # Corresponds to the JSON property `requireCorpOwned`
1051
+ # @return [Boolean]
1052
+ attr_accessor :require_corp_owned
1053
+ alias_method :require_corp_owned?, :require_corp_owned
1054
+
1055
+ # Whether or not screenlock is required for the DevicePolicy to be true.
1056
+ # Defaults to `false`.
1057
+ # Corresponds to the JSON property `requireScreenlock`
1058
+ # @return [Boolean]
1059
+ attr_accessor :require_screenlock
1060
+ alias_method :require_screenlock?, :require_screenlock
1061
+
1062
+ def initialize(**args)
1063
+ update!(**args)
1064
+ end
1065
+
1066
+ # Update properties of this object
1067
+ def update!(**args)
1068
+ @allowed_device_management_levels = args[:allowed_device_management_levels] if args.key?(:allowed_device_management_levels)
1069
+ @allowed_encryption_statuses = args[:allowed_encryption_statuses] if args.key?(:allowed_encryption_statuses)
1070
+ @os_constraints = args[:os_constraints] if args.key?(:os_constraints)
1071
+ @require_admin_approval = args[:require_admin_approval] if args.key?(:require_admin_approval)
1072
+ @require_corp_owned = args[:require_corp_owned] if args.key?(:require_corp_owned)
1073
+ @require_screenlock = args[:require_screenlock] if args.key?(:require_screenlock)
1074
+ end
1075
+ end
1076
+
1077
+ # A restriction on the OS type and version of devices making requests.
1078
+ class GoogleIdentityAccesscontextmanagerV1OsConstraint
1079
+ include Google::Apis::Core::Hashable
1080
+
1081
+ # The minimum allowed OS version. If not set, any version of this OS
1082
+ # satisfies the constraint. Format: `"major.minor.patch"`.
1083
+ # Examples: `"10.5.301"`, `"9.2.1"`.
1084
+ # Corresponds to the JSON property `minimumVersion`
1085
+ # @return [String]
1086
+ attr_accessor :minimum_version
1087
+
1088
+ # Required. The allowed OS type.
1089
+ # Corresponds to the JSON property `osType`
1090
+ # @return [String]
1091
+ attr_accessor :os_type
1092
+
1093
+ # Only allows requests from devices with a verified Chrome OS.
1094
+ # Verifications includes requirements that the device is enterprise-managed,
1095
+ # conformant to Dasher domain policies, and the caller has permission to call
1096
+ # the API targeted by the request.
1097
+ # Corresponds to the JSON property `requireVerifiedChromeOs`
1098
+ # @return [Boolean]
1099
+ attr_accessor :require_verified_chrome_os
1100
+ alias_method :require_verified_chrome_os?, :require_verified_chrome_os
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @minimum_version = args[:minimum_version] if args.key?(:minimum_version)
1109
+ @os_type = args[:os_type] if args.key?(:os_type)
1110
+ @require_verified_chrome_os = args[:require_verified_chrome_os] if args.key?(:require_verified_chrome_os)
1111
+ end
1112
+ end
1113
+
1114
+ # `ServicePerimeter` describes a set of GCP resources which can freely import
1115
+ # and export data amongst themselves, but not export outside of the
1116
+ # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
1117
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
1118
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
1119
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
1120
+ # project can only belong to a single regular Service Perimeter. Service
1121
+ # Perimeter Bridges can contain only GCP projects as members, a single GCP
1122
+ # project may belong to multiple Service Perimeter Bridges.
1123
+ class GoogleIdentityAccesscontextmanagerV1ServicePerimeter
1124
+ include Google::Apis::Core::Hashable
1125
+
1126
+ # Output only. Time the `ServicePerimeter` was created in UTC.
1127
+ # Corresponds to the JSON property `createTime`
1128
+ # @return [String]
1129
+ attr_accessor :create_time
1130
+
1131
+ # Description of the `ServicePerimeter` and its use. Does not affect
1132
+ # behavior.
1133
+ # Corresponds to the JSON property `description`
1134
+ # @return [String]
1135
+ attr_accessor :description
1136
+
1137
+ # Required. Resource name for the ServicePerimeter. The `short_name`
1138
+ # component must begin with a letter and only include alphanumeric and '_'.
1139
+ # Format: `accessPolicies/`policy_id`/servicePerimeters/`short_name``
1140
+ # Corresponds to the JSON property `name`
1141
+ # @return [String]
1142
+ attr_accessor :name
1143
+
1144
+ # Perimeter type indicator. A single project is
1145
+ # allowed to be a member of single regular perimeter, but multiple service
1146
+ # perimeter bridges. A project cannot be a included in a perimeter bridge
1147
+ # without being included in regular perimeter. For perimeter bridges,
1148
+ # the restricted service list as well as access level lists must be
1149
+ # empty.
1150
+ # Corresponds to the JSON property `perimeterType`
1151
+ # @return [String]
1152
+ attr_accessor :perimeter_type
1153
+
1154
+ # `ServicePerimeterConfig` specifies a set of GCP resources that describe
1155
+ # specific Service Perimeter configuration.
1156
+ # Corresponds to the JSON property `status`
1157
+ # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig]
1158
+ attr_accessor :status
1159
+
1160
+ # Human readable title. Must be unique within the Policy.
1161
+ # Corresponds to the JSON property `title`
1162
+ # @return [String]
1163
+ attr_accessor :title
1164
+
1165
+ # Output only. Time the `ServicePerimeter` was updated in UTC.
1166
+ # Corresponds to the JSON property `updateTime`
1167
+ # @return [String]
1168
+ attr_accessor :update_time
1169
+
1170
+ def initialize(**args)
1171
+ update!(**args)
1172
+ end
1173
+
1174
+ # Update properties of this object
1175
+ def update!(**args)
1176
+ @create_time = args[:create_time] if args.key?(:create_time)
1177
+ @description = args[:description] if args.key?(:description)
1178
+ @name = args[:name] if args.key?(:name)
1179
+ @perimeter_type = args[:perimeter_type] if args.key?(:perimeter_type)
1180
+ @status = args[:status] if args.key?(:status)
1181
+ @title = args[:title] if args.key?(:title)
1182
+ @update_time = args[:update_time] if args.key?(:update_time)
1183
+ end
1184
+ end
1185
+
1186
+ # `ServicePerimeterConfig` specifies a set of GCP resources that describe
1187
+ # specific Service Perimeter configuration.
1188
+ class GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig
1189
+ include Google::Apis::Core::Hashable
1190
+
1191
+ # A list of `AccessLevel` resource names that allow resources within the
1192
+ # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
1193
+ # must be in the same policy as this `ServicePerimeter`. Referencing a
1194
+ # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
1195
+ # listed, resources within the perimeter can only be accessed via GCP calls
1196
+ # with request origins within the perimeter. Example:
1197
+ # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
1198
+ # For Service Perimeter Bridge, must be empty.
1199
+ # Corresponds to the JSON property `accessLevels`
1200
+ # @return [Array<String>]
1201
+ attr_accessor :access_levels
1202
+
1203
+ # A list of GCP resources that are inside of the service perimeter.
1204
+ # Currently only projects are allowed. Format: `projects/`project_number``
1205
+ # Corresponds to the JSON property `resources`
1206
+ # @return [Array<String>]
1207
+ attr_accessor :resources
1208
+
1209
+ # GCP services that are subject to the Service Perimeter restrictions. For
1210
+ # example, if `storage.googleapis.com` is specified, access to the storage
1211
+ # buckets inside the perimeter must meet the perimeter's access restrictions.
1212
+ # Corresponds to the JSON property `restrictedServices`
1213
+ # @return [Array<String>]
1214
+ attr_accessor :restricted_services
1215
+
1216
+ def initialize(**args)
1217
+ update!(**args)
1218
+ end
1219
+
1220
+ # Update properties of this object
1221
+ def update!(**args)
1222
+ @access_levels = args[:access_levels] if args.key?(:access_levels)
1223
+ @resources = args[:resources] if args.key?(:resources)
1224
+ @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
1225
+ end
1226
+ end
1227
+
772
1228
  # This resource represents a long-running operation that is the result of a
773
1229
  # network API call.
774
1230
  class Operation