google-api-client 0.23.6 → 0.23.7

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