smps 0.5.4 → 1.0.1

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
  SHA256:
3
- metadata.gz: d28b459006110169081af4ffa0bbf3602cd87ec18bec0c3090f61a83031e4118
4
- data.tar.gz: 516d0b9783c8ea2a5c4685be3240cf0526d69e9a88b79bb8121c59786e1319d6
3
+ metadata.gz: 1f96c8e9ae3647f188be9954b4329d83225dc9f304d210db4ee814054b7ad637
4
+ data.tar.gz: b950c5a34727aa05eb1fafa79b84ebf75ecac4c85f607186238fc851667bcfa6
5
5
  SHA512:
6
- metadata.gz: ac4b56d53277286c7ee4e5662bbc21f58ada8330263acfa9fdd574c443b37fb6825d662e4daa6c3d3e8dfdd2e2b4757aab16a91f233cc366a07687ccd41fe16c
7
- data.tar.gz: 679c488a2b926beea73ffb4c6e58c76eff6ca36f14b4994a879f66f66e69ceb0385fd6e221eccba7f354cf93a7a3da3068bb676108d7828dac87f507f342e661
6
+ metadata.gz: 5de9fd79a6fb9aa583b279c4022093f9cba3e3a75862f3b473ca6a423221b608d88fa1e385780f651b849b5d18acb7d20956b24268b07e89ec8e0b8db53550d5
7
+ data.tar.gz: 461c7551bb6ad0ee04befd9867ef3a233e42578d878addd63ca42c79b43206556bfcf1a369500bd3e910ae3247e855fd87572d7598f57d9d5f940b3dbc5f888c
data/README.md CHANGED
@@ -4,7 +4,9 @@ A command line tool and library to interact with the Amazon System Manager Param
4
4
 
5
5
  ## Installation
6
6
 
7
- $ gem install smps
7
+ ```bash
8
+ gem install smps
9
+ ```
8
10
 
9
11
  ## Usage
10
12
 
@@ -18,20 +20,19 @@ gem 'smps'
18
20
 
19
21
  And then execute:
20
22
 
21
- $ bundle
23
+ ```bash
24
+ bundle
25
+ ```
22
26
 
23
27
  ### CLI
24
28
 
25
- After installation, 2 executable scripts will be installed: `smps` & `smps-cli`:
26
-
27
- - smps: the simple version of this utility.
28
- - smps-cli: The thor cli executable offers a different interface.
29
+ After installation the `smps` executable will be available.
29
30
 
30
31
  #### smps
31
32
 
32
33
  Run the command with `--help` for more information.
33
34
 
34
- ```
35
+ ```text
35
36
  smps [OPTION]
36
37
 
37
38
  -h, --help:
@@ -61,83 +62,58 @@ smps [OPTION]
61
62
  Debug level.
62
63
  ```
63
64
 
64
- #### smps-cli
65
+ ## Development
65
66
 
66
- The smps-cli command is a new cli with more straightforward actions.
67
+ After checking out the repo, install dependencies.
67
68
 
68
- Run the command with `help` for more information: `smps-cli help`. For each individual action,
69
- you can also use `smps-cli help <action>`
69
+ ```bash
70
+ ./bin/setup
71
+ ```
70
72
 
71
- ##### help
73
+ Then run the tests.
72
74
 
73
- ```
74
- Commands:
75
- smps-cli get NAME # Get path or path indicated by the name
76
- smps-cli help [COMMAND] # Describe available commands or one s...
77
- smps-cli set NAME VALUE --type=TYPE # Set the parameter to this value
78
-
79
- Options:
80
- [--role=PROFILE] # IAM profile/role to use. From ~/.aws/config
81
- [--region=REGION] # Override the aws region
82
- [--debug=N] # AwsSession debug level.
83
- # Default: 0
84
- [--user-data], [--no-user-data] # Retrieve the name or path, and the key values from the userdata
75
+ ```bash
76
+ bundle exec rake spec
85
77
  ```
86
78
 
87
- ##### get NAME
79
+ To install this gem onto your local machine.
88
80
 
89
- ```
90
- Usage:
91
- smps-cli get NAME
92
-
93
- Options:
94
- [--role=PROFILE] # IAM profile/role to use. From ~/.aws/config
95
- [--region=REGION] # Override the aws region
96
- [--debug=N] # AwsSession debug level.
97
- # Default: 0
98
- [--user-data], [--no-user-data] # Retrieve the name or path, and the key values from the userdata
99
-
100
- Description:
101
- Gets a value from the parameter store.
81
+ ```bash
82
+ bundle exec rake install
102
83
  ```
103
84
 
104
- ##### set NAME VALUE
85
+ To create a package that can be installed on a different machine.
105
86
 
106
- ```
107
- Usage:
108
- smps-cli set NAME VALUE --type=TYPE
109
-
110
- Options:
111
- --type=TYPE
112
- # Default: String
113
- [--key=ARN] # KMS key for SecureString encryption/decryption
114
- [--role=PROFILE] # IAM profile/role to use. From ~/.aws/config
115
- [--region=REGION] # Override the aws region
116
- [--debug=N] # AwsSession debug level.
117
- # Default: 0
118
- [--user-data], [--no-user-data] # Retrieve the name or path, and the key values from the userdata
119
-
120
- Set the parameter to this value
87
+ ```bash
88
+ bundle exec rake build
121
89
  ```
122
90
 
123
- ## Development
91
+ This will create a `.gem` file in the `pkg` directory.
124
92
 
125
- After checking out the repo, run `./bin/setup` to install dependencies. Then, run `bundle exec rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
93
+ To release a new version, update the version number in `version.rb` and then run
126
94
 
127
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
95
+ ```bash
96
+ bundle exec rake release
97
+ ```
128
98
 
129
- To test the `smps` utility on your local machine, run `bundle exec smps --help` to see command-line options.
99
+ This will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
100
+
101
+ To test the `smps` utility on your local machine, run the command below to see command-line options.
102
+
103
+ ```bash
104
+ bundle exec smps --help
105
+ ```
130
106
 
131
107
  ## Contributing
132
108
 
133
109
  We use git flow in this project. To create your pull request, you can either use the git-flow helper or
134
110
  manually create a new feature branch and pull request.
135
111
 
136
- 1. Fork it ( https://github.com/vrtdev/smps/fork )
112
+ 1. Fork it ( <https://github.com/vrtdev/smps/fork> )
137
113
  2. Clone your forked repository.
138
114
  3. Create your feature branch (`git checkout -b feature/my-new-feature`)
139
115
  4. Commit your changes (`git commit -am 'Add some feature'`)
140
116
  5. Push to the branch (`git push origin feature/my-new-feature`)
141
117
  6. Create a new Pull Request. Remember to make the pull request against the `develop` branch.
142
118
 
143
- Bug reports and pull requests are welcome on GitHub at https://github.com/vrtdev/smps.
119
+ Bug reports and pull requests are welcome on GitHub at <https://github.com/vrtdev/smps>.
data/changelog.md CHANGED
@@ -5,6 +5,24 @@ Version format based on http://semver.org/
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.0.1] - 2024-12-17
9
+
10
+ ### Changed
11
+
12
+ - Update dependencies.
13
+
14
+ ## [1.0.0] - 2024-12-16
15
+
16
+ ### Removed
17
+
18
+ - Removed Thor CLI version.
19
+
20
+ ## [0.5.5] - 2024-12-16
21
+
22
+ ### Changed
23
+
24
+ - Added automatic discovery of instance type. EC2 Vs ECS.
25
+
8
26
  ## [0.5.4] - 2021-09-17
9
27
 
10
28
  ### Changed
data/lib/smps/aws.rb CHANGED
@@ -9,15 +9,24 @@ module SmPs
9
9
  # Some helpers to setup and interact with various aws services.
10
10
  module AwsHelpers
11
11
  SSM_PARAMETER_TYPES = %w[String StringList SecureString].freeze
12
- DEFAULT_USERDATA_URI = 'http://169.254.169.254/latest/user-data'
13
12
 
14
- def aws_region
15
- @aws_region ||= initialize_aws_region
13
+ def instance_type
14
+ @instance_type ||= initialize_instance_type
16
15
  end
17
16
 
18
- def retrieve_from_userdata(key, userdata_type = :auto, source = DEFAULT_USERDATA_URI)
19
- userdata = user_data(source, userdata_type)
20
- userdata[key]
17
+ def initialize_instance_type
18
+ i_type = nil
19
+ if ENV['ECS_CONTAINER_METADATA_URI_V4']
20
+ i_type = 'ecs'
21
+ else
22
+ get_resource('http://169.254.169.254/latest')
23
+ i_type = 'ec2'
24
+ end
25
+ i_type
26
+ end
27
+
28
+ def aws_region
29
+ @aws_region ||= initialize_aws_region
21
30
  end
22
31
 
23
32
  def user_data(source, type = :auto)
@@ -83,6 +92,20 @@ module SmPs
83
92
  end
84
93
 
85
94
  def initialize_aws_region
95
+ if instance_type == 'ecs'
96
+ return initialize_ecs_aws_region
97
+ elsif instance_type == 'ec2'
98
+ return initialize_ec2_aws_region
99
+ end
100
+ end
101
+
102
+ def initialize_ecs_aws_region
103
+ url = ENV['ECS_CONTAINER_METADATA_URI_V4']
104
+ c_arn = JSON.parse(get_resource(url))['ContainerARN']
105
+ c_arn.split(':')[3]
106
+ end
107
+
108
+ def initialize_ec2_aws_region
86
109
  url = 'http://169.254.169.254/latest/dynamic/instance-identity/document'
87
110
  JSON.parse(get_resource(url))['region']
88
111
  end
data/lib/smps/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module SmPs
4
4
  # Current version.
5
- VERSION = '0.5.4'
5
+ VERSION = '1.0.1'
6
6
  end
metadata CHANGED
@@ -1,19 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan - Zipkid - Goethals
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-03 00:00:00.000000000 Z
11
+ date: 2024-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
17
20
  - - ">"
18
21
  - !ruby/object:Gem::Version
19
22
  version: '3.0'
@@ -21,6 +24,9 @@ dependencies:
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.0'
24
30
  - - ">"
25
31
  - !ruby/object:Gem::Version
26
32
  version: '3.0'
@@ -28,6 +34,9 @@ dependencies:
28
34
  name: aws-sdk-ssm
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.0'
31
40
  - - ">"
32
41
  - !ruby/object:Gem::Version
33
42
  version: '1.0'
@@ -35,6 +44,9 @@ dependencies:
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.0'
38
50
  - - ">"
39
51
  - !ruby/object:Gem::Version
40
52
  version: '1.0'
@@ -75,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
87
  - !ruby/object:Gem::Version
76
88
  version: '0'
77
89
  requirements: []
78
- rubygems_version: 3.1.6
90
+ rubygems_version: 3.4.21
79
91
  signing_key:
80
92
  specification_version: 4
81
93
  summary: SMPS - Systems Manager Parameter Store