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 (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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ PolicyBasedRoute

Returns a new instance of PolicyBasedRoute.



1875
1876
1877
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1875

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

Instance Attribute Details

#create_timeString

Output only. Time when the PolicyBasedRoute was created. Corresponds to the JSON property createTime

Returns:

  • (String)


1791
1792
1793
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1791

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)


1797
1798
1799
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1797

def description
  @description
end

#filterGoogle::Apis::NetworkconnectivityV1::Filter

Filter matches L4 traffic. Corresponds to the JSON property filter



1802
1803
1804
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1802

def filter
  @filter
end

#interconnect_attachmentGoogle::Apis::NetworkconnectivityV1::InterconnectAttachment

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



1807
1808
1809
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1807

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)


1813
1814
1815
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1813

def kind
  @kind
end

#labelsHash<String,String>

User-defined labels. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1818
1819
1820
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1818

def labels
  @labels
end

#nameString

Immutable. 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)


1824
1825
1826
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1824

def name
  @name
end

#networkString

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

Returns:

  • (String)


1830
1831
1832
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1830

def network
  @network
end

#next_hop_ilb_ipString

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

Returns:

  • (String)


1837
1838
1839
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1837

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)


1843
1844
1845
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1843

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)


1852
1853
1854
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1852

def priority
  @priority
end

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

Returns:

  • (String)


1857
1858
1859
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1857

def self_link
  @self_link
end

#update_timeString

Output only. Time when the PolicyBasedRoute was updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


1862
1863
1864
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1862

def update_time
  @update_time
end

#virtual_machineGoogle::Apis::NetworkconnectivityV1::VirtualMachine

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



1867
1868
1869
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1867

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



1873
1874
1875
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1873

def warnings
  @warnings
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1880

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