google-api-client 0.23.6 → 0.23.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +13 -6
  5. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -1
  6. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  7. data/generated/google/apis/androidmanagement_v1/classes.rb +42 -0
  8. data/generated/google/apis/androidmanagement_v1/representations.rb +18 -0
  9. data/generated/google/apis/books_v1.rb +1 -1
  10. data/generated/google/apis/books_v1/classes.rb +7 -0
  11. data/generated/google/apis/books_v1/representations.rb +1 -0
  12. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  13. data/generated/google/apis/cloudiot_v1.rb +1 -1
  14. data/generated/google/apis/cloudiot_v1/service.rb +22 -24
  15. data/generated/google/apis/compute_alpha.rb +1 -1
  16. data/generated/google/apis/compute_alpha/classes.rb +696 -623
  17. data/generated/google/apis/compute_alpha/representations.rb +144 -175
  18. data/generated/google/apis/compute_alpha/service.rb +333 -187
  19. data/generated/google/apis/compute_beta.rb +1 -1
  20. data/generated/google/apis/compute_beta/classes.rb +105 -10
  21. data/generated/google/apis/compute_beta/representations.rb +37 -1
  22. data/generated/google/apis/compute_beta/service.rb +3 -2
  23. data/generated/google/apis/compute_v1.rb +1 -1
  24. data/generated/google/apis/compute_v1/classes.rb +345 -3
  25. data/generated/google/apis/compute_v1/representations.rb +133 -0
  26. data/generated/google/apis/compute_v1/service.rb +469 -2
  27. data/google-api-client.gemspec +3 -2
  28. data/lib/google/apis/version.rb +1 -1
  29. metadata +16 -2
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeBeta
27
27
  VERSION = 'Beta'
28
- REVISION = '20180730'
28
+ REVISION = '20180817'
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'
@@ -1166,6 +1166,11 @@ module Google
1166
1166
  class AttachedDiskInitializeParams
1167
1167
  include Google::Apis::Core::Hashable
1168
1168
 
1169
+ # An optional description. Provide this property when creating the disk.
1170
+ # Corresponds to the JSON property `description`
1171
+ # @return [String]
1172
+ attr_accessor :description
1173
+
1169
1174
  # Specifies the disk name. If not specified, the default is to use the name of
1170
1175
  # the instance. If the disk with the instance name exists already in the given
1171
1176
  # zone/region, a new name will be automatically generated.
@@ -1178,11 +1183,6 @@ module Google
1178
1183
  # @return [Fixnum]
1179
1184
  attr_accessor :disk_size_gb
1180
1185
 
1181
- # [Deprecated] Storage type of the disk.
1182
- # Corresponds to the JSON property `diskStorageType`
1183
- # @return [String]
1184
- attr_accessor :disk_storage_type
1185
-
1186
1186
  # Specifies the disk type to use to create the instance. If not specified, the
1187
1187
  # default is pd-standard, specified using the full URL. For example:
1188
1188
  # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-
@@ -1236,9 +1236,9 @@ module Google
1236
1236
 
1237
1237
  # Update properties of this object
1238
1238
  def update!(**args)
1239
+ @description = args[:description] if args.key?(:description)
1239
1240
  @disk_name = args[:disk_name] if args.key?(:disk_name)
1240
1241
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1241
- @disk_storage_type = args[:disk_storage_type] if args.key?(:disk_storage_type)
1242
1242
  @disk_type = args[:disk_type] if args.key?(:disk_type)
1243
1243
  @labels = args[:labels] if args.key?(:labels)
1244
1244
  @source_image = args[:source_image] if args.key?(:source_image)
@@ -11284,9 +11284,9 @@ module Google
11284
11284
  # @return [String]
11285
11285
  attr_accessor :address
11286
11286
 
11287
- # [Output Only] Availability zone for this location. Within a metropolitan area (
11288
- # metro), maintenance will not be simultaneously scheduled in more than one
11289
- # availability zone. Example: "zone1" or "zone2".
11287
+ # [Output Only] Availability zone for this InterconnectLocation. Within a
11288
+ # metropolitan area (metro), maintenance will not be simultaneously scheduled in
11289
+ # more than one availability zone. Example: "zone1" or "zone2".
11290
11290
  # Corresponds to the JSON property `availabilityZone`
11291
11291
  # @return [String]
11292
11292
  attr_accessor :availability_zone
@@ -19645,7 +19645,8 @@ module Google
19645
19645
  end
19646
19646
 
19647
19647
  # A security policy is comprised of one or more rules. It can also be associated
19648
- # with one or more 'targets'. (== resource_for beta.securityPolicies ==)
19648
+ # with one or more 'targets'. (== resource_for v1.securityPolicies ==) (==
19649
+ # resource_for beta.securityPolicies ==)
19649
19650
  class SecurityPolicy
19650
19651
  include Google::Apis::Core::Hashable
19651
19652
 
@@ -20482,6 +20483,11 @@ module Google
20482
20483
  # @return [String]
20483
20484
  attr_accessor :description
20484
20485
 
20486
+ # [Output Only] Expire time of the certificate. RFC3339
20487
+ # Corresponds to the JSON property `expireTime`
20488
+ # @return [String]
20489
+ attr_accessor :expire_time
20490
+
20485
20491
  # [Output Only] The unique identifier for the resource. This identifier is
20486
20492
  # defined by the server.
20487
20493
  # Corresponds to the JSON property `id`
@@ -20494,6 +20500,11 @@ module Google
20494
20500
  # @return [String]
20495
20501
  attr_accessor :kind
20496
20502
 
20503
+ # Configuration and status of a managed SSL certificate.
20504
+ # Corresponds to the JSON property `managed`
20505
+ # @return [Google::Apis::ComputeBeta::SslCertificateManagedSslCertificate]
20506
+ attr_accessor :managed
20507
+
20497
20508
  # Name of the resource. Provided by the client when the resource is created. The
20498
20509
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
20499
20510
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -20515,6 +20526,24 @@ module Google
20515
20526
  # @return [String]
20516
20527
  attr_accessor :self_link
20517
20528
 
20529
+ # Configuration and status of a self-managed SSL certificate.
20530
+ # Corresponds to the JSON property `selfManaged`
20531
+ # @return [Google::Apis::ComputeBeta::SslCertificateSelfManagedSslCertificate]
20532
+ attr_accessor :self_managed
20533
+
20534
+ # [Output Only] Domains associated with the certificate via Subject Alternative
20535
+ # Name.
20536
+ # Corresponds to the JSON property `subjectAlternativeNames`
20537
+ # @return [Array<String>]
20538
+ attr_accessor :subject_alternative_names
20539
+
20540
+ # (Optional) Specifies the type of SSL certificate, either "SELF_MANAGED" or "
20541
+ # MANAGED". If not specified, the certificate is self-managed and the fields
20542
+ # certificate and private_key are used.
20543
+ # Corresponds to the JSON property `type`
20544
+ # @return [String]
20545
+ attr_accessor :type
20546
+
20518
20547
  def initialize(**args)
20519
20548
  update!(**args)
20520
20549
  end
@@ -20524,11 +20553,16 @@ module Google
20524
20553
  @certificate = args[:certificate] if args.key?(:certificate)
20525
20554
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20526
20555
  @description = args[:description] if args.key?(:description)
20556
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
20527
20557
  @id = args[:id] if args.key?(:id)
20528
20558
  @kind = args[:kind] if args.key?(:kind)
20559
+ @managed = args[:managed] if args.key?(:managed)
20529
20560
  @name = args[:name] if args.key?(:name)
20530
20561
  @private_key = args[:private_key] if args.key?(:private_key)
20531
20562
  @self_link = args[:self_link] if args.key?(:self_link)
20563
+ @self_managed = args[:self_managed] if args.key?(:self_managed)
20564
+ @subject_alternative_names = args[:subject_alternative_names] if args.key?(:subject_alternative_names)
20565
+ @type = args[:type] if args.key?(:type)
20532
20566
  end
20533
20567
  end
20534
20568
 
@@ -20649,6 +20683,67 @@ module Google
20649
20683
  end
20650
20684
  end
20651
20685
 
20686
+ # Configuration and status of a managed SSL certificate.
20687
+ class SslCertificateManagedSslCertificate
20688
+ include Google::Apis::Core::Hashable
20689
+
20690
+ # [Output only] Detailed statuses of the domains specified for managed
20691
+ # certificate resource.
20692
+ # Corresponds to the JSON property `domainStatus`
20693
+ # @return [Hash<String,String>]
20694
+ attr_accessor :domain_status
20695
+
20696
+ # The domains for which a managed SSL certificate will be generated. Currently
20697
+ # only single-domain certs are supported.
20698
+ # Corresponds to the JSON property `domains`
20699
+ # @return [Array<String>]
20700
+ attr_accessor :domains
20701
+
20702
+ # [Output only] Status of the managed certificate resource.
20703
+ # Corresponds to the JSON property `status`
20704
+ # @return [String]
20705
+ attr_accessor :status
20706
+
20707
+ def initialize(**args)
20708
+ update!(**args)
20709
+ end
20710
+
20711
+ # Update properties of this object
20712
+ def update!(**args)
20713
+ @domain_status = args[:domain_status] if args.key?(:domain_status)
20714
+ @domains = args[:domains] if args.key?(:domains)
20715
+ @status = args[:status] if args.key?(:status)
20716
+ end
20717
+ end
20718
+
20719
+ # Configuration and status of a self-managed SSL certificate.
20720
+ class SslCertificateSelfManagedSslCertificate
20721
+ include Google::Apis::Core::Hashable
20722
+
20723
+ # A local certificate file. The certificate must be in PEM format. The
20724
+ # certificate chain must be no greater than 5 certs long. The chain must include
20725
+ # at least one intermediate cert.
20726
+ # Corresponds to the JSON property `certificate`
20727
+ # @return [String]
20728
+ attr_accessor :certificate
20729
+
20730
+ # A write-only private key in PEM format. Only insert requests will include this
20731
+ # field.
20732
+ # Corresponds to the JSON property `privateKey`
20733
+ # @return [String]
20734
+ attr_accessor :private_key
20735
+
20736
+ def initialize(**args)
20737
+ update!(**args)
20738
+ end
20739
+
20740
+ # Update properties of this object
20741
+ def update!(**args)
20742
+ @certificate = args[:certificate] if args.key?(:certificate)
20743
+ @private_key = args[:private_key] if args.key?(:private_key)
20744
+ end
20745
+ end
20746
+
20652
20747
  #
20653
20748
  class SslPoliciesList
20654
20749
  include Google::Apis::Core::Hashable
@@ -2842,6 +2842,18 @@ module Google
2842
2842
  include Google::Apis::Core::JsonObjectSupport
2843
2843
  end
2844
2844
 
2845
+ class SslCertificateManagedSslCertificate
2846
+ class Representation < Google::Apis::Core::JsonRepresentation; end
2847
+
2848
+ include Google::Apis::Core::JsonObjectSupport
2849
+ end
2850
+
2851
+ class SslCertificateSelfManagedSslCertificate
2852
+ class Representation < Google::Apis::Core::JsonRepresentation; end
2853
+
2854
+ include Google::Apis::Core::JsonObjectSupport
2855
+ end
2856
+
2845
2857
  class SslPoliciesList
2846
2858
  class Representation < Google::Apis::Core::JsonRepresentation; end
2847
2859
 
@@ -3859,9 +3871,9 @@ module Google
3859
3871
  class AttachedDiskInitializeParams
3860
3872
  # @private
3861
3873
  class Representation < Google::Apis::Core::JsonRepresentation
3874
+ property :description, as: 'description'
3862
3875
  property :disk_name, as: 'diskName'
3863
3876
  property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb'
3864
- property :disk_storage_type, as: 'diskStorageType'
3865
3877
  property :disk_type, as: 'diskType'
3866
3878
  hash :labels, as: 'labels'
3867
3879
  property :source_image, as: 'sourceImage'
@@ -8714,11 +8726,18 @@ module Google
8714
8726
  property :certificate, as: 'certificate'
8715
8727
  property :creation_timestamp, as: 'creationTimestamp'
8716
8728
  property :description, as: 'description'
8729
+ property :expire_time, as: 'expireTime'
8717
8730
  property :id, :numeric_string => true, as: 'id'
8718
8731
  property :kind, as: 'kind'
8732
+ property :managed, as: 'managed', class: Google::Apis::ComputeBeta::SslCertificateManagedSslCertificate, decorator: Google::Apis::ComputeBeta::SslCertificateManagedSslCertificate::Representation
8733
+
8719
8734
  property :name, as: 'name'
8720
8735
  property :private_key, as: 'privateKey'
8721
8736
  property :self_link, as: 'selfLink'
8737
+ property :self_managed, as: 'selfManaged', class: Google::Apis::ComputeBeta::SslCertificateSelfManagedSslCertificate, decorator: Google::Apis::ComputeBeta::SslCertificateSelfManagedSslCertificate::Representation
8738
+
8739
+ collection :subject_alternative_names, as: 'subjectAlternativeNames'
8740
+ property :type, as: 'type'
8722
8741
  end
8723
8742
  end
8724
8743
 
@@ -8754,6 +8773,23 @@ module Google
8754
8773
  end
8755
8774
  end
8756
8775
 
8776
+ class SslCertificateManagedSslCertificate
8777
+ # @private
8778
+ class Representation < Google::Apis::Core::JsonRepresentation
8779
+ hash :domain_status, as: 'domainStatus'
8780
+ collection :domains, as: 'domains'
8781
+ property :status, as: 'status'
8782
+ end
8783
+ end
8784
+
8785
+ class SslCertificateSelfManagedSslCertificate
8786
+ # @private
8787
+ class Representation < Google::Apis::Core::JsonRepresentation
8788
+ property :certificate, as: 'certificate'
8789
+ property :private_key, as: 'privateKey'
8790
+ end
8791
+ end
8792
+
8757
8793
  class SslPoliciesList
8758
8794
  # @private
8759
8795
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -8099,7 +8099,8 @@ module Google
8099
8099
  execute_or_queue_command(command, &block)
8100
8100
  end
8101
8101
 
8102
- # Retrieves aggregated list of instances.
8102
+ # Retrieves aggregated list of all of the instances in your project across all
8103
+ # regions and zones.
8103
8104
  # @param [String] project
8104
8105
  # Project ID for this request.
8105
8106
  # @param [String] filter
@@ -8474,7 +8475,7 @@ module Google
8474
8475
  execute_or_queue_command(command, &block)
8475
8476
  end
8476
8477
 
8477
- # Returns the specified instance's serial port output.
8478
+ # Returns the last 1 MB of serial port output from the specified instance.
8478
8479
  # @param [String] project
8479
8480
  # Project ID for this request.
8480
8481
  # @param [String] zone
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeV1
27
27
  VERSION = 'V1'
28
- REVISION = '20180730'
28
+ REVISION = '20180817'
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'
@@ -1127,6 +1127,11 @@ module Google
1127
1127
  class AttachedDiskInitializeParams
1128
1128
  include Google::Apis::Core::Hashable
1129
1129
 
1130
+ # An optional description. Provide this property when creating the disk.
1131
+ # Corresponds to the JSON property `description`
1132
+ # @return [String]
1133
+ attr_accessor :description
1134
+
1130
1135
  # Specifies the disk name. If not specified, the default is to use the name of
1131
1136
  # the instance. If the disk with the instance name exists already in the given
1132
1137
  # zone/region, a new name will be automatically generated.
@@ -1192,6 +1197,7 @@ module Google
1192
1197
 
1193
1198
  # Update properties of this object
1194
1199
  def update!(**args)
1200
+ @description = args[:description] if args.key?(:description)
1195
1201
  @disk_name = args[:disk_name] if args.key?(:disk_name)
1196
1202
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1197
1203
  @disk_type = args[:disk_type] if args.key?(:disk_type)
@@ -2258,6 +2264,12 @@ module Google
2258
2264
  # @return [String]
2259
2265
  attr_accessor :region
2260
2266
 
2267
+ # [Output Only] The resource URL for the security policy associated with this
2268
+ # backend service.
2269
+ # Corresponds to the JSON property `securityPolicy`
2270
+ # @return [String]
2271
+ attr_accessor :security_policy
2272
+
2261
2273
  # [Output Only] Server-defined URL for the resource.
2262
2274
  # Corresponds to the JSON property `selfLink`
2263
2275
  # @return [String]
@@ -2303,6 +2315,7 @@ module Google
2303
2315
  @port_name = args[:port_name] if args.key?(:port_name)
2304
2316
  @protocol = args[:protocol] if args.key?(:protocol)
2305
2317
  @region = args[:region] if args.key?(:region)
2318
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
2306
2319
  @self_link = args[:self_link] if args.key?(:self_link)
2307
2320
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
2308
2321
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -4547,6 +4560,15 @@ module Google
4547
4560
  # @return [String]
4548
4561
  attr_accessor :direction
4549
4562
 
4563
+ # Denotes whether the firewall rule is disabled, i.e not applied to the network
4564
+ # it is associated with. When set to true, the firewall rule is not enforced and
4565
+ # the network behaves as if it did not exist. If this is unspecified, the
4566
+ # firewall rule will be enabled.
4567
+ # Corresponds to the JSON property `disabled`
4568
+ # @return [Boolean]
4569
+ attr_accessor :disabled
4570
+ alias_method :disabled?, :disabled
4571
+
4550
4572
  # [Output Only] The unique identifier for the resource. This identifier is
4551
4573
  # defined by the server.
4552
4574
  # Corresponds to the JSON property `id`
@@ -4664,6 +4686,7 @@ module Google
4664
4686
  @description = args[:description] if args.key?(:description)
4665
4687
  @destination_ranges = args[:destination_ranges] if args.key?(:destination_ranges)
4666
4688
  @direction = args[:direction] if args.key?(:direction)
4689
+ @disabled = args[:disabled] if args.key?(:disabled)
4667
4690
  @id = args[:id] if args.key?(:id)
4668
4691
  @kind = args[:kind] if args.key?(:kind)
4669
4692
  @name = args[:name] if args.key?(:name)
@@ -10130,9 +10153,9 @@ module Google
10130
10153
  # @return [String]
10131
10154
  attr_accessor :address
10132
10155
 
10133
- # [Output Only] Availability zone for this location. Within a metropolitan area (
10134
- # metro), maintenance will not be simultaneously scheduled in more than one
10135
- # availability zone. Example: "zone1" or "zone2".
10156
+ # [Output Only] Availability zone for this InterconnectLocation. Within a
10157
+ # metropolitan area (metro), maintenance will not be simultaneously scheduled in
10158
+ # more than one availability zone. Example: "zone1" or "zone2".
10136
10159
  # Corresponds to the JSON property `availabilityZone`
10137
10160
  # @return [String]
10138
10161
  attr_accessor :availability_zone
@@ -16691,6 +16714,325 @@ module Google
16691
16714
  end
16692
16715
  end
16693
16716
 
16717
+ # A security policy is comprised of one or more rules. It can also be associated
16718
+ # with one or more 'targets'. (== resource_for v1.securityPolicies ==) (==
16719
+ # resource_for beta.securityPolicies ==)
16720
+ class SecurityPolicy
16721
+ include Google::Apis::Core::Hashable
16722
+
16723
+ # [Output Only] Creation timestamp in RFC3339 text format.
16724
+ # Corresponds to the JSON property `creationTimestamp`
16725
+ # @return [String]
16726
+ attr_accessor :creation_timestamp
16727
+
16728
+ # An optional description of this resource. Provide this property when you
16729
+ # create the resource.
16730
+ # Corresponds to the JSON property `description`
16731
+ # @return [String]
16732
+ attr_accessor :description
16733
+
16734
+ # Specifies a fingerprint for this resource, which is essentially a hash of the
16735
+ # metadata's contents and used for optimistic locking. The fingerprint is
16736
+ # initially generated by Compute Engine and changes after every request to
16737
+ # modify or update metadata. You must always provide an up-to-date fingerprint
16738
+ # hash in order to update or change metadata.
16739
+ # To see the latest fingerprint, make get() request to the security policy.
16740
+ # Corresponds to the JSON property `fingerprint`
16741
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
16742
+ # @return [String]
16743
+ attr_accessor :fingerprint
16744
+
16745
+ # [Output Only] The unique identifier for the resource. This identifier is
16746
+ # defined by the server.
16747
+ # Corresponds to the JSON property `id`
16748
+ # @return [Fixnum]
16749
+ attr_accessor :id
16750
+
16751
+ # [Output only] Type of the resource. Always compute#securityPolicyfor security
16752
+ # policies
16753
+ # Corresponds to the JSON property `kind`
16754
+ # @return [String]
16755
+ attr_accessor :kind
16756
+
16757
+ # Name of the resource. Provided by the client when the resource is created. The
16758
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
16759
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
16760
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
16761
+ # and all following characters must be a dash, lowercase letter, or digit,
16762
+ # except the last character, which cannot be a dash.
16763
+ # Corresponds to the JSON property `name`
16764
+ # @return [String]
16765
+ attr_accessor :name
16766
+
16767
+ # A list of rules that belong to this policy. There must always be a default
16768
+ # rule (rule with priority 2147483647 and match "*"). If no rules are provided
16769
+ # when creating a security policy, a default rule with action "allow" will be
16770
+ # added.
16771
+ # Corresponds to the JSON property `rules`
16772
+ # @return [Array<Google::Apis::ComputeV1::SecurityPolicyRule>]
16773
+ attr_accessor :rules
16774
+
16775
+ # [Output Only] Server-defined URL for the resource.
16776
+ # Corresponds to the JSON property `selfLink`
16777
+ # @return [String]
16778
+ attr_accessor :self_link
16779
+
16780
+ def initialize(**args)
16781
+ update!(**args)
16782
+ end
16783
+
16784
+ # Update properties of this object
16785
+ def update!(**args)
16786
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
16787
+ @description = args[:description] if args.key?(:description)
16788
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
16789
+ @id = args[:id] if args.key?(:id)
16790
+ @kind = args[:kind] if args.key?(:kind)
16791
+ @name = args[:name] if args.key?(:name)
16792
+ @rules = args[:rules] if args.key?(:rules)
16793
+ @self_link = args[:self_link] if args.key?(:self_link)
16794
+ end
16795
+ end
16796
+
16797
+ #
16798
+ class SecurityPolicyList
16799
+ include Google::Apis::Core::Hashable
16800
+
16801
+ # [Output Only] Unique identifier for the resource; defined by the server.
16802
+ # Corresponds to the JSON property `id`
16803
+ # @return [String]
16804
+ attr_accessor :id
16805
+
16806
+ # A list of SecurityPolicy resources.
16807
+ # Corresponds to the JSON property `items`
16808
+ # @return [Array<Google::Apis::ComputeV1::SecurityPolicy>]
16809
+ attr_accessor :items
16810
+
16811
+ # [Output Only] Type of resource. Always compute#securityPolicyList for listsof
16812
+ # securityPolicies
16813
+ # Corresponds to the JSON property `kind`
16814
+ # @return [String]
16815
+ attr_accessor :kind
16816
+
16817
+ # [Output Only] This token allows you to get the next page of results for list
16818
+ # requests. If the number of results is larger than maxResults, use the
16819
+ # nextPageToken as a value for the query parameter pageToken in the next list
16820
+ # request. Subsequent list requests will have their own nextPageToken to
16821
+ # continue paging through the results.
16822
+ # Corresponds to the JSON property `nextPageToken`
16823
+ # @return [String]
16824
+ attr_accessor :next_page_token
16825
+
16826
+ # [Output Only] Informational warning message.
16827
+ # Corresponds to the JSON property `warning`
16828
+ # @return [Google::Apis::ComputeV1::SecurityPolicyList::Warning]
16829
+ attr_accessor :warning
16830
+
16831
+ def initialize(**args)
16832
+ update!(**args)
16833
+ end
16834
+
16835
+ # Update properties of this object
16836
+ def update!(**args)
16837
+ @id = args[:id] if args.key?(:id)
16838
+ @items = args[:items] if args.key?(:items)
16839
+ @kind = args[:kind] if args.key?(:kind)
16840
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
16841
+ @warning = args[:warning] if args.key?(:warning)
16842
+ end
16843
+
16844
+ # [Output Only] Informational warning message.
16845
+ class Warning
16846
+ include Google::Apis::Core::Hashable
16847
+
16848
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
16849
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
16850
+ # Corresponds to the JSON property `code`
16851
+ # @return [String]
16852
+ attr_accessor :code
16853
+
16854
+ # [Output Only] Metadata about this warning in key: value format. For example:
16855
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
16856
+ # Corresponds to the JSON property `data`
16857
+ # @return [Array<Google::Apis::ComputeV1::SecurityPolicyList::Warning::Datum>]
16858
+ attr_accessor :data
16859
+
16860
+ # [Output Only] A human-readable description of the warning code.
16861
+ # Corresponds to the JSON property `message`
16862
+ # @return [String]
16863
+ attr_accessor :message
16864
+
16865
+ def initialize(**args)
16866
+ update!(**args)
16867
+ end
16868
+
16869
+ # Update properties of this object
16870
+ def update!(**args)
16871
+ @code = args[:code] if args.key?(:code)
16872
+ @data = args[:data] if args.key?(:data)
16873
+ @message = args[:message] if args.key?(:message)
16874
+ end
16875
+
16876
+ #
16877
+ class Datum
16878
+ include Google::Apis::Core::Hashable
16879
+
16880
+ # [Output Only] A key that provides more detail on the warning being returned.
16881
+ # For example, for warnings where there are no results in a list request for a
16882
+ # particular zone, this key might be scope and the key value might be the zone
16883
+ # name. Other examples might be a key indicating a deprecated resource and a
16884
+ # suggested replacement, or a warning about invalid network settings (for
16885
+ # example, if an instance attempts to perform IP forwarding but is not enabled
16886
+ # for IP forwarding).
16887
+ # Corresponds to the JSON property `key`
16888
+ # @return [String]
16889
+ attr_accessor :key
16890
+
16891
+ # [Output Only] A warning data value corresponding to the key.
16892
+ # Corresponds to the JSON property `value`
16893
+ # @return [String]
16894
+ attr_accessor :value
16895
+
16896
+ def initialize(**args)
16897
+ update!(**args)
16898
+ end
16899
+
16900
+ # Update properties of this object
16901
+ def update!(**args)
16902
+ @key = args[:key] if args.key?(:key)
16903
+ @value = args[:value] if args.key?(:value)
16904
+ end
16905
+ end
16906
+ end
16907
+ end
16908
+
16909
+ #
16910
+ class SecurityPolicyReference
16911
+ include Google::Apis::Core::Hashable
16912
+
16913
+ #
16914
+ # Corresponds to the JSON property `securityPolicy`
16915
+ # @return [String]
16916
+ attr_accessor :security_policy
16917
+
16918
+ def initialize(**args)
16919
+ update!(**args)
16920
+ end
16921
+
16922
+ # Update properties of this object
16923
+ def update!(**args)
16924
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
16925
+ end
16926
+ end
16927
+
16928
+ # Represents a rule that describes one or more match conditions along with the
16929
+ # action to be taken when traffic matches this condition (allow or deny).
16930
+ class SecurityPolicyRule
16931
+ include Google::Apis::Core::Hashable
16932
+
16933
+ # The Action to preform when the client connection triggers the rule. Can
16934
+ # currently be either "allow" or "deny()" where valid values for status are 403,
16935
+ # 404, and 502.
16936
+ # Corresponds to the JSON property `action`
16937
+ # @return [String]
16938
+ attr_accessor :action
16939
+
16940
+ # An optional description of this resource. Provide this property when you
16941
+ # create the resource.
16942
+ # Corresponds to the JSON property `description`
16943
+ # @return [String]
16944
+ attr_accessor :description
16945
+
16946
+ # [Output only] Type of the resource. Always compute#securityPolicyRule for
16947
+ # security policy rules
16948
+ # Corresponds to the JSON property `kind`
16949
+ # @return [String]
16950
+ attr_accessor :kind
16951
+
16952
+ # Represents a match condition that incoming traffic is evaluated against.
16953
+ # Exactly one field must be specified.
16954
+ # Corresponds to the JSON property `match`
16955
+ # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcher]
16956
+ attr_accessor :match
16957
+
16958
+ # If set to true, the specified action is not enforced.
16959
+ # Corresponds to the JSON property `preview`
16960
+ # @return [Boolean]
16961
+ attr_accessor :preview
16962
+ alias_method :preview?, :preview
16963
+
16964
+ # An integer indicating the priority of a rule in the list. The priority must be
16965
+ # a positive value between 0 and 2147483647. Rules are evaluated in the
16966
+ # increasing order of priority.
16967
+ # Corresponds to the JSON property `priority`
16968
+ # @return [Fixnum]
16969
+ attr_accessor :priority
16970
+
16971
+ def initialize(**args)
16972
+ update!(**args)
16973
+ end
16974
+
16975
+ # Update properties of this object
16976
+ def update!(**args)
16977
+ @action = args[:action] if args.key?(:action)
16978
+ @description = args[:description] if args.key?(:description)
16979
+ @kind = args[:kind] if args.key?(:kind)
16980
+ @match = args[:match] if args.key?(:match)
16981
+ @preview = args[:preview] if args.key?(:preview)
16982
+ @priority = args[:priority] if args.key?(:priority)
16983
+ end
16984
+ end
16985
+
16986
+ # Represents a match condition that incoming traffic is evaluated against.
16987
+ # Exactly one field must be specified.
16988
+ class SecurityPolicyRuleMatcher
16989
+ include Google::Apis::Core::Hashable
16990
+
16991
+ # The configuration options available when specifying versioned_expr. This field
16992
+ # must be specified if versioned_expr is specified and cannot be specified if
16993
+ # versioned_expr is not specified.
16994
+ # Corresponds to the JSON property `config`
16995
+ # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcherConfig]
16996
+ attr_accessor :config
16997
+
16998
+ # Preconfigured versioned expression. If this field is specified, config must
16999
+ # also be specified. Available preconfigured expressions along with their
17000
+ # requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
17001
+ # field in config.
17002
+ # Corresponds to the JSON property `versionedExpr`
17003
+ # @return [String]
17004
+ attr_accessor :versioned_expr
17005
+
17006
+ def initialize(**args)
17007
+ update!(**args)
17008
+ end
17009
+
17010
+ # Update properties of this object
17011
+ def update!(**args)
17012
+ @config = args[:config] if args.key?(:config)
17013
+ @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
17014
+ end
17015
+ end
17016
+
17017
+ #
17018
+ class SecurityPolicyRuleMatcherConfig
17019
+ include Google::Apis::Core::Hashable
17020
+
17021
+ # CIDR IP address range.
17022
+ # Corresponds to the JSON property `srcIpRanges`
17023
+ # @return [Array<String>]
17024
+ attr_accessor :src_ip_ranges
17025
+
17026
+ def initialize(**args)
17027
+ update!(**args)
17028
+ end
17029
+
17030
+ # Update properties of this object
17031
+ def update!(**args)
17032
+ @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
17033
+ end
17034
+ end
17035
+
16694
17036
  # An instance's serial console output.
16695
17037
  class SerialPortOutput
16696
17038
  include Google::Apis::Core::Hashable