packerman 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f9313e2e936836a98d51194bee8e597e7df421ad
4
- data.tar.gz: cd654cd2ff4b994aff5e7b5d773d500a982fd135
3
+ metadata.gz: a9dba12922abd2accd2f77141c149986a2366421
4
+ data.tar.gz: 954ae732fff925d43fe9722240f362b160cb9d58
5
5
  SHA512:
6
- metadata.gz: 014aa64fc2af9ece0d5078a558c6968a9d5cdafb32213225341f65a56d292b0ed342633fbd263ca47bcb6f528304263c4468ddbc3a17748d8154ba79e08f3959
7
- data.tar.gz: d860f10a0b3236ec560a079336dcdf0f51252b9bf75a2c9004c2e83496d62447e81d4234193086e5472099905dd28712fdc0dd705f39be267ed7b9a224eba996
6
+ metadata.gz: ea78c21a244bc89bd70adb5ad901f51b5cd895dfbac7da9f4123d496ffbab4d38b463e2997b5e45449a637b021a1fd4235f257f3d043f6d55848296592587844
7
+ data.tar.gz: 1d6149f487739d34073b1afa14e7e4ace64884e9bfcb3f2f99fdc9ba927deeefe6962c28160c88518ad534ec28742c73058e2fd5c60c99e22307a4cb798a36cd
data/README.md CHANGED
@@ -9,23 +9,22 @@ Ruby DSL for Packer by HashiCorp.
9
9
  Packerman is converter ruby DSL to Packer template.<br>
10
10
  Currently, Packerman is supporting these template structures.
11
11
 
12
- ### Builders
12
+ ### Builders (contains full communicator support)
13
13
  * amazon-ebs
14
14
  * amazon-instance
15
15
  * amazon-chroot
16
16
  * docker
17
+ * googlecompute
18
+ * null
17
19
 
18
20
  ### Provisioners
19
21
  * shell
20
22
  * chef-solo
21
23
 
22
- # DSL
23
-
24
- use this command to convert DSL.
24
+ ### Variables
25
+ * variables are also supported
25
26
 
26
- ```
27
- $ bundle exec packerman <filename>
28
- ```
27
+ # DSL
29
28
 
30
29
  Here is DSL sample.
31
30
 
@@ -40,6 +39,12 @@ Provisioners type: "shell" do
40
39
  end
41
40
  ```
42
41
 
42
+ then, use this command to convert DSL.
43
+
44
+ ```
45
+ $ bundle exec packerman <filename>
46
+ ```
47
+
43
48
  ```json:sample.json
44
49
  {
45
50
  "builders": [
@@ -15,6 +15,8 @@ require 'packerman/dsl/builders/amazon_ebs'
15
15
  require 'packerman/dsl/builders/amazon_instance'
16
16
  require 'packerman/dsl/builders/amazon_chroot'
17
17
  require 'packerman/dsl/builders/docker'
18
+ require 'packerman/dsl/builders/googlecompute'
19
+ require 'packerman/dsl/builders/null'
18
20
  require 'packerman/dsl/provisioners'
19
21
  require 'packerman/dsl/provisioners/shell'
20
22
  require 'packerman/dsl/provisioners/chef_solo'
@@ -1,2 +1,34 @@
1
1
  class Packerman::Dsl::Builders < Packerman::Dsl
2
+ include Packerman::Dsl::Node
3
+
4
+ class << self
5
+ def hash_key
6
+ [:type] + require_keys + optional_keys + communicator_keys
7
+ end
8
+
9
+ def communicator_keys
10
+ [
11
+ :communicator,
12
+ :ssh_host,
13
+ :ssh_port,
14
+ :ssh_username,
15
+ :ssh_password,
16
+ :ssh_private_key_file,
17
+ :ssh_pty,
18
+ :ssh_timeout,
19
+ :ssh_handshake_attempts,
20
+ :ssh_disable_agent,
21
+ :ssh_bastion_host,
22
+ :ssh_bastion_port,
23
+ :ssh_bastion_username,
24
+ :ssh_bastion_password,
25
+ :ssh_bastion_private_key_file,
26
+ :winrm_host,
27
+ :winrm_port,
28
+ :winrm_username,
29
+ :winrm_password,
30
+ :winrm_timeout
31
+ ]
32
+ end
33
+ end
2
34
  end
@@ -1,6 +1,4 @@
1
- class Packerman::Dsl::Builders::AmazonChroot< Packerman::Dsl::Builders
2
- include Packerman::Dsl::Node
3
-
1
+ class Packerman::Dsl::Builders::AmazonChroot < Packerman::Dsl::Builders
4
2
  def type
5
3
  "amazon-chroot"
6
4
  end
@@ -1,6 +1,4 @@
1
1
  class Packerman::Dsl::Builders::AmazonEbs < Packerman::Dsl::Builders
2
- include Packerman::Dsl::Node
3
-
4
2
  def type
5
3
  "amazon-ebs"
6
4
  end
@@ -1,6 +1,4 @@
1
1
  class Packerman::Dsl::Builders::AmazonInstance < Packerman::Dsl::Builders
2
- include Packerman::Dsl::Node
3
-
4
2
  def type
5
3
  "amazon-instance"
6
4
  end
@@ -1,6 +1,4 @@
1
1
  class Packerman::Dsl::Builders::Docker < Packerman::Dsl::Builders
2
- include Packerman::Dsl::Node
3
-
4
2
  class << self
5
3
  def require_keys
6
4
  [
@@ -0,0 +1,31 @@
1
+ class Packerman::Dsl::Builders::Googlecompute < Packerman::Dsl::Builders
2
+ def type
3
+ "googlecompute"
4
+ end
5
+
6
+ class << self
7
+ def require_keys
8
+ [
9
+ :project_id,
10
+ :source_image,
11
+ :zone
12
+ ]
13
+ end
14
+
15
+ def optional_keys
16
+ [
17
+ :account_file,
18
+ :disk_size,
19
+ :image_name,
20
+ :image_description,
21
+ :instance_name,
22
+ :machine_type,
23
+ :metadata,
24
+ :network,
25
+ :state_timeout,
26
+ :tags,
27
+ :use_internal_ip
28
+ ]
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,15 @@
1
+ class Packerman::Dsl::Builders::Null < Packerman::Dsl::Builders
2
+ def type
3
+ "null"
4
+ end
5
+
6
+ class << self
7
+ def require_keys
8
+ []
9
+ end
10
+
11
+ def optional_keys
12
+ []
13
+ end
14
+ end
15
+ end
@@ -1,2 +1,3 @@
1
1
  class Packerman::Dsl::Provisioners < Packerman::Dsl
2
+ include Packerman::Dsl::Node
2
3
  end
@@ -1,6 +1,4 @@
1
- class Packerman::Dsl::Provisioners::ChefSolo < Packerman::Dsl::Builders
2
- include Packerman::Dsl::Node
3
-
1
+ class Packerman::Dsl::Provisioners::ChefSolo < Packerman::Dsl::Provisioners
4
2
  def type
5
3
  "chef-solo"
6
4
  end
@@ -1,4 +1,4 @@
1
- class Packerman::Dsl::Provisioners::Shell < Packerman::Dsl::Builders
1
+ class Packerman::Dsl::Provisioners::Shell < Packerman::Dsl::Provisioners
2
2
  include Packerman::Dsl::Node
3
3
 
4
4
  class << self
@@ -1,3 +1,3 @@
1
1
  module Packerman
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packerman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masashi AKISUE
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-27 00:00:00.000000000 Z
11
+ date: 2015-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -92,6 +92,8 @@ files:
92
92
  - lib/packerman/dsl/builders/amazon_ebs.rb
93
93
  - lib/packerman/dsl/builders/amazon_instance.rb
94
94
  - lib/packerman/dsl/builders/docker.rb
95
+ - lib/packerman/dsl/builders/googlecompute.rb
96
+ - lib/packerman/dsl/builders/null.rb
95
97
  - lib/packerman/dsl/hash_object.rb
96
98
  - lib/packerman/dsl/node.rb
97
99
  - lib/packerman/dsl/provisioners.rb
@@ -127,3 +129,4 @@ signing_key:
127
129
  specification_version: 4
128
130
  summary: Ruby DSL for Packer(www.packer.io)
129
131
  test_files: []
132
+ has_rdoc: