google-cloud-compute-v1 2.14.0 → 2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +37 -1
  3. data/lib/google/cloud/compute/v1/accelerator_types/rest/client.rb +36 -4
  4. data/lib/google/cloud/compute/v1/accelerator_types/rest/service_stub.rb +38 -20
  5. data/lib/google/cloud/compute/v1/addresses/rest/client.rb +40 -8
  6. data/lib/google/cloud/compute/v1/addresses/rest/service_stub.rb +70 -44
  7. data/lib/google/cloud/compute/v1/autoscalers/rest/client.rb +40 -8
  8. data/lib/google/cloud/compute/v1/autoscalers/rest/service_stub.rb +70 -44
  9. data/lib/google/cloud/compute/v1/backend_buckets/rest/client.rb +42 -13
  10. data/lib/google/cloud/compute/v1/backend_buckets/rest/service_stub.rb +110 -74
  11. data/lib/google/cloud/compute/v1/backend_services/rest/client.rb +45 -17
  12. data/lib/google/cloud/compute/v1/backend_services/rest/service_stub.rb +142 -98
  13. data/lib/google/cloud/compute/v1/compute_pb.rb +57 -2
  14. data/lib/google/cloud/compute/v1/disk_types/rest/client.rb +36 -4
  15. data/lib/google/cloud/compute/v1/disk_types/rest/service_stub.rb +38 -20
  16. data/lib/google/cloud/compute/v1/disks/rest/client.rb +48 -19
  17. data/lib/google/cloud/compute/v1/disks/rest/service_stub.rb +158 -110
  18. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/client.rb +38 -7
  19. data/lib/google/cloud/compute/v1/external_vpn_gateways/rest/service_stub.rb +62 -38
  20. data/lib/google/cloud/compute/v1/firewall_policies/rest/client.rb +45 -19
  21. data/lib/google/cloud/compute/v1/firewall_policies/rest/service_stub.rb +158 -110
  22. data/lib/google/cloud/compute/v1/firewalls/rest/client.rb +39 -7
  23. data/lib/google/cloud/compute/v1/firewalls/rest/service_stub.rb +62 -38
  24. data/lib/google/cloud/compute/v1/forwarding_rules/rest/client.rb +41 -9
  25. data/lib/google/cloud/compute/v1/forwarding_rules/rest/service_stub.rb +78 -50
  26. data/lib/google/cloud/compute/v1/global_addresses/rest/client.rb +39 -7
  27. data/lib/google/cloud/compute/v1/global_addresses/rest/service_stub.rb +62 -38
  28. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/client.rb +40 -8
  29. data/lib/google/cloud/compute/v1/global_forwarding_rules/rest/service_stub.rb +70 -44
  30. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/client.rb +40 -8
  31. data/lib/google/cloud/compute/v1/global_network_endpoint_groups/rest/service_stub.rb +70 -44
  32. data/lib/google/cloud/compute/v1/global_operations/rest/client.rb +36 -6
  33. data/lib/google/cloud/compute/v1/global_operations/rest/service_stub.rb +54 -32
  34. data/lib/google/cloud/compute/v1/global_organization_operations/rest/client.rb +35 -4
  35. data/lib/google/cloud/compute/v1/global_organization_operations/rest/service_stub.rb +38 -20
  36. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/client.rb +38 -6
  37. data/lib/google/cloud/compute/v1/global_public_delegated_prefixes/rest/service_stub.rb +54 -32
  38. data/lib/google/cloud/compute/v1/health_checks/rest/client.rb +40 -8
  39. data/lib/google/cloud/compute/v1/health_checks/rest/service_stub.rb +70 -44
  40. data/lib/google/cloud/compute/v1/image_family_views/rest/client.rb +34 -2
  41. data/lib/google/cloud/compute/v1/image_family_views/rest/service_stub.rb +22 -8
  42. data/lib/google/cloud/compute/v1/images/rest/client.rb +40 -12
  43. data/lib/google/cloud/compute/v1/images/rest/service_stub.rb +102 -68
  44. data/lib/google/cloud/compute/v1/instance_group_manager_resize_requests/rest/client.rb +38 -6
  45. data/lib/google/cloud/compute/v1/instance_group_manager_resize_requests/rest/service_stub.rb +54 -32
  46. data/lib/google/cloud/compute/v1/instance_group_managers/rest/client.rb +473 -21
  47. data/lib/google/cloud/compute/v1/instance_group_managers/rest/service_stub.rb +428 -120
  48. data/lib/google/cloud/compute/v1/instance_groups/rest/client.rb +42 -10
  49. data/lib/google/cloud/compute/v1/instance_groups/rest/service_stub.rb +86 -56
  50. data/lib/google/cloud/compute/v1/instance_settings_service/rest/client.rb +35 -3
  51. data/lib/google/cloud/compute/v1/instance_settings_service/rest/service_stub.rb +30 -14
  52. data/lib/google/cloud/compute/v1/instance_templates/rest/client.rb +38 -9
  53. data/lib/google/cloud/compute/v1/instance_templates/rest/service_stub.rb +78 -50
  54. data/lib/google/cloud/compute/v1/instances/rest/client.rb +73 -50
  55. data/lib/google/cloud/compute/v1/instances/rest/service_stub.rb +398 -290
  56. data/lib/google/cloud/compute/v1/instant_snapshots/rest/client.rb +39 -10
  57. data/lib/google/cloud/compute/v1/instant_snapshots/rest/service_stub.rb +86 -56
  58. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/client.rb +40 -8
  59. data/lib/google/cloud/compute/v1/interconnect_attachments/rest/service_stub.rb +70 -44
  60. data/lib/google/cloud/compute/v1/interconnect_locations/rest/client.rb +35 -3
  61. data/lib/google/cloud/compute/v1/interconnect_locations/rest/service_stub.rb +30 -14
  62. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest/client.rb +35 -3
  63. data/lib/google/cloud/compute/v1/interconnect_remote_locations/rest/service_stub.rb +30 -14
  64. data/lib/google/cloud/compute/v1/interconnects/rest/client.rb +39 -9
  65. data/lib/google/cloud/compute/v1/interconnects/rest/service_stub.rb +78 -50
  66. data/lib/google/cloud/compute/v1/license_codes/rest/client.rb +34 -3
  67. data/lib/google/cloud/compute/v1/license_codes/rest/service_stub.rb +30 -14
  68. data/lib/google/cloud/compute/v1/licenses/rest/client.rb +37 -8
  69. data/lib/google/cloud/compute/v1/licenses/rest/service_stub.rb +70 -44
  70. data/lib/google/cloud/compute/v1/machine_images/rest/client.rb +37 -8
  71. data/lib/google/cloud/compute/v1/machine_images/rest/service_stub.rb +70 -44
  72. data/lib/google/cloud/compute/v1/machine_types/rest/client.rb +36 -4
  73. data/lib/google/cloud/compute/v1/machine_types/rest/service_stub.rb +38 -20
  74. data/lib/google/cloud/compute/v1/network_attachments/rest/client.rb +39 -10
  75. data/lib/google/cloud/compute/v1/network_attachments/rest/service_stub.rb +86 -56
  76. data/lib/google/cloud/compute/v1/network_edge_security_services/rest/client.rb +38 -6
  77. data/lib/google/cloud/compute/v1/network_edge_security_services/rest/service_stub.rb +54 -32
  78. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/client.rb +41 -10
  79. data/lib/google/cloud/compute/v1/network_endpoint_groups/rest/service_stub.rb +86 -56
  80. data/lib/google/cloud/compute/v1/network_firewall_policies/rest/client.rb +150 -17
  81. data/lib/google/cloud/compute/v1/network_firewall_policies/rest/service_stub.rb +202 -97
  82. data/lib/google/cloud/compute/v1/network_profiles/credentials.rb +53 -0
  83. data/lib/google/cloud/compute/v1/network_profiles/rest/client.rb +529 -0
  84. data/lib/google/cloud/compute/v1/network_profiles/rest/service_stub.rb +204 -0
  85. data/lib/google/cloud/compute/v1/network_profiles/rest.rb +51 -0
  86. data/lib/google/cloud/compute/v1/network_profiles.rb +47 -0
  87. data/lib/google/cloud/compute/v1/networks/rest/client.rb +43 -12
  88. data/lib/google/cloud/compute/v1/networks/rest/service_stub.rb +102 -68
  89. data/lib/google/cloud/compute/v1/node_groups/rest/client.rb +45 -16
  90. data/lib/google/cloud/compute/v1/node_groups/rest/service_stub.rb +134 -92
  91. data/lib/google/cloud/compute/v1/node_templates/rest/client.rb +38 -9
  92. data/lib/google/cloud/compute/v1/node_templates/rest/service_stub.rb +78 -50
  93. data/lib/google/cloud/compute/v1/node_types/rest/client.rb +36 -4
  94. data/lib/google/cloud/compute/v1/node_types/rest/service_stub.rb +38 -20
  95. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/client.rb +39 -8
  96. data/lib/google/cloud/compute/v1/packet_mirrorings/rest/service_stub.rb +70 -44
  97. data/lib/google/cloud/compute/v1/projects/rest/client.rb +46 -15
  98. data/lib/google/cloud/compute/v1/projects/rest/service_stub.rb +126 -86
  99. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/client.rb +40 -8
  100. data/lib/google/cloud/compute/v1/public_advertised_prefixes/rest/service_stub.rb +70 -44
  101. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/client.rb +41 -9
  102. data/lib/google/cloud/compute/v1/public_delegated_prefixes/rest/service_stub.rb +78 -50
  103. data/lib/google/cloud/compute/v1/region_autoscalers/rest/client.rb +39 -7
  104. data/lib/google/cloud/compute/v1/region_autoscalers/rest/service_stub.rb +62 -38
  105. data/lib/google/cloud/compute/v1/region_backend_services/rest/client.rb +41 -13
  106. data/lib/google/cloud/compute/v1/region_backend_services/rest/service_stub.rb +110 -74
  107. data/lib/google/cloud/compute/v1/region_commitments/rest/client.rb +38 -6
  108. data/lib/google/cloud/compute/v1/region_commitments/rest/service_stub.rb +54 -32
  109. data/lib/google/cloud/compute/v1/region_disk_types/rest/client.rb +35 -3
  110. data/lib/google/cloud/compute/v1/region_disk_types/rest/service_stub.rb +30 -14
  111. data/lib/google/cloud/compute/v1/region_disks/rest/client.rb +47 -18
  112. data/lib/google/cloud/compute/v1/region_disks/rest/service_stub.rb +150 -104
  113. data/lib/google/cloud/compute/v1/region_health_check_services/rest/client.rb +38 -6
  114. data/lib/google/cloud/compute/v1/region_health_check_services/rest/service_stub.rb +54 -32
  115. data/lib/google/cloud/compute/v1/region_health_checks/rest/client.rb +39 -7
  116. data/lib/google/cloud/compute/v1/region_health_checks/rest/service_stub.rb +62 -38
  117. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/client.rb +472 -20
  118. data/lib/google/cloud/compute/v1/region_instance_group_managers/rest/service_stub.rb +420 -114
  119. data/lib/google/cloud/compute/v1/region_instance_groups/rest/client.rb +37 -5
  120. data/lib/google/cloud/compute/v1/region_instance_groups/rest/service_stub.rb +46 -26
  121. data/lib/google/cloud/compute/v1/region_instance_templates/rest/client.rb +37 -5
  122. data/lib/google/cloud/compute/v1/region_instance_templates/rest/service_stub.rb +46 -26
  123. data/lib/google/cloud/compute/v1/region_instances/rest/client.rb +35 -2
  124. data/lib/google/cloud/compute/v1/region_instances/rest/service_stub.rb +22 -8
  125. data/lib/google/cloud/compute/v1/region_instant_snapshots/rest/client.rb +38 -9
  126. data/lib/google/cloud/compute/v1/region_instant_snapshots/rest/service_stub.rb +78 -50
  127. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/client.rb +40 -8
  128. data/lib/google/cloud/compute/v1/region_network_endpoint_groups/rest/service_stub.rb +70 -44
  129. data/lib/google/cloud/compute/v1/region_network_firewall_policies/rest/client.rb +44 -18
  130. data/lib/google/cloud/compute/v1/region_network_firewall_policies/rest/service_stub.rb +150 -104
  131. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/client.rb +37 -5
  132. data/lib/google/cloud/compute/v1/region_notification_endpoints/rest/service_stub.rb +46 -26
  133. data/lib/google/cloud/compute/v1/region_operations/rest/client.rb +35 -5
  134. data/lib/google/cloud/compute/v1/region_operations/rest/service_stub.rb +46 -26
  135. data/lib/google/cloud/compute/v1/region_security_policies/rest/client.rb +146 -10
  136. data/lib/google/cloud/compute/v1/region_security_policies/rest/service_stub.rb +149 -55
  137. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/client.rb +37 -5
  138. data/lib/google/cloud/compute/v1/region_ssl_certificates/rest/service_stub.rb +46 -26
  139. data/lib/google/cloud/compute/v1/region_ssl_policies/rest/client.rb +38 -7
  140. data/lib/google/cloud/compute/v1/region_ssl_policies/rest/service_stub.rb +62 -38
  141. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/client.rb +38 -6
  142. data/lib/google/cloud/compute/v1/region_target_http_proxies/rest/service_stub.rb +54 -32
  143. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/client.rb +40 -8
  144. data/lib/google/cloud/compute/v1/region_target_https_proxies/rest/service_stub.rb +70 -44
  145. data/lib/google/cloud/compute/v1/region_target_tcp_proxies/rest/client.rb +37 -5
  146. data/lib/google/cloud/compute/v1/region_target_tcp_proxies/rest/service_stub.rb +46 -26
  147. data/lib/google/cloud/compute/v1/region_url_maps/rest/client.rb +39 -8
  148. data/lib/google/cloud/compute/v1/region_url_maps/rest/service_stub.rb +70 -44
  149. data/lib/google/cloud/compute/v1/region_zones/rest/client.rb +35 -2
  150. data/lib/google/cloud/compute/v1/region_zones/rest/service_stub.rb +22 -8
  151. data/lib/google/cloud/compute/v1/regions/rest/client.rb +35 -3
  152. data/lib/google/cloud/compute/v1/regions/rest/service_stub.rb +30 -14
  153. data/lib/google/cloud/compute/v1/reservations/rest/client.rb +40 -11
  154. data/lib/google/cloud/compute/v1/reservations/rest/service_stub.rb +94 -62
  155. data/lib/google/cloud/compute/v1/resource_policies/rest/client.rb +39 -10
  156. data/lib/google/cloud/compute/v1/resource_policies/rest/service_stub.rb +86 -56
  157. data/lib/google/cloud/compute/v1/rest.rb +1 -0
  158. data/lib/google/cloud/compute/v1/routers/rest/client.rb +41 -12
  159. data/lib/google/cloud/compute/v1/routers/rest/service_stub.rb +102 -68
  160. data/lib/google/cloud/compute/v1/routes/rest/client.rb +37 -5
  161. data/lib/google/cloud/compute/v1/routes/rest/service_stub.rb +46 -26
  162. data/lib/google/cloud/compute/v1/security_policies/rest/client.rb +43 -13
  163. data/lib/google/cloud/compute/v1/security_policies/rest/service_stub.rb +110 -74
  164. data/lib/google/cloud/compute/v1/service_attachments/rest/client.rb +39 -10
  165. data/lib/google/cloud/compute/v1/service_attachments/rest/service_stub.rb +86 -56
  166. data/lib/google/cloud/compute/v1/snapshot_settings_service/rest/client.rb +35 -3
  167. data/lib/google/cloud/compute/v1/snapshot_settings_service/rest/service_stub.rb +30 -14
  168. data/lib/google/cloud/compute/v1/snapshots/rest/client.rb +38 -9
  169. data/lib/google/cloud/compute/v1/snapshots/rest/service_stub.rb +78 -50
  170. data/lib/google/cloud/compute/v1/ssl_certificates/rest/client.rb +38 -6
  171. data/lib/google/cloud/compute/v1/ssl_certificates/rest/service_stub.rb +54 -32
  172. data/lib/google/cloud/compute/v1/ssl_policies/rest/client.rb +39 -8
  173. data/lib/google/cloud/compute/v1/ssl_policies/rest/service_stub.rb +70 -44
  174. data/lib/google/cloud/compute/v1/storage_pool_types/rest/client.rb +36 -4
  175. data/lib/google/cloud/compute/v1/storage_pool_types/rest/service_stub.rb +38 -20
  176. data/lib/google/cloud/compute/v1/storage_pools/rest/client.rb +38 -11
  177. data/lib/google/cloud/compute/v1/storage_pools/rest/service_stub.rb +94 -62
  178. data/lib/google/cloud/compute/v1/subnetworks/rest/client.rb +42 -13
  179. data/lib/google/cloud/compute/v1/subnetworks/rest/service_stub.rb +110 -74
  180. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/client.rb +38 -6
  181. data/lib/google/cloud/compute/v1/target_grpc_proxies/rest/service_stub.rb +54 -32
  182. data/lib/google/cloud/compute/v1/target_http_proxies/rest/client.rb +40 -8
  183. data/lib/google/cloud/compute/v1/target_http_proxies/rest/service_stub.rb +70 -44
  184. data/lib/google/cloud/compute/v1/target_https_proxies/rest/client.rb +44 -12
  185. data/lib/google/cloud/compute/v1/target_https_proxies/rest/service_stub.rb +102 -68
  186. data/lib/google/cloud/compute/v1/target_instances/rest/client.rb +39 -7
  187. data/lib/google/cloud/compute/v1/target_instances/rest/service_stub.rb +62 -38
  188. data/lib/google/cloud/compute/v1/target_pools/rest/client.rb +44 -13
  189. data/lib/google/cloud/compute/v1/target_pools/rest/service_stub.rb +110 -74
  190. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/client.rb +42 -10
  191. data/lib/google/cloud/compute/v1/target_ssl_proxies/rest/service_stub.rb +86 -56
  192. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/client.rb +40 -8
  193. data/lib/google/cloud/compute/v1/target_tcp_proxies/rest/service_stub.rb +70 -44
  194. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/client.rb +39 -7
  195. data/lib/google/cloud/compute/v1/target_vpn_gateways/rest/service_stub.rb +62 -38
  196. data/lib/google/cloud/compute/v1/url_maps/rest/client.rb +41 -10
  197. data/lib/google/cloud/compute/v1/url_maps/rest/service_stub.rb +86 -56
  198. data/lib/google/cloud/compute/v1/version.rb +1 -1
  199. data/lib/google/cloud/compute/v1/vpn_gateways/rest/client.rb +39 -9
  200. data/lib/google/cloud/compute/v1/vpn_gateways/rest/service_stub.rb +78 -50
  201. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/client.rb +39 -7
  202. data/lib/google/cloud/compute/v1/vpn_tunnels/rest/service_stub.rb +62 -38
  203. data/lib/google/cloud/compute/v1/zone_operations/rest/client.rb +35 -5
  204. data/lib/google/cloud/compute/v1/zone_operations/rest/service_stub.rb +46 -26
  205. data/lib/google/cloud/compute/v1/zones/rest/client.rb +35 -3
  206. data/lib/google/cloud/compute/v1/zones/rest/service_stub.rb +30 -14
  207. data/lib/google/cloud/compute/v1.rb +1 -0
  208. data/proto_docs/google/api/client.rb +19 -0
  209. data/proto_docs/google/cloud/compute/v1/compute.rb +1010 -55
  210. metadata +11 -9
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: false,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the delete REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "delete",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "get",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::Compute::V1::NotificationEndpoint.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##
@@ -163,16 +179,18 @@ module Google
163
179
 
164
180
  response = @client_stub.make_http_request(
165
181
  verb,
166
- uri: uri,
167
- body: body || "",
168
- params: query_string_params,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "insert",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
173
-
174
- yield result, operation if block_given?
175
- result
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
176
194
  end
177
195
 
178
196
  ##
@@ -201,16 +219,18 @@ module Google
201
219
 
202
220
  response = @client_stub.make_http_request(
203
221
  verb,
204
- uri: uri,
205
- body: body || "",
206
- params: query_string_params,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "list",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Cloud::Compute::V1::NotificationEndpointList.decode_json response.body, ignore_unknown_fields: true
211
-
212
- yield result, operation if block_given?
213
- result
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
214
234
  end
215
235
 
216
236
  ##
@@ -162,8 +162,28 @@ module Google
162
162
  endpoint: @config.endpoint,
163
163
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
164
164
  universe_domain: @config.universe_domain,
165
- credentials: credentials
165
+ credentials: credentials,
166
+ logger: @config.logger
166
167
  )
168
+
169
+ @region_operations_stub.logger(stub: true)&.info do |entry|
170
+ entry.set_system_name
171
+ entry.set_service
172
+ entry.message = "Created client for #{entry.service}"
173
+ entry.set_credentials_fields credentials
174
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
175
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
176
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
177
+ end
178
+ end
179
+
180
+ ##
181
+ # The logger used for request/response debug logging.
182
+ #
183
+ # @return [Logger]
184
+ #
185
+ def logger
186
+ @region_operations_stub.logger
167
187
  end
168
188
 
169
189
  # Service calls
@@ -245,7 +265,6 @@ module Google
245
265
 
246
266
  @region_operations_stub.delete request, options do |result, operation|
247
267
  yield result, operation if block_given?
248
- return result
249
268
  end
250
269
  rescue ::Gapic::Rest::Error => e
251
270
  raise ::Google::Cloud::Error.from_error(e)
@@ -328,7 +347,6 @@ module Google
328
347
 
329
348
  @region_operations_stub.get request, options do |result, operation|
330
349
  yield result, operation if block_given?
331
- return result
332
350
  end
333
351
  rescue ::Gapic::Rest::Error => e
334
352
  raise ::Google::Cloud::Error.from_error(e)
@@ -420,7 +438,7 @@ module Google
420
438
  @region_operations_stub.list request, options do |result, operation|
421
439
  result = ::Gapic::Rest::PagedEnumerable.new @region_operations_stub, :list, "items", request, result, options
422
440
  yield result, operation if block_given?
423
- return result
441
+ throw :response, result
424
442
  end
425
443
  rescue ::Gapic::Rest::Error => e
426
444
  raise ::Google::Cloud::Error.from_error(e)
@@ -503,7 +521,6 @@ module Google
503
521
 
504
522
  @region_operations_stub.wait request, options do |result, operation|
505
523
  yield result, operation if block_given?
506
- return result
507
524
  end
508
525
  rescue ::Gapic::Rest::Error => e
509
526
  raise ::Google::Cloud::Error.from_error(e)
@@ -551,6 +568,13 @@ module Google
551
568
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
552
569
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
553
570
  # * (`nil`) indicating no credentials
571
+ #
572
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
573
+ # external source for authentication to Google Cloud, you must validate it before
574
+ # providing it to a Google API client library. Providing an unvalidated credential
575
+ # configuration to Google APIs can compromise the security of your systems and data.
576
+ # For more information, refer to [Validate credential configurations from external
577
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
554
578
  # @return [::Object]
555
579
  # @!attribute [rw] scope
556
580
  # The OAuth scopes
@@ -583,6 +607,11 @@ module Google
583
607
  # default endpoint URL. The default value of nil uses the environment
584
608
  # universe (usually the default "googleapis.com" universe).
585
609
  # @return [::String,nil]
610
+ # @!attribute [rw] logger
611
+ # A custom logger to use for request/response debug logging, or the value
612
+ # `:default` (the default) to construct a default logger, or `nil` to
613
+ # explicitly disable logging.
614
+ # @return [::Logger,:default,nil]
586
615
  #
587
616
  class Configuration
588
617
  extend ::Gapic::Config
@@ -604,6 +633,7 @@ module Google
604
633
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
605
634
  config_attr :quota_project, nil, ::String, nil
606
635
  config_attr :universe_domain, nil, ::String, nil
636
+ config_attr :logger, :default, ::Logger, nil, :default
607
637
 
608
638
  # @private
609
639
  def initialize parent_config = nil
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: false,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the delete REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "delete",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::Compute::V1::DeleteRegionOperationResponse.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "get",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##
@@ -163,16 +179,18 @@ module Google
163
179
 
164
180
  response = @client_stub.make_http_request(
165
181
  verb,
166
- uri: uri,
167
- body: body || "",
168
- params: query_string_params,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "list",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Cloud::Compute::V1::OperationList.decode_json response.body, ignore_unknown_fields: true
173
-
174
- yield result, operation if block_given?
175
- result
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
176
194
  end
177
195
 
178
196
  ##
@@ -201,16 +219,18 @@ module Google
201
219
 
202
220
  response = @client_stub.make_http_request(
203
221
  verb,
204
- uri: uri,
205
- body: body || "",
206
- params: query_string_params,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "wait",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true
211
-
212
- yield result, operation if block_given?
213
- result
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
214
234
  end
215
235
 
216
236
  ##
@@ -98,6 +98,8 @@ module Google
98
98
 
99
99
  default_config.rpcs.remove_rule.timeout = 600.0
100
100
 
101
+ default_config.rpcs.set_labels.timeout = 600.0
102
+
101
103
  default_config
102
104
  end
103
105
  yield @configure if block_given?
@@ -183,8 +185,19 @@ module Google
183
185
  endpoint: @config.endpoint,
184
186
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
185
187
  universe_domain: @config.universe_domain,
186
- credentials: credentials
188
+ credentials: credentials,
189
+ logger: @config.logger
187
190
  )
191
+
192
+ @region_security_policies_stub.logger(stub: true)&.info do |entry|
193
+ entry.set_system_name
194
+ entry.set_service
195
+ entry.message = "Created client for #{entry.service}"
196
+ entry.set_credentials_fields credentials
197
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
198
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
199
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
200
+ end
188
201
  end
189
202
 
190
203
  ##
@@ -194,6 +207,15 @@ module Google
194
207
  #
195
208
  attr_reader :region_operations
196
209
 
210
+ ##
211
+ # The logger used for request/response debug logging.
212
+ #
213
+ # @return [Logger]
214
+ #
215
+ def logger
216
+ @region_security_policies_stub.logger
217
+ end
218
+
197
219
  # Service calls
198
220
 
199
221
  ##
@@ -286,7 +308,7 @@ module Google
286
308
  options: options
287
309
  )
288
310
  yield result, response if block_given?
289
- return result
311
+ throw :response, result
290
312
  end
291
313
  rescue ::Gapic::Rest::Error => e
292
314
  raise ::Google::Cloud::Error.from_error(e)
@@ -380,7 +402,7 @@ module Google
380
402
  options: options
381
403
  )
382
404
  yield result, response if block_given?
383
- return result
405
+ throw :response, result
384
406
  end
385
407
  rescue ::Gapic::Rest::Error => e
386
408
  raise ::Google::Cloud::Error.from_error(e)
@@ -463,7 +485,6 @@ module Google
463
485
 
464
486
  @region_security_policies_stub.get request, options do |result, operation|
465
487
  yield result, operation if block_given?
466
- return result
467
488
  end
468
489
  rescue ::Gapic::Rest::Error => e
469
490
  raise ::Google::Cloud::Error.from_error(e)
@@ -548,7 +569,6 @@ module Google
548
569
 
549
570
  @region_security_policies_stub.get_rule request, options do |result, operation|
550
571
  yield result, operation if block_given?
551
- return result
552
572
  end
553
573
  rescue ::Gapic::Rest::Error => e
554
574
  raise ::Google::Cloud::Error.from_error(e)
@@ -644,7 +664,7 @@ module Google
644
664
  options: options
645
665
  )
646
666
  yield result, response if block_given?
647
- return result
667
+ throw :response, result
648
668
  end
649
669
  rescue ::Gapic::Rest::Error => e
650
670
  raise ::Google::Cloud::Error.from_error(e)
@@ -736,7 +756,7 @@ module Google
736
756
  @region_security_policies_stub.list request, options do |result, operation|
737
757
  result = ::Gapic::Rest::PagedEnumerable.new @region_security_policies_stub, :list, "items", request, result, options
738
758
  yield result, operation if block_given?
739
- return result
759
+ throw :response, result
740
760
  end
741
761
  rescue ::Gapic::Rest::Error => e
742
762
  raise ::Google::Cloud::Error.from_error(e)
@@ -834,7 +854,7 @@ module Google
834
854
  options: options
835
855
  )
836
856
  yield result, response if block_given?
837
- return result
857
+ throw :response, result
838
858
  end
839
859
  rescue ::Gapic::Rest::Error => e
840
860
  raise ::Google::Cloud::Error.from_error(e)
@@ -934,7 +954,7 @@ module Google
934
954
  options: options
935
955
  )
936
956
  yield result, response if block_given?
937
- return result
957
+ throw :response, result
938
958
  end
939
959
  rescue ::Gapic::Rest::Error => e
940
960
  raise ::Google::Cloud::Error.from_error(e)
@@ -1028,7 +1048,103 @@ module Google
1028
1048
  options: options
1029
1049
  )
1030
1050
  yield result, response if block_given?
1031
- return result
1051
+ throw :response, result
1052
+ end
1053
+ rescue ::Gapic::Rest::Error => e
1054
+ raise ::Google::Cloud::Error.from_error(e)
1055
+ end
1056
+
1057
+ ##
1058
+ # Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.
1059
+ #
1060
+ # @overload set_labels(request, options = nil)
1061
+ # Pass arguments to `set_labels` via a request object, either of type
1062
+ # {::Google::Cloud::Compute::V1::SetLabelsRegionSecurityPolicyRequest} or an equivalent Hash.
1063
+ #
1064
+ # @param request [::Google::Cloud::Compute::V1::SetLabelsRegionSecurityPolicyRequest, ::Hash]
1065
+ # A request object representing the call parameters. Required. To specify no
1066
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1067
+ # @param options [::Gapic::CallOptions, ::Hash]
1068
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1069
+ #
1070
+ # @overload set_labels(project: nil, region: nil, region_set_labels_request_resource: nil, request_id: nil, resource: nil)
1071
+ # Pass arguments to `set_labels` via keyword arguments. Note that at
1072
+ # least one keyword argument is required. To specify no parameters, or to keep all
1073
+ # the default parameter values, pass an empty Hash as a request object (see above).
1074
+ #
1075
+ # @param project [::String]
1076
+ # Project ID for this request.
1077
+ # @param region [::String]
1078
+ # The region for this request.
1079
+ # @param region_set_labels_request_resource [::Google::Cloud::Compute::V1::RegionSetLabelsRequest, ::Hash]
1080
+ # The body resource for this request
1081
+ # @param request_id [::String]
1082
+ # An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).
1083
+ # @param resource [::String]
1084
+ # Name or id of the resource for this request.
1085
+ # @yield [result, operation] Access the result along with the TransportOperation object
1086
+ # @yieldparam result [::Gapic::GenericLRO::Operation]
1087
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1088
+ #
1089
+ # @return [::Gapic::GenericLRO::Operation]
1090
+ #
1091
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1092
+ #
1093
+ # @example Basic example
1094
+ # require "google/cloud/compute/v1"
1095
+ #
1096
+ # # Create a client object. The client can be reused for multiple calls.
1097
+ # client = Google::Cloud::Compute::V1::RegionSecurityPolicies::Rest::Client.new
1098
+ #
1099
+ # # Create a request. To set request fields, pass in keyword arguments.
1100
+ # request = Google::Cloud::Compute::V1::SetLabelsRegionSecurityPolicyRequest.new
1101
+ #
1102
+ # # Call the set_labels method.
1103
+ # result = client.set_labels request
1104
+ #
1105
+ # # The returned object is of type Google::Cloud::Compute::V1::Operation.
1106
+ # p result
1107
+ #
1108
+ def set_labels request, options = nil
1109
+ raise ::ArgumentError, "request must be provided" if request.nil?
1110
+
1111
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Compute::V1::SetLabelsRegionSecurityPolicyRequest
1112
+
1113
+ # Converts hash and nil to an options object
1114
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1115
+
1116
+ # Customize the options with defaults
1117
+ call_metadata = @config.rpcs.set_labels.metadata.to_h
1118
+
1119
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1120
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1121
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1122
+ gapic_version: ::Google::Cloud::Compute::V1::VERSION,
1123
+ transports_version_send: [:rest]
1124
+
1125
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1126
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1127
+
1128
+ options.apply_defaults timeout: @config.rpcs.set_labels.timeout,
1129
+ metadata: call_metadata,
1130
+ retry_policy: @config.rpcs.set_labels.retry_policy
1131
+
1132
+ options.apply_defaults timeout: @config.timeout,
1133
+ metadata: @config.metadata,
1134
+ retry_policy: @config.retry_policy
1135
+
1136
+ @region_security_policies_stub.set_labels request, options do |result, response|
1137
+ result = ::Google::Cloud::Compute::V1::RegionOperations::Rest::NonstandardLro.create_operation(
1138
+ operation: result,
1139
+ client: region_operations,
1140
+ request_values: {
1141
+ "project" => request.project,
1142
+ "region" => request.region
1143
+ },
1144
+ options: options
1145
+ )
1146
+ yield result, response if block_given?
1147
+ throw :response, result
1032
1148
  end
1033
1149
  rescue ::Gapic::Rest::Error => e
1034
1150
  raise ::Google::Cloud::Error.from_error(e)
@@ -1076,6 +1192,13 @@ module Google
1076
1192
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1077
1193
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
1078
1194
  # * (`nil`) indicating no credentials
1195
+ #
1196
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
1197
+ # external source for authentication to Google Cloud, you must validate it before
1198
+ # providing it to a Google API client library. Providing an unvalidated credential
1199
+ # configuration to Google APIs can compromise the security of your systems and data.
1200
+ # For more information, refer to [Validate credential configurations from external
1201
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
1079
1202
  # @return [::Object]
1080
1203
  # @!attribute [rw] scope
1081
1204
  # The OAuth scopes
@@ -1108,6 +1231,11 @@ module Google
1108
1231
  # default endpoint URL. The default value of nil uses the environment
1109
1232
  # universe (usually the default "googleapis.com" universe).
1110
1233
  # @return [::String,nil]
1234
+ # @!attribute [rw] logger
1235
+ # A custom logger to use for request/response debug logging, or the value
1236
+ # `:default` (the default) to construct a default logger, or `nil` to
1237
+ # explicitly disable logging.
1238
+ # @return [::Logger,:default,nil]
1111
1239
  #
1112
1240
  class Configuration
1113
1241
  extend ::Gapic::Config
@@ -1129,6 +1257,7 @@ module Google
1129
1257
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1130
1258
  config_attr :quota_project, nil, ::String, nil
1131
1259
  config_attr :universe_domain, nil, ::String, nil
1260
+ config_attr :logger, :default, ::Logger, nil, :default
1132
1261
 
1133
1262
  # @private
1134
1263
  def initialize parent_config = nil
@@ -1212,6 +1341,11 @@ module Google
1212
1341
  # @return [::Gapic::Config::Method]
1213
1342
  #
1214
1343
  attr_reader :remove_rule
1344
+ ##
1345
+ # RPC-specific configuration for `set_labels`
1346
+ # @return [::Gapic::Config::Method]
1347
+ #
1348
+ attr_reader :set_labels
1215
1349
 
1216
1350
  # @private
1217
1351
  def initialize parent_rpcs = nil
@@ -1233,6 +1367,8 @@ module Google
1233
1367
  @patch_rule = ::Gapic::Config::Method.new patch_rule_config
1234
1368
  remove_rule_config = parent_rpcs.remove_rule if parent_rpcs.respond_to? :remove_rule
1235
1369
  @remove_rule = ::Gapic::Config::Method.new remove_rule_config
1370
+ set_labels_config = parent_rpcs.set_labels if parent_rpcs.respond_to? :set_labels
1371
+ @set_labels = ::Gapic::Config::Method.new set_labels_config
1236
1372
 
1237
1373
  yield self if block_given?
1238
1374
  end