Class: Google::Apis::NetworkconnectivityV1::PolicyBasedRoute

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkconnectivity_v1/classes.rb,
lib/google/apis/networkconnectivity_v1/representations.rb,
lib/google/apis/networkconnectivity_v1/representations.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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ PolicyBasedRoute

Returns a new instance of PolicyBasedRoute.



3189
3190
3191
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3189

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#create_timeString

Output only. Time when the policy-based route was created. Corresponds to the JSON property createTime

Returns:

  • (String)


3106
3107
3108
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3106

def create_time
  @create_time
end

#descriptionString

Optional. An optional description of this resource. Provide this field when you create the resource. Corresponds to the JSON property description

Returns:

  • (String)


3112
3113
3114
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3112

def description
  @description
end

#filterGoogle::Apis::NetworkconnectivityV1::Filter

Filter matches L4 traffic. Corresponds to the JSON property filter



3117
3118
3119
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3117

def filter
  @filter
end

#interconnect_attachmentGoogle::Apis::NetworkconnectivityV1::InterconnectAttachment

InterconnectAttachment that this route applies to. Corresponds to the JSON property interconnectAttachment



3122
3123
3124
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3122

def interconnect_attachment
  @interconnect_attachment
end

#kindString

Output only. Type of this resource. Always networkconnectivity# policyBasedRoute for policy-based Route resources. Corresponds to the JSON property kind

Returns:

  • (String)


3128
3129
3130
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3128

def kind
  @kind
end

#labelsHash<String,String>

User-defined labels. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


3133
3134
3135
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3133

def labels
  @labels
end

#nameString

Immutable. Identifier. A unique name of the resource in the form of projects/ project_number/locations/global/PolicyBasedRoutes/policy_based_route_id` Corresponds to the JSON propertyname`

Returns:

  • (String)


3139
3140
3141
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3139

def name
  @name
end

#networkString

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

Returns:

  • (String)


3145
3146
3147
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3145

def network
  @network
end

#next_hop_ilb_ipString

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. Corresponds to the JSON property nextHopIlbIp

Returns:

  • (String)


3151
3152
3153
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3151

def next_hop_ilb_ip
  @next_hop_ilb_ip
end

#next_hop_other_routesString

Optional. Other routes that will be referenced to determine the next hop of the packet. Corresponds to the JSON property nextHopOtherRoutes

Returns:

  • (String)


3157
3158
3159
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3157

def next_hop_other_routes
  @next_hop_other_routes
end

#priorityFixnum

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 1000. The priority value must be from 1 to 65535, inclusive. Corresponds to the JSON property priority

Returns:

  • (Fixnum)


3166
3167
3168
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3166

def priority
  @priority
end

Output only. Server-defined fully-qualified URL for this resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


3171
3172
3173
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3171

def self_link
  @self_link
end

#update_timeString

Output only. Time when the policy-based route was updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


3176
3177
3178
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3176

def update_time
  @update_time
end

#virtual_machineGoogle::Apis::NetworkconnectivityV1::VirtualMachine

VM instances that this policy-based route applies to. Corresponds to the JSON property virtualMachine



3181
3182
3183
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3181

def virtual_machine
  @virtual_machine
end

#warningsArray<Google::Apis::NetworkconnectivityV1::Warnings>

Output only. If potential misconfigurations are detected for this route, this field will be populated with warning messages. Corresponds to the JSON property warnings



3187
3188
3189
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3187

def warnings
  @warnings
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 3194

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @filter = args[:filter] if args.key?(:filter)
  @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
  @kind = args[:kind] if args.key?(:kind)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @network = args[:network] if args.key?(:network)
  @next_hop_ilb_ip = args[:next_hop_ilb_ip] if args.key?(:next_hop_ilb_ip)
  @next_hop_other_routes = args[:next_hop_other_routes] if args.key?(:next_hop_other_routes)
  @priority = args[:priority] if args.key?(:priority)
  @self_link = args[:self_link] if args.key?(:self_link)
  @update_time = args[:update_time] if args.key?(:update_time)
  @virtual_machine = args[:virtual_machine] if args.key?(:virtual_machine)
  @warnings = args[:warnings] if args.key?(:warnings)
end