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 route L4 network traffic based on not just destination IP address, but also source IP address, protocol, and more. If a policy-based route conflicts with other types of routes, the policy-based route always takes precedence.

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 policy-based route was created.

Returns:



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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.



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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:



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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 that this policy-based route applies to.

Note: The following fields are mutually exclusive: interconnect_attachment, virtual_machine. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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.



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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.



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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}



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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, for example: projects/my-project/global/networks/my-network.

Returns:

  • (::String)

    Required. Fully-qualified URL of the network that this route applies to, for example: projects/my-project/global/networks/my-network.



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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 address of a global-access-enabled L4 ILB that is the next hop for matching packets. For this version, only nextHopIlbIp is supported.

Note: The following fields are mutually exclusive: next_hop_ilb_ip, next_hop_other_routes. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:

  • (::String)

    Optional. The IP address of a global-access-enabled L4 ILB that is the next hop for matching packets. For this version, only nextHopIlbIp is supported.

    Note: The following fields are mutually exclusive: next_hop_ilb_ip, next_hop_other_routes. If a field in that set is populated, all other fields in the set will automatically be cleared.



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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.

Note: The following fields are mutually exclusive: next_hop_other_routes, next_hop_ilb_ip. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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.


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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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.



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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 policy-based route was updated.

Returns:



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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 that this policy-based route applies to.

Note: The following fields are mutually exclusive: virtual_machine, interconnect_attachment. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes 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:



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
209
210
211
212
213
214
215
# File 'proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb', line 94

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

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

  # InterconnectAttachment that 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. IPV6 is supported in preview.
  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
      # that 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 effectively
    # excludes matching packets being applied on other PBRs with a lower
    # priority.
    DEFAULT_ROUTING = 1
  end
end