Skip to content

Commit 2f0f672

Browse files
committed
Add seed for random rolls
1 parent 5e0415f commit 2f0f672

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ HOSTNAME=hashicorp.com
33
NAMESPACE=briancain
44
NAME=diceroll
55
BINARY=terraform-provider-${NAME}
6-
VERSION=0.0.8
6+
VERSION=0.0.9
77
OS_ARCH=darwin_amd64
88

99
default: install

internal/provider/resource_diceroll.go

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package diceroll
22

33
import (
44
"fmt"
5-
"math/rand"
65

76
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
87
)
@@ -14,6 +13,10 @@ func resourceDiceRoll() *schema.Resource {
1413
Update: schema.Noop,
1514
Delete: schema.RemoveFromState,
1615
Schema: map[string]*schema.Schema{
16+
"seed": &schema.Schema{
17+
Type: schema.TypeString,
18+
Optional: true,
19+
},
1720
"dice": &schema.Schema{
1821
Type: schema.TypeList,
1922
Required: true,
@@ -51,11 +54,6 @@ func resourceDiceRoll() *schema.Resource {
5154
Type: schema.TypeString,
5255
},
5356
},
54-
"seed": {
55-
Type: schema.TypeString,
56-
Optional: true,
57-
ForceNew: true,
58-
},
5957
"quantity": &schema.Schema{
6058
Type: schema.TypeInt,
6159
Required: true,
@@ -68,17 +66,20 @@ func resourceDiceRoll() *schema.Resource {
6866
}
6967

7068
func resourceDiceRollCreate(d *schema.ResourceData, m interface{}) error {
71-
d.SetId(fmt.Sprintf("%x", rand.Int()))
72-
return resourceDiceRollRead(d, m)
73-
}
74-
75-
func resourceDiceRollRead(d *schema.ResourceData, m interface{}) error {
7669
//dice := d.Get("dice").([]interface{})
70+
quantity := d.Get("quantity").(int)
71+
seed := d.Get("seed").(string)
72+
rand := NewRand(seed)
73+
result := make([]interface{}, 0, quantity)
7774

7875
//for _, die := range dice {
7976
// dc := die.(map[string]interface{})
77+
// dv := dc["die"].([]interface{})[0]
78+
8079
//}
81-
return nil
80+
d.SetId(fmt.Sprintf("%x", rand.Int()))
81+
d.Set("result", result)
82+
return resourceDiceRollRead(d, m)
8283
}
8384

8485
func resourceDiceRollRead(d *schema.ResourceData, m interface{}) error {

0 commit comments

Comments
 (0)