packerman 0.2.0 → 0.3.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
  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: