elastic_whenever 0.5.1 → 0.6.0

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
  SHA256:
3
- metadata.gz: f819eb4be8beaf663016106905b28a3f02241793f5ee3965e88b36a0f8f3e4d0
4
- data.tar.gz: c4ca5aadbd922b26d0671c7a2783c89864dec7b42875bb7df0e044dd3a48cad0
3
+ metadata.gz: ee3e7937322380cc1e3ac7b58f42cfa80b83220068506b012651441c29640f06
4
+ data.tar.gz: 48ed3b783ae383930b432263aad237ccfcd44a52fb523fc7213b64b19f8ca9cf
5
5
  SHA512:
6
- metadata.gz: f89c03a025d724efedcf843b698459cb0cddefc55cec555c9a9ba67d0ef0a5545650406fef3d37d7b0f4f4565dece24d2790e15d6f8085c6f37c3cc3a3a918b6
7
- data.tar.gz: 672aa12e9bd8055be8dbb7c76982f93545f71f2bb61475110dcaff77751c10bdaf952231ad6d99c253f4f7720a48cfe387cf59c2d8756831ab542f22a14d2752
6
+ metadata.gz: 7d04135f2c96079e88eeabde308b2281ec339631d258f3ac9eb81cac37915d50a5d8b06b0a8f598c09d4aa60b2f2d7a5dab71b4f3f05efe6eb2dee060036a698
7
+ data.tar.gz: ebc4ff070bff57ca92155f87deda5f1d6afce36e490eb5b1e2061f93d6985cb7745fb5f80c7559ec98519790ef749d77eb765bfae96d267802d1fd059030694a
@@ -1,3 +1,9 @@
1
+ ## v0.6.0 (2019-10-16)
2
+
3
+ ### Enhancements
4
+
5
+ - [#46](https://github.com/wata727/elastic_whenever/pull/46): Add option to disable rule ([@tobscher](https://github.com/tobscher))
6
+
1
7
  ## v0.5.1 (2019-10-09)
2
8
 
3
9
  ### Enhancements
data/README.md CHANGED
@@ -43,6 +43,7 @@ Usage: elastic_whenever [options]
43
43
  --platform-version version Optionally specify the platform version. Default: LATEST (FARGATE only)
44
44
  -f, --file schedule_file Default: config/schedule.rb
45
45
  --iam-role name IAM role name used by CloudWatch Events. Default: ecsEventsRole
46
+ --rule-state state The state of the CloudWatch Events Rule (ENABLED or DISABLED), default: ENABLED
46
47
  --profile profile_name AWS shared profile name
47
48
  --access-key aws_access_key_id
48
49
  AWS access key ID
@@ -1,5 +1,7 @@
1
1
  module ElasticWhenever
2
2
  class Option
3
+ POSSIBLE_RULE_STATES = %w[ENABLED DISABLED].freeze
4
+
3
5
  DRYRUN_MODE = 1
4
6
  UPDATE_MODE = 2
5
7
  CLEAR_MODE = 3
@@ -20,6 +22,7 @@ module ElasticWhenever
20
22
  attr_reader :subnets
21
23
  attr_reader :schedule_file
22
24
  attr_reader :iam_role
25
+ attr_reader :rule_state
23
26
 
24
27
  class InvalidOptionException < StandardError; end
25
28
 
@@ -38,6 +41,7 @@ module ElasticWhenever
38
41
  @subnets = []
39
42
  @schedule_file = 'config/schedule.rb'
40
43
  @iam_role = 'ecsEventsRole'
44
+ @rule_state = 'ENABLED'
41
45
  @profile = nil
42
46
  @access_key = nil
43
47
  @secret_key = nil
@@ -97,6 +101,9 @@ module ElasticWhenever
97
101
  opts.on('--iam-role name', 'IAM role name used by CloudWatch Events. Default: ecsEventsRole') do |role|
98
102
  @iam_role = role
99
103
  end
104
+ opts.on('--rule-state state', 'The state of the CloudWatch Events Rule. Default: ENABLED') do |state|
105
+ @rule_state = state
106
+ end
100
107
  opts.on('--profile profile_name', 'AWS shared profile name') do |profile|
101
108
  @profile = profile
102
109
  end
@@ -133,6 +140,7 @@ module ElasticWhenever
133
140
  raise InvalidOptionException.new("You must set cluster") unless cluster
134
141
  raise InvalidOptionException.new("You must set task definition") unless task_definition
135
142
  raise InvalidOptionException.new("You must set container") unless container
143
+ raise InvalidOptionException.new("Invalid rule state. Possible values are #{POSSIBLE_RULE_STATES.join(", ")}") unless POSSIBLE_RULE_STATES.include?(rule_state)
136
144
  end
137
145
 
138
146
  private
@@ -1,6 +1,7 @@
1
1
  module ElasticWhenever
2
2
  class Task
3
3
  class Rule
4
+ attr_reader :option
4
5
  attr_reader :name
5
6
  attr_reader :expression
6
7
  attr_reader :description
@@ -29,6 +30,7 @@ module ElasticWhenever
29
30
  end
30
31
 
31
32
  def initialize(option, name:, expression:, description:)
33
+ @option = option
32
34
  @name = name
33
35
  @expression = expression
34
36
  @description = description
@@ -36,12 +38,12 @@ module ElasticWhenever
36
38
  end
37
39
 
38
40
  def create
41
+ # See https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html#API_PutRule_RequestSyntax
39
42
  client.put_rule(
40
43
  name: name,
41
44
  schedule_expression: expression,
42
- # See https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html#API_PutRule_RequestSyntax
43
45
  description: truncate(description, 512),
44
- state: "ENABLED",
46
+ state: option.rule_state,
45
47
  )
46
48
  end
47
49
 
@@ -1,3 +1,3 @@
1
1
  module ElasticWhenever
2
- VERSION = "0.5.1"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic_whenever
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuma Watanabe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-09 00:00:00.000000000 Z
11
+ date: 2019-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler