awscli 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
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