itamae-mitsurin 0.9 → 0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,11 +5,11 @@ module ItamaeMitsurin
5
5
  module Resource
6
6
  class AwsRoute53Rrset < Base
7
7
 
8
- define_attribute :region, type: String
8
+ define_attribute :region, type: String, required: true
9
9
  define_attribute :action, default: :create
10
10
  define_attribute :name, type: String, default_name: true
11
11
  define_attribute :hosted_zone_id, type: String, required: true
12
- define_attribute :type, type: String, required: true, required: true
12
+ define_attribute :type, type: String, required: true
13
13
  define_attribute :weight, type: Integer
14
14
  define_attribute :failover, type: String
15
15
  define_attribute :ttl, type: Integer
@@ -18,10 +18,9 @@ module ItamaeMitsurin
18
18
  define_attribute :traffic_policy_instance_id, type: String
19
19
 
20
20
  def pre_action
21
- Aws.config[:region] = attributes.region
22
- route53 = ::Aws::Route53::Client.new
21
+ @route53 = ::Aws::Route53::Client.new(region: attributes.region)
23
22
 
24
- @record = route53.list_resource_record_sets({
23
+ @record = @route53.list_resource_record_sets({
25
24
  hosted_zone_id: attributes.hosted_zone_id,
26
25
  start_record_name: attributes.name,
27
26
  start_record_type: attributes.type,
@@ -66,29 +65,26 @@ module ItamaeMitsurin
66
65
  end
67
66
 
68
67
  def action_create(options)
69
- Aws.config[:region] = attributes.region
70
- route53 = ::Aws::Route53::Client.new
71
-
72
68
  unless @record[0][0][0] == attributes.name
73
- resp = route53.change_resource_record_sets(@rrset_hash)
69
+ resp = @route53.change_resource_record_sets(@rrset_hash)
70
+ ItamaeMitsurin.logger.debug "#{resp}"
71
+ ItamaeMitsurin.logger.info "created record #{attributes.name}"
74
72
  updated!
75
73
  end
76
74
  end
77
75
 
78
76
  def action_upsert(options)
79
- Aws.config[:region] = attributes.region
80
- route53 = ::Aws::Route53::Client.new
81
-
82
- resp = route53.change_resource_record_sets(@rrset_hash)
77
+ resp = @route53.change_resource_record_sets(@rrset_hash)
78
+ ItamaeMitsurin.logger.debug "#{resp}"
79
+ ItamaeMitsurin.logger.info "upserted record #{attributes.name}"
83
80
  updated!
84
81
  end
85
82
 
86
83
  def action_delete(options)
87
- Aws.config[:region] = attributes.region
88
- route53 = ::Aws::Route53::Client.new
89
-
90
84
  if @record[0][0][0] == attributes.name
91
- resp = route53.change_resource_record_sets(@rrset_hash)
85
+ resp = @route53.change_resource_record_sets(@rrset_hash)
86
+ ItamaeMitsurin.logger.debug "#{resp}"
87
+ ItamaeMitsurin.logger.info "deleted record #{attributes.name}"
92
88
  updated!
93
89
  end
94
90
  end
@@ -5,10 +5,10 @@ module ItamaeMitsurin
5
5
  module Resource
6
6
  class AwsRoute53RrsetAlias < Base
7
7
 
8
- define_attribute :region, type: String
8
+ define_attribute :region, type: String, required: true
9
9
  define_attribute :action, default: :create
10
10
  define_attribute :name, type: String, default_name: true
11
- define_attribute :type, type: String, required: true, required: true
11
+ define_attribute :type, type: String, required: true
12
12
  define_attribute :hosted_zone_id, type: String, required: true
13
13
  define_attribute :weight, type: Integer
14
14
  define_attribute :failover, type: String
@@ -20,10 +20,9 @@ module ItamaeMitsurin
20
20
  define_attribute :traffic_policy_instance_id, type: String
21
21
 
22
22
  def pre_action
23
- Aws.config[:region] = attributes.region
24
- route53 = ::Aws::Route53::Client.new
23
+ @route53 = ::Aws::Route53::Client.new(region: attributes.region)
25
24
 
26
- @record = route53.list_resource_record_sets({
25
+ @record = @route53.list_resource_record_sets({
27
26
  hosted_zone_id: attributes.hosted_zone_id,
28
27
  start_record_name: attributes.name,
29
28
  start_record_type: attributes.type,
@@ -67,29 +66,26 @@ module ItamaeMitsurin
67
66
  end
68
67
 
69
68
  def action_create(options)
70
- Aws.config[:region] = attributes.region
71
- route53 = ::Aws::Route53::Client.new
72
-
73
69
  unless @record[0][0][0] == attributes.name
74
- resp = route53.change_resource_record_sets(@rrset_hash)
70
+ resp = @route53.change_resource_record_sets(@rrset_hash)
71
+ ItamaeMitsurin.logger.debug "#{resp}"
72
+ ItamaeMitsurin.logger.info "created record #{attributes.name}"
75
73
  updated!
76
74
  end
77
75
  end
78
76
 
79
77
  def action_upsert(options)
80
- Aws.config[:region] = attributes.region
81
- route53 = ::Aws::Route53::Client.new
82
-
83
- resp = route53.change_resource_record_sets(@rrset_hash)
78
+ resp = @route53.change_resource_record_sets(@rrset_hash)
79
+ ItamaeMitsurin.logger.debug "#{resp}"
80
+ ItamaeMitsurin.logger.info "upserted record #{attributes.name}"
84
81
  updated!
85
82
  end
86
83
 
87
84
  def action_delete(options)
88
- Aws.config[:region] = attributes.region
89
- route53 = ::Aws::Route53::Client.new
90
-
91
85
  if @record[0][0][0] == attributes.name
92
- resp = route53.change_resource_record_sets(@rrset_hash)
86
+ resp = @route53.change_resource_record_sets(@rrset_hash)
87
+ ItamaeMitsurin.logger.debug "#{resp}"
88
+ ItamaeMitsurin.logger.info "deleted record #{attributes.name}"
93
89
  updated!
94
90
  end
95
91
  end
@@ -60,15 +60,6 @@ module ItamaeMitsurin
60
60
  run_command(["touch", attributes.path])
61
61
  end
62
62
 
63
- change_target = @temppath || attributes.path
64
-
65
- if attributes.mode
66
- run_specinfra(:change_file_mode, change_target, attributes.mode)
67
- end
68
- if attributes.owner || attributes.group
69
- run_specinfra(:change_file_owner, change_target, attributes.owner, attributes.group)
70
- end
71
-
72
63
  if @temppath
73
64
  if run_specinfra(:check_file_is_file, attributes.path)
74
65
  unless check_command(["diff", "-q", @temppath, attributes.path])
@@ -79,10 +70,20 @@ module ItamaeMitsurin
79
70
  # new file
80
71
  updated!
81
72
  end
73
+ end
82
74
 
83
- if updated?
84
- run_specinfra(:move_file, @temppath, attributes.path)
85
- end
75
+ change_target = @temppath && updated? ? @temppath : attributes.path
76
+
77
+ if attributes.mode
78
+ run_specinfra(:change_file_mode, change_target, attributes.mode)
79
+ end
80
+
81
+ if attributes.owner || attributes.group
82
+ run_specinfra(:change_file_owner, change_target, attributes.owner, attributes.group)
83
+ end
84
+
85
+ if @temppath && updated?
86
+ run_specinfra(:move_file, @temppath, attributes.path)
86
87
  end
87
88
  end
88
89
 
@@ -170,7 +171,11 @@ module ItamaeMitsurin
170
171
  end
171
172
 
172
173
  @temppath = ::File.join(runner.tmpdir, Time.now.to_f.to_s)
174
+
175
+ run_command(["touch", @temppath])
176
+ run_specinfra(:change_file_mode, @temppath, '0600')
173
177
  backend.send_file(src, @temppath)
178
+ run_specinfra(:change_file_mode, @temppath, '0600')
174
179
  ensure
175
180
  f.unlink if f
176
181
  end
@@ -1 +1 @@
1
- 0.9
1
+ 0.10
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itamae-mitsurin
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.9'
4
+ version: '0.10'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akihiro Kamiyama
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-11 00:00:00.000000000 Z
11
+ date: 2016-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -274,6 +274,7 @@ files:
274
274
  - lib/itamae-mitsurin/mitsurin/itamae_task.rb
275
275
  - lib/itamae-mitsurin/mitsurin/itamae_with_git_task.rb
276
276
  - lib/itamae-mitsurin/mitsurin/serverspec_task.rb
277
+ - lib/itamae-mitsurin/mitsurin/task_base.rb
277
278
  - lib/itamae-mitsurin/node.rb
278
279
  - lib/itamae-mitsurin/notification.rb
279
280
  - lib/itamae-mitsurin/recipe.rb