google-api-client 0.37.2 → 0.37.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +74 -0
  3. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  4. data/generated/google/apis/accesscontextmanager_v1/classes.rb +11 -1
  5. data/generated/google/apis/accesscontextmanager_v1/representations.rb +1 -0
  6. data/generated/google/apis/accesscontextmanager_v1/service.rb +6 -5
  7. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +2 -1
  9. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +6 -5
  10. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  11. data/generated/google/apis/alertcenter_v1beta1/classes.rb +7 -71
  12. data/generated/google/apis/alertcenter_v1beta1/representations.rb +0 -31
  13. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  14. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  15. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  16. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +111 -9
  17. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +56 -0
  18. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +151 -0
  19. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  20. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +2 -2
  21. data/generated/google/apis/billingbudgets_v1beta1/service.rb +11 -0
  22. data/generated/google/apis/chat_v1.rb +1 -1
  23. data/generated/google/apis/chat_v1/classes.rb +4 -2
  24. data/generated/google/apis/classroom_v1.rb +1 -1
  25. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  26. data/generated/google/apis/cloudbuild_v1/classes.rb +23 -0
  27. data/generated/google/apis/cloudbuild_v1/representations.rb +3 -0
  28. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  29. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +8 -0
  30. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +1 -0
  31. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -5
  32. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  33. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +8 -0
  34. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +1 -0
  35. data/generated/google/apis/clouddebugger_v2.rb +2 -2
  36. data/generated/google/apis/clouddebugger_v2/service.rb +1 -1
  37. data/generated/google/apis/clouderrorreporting_v1beta1.rb +2 -2
  38. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +1 -1
  39. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  40. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +2 -2
  41. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  42. data/generated/google/apis/cloudtasks_v2/classes.rb +30 -0
  43. data/generated/google/apis/cloudtasks_v2/representations.rb +15 -0
  44. data/generated/google/apis/cloudtrace_v1.rb +4 -4
  45. data/generated/google/apis/cloudtrace_v1/service.rb +3 -3
  46. data/generated/google/apis/cloudtrace_v2.rb +4 -4
  47. data/generated/google/apis/cloudtrace_v2/service.rb +3 -3
  48. data/generated/google/apis/cloudtrace_v2beta1.rb +4 -4
  49. data/generated/google/apis/cloudtrace_v2beta1/service.rb +3 -3
  50. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  51. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +2 -2
  52. data/generated/google/apis/container_v1.rb +1 -1
  53. data/generated/google/apis/container_v1/classes.rb +224 -66
  54. data/generated/google/apis/container_v1/representations.rb +70 -0
  55. data/generated/google/apis/container_v1/service.rb +116 -116
  56. data/generated/google/apis/container_v1beta1/classes.rb +18 -4
  57. data/generated/google/apis/container_v1beta1/representations.rb +2 -0
  58. data/generated/google/apis/content_v2.rb +1 -1
  59. data/generated/google/apis/content_v2/classes.rb +18 -2
  60. data/generated/google/apis/content_v2/service.rb +3 -1
  61. data/generated/google/apis/content_v2_1.rb +1 -1
  62. data/generated/google/apis/content_v2_1/classes.rb +51 -0
  63. data/generated/google/apis/content_v2_1/representations.rb +15 -0
  64. data/generated/google/apis/content_v2_1/service.rb +73 -1
  65. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  66. data/generated/google/apis/datacatalog_v1beta1/classes.rb +27 -0
  67. data/generated/google/apis/datacatalog_v1beta1/representations.rb +15 -0
  68. data/generated/google/apis/datacatalog_v1beta1/service.rb +43 -0
  69. data/generated/google/apis/dataproc_v1.rb +1 -1
  70. data/generated/google/apis/dataproc_v1/classes.rb +15 -0
  71. data/generated/google/apis/dataproc_v1/representations.rb +2 -0
  72. data/generated/google/apis/dialogflow_v2.rb +1 -1
  73. data/generated/google/apis/dialogflow_v2/classes.rb +11 -3
  74. data/generated/google/apis/dialogflow_v2/service.rb +555 -16
  75. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  76. data/generated/google/apis/dialogflow_v2beta1/classes.rb +11 -3
  77. data/generated/google/apis/dialogflow_v2beta1/service.rb +26 -42
  78. data/generated/google/apis/displayvideo_v1.rb +1 -1
  79. data/generated/google/apis/dlp_v2.rb +1 -1
  80. data/generated/google/apis/dlp_v2/classes.rb +417 -2
  81. data/generated/google/apis/dlp_v2/representations.rb +175 -0
  82. data/generated/google/apis/dlp_v2/service.rb +116 -0
  83. data/generated/google/apis/file_v1.rb +1 -1
  84. data/generated/google/apis/file_v1/classes.rb +1 -145
  85. data/generated/google/apis/file_v1/representations.rb +0 -34
  86. data/generated/google/apis/file_v1beta1.rb +1 -1
  87. data/generated/google/apis/file_v1beta1/classes.rb +1 -145
  88. data/generated/google/apis/file_v1beta1/representations.rb +0 -34
  89. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  90. data/generated/google/apis/firebase_v1beta1/service.rb +3 -3
  91. data/generated/google/apis/firebaserules_v1.rb +1 -1
  92. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  93. data/generated/google/apis/healthcare_v1beta1/classes.rb +4 -0
  94. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  95. data/generated/google/apis/iap_v1beta1.rb +1 -1
  96. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  97. data/generated/google/apis/logging_v2.rb +6 -7
  98. data/generated/google/apis/logging_v2/service.rb +5 -6
  99. data/generated/google/apis/manufacturers_v1.rb +1 -1
  100. data/generated/google/apis/manufacturers_v1/classes.rb +7 -0
  101. data/generated/google/apis/manufacturers_v1/representations.rb +1 -0
  102. data/generated/google/apis/ml_v1.rb +1 -1
  103. data/generated/google/apis/ml_v1/classes.rb +966 -21
  104. data/generated/google/apis/ml_v1/representations.rb +477 -0
  105. data/generated/google/apis/ml_v1/service.rb +491 -0
  106. data/generated/google/apis/{toolresults_v1.rb → networkmanagement_v1beta1.rb} +13 -9
  107. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +1856 -0
  108. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +661 -0
  109. data/generated/google/apis/networkmanagement_v1beta1/service.rb +664 -0
  110. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  111. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  112. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  113. data/generated/google/apis/recommender_v1beta1/classes.rb +214 -0
  114. data/generated/google/apis/recommender_v1beta1/representations.rb +96 -0
  115. data/generated/google/apis/recommender_v1beta1/service.rb +123 -0
  116. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  117. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  118. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  119. data/generated/google/apis/run_v1.rb +1 -1
  120. data/generated/google/apis/run_v1/classes.rb +84 -0
  121. data/generated/google/apis/run_v1/representations.rb +44 -0
  122. data/generated/google/apis/run_v1/service.rb +138 -0
  123. data/generated/google/apis/run_v1alpha1.rb +1 -1
  124. data/generated/google/apis/securitycenter_v1.rb +1 -1
  125. data/generated/google/apis/securitycenter_v1/classes.rb +154 -6
  126. data/generated/google/apis/securitycenter_v1/representations.rb +61 -0
  127. data/generated/google/apis/securitycenter_v1/service.rb +194 -6
  128. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  129. data/generated/google/apis/securitycenter_v1beta1/classes.rb +171 -0
  130. data/generated/google/apis/securitycenter_v1beta1/representations.rb +52 -0
  131. data/generated/google/apis/securitycenter_v1p1alpha1.rb +1 -1
  132. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +171 -0
  133. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +52 -0
  134. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  135. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +183 -6
  136. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +52 -0
  137. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +12 -6
  138. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  139. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +8 -7
  140. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  141. data/generated/google/apis/servicemanagement_v1/classes.rb +58 -1
  142. data/generated/google/apis/servicemanagement_v1/representations.rb +17 -0
  143. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  144. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  145. data/generated/google/apis/serviceusage_v1.rb +1 -1
  146. data/generated/google/apis/serviceusage_v1/classes.rb +8 -7
  147. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  148. data/generated/google/apis/serviceusage_v1beta1/classes.rb +280 -7
  149. data/generated/google/apis/serviceusage_v1beta1/representations.rb +117 -0
  150. data/generated/google/apis/serviceusage_v1beta1/service.rb +515 -0
  151. data/generated/google/apis/sheets_v4.rb +1 -1
  152. data/generated/google/apis/testing_v1.rb +1 -1
  153. data/generated/google/apis/testing_v1/classes.rb +7 -1
  154. data/generated/google/apis/testing_v1/representations.rb +1 -0
  155. data/generated/google/apis/tpu_v1.rb +1 -1
  156. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  157. data/generated/google/apis/translate_v3.rb +1 -1
  158. data/generated/google/apis/translate_v3/classes.rb +6 -3
  159. data/generated/google/apis/videointelligence_v1.rb +1 -1
  160. data/generated/google/apis/videointelligence_v1/classes.rb +13 -13
  161. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  162. data/generated/google/apis/videointelligence_v1beta2/classes.rb +13 -13
  163. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  164. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +13 -13
  165. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  166. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +13 -13
  167. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  168. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +13 -13
  169. data/generated/google/apis/vision_v1.rb +1 -1
  170. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  171. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  172. data/lib/google/apis/core/api_command.rb +4 -0
  173. data/lib/google/apis/version.rb +1 -1
  174. metadata +7 -7
  175. data/generated/google/apis/toolresults_v1/classes.rb +0 -696
  176. data/generated/google/apis/toolresults_v1/representations.rb +0 -438
  177. data/generated/google/apis/toolresults_v1/service.rb +0 -59
@@ -12,20 +12,24 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/toolresults_v1/service.rb'
16
- require 'google/apis/toolresults_v1/classes.rb'
17
- require 'google/apis/toolresults_v1/representations.rb'
15
+ require 'google/apis/networkmanagement_v1beta1/service.rb'
16
+ require 'google/apis/networkmanagement_v1beta1/classes.rb'
17
+ require 'google/apis/networkmanagement_v1beta1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Cloud Tool Results API
21
+ # Network Management API
22
22
  #
23
- # API to publish and access results from developer tools.
23
+ # The Network Management API provides a collection of network performance
24
+ # monitoring and diagnostic capabilities.
24
25
  #
25
- # @see https://firebase.google.com/docs/test-lab/
26
- module ToolresultsV1
27
- VERSION = 'V1'
28
- REVISION = '20200224'
26
+ # @see https://cloud.google.com/
27
+ module NetworkmanagementV1beta1
28
+ VERSION = 'V1beta1'
29
+ REVISION = '20200303'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
29
33
  end
30
34
  end
31
35
  end
@@ -0,0 +1,1856 @@
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 NetworkmanagementV1beta1
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::NetworkmanagementV1beta1::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::NetworkmanagementV1beta1::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::NetworkmanagementV1beta1::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`/tests/`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::NetworkmanagementV1beta1::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::NetworkmanagementV1beta1::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::NetworkmanagementV1beta1::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::NetworkmanagementV1beta1::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::NetworkmanagementV1beta1::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::NetworkmanagementV1beta1::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::NetworkmanagementV1beta1::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/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
+ # Optionally, a `binding` can specify a `condition`, which is a logical
1172
+ # expression that allows access to a resource only if the expression evaluates
1173
+ # to `true`. A condition can add constraints based on attributes of the
1174
+ # request, the resource, or both.
1175
+ # **JSON example:**
1176
+ # `
1177
+ # "bindings": [
1178
+ # `
1179
+ # "role": "roles/resourcemanager.organizationAdmin",
1180
+ # "members": [
1181
+ # "user:mike@example.com",
1182
+ # "group:admins@example.com",
1183
+ # "domain:google.com",
1184
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1185
+ # ]
1186
+ # `,
1187
+ # `
1188
+ # "role": "roles/resourcemanager.organizationViewer",
1189
+ # "members": ["user:eve@example.com"],
1190
+ # "condition": `
1191
+ # "title": "expirable access",
1192
+ # "description": "Does not grant access after Sep 2020",
1193
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1194
+ # ",
1195
+ # `
1196
+ # `
1197
+ # ],
1198
+ # "etag": "BwWWja0YfJA=",
1199
+ # "version": 3
1200
+ # `
1201
+ # **YAML example:**
1202
+ # bindings:
1203
+ # - members:
1204
+ # - user:mike@example.com
1205
+ # - group:admins@example.com
1206
+ # - domain:google.com
1207
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1208
+ # role: roles/resourcemanager.organizationAdmin
1209
+ # - members:
1210
+ # - user:eve@example.com
1211
+ # role: roles/resourcemanager.organizationViewer
1212
+ # condition:
1213
+ # title: expirable access
1214
+ # description: Does not grant access after Sep 2020
1215
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1216
+ # - etag: BwWWja0YfJA=
1217
+ # - version: 3
1218
+ # For a description of IAM and its features, see the
1219
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1220
+ class Policy
1221
+ include Google::Apis::Core::Hashable
1222
+
1223
+ # Specifies cloud audit logging configuration for this policy.
1224
+ # Corresponds to the JSON property `auditConfigs`
1225
+ # @return [Array<Google::Apis::NetworkmanagementV1beta1::AuditConfig>]
1226
+ attr_accessor :audit_configs
1227
+
1228
+ # Associates a list of `members` to a `role`. Optionally, may specify a
1229
+ # `condition` that determines how and when the `bindings` are applied. Each
1230
+ # of the `bindings` must contain at least one member.
1231
+ # Corresponds to the JSON property `bindings`
1232
+ # @return [Array<Google::Apis::NetworkmanagementV1beta1::Binding>]
1233
+ attr_accessor :bindings
1234
+
1235
+ # `etag` is used for optimistic concurrency control as a way to help
1236
+ # prevent simultaneous updates of a policy from overwriting each other.
1237
+ # It is strongly suggested that systems make use of the `etag` in the
1238
+ # read-modify-write cycle to perform policy updates in order to avoid race
1239
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1240
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1241
+ # ensure that their change will be applied to the same version of the policy.
1242
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1243
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1244
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1245
+ # the conditions in the version `3` policy are lost.
1246
+ # Corresponds to the JSON property `etag`
1247
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1248
+ # @return [String]
1249
+ attr_accessor :etag
1250
+
1251
+ # Specifies the format of the policy.
1252
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1253
+ # are rejected.
1254
+ # Any operation that affects conditional role bindings must specify version
1255
+ # `3`. This requirement applies to the following operations:
1256
+ # * Getting a policy that includes a conditional role binding
1257
+ # * Adding a conditional role binding to a policy
1258
+ # * Changing a conditional role binding in a policy
1259
+ # * Removing any role binding, with or without a condition, from a policy
1260
+ # that includes conditions
1261
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1262
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1263
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1264
+ # the conditions in the version `3` policy are lost.
1265
+ # If a policy does not include any conditions, operations on that policy may
1266
+ # specify any valid version or leave the field unset.
1267
+ # Corresponds to the JSON property `version`
1268
+ # @return [Fixnum]
1269
+ attr_accessor :version
1270
+
1271
+ def initialize(**args)
1272
+ update!(**args)
1273
+ end
1274
+
1275
+ # Update properties of this object
1276
+ def update!(**args)
1277
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1278
+ @bindings = args[:bindings] if args.key?(:bindings)
1279
+ @etag = args[:etag] if args.key?(:etag)
1280
+ @version = args[:version] if args.key?(:version)
1281
+ end
1282
+ end
1283
+
1284
+ # The details of reachability state from the latest run.
1285
+ class ReachabilityDetails
1286
+ include Google::Apis::Core::Hashable
1287
+
1288
+ # The `Status` type defines a logical error model that is suitable for
1289
+ # different programming environments, including REST APIs and RPC APIs. It is
1290
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1291
+ # three pieces of data: error code, error message, and error details.
1292
+ # You can find out more about this error model and how to work with it in the
1293
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1294
+ # Corresponds to the JSON property `error`
1295
+ # @return [Google::Apis::NetworkmanagementV1beta1::Status]
1296
+ attr_accessor :error
1297
+
1298
+ # The overall reachability result of the test.
1299
+ # Corresponds to the JSON property `result`
1300
+ # @return [String]
1301
+ attr_accessor :result
1302
+
1303
+ # Result may contain a list of traces if a test has multiple possible
1304
+ # paths in the network, such as when destination endpoint is a load balancer
1305
+ # with multiple backends.
1306
+ # Corresponds to the JSON property `traces`
1307
+ # @return [Array<Google::Apis::NetworkmanagementV1beta1::Trace>]
1308
+ attr_accessor :traces
1309
+
1310
+ # The time the reachability state was verified.
1311
+ # Corresponds to the JSON property `verifyTime`
1312
+ # @return [String]
1313
+ attr_accessor :verify_time
1314
+
1315
+ def initialize(**args)
1316
+ update!(**args)
1317
+ end
1318
+
1319
+ # Update properties of this object
1320
+ def update!(**args)
1321
+ @error = args[:error] if args.key?(:error)
1322
+ @result = args[:result] if args.key?(:result)
1323
+ @traces = args[:traces] if args.key?(:traces)
1324
+ @verify_time = args[:verify_time] if args.key?(:verify_time)
1325
+ end
1326
+ end
1327
+
1328
+ # Request for the `RerunConnectivityTest` method.
1329
+ class RerunConnectivityTestRequest
1330
+ include Google::Apis::Core::Hashable
1331
+
1332
+ def initialize(**args)
1333
+ update!(**args)
1334
+ end
1335
+
1336
+ # Update properties of this object
1337
+ def update!(**args)
1338
+ end
1339
+ end
1340
+
1341
+ # For display only. Metadata associated with a Compute Engine route.
1342
+ class RouteInfo
1343
+ include Google::Apis::Core::Hashable
1344
+
1345
+ # Destination IP range of the route.
1346
+ # Corresponds to the JSON property `destIpRange`
1347
+ # @return [String]
1348
+ attr_accessor :dest_ip_range
1349
+
1350
+ # Name of a Compute Engine route.
1351
+ # Corresponds to the JSON property `displayName`
1352
+ # @return [String]
1353
+ attr_accessor :display_name
1354
+
1355
+ # Instance tags of the route.
1356
+ # Corresponds to the JSON property `instanceTags`
1357
+ # @return [Array<String>]
1358
+ attr_accessor :instance_tags
1359
+
1360
+ # URI of a Compute Engine network.
1361
+ # Corresponds to the JSON property `networkUri`
1362
+ # @return [String]
1363
+ attr_accessor :network_uri
1364
+
1365
+ # Next hop of the route.
1366
+ # Corresponds to the JSON property `nextHop`
1367
+ # @return [String]
1368
+ attr_accessor :next_hop
1369
+
1370
+ # Type of next hop.
1371
+ # Corresponds to the JSON property `nextHopType`
1372
+ # @return [String]
1373
+ attr_accessor :next_hop_type
1374
+
1375
+ # Priority of the route.
1376
+ # Corresponds to the JSON property `priority`
1377
+ # @return [Fixnum]
1378
+ attr_accessor :priority
1379
+
1380
+ # Type of route.
1381
+ # Corresponds to the JSON property `routeType`
1382
+ # @return [String]
1383
+ attr_accessor :route_type
1384
+
1385
+ # URI of a Compute Engine route.
1386
+ # Dynamic route from cloud router does not have a URI.
1387
+ # Advertised route from Google Cloud VPC to on-premises network also does
1388
+ # not have a URI.
1389
+ # Corresponds to the JSON property `uri`
1390
+ # @return [String]
1391
+ attr_accessor :uri
1392
+
1393
+ def initialize(**args)
1394
+ update!(**args)
1395
+ end
1396
+
1397
+ # Update properties of this object
1398
+ def update!(**args)
1399
+ @dest_ip_range = args[:dest_ip_range] if args.key?(:dest_ip_range)
1400
+ @display_name = args[:display_name] if args.key?(:display_name)
1401
+ @instance_tags = args[:instance_tags] if args.key?(:instance_tags)
1402
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
1403
+ @next_hop = args[:next_hop] if args.key?(:next_hop)
1404
+ @next_hop_type = args[:next_hop_type] if args.key?(:next_hop_type)
1405
+ @priority = args[:priority] if args.key?(:priority)
1406
+ @route_type = args[:route_type] if args.key?(:route_type)
1407
+ @uri = args[:uri] if args.key?(:uri)
1408
+ end
1409
+ end
1410
+
1411
+ # Request message for `SetIamPolicy` method.
1412
+ class SetIamPolicyRequest
1413
+ include Google::Apis::Core::Hashable
1414
+
1415
+ # An Identity and Access Management (IAM) policy, which specifies access
1416
+ # controls for Google Cloud resources.
1417
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1418
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1419
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1420
+ # permissions; each `role` can be an IAM predefined role or a user-created
1421
+ # custom role.
1422
+ # Optionally, a `binding` can specify a `condition`, which is a logical
1423
+ # expression that allows access to a resource only if the expression evaluates
1424
+ # to `true`. A condition can add constraints based on attributes of the
1425
+ # request, the resource, or both.
1426
+ # **JSON example:**
1427
+ # `
1428
+ # "bindings": [
1429
+ # `
1430
+ # "role": "roles/resourcemanager.organizationAdmin",
1431
+ # "members": [
1432
+ # "user:mike@example.com",
1433
+ # "group:admins@example.com",
1434
+ # "domain:google.com",
1435
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1436
+ # ]
1437
+ # `,
1438
+ # `
1439
+ # "role": "roles/resourcemanager.organizationViewer",
1440
+ # "members": ["user:eve@example.com"],
1441
+ # "condition": `
1442
+ # "title": "expirable access",
1443
+ # "description": "Does not grant access after Sep 2020",
1444
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1445
+ # ",
1446
+ # `
1447
+ # `
1448
+ # ],
1449
+ # "etag": "BwWWja0YfJA=",
1450
+ # "version": 3
1451
+ # `
1452
+ # **YAML example:**
1453
+ # bindings:
1454
+ # - members:
1455
+ # - user:mike@example.com
1456
+ # - group:admins@example.com
1457
+ # - domain:google.com
1458
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1459
+ # role: roles/resourcemanager.organizationAdmin
1460
+ # - members:
1461
+ # - user:eve@example.com
1462
+ # role: roles/resourcemanager.organizationViewer
1463
+ # condition:
1464
+ # title: expirable access
1465
+ # description: Does not grant access after Sep 2020
1466
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1467
+ # - etag: BwWWja0YfJA=
1468
+ # - version: 3
1469
+ # For a description of IAM and its features, see the
1470
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1471
+ # Corresponds to the JSON property `policy`
1472
+ # @return [Google::Apis::NetworkmanagementV1beta1::Policy]
1473
+ attr_accessor :policy
1474
+
1475
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1476
+ # the fields in the mask will be modified. If no mask is provided, the
1477
+ # following default mask is used:
1478
+ # paths: "bindings, etag"
1479
+ # This field is only used by Cloud IAM.
1480
+ # Corresponds to the JSON property `updateMask`
1481
+ # @return [String]
1482
+ attr_accessor :update_mask
1483
+
1484
+ def initialize(**args)
1485
+ update!(**args)
1486
+ end
1487
+
1488
+ # Update properties of this object
1489
+ def update!(**args)
1490
+ @policy = args[:policy] if args.key?(:policy)
1491
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1492
+ end
1493
+ end
1494
+
1495
+ # The `Status` type defines a logical error model that is suitable for
1496
+ # different programming environments, including REST APIs and RPC APIs. It is
1497
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1498
+ # three pieces of data: error code, error message, and error details.
1499
+ # You can find out more about this error model and how to work with it in the
1500
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1501
+ class Status
1502
+ include Google::Apis::Core::Hashable
1503
+
1504
+ # The status code, which should be an enum value of google.rpc.Code.
1505
+ # Corresponds to the JSON property `code`
1506
+ # @return [Fixnum]
1507
+ attr_accessor :code
1508
+
1509
+ # A list of messages that carry the error details. There is a common set of
1510
+ # message types for APIs to use.
1511
+ # Corresponds to the JSON property `details`
1512
+ # @return [Array<Hash<String,Object>>]
1513
+ attr_accessor :details
1514
+
1515
+ # A developer-facing error message, which should be in English. Any
1516
+ # user-facing error message should be localized and sent in the
1517
+ # google.rpc.Status.details field, or localized by the client.
1518
+ # Corresponds to the JSON property `message`
1519
+ # @return [String]
1520
+ attr_accessor :message
1521
+
1522
+ def initialize(**args)
1523
+ update!(**args)
1524
+ end
1525
+
1526
+ # Update properties of this object
1527
+ def update!(**args)
1528
+ @code = args[:code] if args.key?(:code)
1529
+ @details = args[:details] if args.key?(:details)
1530
+ @message = args[:message] if args.key?(:message)
1531
+ end
1532
+ end
1533
+
1534
+ # A simulated forwarding path is composed of multiple steps.
1535
+ # Each step has a well-defined state and an associated configuration.
1536
+ class Step
1537
+ include Google::Apis::Core::Hashable
1538
+
1539
+ # Details of the final state "abort" and associated resource.
1540
+ # Corresponds to the JSON property `abort`
1541
+ # @return [Google::Apis::NetworkmanagementV1beta1::AbortInfo]
1542
+ attr_accessor :abort
1543
+
1544
+ # This is a step that leads to the final state Drop.
1545
+ # Corresponds to the JSON property `causesDrop`
1546
+ # @return [Boolean]
1547
+ attr_accessor :causes_drop
1548
+ alias_method :causes_drop?, :causes_drop
1549
+
1550
+ # Details of the final state "deliver" and associated resource.
1551
+ # Corresponds to the JSON property `deliver`
1552
+ # @return [Google::Apis::NetworkmanagementV1beta1::DeliverInfo]
1553
+ attr_accessor :deliver
1554
+
1555
+ # A description of the step. Usually this is a summary of the state.
1556
+ # Corresponds to the JSON property `description`
1557
+ # @return [String]
1558
+ attr_accessor :description
1559
+
1560
+ # Details of the final state "drop" and associated resource.
1561
+ # Corresponds to the JSON property `drop`
1562
+ # @return [Google::Apis::NetworkmanagementV1beta1::DropInfo]
1563
+ attr_accessor :drop
1564
+
1565
+ # For display only. The specification of the endpoints for the test.
1566
+ # EndpointInfo is derived from source and destination Endpoint and validated
1567
+ # by the backend data plane model.
1568
+ # Corresponds to the JSON property `endpoint`
1569
+ # @return [Google::Apis::NetworkmanagementV1beta1::EndpointInfo]
1570
+ attr_accessor :endpoint
1571
+
1572
+ # For display only. Metadata associated with a Compute Engine firewall rule.
1573
+ # Corresponds to the JSON property `firewall`
1574
+ # @return [Google::Apis::NetworkmanagementV1beta1::FirewallInfo]
1575
+ attr_accessor :firewall
1576
+
1577
+ # Details of the final state "forward" and associated resource.
1578
+ # Corresponds to the JSON property `forward`
1579
+ # @return [Google::Apis::NetworkmanagementV1beta1::ForwardInfo]
1580
+ attr_accessor :forward
1581
+
1582
+ # For display only. Metadata associated with a Compute Engine forwarding rule.
1583
+ # Corresponds to the JSON property `forwardingRule`
1584
+ # @return [Google::Apis::NetworkmanagementV1beta1::ForwardingRuleInfo]
1585
+ attr_accessor :forwarding_rule
1586
+
1587
+ # For display only. Metadata associated with a Compute Engine instance.
1588
+ # Corresponds to the JSON property `instance`
1589
+ # @return [Google::Apis::NetworkmanagementV1beta1::InstanceInfo]
1590
+ attr_accessor :instance
1591
+
1592
+ # For display only. Metadata associated with a load balancer.
1593
+ # Corresponds to the JSON property `loadBalancer`
1594
+ # @return [Google::Apis::NetworkmanagementV1beta1::LoadBalancerInfo]
1595
+ attr_accessor :load_balancer
1596
+
1597
+ # For display only. Metadata associated with a Compute Engine network.
1598
+ # Corresponds to the JSON property `network`
1599
+ # @return [Google::Apis::NetworkmanagementV1beta1::NetworkInfo]
1600
+ attr_accessor :network
1601
+
1602
+ # Project ID that contains the configuration this step is validating.
1603
+ # Corresponds to the JSON property `projectId`
1604
+ # @return [String]
1605
+ attr_accessor :project_id
1606
+
1607
+ # For display only. Metadata associated with a Compute Engine route.
1608
+ # Corresponds to the JSON property `route`
1609
+ # @return [Google::Apis::NetworkmanagementV1beta1::RouteInfo]
1610
+ attr_accessor :route
1611
+
1612
+ # Each step is in one of the pre-defined states.
1613
+ # Corresponds to the JSON property `state`
1614
+ # @return [String]
1615
+ attr_accessor :state
1616
+
1617
+ # For display only. Metadata associated with a Compute Engine VPN gateway.
1618
+ # Corresponds to the JSON property `vpnGateway`
1619
+ # @return [Google::Apis::NetworkmanagementV1beta1::VpnGatewayInfo]
1620
+ attr_accessor :vpn_gateway
1621
+
1622
+ # For display only. Metadata associated with a Compute Engine VPN tunnel.
1623
+ # Corresponds to the JSON property `vpnTunnel`
1624
+ # @return [Google::Apis::NetworkmanagementV1beta1::VpnTunnelInfo]
1625
+ attr_accessor :vpn_tunnel
1626
+
1627
+ def initialize(**args)
1628
+ update!(**args)
1629
+ end
1630
+
1631
+ # Update properties of this object
1632
+ def update!(**args)
1633
+ @abort = args[:abort] if args.key?(:abort)
1634
+ @causes_drop = args[:causes_drop] if args.key?(:causes_drop)
1635
+ @deliver = args[:deliver] if args.key?(:deliver)
1636
+ @description = args[:description] if args.key?(:description)
1637
+ @drop = args[:drop] if args.key?(:drop)
1638
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
1639
+ @firewall = args[:firewall] if args.key?(:firewall)
1640
+ @forward = args[:forward] if args.key?(:forward)
1641
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
1642
+ @instance = args[:instance] if args.key?(:instance)
1643
+ @load_balancer = args[:load_balancer] if args.key?(:load_balancer)
1644
+ @network = args[:network] if args.key?(:network)
1645
+ @project_id = args[:project_id] if args.key?(:project_id)
1646
+ @route = args[:route] if args.key?(:route)
1647
+ @state = args[:state] if args.key?(:state)
1648
+ @vpn_gateway = args[:vpn_gateway] if args.key?(:vpn_gateway)
1649
+ @vpn_tunnel = args[:vpn_tunnel] if args.key?(:vpn_tunnel)
1650
+ end
1651
+ end
1652
+
1653
+ # Request message for `TestIamPermissions` method.
1654
+ class TestIamPermissionsRequest
1655
+ include Google::Apis::Core::Hashable
1656
+
1657
+ # The set of permissions to check for the `resource`. Permissions with
1658
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1659
+ # information see
1660
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1661
+ # Corresponds to the JSON property `permissions`
1662
+ # @return [Array<String>]
1663
+ attr_accessor :permissions
1664
+
1665
+ def initialize(**args)
1666
+ update!(**args)
1667
+ end
1668
+
1669
+ # Update properties of this object
1670
+ def update!(**args)
1671
+ @permissions = args[:permissions] if args.key?(:permissions)
1672
+ end
1673
+ end
1674
+
1675
+ # Response message for `TestIamPermissions` method.
1676
+ class TestIamPermissionsResponse
1677
+ include Google::Apis::Core::Hashable
1678
+
1679
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
1680
+ # allowed.
1681
+ # Corresponds to the JSON property `permissions`
1682
+ # @return [Array<String>]
1683
+ attr_accessor :permissions
1684
+
1685
+ def initialize(**args)
1686
+ update!(**args)
1687
+ end
1688
+
1689
+ # Update properties of this object
1690
+ def update!(**args)
1691
+ @permissions = args[:permissions] if args.key?(:permissions)
1692
+ end
1693
+ end
1694
+
1695
+ # Trace represents one simulated packet forwarding path.
1696
+ # <ul>
1697
+ # <li>Each trace contains multiple ordered steps.</li>
1698
+ # <li>Each step is in a particular state and has an associated
1699
+ # configuration.</li> <li>State is categorized as a final or non-final
1700
+ # state.</li> <li>Each final state has a reason associated with it.</li>
1701
+ # <li>Each trace must end with a final state (the last step).</li>
1702
+ # </ul>
1703
+ # <pre><code>
1704
+ # |---------------------Trace----------------------|
1705
+ # Step1(State) Step2(State) --- StepN(State(final))
1706
+ # </code></pre>
1707
+ class Trace
1708
+ include Google::Apis::Core::Hashable
1709
+
1710
+ # For display only. The specification of the endpoints for the test.
1711
+ # EndpointInfo is derived from source and destination Endpoint and validated
1712
+ # by the backend data plane model.
1713
+ # Corresponds to the JSON property `endpointInfo`
1714
+ # @return [Google::Apis::NetworkmanagementV1beta1::EndpointInfo]
1715
+ attr_accessor :endpoint_info
1716
+
1717
+ # A trace of a test contains multiple steps from the initial state to the
1718
+ # final state (delivered, dropped, forwarded, or aborted).
1719
+ # The steps are ordered by the processing sequence within the simulated
1720
+ # network state machine. It is critical to preserve the order of the steps
1721
+ # and avoid reordering or sorting them.
1722
+ # Corresponds to the JSON property `steps`
1723
+ # @return [Array<Google::Apis::NetworkmanagementV1beta1::Step>]
1724
+ attr_accessor :steps
1725
+
1726
+ def initialize(**args)
1727
+ update!(**args)
1728
+ end
1729
+
1730
+ # Update properties of this object
1731
+ def update!(**args)
1732
+ @endpoint_info = args[:endpoint_info] if args.key?(:endpoint_info)
1733
+ @steps = args[:steps] if args.key?(:steps)
1734
+ end
1735
+ end
1736
+
1737
+ # For display only. Metadata associated with a Compute Engine VPN gateway.
1738
+ class VpnGatewayInfo
1739
+ include Google::Apis::Core::Hashable
1740
+
1741
+ # Name of a VPN gateway.
1742
+ # Corresponds to the JSON property `displayName`
1743
+ # @return [String]
1744
+ attr_accessor :display_name
1745
+
1746
+ # IP address of the VPN gateway.
1747
+ # Corresponds to the JSON property `ipAddress`
1748
+ # @return [String]
1749
+ attr_accessor :ip_address
1750
+
1751
+ # URI of a Compute Engine network where the VPN gateway is configured.
1752
+ # Corresponds to the JSON property `networkUri`
1753
+ # @return [String]
1754
+ attr_accessor :network_uri
1755
+
1756
+ # Name of a GCP region where this VPN gateway is configured.
1757
+ # Corresponds to the JSON property `region`
1758
+ # @return [String]
1759
+ attr_accessor :region
1760
+
1761
+ # URI of a VPN gateway.
1762
+ # Corresponds to the JSON property `uri`
1763
+ # @return [String]
1764
+ attr_accessor :uri
1765
+
1766
+ # A VPN tunnel that is associated with this VPN gateway.
1767
+ # There may be multiple VPN tunnels configured on a VPN gateway, and only
1768
+ # the one relevant to the test is displayed.
1769
+ # Corresponds to the JSON property `vpnTunnelUri`
1770
+ # @return [String]
1771
+ attr_accessor :vpn_tunnel_uri
1772
+
1773
+ def initialize(**args)
1774
+ update!(**args)
1775
+ end
1776
+
1777
+ # Update properties of this object
1778
+ def update!(**args)
1779
+ @display_name = args[:display_name] if args.key?(:display_name)
1780
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
1781
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
1782
+ @region = args[:region] if args.key?(:region)
1783
+ @uri = args[:uri] if args.key?(:uri)
1784
+ @vpn_tunnel_uri = args[:vpn_tunnel_uri] if args.key?(:vpn_tunnel_uri)
1785
+ end
1786
+ end
1787
+
1788
+ # For display only. Metadata associated with a Compute Engine VPN tunnel.
1789
+ class VpnTunnelInfo
1790
+ include Google::Apis::Core::Hashable
1791
+
1792
+ # Name of a VPN tunnel.
1793
+ # Corresponds to the JSON property `displayName`
1794
+ # @return [String]
1795
+ attr_accessor :display_name
1796
+
1797
+ # URI of a Compute Engine network where the VPN tunnel is configured.
1798
+ # Corresponds to the JSON property `networkUri`
1799
+ # @return [String]
1800
+ attr_accessor :network_uri
1801
+
1802
+ # Name of a GCP region where this VPN tunnel is configured.
1803
+ # Corresponds to the JSON property `region`
1804
+ # @return [String]
1805
+ attr_accessor :region
1806
+
1807
+ # URI of a VPN gateway at remote end of the tunnel.
1808
+ # Corresponds to the JSON property `remoteGateway`
1809
+ # @return [String]
1810
+ attr_accessor :remote_gateway
1811
+
1812
+ # Remote VPN gateway's IP address.
1813
+ # Corresponds to the JSON property `remoteGatewayIp`
1814
+ # @return [String]
1815
+ attr_accessor :remote_gateway_ip
1816
+
1817
+ # Type of the routing policy.
1818
+ # Corresponds to the JSON property `routingType`
1819
+ # @return [String]
1820
+ attr_accessor :routing_type
1821
+
1822
+ # URI of the VPN gateway at local end of the tunnel.
1823
+ # Corresponds to the JSON property `sourceGateway`
1824
+ # @return [String]
1825
+ attr_accessor :source_gateway
1826
+
1827
+ # Local VPN gateway's IP address.
1828
+ # Corresponds to the JSON property `sourceGatewayIp`
1829
+ # @return [String]
1830
+ attr_accessor :source_gateway_ip
1831
+
1832
+ # URI of a VPN tunnel.
1833
+ # Corresponds to the JSON property `uri`
1834
+ # @return [String]
1835
+ attr_accessor :uri
1836
+
1837
+ def initialize(**args)
1838
+ update!(**args)
1839
+ end
1840
+
1841
+ # Update properties of this object
1842
+ def update!(**args)
1843
+ @display_name = args[:display_name] if args.key?(:display_name)
1844
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
1845
+ @region = args[:region] if args.key?(:region)
1846
+ @remote_gateway = args[:remote_gateway] if args.key?(:remote_gateway)
1847
+ @remote_gateway_ip = args[:remote_gateway_ip] if args.key?(:remote_gateway_ip)
1848
+ @routing_type = args[:routing_type] if args.key?(:routing_type)
1849
+ @source_gateway = args[:source_gateway] if args.key?(:source_gateway)
1850
+ @source_gateway_ip = args[:source_gateway_ip] if args.key?(:source_gateway_ip)
1851
+ @uri = args[:uri] if args.key?(:uri)
1852
+ end
1853
+ end
1854
+ end
1855
+ end
1856
+ end