google-api-client 0.36.1 → 0.36.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  4. data/generated/google/apis/androidenterprise_v1/classes.rb +29 -58
  5. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  6. data/generated/google/apis/androidmanagement_v1/classes.rb +188 -0
  7. data/generated/google/apis/androidmanagement_v1/representations.rb +67 -0
  8. data/generated/google/apis/androidmanagement_v1/service.rb +6 -1
  9. data/generated/google/apis/bigquery_v2.rb +1 -1
  10. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  11. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  12. data/generated/google/apis/bigquery_v2/service.rb +19 -2
  13. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  14. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +6 -0
  15. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +1 -0
  16. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  17. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +6 -0
  18. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -0
  19. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  20. data/generated/google/apis/cloudbuild_v1alpha1.rb +34 -0
  21. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1174 -0
  22. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +435 -0
  23. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +223 -0
  24. data/generated/google/apis/compute_alpha.rb +1 -1
  25. data/generated/google/apis/compute_alpha/classes.rb +234 -240
  26. data/generated/google/apis/compute_alpha/representations.rb +7 -47
  27. data/generated/google/apis/compute_alpha/service.rb +1233 -1068
  28. data/generated/google/apis/compute_beta.rb +1 -1
  29. data/generated/google/apis/compute_beta/classes.rb +936 -164
  30. data/generated/google/apis/compute_beta/representations.rb +371 -0
  31. data/generated/google/apis/compute_beta/service.rb +1394 -899
  32. data/generated/google/apis/compute_v1.rb +1 -1
  33. data/generated/google/apis/compute_v1/classes.rb +479 -147
  34. data/generated/google/apis/compute_v1/representations.rb +127 -0
  35. data/generated/google/apis/compute_v1/service.rb +813 -748
  36. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  37. data/generated/google/apis/datacatalog_v1beta1/classes.rb +9 -7
  38. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  39. data/generated/google/apis/datacatalog_v1beta1/service.rb +8 -3
  40. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  41. data/generated/google/apis/dataflow_v1b3/classes.rb +69 -0
  42. data/generated/google/apis/dataflow_v1b3/representations.rb +34 -0
  43. data/generated/google/apis/dataproc_v1.rb +1 -1
  44. data/generated/google/apis/dataproc_v1/classes.rb +73 -43
  45. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  46. data/generated/google/apis/dataproc_v1beta2/classes.rb +73 -43
  47. data/generated/google/apis/dialogflow_v2.rb +1 -1
  48. data/generated/google/apis/dialogflow_v2/classes.rb +44 -11
  49. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  50. data/generated/google/apis/dialogflow_v2beta1/classes.rb +44 -11
  51. data/generated/google/apis/dialogflow_v2beta1/service.rb +20 -0
  52. data/generated/google/apis/dns_v1.rb +1 -1
  53. data/generated/google/apis/dns_v1/classes.rb +70 -0
  54. data/generated/google/apis/dns_v1/representations.rb +32 -0
  55. data/generated/google/apis/dns_v2beta1.rb +1 -1
  56. data/generated/google/apis/dns_v2beta1/classes.rb +70 -0
  57. data/generated/google/apis/dns_v2beta1/representations.rb +32 -0
  58. data/generated/google/apis/docs_v1.rb +1 -1
  59. data/generated/google/apis/docs_v1/classes.rb +152 -0
  60. data/generated/google/apis/docs_v1/representations.rb +56 -0
  61. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  62. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  63. data/generated/google/apis/driveactivity_v2.rb +1 -1
  64. data/generated/google/apis/driveactivity_v2/classes.rb +6 -0
  65. data/generated/google/apis/driveactivity_v2/representations.rb +2 -0
  66. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  67. data/generated/google/apis/firestore_v1.rb +1 -1
  68. data/generated/google/apis/firestore_v1/classes.rb +1 -1
  69. data/generated/google/apis/firestore_v1/service.rb +24 -22
  70. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  71. data/generated/google/apis/firestore_v1beta1/classes.rb +1 -1
  72. data/generated/google/apis/firestore_v1beta1/service.rb +16 -14
  73. data/generated/google/apis/fitness_v1.rb +11 -11
  74. data/generated/google/apis/games_management_v1management.rb +1 -1
  75. data/generated/google/apis/games_management_v1management/service.rb +5 -7
  76. data/generated/google/apis/iam_v1.rb +1 -1
  77. data/generated/google/apis/iam_v1/classes.rb +83 -141
  78. data/generated/google/apis/iam_v1/representations.rb +0 -6
  79. data/generated/google/apis/iam_v1/service.rb +11 -21
  80. data/generated/google/apis/language_v1beta2.rb +1 -1
  81. data/generated/google/apis/language_v1beta2/classes.rb +15 -0
  82. data/generated/google/apis/language_v1beta2/representations.rb +2 -0
  83. data/generated/google/apis/logging_v2.rb +3 -2
  84. data/generated/google/apis/logging_v2/service.rb +2 -1
  85. data/generated/google/apis/{surveys_v2.rb → prod_tt_sasportal_v1alpha1.rb} +9 -15
  86. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +1084 -0
  87. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +503 -0
  88. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +1322 -0
  89. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  90. data/generated/google/apis/recommender_v1beta1/classes.rb +6 -0
  91. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  92. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  93. data/generated/google/apis/run_v1alpha1.rb +1 -1
  94. data/generated/google/apis/run_v1alpha1/classes.rb +424 -0
  95. data/generated/google/apis/run_v1alpha1/representations.rb +161 -0
  96. data/generated/google/apis/run_v1alpha1/service.rb +862 -46
  97. data/generated/google/apis/run_v1beta1.rb +1 -1
  98. data/generated/google/apis/run_v1beta1/classes.rb +1 -1
  99. data/generated/google/apis/sasportal_v1alpha1.rb +34 -0
  100. data/generated/google/apis/sasportal_v1alpha1/classes.rb +1084 -0
  101. data/generated/google/apis/sasportal_v1alpha1/representations.rb +503 -0
  102. data/generated/google/apis/sasportal_v1alpha1/service.rb +1322 -0
  103. data/generated/google/apis/securitycenter_v1.rb +1 -1
  104. data/generated/google/apis/securitycenter_v1/classes.rb +18 -0
  105. data/generated/google/apis/securitycenter_v1/representations.rb +3 -0
  106. data/generated/google/apis/securitycenter_v1/service.rb +6 -0
  107. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  108. data/generated/google/apis/servicemanagement_v1/classes.rb +16 -1
  109. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  110. data/generated/google/apis/sheets_v4.rb +1 -1
  111. data/generated/google/apis/sheets_v4/classes.rb +187 -2
  112. data/generated/google/apis/sheets_v4/representations.rb +47 -0
  113. data/generated/google/apis/spanner_v1.rb +1 -1
  114. data/generated/google/apis/spanner_v1/classes.rb +104 -51
  115. data/generated/google/apis/spanner_v1/representations.rb +1 -0
  116. data/generated/google/apis/spanner_v1/service.rb +6 -1
  117. data/generated/google/apis/sql_v1beta4.rb +1 -1
  118. data/generated/google/apis/sql_v1beta4/classes.rb +75 -4
  119. data/generated/google/apis/sql_v1beta4/representations.rb +32 -0
  120. data/generated/google/apis/sql_v1beta4/service.rb +83 -2
  121. data/generated/google/apis/toolresults_v1.rb +31 -0
  122. data/generated/google/apis/toolresults_v1/classes.rb +696 -0
  123. data/generated/google/apis/toolresults_v1/representations.rb +438 -0
  124. data/generated/google/apis/toolresults_v1/service.rb +59 -0
  125. data/generated/google/apis/vision_v1.rb +1 -1
  126. data/generated/google/apis/vision_v1/service.rb +1 -1
  127. data/lib/google/apis/version.rb +1 -1
  128. metadata +19 -7
  129. data/generated/google/apis/surveys_v2/classes.rb +0 -691
  130. data/generated/google/apis/surveys_v2/representations.rb +0 -305
  131. data/generated/google/apis/surveys_v2/service.rb +0 -348
@@ -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 = '20191025'
28
+ REVISION = '20191125'
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'
@@ -1285,9 +1285,10 @@ module Google
1285
1285
  # @return [String]
1286
1286
  attr_accessor :disk_name
1287
1287
 
1288
- # Specifies the size of the disk in base-2 GB. If not specified, the disk will
1289
- # be the same size as the image (usually 10GB). If specified, the size must be
1290
- # equal to or larger than 10GB.
1288
+ # Specifies the size of the disk in base-2 GB. The size must be at least 10 GB.
1289
+ # If you specify a sourceImage, which is required for boot disks, the default
1290
+ # size is the size of the sourceImage. If you do not specify a sourceImage, the
1291
+ # default disk size is 500 GB.
1291
1292
  # Corresponds to the JSON property `diskSizeGb`
1292
1293
  # @return [Fixnum]
1293
1294
  attr_accessor :disk_size_gb
@@ -1536,6 +1537,15 @@ module Google
1536
1537
  # @return [String]
1537
1538
  attr_accessor :name
1538
1539
 
1540
+ # [Output Only] Target recommended MIG size (number of instances) computed by
1541
+ # autoscaler. Autoscaler calculates recommended MIG size even when autoscaling
1542
+ # policy mode is different from ON. This field is empty when autoscaler is not
1543
+ # connected to the existing managed instance group or autoscaler did not
1544
+ # generate its prediction.
1545
+ # Corresponds to the JSON property `recommendedSize`
1546
+ # @return [Fixnum]
1547
+ attr_accessor :recommended_size
1548
+
1539
1549
  # [Output Only] URL of the region where the instance group resides (for
1540
1550
  # autoscalers living in regional scope).
1541
1551
  # Corresponds to the JSON property `region`
@@ -1589,6 +1599,7 @@ module Google
1589
1599
  @id = args[:id] if args.key?(:id)
1590
1600
  @kind = args[:kind] if args.key?(:kind)
1591
1601
  @name = args[:name] if args.key?(:name)
1602
+ @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1592
1603
  @region = args[:region] if args.key?(:region)
1593
1604
  @self_link = args[:self_link] if args.key?(:self_link)
1594
1605
  @status = args[:status] if args.key?(:status)
@@ -2033,6 +2044,11 @@ module Google
2033
2044
  # @return [Fixnum]
2034
2045
  attr_accessor :min_num_replicas
2035
2046
 
2047
+ # Defines operating mode for this policy.
2048
+ # Corresponds to the JSON property `mode`
2049
+ # @return [String]
2050
+ attr_accessor :mode
2051
+
2036
2052
  def initialize(**args)
2037
2053
  update!(**args)
2038
2054
  end
@@ -2045,6 +2061,7 @@ module Google
2045
2061
  @load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization)
2046
2062
  @max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas)
2047
2063
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2064
+ @mode = args[:mode] if args.key?(:mode)
2048
2065
  end
2049
2066
  end
2050
2067
 
@@ -2664,6 +2681,8 @@ module Google
2664
2681
  # HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
2665
2682
  # - A global backend service with the load_balancing_scheme set to
2666
2683
  # INTERNAL_SELF_MANAGED.
2684
+ # If sessionAffinity is not NONE, and this field is not set to >MAGLEV or
2685
+ # RING_HASH, session affinity settings will not take effect.
2667
2686
  # Corresponds to the JSON property `localityLbPolicy`
2668
2687
  # @return [String]
2669
2688
  attr_accessor :locality_lb_policy
@@ -2738,8 +2757,9 @@ module Google
2738
2757
  # HTTPS.
2739
2758
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
2740
2759
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
2741
- # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are
2742
- # NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
2760
+ # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
2761
+ # possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or
2762
+ # HTTP_COOKIE.
2743
2763
  # Corresponds to the JSON property `sessionAffinity`
2744
2764
  # @return [String]
2745
2765
  attr_accessor :session_affinity
@@ -3258,6 +3278,22 @@ module Google
3258
3278
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
3259
3279
  # * `group:`emailid``: An email address that represents a Google group. For
3260
3280
  # example, `admins@example.com`.
3281
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
3282
+ # identifier) representing a user that has been recently deleted. For example,`
3283
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
3284
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
3285
+ # the binding.
3286
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
3287
+ # unique identifier) representing a service account that has been recently
3288
+ # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
3289
+ # 123456789012345678901`. If the service account is undeleted, this value
3290
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
3291
+ # retains the role in the binding.
3292
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
3293
+ # identifier) representing a Google group that has been recently deleted. For
3294
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
3295
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
3296
+ # retains the role in the binding.
3261
3297
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
3262
3298
  # users of that domain. For example, `google.com` or `example.com`.
3263
3299
  # Corresponds to the JSON property `members`
@@ -5424,6 +5460,171 @@ module Google
5424
5460
  end
5425
5461
  end
5426
5462
 
5463
+ #
5464
+ class ExchangedPeeringRoute
5465
+ include Google::Apis::Core::Hashable
5466
+
5467
+ # The destination range of the route.
5468
+ # Corresponds to the JSON property `destRange`
5469
+ # @return [String]
5470
+ attr_accessor :dest_range
5471
+
5472
+ # True if the peering route has been imported from a peer. The actual import
5473
+ # happens if the field networkPeering.importCustomRoutes is true for this
5474
+ # network, and networkPeering.exportCustomRoutes is true for the peer network,
5475
+ # and the import does not result in a route conflict.
5476
+ # Corresponds to the JSON property `imported`
5477
+ # @return [Boolean]
5478
+ attr_accessor :imported
5479
+ alias_method :imported?, :imported
5480
+
5481
+ # The region of peering route next hop, only applies to dynamic routes.
5482
+ # Corresponds to the JSON property `nextHopRegion`
5483
+ # @return [String]
5484
+ attr_accessor :next_hop_region
5485
+
5486
+ # The priority of the peering route.
5487
+ # Corresponds to the JSON property `priority`
5488
+ # @return [Fixnum]
5489
+ attr_accessor :priority
5490
+
5491
+ # The type of the peering route.
5492
+ # Corresponds to the JSON property `type`
5493
+ # @return [String]
5494
+ attr_accessor :type
5495
+
5496
+ def initialize(**args)
5497
+ update!(**args)
5498
+ end
5499
+
5500
+ # Update properties of this object
5501
+ def update!(**args)
5502
+ @dest_range = args[:dest_range] if args.key?(:dest_range)
5503
+ @imported = args[:imported] if args.key?(:imported)
5504
+ @next_hop_region = args[:next_hop_region] if args.key?(:next_hop_region)
5505
+ @priority = args[:priority] if args.key?(:priority)
5506
+ @type = args[:type] if args.key?(:type)
5507
+ end
5508
+ end
5509
+
5510
+ #
5511
+ class ExchangedPeeringRoutesList
5512
+ include Google::Apis::Core::Hashable
5513
+
5514
+ # [Output Only] Unique identifier for the resource; defined by the server.
5515
+ # Corresponds to the JSON property `id`
5516
+ # @return [String]
5517
+ attr_accessor :id
5518
+
5519
+ # A list of ExchangedPeeringRoute resources.
5520
+ # Corresponds to the JSON property `items`
5521
+ # @return [Array<Google::Apis::ComputeV1::ExchangedPeeringRoute>]
5522
+ attr_accessor :items
5523
+
5524
+ # [Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for
5525
+ # exchanged peering routes lists.
5526
+ # Corresponds to the JSON property `kind`
5527
+ # @return [String]
5528
+ attr_accessor :kind
5529
+
5530
+ # [Output Only] This token allows you to get the next page of results for list
5531
+ # requests. If the number of results is larger than maxResults, use the
5532
+ # nextPageToken as a value for the query parameter pageToken in the next list
5533
+ # request. Subsequent list requests will have their own nextPageToken to
5534
+ # continue paging through the results.
5535
+ # Corresponds to the JSON property `nextPageToken`
5536
+ # @return [String]
5537
+ attr_accessor :next_page_token
5538
+
5539
+ # [Output Only] Server-defined URL for this resource.
5540
+ # Corresponds to the JSON property `selfLink`
5541
+ # @return [String]
5542
+ attr_accessor :self_link
5543
+
5544
+ # [Output Only] Informational warning message.
5545
+ # Corresponds to the JSON property `warning`
5546
+ # @return [Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning]
5547
+ attr_accessor :warning
5548
+
5549
+ def initialize(**args)
5550
+ update!(**args)
5551
+ end
5552
+
5553
+ # Update properties of this object
5554
+ def update!(**args)
5555
+ @id = args[:id] if args.key?(:id)
5556
+ @items = args[:items] if args.key?(:items)
5557
+ @kind = args[:kind] if args.key?(:kind)
5558
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5559
+ @self_link = args[:self_link] if args.key?(:self_link)
5560
+ @warning = args[:warning] if args.key?(:warning)
5561
+ end
5562
+
5563
+ # [Output Only] Informational warning message.
5564
+ class Warning
5565
+ include Google::Apis::Core::Hashable
5566
+
5567
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
5568
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
5569
+ # Corresponds to the JSON property `code`
5570
+ # @return [String]
5571
+ attr_accessor :code
5572
+
5573
+ # [Output Only] Metadata about this warning in key: value format. For example:
5574
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
5575
+ # Corresponds to the JSON property `data`
5576
+ # @return [Array<Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning::Datum>]
5577
+ attr_accessor :data
5578
+
5579
+ # [Output Only] A human-readable description of the warning code.
5580
+ # Corresponds to the JSON property `message`
5581
+ # @return [String]
5582
+ attr_accessor :message
5583
+
5584
+ def initialize(**args)
5585
+ update!(**args)
5586
+ end
5587
+
5588
+ # Update properties of this object
5589
+ def update!(**args)
5590
+ @code = args[:code] if args.key?(:code)
5591
+ @data = args[:data] if args.key?(:data)
5592
+ @message = args[:message] if args.key?(:message)
5593
+ end
5594
+
5595
+ #
5596
+ class Datum
5597
+ include Google::Apis::Core::Hashable
5598
+
5599
+ # [Output Only] A key that provides more detail on the warning being returned.
5600
+ # For example, for warnings where there are no results in a list request for a
5601
+ # particular zone, this key might be scope and the key value might be the zone
5602
+ # name. Other examples might be a key indicating a deprecated resource and a
5603
+ # suggested replacement, or a warning about invalid network settings (for
5604
+ # example, if an instance attempts to perform IP forwarding but is not enabled
5605
+ # for IP forwarding).
5606
+ # Corresponds to the JSON property `key`
5607
+ # @return [String]
5608
+ attr_accessor :key
5609
+
5610
+ # [Output Only] A warning data value corresponding to the key.
5611
+ # Corresponds to the JSON property `value`
5612
+ # @return [String]
5613
+ attr_accessor :value
5614
+
5615
+ def initialize(**args)
5616
+ update!(**args)
5617
+ end
5618
+
5619
+ # Update properties of this object
5620
+ def update!(**args)
5621
+ @key = args[:key] if args.key?(:key)
5622
+ @value = args[:value] if args.key?(:value)
5623
+ end
5624
+ end
5625
+ end
5626
+ end
5627
+
5427
5628
  # Represents an expression text. Example:
5428
5629
  # title: "User account presence" description: "Determines whether the request
5429
5630
  # has a user account" expression: "size(request.user) > 0"
@@ -6186,8 +6387,8 @@ module Google
6186
6387
  # @return [String]
6187
6388
  attr_accessor :ip_address
6188
6389
 
6189
- # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6190
- # AH, SCTP or ICMP.
6390
+ # The IP protocol to which this rule applies. For protocol forwarding, valid
6391
+ # options are TCP, UDP, ESP, AH, SCTP or ICMP.
6191
6392
  # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6192
6393
  # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6193
6394
  # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
@@ -6261,15 +6462,17 @@ module Google
6261
6462
  attr_accessor :load_balancing_scheme
6262
6463
 
6263
6464
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
6264
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
6265
- # xDS clients present node metadata. If a match takes place, the relevant
6266
- # routing configuration is made available to those proxies.
6465
+ # to a limited set of xDS compliant clients. In their xDS requests to
6466
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
6467
+ # relevant configuration is made available to those proxies. Otherwise, all the
6468
+ # resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule will
6469
+ # not be visible to those proxies.
6267
6470
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
6268
6471
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
6269
6472
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
6270
- # all of its filterLabels must match with corresponding labels in the provided
6473
+ # all of its filterLabels must match with corresponding labels provided in the
6271
6474
  # metadata.
6272
- # metadataFilters specified here can be overridden by those specified in the
6475
+ # metadataFilters specified here will be applifed before those specified in the
6273
6476
  # UrlMap that this ForwardingRule references.
6274
6477
  # metadataFilters only applies to Loadbalancers that have their
6275
6478
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
@@ -6305,23 +6508,16 @@ module Google
6305
6508
  # @return [String]
6306
6509
  attr_accessor :network_tier
6307
6510
 
6308
- # This field is deprecated. See the port
6309
- # field.
6310
- # Corresponds to the JSON property `portRange`
6311
- # @return [String]
6312
- attr_accessor :port_range
6313
-
6314
- # List of comma-separated ports. The forwarding rule forwards packets with
6315
- # matching destination ports. If the forwarding rule's loadBalancingScheme is
6316
- # EXTERNAL, and the forwarding rule references a target pool, specifying ports
6317
- # is optional. You can specify an unlimited number of ports, but they must be
6318
- # contiguous. If you omit ports, GCP forwards traffic on any port of the
6319
- # forwarding rule's protocol.
6320
- # If the forwarding rule's loadBalancingScheme is EXTERNAL, and the forwarding
6321
- # rule references a target HTTP proxy, target HTTPS proxy, target TCP proxy,
6322
- # target SSL proxy, or target VPN gateway, you must specify ports using the
6323
- # following constraints:
6324
- #
6511
+ # When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and
6512
+ # INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule
6513
+ # that points to a target proxy or a target pool. Do not use with a forwarding
6514
+ # rule that points to a backend service. This field is used along with the
6515
+ # target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy,
6516
+ # TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
6517
+ # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
6518
+ # to ports in the specified range will be forwarded to target. Forwarding rules
6519
+ # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
6520
+ # Some types of forwarding target have constraints on the acceptable ports:
6325
6521
  # - TargetHttpProxy: 80, 8080
6326
6522
  # - TargetHttpsProxy: 443
6327
6523
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -6329,16 +6525,20 @@ module Google
6329
6525
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
6330
6526
  # 1883, 5222
6331
6527
  # - TargetVpnGateway: 500, 4500
6332
- # If the forwarding rule's loadBalancingScheme is INTERNAL, you must specify
6528
+ # Corresponds to the JSON property `portRange`
6529
+ # @return [String]
6530
+ attr_accessor :port_range
6531
+
6532
+ # This field is used along with the backend_service field for internal load
6533
+ # balancing.
6534
+ # When the load balancing scheme is INTERNAL, a list of ports can be configured,
6535
+ # for example, ['80'], ['8000','9000']. Only packets addressed to these ports
6536
+ # are forwarded to the backends configured with the forwarding rule.
6537
+ # If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify
6333
6538
  # ports in one of the following ways:
6334
6539
  # * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
6335
6540
  # causes the forwarding rule to forward traffic on any port of the forwarding
6336
6541
  # rule's protocol.
6337
- # The ports field is used along with the target field for TargetHttpProxy,
6338
- # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
6339
- # TargetInstance.
6340
- # Applicable only when IPProtocol is TCP, UDP, or SCTP. Forwarding rules with
6341
- # the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
6342
6542
  # Corresponds to the JSON property `ports`
6343
6543
  # @return [Array<String>]
6344
6544
  attr_accessor :ports
@@ -6825,32 +7025,34 @@ module Google
6825
7025
  # @return [String]
6826
7026
  attr_accessor :etag
6827
7027
 
6828
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
6829
- # access control policies for Cloud Platform resources.
7028
+ # An Identity and Access Management (IAM) policy, which specifies access
7029
+ # controls for Google Cloud resources.
6830
7030
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
6831
7031
  # members` to a single `role`. Members can be user accounts, service accounts,
6832
7032
  # Google groups, and domains (such as G Suite). A `role` is a named list of
6833
- # permissions (defined by IAM or configured by users). A `binding` can
6834
- # optionally specify a `condition`, which is a logic expression that further
6835
- # constrains the role binding based on attributes about the request and/or
6836
- # target resource.
6837
- # **JSON Example**
7033
+ # permissions; each `role` can be an IAM predefined role or a user-created
7034
+ # custom role.
7035
+ # Optionally, a `binding` can specify a `condition`, which is a logical
7036
+ # expression that allows access to a resource only if the expression evaluates
7037
+ # to `true`. A condition can add constraints based on attributes of the request,
7038
+ # the resource, or both.
7039
+ # **JSON example:**
6838
7040
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
6839
7041
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
6840
7042
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
6841
7043
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
6842
7044
  # "condition": ` "title": "expirable access", "description": "Does not grant
6843
7045
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
6844
- # 00:00.000Z')", ` ` ] `
6845
- # **YAML Example**
7046
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
7047
+ # **YAML example:**
6846
7048
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
6847
7049
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
6848
7050
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
6849
7051
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
6850
7052
  # access description: Does not grant access after Sep 2020 expression: request.
6851
- # time < timestamp('2020-10-01T00:00:00.000Z')
6852
- # For a description of IAM and its features, see the [IAM developer's guide](
6853
- # https://cloud.google.com/iam/docs).
7053
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
7054
+ # For a description of IAM and its features, see the [IAM documentation](https://
7055
+ # cloud.google.com/iam/docs/).
6854
7056
  # Corresponds to the JSON property `policy`
6855
7057
  # @return [Google::Apis::ComputeV1::Policy]
6856
7058
  attr_accessor :policy
@@ -6878,7 +7080,7 @@ module Google
6878
7080
  attr_accessor :kind
6879
7081
 
6880
7082
  # The path to be queried. This can be the default namespace ('/') or a nested
6881
- # namespace ('//') or a specified key ('//')
7083
+ # namespace ('/\/') or a specified key ('/\/\')
6882
7084
  # Corresponds to the JSON property `queryPath`
6883
7085
  # @return [String]
6884
7086
  attr_accessor :query_path
@@ -7986,7 +8188,7 @@ module Google
7986
8188
  attr_accessor :prefix_match
7987
8189
 
7988
8190
  # A header with the contents of headerName must exist. The match takes place
7989
- # whether or not the request's header has a value or not.
8191
+ # whether or not the request's header has a value.
7990
8192
  # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
7991
8193
  # rangeMatch must be set.
7992
8194
  # Corresponds to the JSON property `presentMatch`
@@ -8302,7 +8504,7 @@ module Google
8302
8504
 
8303
8505
  # The queryParameterMatch matches if the value of the parameter exactly matches
8304
8506
  # the contents of exactMatch.
8305
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8507
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8306
8508
  # Corresponds to the JSON property `exactMatch`
8307
8509
  # @return [String]
8308
8510
  attr_accessor :exact_match
@@ -8315,7 +8517,7 @@ module Google
8315
8517
 
8316
8518
  # Specifies that the queryParameterMatch matches if the request contains the
8317
8519
  # query parameter, irrespective of whether the parameter has a value or not.
8318
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8520
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8319
8521
  # Corresponds to the JSON property `presentMatch`
8320
8522
  # @return [Boolean]
8321
8523
  attr_accessor :present_match
@@ -8324,7 +8526,7 @@ module Google
8324
8526
  # The queryParameterMatch matches if the value of the parameter matches the
8325
8527
  # regular expression specified by regexMatch. For the regular expression grammar,
8326
8528
  # please see en.cppreference.com/w/cpp/regex/ecmascript
8327
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8529
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8328
8530
  # Corresponds to the JSON property `regexMatch`
8329
8531
  # @return [String]
8330
8532
  attr_accessor :regex_match
@@ -8593,7 +8795,8 @@ module Google
8593
8795
  # forwarding the request to the selected backend. If routeAction specifies any
8594
8796
  # weightedBackendServices, service must not be set. Conversely if service is set,
8595
8797
  # routeAction cannot contain any weightedBackendServices.
8596
- # Only one of routeAction or urlRedirect must be set.
8798
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
8799
+ # set.
8597
8800
  # Corresponds to the JSON property `routeAction`
8598
8801
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
8599
8802
  attr_accessor :route_action
@@ -8636,10 +8839,10 @@ module Google
8636
8839
  class HttpRouteRuleMatch
8637
8840
  include Google::Apis::Core::Hashable
8638
8841
 
8639
- # For satifying the matchRule condition, the path of the request must exactly
8842
+ # For satisfying the matchRule condition, the path of the request must exactly
8640
8843
  # match the value specified in fullPathMatch after removing any query parameters
8641
8844
  # and anchor that may be part of the original URL.
8642
- # FullPathMatch must be between 1 and 1024 characters.
8845
+ # fullPathMatch must be between 1 and 1024 characters.
8643
8846
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
8644
8847
  # Corresponds to the JSON property `fullPathMatch`
8645
8848
  # @return [String]
@@ -8653,30 +8856,30 @@ module Google
8653
8856
 
8654
8857
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive.
8655
8858
  # The default value is false.
8656
- # caseSensitive must not be used with regexMatch.
8859
+ # ignoreCase must not be used with regexMatch.
8657
8860
  # Corresponds to the JSON property `ignoreCase`
8658
8861
  # @return [Boolean]
8659
8862
  attr_accessor :ignore_case
8660
8863
  alias_method :ignore_case?, :ignore_case
8661
8864
 
8662
8865
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
8663
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
8664
- # xDS clients present node metadata. If a match takes place, the relevant
8665
- # routing configuration is made available to those proxies.
8866
+ # to a limited set of xDS compliant clients. In their xDS requests to
8867
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
8868
+ # relevant routing configuration is made available to those proxies.
8666
8869
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
8667
8870
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
8668
8871
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
8669
- # all of its filterLabels must match with corresponding labels in the provided
8872
+ # all of its filterLabels must match with corresponding labels provided in the
8670
8873
  # metadata.
8671
- # metadataFilters specified here can be overrides those specified in
8672
- # ForwardingRule that refers to this UrlMap.
8874
+ # metadataFilters specified here will be applied after those specified in
8875
+ # ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to.
8673
8876
  # metadataFilters only applies to Loadbalancers that have their
8674
8877
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
8675
8878
  # Corresponds to the JSON property `metadataFilters`
8676
8879
  # @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
8677
8880
  attr_accessor :metadata_filters
8678
8881
 
8679
- # For satifying the matchRule condition, the request's path must begin with the
8882
+ # For satisfying the matchRule condition, the request's path must begin with the
8680
8883
  # specified prefixMatch. prefixMatch must begin with a /.
8681
8884
  # The value must be between 1 and 1024 characters.
8682
8885
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
@@ -8690,7 +8893,7 @@ module Google
8690
8893
  # @return [Array<Google::Apis::ComputeV1::HttpQueryParameterMatch>]
8691
8894
  attr_accessor :query_parameter_matches
8692
8895
 
8693
- # For satifying the matchRule condition, the path of the request must satisfy
8896
+ # For satisfying the matchRule condition, the path of the request must satisfy
8694
8897
  # the regular expression specified in regexMatch after removing any query
8695
8898
  # parameters and anchor supplied with the original URL. For regular expression
8696
8899
  # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
@@ -9685,14 +9888,17 @@ module Google
9685
9888
  end
9686
9889
  end
9687
9890
 
9688
- # Represents an unmanaged Instance Group resource.
9689
- # Use unmanaged instance groups if you need to apply load balancing to groups of
9690
- # heterogeneous instances or if you need to manage the instances yourself. For
9691
- # more information, read Instance groups.
9692
- # For zonal unmanaged Instance Group, use instanceGroups resource.
9693
- # For regional unmanaged Instance Group, use regionInstanceGroups resource. (==
9694
- # resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==) (==
9695
- # resource_for beta.regionInstanceGroups ==) (== resource_for v1.
9891
+ # Represents an Instance Group resource.
9892
+ # Instance Groups can be used to configure a target for load balancing.
9893
+ # Instance groups can either be managed or unmanaged.
9894
+ # To create managed instance groups, use the instanceGroupManager or
9895
+ # regionInstanceGroupManager resource instead.
9896
+ # Use zonal unmanaged instance groups if you need to apply load balancing to
9897
+ # groups of heterogeneous instances or if you need to manage the instances
9898
+ # yourself. You cannot create regional unmanaged instance groups.
9899
+ # For more information, read Instance groups.
9900
+ # (== resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==)
9901
+ # (== resource_for beta.regionInstanceGroups ==) (== resource_for v1.
9696
9902
  # regionInstanceGroups ==)
9697
9903
  class InstanceGroup
9698
9904
  include Google::Apis::Core::Hashable
@@ -10584,6 +10790,12 @@ module Google
10584
10790
  attr_accessor :is_stable
10585
10791
  alias_method :is_stable?, :is_stable
10586
10792
 
10793
+ # [Output Only] A status of consistency of Instances' versions with their target
10794
+ # version specified by version field on Instance Group Manager.
10795
+ # Corresponds to the JSON property `versionTarget`
10796
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusVersionTarget]
10797
+ attr_accessor :version_target
10798
+
10587
10799
  def initialize(**args)
10588
10800
  update!(**args)
10589
10801
  end
@@ -10591,6 +10803,30 @@ module Google
10591
10803
  # Update properties of this object
10592
10804
  def update!(**args)
10593
10805
  @is_stable = args[:is_stable] if args.key?(:is_stable)
10806
+ @version_target = args[:version_target] if args.key?(:version_target)
10807
+ end
10808
+ end
10809
+
10810
+ #
10811
+ class InstanceGroupManagerStatusVersionTarget
10812
+ include Google::Apis::Core::Hashable
10813
+
10814
+ # [Output Only] A bit indicating whether version target has been reached in this
10815
+ # managed instance group, i.e. all instances are in their target version.
10816
+ # Instances' target version are specified by version field on Instance Group
10817
+ # Manager.
10818
+ # Corresponds to the JSON property `isReached`
10819
+ # @return [Boolean]
10820
+ attr_accessor :is_reached
10821
+ alias_method :is_reached?, :is_reached
10822
+
10823
+ def initialize(**args)
10824
+ update!(**args)
10825
+ end
10826
+
10827
+ # Update properties of this object
10828
+ def update!(**args)
10829
+ @is_reached = args[:is_reached] if args.key?(:is_reached)
10594
10830
  end
10595
10831
  end
10596
10832
 
@@ -10598,6 +10834,15 @@ module Google
10598
10834
  class InstanceGroupManagerUpdatePolicy
10599
10835
  include Google::Apis::Core::Hashable
10600
10836
 
10837
+ # The instance redistribution policy for regional managed instance groups.
10838
+ # Valid values are:
10839
+ # - PROACTIVE (default): The group attempts to maintain an even distribution of
10840
+ # VM instances across zones in the region.
10841
+ # - NONE: For non-autoscaled groups, proactive redistribution is disabled.
10842
+ # Corresponds to the JSON property `instanceRedistributionType`
10843
+ # @return [String]
10844
+ attr_accessor :instance_redistribution_type
10845
+
10601
10846
  # Encapsulates numeric value that can be either absolute or relative.
10602
10847
  # Corresponds to the JSON property `maxSurge`
10603
10848
  # @return [Google::Apis::ComputeV1::FixedOrPercent]
@@ -10633,6 +10878,7 @@ module Google
10633
10878
 
10634
10879
  # Update properties of this object
10635
10880
  def update!(**args)
10881
+ @instance_redistribution_type = args[:instance_redistribution_type] if args.key?(:instance_redistribution_type)
10636
10882
  @max_surge = args[:max_surge] if args.key?(:max_surge)
10637
10883
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
10638
10884
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
@@ -10694,6 +10940,25 @@ module Google
10694
10940
  end
10695
10941
  end
10696
10942
 
10943
+ # InstanceGroupManagers.createInstances
10944
+ class InstanceGroupManagersCreateInstancesRequest
10945
+ include Google::Apis::Core::Hashable
10946
+
10947
+ # [Required] List of specifications of per-instance configs.
10948
+ # Corresponds to the JSON property `instances`
10949
+ # @return [Array<Google::Apis::ComputeV1::PerInstanceConfig>]
10950
+ attr_accessor :instances
10951
+
10952
+ def initialize(**args)
10953
+ update!(**args)
10954
+ end
10955
+
10956
+ # Update properties of this object
10957
+ def update!(**args)
10958
+ @instances = args[:instances] if args.key?(:instances)
10959
+ end
10960
+ end
10961
+
10697
10962
  #
10698
10963
  class InstanceGroupManagersDeleteInstancesRequest
10699
10964
  include Google::Apis::Core::Hashable
@@ -14805,12 +15070,12 @@ module Google
14805
15070
  # Opaque filter criteria used by loadbalancers to restrict routing configuration
14806
15071
  # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
14807
15072
  # loadbalancing would typically present metadata to the loadbalancers which need
14808
- # to match criteria specified here. If a match takes place, the relevant routing
15073
+ # to match criteria specified here. If a match takes place, the relevant
14809
15074
  # configuration is made available to those proxies.
14810
15075
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
14811
15076
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
14812
15077
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
14813
- # all of its filterLabels must match with corresponding labels in the provided
15078
+ # all of its filterLabels must match with corresponding labels provided in the
14814
15079
  # metadata.
14815
15080
  # An example for using metadataFilters would be: if loadbalancing involves
14816
15081
  # Envoys, they will only receive routing configuration when values in
@@ -14958,7 +15223,7 @@ module Google
14958
15223
  # Name of the resource. Provided by the client when the resource is created. The
14959
15224
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
14960
15225
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
14961
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
15226
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
14962
15227
  # following characters (except for the last character) must be a dash, lowercase
14963
15228
  # letter, or digit. The last character must be a lowercase letter or digit.
14964
15229
  # Corresponds to the JSON property `name`
@@ -15009,7 +15274,7 @@ module Google
15009
15274
  end
15010
15275
  end
15011
15276
 
15012
- # The network endpoint.
15277
+ # The network endpoint. Next ID: 7
15013
15278
  class NetworkEndpoint
15014
15279
  include Google::Apis::Core::Hashable
15015
15280
 
@@ -15052,7 +15317,7 @@ module Google
15052
15317
  # Represents a collection of network endpoints.
15053
15318
  # For more information read Setting up network endpoint groups in load balancing.
15054
15319
  # (== resource_for v1.networkEndpointGroups ==) (== resource_for beta.
15055
- # networkEndpointGroups ==)
15320
+ # networkEndpointGroups ==) Next ID: 21
15056
15321
  class NetworkEndpointGroup
15057
15322
  include Google::Apis::Core::Hashable
15058
15323
 
@@ -15659,7 +15924,7 @@ module Google
15659
15924
  # @return [Array<Google::Apis::ComputeV1::HealthStatusForNetworkEndpoint>]
15660
15925
  attr_accessor :healths
15661
15926
 
15662
- # The network endpoint.
15927
+ # The network endpoint. Next ID: 7
15663
15928
  # Corresponds to the JSON property `networkEndpoint`
15664
15929
  # @return [Google::Apis::ComputeV1::NetworkEndpoint]
15665
15930
  attr_accessor :network_endpoint
@@ -16082,7 +16347,7 @@ module Google
16082
16347
  # instances physically separated from instances in other projects, or to group
16083
16348
  # your instances together on the same host hardware. For more information, read
16084
16349
  # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
16085
- # nodeGroups ==) NextID: 16
16350
+ # nodeGroups ==)
16086
16351
  class NodeGroup
16087
16352
  include Google::Apis::Core::Hashable
16088
16353
 
@@ -16714,7 +16979,7 @@ module Google
16714
16979
  # Represent a sole-tenant Node Template resource.
16715
16980
  # You can use a template to define properties for nodes in a node group. For
16716
16981
  # more information, read Creating node groups and instances. (== resource_for
16717
- # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==) (== NextID: 16 ==)
16982
+ # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==)
16718
16983
  class NodeTemplate
16719
16984
  include Google::Apis::Core::Hashable
16720
16985
 
@@ -18413,10 +18678,9 @@ module Google
18413
18678
  # @return [Array<Google::Apis::ComputeV1::PathRule>]
18414
18679
  attr_accessor :path_rules
18415
18680
 
18416
- # The list of ordered HTTP route rules. Use this list instead of pathRules when
18417
- # advanced route matching and routing actions are desired. The order of
18418
- # specifying routeRules matters: the first rule that matches will cause its
18419
- # specified routing action to take effect.
18681
+ # The list of HTTP route rules. Use this list instead of pathRules when advanced
18682
+ # route matching and routing actions are desired. routeRules are evaluated in
18683
+ # order of priority, from the lowest to highest number.
18420
18684
  # Within a given pathMatcher, only one of pathRules or routeRules must be set.
18421
18685
  # routeRules are not supported in UrlMaps intended for External Load balancers.
18422
18686
  # Corresponds to the JSON property `routeRules`
@@ -18493,32 +18757,68 @@ module Google
18493
18757
  end
18494
18758
  end
18495
18759
 
18496
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
18497
- # access control policies for Cloud Platform resources.
18760
+ #
18761
+ class PerInstanceConfig
18762
+ include Google::Apis::Core::Hashable
18763
+
18764
+ # Fingerprint of this per-instance config. This field may be used in optimistic
18765
+ # locking. It will be ignored when inserting a per-instance config. An up-to-
18766
+ # date fingerprint must be provided in order to update an existing per-instance
18767
+ # config or the field needs to be unset.
18768
+ # Corresponds to the JSON property `fingerprint`
18769
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
18770
+ # @return [String]
18771
+ attr_accessor :fingerprint
18772
+
18773
+ # The name of the per-instance config and the corresponding instance. Serves as
18774
+ # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
18775
+ # config with the same name exists then it will be updated, otherwise a new one
18776
+ # will be created for the VM instance with the same name. An attempt to create a
18777
+ # per-instance config for a VM instance that either doesn't exist or is not part
18778
+ # of the group will result in a failure.
18779
+ # Corresponds to the JSON property `name`
18780
+ # @return [String]
18781
+ attr_accessor :name
18782
+
18783
+ def initialize(**args)
18784
+ update!(**args)
18785
+ end
18786
+
18787
+ # Update properties of this object
18788
+ def update!(**args)
18789
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
18790
+ @name = args[:name] if args.key?(:name)
18791
+ end
18792
+ end
18793
+
18794
+ # An Identity and Access Management (IAM) policy, which specifies access
18795
+ # controls for Google Cloud resources.
18498
18796
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
18499
18797
  # members` to a single `role`. Members can be user accounts, service accounts,
18500
18798
  # Google groups, and domains (such as G Suite). A `role` is a named list of
18501
- # permissions (defined by IAM or configured by users). A `binding` can
18502
- # optionally specify a `condition`, which is a logic expression that further
18503
- # constrains the role binding based on attributes about the request and/or
18504
- # target resource.
18505
- # **JSON Example**
18799
+ # permissions; each `role` can be an IAM predefined role or a user-created
18800
+ # custom role.
18801
+ # Optionally, a `binding` can specify a `condition`, which is a logical
18802
+ # expression that allows access to a resource only if the expression evaluates
18803
+ # to `true`. A condition can add constraints based on attributes of the request,
18804
+ # the resource, or both.
18805
+ # **JSON example:**
18506
18806
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
18507
18807
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
18508
18808
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
18509
18809
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
18510
18810
  # "condition": ` "title": "expirable access", "description": "Does not grant
18511
18811
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
18512
- # 00:00.000Z')", ` ` ] `
18513
- # **YAML Example**
18812
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
18813
+ # **YAML example:**
18514
18814
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
18515
18815
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
18516
18816
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
18517
18817
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
18518
18818
  # access description: Does not grant access after Sep 2020 expression: request.
18519
- # time < timestamp('2020-10-01T00:00:00.000Z')
18520
- # For a description of IAM and its features, see the [IAM developer's guide](
18521
- # https://cloud.google.com/iam/docs).
18819
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
18820
+ # For a description of IAM and its features, see the [IAM documentation](https://
18821
+ # cloud.google.com/iam/docs/).
18522
18822
  class Policy
18523
18823
  include Google::Apis::Core::Hashable
18524
18824
 
@@ -18527,9 +18827,9 @@ module Google
18527
18827
  # @return [Array<Google::Apis::ComputeV1::AuditConfig>]
18528
18828
  attr_accessor :audit_configs
18529
18829
 
18530
- # Associates a list of `members` to a `role`. Optionally may specify a `
18531
- # condition` that determines when binding is in effect. `bindings` with no
18532
- # members will result in an error.
18830
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
18831
+ # condition` that determines how and when the `bindings` are applied. Each of
18832
+ # the `bindings` must contain at least one member.
18533
18833
  # Corresponds to the JSON property `bindings`
18534
18834
  # @return [Array<Google::Apis::ComputeV1::Binding>]
18535
18835
  attr_accessor :bindings
@@ -18541,10 +18841,10 @@ module Google
18541
18841
  # returned in the response to `getIamPolicy`, and systems are expected to put
18542
18842
  # that etag in the request to `setIamPolicy` to ensure that their change will be
18543
18843
  # applied to the same version of the policy.
18544
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
18545
- # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
18546
- # setIamPolicy' will not fail even if either of incoming or stored policy does
18547
- # not meet the version requirements.
18844
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
18845
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
18846
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
18847
+ # conditions in the version `3` policy are lost.
18548
18848
  # Corresponds to the JSON property `etag`
18549
18849
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18550
18850
  # @return [String]
@@ -18568,15 +18868,20 @@ module Google
18568
18868
  attr_accessor :rules
18569
18869
 
18570
18870
  # Specifies the format of the policy.
18571
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
18871
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are
18572
18872
  # rejected.
18573
- # Operations affecting conditional bindings must specify version 3. This can be
18574
- # either setting a conditional policy, modifying a conditional binding, or
18575
- # removing a conditional binding from the stored conditional policy. Operations
18576
- # on non-conditional policies may specify any valid value or leave the field
18577
- # unset.
18578
- # If no etag is provided in the call to `setIamPolicy`, any version compliance
18579
- # checks on the incoming and/or stored policy is skipped.
18873
+ # Any operation that affects conditional role bindings must specify version `3`.
18874
+ # This requirement applies to the following operations:
18875
+ # * Getting a policy that includes a conditional role binding * Adding a
18876
+ # conditional role binding to a policy * Changing a conditional role binding in
18877
+ # a policy * Removing any role binding, with or without a condition, from a
18878
+ # policy that includes conditions
18879
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
18880
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
18881
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
18882
+ # conditions in the version `3` policy are lost.
18883
+ # If a policy does not include any conditions, operations on that policy may
18884
+ # specify any valid version or leave the field unset.
18580
18885
  # Corresponds to the JSON property `version`
18581
18886
  # @return [Fixnum]
18582
18887
  attr_accessor :version
@@ -19515,6 +19820,25 @@ module Google
19515
19820
  end
19516
19821
  end
19517
19822
 
19823
+ # RegionInstanceGroupManagers.createInstances
19824
+ class RegionInstanceGroupManagersCreateInstancesRequest
19825
+ include Google::Apis::Core::Hashable
19826
+
19827
+ # [Required] List of specifications of per-instance configs.
19828
+ # Corresponds to the JSON property `instances`
19829
+ # @return [Array<Google::Apis::ComputeV1::PerInstanceConfig>]
19830
+ attr_accessor :instances
19831
+
19832
+ def initialize(**args)
19833
+ update!(**args)
19834
+ end
19835
+
19836
+ # Update properties of this object
19837
+ def update!(**args)
19838
+ @instances = args[:instances] if args.key?(:instances)
19839
+ end
19840
+ end
19841
+
19518
19842
  #
19519
19843
  class RegionInstanceGroupManagersDeleteInstancesRequest
19520
19844
  include Google::Apis::Core::Hashable
@@ -19964,32 +20288,34 @@ module Google
19964
20288
  # @return [String]
19965
20289
  attr_accessor :etag
19966
20290
 
19967
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
19968
- # access control policies for Cloud Platform resources.
20291
+ # An Identity and Access Management (IAM) policy, which specifies access
20292
+ # controls for Google Cloud resources.
19969
20293
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
19970
20294
  # members` to a single `role`. Members can be user accounts, service accounts,
19971
20295
  # Google groups, and domains (such as G Suite). A `role` is a named list of
19972
- # permissions (defined by IAM or configured by users). A `binding` can
19973
- # optionally specify a `condition`, which is a logic expression that further
19974
- # constrains the role binding based on attributes about the request and/or
19975
- # target resource.
19976
- # **JSON Example**
20296
+ # permissions; each `role` can be an IAM predefined role or a user-created
20297
+ # custom role.
20298
+ # Optionally, a `binding` can specify a `condition`, which is a logical
20299
+ # expression that allows access to a resource only if the expression evaluates
20300
+ # to `true`. A condition can add constraints based on attributes of the request,
20301
+ # the resource, or both.
20302
+ # **JSON example:**
19977
20303
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
19978
20304
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
19979
20305
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
19980
20306
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
19981
20307
  # "condition": ` "title": "expirable access", "description": "Does not grant
19982
20308
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
19983
- # 00:00.000Z')", ` ` ] `
19984
- # **YAML Example**
20309
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
20310
+ # **YAML example:**
19985
20311
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19986
20312
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
19987
20313
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
19988
20314
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
19989
20315
  # access description: Does not grant access after Sep 2020 expression: request.
19990
- # time < timestamp('2020-10-01T00:00:00.000Z')
19991
- # For a description of IAM and its features, see the [IAM developer's guide](
19992
- # https://cloud.google.com/iam/docs).
20316
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
20317
+ # For a description of IAM and its features, see the [IAM documentation](https://
20318
+ # cloud.google.com/iam/docs/).
19993
20319
  # Corresponds to the JSON property `policy`
19994
20320
  # @return [Google::Apis::ComputeV1::Policy]
19995
20321
  attr_accessor :policy
@@ -23746,7 +24072,9 @@ module Google
23746
24072
  # This SSL certificate resource also contains a private key. You can use SSL
23747
24073
  # keys and certificates to secure connections to a load balancer. For more
23748
24074
  # information, read Creating and Using SSL Certificates. (== resource_for beta.
23749
- # sslCertificates ==) (== resource_for v1.sslCertificates ==)
24075
+ # sslCertificates ==) (== resource_for v1.sslCertificates ==) (== resource_for
24076
+ # beta.regionSslCertificates ==) (== resource_for v1.regionSslCertificates ==)
24077
+ # Next ID: 17
23750
24078
  class SslCertificate
23751
24079
  include Google::Apis::Core::Hashable
23752
24080
 
@@ -25294,11 +25622,12 @@ module Google
25294
25622
  end
25295
25623
 
25296
25624
  # Represents a Target HTTP Proxy resource.
25297
- # A target HTTP proxy is a component of certain types of load balancers. Global
25298
- # forwarding rules reference a target HTTP proxy, and the target proxy then
25299
- # references a URL map. For more information, read Using Target Proxies. (==
25300
- # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies =
25301
- # =)
25625
+ # A target HTTP proxy is a component of GCP HTTP load balancers. Forwarding
25626
+ # rules reference a target HTTP proxy, and the target proxy then references a
25627
+ # URL map. For more information, read Using Target Proxies and Forwarding rule
25628
+ # concepts. (== resource_for beta.targetHttpProxies ==) (== resource_for v1.
25629
+ # targetHttpProxies ==) (== resource_for beta.regionTargetHttpProxies ==) (==
25630
+ # resource_for v1.regionTargetHttpProxies ==)
25302
25631
  class TargetHttpProxy
25303
25632
  include Google::Apis::Core::Hashable
25304
25633
 
@@ -25666,11 +25995,12 @@ module Google
25666
25995
  end
25667
25996
 
25668
25997
  # Represents a Target HTTPS Proxy resource.
25669
- # A target HTTPS proxy is a component of certain types of load balancers. Global
25670
- # forwarding rules reference a target HTTPS proxy, and the target proxy then
25671
- # references a URL map. For more information, read Using Target Proxies. (==
25672
- # resource_for beta.targetHttpsProxies ==) (== resource_for v1.
25673
- # targetHttpsProxies ==)
25998
+ # A target HTTPS proxy is a component of GCP HTTPS load balancers. Forwarding
25999
+ # rules reference a target HTTPS proxy, and the target proxy then references a
26000
+ # URL map. For more information, read Using Target Proxies and Forwarding rule
26001
+ # concepts. (== resource_for beta.targetHttpsProxies ==) (== resource_for v1.
26002
+ # targetHttpsProxies ==) (== resource_for beta.regionTargetHttpsProxies ==) (==
26003
+ # resource_for v1.regionTargetHttpsProxies ==)
25674
26004
  class TargetHttpsProxy
25675
26005
  include Google::Apis::Core::Hashable
25676
26006
 
@@ -29063,7 +29393,7 @@ module Google
29063
29393
  end
29064
29394
  end
29065
29395
 
29066
- # Represents a VPN gateway resource.
29396
+ # Represents a VPN gateway resource. Next ID: 13
29067
29397
  class VpnGateway
29068
29398
  include Google::Apis::Core::Hashable
29069
29399
 
@@ -30602,32 +30932,34 @@ module Google
30602
30932
  # @return [String]
30603
30933
  attr_accessor :etag
30604
30934
 
30605
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
30606
- # access control policies for Cloud Platform resources.
30935
+ # An Identity and Access Management (IAM) policy, which specifies access
30936
+ # controls for Google Cloud resources.
30607
30937
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
30608
30938
  # members` to a single `role`. Members can be user accounts, service accounts,
30609
30939
  # Google groups, and domains (such as G Suite). A `role` is a named list of
30610
- # permissions (defined by IAM or configured by users). A `binding` can
30611
- # optionally specify a `condition`, which is a logic expression that further
30612
- # constrains the role binding based on attributes about the request and/or
30613
- # target resource.
30614
- # **JSON Example**
30940
+ # permissions; each `role` can be an IAM predefined role or a user-created
30941
+ # custom role.
30942
+ # Optionally, a `binding` can specify a `condition`, which is a logical
30943
+ # expression that allows access to a resource only if the expression evaluates
30944
+ # to `true`. A condition can add constraints based on attributes of the request,
30945
+ # the resource, or both.
30946
+ # **JSON example:**
30615
30947
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
30616
30948
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
30617
30949
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
30618
30950
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
30619
30951
  # "condition": ` "title": "expirable access", "description": "Does not grant
30620
30952
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
30621
- # 00:00.000Z')", ` ` ] `
30622
- # **YAML Example**
30953
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
30954
+ # **YAML example:**
30623
30955
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
30624
30956
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
30625
30957
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
30626
30958
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
30627
30959
  # access description: Does not grant access after Sep 2020 expression: request.
30628
- # time < timestamp('2020-10-01T00:00:00.000Z')
30629
- # For a description of IAM and its features, see the [IAM developer's guide](
30630
- # https://cloud.google.com/iam/docs).
30960
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
30961
+ # For a description of IAM and its features, see the [IAM documentation](https://
30962
+ # cloud.google.com/iam/docs/).
30631
30963
  # Corresponds to the JSON property `policy`
30632
30964
  # @return [Google::Apis::ComputeV1::Policy]
30633
30965
  attr_accessor :policy