Class: AWS::EC2::RouteTable::Route
- Inherits:
-
Object
- Object
- AWS::EC2::RouteTable::Route
- Defined in:
- lib/aws/ec2/route_table/route.rb
Instance Attribute Summary collapse
-
#destination_cidr_block ⇒ String
(also: #cidr_block)
readonly
Destination_cidr_block.
- #instance ⇒ Instance? readonly
- #internet_gateway ⇒ InternetGateway? readonly
- #network_interface ⇒ NetworkInterface? readonly
-
#origin ⇒ Symbol
readonly
:create_route_table or :enable_vgw_route_propagation).
- #route_table ⇒ RouteTable readonly
-
#state ⇒ Symbol
readonly
Returns the state (:active or :blackhole).
-
#target ⇒ Gateway, ...
readonly
Returns the target of this route table.
Instance Method Summary collapse
-
#delete ⇒ nil
Deletes this route.
-
#initialize(route_table, details) ⇒ Route
constructor
A new instance of Route.
- #replace(options = {}) ⇒ nil
Constructor Details
#initialize(route_table, details) ⇒ Route
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/aws/ec2/route_table/route.rb', line 29 def initialize route_table, details @route_table = route_table @destination_cidr_block = details.destination_cidr_block if details[:gateway_id] @internet_gateway = InternetGateway.new( details[:gateway_id], :config => route_table.config) end if details[:instance_id] @instance = Instance.new(details[:instance_id], :vpc_id => route_table.vpc_id, :owner_id => details[:instance_owner_id], :config => route_table.config) end if details[:network_interface_id] @network_interface = NetworkInterface.new( details[:network_interface_id], :vpc_id => route_table.vpc_id, :config => route_table.config) end @target = (internet_gateway || instance || network_interface) @origin = { 'CreateRoute' => :create_route, 'CreateRouteTable' => :create_route_table, 'EnableVgwRoutePropagation' => :enable_vgw_route_propagation }[details.origin] @state = details.state.to_sym end |
Instance Attribute Details
#destination_cidr_block ⇒ String (readonly) Also known as: cidr_block
67 68 69 |
# File 'lib/aws/ec2/route_table/route.rb', line 67 def destination_cidr_block @destination_cidr_block end |
#instance ⇒ Instance? (readonly)
75 76 77 |
# File 'lib/aws/ec2/route_table/route.rb', line 75 def instance @instance end |
#internet_gateway ⇒ InternetGateway? (readonly)
72 73 74 |
# File 'lib/aws/ec2/route_table/route.rb', line 72 def internet_gateway @internet_gateway end |
#network_interface ⇒ NetworkInterface? (readonly)
78 79 80 |
# File 'lib/aws/ec2/route_table/route.rb', line 78 def network_interface @network_interface end |
#origin ⇒ Symbol (readonly)
:create_route_table or :enable_vgw_route_propagation)
87 88 89 |
# File 'lib/aws/ec2/route_table/route.rb', line 87 def origin @origin end |
#route_table ⇒ RouteTable (readonly)
64 65 66 |
# File 'lib/aws/ec2/route_table/route.rb', line 64 def route_table @route_table end |
#state ⇒ Symbol (readonly)
90 91 92 |
# File 'lib/aws/ec2/route_table/route.rb', line 90 def state @state end |
#target ⇒ Gateway, ... (readonly)
83 84 85 |
# File 'lib/aws/ec2/route_table/route.rb', line 83 def target @target end |
Instance Method Details
#delete ⇒ nil
Deletes this route.
112 113 114 |
# File 'lib/aws/ec2/route_table/route.rb', line 112 def delete route_table.delete_route(destination_cidr_block) end |
#replace(options = {}) ⇒ nil
106 107 108 |
# File 'lib/aws/ec2/route_table/route.rb', line 106 def replace = {} route_table.replace_route(destination_cidr_block, ) end |