ecs_deployer 2.1.5 → 2.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53c73ee2931e45cc8f3db8a292cef5f467d08895
4
- data.tar.gz: e5e00d7575c48223a3f6952ba03338b2ed504c7e
3
+ metadata.gz: 5304affa2271b6914090f8c15f748b47b60e053a
4
+ data.tar.gz: 577e9bf00b0b8f648958b248947357d354f9cd96
5
5
  SHA512:
6
- metadata.gz: f664e88c2e5dbe349f72cf2cbbb683496f9facba1a8b7592944c5c93cf9d0954ee6ea71ac2c540233f959783a16dd56c17e5bd1cfccfe2c85c8cc360d66b3dc0
7
- data.tar.gz: ba609ad07fb2f6f4a1319fc6ba6592e3d6f18a5a4de0af96ad01216c3f987e322b31d3d28730b8d64280a097edf5e0bb1e23dbbeb9ac094da924d3bb34a0728b
6
+ metadata.gz: 4a0f025d15c4bb3143ff9151bb7437f6aeeb2c3d7a793b2e65a9af246f35095182afb872d0c2651a4a03bd19af69529efdcc7d6fbd4b8f2c7aaf7c30a082145c
7
+ data.tar.gz: ccb05e921c7d79eb5b75d3bb34c304166243e181eca1648d03e288254505b1ff4f7a581fd00f5267cfeb698fcfc6e0b5745f064b14b41812a7e1f64a745bd707
@@ -13,5 +13,10 @@ target_builder = scheduled_task.target_builder(Settings.scheduled_task_target_id
13
13
  target_builder.task_definition_arn = task_definition.task_definition_arn
14
14
  target_builder.override_container('rails', ['curl', 'http://153.122.13.159/'])
15
15
 
16
- task_definition = scheduled_task.update(Settings.scheduled_task_rule, 'cron(* * * * ? *)', [target_builder.to_hash])
16
+ task_definition = scheduled_task.update(
17
+ Settings.scheduled_task_rule,
18
+ 'cron(* * * * ? *)',
19
+ [target_builder.to_hash],
20
+ description: 'Test task'
21
+ )
17
22
  puts task_definition.rule_arn
@@ -22,33 +22,29 @@ module EcsDeployer
22
22
  end
23
23
 
24
24
  # @param [String] id
25
- # @param [String] role
26
25
  # @return [EcsDeployer::ScheduledTask::Target]
27
- def target_builder(id, role = 'ecsEventsRole')
28
- EcsDeployer::ScheduledTask::Target.new(@cluster, id, role, @aws_options)
26
+ def target_builder(id)
27
+ EcsDeployer::ScheduledTask::Target.new(@cluster, id, @aws_options)
29
28
  end
30
29
 
31
30
  # @param [String] rule
32
31
  # @param [String] schedule_expression
33
32
  # @param [Array] targets
33
+ # @param [Hash] options
34
34
  # @return [CloudWatchEvents::Types::PutRuleResponse]
35
- def update(rule, schedule_expression, targets)
35
+ def update(rule, schedule_expression, targets, options = { description: nil })
36
36
  response = @cloud_watch_events.put_rule(
37
37
  name: rule,
38
38
  schedule_expression: schedule_expression,
39
- state: 'ENABLED'
39
+ state: 'ENABLED',
40
+ description: options[:description]
41
+ )
42
+ @cloud_watch_events.put_targets(
43
+ rule: rule,
44
+ targets: targets
40
45
  )
41
- begin
42
- @cloud_watch_events.put_targets(
43
- rule: rule,
44
- targets: targets
45
- )
46
46
 
47
- response
48
- rescue => e
49
- @cloud_watch_events.delete_rule(name: rule)
50
- raise e
51
- end
47
+ response
52
48
  end
53
49
  end
54
50
  end
@@ -2,23 +2,33 @@ module EcsDeployer
2
2
  module ScheduledTask
3
3
  class Target
4
4
  attr_reader :id
5
- attr_accessor :arn, :role_arn, :task_definition_arn, :task_count
5
+ attr_accessor :arn, :role_arn, :task_definition_arn, :task_count, :task_role_arn
6
+
7
+ TARGET_ROLE = 'ecsEventsRole'.freeze
6
8
 
7
9
  # @param [String] cluster
8
10
  # @param [String] id
9
- # @param [String] role
10
11
  # @param [Hash] aws_options
11
12
  # @return EcsDeployer::ScheduledTask::Target]
12
- def initialize(cluster, id, role = nil, aws_options = {})
13
+ def initialize(cluster, id, aws_options = {})
13
14
  ecs = Aws::ECS::Client.new(aws_options)
14
15
  clusters = ecs.describe_clusters(clusters: [cluster]).clusters
15
16
  raise ClusterNotFoundError, "Cluster does not eixst. [#{cluster}]" if clusters.count.zero?
16
17
 
17
18
  @id = id
18
19
  @arn = clusters[0].cluster_arn
19
- @role_arn = Aws::IAM::Role.new(role, @aws_options).arn unless role.nil?
20
20
  @task_count = 1
21
21
  @container_overrides = []
22
+
23
+ role(TARGET_ROLE)
24
+ end
25
+
26
+ def role(role)
27
+ @role_arn = Aws::IAM::Role.new(role, @aws_options).arn
28
+ end
29
+
30
+ def task_role(task_role)
31
+ @task_role_arn = Aws::IAM::Role.new(task_role, @aws_options).arn
22
32
  end
23
33
 
24
34
  # @param [String] name
@@ -55,6 +65,7 @@ module EcsDeployer
55
65
  task_count: @task_count
56
66
  },
57
67
  input: {
68
+ taskRoleArn: @task_role_arn,
58
69
  containerOverrides: @container_overrides
59
70
  }.to_json.to_s
60
71
  }
@@ -1,3 +1,3 @@
1
1
  module EcsDeployer
2
- VERSION = '2.1.5'.freeze
2
+ VERSION = '2.1.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecs_deployer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.5
4
+ version: 2.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - naomichi-y
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-27 00:00:00.000000000 Z
11
+ date: 2017-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk