Class: Google::Cloud::NetworkServices::V1::TcpRoute

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/networkservices/v1/tcp_route.rb

Overview

TcpRoute is the resource defining how TCP traffic should be routed by a Mesh/Gateway resource.

Defined Under Namespace

Classes: LabelsEntry, RouteAction, RouteDestination, RouteMatch, RouteRule

Instance Attribute Summary collapse

Instance Attribute Details

#create_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The timestamp when the resource was created.

Returns:



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#description::String

Returns Optional. A free-text description of the resource. Max length 1024 characters.

Returns:

  • (::String)

    Optional. A free-text description of the resource. Max length 1024 characters.



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#gateways::Array<::String>

Returns Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to route the requests served by the gateway.

Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>.

Returns:

  • (::Array<::String>)

    Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to route the requests served by the gateway.

    Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#labels::Google::Protobuf::Map{::String => ::String}

Returns Optional. Set of label tags associated with the TcpRoute resource.

Returns:

  • (::Google::Protobuf::Map{::String => ::String})

    Optional. Set of label tags associated with the TcpRoute resource.



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#meshes::Array<::String>

Returns Optional. Meshes defines a list of meshes this TcpRoute is attached to, as one of the routing rules to route the requests served by the mesh.

Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>

The attached Mesh should be of a type SIDECAR.

Returns:

  • (::Array<::String>)

    Optional. Meshes defines a list of meshes this TcpRoute is attached to, as one of the routing rules to route the requests served by the mesh.

    Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>

    The attached Mesh should be of a type SIDECAR



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#name::String

Returns Required. Name of the TcpRoute resource. It matches pattern projects/*/locations/global/tcpRoutes/tcp_route_name>.

Returns:

  • (::String)

    Required. Name of the TcpRoute resource. It matches pattern projects/*/locations/global/tcpRoutes/tcp_route_name>.



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#rules::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteRule>

Returns Required. Rules that define how traffic is routed and handled. At least one RouteRule must be supplied. If there are multiple rules then the action taken will be the first rule to match.

Returns:



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

Returns Output only. Server-defined URL of this resource.

Returns:

  • (::String)

    Output only. Server-defined URL of this resource



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The timestamp when the resource was updated.

Returns:



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'proto_docs/google/cloud/networkservices/v1/tcp_route.rb', line 67

class TcpRoute
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Specifies how to match traffic and how to route traffic when traffic is
  # matched.
  # @!attribute [rw] matches
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteMatch>]
  #     Optional. RouteMatch defines the predicate used to match requests to a
  #     given action. Multiple match types are "OR"ed for evaluation. If no
  #     routeMatch field is specified, this rule will unconditionally match
  #     traffic.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::NetworkServices::V1::TcpRoute::RouteAction]
  #     Required. The detailed rule defining how to route matched traffic.
  class RouteRule
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # RouteMatch defines the predicate used to match requests to a given action.
  # Multiple match types are "OR"ed for evaluation.
  # If no routeMatch field is specified, this rule will unconditionally match
  # traffic.
  # @!attribute [rw] address
  #   @return [::String]
  #     Required. Must be specified in the CIDR range format. A CIDR range
  #     consists of an IP Address and a prefix length to construct the subnet
  #     mask. By default, the prefix length is 32 (i.e. matches a single IP
  #     address). Only IPV4 addresses are supported.
  #     Examples:
  #     "10.0.0.1" - matches against this exact IP address.
  #     "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet
  #     and 255.255.255.0 mask.
  #     "0.0.0.0/0" - matches against any IP address'.
  # @!attribute [rw] port
  #   @return [::String]
  #     Required. Specifies the destination port to match against.
  class RouteMatch
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specifications for routing traffic and applying associated policies.
  # @!attribute [rw] destinations
  #   @return [::Array<::Google::Cloud::NetworkServices::V1::TcpRoute::RouteDestination>]
  #     Optional. The destination services to which traffic should be forwarded.
  #     At least one destination service is required. Only one of route
  #     destination or original destination can be set.
  # @!attribute [rw] original_destination
  #   @return [::Boolean]
  #     Optional. If true, Router will use the destination IP and port of the
  #     original connection as the destination of the request. Default is false.
  #     Only one of route destinations or original destination can be set.
  class RouteAction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Describe the destination for traffic to be routed to.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     Required. The URL of a BackendService to route traffic to.
  # @!attribute [rw] weight
  #   @return [::Integer]
  #     Optional. Specifies the proportion of requests forwarded to the backend
  #     referenced by the serviceName field. This is computed as:
  #     - weight/Sum(weights in this destination list).
  #     For non-zero values, there may be some epsilon from the exact proportion
  #     defined here depending on the precision an implementation supports.
  #
  #     If only one serviceName is specified and it has a weight greater than 0,
  #     100% of the traffic is forwarded to that backend.
  #
  #     If weights are specified for any one service name, they need to be
  #     specified for all of them.
  #
  #     If weights are unspecified for all services, then, traffic is distributed
  #     in equal proportions to all of them.
  class RouteDestination
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end