google-api-client 0.24.2 → 0.24.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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