google-api-client 0.30.7 → 0.30.8

Sign up to get free protection for your applications and to get access to all the features.
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