google-cloud-network_services-v1 0.a → 0.1.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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/network_services/v1/bindings_override.rb +279 -0
  6. data/lib/google/cloud/network_services/v1/dep_service/client.rb +1503 -0
  7. data/lib/google/cloud/network_services/v1/dep_service/credentials.rb +47 -0
  8. data/lib/google/cloud/network_services/v1/dep_service/operations.rb +809 -0
  9. data/lib/google/cloud/network_services/v1/dep_service/paths.rb +88 -0
  10. data/lib/google/cloud/network_services/v1/dep_service/rest/client.rb +1414 -0
  11. data/lib/google/cloud/network_services/v1/dep_service/rest/operations.rb +902 -0
  12. data/lib/google/cloud/network_services/v1/dep_service/rest/service_stub.rb +663 -0
  13. data/lib/google/cloud/network_services/v1/dep_service/rest.rb +54 -0
  14. data/lib/google/cloud/network_services/v1/dep_service.rb +56 -0
  15. data/lib/google/cloud/network_services/v1/network_services/client.rb +4383 -0
  16. data/lib/google/cloud/network_services/v1/network_services/credentials.rb +47 -0
  17. data/lib/google/cloud/network_services/v1/network_services/operations.rb +809 -0
  18. data/lib/google/cloud/network_services/v1/network_services/paths.rb +278 -0
  19. data/lib/google/cloud/network_services/v1/network_services/rest/client.rb +4093 -0
  20. data/lib/google/cloud/network_services/v1/network_services/rest/operations.rb +902 -0
  21. data/lib/google/cloud/network_services/v1/network_services/rest/service_stub.rb +2385 -0
  22. data/lib/google/cloud/network_services/v1/network_services/rest.rb +52 -0
  23. data/lib/google/cloud/network_services/v1/network_services.rb +54 -0
  24. data/lib/google/cloud/network_services/v1/rest.rb +39 -0
  25. data/lib/google/cloud/network_services/v1/version.rb +7 -2
  26. data/lib/google/cloud/network_services/v1.rb +46 -0
  27. data/lib/google/cloud/networkservices/v1/common_pb.rb +51 -0
  28. data/lib/google/cloud/networkservices/v1/dep_pb.rb +75 -0
  29. data/lib/google/cloud/networkservices/v1/dep_services_pb.rb +64 -0
  30. data/lib/google/cloud/networkservices/v1/endpoint_policy_pb.rb +58 -0
  31. data/lib/google/cloud/networkservices/v1/gateway_pb.rb +56 -0
  32. data/lib/google/cloud/networkservices/v1/grpc_route_pb.rb +69 -0
  33. data/lib/google/cloud/networkservices/v1/http_route_pb.rb +74 -0
  34. data/lib/google/cloud/networkservices/v1/mesh_pb.rb +55 -0
  35. data/lib/google/cloud/networkservices/v1/network_services_pb.rb +53 -0
  36. data/lib/google/cloud/networkservices/v1/network_services_services_pb.rb +120 -0
  37. data/lib/google/cloud/networkservices/v1/service_binding_pb.rb +52 -0
  38. data/lib/google/cloud/networkservices/v1/tcp_route_pb.rb +59 -0
  39. data/lib/google/cloud/networkservices/v1/tls_route_pb.rb +59 -0
  40. data/lib/google-cloud-network_services-v1.rb +21 -0
  41. data/proto_docs/README.md +4 -0
  42. data/proto_docs/google/api/client.rb +399 -0
  43. data/proto_docs/google/api/field_behavior.rb +85 -0
  44. data/proto_docs/google/api/field_info.rb +65 -0
  45. data/proto_docs/google/api/launch_stage.rb +71 -0
  46. data/proto_docs/google/api/resource.rb +222 -0
  47. data/proto_docs/google/cloud/networkservices/v1/common.rb +147 -0
  48. data/proto_docs/google/cloud/networkservices/v1/dep.rb +569 -0
  49. data/proto_docs/google/cloud/networkservices/v1/endpoint_policy.rb +194 -0
  50. data/proto_docs/google/cloud/networkservices/v1/gateway.rb +187 -0
  51. data/proto_docs/google/cloud/networkservices/v1/grpc_route.rb +430 -0
  52. data/proto_docs/google/cloud/networkservices/v1/http_route.rb +670 -0
  53. data/proto_docs/google/cloud/networkservices/v1/mesh.rb +155 -0
  54. data/proto_docs/google/cloud/networkservices/v1/service_binding.rb +131 -0
  55. data/proto_docs/google/cloud/networkservices/v1/tcp_route.rb +247 -0
  56. data/proto_docs/google/cloud/networkservices/v1/tls_route.rb +219 -0
  57. data/proto_docs/google/longrunning/operations.rb +164 -0
  58. data/proto_docs/google/protobuf/any.rb +145 -0
  59. data/proto_docs/google/protobuf/duration.rb +98 -0
  60. data/proto_docs/google/protobuf/empty.rb +34 -0
  61. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  62. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  63. data/proto_docs/google/rpc/status.rb +48 -0
  64. data/proto_docs/google/type/expr.rb +75 -0
  65. metadata +144 -10
@@ -0,0 +1,194 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 NetworkServices
23
+ module V1
24
+ # EndpointPolicy is a resource that helps apply desired configuration
25
+ # on the endpoints that match specific criteria.
26
+ # For example, this resource can be used to apply "authentication config"
27
+ # an all endpoints that serve on port 8080.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # Required. Name of the EndpointPolicy resource. It matches pattern
31
+ # `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.
32
+ # @!attribute [r] create_time
33
+ # @return [::Google::Protobuf::Timestamp]
34
+ # Output only. The timestamp when the resource was created.
35
+ # @!attribute [r] update_time
36
+ # @return [::Google::Protobuf::Timestamp]
37
+ # Output only. The timestamp when the resource was updated.
38
+ # @!attribute [rw] labels
39
+ # @return [::Google::Protobuf::Map{::String => ::String}]
40
+ # Optional. Set of label tags associated with the EndpointPolicy resource.
41
+ # @!attribute [rw] type
42
+ # @return [::Google::Cloud::NetworkServices::V1::EndpointPolicy::EndpointPolicyType]
43
+ # Required. The type of endpoint policy. This is primarily used to validate
44
+ # the configuration.
45
+ # @!attribute [rw] authorization_policy
46
+ # @return [::String]
47
+ # Optional. This field specifies the URL of AuthorizationPolicy resource that
48
+ # applies authorization policies to the inbound traffic at the
49
+ # matched endpoints. Refer to Authorization. If this field is not
50
+ # specified, authorization is disabled(no authz checks) for this
51
+ # endpoint.
52
+ # @!attribute [rw] endpoint_matcher
53
+ # @return [::Google::Cloud::NetworkServices::V1::EndpointMatcher]
54
+ # Required. A matcher that selects endpoints to which the policies should be
55
+ # applied.
56
+ # @!attribute [rw] traffic_port_selector
57
+ # @return [::Google::Cloud::NetworkServices::V1::TrafficPortSelector]
58
+ # Optional. Port selector for the (matched) endpoints. If no port selector is
59
+ # provided, the matched config is applied to all ports.
60
+ # @!attribute [rw] description
61
+ # @return [::String]
62
+ # Optional. A free-text description of the resource. Max length 1024
63
+ # characters.
64
+ # @!attribute [rw] server_tls_policy
65
+ # @return [::String]
66
+ # Optional. A URL referring to ServerTlsPolicy resource. ServerTlsPolicy is
67
+ # used to determine the authentication policy to be applied to terminate the
68
+ # inbound traffic at the identified backends. If this field is not set,
69
+ # authentication is disabled(open) for this endpoint.
70
+ # @!attribute [rw] client_tls_policy
71
+ # @return [::String]
72
+ # Optional. A URL referring to a ClientTlsPolicy resource. ClientTlsPolicy
73
+ # can be set to specify the authentication for traffic from the proxy to the
74
+ # actual endpoints. More specifically, it is applied to the outgoing traffic
75
+ # from the proxy to the endpoint. This is typically used for sidecar model
76
+ # where the proxy identifies itself as endpoint to the control plane, with
77
+ # the connection between sidecar and endpoint requiring authentication. If
78
+ # this field is not set, authentication is disabled(open). Applicable only
79
+ # when EndpointPolicyType is SIDECAR_PROXY.
80
+ class EndpointPolicy
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
+
84
+ # @!attribute [rw] key
85
+ # @return [::String]
86
+ # @!attribute [rw] value
87
+ # @return [::String]
88
+ class LabelsEntry
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+
93
+ # The type of endpoint policy.
94
+ module EndpointPolicyType
95
+ # Default value. Must not be used.
96
+ ENDPOINT_POLICY_TYPE_UNSPECIFIED = 0
97
+
98
+ # Represents a proxy deployed as a sidecar.
99
+ SIDECAR_PROXY = 1
100
+
101
+ # Represents a proxyless gRPC backend.
102
+ GRPC_SERVER = 2
103
+ end
104
+ end
105
+
106
+ # Request used with the ListEndpointPolicies method.
107
+ # @!attribute [rw] parent
108
+ # @return [::String]
109
+ # Required. The project and location from which the EndpointPolicies should
110
+ # be listed, specified in the format `projects/*/locations/global`.
111
+ # @!attribute [rw] page_size
112
+ # @return [::Integer]
113
+ # Maximum number of EndpointPolicies to return per call.
114
+ # @!attribute [rw] page_token
115
+ # @return [::String]
116
+ # The value returned by the last `ListEndpointPoliciesResponse`
117
+ # Indicates that this is a continuation of a prior
118
+ # `ListEndpointPolicies` call, and that the system should return the
119
+ # next page of data.
120
+ class ListEndpointPoliciesRequest
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+ end
124
+
125
+ # Response returned by the ListEndpointPolicies method.
126
+ # @!attribute [rw] endpoint_policies
127
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::EndpointPolicy>]
128
+ # List of EndpointPolicy resources.
129
+ # @!attribute [rw] next_page_token
130
+ # @return [::String]
131
+ # If there might be more results than those appearing in this response, then
132
+ # `next_page_token` is included. To get the next set of results, call this
133
+ # method again using the value of `next_page_token` as `page_token`.
134
+ class ListEndpointPoliciesResponse
135
+ include ::Google::Protobuf::MessageExts
136
+ extend ::Google::Protobuf::MessageExts::ClassMethods
137
+ end
138
+
139
+ # Request used with the GetEndpointPolicy method.
140
+ # @!attribute [rw] name
141
+ # @return [::String]
142
+ # Required. A name of the EndpointPolicy to get. Must be in the format
143
+ # `projects/*/locations/global/endpointPolicies/*`.
144
+ class GetEndpointPolicyRequest
145
+ include ::Google::Protobuf::MessageExts
146
+ extend ::Google::Protobuf::MessageExts::ClassMethods
147
+ end
148
+
149
+ # Request used with the CreateEndpointPolicy method.
150
+ # @!attribute [rw] parent
151
+ # @return [::String]
152
+ # Required. The parent resource of the EndpointPolicy. Must be in the
153
+ # format `projects/*/locations/global`.
154
+ # @!attribute [rw] endpoint_policy_id
155
+ # @return [::String]
156
+ # Required. Short name of the EndpointPolicy resource to be created.
157
+ # E.g. "CustomECS".
158
+ # @!attribute [rw] endpoint_policy
159
+ # @return [::Google::Cloud::NetworkServices::V1::EndpointPolicy]
160
+ # Required. EndpointPolicy resource to be created.
161
+ class CreateEndpointPolicyRequest
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+ end
165
+
166
+ # Request used with the UpdateEndpointPolicy method.
167
+ # @!attribute [rw] update_mask
168
+ # @return [::Google::Protobuf::FieldMask]
169
+ # Optional. Field mask is used to specify the fields to be overwritten in the
170
+ # EndpointPolicy resource by the update.
171
+ # The fields specified in the update_mask are relative to the resource, not
172
+ # the full request. A field will be overwritten if it is in the mask. If the
173
+ # user does not provide a mask then all fields will be overwritten.
174
+ # @!attribute [rw] endpoint_policy
175
+ # @return [::Google::Cloud::NetworkServices::V1::EndpointPolicy]
176
+ # Required. Updated EndpointPolicy resource.
177
+ class UpdateEndpointPolicyRequest
178
+ include ::Google::Protobuf::MessageExts
179
+ extend ::Google::Protobuf::MessageExts::ClassMethods
180
+ end
181
+
182
+ # Request used with the DeleteEndpointPolicy method.
183
+ # @!attribute [rw] name
184
+ # @return [::String]
185
+ # Required. A name of the EndpointPolicy to delete. Must be in the format
186
+ # `projects/*/locations/global/endpointPolicies/*`.
187
+ class DeleteEndpointPolicyRequest
188
+ include ::Google::Protobuf::MessageExts
189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
190
+ end
191
+ end
192
+ end
193
+ end
194
+ end
@@ -0,0 +1,187 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 NetworkServices
23
+ module V1
24
+ # Gateway represents the configuration for a proxy, typically a load balancer.
25
+ # It captures the ip:port over which the services are exposed by the proxy,
26
+ # along with any policy configurations. Routes have reference to to Gateways to
27
+ # dictate how requests should be routed by this Gateway.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # Required. Name of the Gateway resource. It matches pattern
31
+ # `projects/*/locations/*/gateways/<gateway_name>`.
32
+ # @!attribute [r] self_link
33
+ # @return [::String]
34
+ # Output only. Server-defined URL of this resource
35
+ # @!attribute [r] create_time
36
+ # @return [::Google::Protobuf::Timestamp]
37
+ # Output only. The timestamp when the resource was created.
38
+ # @!attribute [r] update_time
39
+ # @return [::Google::Protobuf::Timestamp]
40
+ # Output only. The timestamp when the resource was updated.
41
+ # @!attribute [rw] labels
42
+ # @return [::Google::Protobuf::Map{::String => ::String}]
43
+ # Optional. Set of label tags associated with the Gateway resource.
44
+ # @!attribute [rw] description
45
+ # @return [::String]
46
+ # Optional. A free-text description of the resource. Max length 1024
47
+ # characters.
48
+ # @!attribute [rw] type
49
+ # @return [::Google::Cloud::NetworkServices::V1::Gateway::Type]
50
+ # Immutable. The type of the customer managed gateway.
51
+ # This field is required. If unspecified, an error is returned.
52
+ # @!attribute [rw] ports
53
+ # @return [::Array<::Integer>]
54
+ # Required. One or more ports that the Gateway must receive traffic on. The
55
+ # proxy binds to the ports specified. Gateway listen on 0.0.0.0 on the ports
56
+ # specified below.
57
+ # @!attribute [rw] scope
58
+ # @return [::String]
59
+ # Required. Immutable. Scope determines how configuration across multiple
60
+ # Gateway instances are merged. The configuration for multiple Gateway
61
+ # instances with the same scope will be merged as presented as a single
62
+ # coniguration to the proxy/load balancer.
63
+ #
64
+ # Max length 64 characters.
65
+ # Scope should start with a letter and can only have letters, numbers,
66
+ # hyphens.
67
+ # @!attribute [rw] server_tls_policy
68
+ # @return [::String]
69
+ # Optional. A fully-qualified ServerTLSPolicy URL reference. Specifies how
70
+ # TLS traffic is terminated. If empty, TLS termination is disabled.
71
+ class Gateway
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+
75
+ # @!attribute [rw] key
76
+ # @return [::String]
77
+ # @!attribute [rw] value
78
+ # @return [::String]
79
+ class LabelsEntry
80
+ include ::Google::Protobuf::MessageExts
81
+ extend ::Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+
84
+ # The type of the customer-managed gateway.
85
+ # Possible values are:
86
+ # * OPEN_MESH
87
+ # * SECURE_WEB_GATEWAY
88
+ module Type
89
+ # The type of the customer managed gateway is unspecified.
90
+ TYPE_UNSPECIFIED = 0
91
+
92
+ # The type of the customer managed gateway is TrafficDirector Open
93
+ # Mesh.
94
+ OPEN_MESH = 1
95
+
96
+ # The type of the customer managed gateway is SecureWebGateway (SWG).
97
+ SECURE_WEB_GATEWAY = 2
98
+ end
99
+ end
100
+
101
+ # Request used with the ListGateways method.
102
+ # @!attribute [rw] parent
103
+ # @return [::String]
104
+ # Required. The project and location from which the Gateways should be
105
+ # listed, specified in the format `projects/*/locations/*`.
106
+ # @!attribute [rw] page_size
107
+ # @return [::Integer]
108
+ # Maximum number of Gateways to return per call.
109
+ # @!attribute [rw] page_token
110
+ # @return [::String]
111
+ # The value returned by the last `ListGatewaysResponse`
112
+ # Indicates that this is a continuation of a prior `ListGateways` call,
113
+ # and that the system should return the next page of data.
114
+ class ListGatewaysRequest
115
+ include ::Google::Protobuf::MessageExts
116
+ extend ::Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Response returned by the ListGateways method.
120
+ # @!attribute [rw] gateways
121
+ # @return [::Array<::Google::Cloud::NetworkServices::V1::Gateway>]
122
+ # List of Gateway resources.
123
+ # @!attribute [rw] next_page_token
124
+ # @return [::String]
125
+ # If there might be more results than those appearing in this response, then
126
+ # `next_page_token` is included. To get the next set of results, call this
127
+ # method again using the value of `next_page_token` as `page_token`.
128
+ class ListGatewaysResponse
129
+ include ::Google::Protobuf::MessageExts
130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
131
+ end
132
+
133
+ # Request used by the GetGateway method.
134
+ # @!attribute [rw] name
135
+ # @return [::String]
136
+ # Required. A name of the Gateway to get. Must be in the format
137
+ # `projects/*/locations/*/gateways/*`.
138
+ class GetGatewayRequest
139
+ include ::Google::Protobuf::MessageExts
140
+ extend ::Google::Protobuf::MessageExts::ClassMethods
141
+ end
142
+
143
+ # Request used by the CreateGateway method.
144
+ # @!attribute [rw] parent
145
+ # @return [::String]
146
+ # Required. The parent resource of the Gateway. Must be in the
147
+ # format `projects/*/locations/*`.
148
+ # @!attribute [rw] gateway_id
149
+ # @return [::String]
150
+ # Required. Short name of the Gateway resource to be created.
151
+ # @!attribute [rw] gateway
152
+ # @return [::Google::Cloud::NetworkServices::V1::Gateway]
153
+ # Required. Gateway resource to be created.
154
+ class CreateGatewayRequest
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+
159
+ # Request used by the UpdateGateway method.
160
+ # @!attribute [rw] update_mask
161
+ # @return [::Google::Protobuf::FieldMask]
162
+ # Optional. Field mask is used to specify the fields to be overwritten in the
163
+ # Gateway resource by the update.
164
+ # The fields specified in the update_mask are relative to the resource, not
165
+ # the full request. A field will be overwritten if it is in the mask. If the
166
+ # user does not provide a mask then all fields will be overwritten.
167
+ # @!attribute [rw] gateway
168
+ # @return [::Google::Cloud::NetworkServices::V1::Gateway]
169
+ # Required. Updated Gateway resource.
170
+ class UpdateGatewayRequest
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Request used by the DeleteGateway method.
176
+ # @!attribute [rw] name
177
+ # @return [::String]
178
+ # Required. A name of the Gateway to delete. Must be in the format
179
+ # `projects/*/locations/*/gateways/*`.
180
+ class DeleteGatewayRequest
181
+ include ::Google::Protobuf::MessageExts
182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
183
+ end
184
+ end
185
+ end
186
+ end
187
+ end