aws_pocketknife 0.1.7 → 0.1.8
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 +4 -4
- data/README.md +16 -9
- data/Rakefile +0 -8
- data/lib/aws_pocketknife/cli/route53.rb +36 -0
- data/lib/aws_pocketknife/version.rb +1 -1
- metadata +3 -8
- data/lib/aws_pocketknife/tasks/asg.rake +0 -18
- data/lib/aws_pocketknife/tasks/cloudwatch.rake +0 -12
- data/lib/aws_pocketknife/tasks/ec2.rake +0 -57
- data/lib/aws_pocketknife/tasks/elastic_beanstalk.rake +0 -25
- data/lib/aws_pocketknife/tasks/elb.rake +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58b98325dbb7ce20d77db7dff1ce7b1aa8961e18
|
4
|
+
data.tar.gz: b007e42adefca2678cd8229dd47f7c05ad5143e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c522e956b4641e585c3191a28e94d4009c0e140b04ccd7c8293965aaf8d093d5640278e7704ed766cf23ba3a3afbda681e19b5d10dfbdc11e08ed98fc3c5c681
|
7
|
+
data.tar.gz: 98c4e8f4cbae21792ec83405780a415565f8a7f07c7aabcb73b4f777f5eabc5f700b639fa8ec7c100e55cc65f37dbf36afbca4681873679d9e9a77070e802f19
|
data/README.md
CHANGED
@@ -10,8 +10,6 @@ different accounts in a web browser. The only way would be to use diffente brows
|
|
10
10
|
|
11
11
|
The aws cli allows you to setup profiles for each account. (see http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles)
|
12
12
|
After creating the profiles, you just export the environment variable AWS_PROFILE to specify the account you wish to use.
|
13
|
-
```
|
14
|
-
|
15
13
|
|
16
14
|
## Installation
|
17
15
|
|
@@ -81,13 +79,6 @@ Commands:
|
|
81
79
|
pocketknife rds help [COMMAND] # Describe subcommands or one specific subcommand
|
82
80
|
pocketknife rds snapshot SUBCOMMAND ...ARGS # snapshot command lines
|
83
81
|
|
84
|
-
|
85
|
-
$ pocketknife rds snapshot
|
86
|
-
Commands:
|
87
|
-
pocketknife rds_snapshot clean DB_NAME DAYS --dry_run # Remove manual snapshots with creation time lower than DAYS for database_name.
|
88
|
-
pocketknife rds_snapshot create DB_NAME # Creates a snapshot for database_name.
|
89
|
-
pocketknife rds_snapshot help [COMMAND] # Describe subcommands or one specific subcommand
|
90
|
-
pocketknife rds_snapshot list_snapshots DB_NAME # list snapshots
|
91
82
|
```
|
92
83
|
|
93
84
|
### Elastic beanstalk
|
@@ -101,6 +92,19 @@ Commands:
|
|
101
92
|
pocketknife eb vars NAME # list environment variables for the specified elastic beanstalk environment name
|
102
93
|
```
|
103
94
|
|
95
|
+
### Route53
|
96
|
+
|
97
|
+
```
|
98
|
+
$ pocketknife route53
|
99
|
+
Commands:
|
100
|
+
pocketknife route53 describe_hosted_zone HOSTED_ZONE # describe hosted zone
|
101
|
+
pocketknife route53 get_record HOSTED_ZONE RECORD_NAME --record_type # Get record for hosted zone.
|
102
|
+
pocketknife route53 help [COMMAND] # Describe subcommands or one specific subcommand
|
103
|
+
pocketknife route53 list # list hosted zones
|
104
|
+
pocketknife route53 list_records HOSTED_ZONE # list records for hosted zone
|
105
|
+
pocketknife route53 update_record HOSTED_ZONE ORIGIN_DNS_NAME DESTINY_RECORD_NAME DESTINY_HOSTED_ZONE RECORD_TYPE (default to A) # Update a dns record from an existing dns entry.
|
106
|
+
```
|
107
|
+
|
104
108
|
## Development
|
105
109
|
|
106
110
|
|
@@ -108,6 +112,9 @@ Commands:
|
|
108
112
|
|
109
113
|
Bug reports and pull requests are welcome on GitHub at https://github.com/MYOB-Technology/aws_pocketknife. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
110
114
|
|
115
|
+
* Fork it
|
116
|
+
* Make you changes
|
117
|
+
* Submit a pull request
|
111
118
|
|
112
119
|
## License
|
113
120
|
|
data/Rakefile
CHANGED
@@ -1,13 +1,5 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
2
|
|
3
|
-
load "lib/aws_pocketknife/tasks/route53.rake"
|
4
|
-
load "lib/aws_pocketknife/tasks/ec2.rake"
|
5
|
-
load "lib/aws_pocketknife/tasks/iam.rake"
|
6
|
-
load "lib/aws_pocketknife/tasks/asg.rake"
|
7
|
-
load "lib/aws_pocketknife/tasks/elb.rake"
|
8
|
-
load "lib/aws_pocketknife/tasks/elastic_beanstalk.rake"
|
9
|
-
load "lib/aws_pocketknife/tasks/cloudwatch.rake"
|
10
|
-
|
11
3
|
desc 'Run tests'
|
12
4
|
task :test do
|
13
5
|
puts "running rspec tests"
|
@@ -51,6 +51,42 @@ module AwsPocketknife
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
+
desc "get_record HOSTED_ZONE RECORD_NAME --record_type", "Get record for hosted zone."
|
55
|
+
#option :record_type, :type => :string, :default => 'A', :desc => 'Record type accepts SOA, A, TXT, NS, CNAME, MX, PTR, SRV, SPF, AAAA. Default to A'
|
56
|
+
def get_record(hosted_zone, record_name, record_type='A')
|
57
|
+
|
58
|
+
#record_type = options.fetch("record_type", 'A')
|
59
|
+
records = AwsPocketknife::Route53.get_record(hosted_zone_name: hosted_zone,
|
60
|
+
record_name:record_name,
|
61
|
+
record_type: record_type)
|
62
|
+
headers = ["Name", "Type", "DNS Name"]
|
63
|
+
data = []
|
64
|
+
if records.length > 0
|
65
|
+
records.each do |record|
|
66
|
+
if record.type == 'CNAME'
|
67
|
+
data << [record.name, record.type, record.resource_records[0].value]
|
68
|
+
else
|
69
|
+
data << [record.name, record.type, record.alias_target.dns_name]
|
70
|
+
end
|
71
|
+
end
|
72
|
+
AwsPocketknife::Route53.pretty_table(headers: headers, data: data)
|
73
|
+
else
|
74
|
+
puts "Record #{record_name} not found in hosted zone #{hosted_zone}"
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
desc "update_record HOSTED_ZONE ORIGIN_DNS_NAME DESTINY_RECORD_NAME DESTINY_HOSTED_ZONE RECORD_TYPE (default to A)", "Update a dns record from an existing dns entry."
|
79
|
+
def update_record(hosted_zone, origin_dns_name, destiny_record_name, destiny_hosted_zone, record_type='A')
|
80
|
+
|
81
|
+
AwsPocketknife::Route53.update_record(origin_hosted_zone: hosted_zone,
|
82
|
+
origin_dns_name: origin_dns_name,
|
83
|
+
record_type: record_type,
|
84
|
+
destiny_dns_name: destiny_record_name,
|
85
|
+
destiny_hosted_zone: destiny_hosted_zone
|
86
|
+
)
|
87
|
+
|
88
|
+
end
|
89
|
+
|
54
90
|
end
|
55
91
|
end
|
56
92
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws_pocketknife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gustavo Soares Souza
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -248,11 +248,6 @@ files:
|
|
248
248
|
- lib/aws_pocketknife/iam.rb
|
249
249
|
- lib/aws_pocketknife/rds.rb
|
250
250
|
- lib/aws_pocketknife/route53.rb
|
251
|
-
- lib/aws_pocketknife/tasks/asg.rake
|
252
|
-
- lib/aws_pocketknife/tasks/cloudwatch.rake
|
253
|
-
- lib/aws_pocketknife/tasks/ec2.rake
|
254
|
-
- lib/aws_pocketknife/tasks/elastic_beanstalk.rake
|
255
|
-
- lib/aws_pocketknife/tasks/elb.rake
|
256
251
|
- lib/aws_pocketknife/tasks/iam.rake
|
257
252
|
- lib/aws_pocketknife/tasks/route53.rake
|
258
253
|
- lib/aws_pocketknife/version.rb
|
@@ -276,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
276
271
|
version: '0'
|
277
272
|
requirements: []
|
278
273
|
rubyforge_project:
|
279
|
-
rubygems_version: 2.4.
|
274
|
+
rubygems_version: 2.4.8
|
280
275
|
signing_key:
|
281
276
|
specification_version: 4
|
282
277
|
summary: Command line tools to make aws administration a little bit easier and quicker
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require_relative '../asg'
|
2
|
-
require_relative '../cli/asg'
|
3
|
-
|
4
|
-
asg_cli = AwsPocketknife::Cli::Asg.new
|
5
|
-
|
6
|
-
namespace :asg do
|
7
|
-
|
8
|
-
desc 'Describe asg by name'
|
9
|
-
task :describe_by_name, [:name] do |t, args|
|
10
|
-
asg_cli.desc(args[:name])
|
11
|
-
end
|
12
|
-
|
13
|
-
desc 'List asgs'
|
14
|
-
task :list do
|
15
|
-
asg_cli.list
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require_relative "../cloudwatch_logs"
|
2
|
-
|
3
|
-
namespace :cloudwatch do
|
4
|
-
|
5
|
-
namespace :logs do
|
6
|
-
desc "Create log group"
|
7
|
-
task :create_group, [:name] do |t, args|
|
8
|
-
AwsPocketknife::CloudwatchLogs.create_log_group(log_group_name: args[:name])
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
require_relative '../ec2'
|
2
|
-
require_relative '../cli/ec2'
|
3
|
-
require_relative '../cli/ami'
|
4
|
-
|
5
|
-
ec2_cli = AwsPocketknife::Cli::Ec2.new
|
6
|
-
ami_cli = AwsPocketknife::Cli::Ami.new
|
7
|
-
|
8
|
-
namespace :ec2 do
|
9
|
-
|
10
|
-
namespace :ami do
|
11
|
-
desc 'share ami'
|
12
|
-
task :share, [:image_id, :user_id] do |t, args|
|
13
|
-
AwsPocketknife::Ec2.share_ami(image_id: args[:instance_id], user_id: args[:instance_id])
|
14
|
-
end
|
15
|
-
|
16
|
-
desc "clean up old AMIs."
|
17
|
-
task :clean, [:ami_name_pattern, :days, :dry_run] do |t, args|
|
18
|
-
args.with_defaults(:dry_run => "true")
|
19
|
-
ami_name_pattern = args[:ami_name_pattern]
|
20
|
-
days = args[:days]
|
21
|
-
args[:dry_run].strip.downcase == "true" ? dry_run = true : dry_run = false
|
22
|
-
AwsPocketknife::Cli::Ami.options = {:dry_run => dry_run}
|
23
|
-
ami_cli.clean ami_name_pattern, days
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
desc 'Stop instance by id'
|
28
|
-
task :stop_by_id, [:instance_id] do |t, args|
|
29
|
-
ec2_cli.stop(args[:instance_id])
|
30
|
-
end
|
31
|
-
|
32
|
-
desc 'Start instance by id'
|
33
|
-
task :start_by_id, [:instance_id] do |t, args|
|
34
|
-
ec2_cli.start(args[:instance_id])
|
35
|
-
end
|
36
|
-
|
37
|
-
desc 'Describe instance by id'
|
38
|
-
task :find_by_id, [:instance_id] do |t, args|
|
39
|
-
ec2_cli.find_by_id(args[:instance_id])
|
40
|
-
end
|
41
|
-
|
42
|
-
desc 'Describe instance by name'
|
43
|
-
task :describe_instance_by_name, [:name] do |t, args|
|
44
|
-
ec2_cli.find_by_name(args[:name])
|
45
|
-
end
|
46
|
-
|
47
|
-
desc 'Find instances by name'
|
48
|
-
task :find_by_name, [:name] do |t, args|
|
49
|
-
ec2_cli.find_by_name(args[:name])
|
50
|
-
end
|
51
|
-
|
52
|
-
desc 'Get windows password'
|
53
|
-
task :get_windows_password, [:instance_id] do |t, args|
|
54
|
-
ec2_cli.get_windows_password(args[:instance_id])
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require_relative "../elastic_beanstalk"
|
2
|
-
|
3
|
-
require_relative '../cli/eb'
|
4
|
-
|
5
|
-
eb_cli = AwsPocketknife::Cli::Eb.new
|
6
|
-
|
7
|
-
namespace :eb do
|
8
|
-
|
9
|
-
desc "describe_environment_resources"
|
10
|
-
task :describe_environment, [:environment_name] do |t, args|
|
11
|
-
eb_cli.desc(args[:environment_name])
|
12
|
-
end
|
13
|
-
|
14
|
-
desc "list environments"
|
15
|
-
task :list_environments do
|
16
|
-
eb_cli.list
|
17
|
-
end
|
18
|
-
|
19
|
-
desc "list environment variables for an environment"
|
20
|
-
task :list_environment_variables, [:environment_name] do |t, args|
|
21
|
-
eb_cli.vars(args[:environment_name])
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|
25
|
-
|
@@ -1,13 +0,0 @@
|
|
1
|
-
require_relative '../elb'
|
2
|
-
require_relative '../cli/elb'
|
3
|
-
|
4
|
-
elb_cli = AwsPocketknife::Cli::Elb.new
|
5
|
-
|
6
|
-
namespace :elb do
|
7
|
-
|
8
|
-
desc 'Describe load balancer by name'
|
9
|
-
task :describe, [:elb_name] do |t, args|
|
10
|
-
elb_cli.desc args[:elb_name]
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|