google-cloud-network_connectivity-v1 0.6.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,312 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module NetworkConnectivity
23
+ module V1
24
+ # Policy Based Routes (PBR) are more powerful routes that allows GCP customers
25
+ # to route their L4 network traffic based on not just destination IP, but also
26
+ # source IP, protocol and more. A PBR always take precedence when it conflicts
27
+ # with other types of routes.
28
+ # Next id: 22
29
+ # @!attribute [rw] virtual_machine
30
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::VirtualMachine]
31
+ # Optional. VM instances to which this policy based route applies to.
32
+ # @!attribute [rw] interconnect_attachment
33
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::InterconnectAttachment]
34
+ # Optional. The interconnect attachments to which this route applies to.
35
+ # @!attribute [rw] next_hop_ilb_ip
36
+ # @return [::String]
37
+ # Optional. The IP of a global access enabled L4 ILB that should be the
38
+ # next hop to handle matching packets. For this version, only
39
+ # next_hop_ilb_ip is supported.
40
+ # @!attribute [rw] next_hop_other_routes
41
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::OtherRoutes]
42
+ # Optional. Other routes that will be referenced to determine the next hop
43
+ # of the packet.
44
+ # @!attribute [rw] name
45
+ # @return [::String]
46
+ # Immutable. A unique name of the resource in the form of
47
+ # `projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}`
48
+ # @!attribute [r] create_time
49
+ # @return [::Google::Protobuf::Timestamp]
50
+ # Output only. Time when the PolicyBasedRoute was created.
51
+ # @!attribute [r] update_time
52
+ # @return [::Google::Protobuf::Timestamp]
53
+ # Output only. Time when the PolicyBasedRoute was updated.
54
+ # @!attribute [rw] labels
55
+ # @return [::Google::Protobuf::Map{::String => ::String}]
56
+ # User-defined labels.
57
+ # @!attribute [rw] description
58
+ # @return [::String]
59
+ # Optional. An optional description of this resource. Provide this field when
60
+ # you create the resource.
61
+ # @!attribute [rw] network
62
+ # @return [::String]
63
+ # Required. Fully-qualified URL of the network that this route applies to.
64
+ # e.g. projects/my-project/global/networks/my-network.
65
+ # @!attribute [rw] filter
66
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter]
67
+ # Required. The filter to match L4 traffic.
68
+ # @!attribute [rw] priority
69
+ # @return [::Integer]
70
+ # Optional. The priority of this policy based route. Priority is used to
71
+ # break ties in cases where there are more than one matching policy based
72
+ # routes found. In cases where multiple policy based routes are matched, the
73
+ # one with the lowest-numbered priority value wins. The default value is
74
+ # 1000. The priority value must be from 1 to 65535, inclusive.
75
+ # @!attribute [r] warnings
76
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings>]
77
+ # Output only. If potential misconfigurations are detected for this route,
78
+ # this field will be populated with warning messages.
79
+ # @!attribute [r] self_link
80
+ # @return [::String]
81
+ # Output only. Server-defined fully-qualified URL for this resource.
82
+ # @!attribute [r] kind
83
+ # @return [::String]
84
+ # Output only. Type of this resource. Always
85
+ # networkconnectivity#policyBasedRoute for Policy Based Route resources.
86
+ class PolicyBasedRoute
87
+ include ::Google::Protobuf::MessageExts
88
+ extend ::Google::Protobuf::MessageExts::ClassMethods
89
+
90
+ # VM instances to which this policy based route applies to.
91
+ # @!attribute [rw] tags
92
+ # @return [::Array<::String>]
93
+ # Optional. A list of VM instance tags to which this policy based route
94
+ # applies to. VM instances that have ANY of tags specified here will
95
+ # install this PBR.
96
+ class VirtualMachine
97
+ include ::Google::Protobuf::MessageExts
98
+ extend ::Google::Protobuf::MessageExts::ClassMethods
99
+ end
100
+
101
+ # InterconnectAttachment to which this route applies to.
102
+ # @!attribute [rw] region
103
+ # @return [::String]
104
+ # Optional. Cloud region to install this policy based route on interconnect
105
+ # attachment. Use `all` to install it on all interconnect attachments.
106
+ class InterconnectAttachment
107
+ include ::Google::Protobuf::MessageExts
108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
109
+ end
110
+
111
+ # Filter matches L4 traffic.
112
+ # @!attribute [rw] ip_protocol
113
+ # @return [::String]
114
+ # Optional. The IP protocol that this policy based route applies to. Valid
115
+ # values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
116
+ # @!attribute [rw] src_range
117
+ # @return [::String]
118
+ # Optional. The source IP range of outgoing packets that this policy based
119
+ # route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
120
+ # @!attribute [rw] dest_range
121
+ # @return [::String]
122
+ # Optional. The destination IP range of outgoing packets that this policy
123
+ # based route applies to. Default is "0.0.0.0/0" if protocol version is
124
+ # IPv4.
125
+ # @!attribute [rw] protocol_version
126
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
127
+ # Required. Internet protocol versions this policy based route applies to.
128
+ # For this version, only IPV4 is supported.
129
+ class Filter
130
+ include ::Google::Protobuf::MessageExts
131
+ extend ::Google::Protobuf::MessageExts::ClassMethods
132
+
133
+ # The internet protocol version.
134
+ module ProtocolVersion
135
+ # Default value.
136
+ PROTOCOL_VERSION_UNSPECIFIED = 0
137
+
138
+ # The PBR is for IPv4 internet protocol traffic.
139
+ IPV4 = 1
140
+ end
141
+ end
142
+
143
+ # Informational warning message.
144
+ # @!attribute [r] code
145
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
146
+ # Output only. A warning code, if applicable.
147
+ # @!attribute [r] data
148
+ # @return [::Google::Protobuf::Map{::String => ::String}]
149
+ # Output only. Metadata about this warning in key: value format. The key
150
+ # should provides more detail on the warning being returned. For example,
151
+ # for warnings where there are no results in a list request for a
152
+ # particular zone, this key might be scope and the key value might be the
153
+ # zone name. Other examples might be a key indicating a deprecated resource
154
+ # and a suggested replacement.
155
+ # @!attribute [r] warning_message
156
+ # @return [::String]
157
+ # Output only. A human-readable description of the warning code.
158
+ class Warnings
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+
162
+ # @!attribute [rw] key
163
+ # @return [::String]
164
+ # @!attribute [rw] value
165
+ # @return [::String]
166
+ class DataEntry
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+
171
+ # Warning code for Policy Based Routing. Expect to add values in the
172
+ # future.
173
+ module Code
174
+ # Default value.
175
+ WARNING_UNSPECIFIED = 0
176
+
177
+ # The policy based route is not active and functioning. Common causes are
178
+ # the dependent network was deleted or the resource project was turned
179
+ # off.
180
+ RESOURCE_NOT_ACTIVE = 1
181
+
182
+ # The policy based route is being modified (e.g. created/deleted) at this
183
+ # time.
184
+ RESOURCE_BEING_MODIFIED = 2
185
+ end
186
+ end
187
+
188
+ # @!attribute [rw] key
189
+ # @return [::String]
190
+ # @!attribute [rw] value
191
+ # @return [::String]
192
+ class LabelsEntry
193
+ include ::Google::Protobuf::MessageExts
194
+ extend ::Google::Protobuf::MessageExts::ClassMethods
195
+ end
196
+
197
+ # The other routing cases.
198
+ module OtherRoutes
199
+ # Default value.
200
+ OTHER_ROUTES_UNSPECIFIED = 0
201
+
202
+ # Use the routes from the default routing tables (system-generated routes,
203
+ # custom routes, peering route) to determine the next hop. This will
204
+ # effectively exclude matching packets being applied on other PBRs with a
205
+ # lower priority.
206
+ DEFAULT_ROUTING = 1
207
+ end
208
+ end
209
+
210
+ # Request for [PolicyBasedRouting.ListPolicyBasedRoutes][] method.
211
+ # @!attribute [rw] parent
212
+ # @return [::String]
213
+ # Required. The parent resource's name.
214
+ # @!attribute [rw] page_size
215
+ # @return [::Integer]
216
+ # The maximum number of results per page that should be returned.
217
+ # @!attribute [rw] page_token
218
+ # @return [::String]
219
+ # The page token.
220
+ # @!attribute [rw] filter
221
+ # @return [::String]
222
+ # A filter expression that filters the results listed in the response.
223
+ # @!attribute [rw] order_by
224
+ # @return [::String]
225
+ # Sort the results by a certain order.
226
+ class ListPolicyBasedRoutesRequest
227
+ include ::Google::Protobuf::MessageExts
228
+ extend ::Google::Protobuf::MessageExts::ClassMethods
229
+ end
230
+
231
+ # Response for [PolicyBasedRouting.ListPolicyBasedRoutes][] method.
232
+ # @!attribute [rw] policy_based_routes
233
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute>]
234
+ # Policy based routes to be returned.
235
+ # @!attribute [rw] next_page_token
236
+ # @return [::String]
237
+ # The next pagination token in the List response. It should be used as
238
+ # page_token for the following request. An empty value means no more result.
239
+ # @!attribute [rw] unreachable
240
+ # @return [::Array<::String>]
241
+ # Locations that could not be reached.
242
+ class ListPolicyBasedRoutesResponse
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+ end
246
+
247
+ # Request for [PolicyBasedRouting.GetPolicyBasedRoute][] method.
248
+ # @!attribute [rw] name
249
+ # @return [::String]
250
+ # Required. Name of the PolicyBasedRoute resource to get.
251
+ class GetPolicyBasedRouteRequest
252
+ include ::Google::Protobuf::MessageExts
253
+ extend ::Google::Protobuf::MessageExts::ClassMethods
254
+ end
255
+
256
+ # Request for [PolicyBasedRouting.CreatePolicyBasedRoute][] method.
257
+ # @!attribute [rw] parent
258
+ # @return [::String]
259
+ # Required. The parent resource's name of the PolicyBasedRoute.
260
+ # @!attribute [rw] policy_based_route_id
261
+ # @return [::String]
262
+ # Required. Unique id for the Policy Based Route to create.
263
+ # @!attribute [rw] policy_based_route
264
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute]
265
+ # Required. Initial values for a new Policy Based Route.
266
+ # @!attribute [rw] request_id
267
+ # @return [::String]
268
+ # Optional. An optional request ID to identify requests. Specify a unique
269
+ # request ID so that if you must retry your request, the server will know to
270
+ # ignore the request if it has already been completed. The server will
271
+ # guarantee that for at least 60 minutes since the first request.
272
+ #
273
+ # For example, consider a situation where you make an initial request and
274
+ # the request times out. If you make the request again with the same request
275
+ # ID, the server can check if original operation with the same request ID
276
+ # was received, and if so, will ignore the second request. This prevents
277
+ # clients from accidentally creating duplicate commitments.
278
+ #
279
+ # The request ID must be a valid UUID with the exception that zero UUID is
280
+ # not supported (00000000-0000-0000-0000-000000000000).
281
+ class CreatePolicyBasedRouteRequest
282
+ include ::Google::Protobuf::MessageExts
283
+ extend ::Google::Protobuf::MessageExts::ClassMethods
284
+ end
285
+
286
+ # Request for [PolicyBasedRouting.DeletePolicyBasedRoute][] method.
287
+ # @!attribute [rw] name
288
+ # @return [::String]
289
+ # Required. Name of the PolicyBasedRoute resource to delete.
290
+ # @!attribute [rw] request_id
291
+ # @return [::String]
292
+ # Optional. An optional request ID to identify requests. Specify a unique
293
+ # request ID so that if you must retry your request, the server will know to
294
+ # ignore the request if it has already been completed. The server will
295
+ # guarantee that for at least 60 minutes after the first request.
296
+ #
297
+ # For example, consider a situation where you make an initial request and
298
+ # the request times out. If you make the request again with the same request
299
+ # ID, the server can check if original operation with the same request ID
300
+ # was received, and if so, will ignore the second request. This prevents
301
+ # clients from accidentally creating duplicate commitments.
302
+ #
303
+ # The request ID must be a valid UUID with the exception that zero UUID is
304
+ # not supported (00000000-0000-0000-0000-000000000000).
305
+ class DeletePolicyBasedRouteRequest
306
+ include ::Google::Protobuf::MessageExts
307
+ extend ::Google::Protobuf::MessageExts::ClassMethods
308
+ end
309
+ end
310
+ end
311
+ end
312
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Type
22
+ # Represents a textual expression in the Common Expression Language (CEL)
23
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
24
+ # are documented at https://github.com/google/cel-spec.
25
+ #
26
+ # Example (Comparison):
27
+ #
28
+ # title: "Summary size limit"
29
+ # description: "Determines if a summary is less than 100 chars"
30
+ # expression: "document.summary.size() < 100"
31
+ #
32
+ # Example (Equality):
33
+ #
34
+ # title: "Requestor is owner"
35
+ # description: "Determines if requestor is the document owner"
36
+ # expression: "document.owner == request.auth.claims.email"
37
+ #
38
+ # Example (Logic):
39
+ #
40
+ # title: "Public documents"
41
+ # description: "Determine whether the document should be publicly visible"
42
+ # expression: "document.type != 'private' && document.type != 'internal'"
43
+ #
44
+ # Example (Data Manipulation):
45
+ #
46
+ # title: "Notification string"
47
+ # description: "Create a notification string with a timestamp."
48
+ # expression: "'New message received at ' + string(document.create_time)"
49
+ #
50
+ # The exact variables and functions that may be referenced within an expression
51
+ # are determined by the service that evaluates it. See the service
52
+ # documentation for additional information.
53
+ # @!attribute [rw] expression
54
+ # @return [::String]
55
+ # Textual representation of an expression in Common Expression Language
56
+ # syntax.
57
+ # @!attribute [rw] title
58
+ # @return [::String]
59
+ # Optional. Title for the expression, i.e. a short string describing
60
+ # its purpose. This can be used e.g. in UIs which allow to enter the
61
+ # expression.
62
+ # @!attribute [rw] description
63
+ # @return [::String]
64
+ # Optional. Description of the expression. This is a longer text which
65
+ # describes the expression, e.g. when hovered over it in a UI.
66
+ # @!attribute [rw] location
67
+ # @return [::String]
68
+ # Optional. String indicating the location of the expression for error
69
+ # reporting, e.g. a file name and a position in the file.
70
+ class Expr
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+ end
75
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-network_connectivity-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-06 00:00:00.000000000 Z
11
+ date: 2023-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.19.1
19
+ version: 0.20.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.19.1
29
+ version: 0.20.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -218,10 +218,17 @@ files:
218
218
  - lib/google/cloud/network_connectivity/v1/hub_service/credentials.rb
219
219
  - lib/google/cloud/network_connectivity/v1/hub_service/operations.rb
220
220
  - lib/google/cloud/network_connectivity/v1/hub_service/paths.rb
221
+ - lib/google/cloud/network_connectivity/v1/policy_based_routing_service.rb
222
+ - lib/google/cloud/network_connectivity/v1/policy_based_routing_service/client.rb
223
+ - lib/google/cloud/network_connectivity/v1/policy_based_routing_service/credentials.rb
224
+ - lib/google/cloud/network_connectivity/v1/policy_based_routing_service/operations.rb
225
+ - lib/google/cloud/network_connectivity/v1/policy_based_routing_service/paths.rb
221
226
  - lib/google/cloud/network_connectivity/v1/version.rb
222
227
  - lib/google/cloud/networkconnectivity/v1/common_pb.rb
223
228
  - lib/google/cloud/networkconnectivity/v1/hub_pb.rb
224
229
  - lib/google/cloud/networkconnectivity/v1/hub_services_pb.rb
230
+ - lib/google/cloud/networkconnectivity/v1/policy_based_routing_pb.rb
231
+ - lib/google/cloud/networkconnectivity/v1/policy_based_routing_services_pb.rb
225
232
  - proto_docs/README.md
226
233
  - proto_docs/google/api/client.rb
227
234
  - proto_docs/google/api/field_behavior.rb
@@ -229,6 +236,7 @@ files:
229
236
  - proto_docs/google/api/resource.rb
230
237
  - proto_docs/google/cloud/networkconnectivity/v1/common.rb
231
238
  - proto_docs/google/cloud/networkconnectivity/v1/hub.rb
239
+ - proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb
232
240
  - proto_docs/google/longrunning/operations.rb
233
241
  - proto_docs/google/protobuf/any.rb
234
242
  - proto_docs/google/protobuf/duration.rb
@@ -236,6 +244,7 @@ files:
236
244
  - proto_docs/google/protobuf/field_mask.rb
237
245
  - proto_docs/google/protobuf/timestamp.rb
238
246
  - proto_docs/google/rpc/status.rb
247
+ - proto_docs/google/type/expr.rb
239
248
  homepage: https://github.com/googleapis/google-cloud-ruby
240
249
  licenses:
241
250
  - Apache-2.0
@@ -255,7 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
264
  - !ruby/object:Gem::Version
256
265
  version: '0'
257
266
  requirements: []
258
- rubygems_version: 3.4.2
267
+ rubygems_version: 3.4.19
259
268
  signing_key:
260
269
  specification_version: 4
261
270
  summary: This API enables connectivity with and between Google Cloud resources.