@@ -21,40 +21,7 @@ func resourceGithubRepositoryEnvironmentDeploymentPolicy() *schema.Resource {
2121 UpdateContext : resourceGithubRepositoryEnvironmentDeploymentPolicyUpdate ,
2222 DeleteContext : resourceGithubRepositoryEnvironmentDeploymentPolicyDelete ,
2323 Importer : & schema.ResourceImporter {
24- StateContext : func (ctx context.Context , d * schema.ResourceData , meta any ) ([]* schema.ResourceData , error ) {
25- tflog .Debug (ctx , "Importing repository environment deployment policy" , map [string ]any {
26- "id" : d .Id (),
27- })
28-
29- repoName , envName , policyId , err := parseThreePartID (d .Id (), "repository" , "environment" , "branchPolicyId" )
30- if err != nil {
31- tflog .Error (ctx , "Failed to parse import ID" , map [string ]any {
32- "id" : d .Id (),
33- "error" : err .Error (),
34- })
35- return nil , err
36- }
37-
38- _ = d .Set ("repository" , repoName )
39- envNameUnescaped , err := url .PathUnescape (envName )
40- if err != nil {
41- tflog .Error (ctx , "Failed to unescape environment name" , map [string ]any {
42- "id" : d .Id (),
43- "environment" : envName ,
44- "error" : err .Error (),
45- })
46- return nil , err
47- }
48- _ = d .Set ("environment" , envNameUnescaped )
49-
50- tflog .Info (ctx , "Imported repository environment deployment policy" , map [string ]any {
51- "repository" : repoName ,
52- "environment" : envNameUnescaped ,
53- "policy_id" : policyId ,
54- })
55-
56- return []* schema.ResourceData {d }, nil
57- },
24+ StateContext : resourceGithubRepositoryEnvironmentDeploymentPolicyImport ,
5825 },
5926 Schema : map [string ]* schema.Schema {
6027 "repository" : {
@@ -335,3 +302,44 @@ func customDeploymentPolicyDiffFunction(_ context.Context, diff *schema.Resource
335302
336303 return nil
337304}
305+
306+ func resourceGithubRepositoryEnvironmentDeploymentPolicyImport (ctx context.Context , d * schema.ResourceData , meta any ) ([]* schema.ResourceData , error ) {
307+ tflog .Debug (ctx , "Importing repository environment deployment policy" , map [string ]any {
308+ "id" : d .Id (),
309+ })
310+
311+ repoName , envName , policyId , err := parseThreePartID (d .Id (), "repository" , "environment" , "branchPolicyId" )
312+ if err != nil {
313+ tflog .Error (ctx , "Failed to parse import ID" , map [string ]any {
314+ "id" : d .Id (),
315+ "error" : err .Error (),
316+ })
317+ return nil , err
318+ }
319+
320+ if err := d .Set ("repository" , repoName ); err != nil {
321+ return nil , err
322+ }
323+
324+ envNameUnescaped , err := url .PathUnescape (envName )
325+ if err != nil {
326+ tflog .Error (ctx , "Failed to unescape environment name" , map [string ]any {
327+ "id" : d .Id (),
328+ "environment" : envName ,
329+ "error" : err .Error (),
330+ })
331+ return nil , err
332+ }
333+
334+ if err := d .Set ("environment" , envNameUnescaped ); err != nil {
335+ return nil , err
336+ }
337+
338+ tflog .Info (ctx , "Imported repository environment deployment policy" , map [string ]any {
339+ "repository" : repoName ,
340+ "environment" : envNameUnescaped ,
341+ "policy_id" : policyId ,
342+ })
343+
344+ return []* schema.ResourceData {d }, nil
345+ }
0 commit comments