Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
package github

import (
"context"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceGithubActionsOrganizationOIDCSubjectClaimCustomizationTemplate() *schema.Resource {
return &schema.Resource{
Read: dataSourceGithubActionsOrganizationOIDCSubjectClaimCustomizationTemplateRead,
ReadContext: dataSourceGithubActionsOrganizationOIDCSubjectClaimCustomizationTemplateRead,

Schema: map[string]*schema.Schema{
"include_claim_keys": {
Expand All @@ -20,25 +23,23 @@ func dataSourceGithubActionsOrganizationOIDCSubjectClaimCustomizationTemplate()
}
}

func dataSourceGithubActionsOrganizationOIDCSubjectClaimCustomizationTemplateRead(d *schema.ResourceData, meta any) error {
func dataSourceGithubActionsOrganizationOIDCSubjectClaimCustomizationTemplateRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
client := meta.(*Owner).v3client
orgName := meta.(*Owner).name
ctx := meta.(*Owner).StopContext

err := checkOrganization(meta)
if err != nil {
return err
return diag.FromErr(err)
}

template, _, err := client.Actions.GetOrgOIDCSubjectClaimCustomTemplate(ctx, orgName)
if err != nil {
return err
return diag.FromErr(err)
}

d.SetId(orgName)
err = d.Set("include_claim_keys", template.IncludeClaimKeys)
if err != nil {
return err
if err = d.Set("include_claim_keys", template.IncludeClaimKeys); err != nil {
return diag.FromErr(err)
}

return nil
Expand Down
15 changes: 7 additions & 8 deletions github/data_source_github_actions_organization_public_key.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@ package github
import (
"context"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceGithubActionsOrganizationPublicKey() *schema.Resource {
return &schema.Resource{
Read: dataSourceGithubActionsOrganizationPublicKeyRead,
ReadContext: dataSourceGithubActionsOrganizationPublicKeyRead,

Schema: map[string]*schema.Schema{
"key_id": {
Expand All @@ -23,30 +24,28 @@ func dataSourceGithubActionsOrganizationPublicKey() *schema.Resource {
}
}

func dataSourceGithubActionsOrganizationPublicKeyRead(d *schema.ResourceData, meta any) error {
func dataSourceGithubActionsOrganizationPublicKeyRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
err := checkOrganization(meta)
if err != nil {
return err
return diag.FromErr(err)
}

client := meta.(*Owner).v3client
owner := meta.(*Owner).name

ctx := context.Background()

publicKey, _, err := client.Actions.GetOrgPublicKey(ctx, owner)
if err != nil {
return err
return diag.FromErr(err)
}

d.SetId(publicKey.GetKeyID())
err = d.Set("key_id", publicKey.GetKeyID())
if err != nil {
return err
return diag.FromErr(err)
}
err = d.Set("key", publicKey.GetKey())
if err != nil {
return err
return diag.FromErr(err)
}

return nil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ package github

import (
"context"
"fmt"
"log"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceGithubActionsOrganizationRegistrationToken() *schema.Resource {
return &schema.Resource{
Read: dataSourceGithubActionsOrganizationRegistrationTokenRead,
ReadContext: dataSourceGithubActionsOrganizationRegistrationTokenRead,

Schema: map[string]*schema.Schema{
"token": {
Expand All @@ -25,25 +25,24 @@ func dataSourceGithubActionsOrganizationRegistrationToken() *schema.Resource {
}
}

func dataSourceGithubActionsOrganizationRegistrationTokenRead(d *schema.ResourceData, meta any) error {
ctx := context.Background()
func dataSourceGithubActionsOrganizationRegistrationTokenRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
client := meta.(*Owner).v3client
owner := meta.(*Owner).name

log.Printf("[DEBUG] Creating a GitHub Actions organization registration token for %s", owner)
token, _, err := client.Actions.CreateOrganizationRegistrationToken(ctx, owner)
if err != nil {
return fmt.Errorf("error creating a GitHub Actions organization registration token for %s: %w", owner, err)
return diag.Errorf("error creating a GitHub Actions organization registration token for %s: %v", owner, err)
}

d.SetId(owner)
err = d.Set("token", token.Token)
if err != nil {
return err
return diag.FromErr(err)
}
err = d.Set("expires_at", token.ExpiresAt.Unix())
if err != nil {
return err
return diag.FromErr(err)
}

return nil
Expand Down
16 changes: 8 additions & 8 deletions github/data_source_github_actions_organization_secrets.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ import (

"github.com/google/go-github/v83/github"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceGithubActionsOrganizationSecrets() *schema.Resource {
return &schema.Resource{
Read: dataSourceGithubActionsOrganizationSecretsRead,
ReadContext: dataSourceGithubActionsOrganizationSecretsRead,

Schema: map[string]*schema.Schema{
"secrets": {
Expand Down Expand Up @@ -41,20 +42,19 @@ func dataSourceGithubActionsOrganizationSecrets() *schema.Resource {
}
}

func dataSourceGithubActionsOrganizationSecretsRead(d *schema.ResourceData, meta any) error {
ctx := context.Background()
func dataSourceGithubActionsOrganizationSecretsRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
client := meta.(*Owner).v3client
owner := meta.(*Owner).name

options := github.ListOptions{
PerPage: 100,
}

var all_secrets []map[string]string
var allSecrets []map[string]string
for {
secrets, resp, err := client.Actions.ListOrgSecrets(ctx, owner, &options)
if err != nil {
return err
return diag.FromErr(err)
}
for _, secret := range secrets.Secrets {
new_secret := map[string]string{
Expand All @@ -63,7 +63,7 @@ func dataSourceGithubActionsOrganizationSecretsRead(d *schema.ResourceData, meta
"updated_at": secret.UpdatedAt.String(),
"visibility": secret.Visibility,
}
all_secrets = append(all_secrets, new_secret)
allSecrets = append(allSecrets, new_secret)

}
if resp.NextPage == 0 {
Expand All @@ -73,9 +73,9 @@ func dataSourceGithubActionsOrganizationSecretsRead(d *schema.ResourceData, meta
}

d.SetId(owner)
err := d.Set("secrets", all_secrets)
err := d.Set("secrets", allSecrets)
if err != nil {
return err
return diag.FromErr(err)
}

return nil
Expand Down
10 changes: 5 additions & 5 deletions github/data_source_github_actions_organization_variables.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ import (

"github.com/google/go-github/v83/github"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceGithubActionsOrganizationVariables() *schema.Resource {
return &schema.Resource{
Read: dataSourceGithubActionsOrganizationVariablesRead,
ReadContext: dataSourceGithubActionsOrganizationVariablesRead,

Schema: map[string]*schema.Schema{
"variables": {
Expand Down Expand Up @@ -45,8 +46,7 @@ func dataSourceGithubActionsOrganizationVariables() *schema.Resource {
}
}

func dataSourceGithubActionsOrganizationVariablesRead(d *schema.ResourceData, meta any) error {
ctx := context.Background()
func dataSourceGithubActionsOrganizationVariablesRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
client := meta.(*Owner).v3client
owner := meta.(*Owner).name

Expand All @@ -58,7 +58,7 @@ func dataSourceGithubActionsOrganizationVariablesRead(d *schema.ResourceData, me
for {
variables, resp, err := client.Actions.ListOrgVariables(ctx, owner, &options)
if err != nil {
return err
return diag.FromErr(err)
}
for _, variable := range variables.Variables {
new_variable := map[string]string{
Expand All @@ -79,7 +79,7 @@ func dataSourceGithubActionsOrganizationVariablesRead(d *schema.ResourceData, me
d.SetId(owner)
err := d.Set("variables", all_variables)
if err != nil {
return err
return diag.FromErr(err)
}

return nil
Expand Down
12 changes: 6 additions & 6 deletions github/data_source_github_actions_public_key.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@ package github
import (
"context"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceGithubActionsPublicKey() *schema.Resource {
return &schema.Resource{
Read: dataSourceGithubActionsPublicKeyRead,
ReadContext: dataSourceGithubActionsPublicKeyRead,

Schema: map[string]*schema.Schema{
"repository": {
Expand All @@ -27,26 +28,25 @@ func dataSourceGithubActionsPublicKey() *schema.Resource {
}
}

func dataSourceGithubActionsPublicKeyRead(d *schema.ResourceData, meta any) error {
func dataSourceGithubActionsPublicKeyRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
repository := d.Get("repository").(string)
owner := meta.(*Owner).name

client := meta.(*Owner).v3client
ctx := context.Background()

publicKey, _, err := client.Actions.GetRepoPublicKey(ctx, owner, repository)
if err != nil {
return err
return diag.FromErr(err)
}

d.SetId(publicKey.GetKeyID())
err = d.Set("key_id", publicKey.GetKeyID())
if err != nil {
return err
return diag.FromErr(err)
}
err = d.Set("key", publicKey.GetKey())
if err != nil {
return err
return diag.FromErr(err)
}

return nil
Expand Down
12 changes: 6 additions & 6 deletions github/data_source_github_actions_registration_token.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ import (
"fmt"
"log"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceGithubActionsRegistrationToken() *schema.Resource {
return &schema.Resource{
Read: dataSourceGithubActionsRegistrationTokenRead,
ReadContext: dataSourceGithubActionsRegistrationTokenRead,

Schema: map[string]*schema.Schema{
"repository": {
Expand All @@ -30,26 +31,25 @@ func dataSourceGithubActionsRegistrationToken() *schema.Resource {
}
}

func dataSourceGithubActionsRegistrationTokenRead(d *schema.ResourceData, meta any) error {
ctx := context.Background()
func dataSourceGithubActionsRegistrationTokenRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
client := meta.(*Owner).v3client
owner := meta.(*Owner).name
repoName := d.Get("repository").(string)

log.Printf("[DEBUG] Creating a GitHub Actions repository registration token for %s/%s", owner, repoName)
token, _, err := client.Actions.CreateRegistrationToken(ctx, owner, repoName)
if err != nil {
return fmt.Errorf("error creating a GitHub Actions repository registration token for %s/%s: %w", owner, repoName, err)
return diag.Errorf("error creating a GitHub Actions repository registration token for %s/%s: %v", owner, repoName, err)
}

d.SetId(fmt.Sprintf("%s/%s", owner, repoName))
err = d.Set("token", token.Token)
if err != nil {
return err
return diag.FromErr(err)
}
err = d.Set("expires_at", token.ExpiresAt.Unix())
if err != nil {
return err
return diag.FromErr(err)
}

return nil
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
package github

import "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
import (
"context"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)

func dataSourceGithubActionsRepositoryOIDCSubjectClaimCustomizationTemplate() *schema.Resource {
return &schema.Resource{
Read: dataSourceGithubActionsRepositoryOIDCSubjectClaimCustomizationTemplateRead,
ReadContext: dataSourceGithubActionsRepositoryOIDCSubjectClaimCustomizationTemplateRead,

Schema: map[string]*schema.Schema{
"name": {
Expand All @@ -26,26 +31,25 @@ func dataSourceGithubActionsRepositoryOIDCSubjectClaimCustomizationTemplate() *s
}
}

func dataSourceGithubActionsRepositoryOIDCSubjectClaimCustomizationTemplateRead(d *schema.ResourceData, meta any) error {
func dataSourceGithubActionsRepositoryOIDCSubjectClaimCustomizationTemplateRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
client := meta.(*Owner).v3client

repository := d.Get("name").(string)
owner := meta.(*Owner).name
ctx := meta.(*Owner).StopContext

template, _, err := client.Actions.GetRepoOIDCSubjectClaimCustomTemplate(ctx, owner, repository)
if err != nil {
return err
return diag.FromErr(err)
}

d.SetId(repository)
err = d.Set("use_default", template.UseDefault)
if err != nil {
return err
return diag.FromErr(err)
}
err = d.Set("include_claim_keys", template.IncludeClaimKeys)
if err != nil {
return err
return diag.FromErr(err)
}

return nil
Expand Down
Loading