Skip to content

Commit 419d21a

Browse files
committed
multiple lint remediations
1 parent e11a182 commit 419d21a

7 files changed

+141
-53
lines changed

epic/provider.go

-8
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,9 @@ func Provider() *schema.Provider {
1111
"epic_random_name": resourceRandomName(),
1212
"epic_random_quote": resourceRandomQuote(),
1313
},
14-
ConfigureFunc: providerConfigure,
1514
}
1615
}
1716

18-
func providerConfigure(d *schema.ResourceData) (interface{}, error) {
19-
config := Config{
20-
DefaultMediaType: d.Get("default_media_type").(string),
21-
}
22-
return &config, nil
23-
}
24-
2517
type Config struct {
2618
DefaultMediaType string
2719
}

epic/resouce_random_name.go

+16-5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package epic
33
import (
44
"encoding/json"
55
"fmt"
6+
"log"
67
"math/rand"
78
"os"
89
"path/filepath"
@@ -68,8 +69,15 @@ func loadNames(mediaType, title string) ([]string, error) {
6869
}
6970

7071
func resourceRandomNameCreate(d *schema.ResourceData, m interface{}) error {
71-
mediaType := d.Get("media_type").(string)
72-
title := d.Get("title").(string)
72+
mediaType, ok := d.Get("media_type").(string)
73+
if !ok {
74+
fmt.Println("Expceted a media type. Found none")
75+
}
76+
77+
title, ok := d.Get("title").(string)
78+
if !ok {
79+
fmt.Println("Expceted a title. Found none")
80+
}
7381

7482
names, err := loadNames(mediaType, title)
7583
if err != nil {
@@ -80,14 +88,17 @@ func resourceRandomNameCreate(d *schema.ResourceData, m interface{}) error {
8088
return fmt.Errorf("no names found for %s '%s'", mediaType, title)
8189
}
8290

83-
// Setup a local random source
91+
// Setup a local random source.
8492
source := rand.NewSource(time.Now().UnixNano())
8593
localRand := rand.New(source)
8694
selectedName := names[localRand.Intn(len(names))]
8795

88-
// Set the resource ID and the computed name
96+
// Set the resource ID and the computed name.
8997
d.SetId(strconv.FormatInt(time.Now().UnixNano(), 10))
90-
d.Set("name", selectedName)
98+
99+
if err := d.Set("name", selectedName); err != nil {
100+
log.Fatalf("Error setting name: %v", err)
101+
}
91102

92103
return nil
93104
}

epic/resource_random_quote.go

+16-5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package epic
33
import (
44
"encoding/json"
55
"fmt"
6+
"log"
67
"math/rand"
78
"os"
89
"path/filepath"
@@ -68,8 +69,15 @@ func loadQuotes(mediaType, title string) ([]string, error) {
6869
}
6970

7071
func resourceRandomQuoteCreate(d *schema.ResourceData, m interface{}) error {
71-
mediaType := d.Get("media_type").(string)
72-
title := d.Get("title").(string)
72+
mediaType, ok := d.Get("media_type").(string)
73+
if !ok {
74+
fmt.Println("Expceted a media_type. Found none")
75+
}
76+
77+
title, ok := d.Get("title").(string)
78+
if !ok {
79+
fmt.Println("Expceted a title. None found.")
80+
}
7381

7482
quotes, err := loadQuotes(mediaType, title)
7583
if err != nil {
@@ -80,14 +88,17 @@ func resourceRandomQuoteCreate(d *schema.ResourceData, m interface{}) error {
8088
return fmt.Errorf("no quotes found for %s '%s'", mediaType, title)
8189
}
8290

83-
// Setup a local random source
91+
// Setup a local random source.
8492
source := rand.NewSource(time.Now().UnixNano())
8593
localRand := rand.New(source)
8694
selectedQuote := quotes[localRand.Intn(len(quotes))]
8795

88-
// Set the resource ID and the computed quote
96+
// Set the resource ID and the computed quote.
8997
d.SetId(strconv.FormatInt(time.Now().UnixNano(), 10))
90-
d.Set("quote", selectedQuote)
98+
99+
if err := d.Set("quote", selectedQuote); err != nil {
100+
log.Fatalf("Error setting quote: %v", err)
101+
}
91102

92103
return nil
93104
}

epic/validate_data.go

+15-8
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ type MediaTypeData struct {
2626

2727
// FOR TESTING ONLY!!
2828
func getDataDirPath() string {
29-
dataDir := os.Getenv("DATA_DIR") // Set to "../data" for go tests
29+
dataDir := os.Getenv("DATA_DIR") // Set to "../data" for go tests.
3030
if dataDir == "" {
31-
dataDir = "data" // Default is "data" because that is what is required for users consuming the provider
31+
dataDir = "data" // Default is "data" because that is what is required for users consuming the provider.
3232
}
3333
return dataDir
3434
}
@@ -108,10 +108,17 @@ func LoadAndCacheMediaTypes(dataDir string) error {
108108
return nil
109109
}
110110

111-
// Function called by customizeDiff: during resource creation
111+
// Function called by customizeDiff: during resource creation.
112112
func customValidateMediaTypeAndTitle(ctx context.Context, diff *schema.ResourceDiff, v interface{}) error {
113-
mediaType := diff.Get("media_type").(string)
114-
title := diff.Get("title").(string)
113+
mediaType, ok := diff.Get("media_type").(string)
114+
if !ok {
115+
fmt.Println("Expceted a media type. Found none")
116+
}
117+
118+
title, ok := diff.Get("title").(string)
119+
if !ok {
120+
fmt.Println("Expceted a title. Found none")
121+
}
115122

116123
isValid, errMsg := isValidMediaTypeAndTitle(mediaType, title)
117124
if !isValid {
@@ -121,21 +128,21 @@ func customValidateMediaTypeAndTitle(ctx context.Context, diff *schema.ResourceD
121128
return nil
122129
}
123130

124-
// Function to validate that the user provided media_type and title are valid or not
131+
// Function to validate that the user provided media_type and title are valid or not.
125132
func isValidMediaTypeAndTitle(mediaType, title string) (bool, string) {
126133
if !cacheLoaded {
127134
if err := LoadAndCacheMediaTypes("data"); err != nil {
128135
return false, fmt.Sprintf("error loading media types: %v", err)
129136
}
130137
}
131138

132-
// Check if the media_type is valid
139+
// Check if the media_type is valid.
133140
titlesMap, ok := mediaTypeCache[mediaType]
134141
if !ok {
135142
return false, fmt.Sprintf("'%s' is not a recognized media type", mediaType)
136143
}
137144

138-
// Check if the title is valid for the given media_type
145+
// Check if the title is valid for the given media_type.
139146
for t := range titlesMap {
140147
if strings.EqualFold(t, title) {
141148
return true, ""

go.mod

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module terraform-provider-epic-namer
22

3-
go 1.22.2
3+
go 1.22
44

55
require (
66
github.com/hashicorp/terraform-plugin-docs v0.19.1
@@ -18,7 +18,7 @@ require (
1818
github.com/bgentry/speakeasy v0.1.0 // indirect
1919
github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect
2020
github.com/cloudflare/circl v1.3.7 // indirect
21-
github.com/google/uuid v1.4.0 // indirect
21+
github.com/google/uuid v1.6.0 // indirect
2222
github.com/hashicorp/cli v1.1.6 // indirect
2323
github.com/hashicorp/errwrap v1.1.0 // indirect
2424
github.com/hashicorp/go-checkpoint v0.5.0 // indirect
@@ -36,7 +36,7 @@ require (
3636
github.com/yuin/goldmark v1.7.0 // indirect
3737
github.com/yuin/goldmark-meta v1.1.0 // indirect
3838
go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect
39-
golang.org/x/crypto v0.21.0 // indirect
39+
golang.org/x/crypto v0.22.0 // indirect
4040
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
4141
golang.org/x/mod v0.16.0 // indirect
4242
golang.org/x/tools v0.13.0 // indirect
@@ -48,7 +48,7 @@ require (
4848
github.com/agext/levenshtein v1.2.2 // indirect
4949
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
5050
github.com/fatih/color v1.16.0 // indirect
51-
github.com/golang/protobuf v1.5.3 // indirect
51+
github.com/golang/protobuf v1.5.4 // indirect
5252
github.com/google/go-cmp v0.6.0 // indirect
5353
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect
5454
github.com/hashicorp/go-hclog v1.6.2 // indirect
@@ -75,11 +75,11 @@ require (
7575
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
7676
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
7777
github.com/zclconf/go-cty v1.14.4 // indirect
78-
golang.org/x/net v0.22.0 // indirect
79-
golang.org/x/sys v0.18.0 // indirect
78+
golang.org/x/net v0.24.0 // indirect
79+
golang.org/x/sys v0.19.0 // indirect
8080
golang.org/x/text v0.14.0 // indirect
8181
google.golang.org/appengine v1.6.8 // indirect
82-
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect
83-
google.golang.org/grpc v1.61.1 // indirect
84-
google.golang.org/protobuf v1.32.0 // indirect
82+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be // indirect
83+
google.golang.org/grpc v1.63.2 // indirect
84+
google.golang.org/protobuf v1.33.0 // indirect
8585
)

go.sum

+18-18
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,15 @@ github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4er
5454
github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
5555
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
5656
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
57-
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
58-
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
57+
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
58+
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
5959
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
6060
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
6161
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
6262
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
6363
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
64-
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
65-
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
64+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
65+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
6666
github.com/hashicorp/cli v1.1.6 h1:CMOV+/LJfL1tXCOKrgAX0uRKnzjj/mpmqNXloRSy2K8=
6767
github.com/hashicorp/cli v1.1.6/go.mod h1:MPon5QYlgjjo0BSoAiN0ESeT5fRzDjVRp+uioJ0piz4=
6868
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -204,8 +204,8 @@ go.abhg.dev/goldmark/frontmatter v0.2.0/go.mod h1:XqrEkZuM57djk7zrlRUB02x8I5J0px
204204
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
205205
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
206206
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
207-
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
208-
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
207+
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
208+
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
209209
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
210210
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
211211
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
@@ -216,13 +216,13 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
216216
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
217217
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
218218
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
219-
golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
220-
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
219+
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
220+
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
221221
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
222222
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
223223
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
224-
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
225-
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
224+
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
225+
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
226226
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
227227
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
228228
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -236,8 +236,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
236236
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
237237
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
238238
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
239-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
240-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
239+
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
240+
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
241241
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
242242
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
243243
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
@@ -259,14 +259,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
259259
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
260260
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
261261
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
262-
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14=
263-
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA=
264-
google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY=
265-
google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
262+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be h1:LG9vZxsWGOmUKieR8wPAUR3u3MpnYFQZROPIMaXh7/A=
263+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
264+
google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
265+
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
266266
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
267267
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
268-
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
269-
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
268+
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
269+
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
270270
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
271271
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
272272
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

test.tf

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
terraform {
2+
required_providers {
3+
epic = {
4+
version = "0.1.0"
5+
source = "localhost/providers/epic-namer"
6+
}
7+
aws = {
8+
source = "hashicorp/aws"
9+
version = "5.47.0"
10+
}
11+
}
12+
}
13+
14+
provider "epic" {}
15+
16+
provider "aws" {
17+
region = "us-east-1"
18+
}
19+
20+
resource "epic_random_name" "movie_name" {
21+
media_type = "movie"
22+
title = "lord of the rings"
23+
}
24+
25+
resource "epic_random_name" "tv_series_name" {
26+
media_type = "tv_series"
27+
title = "game of thrones"
28+
}
29+
30+
resource "epic_random_quote" "lotr_quote" {
31+
media_type = "movie"
32+
title = "lord of the rings"
33+
}
34+
35+
resource "epic_random_quote" "got_quote" {
36+
media_type = "tv_series"
37+
title = "game of thrones"
38+
}
39+
40+
resource "aws_s3_bucket" "epic" {
41+
bucket = epic_random_name.movie_name.name
42+
43+
tags = {
44+
Name = epic_random_name.movie_name.name
45+
Description = epic_random_quote.lotr_quote.quote
46+
}
47+
}
48+
49+
output "s3_bucket_name" {
50+
value = aws_s3_bucket.epic.bucket
51+
}
52+
53+
output "random_movie_name" {
54+
value = epic_random_name.movie_name.name
55+
}
56+
57+
output "random_tv_series_name" {
58+
value = epic_random_name.tv_series_name.name
59+
}
60+
61+
output "lotr_quote" {
62+
value = epic_random_quote.lotr_quote.quote
63+
}
64+
65+
output "got_quote" {
66+
value = epic_random_quote.got_quote.quote
67+
}

0 commit comments

Comments
 (0)