google-cloud-network_connectivity-v1 0.6.1 → 0.8.0

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