@@ -7,15 +7,16 @@ import (
77 "net/http"
88
99 "github.com/google/go-github/v81/github"
10+ "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1011 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1112)
1213
1314func resourceGithubMembership () * schema.Resource {
1415 return & schema.Resource {
15- Create : resourceGithubMembershipCreateOrUpdate ,
16- Read : resourceGithubMembershipRead ,
17- Update : resourceGithubMembershipCreateOrUpdate ,
18- Delete : resourceGithubMembershipDelete ,
16+ CreateContext : resourceGithubMembershipCreateOrUpdate ,
17+ ReadContext : resourceGithubMembershipRead ,
18+ UpdateContext : resourceGithubMembershipCreateOrUpdate ,
19+ DeleteContext : resourceGithubMembershipDelete ,
1920 Importer : & schema.ResourceImporter {
2021 StateContext : schema .ImportStatePassthroughContext ,
2122 },
@@ -49,18 +50,17 @@ func resourceGithubMembership() *schema.Resource {
4950 }
5051}
5152
52- func resourceGithubMembershipCreateOrUpdate (d * schema.ResourceData , meta any ) error {
53+ func resourceGithubMembershipCreateOrUpdate (ctx context. Context , d * schema.ResourceData , meta any ) diag. Diagnostics {
5354 err := checkOrganization (meta )
5455 if err != nil {
55- return err
56+ return diag . FromErr ( err )
5657 }
5758
5859 client := meta .(* Owner ).v3client
5960
6061 orgName := meta .(* Owner ).name
6162 username := d .Get ("username" ).(string )
6263 roleName := d .Get ("role" ).(string )
63- ctx := context .Background ()
6464 if ! d .IsNewResource () {
6565 ctx = context .WithValue (ctx , ctxId , d .Id ())
6666 }
@@ -73,28 +73,28 @@ func resourceGithubMembershipCreateOrUpdate(d *schema.ResourceData, meta any) er
7373 },
7474 )
7575 if err != nil {
76- return err
76+ return diag . FromErr ( err )
7777 }
7878
7979 d .SetId (buildTwoPartID (orgName , username ))
8080
81- return resourceGithubMembershipRead (d , meta )
81+ return resourceGithubMembershipRead (ctx , d , meta )
8282}
8383
84- func resourceGithubMembershipRead (d * schema.ResourceData , meta any ) error {
84+ func resourceGithubMembershipRead (ctx context. Context , d * schema.ResourceData , meta any ) diag. Diagnostics {
8585 err := checkOrganization (meta )
8686 if err != nil {
87- return err
87+ return diag . FromErr ( err )
8888 }
8989
9090 client := meta .(* Owner ).v3client
9191
9292 orgName := meta .(* Owner ).name
9393 _ , username , err := parseTwoPartID (d .Id (), "organization" , "username" )
9494 if err != nil {
95- return err
95+ return diag . FromErr ( err )
9696 }
97- ctx : = context .WithValue (context . Background () , ctxId , d .Id ())
97+ ctx = context .WithValue (ctx , ctxId , d .Id ())
9898 if ! d .IsNewResource () {
9999 ctx = context .WithValue (ctx , ctxEtag , d .Get ("etag" ).(string ))
100100 }
@@ -114,31 +114,31 @@ func resourceGithubMembershipRead(d *schema.ResourceData, meta any) error {
114114 return nil
115115 }
116116 }
117- return err
117+ return diag . FromErr ( err )
118118 }
119119
120120 if err = d .Set ("etag" , resp .Header .Get ("ETag" )); err != nil {
121- return err
121+ return diag . FromErr ( err )
122122 }
123123 if err = d .Set ("username" , username ); err != nil {
124- return err
124+ return diag . FromErr ( err )
125125 }
126126 if err = d .Set ("role" , membership .GetRole ()); err != nil {
127- return err
127+ return diag . FromErr ( err )
128128 }
129129
130130 return nil
131131}
132132
133- func resourceGithubMembershipDelete (d * schema.ResourceData , meta any ) error {
133+ func resourceGithubMembershipDelete (ctx context. Context , d * schema.ResourceData , meta any ) diag. Diagnostics {
134134 err := checkOrganization (meta )
135135 if err != nil {
136- return err
136+ return diag . FromErr ( err )
137137 }
138138
139139 client := meta .(* Owner ).v3client
140140 orgName := meta .(* Owner ).name
141- ctx : = context .WithValue (context . Background () , ctxId , d .Id ())
141+ ctx = context .WithValue (ctx , ctxId , d .Id ())
142142
143143 username := d .Get ("username" ).(string )
144144 downgradeOnDestroy := d .Get ("downgrade_on_destroy" ).(bool )
@@ -160,7 +160,7 @@ func resourceGithubMembershipDelete(d *schema.ResourceData, meta any) error {
160160 }
161161 }
162162
163- return err
163+ return diag . FromErr ( err )
164164 }
165165
166166 if * membership .Role == downgradeTo {
@@ -176,5 +176,5 @@ func resourceGithubMembershipDelete(d *schema.ResourceData, meta any) error {
176176 _ , err = client .Organizations .RemoveOrgMembership (ctx , username , orgName )
177177 }
178178
179- return err
179+ return diag . FromErr ( err )
180180}
0 commit comments