Class: Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute

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

Overview

Policy Based Routes (PBR) are more powerful routes that allows GCP customers to route their L4 network traffic based on not just destination IP, but also source IP, protocol and more. A PBR always take precedence when it conflicts with other types of routes. Next id: 22

Defined Under Namespace

Modules: OtherRoutes Classes: Filter, InterconnectAttachment, LabelsEntry, VirtualMachine, Warnings

Instance Attribute Summary collapse

Instance Attribute Details

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

Returns Output only. Time when the PolicyBasedRoute was created.

Returns:



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#description::String

Returns Optional. An optional description of this resource. Provide this field when you create the resource.

Returns:

  • (::String)

    Optional. An optional description of this resource. Provide this field when you create the resource.



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#filter::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter

Returns Required. The filter to match L4 traffic.

Returns:



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#interconnect_attachment::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::InterconnectAttachment

Returns Optional. The interconnect attachments to which this route applies to.

Returns:



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#kind::String (readonly)

Returns Output only. Type of this resource. Always networkconnectivity#policyBasedRoute for Policy Based Route resources.

Returns:

  • (::String)

    Output only. Type of this resource. Always networkconnectivity#policyBasedRoute for Policy Based Route resources.



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

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

Returns User-defined labels.

Returns:

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

    User-defined labels.



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#name::String

Returns Immutable. A unique name of the resource in the form of projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}.

Returns:

  • (::String)

    Immutable. A unique name of the resource in the form of projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#network::String

Returns Required. Fully-qualified URL of the network that this route applies to. e.g. projects/my-project/global/networks/my-network.

Returns:

  • (::String)

    Required. Fully-qualified URL of the network that this route applies to. e.g. projects/my-project/global/networks/my-network.



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#next_hop_ilb_ip::String

Returns Optional. The IP of a global access enabled L4 ILB that should be the next hop to handle matching packets. For this version, only next_hop_ilb_ip is supported.

Returns:

  • (::String)

    Optional. The IP of a global access enabled L4 ILB that should be the next hop to handle matching packets. For this version, only next_hop_ilb_ip is supported.



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#next_hop_other_routes::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::OtherRoutes

Returns Optional. Other routes that will be referenced to determine the next hop of the packet.

Returns:



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#priority::Integer

Returns Optional. The priority of this policy based route. Priority is used to break ties in cases where there are more than one matching policy based routes found. In cases where multiple policy based routes are matched, the one with the lowest-numbered priority value wins. The default value is

  1. The priority value must be from 1 to 65535, inclusive.

Returns:

  • (::Integer)

    Optional. The priority of this policy based route. Priority is used to break ties in cases where there are more than one matching policy based routes found. In cases where multiple policy based routes are matched, the one with the lowest-numbered priority value wins. The default value is

    1. The priority value must be from 1 to 65535, inclusive.


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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

Returns Output only. Server-defined fully-qualified URL for this resource.

Returns:

  • (::String)

    Output only. Server-defined fully-qualified URL for this resource.



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

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

Returns Output only. Time when the PolicyBasedRoute was updated.

Returns:



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#virtual_machine::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::VirtualMachine

Returns Optional. VM instances to which this policy based route applies to.

Returns:



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end

#warnings::Array<::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings> (readonly)

Returns Output only. If potential misconfigurations are detected for this route, this field will be populated with warning messages.

Returns:



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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 86

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

  # VM instances to which this policy based route applies to.
  # @!attribute [rw] tags
  #   @return [::Array<::String>]
  #     Optional. A list of VM instance tags to which this policy based route
  #     applies to. VM instances that have ANY of tags specified here will
  #     install this PBR.
  class VirtualMachine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # InterconnectAttachment to which this route applies to.
  # @!attribute [rw] region
  #   @return [::String]
  #     Optional. Cloud region to install this policy based route on interconnect
  #     attachment. Use `all` to install it on all interconnect attachments.
  class InterconnectAttachment
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Filter matches L4 traffic.
  # @!attribute [rw] ip_protocol
  #   @return [::String]
  #     Optional. The IP protocol that this policy based route applies to. Valid
  #     values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
  # @!attribute [rw] src_range
  #   @return [::String]
  #     Optional. The source IP range of outgoing packets that this policy based
  #     route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
  # @!attribute [rw] dest_range
  #   @return [::String]
  #     Optional. The destination IP range of outgoing packets that this policy
  #     based route applies to. Default is "0.0.0.0/0" if protocol version is
  #     IPv4.
  # @!attribute [rw] protocol_version
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Filter::ProtocolVersion]
  #     Required. Internet protocol versions this policy based route applies to.
  #     For this version, only IPV4 is supported.
  class Filter
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The internet protocol version.
    module ProtocolVersion
      # Default value.
      PROTOCOL_VERSION_UNSPECIFIED = 0

      # The PBR is for IPv4 internet protocol traffic.
      IPV4 = 1
    end
  end

  # Informational warning message.
  # @!attribute [r] code
  #   @return [::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute::Warnings::Code]
  #     Output only. A warning code, if applicable.
  # @!attribute [r] data
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Output only. Metadata about this warning in key: value format. The key
  #     should provides more detail on the warning being returned. For example,
  #     for warnings where there are no results in a list request for a
  #     particular zone, this key might be scope and the key value might be the
  #     zone name. Other examples might be a key indicating a deprecated resource
  #     and a suggested replacement.
  # @!attribute [r] warning_message
  #   @return [::String]
  #     Output only. A human-readable description of the warning code.
  class Warnings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

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

    # Warning code for Policy Based Routing. Expect to add values in the
    # future.
    module Code
      # Default value.
      WARNING_UNSPECIFIED = 0

      # The policy based route is not active and functioning. Common causes are
      # the dependent network was deleted or the resource project was turned
      # off.
      RESOURCE_NOT_ACTIVE = 1

      # The policy based route is being modified (e.g. created/deleted) at this
      # time.
      RESOURCE_BEING_MODIFIED = 2
    end
  end

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

  # The other routing cases.
  module OtherRoutes
    # Default value.
    OTHER_ROUTES_UNSPECIFIED = 0

    # Use the routes from the default routing tables (system-generated routes,
    # custom routes, peering route) to determine the next hop. This will
    # effectively exclude matching packets being applied on other PBRs with a
    # lower priority.
    DEFAULT_ROUTING = 1
  end
end