Class: Aws::EC2::RouteTable
- Inherits:
-
Object
- Object
- Aws::EC2::RouteTable
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-ec2/route_table.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
- #id ⇒ String (also: #route_table_id)
-
#propagating_vgws ⇒ Array<Types::PropagatingVgw>
Any virtual private gateway (VGW) propagating routes.
-
#tags ⇒ Array<Types::Tag>
Any tags assigned to the route table.
-
#vpc_id ⇒ String
The ID of the VPC.
Actions collapse
- #associate_with_subnet(options = {}) ⇒ RouteTableAssociation
- #create_route(options = {}) ⇒ Route
- #create_tags(options = {}) ⇒ Tag::Collection
- #delete(options = {}) ⇒ EmptyStructure
Associations collapse
- #associations ⇒ RouteTableAssociation::Collection
- #identifiers ⇒ Object deprecated private Deprecated.
- #routes ⇒ Route::Collection
- #vpc ⇒ Vpc?
Instance Method Summary collapse
- #client ⇒ Client
-
#data ⇒ Types::RouteTable
Returns the data for this RouteTable.
-
#data_loaded? ⇒ Boolean
Returns ‘true` if this resource is loaded.
-
#initialize(*args) ⇒ RouteTable
constructor
A new instance of RouteTable.
-
#load ⇒ self
(also: #reload)
Loads, or reloads #data for the current RouteTable.
Constructor Details
#initialize(id, options = {}) ⇒ RouteTable #initialize(options = {}) ⇒ RouteTable
Returns a new instance of RouteTable.
19 20 21 22 23 24 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 19 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @id = extract_id(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() end |
Instance Method Details
#associate_with_subnet(options = {}) ⇒ RouteTableAssociation
104 105 106 107 108 109 110 111 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 104 def associate_with_subnet( = {}) = .merge(route_table_id: @id) resp = @client.associate_route_table() RouteTableAssociation.new( id: resp.data.association_id, client: @client ) end |
#associations ⇒ RouteTableAssociation::Collection
222 223 224 225 226 227 228 229 230 231 232 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 222 def associations batch = [] data.associations.each do |a| batch << RouteTableAssociation.new( id: a.route_table_association_id, data: a, client: @client ) end RouteTableAssociation::Collection.new([batch], size: batch.size) end |
#create_route(options = {}) ⇒ Route
154 155 156 157 158 159 160 161 162 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 154 def create_route( = {}) = .merge(route_table_id: @id) resp = @client.create_route() Route.new( route_table_id: @id, destination_cidr_block: [:destination_cidr_block], client: @client ) end |
#create_tags(options = {}) ⇒ Tag::Collection
186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 186 def ( = {}) batch = [] = Aws::Util.deep_merge(, resources: [@id]) resp = @client.() [:tags].each do |t| batch << Tag.new( resource_id: @id, key: t[:key], value: t[:value], client: @client ) end Tag::Collection.new([batch], size: batch.size) end |
#data ⇒ Types::RouteTable
Returns the data for this Aws::EC2::RouteTable. Calls Client#describe_route_tables if #data_loaded? is ‘false`.
75 76 77 78 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 75 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
83 84 85 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 83 def data_loaded? !!@data end |
#delete(options = {}) ⇒ EmptyStructure
213 214 215 216 217 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 213 def delete( = {}) = .merge(route_table_id: @id) resp = @client.delete_route_table() resp.data end |
#id ⇒ String Also known as: route_table_id
29 30 31 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 29 def id @id end |
#identifiers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
262 263 264 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 262 def identifiers { id: @id } end |
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::EC2::RouteTable. Returns ‘self` making it possible to chain methods.
route_table.reload.data
65 66 67 68 69 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 65 def load resp = @client.describe_route_tables(route_table_ids: [@id]) @data = resp.route_tables[0] self end |
#propagating_vgws ⇒ Array<Types::PropagatingVgw>
Any virtual private gateway (VGW) propagating routes.
36 37 38 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 36 def propagating_vgws data.propagating_vgws end |
#routes ⇒ Route::Collection
235 236 237 238 239 240 241 242 243 244 245 246 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 235 def routes batch = [] data.routes.each do |r| batch << Route.new( route_table_id: @id, destination_cidr_block: r.destination_cidr_block, data: r, client: @client ) end Route::Collection.new([batch], size: batch.size) end |
#tags ⇒ Array<Types::Tag>
Any tags assigned to the route table.
42 43 44 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 42 def data. end |
#vpc ⇒ Vpc?
249 250 251 252 253 254 255 256 257 258 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 249 def vpc if data.vpc_id Vpc.new( id: data.vpc_id, client: @client ) else nil end end |
#vpc_id ⇒ String
The ID of the VPC.
48 49 50 |
# File 'lib/aws-sdk-ec2/route_table.rb', line 48 def vpc_id data.vpc_id end |