google-api-client 0.39.4 → 0.39.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +3 -1
  5. data/generated/google/apis/apigee_v1.rb +1 -1
  6. data/generated/google/apis/apigee_v1/classes.rb +7 -0
  7. data/generated/google/apis/apigee_v1/representations.rb +1 -0
  8. data/generated/google/apis/apigee_v1/service.rb +9 -1
  9. data/generated/google/apis/artifactregistry_v1beta1.rb +38 -0
  10. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +1010 -0
  11. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +380 -0
  12. data/generated/google/apis/artifactregistry_v1beta1/service.rb +957 -0
  13. data/generated/google/apis/bigquery_v2.rb +1 -1
  14. data/generated/google/apis/bigquery_v2/classes.rb +12 -1
  15. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  16. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  17. data/generated/google/apis/bigqueryreservation_v1/service.rb +8 -8
  18. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  19. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +18 -14
  20. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +93 -68
  21. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  22. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +21 -0
  23. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +6 -0
  24. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  25. data/generated/google/apis/binaryauthorization_v1/classes.rb +4 -1
  26. data/generated/google/apis/calendar_v3.rb +1 -1
  27. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  28. data/generated/google/apis/cloudasset_v1.rb +1 -1
  29. data/generated/google/apis/cloudasset_v1/classes.rb +371 -27
  30. data/generated/google/apis/cloudasset_v1/representations.rb +97 -0
  31. data/generated/google/apis/cloudasset_v1/service.rb +186 -8
  32. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  33. data/generated/google/apis/cloudasset_v1beta1/classes.rb +23 -10
  34. data/generated/google/apis/cloudasset_v1beta1/service.rb +12 -3
  35. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  36. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +42 -10
  37. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +2 -0
  38. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  39. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1/classes.rb +1 -0
  41. data/generated/google/apis/cloudbuild_v1/service.rb +121 -0
  42. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  43. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +142 -0
  44. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +60 -0
  45. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +121 -0
  46. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  47. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +142 -0
  48. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +60 -0
  49. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +121 -0
  50. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  51. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +6 -0
  52. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +1 -0
  53. data/generated/google/apis/container_v1beta1.rb +1 -1
  54. data/generated/google/apis/container_v1beta1/classes.rb +35 -0
  55. data/generated/google/apis/container_v1beta1/representations.rb +17 -0
  56. data/generated/google/apis/content_v2_1.rb +1 -1
  57. data/generated/google/apis/content_v2_1/classes.rb +6 -0
  58. data/generated/google/apis/content_v2_1/representations.rb +1 -0
  59. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  60. data/generated/google/apis/dataproc_v1beta2/classes.rb +26 -12
  61. data/generated/google/apis/dataproc_v1beta2/service.rb +35 -21
  62. data/generated/google/apis/datastore_v1.rb +1 -1
  63. data/generated/google/apis/datastore_v1/classes.rb +1 -1
  64. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  65. data/generated/google/apis/datastore_v1beta3/classes.rb +1 -1
  66. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  67. data/generated/google/apis/deploymentmanager_alpha/classes.rb +362 -176
  68. data/generated/google/apis/deploymentmanager_alpha/representations.rb +22 -4
  69. data/generated/google/apis/deploymentmanager_alpha/service.rb +198 -311
  70. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  71. data/generated/google/apis/deploymentmanager_v2/classes.rb +295 -146
  72. data/generated/google/apis/deploymentmanager_v2/representations.rb +17 -1
  73. data/generated/google/apis/deploymentmanager_v2/service.rb +101 -99
  74. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  75. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +350 -170
  76. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +18 -1
  77. data/generated/google/apis/deploymentmanager_v2beta/service.rb +154 -152
  78. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  79. data/generated/google/apis/dfareporting_v3_3/classes.rb +2 -2
  80. data/generated/google/apis/dfareporting_v3_3/service.rb +2 -2
  81. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  82. data/generated/google/apis/dfareporting_v3_4/classes.rb +2 -2
  83. data/generated/google/apis/dfareporting_v3_4/service.rb +2 -2
  84. data/generated/google/apis/dialogflow_v2.rb +1 -1
  85. data/generated/google/apis/dialogflow_v2/classes.rb +3 -0
  86. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  87. data/generated/google/apis/dialogflow_v2beta1/classes.rb +3 -0
  88. data/generated/google/apis/dialogflow_v2beta1/service.rb +2 -2
  89. data/generated/google/apis/dialogflow_v3alpha1.rb +38 -0
  90. data/generated/google/apis/dialogflow_v3alpha1/classes.rb +5022 -0
  91. data/generated/google/apis/dialogflow_v3alpha1/representations.rb +2057 -0
  92. data/generated/google/apis/dialogflow_v3alpha1/service.rb +296 -0
  93. data/generated/google/apis/displayvideo_v1.rb +1 -1
  94. data/generated/google/apis/displayvideo_v1/service.rb +7 -2
  95. data/generated/google/apis/dlp_v2.rb +1 -1
  96. data/generated/google/apis/dlp_v2/classes.rb +9 -21
  97. data/generated/google/apis/dlp_v2/service.rb +79 -142
  98. data/generated/google/apis/dns_v1.rb +1 -1
  99. data/generated/google/apis/dns_v1/classes.rb +160 -261
  100. data/generated/google/apis/dns_v1/representations.rb +17 -0
  101. data/generated/google/apis/dns_v1/service.rb +21 -141
  102. data/generated/google/apis/dns_v1beta2.rb +1 -1
  103. data/generated/google/apis/dns_v1beta2/classes.rb +189 -273
  104. data/generated/google/apis/dns_v1beta2/representations.rb +32 -0
  105. data/generated/google/apis/dns_v1beta2/service.rb +21 -141
  106. data/generated/google/apis/dns_v2beta1.rb +1 -1
  107. data/generated/google/apis/dns_v2beta1/classes.rb +160 -261
  108. data/generated/google/apis/dns_v2beta1/representations.rb +17 -0
  109. data/generated/google/apis/dns_v2beta1/service.rb +21 -141
  110. data/generated/google/apis/file_v1.rb +1 -1
  111. data/generated/google/apis/file_v1/classes.rb +31 -0
  112. data/generated/google/apis/file_v1/representations.rb +15 -0
  113. data/generated/google/apis/file_v1beta1.rb +1 -1
  114. data/generated/google/apis/file_v1beta1/classes.rb +31 -0
  115. data/generated/google/apis/file_v1beta1/representations.rb +15 -0
  116. data/generated/google/apis/{pagespeedonline_v1.rb → firebaseml_v1.rb} +11 -9
  117. data/generated/google/apis/firebaseml_v1/classes.rb +213 -0
  118. data/generated/google/apis/firebaseml_v1/representations.rb +112 -0
  119. data/generated/google/apis/firebaseml_v1/service.rb +181 -0
  120. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  121. data/generated/google/apis/games_configuration_v1configuration/service.rb +1 -1
  122. data/generated/google/apis/games_management_v1management.rb +1 -1
  123. data/generated/google/apis/games_management_v1management/service.rb +1 -1
  124. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  125. data/generated/google/apis/iamcredentials_v1/classes.rb +26 -2
  126. data/generated/google/apis/networkmanagement_v1.rb +35 -0
  127. data/generated/google/apis/networkmanagement_v1/classes.rb +1868 -0
  128. data/generated/google/apis/networkmanagement_v1/representations.rb +661 -0
  129. data/generated/google/apis/networkmanagement_v1/service.rb +667 -0
  130. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  131. data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
  132. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  133. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  134. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
  135. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  136. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  137. data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
  138. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  139. data/generated/google/apis/securitycenter_v1.rb +1 -1
  140. data/generated/google/apis/securitycenter_v1/classes.rb +27 -12
  141. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  142. data/generated/google/apis/securitycenter_v1beta1/classes.rb +27 -12
  143. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  144. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +27 -12
  145. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  146. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +0 -31
  147. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -1
  148. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  149. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +0 -31
  150. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +0 -1
  151. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  152. data/generated/google/apis/servicemanagement_v1/classes.rb +0 -31
  153. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -1
  154. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  155. data/generated/google/apis/servicenetworking_v1/classes.rb +379 -31
  156. data/generated/google/apis/servicenetworking_v1/representations.rb +209 -1
  157. data/generated/google/apis/servicenetworking_v1/service.rb +187 -0
  158. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  159. data/generated/google/apis/servicenetworking_v1beta/classes.rb +188 -31
  160. data/generated/google/apis/servicenetworking_v1beta/representations.rb +130 -1
  161. data/generated/google/apis/serviceusage_v1.rb +1 -1
  162. data/generated/google/apis/serviceusage_v1/classes.rb +0 -31
  163. data/generated/google/apis/serviceusage_v1/representations.rb +0 -1
  164. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  165. data/generated/google/apis/serviceusage_v1beta1/classes.rb +0 -31
  166. data/generated/google/apis/serviceusage_v1beta1/representations.rb +0 -1
  167. data/generated/google/apis/tasks_v1.rb +3 -3
  168. data/generated/google/apis/tasks_v1/classes.rb +26 -25
  169. data/generated/google/apis/tasks_v1/representations.rb +4 -8
  170. data/generated/google/apis/tasks_v1/service.rb +79 -128
  171. data/generated/google/apis/translate_v3.rb +1 -1
  172. data/generated/google/apis/verifiedaccess_v1.rb +3 -3
  173. data/generated/google/apis/verifiedaccess_v1/service.rb +2 -2
  174. data/generated/google/apis/websecurityscanner_v1.rb +2 -2
  175. data/generated/google/apis/websecurityscanner_v1/classes.rb +7 -5
  176. data/generated/google/apis/websecurityscanner_v1/service.rb +1 -1
  177. data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
  178. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +5 -4
  179. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  180. data/generated/google/apis/websecurityscanner_v1beta.rb +2 -2
  181. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +9 -7
  182. data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
  183. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  184. data/generated/google/apis/youtube_v3.rb +5 -5
  185. data/generated/google/apis/youtube_v3/classes.rb +1260 -1244
  186. data/generated/google/apis/youtube_v3/representations.rb +64 -192
  187. data/generated/google/apis/youtube_v3/service.rb +1833 -2125
  188. data/lib/google/apis/version.rb +1 -1
  189. metadata +19 -7
  190. data/generated/google/apis/pagespeedonline_v1/classes.rb +0 -542
  191. data/generated/google/apis/pagespeedonline_v1/representations.rb +0 -258
  192. data/generated/google/apis/pagespeedonline_v1/service.rb +0 -116
@@ -0,0 +1,181 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module FirebasemlV1
23
+ # Firebase ML API
24
+ #
25
+ # Access custom machine learning models hosted via Firebase ML.
26
+ #
27
+ # @example
28
+ # require 'google/apis/firebaseml_v1'
29
+ #
30
+ # Firebaseml = Google::Apis::FirebasemlV1 # Alias the module
31
+ # service = Firebaseml::FirebaseMLService.new
32
+ #
33
+ # @see https://firebase.google.com
34
+ class FirebaseMLService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ attr_accessor :quota_user
44
+
45
+ def initialize
46
+ super('https://firebaseml.googleapis.com/', '')
47
+ @batch_path = 'batch'
48
+ end
49
+
50
+ # Starts asynchronous cancellation on a long-running operation. The server
51
+ # makes a best effort to cancel the operation, but success is not
52
+ # guaranteed. If the server doesn't support this method, it returns
53
+ # `google.rpc.Code.UNIMPLEMENTED`. Clients can use
54
+ # Operations.GetOperation or
55
+ # other methods to check whether the cancellation succeeded or whether the
56
+ # operation completed despite cancellation. On successful cancellation,
57
+ # the operation is not deleted; instead, it becomes an operation with
58
+ # an Operation.error value with a google.rpc.Status.code of 1,
59
+ # corresponding to `Code.CANCELLED`.
60
+ # @param [String] name
61
+ # The name of the operation resource to be cancelled.
62
+ # @param [Google::Apis::FirebasemlV1::CancelOperationRequest] cancel_operation_request_object
63
+ # @param [String] fields
64
+ # Selector specifying which fields to include in a partial response.
65
+ # @param [String] quota_user
66
+ # Available to use for quota purposes for server-side applications. Can be any
67
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
68
+ # @param [Google::Apis::RequestOptions] options
69
+ # Request-specific options
70
+ #
71
+ # @yield [result, err] Result & error if block supplied
72
+ # @yieldparam result [Google::Apis::FirebasemlV1::Empty] parsed result object
73
+ # @yieldparam err [StandardError] error object if request failed
74
+ #
75
+ # @return [Google::Apis::FirebasemlV1::Empty]
76
+ #
77
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
78
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
79
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
80
+ def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
81
+ command = make_simple_command(:post, 'v1/{+name}:cancel', options)
82
+ command.request_representation = Google::Apis::FirebasemlV1::CancelOperationRequest::Representation
83
+ command.request_object = cancel_operation_request_object
84
+ command.response_representation = Google::Apis::FirebasemlV1::Empty::Representation
85
+ command.response_class = Google::Apis::FirebasemlV1::Empty
86
+ command.params['name'] = name unless name.nil?
87
+ command.query['fields'] = fields unless fields.nil?
88
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
89
+ execute_or_queue_command(command, &block)
90
+ end
91
+
92
+ # Deletes a long-running operation. This method indicates that the client is
93
+ # no longer interested in the operation result. It does not cancel the
94
+ # operation. If the server doesn't support this method, it returns
95
+ # `google.rpc.Code.UNIMPLEMENTED`.
96
+ # @param [String] name
97
+ # The name of the operation resource to be deleted.
98
+ # @param [String] fields
99
+ # Selector specifying which fields to include in a partial response.
100
+ # @param [String] quota_user
101
+ # Available to use for quota purposes for server-side applications. Can be any
102
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
103
+ # @param [Google::Apis::RequestOptions] options
104
+ # Request-specific options
105
+ #
106
+ # @yield [result, err] Result & error if block supplied
107
+ # @yieldparam result [Google::Apis::FirebasemlV1::Empty] parsed result object
108
+ # @yieldparam err [StandardError] error object if request failed
109
+ #
110
+ # @return [Google::Apis::FirebasemlV1::Empty]
111
+ #
112
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
113
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
114
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
115
+ def delete_operation(name, fields: nil, quota_user: nil, options: nil, &block)
116
+ command = make_simple_command(:delete, 'v1/{+name}', options)
117
+ command.response_representation = Google::Apis::FirebasemlV1::Empty::Representation
118
+ command.response_class = Google::Apis::FirebasemlV1::Empty
119
+ command.params['name'] = name unless name.nil?
120
+ command.query['fields'] = fields unless fields.nil?
121
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
122
+ execute_or_queue_command(command, &block)
123
+ end
124
+
125
+ # Lists operations that match the specified filter in the request. If the
126
+ # server doesn't support this method, it returns `UNIMPLEMENTED`.
127
+ # NOTE: the `name` binding allows API services to override the binding
128
+ # to use different resource name schemes, such as `users/*/operations`. To
129
+ # override the binding, API services can add a binding such as
130
+ # `"/v1/`name=users/*`/operations"` to their service configuration.
131
+ # For backwards compatibility, the default name includes the operations
132
+ # collection id, however overriding users must ensure the name binding
133
+ # is the parent resource, without the operations collection id.
134
+ # @param [String] name
135
+ # The name of the operation's parent resource.
136
+ # @param [String] filter
137
+ # The standard list filter.
138
+ # @param [Fixnum] page_size
139
+ # The standard list page size.
140
+ # @param [String] page_token
141
+ # The standard list page token.
142
+ # @param [String] fields
143
+ # Selector specifying which fields to include in a partial response.
144
+ # @param [String] quota_user
145
+ # Available to use for quota purposes for server-side applications. Can be any
146
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
147
+ # @param [Google::Apis::RequestOptions] options
148
+ # Request-specific options
149
+ #
150
+ # @yield [result, err] Result & error if block supplied
151
+ # @yieldparam result [Google::Apis::FirebasemlV1::ListOperationsResponse] parsed result object
152
+ # @yieldparam err [StandardError] error object if request failed
153
+ #
154
+ # @return [Google::Apis::FirebasemlV1::ListOperationsResponse]
155
+ #
156
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
157
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
158
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
159
+ def list_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
160
+ command = make_simple_command(:get, 'v1/{+name}', options)
161
+ command.response_representation = Google::Apis::FirebasemlV1::ListOperationsResponse::Representation
162
+ command.response_class = Google::Apis::FirebasemlV1::ListOperationsResponse
163
+ command.params['name'] = name unless name.nil?
164
+ command.query['filter'] = filter unless filter.nil?
165
+ command.query['pageSize'] = page_size unless page_size.nil?
166
+ command.query['pageToken'] = page_token unless page_token.nil?
167
+ command.query['fields'] = fields unless fields.nil?
168
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
169
+ execute_or_queue_command(command, &block)
170
+ end
171
+
172
+ protected
173
+
174
+ def apply_command_defaults(command)
175
+ command.query['key'] = key unless key.nil?
176
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
177
+ end
178
+ end
179
+ end
180
+ end
181
+ end
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/games/
27
27
  module GamesConfigurationV1configuration
28
28
  VERSION = 'V1configuration'
29
- REVISION = '20200416'
29
+ REVISION = '20200514'
30
30
 
31
31
  # View and manage your Google Play Developer account
32
32
  AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher'
@@ -45,7 +45,7 @@ module Google
45
45
 
46
46
  def initialize
47
47
  super('https://www.googleapis.com/', '')
48
- @batch_path = 'batch'
48
+ @batch_path = 'batch/games/v1configuration'
49
49
  end
50
50
 
51
51
  # Delete the achievement configuration with the given ID.
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://developers.google.com/games/
28
28
  module GamesManagementV1management
29
29
  VERSION = 'V1management'
30
- REVISION = '20200504'
30
+ REVISION = '20200514'
31
31
 
32
32
  # Create, edit, and delete your Google Play Games activity
33
33
  AUTH_GAMES = 'https://www.googleapis.com/auth/games'
@@ -46,7 +46,7 @@ module Google
46
46
 
47
47
  def initialize
48
48
  super('https://www.googleapis.com/', '')
49
- @batch_path = 'batch'
49
+ @batch_path = 'batch/games/v1management'
50
50
  end
51
51
 
52
52
  # Resets the achievement with the given ID for the currently authenticated
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials
26
26
  module IamcredentialsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200417'
28
+ REVISION = '20200515'
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'
@@ -194,12 +194,24 @@ module Google
194
194
  class SignBlobResponse
195
195
  include Google::Apis::Core::Hashable
196
196
 
197
- # The ID of the key used to sign the blob.
197
+ # The ID of the key used to sign the blob. The key used for signing will
198
+ # remain valid for at least 12 hours after the blob is signed. To verify the
199
+ # signature, you can retrieve the public key in several formats from the
200
+ # following endpoints:
201
+ # - RSA public key wrapped in an X.509 v3 certificate:
202
+ # `https://www.googleapis.com/service_accounts/v1/metadata/x509/`ACCOUNT_EMAIL``
203
+ # - Raw key in JSON format:
204
+ # `https://www.googleapis.com/service_accounts/v1/metadata/raw/`ACCOUNT_EMAIL``
205
+ # - JSON Web Key (JWK):
206
+ # `https://www.googleapis.com/service_accounts/v1/metadata/jwk/`ACCOUNT_EMAIL``
198
207
  # Corresponds to the JSON property `keyId`
199
208
  # @return [String]
200
209
  attr_accessor :key_id
201
210
 
202
211
  # The signature for the blob. Does not include the original blob.
212
+ # After the key pair referenced by the `key_id` response field expires,
213
+ # Google no longer exposes the public key that can be used to verify the
214
+ # blob. As a result, the receiver can no longer verify the signature.
203
215
  # Corresponds to the JSON property `signedBlob`
204
216
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
205
217
  # @return [String]
@@ -257,7 +269,16 @@ module Google
257
269
  class SignJwtResponse
258
270
  include Google::Apis::Core::Hashable
259
271
 
260
- # The ID of the key used to sign the JWT.
272
+ # The ID of the key used to sign the JWT. The key used for signing will
273
+ # remain valid for at least 12 hours after the JWT is signed. To verify the
274
+ # signature, you can retrieve the public key in several formats from the
275
+ # following endpoints:
276
+ # - RSA public key wrapped in an X.509 v3 certificate:
277
+ # `https://www.googleapis.com/service_accounts/v1/metadata/x509/`ACCOUNT_EMAIL``
278
+ # - Raw key in JSON format:
279
+ # `https://www.googleapis.com/service_accounts/v1/metadata/raw/`ACCOUNT_EMAIL``
280
+ # - JSON Web Key (JWK):
281
+ # `https://www.googleapis.com/service_accounts/v1/metadata/jwk/`ACCOUNT_EMAIL``
261
282
  # Corresponds to the JSON property `keyId`
262
283
  # @return [String]
263
284
  attr_accessor :key_id
@@ -265,6 +286,9 @@ module Google
265
286
  # The signed JWT. Contains the automatically generated header; the
266
287
  # client-supplied payload; and the signature, which is generated using the
267
288
  # key referenced by the `kid` field in the header.
289
+ # After the key pair referenced by the `key_id` response field expires,
290
+ # Google no longer exposes the public key that can be used to verify the JWT.
291
+ # As a result, the receiver can no longer verify the signature.
268
292
  # Corresponds to the JSON property `signedJwt`
269
293
  # @return [String]
270
294
  attr_accessor :signed_jwt
@@ -0,0 +1,35 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/networkmanagement_v1/service.rb'
16
+ require 'google/apis/networkmanagement_v1/classes.rb'
17
+ require 'google/apis/networkmanagement_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Network Management API
22
+ #
23
+ # The Network Management API provides a collection of network performance
24
+ # monitoring and diagnostic capabilities.
25
+ #
26
+ # @see https://cloud.google.com/
27
+ module NetworkmanagementV1
28
+ VERSION = 'V1'
29
+ REVISION = '20200505'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,1868 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module NetworkmanagementV1
24
+
25
+ # Details of the final state "abort" and associated resource.
26
+ class AbortInfo
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Causes that the analysis is aborted.
30
+ # Corresponds to the JSON property `cause`
31
+ # @return [String]
32
+ attr_accessor :cause
33
+
34
+ # URI of the resource that caused the abort.
35
+ # Corresponds to the JSON property `resourceUri`
36
+ # @return [String]
37
+ attr_accessor :resource_uri
38
+
39
+ def initialize(**args)
40
+ update!(**args)
41
+ end
42
+
43
+ # Update properties of this object
44
+ def update!(**args)
45
+ @cause = args[:cause] if args.key?(:cause)
46
+ @resource_uri = args[:resource_uri] if args.key?(:resource_uri)
47
+ end
48
+ end
49
+
50
+ # Specifies the audit configuration for a service.
51
+ # The configuration determines which permission types are logged, and what
52
+ # identities, if any, are exempted from logging.
53
+ # An AuditConfig must have one or more AuditLogConfigs.
54
+ # If there are AuditConfigs for both `allServices` and a specific service,
55
+ # the union of the two AuditConfigs is used for that service: the log_types
56
+ # specified in each AuditConfig are enabled, and the exempted_members in each
57
+ # AuditLogConfig are exempted.
58
+ # Example Policy with multiple AuditConfigs:
59
+ # `
60
+ # "audit_configs": [
61
+ # `
62
+ # "service": "allServices"
63
+ # "audit_log_configs": [
64
+ # `
65
+ # "log_type": "DATA_READ",
66
+ # "exempted_members": [
67
+ # "user:jose@example.com"
68
+ # ]
69
+ # `,
70
+ # `
71
+ # "log_type": "DATA_WRITE",
72
+ # `,
73
+ # `
74
+ # "log_type": "ADMIN_READ",
75
+ # `
76
+ # ]
77
+ # `,
78
+ # `
79
+ # "service": "sampleservice.googleapis.com"
80
+ # "audit_log_configs": [
81
+ # `
82
+ # "log_type": "DATA_READ",
83
+ # `,
84
+ # `
85
+ # "log_type": "DATA_WRITE",
86
+ # "exempted_members": [
87
+ # "user:aliya@example.com"
88
+ # ]
89
+ # `
90
+ # ]
91
+ # `
92
+ # ]
93
+ # `
94
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
95
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
96
+ # aliya@example.com from DATA_WRITE logging.
97
+ class AuditConfig
98
+ include Google::Apis::Core::Hashable
99
+
100
+ # The configuration for logging of each type of permission.
101
+ # Corresponds to the JSON property `auditLogConfigs`
102
+ # @return [Array<Google::Apis::NetworkmanagementV1::AuditLogConfig>]
103
+ attr_accessor :audit_log_configs
104
+
105
+ # Specifies a service that will be enabled for audit logging.
106
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
107
+ # `allServices` is a special value that covers all services.
108
+ # Corresponds to the JSON property `service`
109
+ # @return [String]
110
+ attr_accessor :service
111
+
112
+ def initialize(**args)
113
+ update!(**args)
114
+ end
115
+
116
+ # Update properties of this object
117
+ def update!(**args)
118
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
119
+ @service = args[:service] if args.key?(:service)
120
+ end
121
+ end
122
+
123
+ # Provides the configuration for logging a type of permissions.
124
+ # Example:
125
+ # `
126
+ # "audit_log_configs": [
127
+ # `
128
+ # "log_type": "DATA_READ",
129
+ # "exempted_members": [
130
+ # "user:jose@example.com"
131
+ # ]
132
+ # `,
133
+ # `
134
+ # "log_type": "DATA_WRITE",
135
+ # `
136
+ # ]
137
+ # `
138
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
139
+ # jose@example.com from DATA_READ logging.
140
+ class AuditLogConfig
141
+ include Google::Apis::Core::Hashable
142
+
143
+ # Specifies the identities that do not cause logging for this type of
144
+ # permission.
145
+ # Follows the same format of Binding.members.
146
+ # Corresponds to the JSON property `exemptedMembers`
147
+ # @return [Array<String>]
148
+ attr_accessor :exempted_members
149
+
150
+ # The log type that this config enables.
151
+ # Corresponds to the JSON property `logType`
152
+ # @return [String]
153
+ attr_accessor :log_type
154
+
155
+ def initialize(**args)
156
+ update!(**args)
157
+ end
158
+
159
+ # Update properties of this object
160
+ def update!(**args)
161
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
162
+ @log_type = args[:log_type] if args.key?(:log_type)
163
+ end
164
+ end
165
+
166
+ # Associates `members` with a `role`.
167
+ class Binding
168
+ include Google::Apis::Core::Hashable
169
+
170
+ # Represents a textual expression in the Common Expression Language (CEL)
171
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
172
+ # are documented at https://github.com/google/cel-spec.
173
+ # Example (Comparison):
174
+ # title: "Summary size limit"
175
+ # description: "Determines if a summary is less than 100 chars"
176
+ # expression: "document.summary.size() < 100"
177
+ # Example (Equality):
178
+ # title: "Requestor is owner"
179
+ # description: "Determines if requestor is the document owner"
180
+ # expression: "document.owner == request.auth.claims.email"
181
+ # Example (Logic):
182
+ # title: "Public documents"
183
+ # description: "Determine whether the document should be publicly visible"
184
+ # expression: "document.type != 'private' && document.type != 'internal'"
185
+ # Example (Data Manipulation):
186
+ # title: "Notification string"
187
+ # description: "Create a notification string with a timestamp."
188
+ # expression: "'New message received at ' + string(document.create_time)"
189
+ # The exact variables and functions that may be referenced within an expression
190
+ # are determined by the service that evaluates it. See the service
191
+ # documentation for additional information.
192
+ # Corresponds to the JSON property `condition`
193
+ # @return [Google::Apis::NetworkmanagementV1::Expr]
194
+ attr_accessor :condition
195
+
196
+ # Specifies the identities requesting access for a Cloud Platform resource.
197
+ # `members` can have the following values:
198
+ # * `allUsers`: A special identifier that represents anyone who is
199
+ # on the internet; with or without a Google account.
200
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
201
+ # who is authenticated with a Google account or a service account.
202
+ # * `user:`emailid``: An email address that represents a specific Google
203
+ # account. For example, `alice@example.com` .
204
+ # * `serviceAccount:`emailid``: An email address that represents a service
205
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
206
+ # * `group:`emailid``: An email address that represents a Google group.
207
+ # For example, `admins@example.com`.
208
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
209
+ # identifier) representing a user that has been recently deleted. For
210
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
211
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
212
+ # retains the role in the binding.
213
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
214
+ # unique identifier) representing a service account that has been recently
215
+ # deleted. For example,
216
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
217
+ # If the service account is undeleted, this value reverts to
218
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
219
+ # role in the binding.
220
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
221
+ # identifier) representing a Google group that has been recently
222
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
223
+ # the group is recovered, this value reverts to `group:`emailid`` and the
224
+ # recovered group retains the role in the binding.
225
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
226
+ # users of that domain. For example, `google.com` or `example.com`.
227
+ # Corresponds to the JSON property `members`
228
+ # @return [Array<String>]
229
+ attr_accessor :members
230
+
231
+ # Role that is assigned to `members`.
232
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
233
+ # Corresponds to the JSON property `role`
234
+ # @return [String]
235
+ attr_accessor :role
236
+
237
+ def initialize(**args)
238
+ update!(**args)
239
+ end
240
+
241
+ # Update properties of this object
242
+ def update!(**args)
243
+ @condition = args[:condition] if args.key?(:condition)
244
+ @members = args[:members] if args.key?(:members)
245
+ @role = args[:role] if args.key?(:role)
246
+ end
247
+ end
248
+
249
+ # The request message for Operations.CancelOperation.
250
+ class CancelOperationRequest
251
+ include Google::Apis::Core::Hashable
252
+
253
+ def initialize(**args)
254
+ update!(**args)
255
+ end
256
+
257
+ # Update properties of this object
258
+ def update!(**args)
259
+ end
260
+ end
261
+
262
+ # A Connectivity Test for a network reachability analysis.
263
+ class ConnectivityTest
264
+ include Google::Apis::Core::Hashable
265
+
266
+ # Output only. The time the test was created.
267
+ # Corresponds to the JSON property `createTime`
268
+ # @return [String]
269
+ attr_accessor :create_time
270
+
271
+ # The user-supplied description of the Connectivity Test.
272
+ # Maximum of 512 characters.
273
+ # Corresponds to the JSON property `description`
274
+ # @return [String]
275
+ attr_accessor :description
276
+
277
+ # Source or destination of the Connectivity Test.
278
+ # Corresponds to the JSON property `destination`
279
+ # @return [Google::Apis::NetworkmanagementV1::Endpoint]
280
+ attr_accessor :destination
281
+
282
+ # Output only. The display name of a Connectivity Test.
283
+ # Corresponds to the JSON property `displayName`
284
+ # @return [String]
285
+ attr_accessor :display_name
286
+
287
+ # Resource labels to represent user-provided metadata.
288
+ # Corresponds to the JSON property `labels`
289
+ # @return [Hash<String,String>]
290
+ attr_accessor :labels
291
+
292
+ # Required. Unique name of the resource using the form:
293
+ # `projects/`project_id`/locations/global/connectivityTests/`test_id``
294
+ # Corresponds to the JSON property `name`
295
+ # @return [String]
296
+ attr_accessor :name
297
+
298
+ # IP Protocol of the test. When not provided, "TCP" is assumed.
299
+ # Corresponds to the JSON property `protocol`
300
+ # @return [String]
301
+ attr_accessor :protocol
302
+
303
+ # The details of reachability state from the latest run.
304
+ # Corresponds to the JSON property `reachabilityDetails`
305
+ # @return [Google::Apis::NetworkmanagementV1::ReachabilityDetails]
306
+ attr_accessor :reachability_details
307
+
308
+ # Other projects that may be relevant for reachability analysis.
309
+ # This is applicable to scenarios where a test can cross project boundaries.
310
+ # Corresponds to the JSON property `relatedProjects`
311
+ # @return [Array<String>]
312
+ attr_accessor :related_projects
313
+
314
+ # Source or destination of the Connectivity Test.
315
+ # Corresponds to the JSON property `source`
316
+ # @return [Google::Apis::NetworkmanagementV1::Endpoint]
317
+ attr_accessor :source
318
+
319
+ # Output only. The time the test's configuration was updated.
320
+ # Corresponds to the JSON property `updateTime`
321
+ # @return [String]
322
+ attr_accessor :update_time
323
+
324
+ def initialize(**args)
325
+ update!(**args)
326
+ end
327
+
328
+ # Update properties of this object
329
+ def update!(**args)
330
+ @create_time = args[:create_time] if args.key?(:create_time)
331
+ @description = args[:description] if args.key?(:description)
332
+ @destination = args[:destination] if args.key?(:destination)
333
+ @display_name = args[:display_name] if args.key?(:display_name)
334
+ @labels = args[:labels] if args.key?(:labels)
335
+ @name = args[:name] if args.key?(:name)
336
+ @protocol = args[:protocol] if args.key?(:protocol)
337
+ @reachability_details = args[:reachability_details] if args.key?(:reachability_details)
338
+ @related_projects = args[:related_projects] if args.key?(:related_projects)
339
+ @source = args[:source] if args.key?(:source)
340
+ @update_time = args[:update_time] if args.key?(:update_time)
341
+ end
342
+ end
343
+
344
+ # Details of the final state "deliver" and associated resource.
345
+ class DeliverInfo
346
+ include Google::Apis::Core::Hashable
347
+
348
+ # URI of the resource that the packet is delivered to.
349
+ # Corresponds to the JSON property `resourceUri`
350
+ # @return [String]
351
+ attr_accessor :resource_uri
352
+
353
+ # Target type where the packet is delivered to.
354
+ # Corresponds to the JSON property `target`
355
+ # @return [String]
356
+ attr_accessor :target
357
+
358
+ def initialize(**args)
359
+ update!(**args)
360
+ end
361
+
362
+ # Update properties of this object
363
+ def update!(**args)
364
+ @resource_uri = args[:resource_uri] if args.key?(:resource_uri)
365
+ @target = args[:target] if args.key?(:target)
366
+ end
367
+ end
368
+
369
+ # Details of the final state "drop" and associated resource.
370
+ class DropInfo
371
+ include Google::Apis::Core::Hashable
372
+
373
+ # Cause that the packet is dropped.
374
+ # Corresponds to the JSON property `cause`
375
+ # @return [String]
376
+ attr_accessor :cause
377
+
378
+ # URI of the resource that caused the drop.
379
+ # Corresponds to the JSON property `resourceUri`
380
+ # @return [String]
381
+ attr_accessor :resource_uri
382
+
383
+ def initialize(**args)
384
+ update!(**args)
385
+ end
386
+
387
+ # Update properties of this object
388
+ def update!(**args)
389
+ @cause = args[:cause] if args.key?(:cause)
390
+ @resource_uri = args[:resource_uri] if args.key?(:resource_uri)
391
+ end
392
+ end
393
+
394
+ # A generic empty message that you can re-use to avoid defining duplicated
395
+ # empty messages in your APIs. A typical example is to use it as the request
396
+ # or the response type of an API method. For instance:
397
+ # service Foo `
398
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
399
+ # `
400
+ # The JSON representation for `Empty` is empty JSON object ````.
401
+ class Empty
402
+ include Google::Apis::Core::Hashable
403
+
404
+ def initialize(**args)
405
+ update!(**args)
406
+ end
407
+
408
+ # Update properties of this object
409
+ def update!(**args)
410
+ end
411
+ end
412
+
413
+ # Source or destination of the Connectivity Test.
414
+ class Endpoint
415
+ include Google::Apis::Core::Hashable
416
+
417
+ # A Compute Engine instance URI.
418
+ # Corresponds to the JSON property `instance`
419
+ # @return [String]
420
+ attr_accessor :instance
421
+
422
+ # The IP address of the endpoint, which can be an external or internal IP.
423
+ # An IPv6 address is only allowed when the test's destination is a
424
+ # [global load balancer VIP](/load-balancing/docs/load-balancing-overview).
425
+ # Corresponds to the JSON property `ipAddress`
426
+ # @return [String]
427
+ attr_accessor :ip_address
428
+
429
+ # A Compute Engine network URI.
430
+ # Corresponds to the JSON property `network`
431
+ # @return [String]
432
+ attr_accessor :network
433
+
434
+ # Type of the network where the endpoint is located.
435
+ # Applicable only to source endpoint, as destination network type can be
436
+ # inferred from the source.
437
+ # Corresponds to the JSON property `networkType`
438
+ # @return [String]
439
+ attr_accessor :network_type
440
+
441
+ # The IP protocol port of the endpoint.
442
+ # Only applicable when protocol is TCP or UDP.
443
+ # Corresponds to the JSON property `port`
444
+ # @return [Fixnum]
445
+ attr_accessor :port
446
+
447
+ # Project ID where the endpoint is located.
448
+ # The Project ID can be derived from the URI if you provide a VM instance or
449
+ # network URI.
450
+ # The following are two cases where you must provide the project ID:
451
+ # 1. Only the IP address is specified, and the IP address is within a GCP
452
+ # project.
453
+ # 2. When you are using Shared VPC and the IP address that you provide is
454
+ # from the service project. In this case, the network that the IP address
455
+ # resides in is defined in the host project.
456
+ # Corresponds to the JSON property `projectId`
457
+ # @return [String]
458
+ attr_accessor :project_id
459
+
460
+ def initialize(**args)
461
+ update!(**args)
462
+ end
463
+
464
+ # Update properties of this object
465
+ def update!(**args)
466
+ @instance = args[:instance] if args.key?(:instance)
467
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
468
+ @network = args[:network] if args.key?(:network)
469
+ @network_type = args[:network_type] if args.key?(:network_type)
470
+ @port = args[:port] if args.key?(:port)
471
+ @project_id = args[:project_id] if args.key?(:project_id)
472
+ end
473
+ end
474
+
475
+ # For display only. The specification of the endpoints for the test.
476
+ # EndpointInfo is derived from source and destination Endpoint and validated
477
+ # by the backend data plane model.
478
+ class EndpointInfo
479
+ include Google::Apis::Core::Hashable
480
+
481
+ # Destination IP address.
482
+ # Corresponds to the JSON property `destinationIp`
483
+ # @return [String]
484
+ attr_accessor :destination_ip
485
+
486
+ # URI of the network where this packet is sent to.
487
+ # Corresponds to the JSON property `destinationNetworkUri`
488
+ # @return [String]
489
+ attr_accessor :destination_network_uri
490
+
491
+ # Destination port. Only valid when protocol is TCP or UDP.
492
+ # Corresponds to the JSON property `destinationPort`
493
+ # @return [Fixnum]
494
+ attr_accessor :destination_port
495
+
496
+ # IP protocol in string format, for example: "TCP", "UDP", "ICMP".
497
+ # Corresponds to the JSON property `protocol`
498
+ # @return [String]
499
+ attr_accessor :protocol
500
+
501
+ # Source IP address.
502
+ # Corresponds to the JSON property `sourceIp`
503
+ # @return [String]
504
+ attr_accessor :source_ip
505
+
506
+ # URI of the network where this packet originates from.
507
+ # Corresponds to the JSON property `sourceNetworkUri`
508
+ # @return [String]
509
+ attr_accessor :source_network_uri
510
+
511
+ # Source port. Only valid when protocol is TCP or UDP.
512
+ # Corresponds to the JSON property `sourcePort`
513
+ # @return [Fixnum]
514
+ attr_accessor :source_port
515
+
516
+ def initialize(**args)
517
+ update!(**args)
518
+ end
519
+
520
+ # Update properties of this object
521
+ def update!(**args)
522
+ @destination_ip = args[:destination_ip] if args.key?(:destination_ip)
523
+ @destination_network_uri = args[:destination_network_uri] if args.key?(:destination_network_uri)
524
+ @destination_port = args[:destination_port] if args.key?(:destination_port)
525
+ @protocol = args[:protocol] if args.key?(:protocol)
526
+ @source_ip = args[:source_ip] if args.key?(:source_ip)
527
+ @source_network_uri = args[:source_network_uri] if args.key?(:source_network_uri)
528
+ @source_port = args[:source_port] if args.key?(:source_port)
529
+ end
530
+ end
531
+
532
+ # Represents a textual expression in the Common Expression Language (CEL)
533
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
534
+ # are documented at https://github.com/google/cel-spec.
535
+ # Example (Comparison):
536
+ # title: "Summary size limit"
537
+ # description: "Determines if a summary is less than 100 chars"
538
+ # expression: "document.summary.size() < 100"
539
+ # Example (Equality):
540
+ # title: "Requestor is owner"
541
+ # description: "Determines if requestor is the document owner"
542
+ # expression: "document.owner == request.auth.claims.email"
543
+ # Example (Logic):
544
+ # title: "Public documents"
545
+ # description: "Determine whether the document should be publicly visible"
546
+ # expression: "document.type != 'private' && document.type != 'internal'"
547
+ # Example (Data Manipulation):
548
+ # title: "Notification string"
549
+ # description: "Create a notification string with a timestamp."
550
+ # expression: "'New message received at ' + string(document.create_time)"
551
+ # The exact variables and functions that may be referenced within an expression
552
+ # are determined by the service that evaluates it. See the service
553
+ # documentation for additional information.
554
+ class Expr
555
+ include Google::Apis::Core::Hashable
556
+
557
+ # Optional. Description of the expression. This is a longer text which
558
+ # describes the expression, e.g. when hovered over it in a UI.
559
+ # Corresponds to the JSON property `description`
560
+ # @return [String]
561
+ attr_accessor :description
562
+
563
+ # Textual representation of an expression in Common Expression Language
564
+ # syntax.
565
+ # Corresponds to the JSON property `expression`
566
+ # @return [String]
567
+ attr_accessor :expression
568
+
569
+ # Optional. String indicating the location of the expression for error
570
+ # reporting, e.g. a file name and a position in the file.
571
+ # Corresponds to the JSON property `location`
572
+ # @return [String]
573
+ attr_accessor :location
574
+
575
+ # Optional. Title for the expression, i.e. a short string describing
576
+ # its purpose. This can be used e.g. in UIs which allow to enter the
577
+ # expression.
578
+ # Corresponds to the JSON property `title`
579
+ # @return [String]
580
+ attr_accessor :title
581
+
582
+ def initialize(**args)
583
+ update!(**args)
584
+ end
585
+
586
+ # Update properties of this object
587
+ def update!(**args)
588
+ @description = args[:description] if args.key?(:description)
589
+ @expression = args[:expression] if args.key?(:expression)
590
+ @location = args[:location] if args.key?(:location)
591
+ @title = args[:title] if args.key?(:title)
592
+ end
593
+ end
594
+
595
+ # For display only. Metadata associated with a Compute Engine firewall rule.
596
+ class FirewallInfo
597
+ include Google::Apis::Core::Hashable
598
+
599
+ # Possible values: ALLOW, DENY
600
+ # Corresponds to the JSON property `action`
601
+ # @return [String]
602
+ attr_accessor :action
603
+
604
+ # Possible values: INGRESS, EGRESS
605
+ # Corresponds to the JSON property `direction`
606
+ # @return [String]
607
+ attr_accessor :direction
608
+
609
+ # Name of a Compute Engine firewall rule.
610
+ # Corresponds to the JSON property `displayName`
611
+ # @return [String]
612
+ attr_accessor :display_name
613
+
614
+ # URI of a Compute Engine network.
615
+ # Corresponds to the JSON property `networkUri`
616
+ # @return [String]
617
+ attr_accessor :network_uri
618
+
619
+ # Priority of the firewall rule.
620
+ # Corresponds to the JSON property `priority`
621
+ # @return [Fixnum]
622
+ attr_accessor :priority
623
+
624
+ # Target service accounts of the firewall rule.
625
+ # Corresponds to the JSON property `targetServiceAccounts`
626
+ # @return [Array<String>]
627
+ attr_accessor :target_service_accounts
628
+
629
+ # Target tags of the firewall rule.
630
+ # Corresponds to the JSON property `targetTags`
631
+ # @return [Array<String>]
632
+ attr_accessor :target_tags
633
+
634
+ # URI of a Compute Engine firewall rule.
635
+ # Implied default rule does not have URI.
636
+ # Corresponds to the JSON property `uri`
637
+ # @return [String]
638
+ attr_accessor :uri
639
+
640
+ def initialize(**args)
641
+ update!(**args)
642
+ end
643
+
644
+ # Update properties of this object
645
+ def update!(**args)
646
+ @action = args[:action] if args.key?(:action)
647
+ @direction = args[:direction] if args.key?(:direction)
648
+ @display_name = args[:display_name] if args.key?(:display_name)
649
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
650
+ @priority = args[:priority] if args.key?(:priority)
651
+ @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
652
+ @target_tags = args[:target_tags] if args.key?(:target_tags)
653
+ @uri = args[:uri] if args.key?(:uri)
654
+ end
655
+ end
656
+
657
+ # Details of the final state "forward" and associated resource.
658
+ class ForwardInfo
659
+ include Google::Apis::Core::Hashable
660
+
661
+ # URI of the resource that the packet is forwarded to.
662
+ # Corresponds to the JSON property `resourceUri`
663
+ # @return [String]
664
+ attr_accessor :resource_uri
665
+
666
+ # Target type where this packet is forwarded to.
667
+ # Corresponds to the JSON property `target`
668
+ # @return [String]
669
+ attr_accessor :target
670
+
671
+ def initialize(**args)
672
+ update!(**args)
673
+ end
674
+
675
+ # Update properties of this object
676
+ def update!(**args)
677
+ @resource_uri = args[:resource_uri] if args.key?(:resource_uri)
678
+ @target = args[:target] if args.key?(:target)
679
+ end
680
+ end
681
+
682
+ # For display only. Metadata associated with a Compute Engine forwarding rule.
683
+ class ForwardingRuleInfo
684
+ include Google::Apis::Core::Hashable
685
+
686
+ # Name of a Compute Engine forwarding rule.
687
+ # Corresponds to the JSON property `displayName`
688
+ # @return [String]
689
+ attr_accessor :display_name
690
+
691
+ # Port range defined in the forwarding rule that matches the test.
692
+ # Corresponds to the JSON property `matchedPortRange`
693
+ # @return [String]
694
+ attr_accessor :matched_port_range
695
+
696
+ # Protocol defined in the forwarding rule that matches the test.
697
+ # Corresponds to the JSON property `matchedProtocol`
698
+ # @return [String]
699
+ attr_accessor :matched_protocol
700
+
701
+ # Network URI. Only valid for Internal Load Balancer.
702
+ # Corresponds to the JSON property `networkUri`
703
+ # @return [String]
704
+ attr_accessor :network_uri
705
+
706
+ # Target type of the forwarding rule.
707
+ # Corresponds to the JSON property `target`
708
+ # @return [String]
709
+ attr_accessor :target
710
+
711
+ # URI of a Compute Engine forwarding rule.
712
+ # Corresponds to the JSON property `uri`
713
+ # @return [String]
714
+ attr_accessor :uri
715
+
716
+ # VIP of the forwarding rule.
717
+ # Corresponds to the JSON property `vip`
718
+ # @return [String]
719
+ attr_accessor :vip
720
+
721
+ def initialize(**args)
722
+ update!(**args)
723
+ end
724
+
725
+ # Update properties of this object
726
+ def update!(**args)
727
+ @display_name = args[:display_name] if args.key?(:display_name)
728
+ @matched_port_range = args[:matched_port_range] if args.key?(:matched_port_range)
729
+ @matched_protocol = args[:matched_protocol] if args.key?(:matched_protocol)
730
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
731
+ @target = args[:target] if args.key?(:target)
732
+ @uri = args[:uri] if args.key?(:uri)
733
+ @vip = args[:vip] if args.key?(:vip)
734
+ end
735
+ end
736
+
737
+ # For display only. Metadata associated with a Compute Engine instance.
738
+ class InstanceInfo
739
+ include Google::Apis::Core::Hashable
740
+
741
+ # Name of a Compute Engine instance.
742
+ # Corresponds to the JSON property `displayName`
743
+ # @return [String]
744
+ attr_accessor :display_name
745
+
746
+ # External IP address of the network interface.
747
+ # Corresponds to the JSON property `externalIp`
748
+ # @return [String]
749
+ attr_accessor :external_ip
750
+
751
+ # Name of the network interface of a Compute Engine instance.
752
+ # Corresponds to the JSON property `interface`
753
+ # @return [String]
754
+ attr_accessor :interface
755
+
756
+ # Internal IP address of the network interface.
757
+ # Corresponds to the JSON property `internalIp`
758
+ # @return [String]
759
+ attr_accessor :internal_ip
760
+
761
+ # Network tags configured on the instance.
762
+ # Corresponds to the JSON property `networkTags`
763
+ # @return [Array<String>]
764
+ attr_accessor :network_tags
765
+
766
+ # URI of a Compute Engine network.
767
+ # Corresponds to the JSON property `networkUri`
768
+ # @return [String]
769
+ attr_accessor :network_uri
770
+
771
+ # Service account authorized for the instance.
772
+ # Corresponds to the JSON property `serviceAccount`
773
+ # @return [String]
774
+ attr_accessor :service_account
775
+
776
+ # URI of a Compute Engine instance.
777
+ # Corresponds to the JSON property `uri`
778
+ # @return [String]
779
+ attr_accessor :uri
780
+
781
+ def initialize(**args)
782
+ update!(**args)
783
+ end
784
+
785
+ # Update properties of this object
786
+ def update!(**args)
787
+ @display_name = args[:display_name] if args.key?(:display_name)
788
+ @external_ip = args[:external_ip] if args.key?(:external_ip)
789
+ @interface = args[:interface] if args.key?(:interface)
790
+ @internal_ip = args[:internal_ip] if args.key?(:internal_ip)
791
+ @network_tags = args[:network_tags] if args.key?(:network_tags)
792
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
793
+ @service_account = args[:service_account] if args.key?(:service_account)
794
+ @uri = args[:uri] if args.key?(:uri)
795
+ end
796
+ end
797
+
798
+ # Response for the `ListConnectivityTests` method.
799
+ class ListConnectivityTestsResponse
800
+ include Google::Apis::Core::Hashable
801
+
802
+ # Page token to fetch the next set of Connectivity Tests.
803
+ # Corresponds to the JSON property `nextPageToken`
804
+ # @return [String]
805
+ attr_accessor :next_page_token
806
+
807
+ # List of Connectivity Tests.
808
+ # Corresponds to the JSON property `resources`
809
+ # @return [Array<Google::Apis::NetworkmanagementV1::ConnectivityTest>]
810
+ attr_accessor :resources
811
+
812
+ # Locations that could not be reached (when querying all locations with `-`).
813
+ # Corresponds to the JSON property `unreachable`
814
+ # @return [Array<String>]
815
+ attr_accessor :unreachable
816
+
817
+ def initialize(**args)
818
+ update!(**args)
819
+ end
820
+
821
+ # Update properties of this object
822
+ def update!(**args)
823
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
824
+ @resources = args[:resources] if args.key?(:resources)
825
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
826
+ end
827
+ end
828
+
829
+ # The response message for Locations.ListLocations.
830
+ class ListLocationsResponse
831
+ include Google::Apis::Core::Hashable
832
+
833
+ # A list of locations that matches the specified filter in the request.
834
+ # Corresponds to the JSON property `locations`
835
+ # @return [Array<Google::Apis::NetworkmanagementV1::Location>]
836
+ attr_accessor :locations
837
+
838
+ # The standard List next-page token.
839
+ # Corresponds to the JSON property `nextPageToken`
840
+ # @return [String]
841
+ attr_accessor :next_page_token
842
+
843
+ def initialize(**args)
844
+ update!(**args)
845
+ end
846
+
847
+ # Update properties of this object
848
+ def update!(**args)
849
+ @locations = args[:locations] if args.key?(:locations)
850
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
851
+ end
852
+ end
853
+
854
+ # The response message for Operations.ListOperations.
855
+ class ListOperationsResponse
856
+ include Google::Apis::Core::Hashable
857
+
858
+ # The standard List next-page token.
859
+ # Corresponds to the JSON property `nextPageToken`
860
+ # @return [String]
861
+ attr_accessor :next_page_token
862
+
863
+ # A list of operations that matches the specified filter in the request.
864
+ # Corresponds to the JSON property `operations`
865
+ # @return [Array<Google::Apis::NetworkmanagementV1::Operation>]
866
+ attr_accessor :operations
867
+
868
+ def initialize(**args)
869
+ update!(**args)
870
+ end
871
+
872
+ # Update properties of this object
873
+ def update!(**args)
874
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
875
+ @operations = args[:operations] if args.key?(:operations)
876
+ end
877
+ end
878
+
879
+ # For display only. Metadata associated with a specific load balancer backend.
880
+ class LoadBalancerBackend
881
+ include Google::Apis::Core::Hashable
882
+
883
+ # Name of a Compute Engine instance or network endpoint.
884
+ # Corresponds to the JSON property `displayName`
885
+ # @return [String]
886
+ attr_accessor :display_name
887
+
888
+ # A list of firewall rule URIs allowing probes from health check IP ranges.
889
+ # Corresponds to the JSON property `healthCheckAllowingFirewallRules`
890
+ # @return [Array<String>]
891
+ attr_accessor :health_check_allowing_firewall_rules
892
+
893
+ # A list of firewall rule URIs blocking probes from health check IP ranges.
894
+ # Corresponds to the JSON property `healthCheckBlockingFirewallRules`
895
+ # @return [Array<String>]
896
+ attr_accessor :health_check_blocking_firewall_rules
897
+
898
+ # State of the health check firewall configuration.
899
+ # Corresponds to the JSON property `healthCheckFirewallState`
900
+ # @return [String]
901
+ attr_accessor :health_check_firewall_state
902
+
903
+ # URI of a Compute Engine instance or network endpoint.
904
+ # Corresponds to the JSON property `uri`
905
+ # @return [String]
906
+ attr_accessor :uri
907
+
908
+ def initialize(**args)
909
+ update!(**args)
910
+ end
911
+
912
+ # Update properties of this object
913
+ def update!(**args)
914
+ @display_name = args[:display_name] if args.key?(:display_name)
915
+ @health_check_allowing_firewall_rules = args[:health_check_allowing_firewall_rules] if args.key?(:health_check_allowing_firewall_rules)
916
+ @health_check_blocking_firewall_rules = args[:health_check_blocking_firewall_rules] if args.key?(:health_check_blocking_firewall_rules)
917
+ @health_check_firewall_state = args[:health_check_firewall_state] if args.key?(:health_check_firewall_state)
918
+ @uri = args[:uri] if args.key?(:uri)
919
+ end
920
+ end
921
+
922
+ # For display only. Metadata associated with a load balancer.
923
+ class LoadBalancerInfo
924
+ include Google::Apis::Core::Hashable
925
+
926
+ # Type of load balancer's backend configuration.
927
+ # Corresponds to the JSON property `backendType`
928
+ # @return [String]
929
+ attr_accessor :backend_type
930
+
931
+ # Backend configuration URI.
932
+ # Corresponds to the JSON property `backendUri`
933
+ # @return [String]
934
+ attr_accessor :backend_uri
935
+
936
+ # Information for the loadbalancer backends.
937
+ # Corresponds to the JSON property `backends`
938
+ # @return [Array<Google::Apis::NetworkmanagementV1::LoadBalancerBackend>]
939
+ attr_accessor :backends
940
+
941
+ # URI of the health check for the load balancer.
942
+ # Corresponds to the JSON property `healthCheckUri`
943
+ # @return [String]
944
+ attr_accessor :health_check_uri
945
+
946
+ # Type of the load balancer.
947
+ # Corresponds to the JSON property `loadBalancerType`
948
+ # @return [String]
949
+ attr_accessor :load_balancer_type
950
+
951
+ def initialize(**args)
952
+ update!(**args)
953
+ end
954
+
955
+ # Update properties of this object
956
+ def update!(**args)
957
+ @backend_type = args[:backend_type] if args.key?(:backend_type)
958
+ @backend_uri = args[:backend_uri] if args.key?(:backend_uri)
959
+ @backends = args[:backends] if args.key?(:backends)
960
+ @health_check_uri = args[:health_check_uri] if args.key?(:health_check_uri)
961
+ @load_balancer_type = args[:load_balancer_type] if args.key?(:load_balancer_type)
962
+ end
963
+ end
964
+
965
+ # A resource that represents Google Cloud Platform location.
966
+ class Location
967
+ include Google::Apis::Core::Hashable
968
+
969
+ # The friendly name for this location, typically a nearby city name.
970
+ # For example, "Tokyo".
971
+ # Corresponds to the JSON property `displayName`
972
+ # @return [String]
973
+ attr_accessor :display_name
974
+
975
+ # Cross-service attributes for the location. For example
976
+ # `"cloud.googleapis.com/region": "us-east1"`
977
+ # Corresponds to the JSON property `labels`
978
+ # @return [Hash<String,String>]
979
+ attr_accessor :labels
980
+
981
+ # The canonical id for this location. For example: `"us-east1"`.
982
+ # Corresponds to the JSON property `locationId`
983
+ # @return [String]
984
+ attr_accessor :location_id
985
+
986
+ # Service-specific metadata. For example the available capacity at the given
987
+ # location.
988
+ # Corresponds to the JSON property `metadata`
989
+ # @return [Hash<String,Object>]
990
+ attr_accessor :metadata
991
+
992
+ # Resource name for the location, which may vary between implementations.
993
+ # For example: `"projects/example-project/locations/us-east1"`
994
+ # Corresponds to the JSON property `name`
995
+ # @return [String]
996
+ attr_accessor :name
997
+
998
+ def initialize(**args)
999
+ update!(**args)
1000
+ end
1001
+
1002
+ # Update properties of this object
1003
+ def update!(**args)
1004
+ @display_name = args[:display_name] if args.key?(:display_name)
1005
+ @labels = args[:labels] if args.key?(:labels)
1006
+ @location_id = args[:location_id] if args.key?(:location_id)
1007
+ @metadata = args[:metadata] if args.key?(:metadata)
1008
+ @name = args[:name] if args.key?(:name)
1009
+ end
1010
+ end
1011
+
1012
+ # For display only. Metadata associated with a Compute Engine network.
1013
+ class NetworkInfo
1014
+ include Google::Apis::Core::Hashable
1015
+
1016
+ # Name of a Compute Engine network.
1017
+ # Corresponds to the JSON property `displayName`
1018
+ # @return [String]
1019
+ attr_accessor :display_name
1020
+
1021
+ # The IP range that matches the test.
1022
+ # Corresponds to the JSON property `matchedIpRange`
1023
+ # @return [String]
1024
+ attr_accessor :matched_ip_range
1025
+
1026
+ # URI of a Compute Engine network.
1027
+ # Corresponds to the JSON property `uri`
1028
+ # @return [String]
1029
+ attr_accessor :uri
1030
+
1031
+ def initialize(**args)
1032
+ update!(**args)
1033
+ end
1034
+
1035
+ # Update properties of this object
1036
+ def update!(**args)
1037
+ @display_name = args[:display_name] if args.key?(:display_name)
1038
+ @matched_ip_range = args[:matched_ip_range] if args.key?(:matched_ip_range)
1039
+ @uri = args[:uri] if args.key?(:uri)
1040
+ end
1041
+ end
1042
+
1043
+ # This resource represents a long-running operation that is the result of a
1044
+ # network API call.
1045
+ class Operation
1046
+ include Google::Apis::Core::Hashable
1047
+
1048
+ # If the value is `false`, it means the operation is still in progress.
1049
+ # If `true`, the operation is completed, and either `error` or `response` is
1050
+ # available.
1051
+ # Corresponds to the JSON property `done`
1052
+ # @return [Boolean]
1053
+ attr_accessor :done
1054
+ alias_method :done?, :done
1055
+
1056
+ # The `Status` type defines a logical error model that is suitable for
1057
+ # different programming environments, including REST APIs and RPC APIs. It is
1058
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1059
+ # three pieces of data: error code, error message, and error details.
1060
+ # You can find out more about this error model and how to work with it in the
1061
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1062
+ # Corresponds to the JSON property `error`
1063
+ # @return [Google::Apis::NetworkmanagementV1::Status]
1064
+ attr_accessor :error
1065
+
1066
+ # Service-specific metadata associated with the operation. It typically
1067
+ # contains progress information and common metadata such as create time.
1068
+ # Some services might not provide such metadata. Any method that returns a
1069
+ # long-running operation should document the metadata type, if any.
1070
+ # Corresponds to the JSON property `metadata`
1071
+ # @return [Hash<String,Object>]
1072
+ attr_accessor :metadata
1073
+
1074
+ # The server-assigned name, which is only unique within the same service that
1075
+ # originally returns it. If you use the default HTTP mapping, the
1076
+ # `name` should be a resource name ending with `operations/`unique_id``.
1077
+ # Corresponds to the JSON property `name`
1078
+ # @return [String]
1079
+ attr_accessor :name
1080
+
1081
+ # The normal response of the operation in case of success. If the original
1082
+ # method returns no data on success, such as `Delete`, the response is
1083
+ # `google.protobuf.Empty`. If the original method is standard
1084
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1085
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1086
+ # is the original method name. For example, if the original method name
1087
+ # is `TakeSnapshot()`, the inferred response type is
1088
+ # `TakeSnapshotResponse`.
1089
+ # Corresponds to the JSON property `response`
1090
+ # @return [Hash<String,Object>]
1091
+ attr_accessor :response
1092
+
1093
+ def initialize(**args)
1094
+ update!(**args)
1095
+ end
1096
+
1097
+ # Update properties of this object
1098
+ def update!(**args)
1099
+ @done = args[:done] if args.key?(:done)
1100
+ @error = args[:error] if args.key?(:error)
1101
+ @metadata = args[:metadata] if args.key?(:metadata)
1102
+ @name = args[:name] if args.key?(:name)
1103
+ @response = args[:response] if args.key?(:response)
1104
+ end
1105
+ end
1106
+
1107
+ # Metadata describing an Operation
1108
+ class OperationMetadata
1109
+ include Google::Apis::Core::Hashable
1110
+
1111
+ # API version.
1112
+ # Corresponds to the JSON property `apiVersion`
1113
+ # @return [String]
1114
+ attr_accessor :api_version
1115
+
1116
+ # Specifies if cancellation was requested for the operation.
1117
+ # Corresponds to the JSON property `cancelRequested`
1118
+ # @return [Boolean]
1119
+ attr_accessor :cancel_requested
1120
+ alias_method :cancel_requested?, :cancel_requested
1121
+
1122
+ # The time the operation was created.
1123
+ # Corresponds to the JSON property `createTime`
1124
+ # @return [String]
1125
+ attr_accessor :create_time
1126
+
1127
+ # The time the operation finished running.
1128
+ # Corresponds to the JSON property `endTime`
1129
+ # @return [String]
1130
+ attr_accessor :end_time
1131
+
1132
+ # Human-readable status of the operation, if any.
1133
+ # Corresponds to the JSON property `statusDetail`
1134
+ # @return [String]
1135
+ attr_accessor :status_detail
1136
+
1137
+ # Target of the operation - for example
1138
+ # projects/project-1/locations/global/connectivityTests/test-1
1139
+ # Corresponds to the JSON property `target`
1140
+ # @return [String]
1141
+ attr_accessor :target
1142
+
1143
+ # Name of the verb executed by the operation.
1144
+ # Corresponds to the JSON property `verb`
1145
+ # @return [String]
1146
+ attr_accessor :verb
1147
+
1148
+ def initialize(**args)
1149
+ update!(**args)
1150
+ end
1151
+
1152
+ # Update properties of this object
1153
+ def update!(**args)
1154
+ @api_version = args[:api_version] if args.key?(:api_version)
1155
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
1156
+ @create_time = args[:create_time] if args.key?(:create_time)
1157
+ @end_time = args[:end_time] if args.key?(:end_time)
1158
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
1159
+ @target = args[:target] if args.key?(:target)
1160
+ @verb = args[:verb] if args.key?(:verb)
1161
+ end
1162
+ end
1163
+
1164
+ # An Identity and Access Management (IAM) policy, which specifies access
1165
+ # controls for Google Cloud resources.
1166
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1167
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1168
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1169
+ # permissions; each `role` can be an IAM predefined role or a user-created
1170
+ # custom role.
1171
+ # For some types of Google Cloud resources, a `binding` can also specify a
1172
+ # `condition`, which is a logical expression that allows access to a resource
1173
+ # only if the expression evaluates to `true`. A condition can add constraints
1174
+ # based on attributes of the request, the resource, or both. To learn which
1175
+ # resources support conditions in their IAM policies, see the
1176
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1177
+ # policies).
1178
+ # **JSON example:**
1179
+ # `
1180
+ # "bindings": [
1181
+ # `
1182
+ # "role": "roles/resourcemanager.organizationAdmin",
1183
+ # "members": [
1184
+ # "user:mike@example.com",
1185
+ # "group:admins@example.com",
1186
+ # "domain:google.com",
1187
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1188
+ # ]
1189
+ # `,
1190
+ # `
1191
+ # "role": "roles/resourcemanager.organizationViewer",
1192
+ # "members": [
1193
+ # "user:eve@example.com"
1194
+ # ],
1195
+ # "condition": `
1196
+ # "title": "expirable access",
1197
+ # "description": "Does not grant access after Sep 2020",
1198
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1199
+ # ",
1200
+ # `
1201
+ # `
1202
+ # ],
1203
+ # "etag": "BwWWja0YfJA=",
1204
+ # "version": 3
1205
+ # `
1206
+ # **YAML example:**
1207
+ # bindings:
1208
+ # - members:
1209
+ # - user:mike@example.com
1210
+ # - group:admins@example.com
1211
+ # - domain:google.com
1212
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1213
+ # role: roles/resourcemanager.organizationAdmin
1214
+ # - members:
1215
+ # - user:eve@example.com
1216
+ # role: roles/resourcemanager.organizationViewer
1217
+ # condition:
1218
+ # title: expirable access
1219
+ # description: Does not grant access after Sep 2020
1220
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1221
+ # - etag: BwWWja0YfJA=
1222
+ # - version: 3
1223
+ # For a description of IAM and its features, see the
1224
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1225
+ class Policy
1226
+ include Google::Apis::Core::Hashable
1227
+
1228
+ # Specifies cloud audit logging configuration for this policy.
1229
+ # Corresponds to the JSON property `auditConfigs`
1230
+ # @return [Array<Google::Apis::NetworkmanagementV1::AuditConfig>]
1231
+ attr_accessor :audit_configs
1232
+
1233
+ # Associates a list of `members` to a `role`. Optionally, may specify a
1234
+ # `condition` that determines how and when the `bindings` are applied. Each
1235
+ # of the `bindings` must contain at least one member.
1236
+ # Corresponds to the JSON property `bindings`
1237
+ # @return [Array<Google::Apis::NetworkmanagementV1::Binding>]
1238
+ attr_accessor :bindings
1239
+
1240
+ # `etag` is used for optimistic concurrency control as a way to help
1241
+ # prevent simultaneous updates of a policy from overwriting each other.
1242
+ # It is strongly suggested that systems make use of the `etag` in the
1243
+ # read-modify-write cycle to perform policy updates in order to avoid race
1244
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1245
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1246
+ # ensure that their change will be applied to the same version of the policy.
1247
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1248
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1249
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1250
+ # the conditions in the version `3` policy are lost.
1251
+ # Corresponds to the JSON property `etag`
1252
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1253
+ # @return [String]
1254
+ attr_accessor :etag
1255
+
1256
+ # Specifies the format of the policy.
1257
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1258
+ # are rejected.
1259
+ # Any operation that affects conditional role bindings must specify version
1260
+ # `3`. This requirement applies to the following operations:
1261
+ # * Getting a policy that includes a conditional role binding
1262
+ # * Adding a conditional role binding to a policy
1263
+ # * Changing a conditional role binding in a policy
1264
+ # * Removing any role binding, with or without a condition, from a policy
1265
+ # that includes conditions
1266
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1267
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1268
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1269
+ # the conditions in the version `3` policy are lost.
1270
+ # If a policy does not include any conditions, operations on that policy may
1271
+ # specify any valid version or leave the field unset.
1272
+ # To learn which resources support conditions in their IAM policies, see the
1273
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1274
+ # policies).
1275
+ # Corresponds to the JSON property `version`
1276
+ # @return [Fixnum]
1277
+ attr_accessor :version
1278
+
1279
+ def initialize(**args)
1280
+ update!(**args)
1281
+ end
1282
+
1283
+ # Update properties of this object
1284
+ def update!(**args)
1285
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1286
+ @bindings = args[:bindings] if args.key?(:bindings)
1287
+ @etag = args[:etag] if args.key?(:etag)
1288
+ @version = args[:version] if args.key?(:version)
1289
+ end
1290
+ end
1291
+
1292
+ # The details of reachability state from the latest run.
1293
+ class ReachabilityDetails
1294
+ include Google::Apis::Core::Hashable
1295
+
1296
+ # The `Status` type defines a logical error model that is suitable for
1297
+ # different programming environments, including REST APIs and RPC APIs. It is
1298
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1299
+ # three pieces of data: error code, error message, and error details.
1300
+ # You can find out more about this error model and how to work with it in the
1301
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1302
+ # Corresponds to the JSON property `error`
1303
+ # @return [Google::Apis::NetworkmanagementV1::Status]
1304
+ attr_accessor :error
1305
+
1306
+ # The overall reachability result of the test.
1307
+ # Corresponds to the JSON property `result`
1308
+ # @return [String]
1309
+ attr_accessor :result
1310
+
1311
+ # Result may contain a list of traces if a test has multiple possible
1312
+ # paths in the network, such as when destination endpoint is a load balancer
1313
+ # with multiple backends.
1314
+ # Corresponds to the JSON property `traces`
1315
+ # @return [Array<Google::Apis::NetworkmanagementV1::Trace>]
1316
+ attr_accessor :traces
1317
+
1318
+ # The time the reachability state was verified.
1319
+ # Corresponds to the JSON property `verifyTime`
1320
+ # @return [String]
1321
+ attr_accessor :verify_time
1322
+
1323
+ def initialize(**args)
1324
+ update!(**args)
1325
+ end
1326
+
1327
+ # Update properties of this object
1328
+ def update!(**args)
1329
+ @error = args[:error] if args.key?(:error)
1330
+ @result = args[:result] if args.key?(:result)
1331
+ @traces = args[:traces] if args.key?(:traces)
1332
+ @verify_time = args[:verify_time] if args.key?(:verify_time)
1333
+ end
1334
+ end
1335
+
1336
+ # Request for the `RerunConnectivityTest` method.
1337
+ class RerunConnectivityTestRequest
1338
+ include Google::Apis::Core::Hashable
1339
+
1340
+ def initialize(**args)
1341
+ update!(**args)
1342
+ end
1343
+
1344
+ # Update properties of this object
1345
+ def update!(**args)
1346
+ end
1347
+ end
1348
+
1349
+ # For display only. Metadata associated with a Compute Engine route.
1350
+ class RouteInfo
1351
+ include Google::Apis::Core::Hashable
1352
+
1353
+ # Destination IP range of the route.
1354
+ # Corresponds to the JSON property `destIpRange`
1355
+ # @return [String]
1356
+ attr_accessor :dest_ip_range
1357
+
1358
+ # Name of a Compute Engine route.
1359
+ # Corresponds to the JSON property `displayName`
1360
+ # @return [String]
1361
+ attr_accessor :display_name
1362
+
1363
+ # Instance tags of the route.
1364
+ # Corresponds to the JSON property `instanceTags`
1365
+ # @return [Array<String>]
1366
+ attr_accessor :instance_tags
1367
+
1368
+ # URI of a Compute Engine network.
1369
+ # Corresponds to the JSON property `networkUri`
1370
+ # @return [String]
1371
+ attr_accessor :network_uri
1372
+
1373
+ # Next hop of the route.
1374
+ # Corresponds to the JSON property `nextHop`
1375
+ # @return [String]
1376
+ attr_accessor :next_hop
1377
+
1378
+ # Type of next hop.
1379
+ # Corresponds to the JSON property `nextHopType`
1380
+ # @return [String]
1381
+ attr_accessor :next_hop_type
1382
+
1383
+ # Priority of the route.
1384
+ # Corresponds to the JSON property `priority`
1385
+ # @return [Fixnum]
1386
+ attr_accessor :priority
1387
+
1388
+ # Type of route.
1389
+ # Corresponds to the JSON property `routeType`
1390
+ # @return [String]
1391
+ attr_accessor :route_type
1392
+
1393
+ # URI of a Compute Engine route.
1394
+ # Dynamic route from cloud router does not have a URI.
1395
+ # Advertised route from Google Cloud VPC to on-premises network also does
1396
+ # not have a URI.
1397
+ # Corresponds to the JSON property `uri`
1398
+ # @return [String]
1399
+ attr_accessor :uri
1400
+
1401
+ def initialize(**args)
1402
+ update!(**args)
1403
+ end
1404
+
1405
+ # Update properties of this object
1406
+ def update!(**args)
1407
+ @dest_ip_range = args[:dest_ip_range] if args.key?(:dest_ip_range)
1408
+ @display_name = args[:display_name] if args.key?(:display_name)
1409
+ @instance_tags = args[:instance_tags] if args.key?(:instance_tags)
1410
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
1411
+ @next_hop = args[:next_hop] if args.key?(:next_hop)
1412
+ @next_hop_type = args[:next_hop_type] if args.key?(:next_hop_type)
1413
+ @priority = args[:priority] if args.key?(:priority)
1414
+ @route_type = args[:route_type] if args.key?(:route_type)
1415
+ @uri = args[:uri] if args.key?(:uri)
1416
+ end
1417
+ end
1418
+
1419
+ # Request message for `SetIamPolicy` method.
1420
+ class SetIamPolicyRequest
1421
+ include Google::Apis::Core::Hashable
1422
+
1423
+ # An Identity and Access Management (IAM) policy, which specifies access
1424
+ # controls for Google Cloud resources.
1425
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1426
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1427
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1428
+ # permissions; each `role` can be an IAM predefined role or a user-created
1429
+ # custom role.
1430
+ # For some types of Google Cloud resources, a `binding` can also specify a
1431
+ # `condition`, which is a logical expression that allows access to a resource
1432
+ # only if the expression evaluates to `true`. A condition can add constraints
1433
+ # based on attributes of the request, the resource, or both. To learn which
1434
+ # resources support conditions in their IAM policies, see the
1435
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1436
+ # policies).
1437
+ # **JSON example:**
1438
+ # `
1439
+ # "bindings": [
1440
+ # `
1441
+ # "role": "roles/resourcemanager.organizationAdmin",
1442
+ # "members": [
1443
+ # "user:mike@example.com",
1444
+ # "group:admins@example.com",
1445
+ # "domain:google.com",
1446
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1447
+ # ]
1448
+ # `,
1449
+ # `
1450
+ # "role": "roles/resourcemanager.organizationViewer",
1451
+ # "members": [
1452
+ # "user:eve@example.com"
1453
+ # ],
1454
+ # "condition": `
1455
+ # "title": "expirable access",
1456
+ # "description": "Does not grant access after Sep 2020",
1457
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1458
+ # ",
1459
+ # `
1460
+ # `
1461
+ # ],
1462
+ # "etag": "BwWWja0YfJA=",
1463
+ # "version": 3
1464
+ # `
1465
+ # **YAML example:**
1466
+ # bindings:
1467
+ # - members:
1468
+ # - user:mike@example.com
1469
+ # - group:admins@example.com
1470
+ # - domain:google.com
1471
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1472
+ # role: roles/resourcemanager.organizationAdmin
1473
+ # - members:
1474
+ # - user:eve@example.com
1475
+ # role: roles/resourcemanager.organizationViewer
1476
+ # condition:
1477
+ # title: expirable access
1478
+ # description: Does not grant access after Sep 2020
1479
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1480
+ # - etag: BwWWja0YfJA=
1481
+ # - version: 3
1482
+ # For a description of IAM and its features, see the
1483
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1484
+ # Corresponds to the JSON property `policy`
1485
+ # @return [Google::Apis::NetworkmanagementV1::Policy]
1486
+ attr_accessor :policy
1487
+
1488
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1489
+ # the fields in the mask will be modified. If no mask is provided, the
1490
+ # following default mask is used:
1491
+ # `paths: "bindings, etag"`
1492
+ # Corresponds to the JSON property `updateMask`
1493
+ # @return [String]
1494
+ attr_accessor :update_mask
1495
+
1496
+ def initialize(**args)
1497
+ update!(**args)
1498
+ end
1499
+
1500
+ # Update properties of this object
1501
+ def update!(**args)
1502
+ @policy = args[:policy] if args.key?(:policy)
1503
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1504
+ end
1505
+ end
1506
+
1507
+ # The `Status` type defines a logical error model that is suitable for
1508
+ # different programming environments, including REST APIs and RPC APIs. It is
1509
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1510
+ # three pieces of data: error code, error message, and error details.
1511
+ # You can find out more about this error model and how to work with it in the
1512
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1513
+ class Status
1514
+ include Google::Apis::Core::Hashable
1515
+
1516
+ # The status code, which should be an enum value of google.rpc.Code.
1517
+ # Corresponds to the JSON property `code`
1518
+ # @return [Fixnum]
1519
+ attr_accessor :code
1520
+
1521
+ # A list of messages that carry the error details. There is a common set of
1522
+ # message types for APIs to use.
1523
+ # Corresponds to the JSON property `details`
1524
+ # @return [Array<Hash<String,Object>>]
1525
+ attr_accessor :details
1526
+
1527
+ # A developer-facing error message, which should be in English. Any
1528
+ # user-facing error message should be localized and sent in the
1529
+ # google.rpc.Status.details field, or localized by the client.
1530
+ # Corresponds to the JSON property `message`
1531
+ # @return [String]
1532
+ attr_accessor :message
1533
+
1534
+ def initialize(**args)
1535
+ update!(**args)
1536
+ end
1537
+
1538
+ # Update properties of this object
1539
+ def update!(**args)
1540
+ @code = args[:code] if args.key?(:code)
1541
+ @details = args[:details] if args.key?(:details)
1542
+ @message = args[:message] if args.key?(:message)
1543
+ end
1544
+ end
1545
+
1546
+ # A simulated forwarding path is composed of multiple steps.
1547
+ # Each step has a well-defined state and an associated configuration.
1548
+ class Step
1549
+ include Google::Apis::Core::Hashable
1550
+
1551
+ # Details of the final state "abort" and associated resource.
1552
+ # Corresponds to the JSON property `abort`
1553
+ # @return [Google::Apis::NetworkmanagementV1::AbortInfo]
1554
+ attr_accessor :abort
1555
+
1556
+ # This is a step that leads to the final state Drop.
1557
+ # Corresponds to the JSON property `causesDrop`
1558
+ # @return [Boolean]
1559
+ attr_accessor :causes_drop
1560
+ alias_method :causes_drop?, :causes_drop
1561
+
1562
+ # Details of the final state "deliver" and associated resource.
1563
+ # Corresponds to the JSON property `deliver`
1564
+ # @return [Google::Apis::NetworkmanagementV1::DeliverInfo]
1565
+ attr_accessor :deliver
1566
+
1567
+ # A description of the step. Usually this is a summary of the state.
1568
+ # Corresponds to the JSON property `description`
1569
+ # @return [String]
1570
+ attr_accessor :description
1571
+
1572
+ # Details of the final state "drop" and associated resource.
1573
+ # Corresponds to the JSON property `drop`
1574
+ # @return [Google::Apis::NetworkmanagementV1::DropInfo]
1575
+ attr_accessor :drop
1576
+
1577
+ # For display only. The specification of the endpoints for the test.
1578
+ # EndpointInfo is derived from source and destination Endpoint and validated
1579
+ # by the backend data plane model.
1580
+ # Corresponds to the JSON property `endpoint`
1581
+ # @return [Google::Apis::NetworkmanagementV1::EndpointInfo]
1582
+ attr_accessor :endpoint
1583
+
1584
+ # For display only. Metadata associated with a Compute Engine firewall rule.
1585
+ # Corresponds to the JSON property `firewall`
1586
+ # @return [Google::Apis::NetworkmanagementV1::FirewallInfo]
1587
+ attr_accessor :firewall
1588
+
1589
+ # Details of the final state "forward" and associated resource.
1590
+ # Corresponds to the JSON property `forward`
1591
+ # @return [Google::Apis::NetworkmanagementV1::ForwardInfo]
1592
+ attr_accessor :forward
1593
+
1594
+ # For display only. Metadata associated with a Compute Engine forwarding rule.
1595
+ # Corresponds to the JSON property `forwardingRule`
1596
+ # @return [Google::Apis::NetworkmanagementV1::ForwardingRuleInfo]
1597
+ attr_accessor :forwarding_rule
1598
+
1599
+ # For display only. Metadata associated with a Compute Engine instance.
1600
+ # Corresponds to the JSON property `instance`
1601
+ # @return [Google::Apis::NetworkmanagementV1::InstanceInfo]
1602
+ attr_accessor :instance
1603
+
1604
+ # For display only. Metadata associated with a load balancer.
1605
+ # Corresponds to the JSON property `loadBalancer`
1606
+ # @return [Google::Apis::NetworkmanagementV1::LoadBalancerInfo]
1607
+ attr_accessor :load_balancer
1608
+
1609
+ # For display only. Metadata associated with a Compute Engine network.
1610
+ # Corresponds to the JSON property `network`
1611
+ # @return [Google::Apis::NetworkmanagementV1::NetworkInfo]
1612
+ attr_accessor :network
1613
+
1614
+ # Project ID that contains the configuration this step is validating.
1615
+ # Corresponds to the JSON property `projectId`
1616
+ # @return [String]
1617
+ attr_accessor :project_id
1618
+
1619
+ # For display only. Metadata associated with a Compute Engine route.
1620
+ # Corresponds to the JSON property `route`
1621
+ # @return [Google::Apis::NetworkmanagementV1::RouteInfo]
1622
+ attr_accessor :route
1623
+
1624
+ # Each step is in one of the pre-defined states.
1625
+ # Corresponds to the JSON property `state`
1626
+ # @return [String]
1627
+ attr_accessor :state
1628
+
1629
+ # For display only. Metadata associated with a Compute Engine VPN gateway.
1630
+ # Corresponds to the JSON property `vpnGateway`
1631
+ # @return [Google::Apis::NetworkmanagementV1::VpnGatewayInfo]
1632
+ attr_accessor :vpn_gateway
1633
+
1634
+ # For display only. Metadata associated with a Compute Engine VPN tunnel.
1635
+ # Corresponds to the JSON property `vpnTunnel`
1636
+ # @return [Google::Apis::NetworkmanagementV1::VpnTunnelInfo]
1637
+ attr_accessor :vpn_tunnel
1638
+
1639
+ def initialize(**args)
1640
+ update!(**args)
1641
+ end
1642
+
1643
+ # Update properties of this object
1644
+ def update!(**args)
1645
+ @abort = args[:abort] if args.key?(:abort)
1646
+ @causes_drop = args[:causes_drop] if args.key?(:causes_drop)
1647
+ @deliver = args[:deliver] if args.key?(:deliver)
1648
+ @description = args[:description] if args.key?(:description)
1649
+ @drop = args[:drop] if args.key?(:drop)
1650
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
1651
+ @firewall = args[:firewall] if args.key?(:firewall)
1652
+ @forward = args[:forward] if args.key?(:forward)
1653
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
1654
+ @instance = args[:instance] if args.key?(:instance)
1655
+ @load_balancer = args[:load_balancer] if args.key?(:load_balancer)
1656
+ @network = args[:network] if args.key?(:network)
1657
+ @project_id = args[:project_id] if args.key?(:project_id)
1658
+ @route = args[:route] if args.key?(:route)
1659
+ @state = args[:state] if args.key?(:state)
1660
+ @vpn_gateway = args[:vpn_gateway] if args.key?(:vpn_gateway)
1661
+ @vpn_tunnel = args[:vpn_tunnel] if args.key?(:vpn_tunnel)
1662
+ end
1663
+ end
1664
+
1665
+ # Request message for `TestIamPermissions` method.
1666
+ class TestIamPermissionsRequest
1667
+ include Google::Apis::Core::Hashable
1668
+
1669
+ # The set of permissions to check for the `resource`. Permissions with
1670
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1671
+ # information see
1672
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1673
+ # Corresponds to the JSON property `permissions`
1674
+ # @return [Array<String>]
1675
+ attr_accessor :permissions
1676
+
1677
+ def initialize(**args)
1678
+ update!(**args)
1679
+ end
1680
+
1681
+ # Update properties of this object
1682
+ def update!(**args)
1683
+ @permissions = args[:permissions] if args.key?(:permissions)
1684
+ end
1685
+ end
1686
+
1687
+ # Response message for `TestIamPermissions` method.
1688
+ class TestIamPermissionsResponse
1689
+ include Google::Apis::Core::Hashable
1690
+
1691
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
1692
+ # allowed.
1693
+ # Corresponds to the JSON property `permissions`
1694
+ # @return [Array<String>]
1695
+ attr_accessor :permissions
1696
+
1697
+ def initialize(**args)
1698
+ update!(**args)
1699
+ end
1700
+
1701
+ # Update properties of this object
1702
+ def update!(**args)
1703
+ @permissions = args[:permissions] if args.key?(:permissions)
1704
+ end
1705
+ end
1706
+
1707
+ # Trace represents one simulated packet forwarding path.
1708
+ # <ul>
1709
+ # <li>Each trace contains multiple ordered steps.</li>
1710
+ # <li>Each step is in a particular state and has an associated
1711
+ # configuration.</li> <li>State is categorized as a final or non-final
1712
+ # state.</li> <li>Each final state has a reason associated with it.</li>
1713
+ # <li>Each trace must end with a final state (the last step).</li>
1714
+ # </ul>
1715
+ # <pre><code>
1716
+ # |---------------------Trace----------------------|
1717
+ # Step1(State) Step2(State) --- StepN(State(final))
1718
+ # </code></pre>
1719
+ class Trace
1720
+ include Google::Apis::Core::Hashable
1721
+
1722
+ # For display only. The specification of the endpoints for the test.
1723
+ # EndpointInfo is derived from source and destination Endpoint and validated
1724
+ # by the backend data plane model.
1725
+ # Corresponds to the JSON property `endpointInfo`
1726
+ # @return [Google::Apis::NetworkmanagementV1::EndpointInfo]
1727
+ attr_accessor :endpoint_info
1728
+
1729
+ # A trace of a test contains multiple steps from the initial state to the
1730
+ # final state (delivered, dropped, forwarded, or aborted).
1731
+ # The steps are ordered by the processing sequence within the simulated
1732
+ # network state machine. It is critical to preserve the order of the steps
1733
+ # and avoid reordering or sorting them.
1734
+ # Corresponds to the JSON property `steps`
1735
+ # @return [Array<Google::Apis::NetworkmanagementV1::Step>]
1736
+ attr_accessor :steps
1737
+
1738
+ def initialize(**args)
1739
+ update!(**args)
1740
+ end
1741
+
1742
+ # Update properties of this object
1743
+ def update!(**args)
1744
+ @endpoint_info = args[:endpoint_info] if args.key?(:endpoint_info)
1745
+ @steps = args[:steps] if args.key?(:steps)
1746
+ end
1747
+ end
1748
+
1749
+ # For display only. Metadata associated with a Compute Engine VPN gateway.
1750
+ class VpnGatewayInfo
1751
+ include Google::Apis::Core::Hashable
1752
+
1753
+ # Name of a VPN gateway.
1754
+ # Corresponds to the JSON property `displayName`
1755
+ # @return [String]
1756
+ attr_accessor :display_name
1757
+
1758
+ # IP address of the VPN gateway.
1759
+ # Corresponds to the JSON property `ipAddress`
1760
+ # @return [String]
1761
+ attr_accessor :ip_address
1762
+
1763
+ # URI of a Compute Engine network where the VPN gateway is configured.
1764
+ # Corresponds to the JSON property `networkUri`
1765
+ # @return [String]
1766
+ attr_accessor :network_uri
1767
+
1768
+ # Name of a GCP region where this VPN gateway is configured.
1769
+ # Corresponds to the JSON property `region`
1770
+ # @return [String]
1771
+ attr_accessor :region
1772
+
1773
+ # URI of a VPN gateway.
1774
+ # Corresponds to the JSON property `uri`
1775
+ # @return [String]
1776
+ attr_accessor :uri
1777
+
1778
+ # A VPN tunnel that is associated with this VPN gateway.
1779
+ # There may be multiple VPN tunnels configured on a VPN gateway, and only
1780
+ # the one relevant to the test is displayed.
1781
+ # Corresponds to the JSON property `vpnTunnelUri`
1782
+ # @return [String]
1783
+ attr_accessor :vpn_tunnel_uri
1784
+
1785
+ def initialize(**args)
1786
+ update!(**args)
1787
+ end
1788
+
1789
+ # Update properties of this object
1790
+ def update!(**args)
1791
+ @display_name = args[:display_name] if args.key?(:display_name)
1792
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
1793
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
1794
+ @region = args[:region] if args.key?(:region)
1795
+ @uri = args[:uri] if args.key?(:uri)
1796
+ @vpn_tunnel_uri = args[:vpn_tunnel_uri] if args.key?(:vpn_tunnel_uri)
1797
+ end
1798
+ end
1799
+
1800
+ # For display only. Metadata associated with a Compute Engine VPN tunnel.
1801
+ class VpnTunnelInfo
1802
+ include Google::Apis::Core::Hashable
1803
+
1804
+ # Name of a VPN tunnel.
1805
+ # Corresponds to the JSON property `displayName`
1806
+ # @return [String]
1807
+ attr_accessor :display_name
1808
+
1809
+ # URI of a Compute Engine network where the VPN tunnel is configured.
1810
+ # Corresponds to the JSON property `networkUri`
1811
+ # @return [String]
1812
+ attr_accessor :network_uri
1813
+
1814
+ # Name of a GCP region where this VPN tunnel is configured.
1815
+ # Corresponds to the JSON property `region`
1816
+ # @return [String]
1817
+ attr_accessor :region
1818
+
1819
+ # URI of a VPN gateway at remote end of the tunnel.
1820
+ # Corresponds to the JSON property `remoteGateway`
1821
+ # @return [String]
1822
+ attr_accessor :remote_gateway
1823
+
1824
+ # Remote VPN gateway's IP address.
1825
+ # Corresponds to the JSON property `remoteGatewayIp`
1826
+ # @return [String]
1827
+ attr_accessor :remote_gateway_ip
1828
+
1829
+ # Type of the routing policy.
1830
+ # Corresponds to the JSON property `routingType`
1831
+ # @return [String]
1832
+ attr_accessor :routing_type
1833
+
1834
+ # URI of the VPN gateway at local end of the tunnel.
1835
+ # Corresponds to the JSON property `sourceGateway`
1836
+ # @return [String]
1837
+ attr_accessor :source_gateway
1838
+
1839
+ # Local VPN gateway's IP address.
1840
+ # Corresponds to the JSON property `sourceGatewayIp`
1841
+ # @return [String]
1842
+ attr_accessor :source_gateway_ip
1843
+
1844
+ # URI of a VPN tunnel.
1845
+ # Corresponds to the JSON property `uri`
1846
+ # @return [String]
1847
+ attr_accessor :uri
1848
+
1849
+ def initialize(**args)
1850
+ update!(**args)
1851
+ end
1852
+
1853
+ # Update properties of this object
1854
+ def update!(**args)
1855
+ @display_name = args[:display_name] if args.key?(:display_name)
1856
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
1857
+ @region = args[:region] if args.key?(:region)
1858
+ @remote_gateway = args[:remote_gateway] if args.key?(:remote_gateway)
1859
+ @remote_gateway_ip = args[:remote_gateway_ip] if args.key?(:remote_gateway_ip)
1860
+ @routing_type = args[:routing_type] if args.key?(:routing_type)
1861
+ @source_gateway = args[:source_gateway] if args.key?(:source_gateway)
1862
+ @source_gateway_ip = args[:source_gateway_ip] if args.key?(:source_gateway_ip)
1863
+ @uri = args[:uri] if args.key?(:uri)
1864
+ end
1865
+ end
1866
+ end
1867
+ end
1868
+ end