class GeoEngineer::Resources::AwsRoute
AwsRoute
is the aws_route
terrform resource,
{www.terraform.io/docs/providers/aws/r/route.html Terraform Docs}
Public Class Methods
_extract_routes(route_table)
click to toggle source
# File lib/geoengineer/resources/aws_route.rb, line 37 def self._extract_routes(route_table) route_table[:routes]&.map do |route| id = "r-#{route_table[:route_table_id]}#{Crc32.hashcode(route[:destination_cidr_block])}" route.merge( { route_table_id: route_table[:route_table_id], _terraform_id: id, _geo_id: "#{route_table[:route_table_id]}::#{route[:destination_cidr_block]}" } ) end end
_fetch_remote_resources(provider)
click to toggle source
# File lib/geoengineer/resources/aws_route.rb, line 25 def self._fetch_remote_resources(provider) AwsClients .ec2(provider) .describe_route_tables['route_tables'] .map(&:to_h) .map { |route_table| _extract_routes(route_table) } .flatten .compact .reject { |route| route[:gateway_id] == "local" } .reject { |route| route.key?(:destination_prefix_list_id) } end
Public Instance Methods
to_terraform_state()
click to toggle source
Calls superclass method
GeoEngineer::Resource#to_terraform_state
# File lib/geoengineer/resources/aws_route.rb, line 12 def to_terraform_state tfstate = super tfstate[:primary][:attributes] = { 'route_table_id' => route_table_id, 'destination_cidr_block' => destination_cidr_block } tfstate end