elastic_whenever 0.5.1 → 0.6.0
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/CHANGELOG.md +6 -0
- data/README.md +1 -0
- data/lib/elastic_whenever/option.rb +8 -0
- data/lib/elastic_whenever/task/rule.rb +4 -2
- data/lib/elastic_whenever/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee3e7937322380cc1e3ac7b58f42cfa80b83220068506b012651441c29640f06
|
4
|
+
data.tar.gz: 48ed3b783ae383930b432263aad237ccfcd44a52fb523fc7213b64b19f8ca9cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d04135f2c96079e88eeabde308b2281ec339631d258f3ac9eb81cac37915d50a5d8b06b0a8f598c09d4aa60b2f2d7a5dab71b4f3f05efe6eb2dee060036a698
|
7
|
+
data.tar.gz: ebc4ff070bff57ca92155f87deda5f1d6afce36e490eb5b1e2061f93d6985cb7745fb5f80c7559ec98519790ef749d77eb765bfae96d267802d1fd059030694a
|
data/CHANGELOG.md
CHANGED
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:
|
46
|
+
state: option.rule_state,
|
45
47
|
)
|
46
48
|
end
|
47
49
|
|
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.
|
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-
|
11
|
+
date: 2019-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|