google-api-client 0.24.2 → 0.24.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +68 -0
  3. data/README.md +9 -0
  4. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +5 -4
  5. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +90 -87
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +17 -15
  7. data/generated/google/apis/admin_directory_v1.rb +1 -1
  8. data/generated/google/apis/admin_directory_v1/classes.rb +155 -0
  9. data/generated/google/apis/admin_directory_v1/representations.rb +82 -0
  10. data/generated/google/apis/alertcenter_v1beta1.rb +31 -0
  11. data/generated/google/apis/alertcenter_v1beta1/classes.rb +835 -0
  12. data/generated/google/apis/alertcenter_v1beta1/representations.rb +394 -0
  13. data/generated/google/apis/alertcenter_v1beta1/service.rb +302 -0
  14. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  15. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +37 -0
  16. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +6 -0
  17. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +8 -1
  18. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  19. data/generated/google/apis/androidenterprise_v1/classes.rb +8 -4
  20. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  21. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  22. data/generated/google/apis/androidpublisher_v2/service.rb +5 -1
  23. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  24. data/generated/google/apis/androidpublisher_v3/service.rb +5 -1
  25. data/generated/google/apis/appengine_v1.rb +1 -1
  26. data/generated/google/apis/appengine_v1/classes.rb +8 -1
  27. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  28. data/generated/google/apis/appengine_v1beta.rb +1 -1
  29. data/generated/google/apis/appengine_v1beta/classes.rb +1 -1
  30. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  31. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +6 -5
  32. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +12 -10
  33. data/generated/google/apis/calendar_v3.rb +1 -1
  34. data/generated/google/apis/calendar_v3/service.rb +52 -18
  35. data/generated/google/apis/cloudasset_v1beta1.rb +34 -0
  36. data/generated/google/apis/cloudasset_v1beta1/classes.rb +798 -0
  37. data/generated/google/apis/cloudasset_v1beta1/representations.rb +263 -0
  38. data/generated/google/apis/cloudasset_v1beta1/service.rb +313 -0
  39. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1/classes.rb +42 -5
  41. data/generated/google/apis/cloudbuild_v1/representations.rb +6 -0
  42. data/generated/google/apis/cloudiot_v1.rb +1 -1
  43. data/generated/google/apis/cloudiot_v1/classes.rb +59 -0
  44. data/generated/google/apis/cloudiot_v1/representations.rb +28 -0
  45. data/generated/google/apis/cloudiot_v1/service.rb +94 -0
  46. data/generated/google/apis/composer_v1.rb +1 -1
  47. data/generated/google/apis/composer_v1/classes.rb +1 -0
  48. data/generated/google/apis/composer_v1beta1.rb +1 -1
  49. data/generated/google/apis/composer_v1beta1/classes.rb +34 -5
  50. data/generated/google/apis/composer_v1beta1/representations.rb +1 -0
  51. data/generated/google/apis/compute_alpha.rb +1 -1
  52. data/generated/google/apis/compute_alpha/classes.rb +227 -48
  53. data/generated/google/apis/compute_alpha/representations.rb +84 -1
  54. data/generated/google/apis/compute_alpha/service.rb +50 -10
  55. data/generated/google/apis/compute_beta.rb +1 -1
  56. data/generated/google/apis/compute_beta/classes.rb +593 -77
  57. data/generated/google/apis/compute_beta/representations.rb +224 -18
  58. data/generated/google/apis/compute_beta/service.rb +174 -3
  59. data/generated/google/apis/compute_v1.rb +1 -1
  60. data/generated/google/apis/compute_v1/classes.rb +41 -18
  61. data/generated/google/apis/compute_v1/representations.rb +3 -0
  62. data/generated/google/apis/content_v2.rb +1 -1
  63. data/generated/google/apis/content_v2/classes.rb +372 -119
  64. data/generated/google/apis/content_v2/representations.rb +157 -39
  65. data/generated/google/apis/content_v2/service.rb +101 -11
  66. data/generated/google/apis/content_v2sandbox.rb +1 -1
  67. data/generated/google/apis/content_v2sandbox/classes.rb +372 -119
  68. data/generated/google/apis/content_v2sandbox/representations.rb +157 -39
  69. data/generated/google/apis/content_v2sandbox/service.rb +90 -0
  70. data/generated/google/apis/customsearch_v1.rb +1 -1
  71. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  72. data/generated/google/apis/dataflow_v1b3/classes.rb +7 -0
  73. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -0
  74. data/generated/google/apis/dataproc_v1.rb +1 -1
  75. data/generated/google/apis/dataproc_v1/classes.rb +12 -0
  76. data/generated/google/apis/dataproc_v1/representations.rb +2 -0
  77. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  78. data/generated/google/apis/dataproc_v1beta2/classes.rb +21 -6
  79. data/generated/google/apis/dataproc_v1beta2/representations.rb +2 -0
  80. data/generated/google/apis/datastore_v1.rb +1 -1
  81. data/generated/google/apis/datastore_v1/classes.rb +2 -2
  82. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  83. data/generated/google/apis/datastore_v1beta3/classes.rb +2 -2
  84. data/generated/google/apis/dlp_v2.rb +1 -1
  85. data/generated/google/apis/dlp_v2/classes.rb +110 -5
  86. data/generated/google/apis/dlp_v2/representations.rb +17 -0
  87. data/generated/google/apis/dlp_v2/service.rb +41 -3
  88. data/generated/google/apis/file_v1beta1.rb +1 -1
  89. data/generated/google/apis/file_v1beta1/classes.rb +0 -234
  90. data/generated/google/apis/file_v1beta1/representations.rb +0 -79
  91. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  92. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +19 -1
  93. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +3 -0
  94. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +4 -1
  95. data/generated/google/apis/firebasehosting_v1beta1.rb +43 -0
  96. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +767 -0
  97. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +337 -0
  98. data/generated/google/apis/firebasehosting_v1beta1/service.rb +502 -0
  99. data/generated/google/apis/firebaserules_v1.rb +1 -1
  100. data/generated/google/apis/firebaserules_v1/classes.rb +8 -0
  101. data/generated/google/apis/firebaserules_v1/representations.rb +1 -0
  102. data/generated/google/apis/firebaserules_v1/service.rb +1 -1
  103. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  104. data/generated/google/apis/firestore_v1beta2/service.rb +80 -80
  105. data/generated/google/apis/games_v1.rb +1 -1
  106. data/generated/google/apis/games_v1/service.rb +4 -1
  107. data/generated/google/apis/iam_v1.rb +1 -1
  108. data/generated/google/apis/iam_v1/classes.rb +3 -1
  109. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  110. data/generated/google/apis/iamcredentials_v1/service.rb +0 -10
  111. data/generated/google/apis/iap_v1beta1.rb +1 -1
  112. data/generated/google/apis/iap_v1beta1/service.rb +339 -0
  113. data/generated/google/apis/jobs_v2.rb +1 -1
  114. data/generated/google/apis/jobs_v2/classes.rb +45 -37
  115. data/generated/google/apis/jobs_v3.rb +1 -1
  116. data/generated/google/apis/jobs_v3/classes.rb +21 -18
  117. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  118. data/generated/google/apis/jobs_v3p1beta1/classes.rb +45 -20
  119. data/generated/google/apis/jobs_v3p1beta1/representations.rb +2 -0
  120. data/generated/google/apis/language_v1.rb +1 -1
  121. data/generated/google/apis/language_v1beta1.rb +1 -1
  122. data/generated/google/apis/language_v1beta2.rb +1 -1
  123. data/generated/google/apis/logging_v2.rb +1 -1
  124. data/generated/google/apis/logging_v2/classes.rb +12 -0
  125. data/generated/google/apis/logging_v2/representations.rb +1 -0
  126. data/generated/google/apis/logging_v2beta1.rb +1 -1
  127. data/generated/google/apis/logging_v2beta1/classes.rb +12 -0
  128. data/generated/google/apis/logging_v2beta1/representations.rb +1 -0
  129. data/generated/google/apis/ml_v1.rb +1 -1
  130. data/generated/google/apis/ml_v1/classes.rb +2 -2
  131. data/generated/google/apis/monitoring_v3.rb +1 -1
  132. data/generated/google/apis/monitoring_v3/classes.rb +19 -17
  133. data/generated/google/apis/monitoring_v3/representations.rb +1 -2
  134. data/generated/google/apis/partners_v2.rb +1 -1
  135. data/generated/google/apis/partners_v2/classes.rb +18 -15
  136. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  137. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +18 -15
  138. data/generated/google/apis/redis_v1.rb +1 -1
  139. data/generated/google/apis/redis_v1/classes.rb +1 -1
  140. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  141. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +1 -1
  142. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  143. data/generated/google/apis/servicemanagement_v1/classes.rb +2 -150
  144. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -42
  145. data/generated/google/apis/servicenetworking_v1beta.rb +38 -0
  146. data/generated/google/apis/servicenetworking_v1beta/classes.rb +3440 -0
  147. data/generated/google/apis/servicenetworking_v1beta/representations.rb +992 -0
  148. data/generated/google/apis/servicenetworking_v1beta/service.rb +227 -0
  149. data/generated/google/apis/serviceusage_v1.rb +1 -1
  150. data/generated/google/apis/serviceusage_v1/classes.rb +1 -1
  151. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  152. data/generated/google/apis/serviceusage_v1beta1/classes.rb +1 -1
  153. data/generated/google/apis/serviceuser_v1.rb +1 -1
  154. data/generated/google/apis/serviceuser_v1/classes.rb +2 -150
  155. data/generated/google/apis/serviceuser_v1/representations.rb +0 -42
  156. data/generated/google/apis/spanner_v1.rb +1 -1
  157. data/generated/google/apis/spanner_v1/classes.rb +308 -30
  158. data/generated/google/apis/spanner_v1/representations.rb +17 -0
  159. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  160. data/generated/google/apis/streetviewpublish_v1/classes.rb +12 -0
  161. data/generated/google/apis/streetviewpublish_v1/representations.rb +1 -0
  162. data/generated/google/apis/testing_v1.rb +1 -1
  163. data/generated/google/apis/testing_v1/classes.rb +47 -0
  164. data/generated/google/apis/testing_v1/representations.rb +18 -0
  165. data/generated/google/apis/videointelligence_v1.rb +1 -1
  166. data/generated/google/apis/videointelligence_v1/classes.rb +676 -0
  167. data/generated/google/apis/videointelligence_v1/representations.rb +306 -0
  168. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  169. data/generated/google/apis/videointelligence_v1beta2/classes.rb +676 -0
  170. data/generated/google/apis/videointelligence_v1beta2/representations.rb +306 -0
  171. data/generated/google/apis/{videointelligence_v1beta1.rb → videointelligence_v1p1beta1.rb} +6 -6
  172. data/generated/google/apis/{videointelligence_v1beta1 → videointelligence_v1p1beta1}/classes.rb +885 -489
  173. data/generated/google/apis/{videointelligence_v1beta1 → videointelligence_v1p1beta1}/representations.rb +357 -194
  174. data/generated/google/apis/{videointelligence_v1beta1 → videointelligence_v1p1beta1}/service.rb +12 -12
  175. data/generated/google/apis/vision_v1.rb +1 -1
  176. data/generated/google/apis/vision_v1/classes.rb +1 -1
  177. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  178. data/generated/google/apis/vision_v1p1beta1/classes.rb +1 -1
  179. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  180. data/generated/google/apis/vision_v1p2beta1/classes.rb +1 -1
  181. data/generated/google/apis/youtube_partner_v1.rb +2 -2
  182. data/generated/google/apis/youtube_partner_v1/classes.rb +2 -1
  183. data/generated/google/apis/youtube_partner_v1/service.rb +1 -1
  184. data/lib/google/apis/version.rb +1 -1
  185. metadata +22 -6
@@ -928,6 +928,18 @@ module Google
928
928
  include Google::Apis::Core::JsonObjectSupport
929
929
  end
930
930
 
931
+ class GuestAttributesEntry
932
+ class Representation < Google::Apis::Core::JsonRepresentation; end
933
+
934
+ include Google::Apis::Core::JsonObjectSupport
935
+ end
936
+
937
+ class GuestAttributesValue
938
+ class Representation < Google::Apis::Core::JsonRepresentation; end
939
+
940
+ include Google::Apis::Core::JsonObjectSupport
941
+ end
942
+
931
943
  class GuestOsFeature
932
944
  class Representation < Google::Apis::Core::JsonRepresentation; end
933
945
 
@@ -1246,6 +1258,12 @@ module Google
1246
1258
  include Google::Apis::Core::JsonObjectSupport
1247
1259
  end
1248
1260
 
1261
+ class InstanceGroupManagerStatusVersionTarget
1262
+ class Representation < Google::Apis::Core::JsonRepresentation; end
1263
+
1264
+ include Google::Apis::Core::JsonObjectSupport
1265
+ end
1266
+
1249
1267
  class InstanceGroupManagerUpdatePolicy
1250
1268
  class Representation < Google::Apis::Core::JsonRepresentation; end
1251
1269
 
@@ -3238,6 +3256,18 @@ module Google
3238
3256
  include Google::Apis::Core::JsonObjectSupport
3239
3257
  end
3240
3258
 
3259
+ class ShieldedVmIdentity
3260
+ class Representation < Google::Apis::Core::JsonRepresentation; end
3261
+
3262
+ include Google::Apis::Core::JsonObjectSupport
3263
+ end
3264
+
3265
+ class ShieldedVmIdentityEntry
3266
+ class Representation < Google::Apis::Core::JsonRepresentation; end
3267
+
3268
+ include Google::Apis::Core::JsonObjectSupport
3269
+ end
3270
+
3241
3271
  class ShieldedVmIntegrityPolicy
3242
3272
  class Representation < Google::Apis::Core::JsonRepresentation; end
3243
3273
 
@@ -5995,12 +6025,32 @@ module Google
5995
6025
  # @private
5996
6026
  class Representation < Google::Apis::Core::JsonRepresentation
5997
6027
  property :kind, as: 'kind'
6028
+ property :query_path, as: 'queryPath'
6029
+ property :query_value, as: 'queryValue', class: Google::Apis::ComputeAlpha::GuestAttributesValue, decorator: Google::Apis::ComputeAlpha::GuestAttributesValue::Representation
6030
+
5998
6031
  property :self_link, as: 'selfLink'
5999
6032
  property :variable_key, as: 'variableKey'
6000
6033
  property :variable_value, as: 'variableValue'
6001
6034
  end
6002
6035
  end
6003
6036
 
6037
+ class GuestAttributesEntry
6038
+ # @private
6039
+ class Representation < Google::Apis::Core::JsonRepresentation
6040
+ property :key, as: 'key'
6041
+ property :namespace, as: 'namespace'
6042
+ property :value, as: 'value'
6043
+ end
6044
+ end
6045
+
6046
+ class GuestAttributesValue
6047
+ # @private
6048
+ class Representation < Google::Apis::Core::JsonRepresentation
6049
+ collection :items, as: 'items', class: Google::Apis::ComputeAlpha::GuestAttributesEntry, decorator: Google::Apis::ComputeAlpha::GuestAttributesEntry::Representation
6050
+
6051
+ end
6052
+ end
6053
+
6004
6054
  class GuestOsFeature
6005
6055
  # @private
6006
6056
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -6700,7 +6750,15 @@ module Google
6700
6750
  # @private
6701
6751
  class Representation < Google::Apis::Core::JsonRepresentation
6702
6752
  property :is_stable, as: 'isStable'
6703
- property :version_target_reached, as: 'versionTargetReached'
6753
+ property :version_target, as: 'versionTarget', class: Google::Apis::ComputeAlpha::InstanceGroupManagerStatusVersionTarget, decorator: Google::Apis::ComputeAlpha::InstanceGroupManagerStatusVersionTarget::Representation
6754
+
6755
+ end
6756
+ end
6757
+
6758
+ class InstanceGroupManagerStatusVersionTarget
6759
+ # @private
6760
+ class Representation < Google::Apis::Core::JsonRepresentation
6761
+ property :is_reached, as: 'isReached'
6704
6762
  end
6705
6763
  end
6706
6764
 
@@ -7038,6 +7096,8 @@ module Google
7038
7096
  class InstanceProperties
7039
7097
  # @private
7040
7098
  class Representation < Google::Apis::Core::JsonRepresentation
7099
+ property :allocation_affinity, as: 'allocationAffinity', class: Google::Apis::ComputeAlpha::AllocationAffinity, decorator: Google::Apis::ComputeAlpha::AllocationAffinity::Representation
7100
+
7041
7101
  property :can_ip_forward, as: 'canIpForward'
7042
7102
  property :description, as: 'description'
7043
7103
  collection :disks, as: 'disks', class: Google::Apis::ComputeAlpha::AttachedDisk, decorator: Google::Apis::ComputeAlpha::AttachedDisk::Representation
@@ -8083,16 +8143,20 @@ module Google
8083
8143
  # @private
8084
8144
  class Representation < Google::Apis::Core::JsonRepresentation
8085
8145
  property :creation_timestamp, as: 'creationTimestamp'
8146
+ property :default_port, as: 'defaultPort'
8086
8147
  property :description, as: 'description'
8087
8148
  property :id, :numeric_string => true, as: 'id'
8088
8149
  property :kind, as: 'kind'
8089
8150
  property :load_balancer, as: 'loadBalancer', class: Google::Apis::ComputeAlpha::NetworkEndpointGroupLbNetworkEndpointGroup, decorator: Google::Apis::ComputeAlpha::NetworkEndpointGroupLbNetworkEndpointGroup::Representation
8090
8151
 
8091
8152
  property :name, as: 'name'
8153
+ property :network, as: 'network'
8092
8154
  property :network_endpoint_type, as: 'networkEndpointType'
8093
8155
  property :self_link, as: 'selfLink'
8094
8156
  property :size, as: 'size'
8157
+ property :subnetwork, as: 'subnetwork'
8095
8158
  property :type, as: 'type'
8159
+ property :zone, as: 'zone'
8096
8160
  end
8097
8161
  end
8098
8162
 
@@ -10199,6 +10263,25 @@ module Google
10199
10263
  end
10200
10264
  end
10201
10265
 
10266
+ class ShieldedVmIdentity
10267
+ # @private
10268
+ class Representation < Google::Apis::Core::JsonRepresentation
10269
+ property :encryption_key, as: 'encryptionKey', class: Google::Apis::ComputeAlpha::ShieldedVmIdentityEntry, decorator: Google::Apis::ComputeAlpha::ShieldedVmIdentityEntry::Representation
10270
+
10271
+ property :kind, as: 'kind'
10272
+ property :signing_key, as: 'signingKey', class: Google::Apis::ComputeAlpha::ShieldedVmIdentityEntry, decorator: Google::Apis::ComputeAlpha::ShieldedVmIdentityEntry::Representation
10273
+
10274
+ end
10275
+ end
10276
+
10277
+ class ShieldedVmIdentityEntry
10278
+ # @private
10279
+ class Representation < Google::Apis::Core::JsonRepresentation
10280
+ property :ek_cert, as: 'ekCert'
10281
+ property :ek_pub, as: 'ekPub'
10282
+ end
10283
+ end
10284
+
10202
10285
  class ShieldedVmIntegrityPolicy
10203
10286
  # @private
10204
10287
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -9475,6 +9475,8 @@ module Google
9475
9475
  # The name of the zone for this request.
9476
9476
  # @param [String] instance
9477
9477
  # Name of the instance scoping this request.
9478
+ # @param [String] query_path
9479
+ # Specifies the guest attributes path to be queried.
9478
9480
  # @param [String] variable_key
9479
9481
  # Specifies the key for the guest attributes entry.
9480
9482
  # @param [String] fields
@@ -9496,13 +9498,14 @@ module Google
9496
9498
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
9497
9499
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
9498
9500
  # @raise [Google::Apis::AuthorizationError] Authorization is required
9499
- def get_instance_guest_attributes(project, zone, instance, variable_key: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
9501
+ def get_instance_guest_attributes(project, zone, instance, query_path: nil, variable_key: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
9500
9502
  command = make_simple_command(:get, '{project}/zones/{zone}/instances/{instance}/getGuestAttributes', options)
9501
9503
  command.response_representation = Google::Apis::ComputeAlpha::GuestAttributes::Representation
9502
9504
  command.response_class = Google::Apis::ComputeAlpha::GuestAttributes
9503
9505
  command.params['project'] = project unless project.nil?
9504
9506
  command.params['zone'] = zone unless zone.nil?
9505
9507
  command.params['instance'] = instance unless instance.nil?
9508
+ command.query['queryPath'] = query_path unless query_path.nil?
9506
9509
  command.query['variableKey'] = variable_key unless variable_key.nil?
9507
9510
  command.query['fields'] = fields unless fields.nil?
9508
9511
  command.query['quotaUser'] = quota_user unless quota_user.nil?
@@ -9598,6 +9601,45 @@ module Google
9598
9601
  execute_or_queue_command(command, &block)
9599
9602
  end
9600
9603
 
9604
+ # Returns the Shielded VM Identity of an instance
9605
+ # @param [String] project
9606
+ # Project ID for this request.
9607
+ # @param [String] zone
9608
+ # The name of the zone for this request.
9609
+ # @param [String] instance
9610
+ # Name of the instance scoping this request.
9611
+ # @param [String] fields
9612
+ # Selector specifying which fields to include in a partial response.
9613
+ # @param [String] quota_user
9614
+ # An opaque string that represents a user for quota purposes. Must not exceed 40
9615
+ # characters.
9616
+ # @param [String] user_ip
9617
+ # Deprecated. Please use quotaUser instead.
9618
+ # @param [Google::Apis::RequestOptions] options
9619
+ # Request-specific options
9620
+ #
9621
+ # @yield [result, err] Result & error if block supplied
9622
+ # @yieldparam result [Google::Apis::ComputeAlpha::ShieldedVmIdentity] parsed result object
9623
+ # @yieldparam err [StandardError] error object if request failed
9624
+ #
9625
+ # @return [Google::Apis::ComputeAlpha::ShieldedVmIdentity]
9626
+ #
9627
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
9628
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
9629
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
9630
+ def get_instance_shielded_vm_identity(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
9631
+ command = make_simple_command(:get, '{project}/zones/{zone}/instances/{instance}/getShieldedVmIdentity', options)
9632
+ command.response_representation = Google::Apis::ComputeAlpha::ShieldedVmIdentity::Representation
9633
+ command.response_class = Google::Apis::ComputeAlpha::ShieldedVmIdentity
9634
+ command.params['project'] = project unless project.nil?
9635
+ command.params['zone'] = zone unless zone.nil?
9636
+ command.params['instance'] = instance unless instance.nil?
9637
+ command.query['fields'] = fields unless fields.nil?
9638
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
9639
+ command.query['userIp'] = user_ip unless user_ip.nil?
9640
+ execute_or_queue_command(command, &block)
9641
+ end
9642
+
9601
9643
  # Creates an instance resource in the specified project using the data included
9602
9644
  # in the request.
9603
9645
  # @param [String] project
@@ -12706,10 +12748,8 @@ module Google
12706
12748
  execute_or_queue_command(command, &block)
12707
12749
  end
12708
12750
 
12709
- # Deletes the specified machine image. If you delete an instance template that
12710
- # is being referenced from another instance group, the instance group will not
12711
- # be able to create or recreate virtual machine instances. Deleting an machine
12712
- # image is permanent and cannot be undone.
12751
+ # Deletes the specified machine image. Deleting a machine image is permanent and
12752
+ # cannot be undone.
12713
12753
  # @param [String] project
12714
12754
  # Project ID for this request.
12715
12755
  # @param [String] machine_image
@@ -12831,10 +12871,10 @@ module Google
12831
12871
  execute_or_queue_command(command, &block)
12832
12872
  end
12833
12873
 
12834
- # Creates an machine image in the specified project using the data that is
12835
- # included in the request. If you are creating a new template to update an
12836
- # existing instance group, your new machine image must use the same network or,
12837
- # if applicable, the same subnetwork as the original template.
12874
+ # Creates a machine image in the specified project using the data that is
12875
+ # included in the request. If you are creating a new machine image to update an
12876
+ # existing instance, your new machine image should use the same network or, if
12877
+ # applicable, the same subnetwork as the original instance.
12838
12878
  # @param [String] project
12839
12879
  # Project ID for this request.
12840
12880
  # @param [Google::Apis::ComputeAlpha::MachineImage] machine_image_object
@@ -12850,7 +12890,7 @@ module Google
12850
12890
  # The request ID must be a valid UUID with the exception that zero UUID is not
12851
12891
  # supported (00000000-0000-0000-0000-000000000000).
12852
12892
  # @param [String] source_instance
12853
- # Optional. Source image to restore onto a disk.
12893
+ # Required. Source instance that is used to create the machine image from.
12854
12894
  # @param [String] fields
12855
12895
  # Selector specifying which fields to include in a partial response.
12856
12896
  # @param [String] quota_user
@@ -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 = '20180828'
28
+ REVISION = '20180916'
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'
@@ -5388,7 +5388,7 @@ module Google
5388
5388
  # rule supports either IPv4 or IPv6.
5389
5389
  # When the load balancing scheme is INTERNAL_SELF_MANAGED, this must be a URL
5390
5390
  # reference to an existing Address resource ( internal regional static IP
5391
- # address).
5391
+ # address), with a purpose of GCE_END_POINT and address_type of INTERNAL.
5392
5392
  # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP
5393
5393
  # address belonging to the network/subnet configured for the forwarding rule. By
5394
5394
  # default, if this field is empty, an ephemeral internal IP address will be
@@ -6051,6 +6051,107 @@ module Google
6051
6051
  end
6052
6052
  end
6053
6053
 
6054
+ # A guest attributes entry.
6055
+ class GuestAttributes
6056
+ include Google::Apis::Core::Hashable
6057
+
6058
+ # [Output Only] Type of the resource. Always compute#guestAttributes for guest
6059
+ # attributes entry.
6060
+ # Corresponds to the JSON property `kind`
6061
+ # @return [String]
6062
+ attr_accessor :kind
6063
+
6064
+ # The path to be queried. This can be the default namespace ('/') or a nested
6065
+ # namespace ('//') or a specified key ('//')
6066
+ # Corresponds to the JSON property `queryPath`
6067
+ # @return [String]
6068
+ attr_accessor :query_path
6069
+
6070
+ # Array of guest attribute namespace/key/value tuples.
6071
+ # Corresponds to the JSON property `queryValue`
6072
+ # @return [Google::Apis::ComputeBeta::GuestAttributesValue]
6073
+ attr_accessor :query_value
6074
+
6075
+ # [Output Only] Server-defined URL for this resource.
6076
+ # Corresponds to the JSON property `selfLink`
6077
+ # @return [String]
6078
+ attr_accessor :self_link
6079
+
6080
+ # The key to search for.
6081
+ # Corresponds to the JSON property `variableKey`
6082
+ # @return [String]
6083
+ attr_accessor :variable_key
6084
+
6085
+ # [Output Only] The value found for the requested key.
6086
+ # Corresponds to the JSON property `variableValue`
6087
+ # @return [String]
6088
+ attr_accessor :variable_value
6089
+
6090
+ def initialize(**args)
6091
+ update!(**args)
6092
+ end
6093
+
6094
+ # Update properties of this object
6095
+ def update!(**args)
6096
+ @kind = args[:kind] if args.key?(:kind)
6097
+ @query_path = args[:query_path] if args.key?(:query_path)
6098
+ @query_value = args[:query_value] if args.key?(:query_value)
6099
+ @self_link = args[:self_link] if args.key?(:self_link)
6100
+ @variable_key = args[:variable_key] if args.key?(:variable_key)
6101
+ @variable_value = args[:variable_value] if args.key?(:variable_value)
6102
+ end
6103
+ end
6104
+
6105
+ # A guest attributes namespace/key/value entry.
6106
+ class GuestAttributesEntry
6107
+ include Google::Apis::Core::Hashable
6108
+
6109
+ # Key for the guest attribute entry.
6110
+ # Corresponds to the JSON property `key`
6111
+ # @return [String]
6112
+ attr_accessor :key
6113
+
6114
+ # Namespace for the guest attribute entry.
6115
+ # Corresponds to the JSON property `namespace`
6116
+ # @return [String]
6117
+ attr_accessor :namespace
6118
+
6119
+ # Value for the guest attribute entry.
6120
+ # Corresponds to the JSON property `value`
6121
+ # @return [String]
6122
+ attr_accessor :value
6123
+
6124
+ def initialize(**args)
6125
+ update!(**args)
6126
+ end
6127
+
6128
+ # Update properties of this object
6129
+ def update!(**args)
6130
+ @key = args[:key] if args.key?(:key)
6131
+ @namespace = args[:namespace] if args.key?(:namespace)
6132
+ @value = args[:value] if args.key?(:value)
6133
+ end
6134
+ end
6135
+
6136
+ # Array of guest attribute namespace/key/value tuples.
6137
+ class GuestAttributesValue
6138
+ include Google::Apis::Core::Hashable
6139
+
6140
+ #
6141
+ # Corresponds to the JSON property `items`
6142
+ # @return [Array<Google::Apis::ComputeBeta::GuestAttributesEntry>]
6143
+ attr_accessor :items
6144
+
6145
+ def initialize(**args)
6146
+ update!(**args)
6147
+ end
6148
+
6149
+ # Update properties of this object
6150
+ def update!(**args)
6151
+ @items = args[:items] if args.key?(:items)
6152
+ end
6153
+ end
6154
+
6054
6155
  # Guest OS features.
6055
6156
  class GuestOsFeature
6056
6157
  include Google::Apis::Core::Hashable
@@ -6395,11 +6496,6 @@ module Google
6395
6496
  # @return [String]
6396
6497
  attr_accessor :type
6397
6498
 
6398
- #
6399
- # Corresponds to the JSON property `udpHealthCheck`
6400
- # @return [Google::Apis::ComputeBeta::UdpHealthCheck]
6401
- attr_accessor :udp_health_check
6402
-
6403
6499
  # A so-far healthy instance will be marked unhealthy after this many consecutive
6404
6500
  # failures. The default value is 2.
6405
6501
  # Corresponds to the JSON property `unhealthyThreshold`
@@ -6427,7 +6523,6 @@ module Google
6427
6523
  @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
6428
6524
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
6429
6525
  @type = args[:type] if args.key?(:type)
6430
- @udp_health_check = args[:udp_health_check] if args.key?(:udp_health_check)
6431
6526
  @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
6432
6527
  end
6433
6528
  end
@@ -11853,8 +11948,8 @@ module Google
11853
11948
  # @return [Fixnum]
11854
11949
  attr_accessor :license_code
11855
11950
 
11856
- # [Output Only] Name of the resource. The name is 1-63 characters long and
11857
- # complies with RFC1035.
11951
+ # Name of the resource. The name must be 1-63 characters long and comply with
11952
+ # RFC1035.
11858
11953
  # Corresponds to the JSON property `name`
11859
11954
  # @return [String]
11860
11955
  attr_accessor :name
@@ -12145,15 +12240,16 @@ module Google
12145
12240
  # metric names will have "/iam/policy" prepended.
12146
12241
  # Field names correspond to IAM request parameters and field values are their
12147
12242
  # respective values.
12148
- # At present the only supported field names are - "iam_principal", corresponding
12149
- # to IAMContext.principal; - "" (empty string), resulting in one aggretated
12150
- # counter with no field.
12243
+ # Supported field names: - "authority", which is "[token]" if IAMContext.token
12244
+ # is present, otherwise the value of IAMContext.authority_selector if present,
12245
+ # and otherwise a representation of IAMContext.principal; or - "iam_principal",
12246
+ # a representation of IAMContext.principal even if a token or authority selector
12247
+ # is present; or - "" (empty string), resulting in a counter with no fields.
12151
12248
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
12152
12249
  # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
12153
12250
  # of IAMContext.principal]`
12154
- # At this time we do not support: * multiple field names (though this may be
12155
- # supported in the future) * decrementing the counter * incrementing it by
12156
- # anything other than 1
12251
+ # At this time we do not support multiple field names (though this may be
12252
+ # supported in the future).
12157
12253
  # Corresponds to the JSON property `counter`
12158
12254
  # @return [Google::Apis::ComputeBeta::LogConfigCounterOptions]
12159
12255
  attr_accessor :counter
@@ -12206,15 +12302,16 @@ module Google
12206
12302
  # metric names will have "/iam/policy" prepended.
12207
12303
  # Field names correspond to IAM request parameters and field values are their
12208
12304
  # respective values.
12209
- # At present the only supported field names are - "iam_principal", corresponding
12210
- # to IAMContext.principal; - "" (empty string), resulting in one aggretated
12211
- # counter with no field.
12305
+ # Supported field names: - "authority", which is "[token]" if IAMContext.token
12306
+ # is present, otherwise the value of IAMContext.authority_selector if present,
12307
+ # and otherwise a representation of IAMContext.principal; or - "iam_principal",
12308
+ # a representation of IAMContext.principal even if a token or authority selector
12309
+ # is present; or - "" (empty string), resulting in a counter with no fields.
12212
12310
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
12213
12311
  # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
12214
12312
  # of IAMContext.principal]`
12215
- # At this time we do not support: * multiple field names (though this may be
12216
- # supported in the future) * decrementing the counter * incrementing it by
12217
- # anything other than 1
12313
+ # At this time we do not support multiple field names (though this may be
12314
+ # supported in the future).
12218
12315
  class LogConfigCounterOptions
12219
12316
  include Google::Apis::Core::Hashable
12220
12317
 
@@ -12949,9 +13046,9 @@ module Google
12949
13046
  end
12950
13047
  end
12951
13048
 
12952
- # Represents a Network resource. Read Networks and Firewalls for more
12953
- # information. (== resource_for v1.networks ==) (== resource_for beta.networks ==
12954
- # )
13049
+ # Represents a Network resource. Read Virtual Private Cloud (VPC) Network
13050
+ # Overview for more information. (== resource_for v1.networks ==) (==
13051
+ # resource_for beta.networks ==)
12955
13052
  class Network
12956
13053
  include Google::Apis::Core::Hashable
12957
13054
 
@@ -12962,10 +13059,10 @@ module Google
12962
13059
  # @return [String]
12963
13060
  attr_accessor :i_pv4_range
12964
13061
 
12965
- # When set to true, the network is created in "auto subnet mode". When set to
12966
- # false, the network is in "custom subnet mode".
12967
- # In "auto subnet mode", a newly created network is assigned the default CIDR of
12968
- # 10.128.0.0/9 and it automatically creates one subnetwork per region.
13062
+ # When set to true, the VPC network is created in "auto" mode. When set to false,
13063
+ # the VPC network is created in "custom" mode.
13064
+ # An auto mode VPC network starts with one subnet per region. Each subnet has a
13065
+ # predetermined range as described in Auto mode VPC network IP ranges.
12969
13066
  # Corresponds to the JSON property `autoCreateSubnetworks`
12970
13067
  # @return [Boolean]
12971
13068
  attr_accessor :auto_create_subnetworks
@@ -12982,9 +13079,8 @@ module Google
12982
13079
  # @return [String]
12983
13080
  attr_accessor :description
12984
13081
 
12985
- # A gateway address for default routing to other networks. This value is read
12986
- # only and is selected by the Google Compute Engine, typically as the first
12987
- # usable address in the IPv4Range.
13082
+ # [Output Only] The gateway address for default routing out of the network. This
13083
+ # value is read only and is selected by GCP.
12988
13084
  # Corresponds to the JSON property `gatewayIPv4`
12989
13085
  # @return [String]
12990
13086
  attr_accessor :gateway_i_pv4
@@ -13028,7 +13124,7 @@ module Google
13028
13124
  attr_accessor :self_link
13029
13125
 
13030
13126
  # [Output Only] Server-defined fully-qualified URLs for all subnetworks in this
13031
- # network.
13127
+ # VPC network.
13032
13128
  # Corresponds to the JSON property `subnetworks`
13033
13129
  # @return [Array<String>]
13034
13130
  attr_accessor :subnetworks
@@ -13102,6 +13198,12 @@ module Google
13102
13198
  # @return [String]
13103
13199
  attr_accessor :creation_timestamp
13104
13200
 
13201
+ # The default port used if the port number is not specified in the network
13202
+ # endpoint.
13203
+ # Corresponds to the JSON property `defaultPort`
13204
+ # @return [Fixnum]
13205
+ attr_accessor :default_port
13206
+
13105
13207
  # An optional description of this resource. Provide this property when you
13106
13208
  # create the resource.
13107
13209
  # Corresponds to the JSON property `description`
@@ -13135,6 +13237,12 @@ module Google
13135
13237
  # @return [String]
13136
13238
  attr_accessor :name
13137
13239
 
13240
+ # The URL of the network to which all network endpoints in the NEG belong. Uses "
13241
+ # default" project network if unspecified.
13242
+ # Corresponds to the JSON property `network`
13243
+ # @return [String]
13244
+ attr_accessor :network
13245
+
13138
13246
  # Type of network endpoints in this network endpoint group. Currently the only
13139
13247
  # supported value is GCE_VM_IP_PORT.
13140
13248
  # Corresponds to the JSON property `networkEndpointType`
@@ -13151,6 +13259,17 @@ module Google
13151
13259
  # @return [Fixnum]
13152
13260
  attr_accessor :size
13153
13261
 
13262
+ # Optional URL of the subnetwork to which all network endpoints in the NEG
13263
+ # belong.
13264
+ # Corresponds to the JSON property `subnetwork`
13265
+ # @return [String]
13266
+ attr_accessor :subnetwork
13267
+
13268
+ # [Output Only] The URL of the zone where the network endpoint group is located.
13269
+ # Corresponds to the JSON property `zone`
13270
+ # @return [String]
13271
+ attr_accessor :zone
13272
+
13154
13273
  def initialize(**args)
13155
13274
  update!(**args)
13156
13275
  end
@@ -13158,14 +13277,18 @@ module Google
13158
13277
  # Update properties of this object
13159
13278
  def update!(**args)
13160
13279
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13280
+ @default_port = args[:default_port] if args.key?(:default_port)
13161
13281
  @description = args[:description] if args.key?(:description)
13162
13282
  @id = args[:id] if args.key?(:id)
13163
13283
  @kind = args[:kind] if args.key?(:kind)
13164
13284
  @load_balancer = args[:load_balancer] if args.key?(:load_balancer)
13165
13285
  @name = args[:name] if args.key?(:name)
13286
+ @network = args[:network] if args.key?(:network)
13166
13287
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
13167
13288
  @self_link = args[:self_link] if args.key?(:self_link)
13168
13289
  @size = args[:size] if args.key?(:size)
13290
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
13291
+ @zone = args[:zone] if args.key?(:zone)
13169
13292
  end
13170
13293
  end
13171
13294
 
@@ -14008,9 +14131,9 @@ module Google
14008
14131
  include Google::Apis::Core::Hashable
14009
14132
 
14010
14133
  # The network-wide routing mode to use. If set to REGIONAL, this network's cloud
14011
- # routers will only advertise routes with subnetworks of this network in the
14012
- # same region as the router. If set to GLOBAL, this network's cloud routers will
14013
- # advertise routes with all subnetworks of this network, across regions.
14134
+ # routers will only advertise routes with subnets of this network in the same
14135
+ # region as the router. If set to GLOBAL, this network's cloud routers will
14136
+ # advertise routes with all subnets of this network, across regions.
14014
14137
  # Corresponds to the JSON property `routingMode`
14015
14138
  # @return [String]
14016
14139
  attr_accessor :routing_mode
@@ -18870,6 +18993,11 @@ module Google
18870
18993
  # @return [String]
18871
18994
  attr_accessor :name
18872
18995
 
18996
+ # A list of Nat services created in this router.
18997
+ # Corresponds to the JSON property `nats`
18998
+ # @return [Array<Google::Apis::ComputeBeta::RouterNat>]
18999
+ attr_accessor :nats
19000
+
18873
19001
  # URI of the network to which this router belongs.
18874
19002
  # Corresponds to the JSON property `network`
18875
19003
  # @return [String]
@@ -18901,6 +19029,7 @@ module Google
18901
19029
  @interfaces = args[:interfaces] if args.key?(:interfaces)
18902
19030
  @kind = args[:kind] if args.key?(:kind)
18903
19031
  @name = args[:name] if args.key?(:name)
19032
+ @nats = args[:nats] if args.key?(:nats)
18904
19033
  @network = args[:network] if args.key?(:network)
18905
19034
  @region = args[:region] if args.key?(:region)
18906
19035
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -19357,6 +19486,132 @@ module Google
19357
19486
  end
19358
19487
  end
19359
19488
 
19489
+ # Represents a Nat resource. It enables the VMs within the specified subnetworks
19490
+ # to access Internet without external IP addresses. It specifies a list of
19491
+ # subnetworks (and the ranges within) that want to use NAT. Customers can also
19492
+ # provide the external IPs that would be used for NAT. GCP would auto-allocate
19493
+ # ephemeral IPs if no external IPs are provided.
19494
+ class RouterNat
19495
+ include Google::Apis::Core::Hashable
19496
+
19497
+ # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
19498
+ # Corresponds to the JSON property `icmpIdleTimeoutSec`
19499
+ # @return [Fixnum]
19500
+ attr_accessor :icmp_idle_timeout_sec
19501
+
19502
+ # Minimum number of ports allocated to a VM from this NAT config. If not set, a
19503
+ # default number of ports is allocated to a VM. This gets rounded up to the
19504
+ # nearest power of 2. Eg. if the value of this field is 50, at least 64 ports
19505
+ # will be allocated to a VM.
19506
+ # Corresponds to the JSON property `minPortsPerVm`
19507
+ # @return [Fixnum]
19508
+ attr_accessor :min_ports_per_vm
19509
+
19510
+ # Unique name of this Nat service. The name must be 1-63 characters long and
19511
+ # comply with RFC1035.
19512
+ # Corresponds to the JSON property `name`
19513
+ # @return [String]
19514
+ attr_accessor :name
19515
+
19516
+ # Specify the NatIpAllocateOption. If it is AUTO_ONLY, then nat_ip should be
19517
+ # empty.
19518
+ # Corresponds to the JSON property `natIpAllocateOption`
19519
+ # @return [String]
19520
+ attr_accessor :nat_ip_allocate_option
19521
+
19522
+ # A list of URLs of the IP resources used for this Nat service. These IPs must
19523
+ # be valid static external IP addresses assigned to the project. max_length is
19524
+ # subject to change post alpha.
19525
+ # Corresponds to the JSON property `natIps`
19526
+ # @return [Array<String>]
19527
+ attr_accessor :nat_ips
19528
+
19529
+ # Specify the Nat option. If this field contains ALL_SUBNETWORKS_ALL_IP_RANGES
19530
+ # or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other
19531
+ # Router.Nat section in any Router for this network in this region.
19532
+ # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat`
19533
+ # @return [String]
19534
+ attr_accessor :source_subnetwork_ip_ranges_to_nat
19535
+
19536
+ # A list of Subnetwork resources whose traffic should be translated by NAT
19537
+ # Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the
19538
+ # SubnetworkIpRangeToNatOption above.
19539
+ # Corresponds to the JSON property `subnetworks`
19540
+ # @return [Array<Google::Apis::ComputeBeta::RouterNatSubnetworkToNat>]
19541
+ attr_accessor :subnetworks
19542
+
19543
+ # Timeout (in seconds) for TCP established connections. Defaults to 1200s if not
19544
+ # set.
19545
+ # Corresponds to the JSON property `tcpEstablishedIdleTimeoutSec`
19546
+ # @return [Fixnum]
19547
+ attr_accessor :tcp_established_idle_timeout_sec
19548
+
19549
+ # Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
19550
+ # set.
19551
+ # Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec`
19552
+ # @return [Fixnum]
19553
+ attr_accessor :tcp_transitory_idle_timeout_sec
19554
+
19555
+ # Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
19556
+ # Corresponds to the JSON property `udpIdleTimeoutSec`
19557
+ # @return [Fixnum]
19558
+ attr_accessor :udp_idle_timeout_sec
19559
+
19560
+ def initialize(**args)
19561
+ update!(**args)
19562
+ end
19563
+
19564
+ # Update properties of this object
19565
+ def update!(**args)
19566
+ @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
19567
+ @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
19568
+ @name = args[:name] if args.key?(:name)
19569
+ @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
19570
+ @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
19571
+ @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
19572
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
19573
+ @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
19574
+ @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
19575
+ @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
19576
+ end
19577
+ end
19578
+
19579
+ # Defines the IP ranges that want to use NAT for a subnetwork.
19580
+ class RouterNatSubnetworkToNat
19581
+ include Google::Apis::Core::Hashable
19582
+
19583
+ # URL for the subnetwork resource to use NAT.
19584
+ # Corresponds to the JSON property `name`
19585
+ # @return [String]
19586
+ attr_accessor :name
19587
+
19588
+ # A list of the secondary ranges of the Subnetwork that are allowed to use NAT.
19589
+ # This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the
19590
+ # values in source_ip_ranges_to_nat.
19591
+ # Corresponds to the JSON property `secondaryIpRangeNames`
19592
+ # @return [Array<String>]
19593
+ attr_accessor :secondary_ip_range_names
19594
+
19595
+ # Specify the options for NAT ranges in the Subnetwork. All usages of single
19596
+ # value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option
19597
+ # with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"]
19598
+ # Default: [ALL_IP_RANGES]
19599
+ # Corresponds to the JSON property `sourceIpRangesToNat`
19600
+ # @return [Array<String>]
19601
+ attr_accessor :source_ip_ranges_to_nat
19602
+
19603
+ def initialize(**args)
19604
+ update!(**args)
19605
+ end
19606
+
19607
+ # Update properties of this object
19608
+ def update!(**args)
19609
+ @name = args[:name] if args.key?(:name)
19610
+ @secondary_ip_range_names = args[:secondary_ip_range_names] if args.key?(:secondary_ip_range_names)
19611
+ @source_ip_ranges_to_nat = args[:source_ip_ranges_to_nat] if args.key?(:source_ip_ranges_to_nat)
19612
+ end
19613
+ end
19614
+
19360
19615
  #
19361
19616
  class RouterStatus
19362
19617
  include Google::Apis::Core::Hashable
@@ -19376,6 +19631,11 @@ module Google
19376
19631
  # @return [Array<Google::Apis::ComputeBeta::RouterStatusBgpPeerStatus>]
19377
19632
  attr_accessor :bgp_peer_status
19378
19633
 
19634
+ #
19635
+ # Corresponds to the JSON property `natStatus`
19636
+ # @return [Array<Google::Apis::ComputeBeta::RouterStatusNatStatus>]
19637
+ attr_accessor :nat_status
19638
+
19379
19639
  # URI of the network to which this router belongs.
19380
19640
  # Corresponds to the JSON property `network`
19381
19641
  # @return [String]
@@ -19390,6 +19650,7 @@ module Google
19390
19650
  @best_routes = args[:best_routes] if args.key?(:best_routes)
19391
19651
  @best_routes_for_router = args[:best_routes_for_router] if args.key?(:best_routes_for_router)
19392
19652
  @bgp_peer_status = args[:bgp_peer_status] if args.key?(:bgp_peer_status)
19653
+ @nat_status = args[:nat_status] if args.key?(:nat_status)
19393
19654
  @network = args[:network] if args.key?(:network)
19394
19655
  end
19395
19656
  end
@@ -19468,6 +19729,58 @@ module Google
19468
19729
  end
19469
19730
  end
19470
19731
 
19732
+ # Status of a NAT contained in this router.
19733
+ class RouterStatusNatStatus
19734
+ include Google::Apis::Core::Hashable
19735
+
19736
+ # A list of IPs auto-allocated for NAT. Example: ["1.1.1.1", "129.2.16.89"]
19737
+ # Corresponds to the JSON property `autoAllocatedNatIps`
19738
+ # @return [Array<String>]
19739
+ attr_accessor :auto_allocated_nat_ips
19740
+
19741
+ # The number of extra IPs to allocate. This will be greater than 0 only if user-
19742
+ # specified IPs are NOT enough to allow all configured VMs to use NAT. This
19743
+ # value is meaningful only when auto-allocation of NAT IPs is *not* used.
19744
+ # Corresponds to the JSON property `minExtraNatIpsNeeded`
19745
+ # @return [Fixnum]
19746
+ attr_accessor :min_extra_nat_ips_needed
19747
+
19748
+ # Unique name of this NAT.
19749
+ # Corresponds to the JSON property `name`
19750
+ # @return [String]
19751
+ attr_accessor :name
19752
+
19753
+ # Number of VM endpoints (i.e., Nics) that can use NAT.
19754
+ # Corresponds to the JSON property `numVmEndpointsWithNatMappings`
19755
+ # @return [Fixnum]
19756
+ attr_accessor :num_vm_endpoints_with_nat_mappings
19757
+
19758
+ # A list of fully qualified URLs of reserved IP address resources.
19759
+ # Corresponds to the JSON property `userAllocatedNatIpResources`
19760
+ # @return [Array<String>]
19761
+ attr_accessor :user_allocated_nat_ip_resources
19762
+
19763
+ # A list of IPs user-allocated for NAT. They will be raw IP strings like "179.12.
19764
+ # 26.133".
19765
+ # Corresponds to the JSON property `userAllocatedNatIps`
19766
+ # @return [Array<String>]
19767
+ attr_accessor :user_allocated_nat_ips
19768
+
19769
+ def initialize(**args)
19770
+ update!(**args)
19771
+ end
19772
+
19773
+ # Update properties of this object
19774
+ def update!(**args)
19775
+ @auto_allocated_nat_ips = args[:auto_allocated_nat_ips] if args.key?(:auto_allocated_nat_ips)
19776
+ @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
19777
+ @name = args[:name] if args.key?(:name)
19778
+ @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
19779
+ @user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
19780
+ @user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
19781
+ end
19782
+ end
19783
+
19471
19784
  #
19472
19785
  class RouterStatusResponse
19473
19786
  include Google::Apis::Core::Hashable
@@ -20315,6 +20628,63 @@ module Google
20315
20628
  end
20316
20629
  end
20317
20630
 
20631
+ # A shielded VM identity entry.
20632
+ class ShieldedVmIdentity
20633
+ include Google::Apis::Core::Hashable
20634
+
20635
+ # A Shielded VM Identity Entry.
20636
+ # Corresponds to the JSON property `encryptionKey`
20637
+ # @return [Google::Apis::ComputeBeta::ShieldedVmIdentityEntry]
20638
+ attr_accessor :encryption_key
20639
+
20640
+ # [Output Only] Type of the resource. Always compute#shieldedVmIdentity for
20641
+ # shielded VM identity entry.
20642
+ # Corresponds to the JSON property `kind`
20643
+ # @return [String]
20644
+ attr_accessor :kind
20645
+
20646
+ # A Shielded VM Identity Entry.
20647
+ # Corresponds to the JSON property `signingKey`
20648
+ # @return [Google::Apis::ComputeBeta::ShieldedVmIdentityEntry]
20649
+ attr_accessor :signing_key
20650
+
20651
+ def initialize(**args)
20652
+ update!(**args)
20653
+ end
20654
+
20655
+ # Update properties of this object
20656
+ def update!(**args)
20657
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
20658
+ @kind = args[:kind] if args.key?(:kind)
20659
+ @signing_key = args[:signing_key] if args.key?(:signing_key)
20660
+ end
20661
+ end
20662
+
20663
+ # A Shielded VM Identity Entry.
20664
+ class ShieldedVmIdentityEntry
20665
+ include Google::Apis::Core::Hashable
20666
+
20667
+ #
20668
+ # Corresponds to the JSON property `ekCert`
20669
+ # @return [String]
20670
+ attr_accessor :ek_cert
20671
+
20672
+ #
20673
+ # Corresponds to the JSON property `ekPub`
20674
+ # @return [String]
20675
+ attr_accessor :ek_pub
20676
+
20677
+ def initialize(**args)
20678
+ update!(**args)
20679
+ end
20680
+
20681
+ # Update properties of this object
20682
+ def update!(**args)
20683
+ @ek_cert = args[:ek_cert] if args.key?(:ek_cert)
20684
+ @ek_pub = args[:ek_pub] if args.key?(:ek_pub)
20685
+ end
20686
+ end
20687
+
20318
20688
  # The policy describes the baseline against which VM instance boot integrity is
20319
20689
  # measured.
20320
20690
  class ShieldedVmIntegrityPolicy
@@ -21316,7 +21686,9 @@ module Google
21316
21686
  # @return [String]
21317
21687
  attr_accessor :description
21318
21688
 
21319
- # Whether to enable flow logging for this subnetwork.
21689
+ # Whether to enable flow logging for this subnetwork. If this field is not
21690
+ # explicitly set, it will not appear in get listings. If not set the default
21691
+ # behavior is to disable flow logging.
21320
21692
  # Corresponds to the JSON property `enableFlowLogs`
21321
21693
  # @return [Boolean]
21322
21694
  attr_accessor :enable_flow_logs
@@ -24368,47 +24740,6 @@ module Google
24368
24740
  end
24369
24741
  end
24370
24742
 
24371
- #
24372
- class UdpHealthCheck
24373
- include Google::Apis::Core::Hashable
24374
-
24375
- # The UDP port number for the health check request. Valid values are 1 through
24376
- # 65535.
24377
- # Corresponds to the JSON property `port`
24378
- # @return [Fixnum]
24379
- attr_accessor :port
24380
-
24381
- # Port name as defined in InstanceGroup#NamedPort#name. If both port and
24382
- # port_name are defined, port takes precedence.
24383
- # Corresponds to the JSON property `portName`
24384
- # @return [String]
24385
- attr_accessor :port_name
24386
-
24387
- # Raw data of request to send in payload of UDP packet. It is an error if this
24388
- # is empty. The request data can only be ASCII.
24389
- # Corresponds to the JSON property `request`
24390
- # @return [String]
24391
- attr_accessor :request
24392
-
24393
- # The bytes to match against the beginning of the response data. It is an error
24394
- # if this is empty. The response data can only be ASCII.
24395
- # Corresponds to the JSON property `response`
24396
- # @return [String]
24397
- attr_accessor :response
24398
-
24399
- def initialize(**args)
24400
- update!(**args)
24401
- end
24402
-
24403
- # Update properties of this object
24404
- def update!(**args)
24405
- @port = args[:port] if args.key?(:port)
24406
- @port_name = args[:port_name] if args.key?(:port_name)
24407
- @request = args[:request] if args.key?(:request)
24408
- @response = args[:response] if args.key?(:response)
24409
- end
24410
- end
24411
-
24412
24743
  # A UrlMap resource. This resource defines the mapping from URL to the
24413
24744
  # BackendService resource, based on the "longest-match" of the URL's host and
24414
24745
  # path.
@@ -24975,6 +25306,191 @@ module Google
24975
25306
  end
24976
25307
  end
24977
25308
 
25309
+ # Contain information of Nat mapping for a VM endpoint (i.e., NIC).
25310
+ class VmEndpointNatMappings
25311
+ include Google::Apis::Core::Hashable
25312
+
25313
+ # Name of the VM instance which the endpoint belongs to
25314
+ # Corresponds to the JSON property `instanceName`
25315
+ # @return [String]
25316
+ attr_accessor :instance_name
25317
+
25318
+ #
25319
+ # Corresponds to the JSON property `interfaceNatMappings`
25320
+ # @return [Array<Google::Apis::ComputeBeta::VmEndpointNatMappingsInterfaceNatMappings>]
25321
+ attr_accessor :interface_nat_mappings
25322
+
25323
+ def initialize(**args)
25324
+ update!(**args)
25325
+ end
25326
+
25327
+ # Update properties of this object
25328
+ def update!(**args)
25329
+ @instance_name = args[:instance_name] if args.key?(:instance_name)
25330
+ @interface_nat_mappings = args[:interface_nat_mappings] if args.key?(:interface_nat_mappings)
25331
+ end
25332
+ end
25333
+
25334
+ # Contain information of Nat mapping for an interface of this endpoint.
25335
+ class VmEndpointNatMappingsInterfaceNatMappings
25336
+ include Google::Apis::Core::Hashable
25337
+
25338
+ # A list of all IP:port-range mappings assigned to this interface. These ranges
25339
+ # are inclusive, that is, both the first and the last ports can be used for NAT.
25340
+ # Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
25341
+ # Corresponds to the JSON property `natIpPortRanges`
25342
+ # @return [Array<String>]
25343
+ attr_accessor :nat_ip_port_ranges
25344
+
25345
+ # Total number of ports across all NAT IPs allocated to this interface. It
25346
+ # equals to the aggregated port number in the field nat_ip_port_ranges.
25347
+ # Corresponds to the JSON property `numTotalNatPorts`
25348
+ # @return [Fixnum]
25349
+ attr_accessor :num_total_nat_ports
25350
+
25351
+ # Alias IP range for this interface endpoint. It will be a private (RFC 1918) IP
25352
+ # range. Examples: "10.33.4.55/32", or "192.168.5.0/24".
25353
+ # Corresponds to the JSON property `sourceAliasIpRange`
25354
+ # @return [String]
25355
+ attr_accessor :source_alias_ip_range
25356
+
25357
+ # Primary IP of the VM for this NIC.
25358
+ # Corresponds to the JSON property `sourceVirtualIp`
25359
+ # @return [String]
25360
+ attr_accessor :source_virtual_ip
25361
+
25362
+ def initialize(**args)
25363
+ update!(**args)
25364
+ end
25365
+
25366
+ # Update properties of this object
25367
+ def update!(**args)
25368
+ @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
25369
+ @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
25370
+ @source_alias_ip_range = args[:source_alias_ip_range] if args.key?(:source_alias_ip_range)
25371
+ @source_virtual_ip = args[:source_virtual_ip] if args.key?(:source_virtual_ip)
25372
+ end
25373
+ end
25374
+
25375
+ # Contains a list of VmEndpointNatMappings.
25376
+ class VmEndpointNatMappingsList
25377
+ include Google::Apis::Core::Hashable
25378
+
25379
+ # [Output Only] The unique identifier for the resource. This identifier is
25380
+ # defined by the server.
25381
+ # Corresponds to the JSON property `id`
25382
+ # @return [String]
25383
+ attr_accessor :id
25384
+
25385
+ # [Output Only] Type of resource. Always compute#vmEndpointNatMappingsList for
25386
+ # lists of Nat mappings of VM endpoints.
25387
+ # Corresponds to the JSON property `kind`
25388
+ # @return [String]
25389
+ attr_accessor :kind
25390
+
25391
+ # [Output Only] This token allows you to get the next page of results for list
25392
+ # requests. If the number of results is larger than maxResults, use the
25393
+ # nextPageToken as a value for the query parameter pageToken in the next list
25394
+ # request. Subsequent list requests will have their own nextPageToken to
25395
+ # continue paging through the results.
25396
+ # Corresponds to the JSON property `nextPageToken`
25397
+ # @return [String]
25398
+ attr_accessor :next_page_token
25399
+
25400
+ # [Output Only] A list of Nat mapping information of VM endpoints.
25401
+ # Corresponds to the JSON property `result`
25402
+ # @return [Array<Google::Apis::ComputeBeta::VmEndpointNatMappings>]
25403
+ attr_accessor :result
25404
+
25405
+ # [Output Only] Server-defined URL for this resource.
25406
+ # Corresponds to the JSON property `selfLink`
25407
+ # @return [String]
25408
+ attr_accessor :self_link
25409
+
25410
+ # [Output Only] Informational warning message.
25411
+ # Corresponds to the JSON property `warning`
25412
+ # @return [Google::Apis::ComputeBeta::VmEndpointNatMappingsList::Warning]
25413
+ attr_accessor :warning
25414
+
25415
+ def initialize(**args)
25416
+ update!(**args)
25417
+ end
25418
+
25419
+ # Update properties of this object
25420
+ def update!(**args)
25421
+ @id = args[:id] if args.key?(:id)
25422
+ @kind = args[:kind] if args.key?(:kind)
25423
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
25424
+ @result = args[:result] if args.key?(:result)
25425
+ @self_link = args[:self_link] if args.key?(:self_link)
25426
+ @warning = args[:warning] if args.key?(:warning)
25427
+ end
25428
+
25429
+ # [Output Only] Informational warning message.
25430
+ class Warning
25431
+ include Google::Apis::Core::Hashable
25432
+
25433
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25434
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25435
+ # Corresponds to the JSON property `code`
25436
+ # @return [String]
25437
+ attr_accessor :code
25438
+
25439
+ # [Output Only] Metadata about this warning in key: value format. For example:
25440
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25441
+ # Corresponds to the JSON property `data`
25442
+ # @return [Array<Google::Apis::ComputeBeta::VmEndpointNatMappingsList::Warning::Datum>]
25443
+ attr_accessor :data
25444
+
25445
+ # [Output Only] A human-readable description of the warning code.
25446
+ # Corresponds to the JSON property `message`
25447
+ # @return [String]
25448
+ attr_accessor :message
25449
+
25450
+ def initialize(**args)
25451
+ update!(**args)
25452
+ end
25453
+
25454
+ # Update properties of this object
25455
+ def update!(**args)
25456
+ @code = args[:code] if args.key?(:code)
25457
+ @data = args[:data] if args.key?(:data)
25458
+ @message = args[:message] if args.key?(:message)
25459
+ end
25460
+
25461
+ #
25462
+ class Datum
25463
+ include Google::Apis::Core::Hashable
25464
+
25465
+ # [Output Only] A key that provides more detail on the warning being returned.
25466
+ # For example, for warnings where there are no results in a list request for a
25467
+ # particular zone, this key might be scope and the key value might be the zone
25468
+ # name. Other examples might be a key indicating a deprecated resource and a
25469
+ # suggested replacement, or a warning about invalid network settings (for
25470
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25471
+ # for IP forwarding).
25472
+ # Corresponds to the JSON property `key`
25473
+ # @return [String]
25474
+ attr_accessor :key
25475
+
25476
+ # [Output Only] A warning data value corresponding to the key.
25477
+ # Corresponds to the JSON property `value`
25478
+ # @return [String]
25479
+ attr_accessor :value
25480
+
25481
+ def initialize(**args)
25482
+ update!(**args)
25483
+ end
25484
+
25485
+ # Update properties of this object
25486
+ def update!(**args)
25487
+ @key = args[:key] if args.key?(:key)
25488
+ @value = args[:value] if args.key?(:value)
25489
+ end
25490
+ end
25491
+ end
25492
+ end
25493
+
24978
25494
  # VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for v1.
24979
25495
  # vpnTunnels ==)
24980
25496
  class VpnTunnel