Class Rudy::CLI::AWS::EC2::Addresses

  1. lib/rudy/cli/aws/ec2/addresses.rb

Public instance methods

addresses ()
[show source]
    # File lib/rudy/cli/aws/ec2/addresses.rb, line 81
81:     def addresses
82:       addresses = Rudy::AWS::EC2::Addresses.list || []
83:       print_stobjects addresses
84:     end
addresses_create ()
[show source]
    # File lib/rudy/cli/aws/ec2/addresses.rb, line 8
 8:     def addresses_create
 9:       address = Rudy::AWS::EC2::Addresses.create
10:       print_stobject address
11:     end
addresses_destroy ()
[show source]
    # File lib/rudy/cli/aws/ec2/addresses.rb, line 19
19:     def addresses_destroy
20:       address = Rudy::AWS::EC2::Addresses.get(@argv.ipaddress)
21:       raise "Could not fetch #{address.ipaddress}" unless address
22:       
23:       li "Destroying address: #{@argv.ipaddress}"
24:       li "NOTE: this IP address will become available to other EC2 customers.".bright
25:       execute_check(:medium)
26:       execute_action { Rudy::AWS::EC2::Addresses.destroy(@argv.ipaddress) }
27:     end
addresses_destroy_valid? ()
[show source]
    # File lib/rudy/cli/aws/ec2/addresses.rb, line 13
13:     def addresses_destroy_valid?
14:       raise Drydock::ArgError.new("IP address", @alias) unless @argv.ipaddress
15:       raise "#{@argv.ipaddress} is not allocated to you" unless Rudy::AWS::EC2::Addresses.exists?(@argv.ipaddress)
16:       raise "#{@argv.ipaddress} is associated!" if Rudy::AWS::EC2::Addresses.associated?(@argv.ipaddress)
17:       true
18:     end
associate_addresses ()
[show source]
    # File lib/rudy/cli/aws/ec2/addresses.rb, line 34
34:     def associate_addresses
35:       raise "Instance #{@argv.instid} does not exist!" unless Rudy::AWS::EC2::Instances.exists?(@option.instance)
36:       
37:       if @option.newaddress
38:         print "Creating address... "
39:         tmp = Rudy::AWS::EC2::Addresses.create
40:         li "#{tmp.ipaddress}"
41:         address = tmp.ipaddress
42:       else
43:         address = @argv.ipaddress
44:       end
45:       
46:       raise "#{address} is not allocated to you" unless Rudy::AWS::EC2::Addresses.exists?(address)
47:       raise "#{address} is already associated!" if Rudy::AWS::EC2::Addresses.associated?(address)
48:           
49:       instance = Rudy::AWS::EC2::Instances.get(@option.instance)
50:       
51:       # If an instance was recently disassoiciated, the dns_public may
52:       # not be updated yet
53:       instance_name = instance.dns_public
54:       instance_name = instance.awsid if !instance_name || instance_name.empty?
55:       
56:       li "Associating #{address} to #{instance_name} (#{instance.groups.join(', ')})"
57:       execute_check(:low)
58:       execute_action { Rudy::AWS::EC2::Addresses.associate(address, instance.awsid) }
59:       address = Rudy::AWS::EC2::Addresses.get(address)
60:       print_stobject address
61:     end
associate_addresses_valid? ()
[show source]
    # File lib/rudy/cli/aws/ec2/addresses.rb, line 29
29:     def associate_addresses_valid?
30:       raise Drydock::ArgError.new('IP address', @alias) if !@argv.ipaddress && !@option.newaddress
31:       raise Drydock::OptError.new('instance ID', @alias) if !@option.instance
32:       true
33:     end
disassociate_addresses ()
[show source]
    # File lib/rudy/cli/aws/ec2/addresses.rb, line 67
67:     def disassociate_addresses
68:       raise "#{@argv.ipaddress} is not allocated to you" unless Rudy::AWS::EC2::Addresses.exists?(@argv.ipaddress)
69:       raise "#{@argv.ipaddress} is not associated!" unless Rudy::AWS::EC2::Addresses.associated?(@argv.ipaddress)
70:       
71:       address = Rudy::AWS::EC2::Addresses.get(@argv.ipaddress)
72:       instance = Rudy::AWS::EC2::Instances.get(address.instid)
73:       
74:       li "Disassociating #{address.ipaddress} from #{instance.awsid} (#{instance.groups.join(', ')})"
75:       execute_check(:medium)
76:       execute_action { Rudy::AWS::EC2::Addresses.disassociate(@argv.ipaddress) }
77:       address = Rudy::AWS::EC2::Addresses.get(@argv.ipaddress)
78:       print_stobject address
79:     end
disassociate_addresses_valid? ()
[show source]
    # File lib/rudy/cli/aws/ec2/addresses.rb, line 63
63:     def disassociate_addresses_valid?
64:       raise "You have not supplied an IP addresses" unless @argv.ipaddress
65:       true
66:     end