ecs_deployer 2.1.5 → 2.1.6

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,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