awscli 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjBiZmExNDk4NWExYjBkNjEzZjIzYzAzMjg3MmM3NmRiM2FjNDliZQ==
4
+ MGQ0YjU3MDljNjk3NTg4OTViOTcwYTNjZjdkMjk5ZjAwOTc0NjVmOA==
5
5
  data.tar.gz: !binary |-
6
- ODA0NDYzZTI3MTcyYjhiZTQzOGU4MzAzMzg2ODc4NTc4OTlmYmRkOQ==
6
+ YTA0ZGIyNDZjN2RhMWU2M2IzM2YwMTk2ZDdjNThiZjY1ZDM0YWQ0NA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- M2RlNzdkYTQ3Y2NhM2EzMzA4Yzc5YTE3NmIwZTkxYWFhNzY0NmI3NWQ4ZjU5
10
- ODEyYTJmMzY2ODlmZDJiM2M5NWJiNzk5N2YzNGE4OGFlMzg2ODA1OGY2YzA4
11
- ZDY2ODJlYTI5YjAyZjgxMjNhMmM4NDNhMjEyOGQwZWFhODZiOWQ=
9
+ MDVlNGJlOWU5ZmY5MjQ2MjQ0OTFiZTYyMDQyZDA4MDk0YWRlNDA4ODAzZjc2
10
+ OWM5MGNlNmI3NWRjNGRiYjcwYmZiOTk0Y2VjMWUyYTU4NjhmNzFhZWZhN2Vk
11
+ MWI1NTQ3YTMzNGQxOWE3YjFmZjFiYTEyYjQ2YTFlYjFmMWNlZWE=
12
12
  data.tar.gz: !binary |-
13
- MmRjMzM3YTk3MDhmZjAxMDBhZjdlZWNlNDAyOTY2ODYzYmM1OGUyZGMwM2Uw
14
- MjczYTBlOGViNWIwMTViMzk0OWMyMDNiNTNkNTk1NjBkZmY1ODdjNjBmNjZl
15
- MGNlNTUzMTJhMGYyM2ExMjk3MjVkYzQyMmY1YmUzZmYwNzA5MzI=
13
+ MTRmZDFhZGVhNmI4OGU3YWI5MzhlNWY5MTk1ZDQ3NjgyNWZmZWQ2ODQ0NGJk
14
+ YjU0MDRkNWU1NWI0ZTJlNjc0ZDBjYjNmOGE1ZmM1Y2FjMWY0Mzg2YWVhMzBm
15
+ OTJlMzNjNmZhYjc1ZWE3N2MzNDNmNzkwYjA5YmFlMGM2MWQ5NDE=
@@ -38,6 +38,7 @@ module AwsCli
38
38
  require 'awscli/cli/ec2/vpc/internet_gateways'
39
39
  require 'awscli/cli/ec2/vpc/dhcp'
40
40
  require 'awscli/cli/ec2/vpc/subnet'
41
+ require 'awscli/cli/ec2/vpc/route_tables'
41
42
  #S3
42
43
  require 'awscli/cli/s3'
43
44
  require 'awscli/cli/s3/files'
@@ -0,0 +1,85 @@
1
+ module AwsCli
2
+ module CLI
3
+ module EC2
4
+ module VPC
5
+ require 'awscli/cli/ec2/vpc'
6
+ class RouteTables < Thor
7
+
8
+ desc "list", "List available route tables"
9
+ method_option :route_table_id, :aliases => "-r", :type => :string, :desc => "Comma seperated list of route table ID(s) to list"
10
+ def list
11
+ create_ec2_object
12
+ @ec2.list options
13
+ end
14
+
15
+ desc "create", "Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet."
16
+ method_option :vpc_id, :aliases => "-v", :type => :string, :required => true, :desc => "The ID of the VPC"
17
+ def create
18
+ create_ec2_object
19
+ @ec2.create options
20
+ end
21
+
22
+ desc "create_route", "Creates a route in a route table within a VPC"
23
+ method_option :route_table_id, :aliases => "-r", :type => :string, :required => true, :desc => "The ID of the route table for the route"
24
+ method_option :dest_cidr, :aliases => "-d", :type => :string, :required => true, :desc => "The CIDR address block used for the destination match, routing decisions are based on the most specific match"
25
+ method_option :gateway_id, :aliases => "-g", :type => :string, :desc => "The ID of an Internet gateway attached to your VPC"
26
+ method_option :instance_id, :aliases => "-i", :type => :string, :desc => "ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached"
27
+ method_option :net_interface_id, :aliases => "-n", :type => :string, :desc => "ID of a network interface"
28
+ def create_route
29
+ if options[:gateway_id] || options[:instance_id] || options[:net_interface_id]
30
+ create_ec2_object
31
+ @ec2.create_route(options)
32
+ else
33
+ Formatador.display_line("[red]Error: [/]Any one of the following options (--gateway-id, --instance-id, --net-interface-id) is requried")
34
+ end
35
+ end
36
+
37
+ desc "delete", "Deletes the specified route table, you must disassociate the route table from any subnets before you can delete it"
38
+ method_option :route_table_id, :aliases => "-r", :type => :string, :required => true, :desc => "The ID of the route table"
39
+ def delete
40
+ create_ec2_object
41
+ @ec2.delete(options)
42
+ end
43
+
44
+ desc "delete_route", "Deletes the specified route from the specified route table"
45
+ method_option :route_table_id, :aliases => "-r", :type => :string, :required => true, :desc => "The ID of the route table"
46
+ method_option :dest_cidr, :aliases => "-d", :type => :string, :required => true, :desc => "The CIDR range for the route(the value you specify must match the CIDR for the route exactly)"
47
+ def delete_route
48
+ create_ec2_object
49
+ @ec2.delete_route(options)
50
+ end
51
+
52
+ desc "associate_route_table", "Associates a subnet with a route table (the subnet and route table must be in the same VPC)"
53
+ method_option :route_table_id, :aliases => "-r", :type => :string, :required => true, :desc => "The ID of the route table"
54
+ method_option :subnet_id, :aliases => "-s", :type => :string, :required => true, :desc => "The ID of the subnet"
55
+ def associate_route_table
56
+ create_ec2_object
57
+ @ec2.associate_route_table(options)
58
+ end
59
+
60
+ desc "disassociate_route_table", "Disassociates a subnet from a route table"
61
+ method_option :association_id, :aliases => "-a", :type => :string, :required => true, :desc => "The association ID representing the current association between the route table and subnet"
62
+ def disassociate_route_table
63
+ create_ec2_object
64
+ @ec2.disassociate_route_table(options)
65
+ end
66
+
67
+ private
68
+
69
+ def create_ec2_object
70
+ puts "ec2 Establishing Connetion..."
71
+ $ec2_conn = if parent_options[:region]
72
+ Awscli::Connection.new.request_ec2(parent_options[:region])
73
+ else
74
+ Awscli::Connection.new.request_ec2
75
+ end
76
+ puts "ec2 Establishing Connetion... OK"
77
+ @ec2 = Awscli::EC2::RouteTable.new($ec2_conn)
78
+ end
79
+
80
+ AwsCli::CLI::EC2::Vpc.register AwsCli::CLI::EC2::VPC::RouteTables, :routetable, 'routetable [COMMAND]', 'VPC RouteTable Management'
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -784,6 +784,56 @@ module Awscli
784
784
  end
785
785
  end # => Subnet
786
786
 
787
+ class RouteTable
788
+ def initialize(connection)
789
+ @conn = connection
790
+ end
791
+
792
+ def list(options)
793
+ if options[:route_table_id]
794
+ puts @conn.describe_route_tables('route-table-id' => options[:route_table_id].split(',')).body['routeTableSet'].to_yaml
795
+ else
796
+ Formatador.display_line("[green]#{@conn.describe_route_tables.body['routeTableSet'].map {|k| k['associationSet'].first}.map{|k| k['routeTableId']}}[/]")
797
+ puts "For more info on a specific route table pass route-table-id to '--route-table-id' or '-r' of `list` subcommand"
798
+ end
799
+ end
800
+
801
+ def create(options)
802
+ @conn.create_route_table(options[:vpc_id])
803
+ puts "Created route table"
804
+ end
805
+
806
+ def create_route(options)
807
+ @conn.create_route(
808
+ options[:route_table_id],
809
+ options[:dest_cidr],
810
+ options[:gateway_id] || nil,
811
+ options[:instance_id] || nil,
812
+ options[:net_interface_id] || nil)
813
+ puts "Created specified route"
814
+ end
815
+
816
+ def delete(options)
817
+ @conn.delete_route_table(options[:route_table_id])
818
+ puts "Deleted route table with id #{options[:route_table_id]}"
819
+ end
820
+
821
+ def delete_route(options)
822
+ @conn.delete_route(options[:route_table_id], options[:dest_cidr])
823
+ puts "Deleted route from routetable: #{options[:route_table_id]} with destination cidr: #{options[:dest_cidr]}"
824
+ end
825
+
826
+ def associate_route_table(options)
827
+ @conn.associate_route_table(options[:route_table_id], options[:subnet_id])
828
+ puts "Associated route table: #{options[:route_table_id]} with subnet: #{options[:subnet_id]}"
829
+ end
830
+
831
+ def disassociate_route_table(options)
832
+ @conn.disassociate_route_table(options[:association_id])
833
+ puts "Disassociated route talbe with association_id: #{options[:association_id]}"
834
+ end
835
+ end # => RouteTable
836
+
787
837
  class NetworkAcl
788
838
  def initialize(connection)
789
839
  @conn = connection
@@ -1,3 +1,3 @@
1
1
  module Awscli
2
- VERSION = '0.2.6'
2
+ VERSION = '0.2.7'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awscli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ashrith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-19 00:00:00.000000000 Z
11
+ date: 2013-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
- version: 1.10.0
75
+ version: 1.16.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ! '>='
81
81
  - !ruby/object:Gem::Version
82
- version: 1.10.0
82
+ version: 1.16.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: multi_json
85
85
  requirement: !ruby/object:Gem::Requirement