class GeoEngineer::Resources::AwsVpnConnectionRoute
AwsVpnConnectionRoute
is the aws_vpn_connection
terrform resource,
{www.terraform.io/docs/providers/aws/r/vpn_connection_route.html Terraform Docs}
Public Class Methods
_fetch_remote_resources(provider)
click to toggle source
# File lib/geoengineer/resources/aws_vpn_connection_route.rb, line 52 def self._fetch_remote_resources(provider) AwsClients.ec2(provider) .describe_vpn_connections['vpn_connections'] .map(&:to_h) .select { |connection| !connection[:routes].empty? } .map { |connection| _generate_routes(connection) } .flatten end
_generate_routes(connection)
click to toggle source
# File lib/geoengineer/resources/aws_vpn_connection_route.rb, line 61 def self._generate_routes(connection) connection[:routes].map do |route| cidr = route[:destination_cidr_block] connection_id = connection[:vpn_connection_id] id = build_connection_route_id(cidr, connection_id) route.merge({ _terraform_id: id, _geo_id: id }) end end
build_connection_route_id(cidr, connection_id)
click to toggle source
# File lib/geoengineer/resources/aws_vpn_connection_route.rb, line 44 def self.build_connection_route_id(cidr, connection_id) "#{cidr}:#{connection_id}" end
Public Instance Methods
connection_route_id()
click to toggle source
# File lib/geoengineer/resources/aws_vpn_connection_route.rb, line 37 def connection_route_id self.class.build_connection_route_id( destination_cidr_block, vpn_connection_id ) end
terraform_ref?()
click to toggle source
Is the VPN connection id a terraform ref or an id
# File lib/geoengineer/resources/aws_vpn_connection_route.rb, line 22 def terraform_ref? /^\${[a-zA-Z0-9\._-]+}$/.match(vpn_connection_id) end
to_terraform_state()
click to toggle source
Calls superclass method
GeoEngineer::Resource#to_terraform_state
# File lib/geoengineer/resources/aws_vpn_connection_route.rb, line 26 def to_terraform_state tfstate = super tfstate[:primary][:attributes] = { 'destination_cidr_block' => destination_cidr_block, 'vpn_connection_id' => vpn_connection_id } tfstate end