github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/github/secrets/adapt.go (about) 1 package secrets 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/github" 5 "github.com/khulnasoft-lab/defsec/pkg/terraform" 6 ) 7 8 func Adapt(modules terraform.Modules) []github.EnvironmentSecret { 9 return adaptSecrets(modules) 10 } 11 12 func adaptSecrets(modules terraform.Modules) []github.EnvironmentSecret { 13 var secrets []github.EnvironmentSecret 14 for _, module := range modules { 15 for _, resource := range module.GetResourcesByType("github_actions_environment_secret") { 16 secrets = append(secrets, adaptSecret(resource)) 17 } 18 } 19 return secrets 20 } 21 22 func adaptSecret(resource *terraform.Block) github.EnvironmentSecret { 23 secret := github.EnvironmentSecret{ 24 Metadata: resource.GetMetadata(), 25 Repository: resource.GetAttribute("repository").AsStringValueOrDefault("", resource), 26 Environment: resource.GetAttribute("environment").AsStringValueOrDefault("", resource), 27 SecretName: resource.GetAttribute("secret_name").AsStringValueOrDefault("", resource), 28 PlainTextValue: resource.GetAttribute("plaintext_value").AsStringValueOrDefault("", resource), 29 EncryptedValue: resource.GetAttribute("encrypted_value").AsStringValueOrDefault("", resource), 30 } 31 return secret 32 }