@@ -16,13 +16,14 @@ import (
1616type databaseBuilder struct {
1717 resourceType * v2.ResourceType
1818 client * snowflake.Client
19+ syncSecrets bool
1920}
2021
2122func (o * databaseBuilder ) ResourceType (ctx context.Context ) * v2.ResourceType {
2223 return databaseResourceType
2324}
2425
25- func databaseResource (database * snowflake.Database ) (* v2.Resource , error ) {
26+ func databaseResource (database * snowflake.Database , syncSecrets bool ) (* v2.Resource , error ) {
2627 profile := map [string ]interface {}{
2728 "name" : database .Name ,
2829 }
@@ -31,8 +32,18 @@ func databaseResource(database *snowflake.Database) (*v2.Resource, error) {
3132 rs .WithAppProfile (profile ),
3233 }
3334
35+ var opts []rs.ResourceOption
36+ if syncSecrets {
37+ opts = append (opts , rs .WithAnnotation (& v2.ChildResourceType {ResourceTypeId : secretResourceType .Id }))
38+ }
39+
3440 resource , err := rs .NewAppResource (
35- database .Name , databaseResourceType , database .Name , databaseTraits , rs .WithAnnotation (& v2.ChildResourceType {ResourceTypeId : secretResourceType .Id }))
41+ database .Name ,
42+ databaseResourceType ,
43+ database .Name ,
44+ databaseTraits ,
45+ opts ... ,
46+ )
3647 if err != nil {
3748 return nil , err
3849 }
@@ -53,7 +64,7 @@ func (o *databaseBuilder) List(ctx context.Context, parentResourceID *v2.Resourc
5364
5465 var resources []* v2.Resource
5566 for _ , database := range databases {
56- resource , err := databaseResource (& database ) // #nosec G601
67+ resource , err := databaseResource (& database , o . syncSecrets ) // #nosec G601
5768 if err != nil {
5869 return nil , "" , nil , wrapError (err , "failed to create database resource" )
5970 }
@@ -125,9 +136,10 @@ func (o *databaseBuilder) Grants(ctx context.Context, resource *v2.Resource, pTo
125136 return grants , "" , nil , nil
126137}
127138
128- func newDatabaseBuilder (client * snowflake.Client ) * databaseBuilder {
139+ func newDatabaseBuilder (client * snowflake.Client , syncSecrets bool ) * databaseBuilder {
129140 return & databaseBuilder {
130141 resourceType : databaseResourceType ,
131142 client : client ,
143+ syncSecrets : syncSecrets ,
132144 }
133145}
0 commit comments