@@ -15,6 +15,7 @@ import (
1515 "github.com/hashicorp/go-azure-sdk/microsoft-graph/identitygovernance/stable/privilegedaccessgroupassignmentschedulerequest"
1616 "github.com/hashicorp/go-azure-sdk/sdk/nullable"
1717 "github.com/hashicorp/go-azure-sdk/sdk/odata"
18+ "github.com/hashicorp/terraform-provider-azuread/internal/helpers/consistency"
1819 "github.com/hashicorp/terraform-provider-azuread/internal/helpers/tf/pluginsdk"
1920 "github.com/hashicorp/terraform-provider-azuread/internal/sdk"
2021 "github.com/hashicorp/terraform-provider-azuread/internal/services/identitygovernance/parse"
@@ -49,6 +50,7 @@ func (r PrivilegedAccessGroupAssignmentScheduleResource) Create() sdk.ResourceFu
4950 Timeout : 5 * time .Minute ,
5051 Func : func (ctx context.Context , metadata sdk.ResourceMetaData ) error {
5152 client := metadata .Client .IdentityGovernance .PrivilegedAccessGroupAssignmentScheduleRequestClient
53+ scheduleClient := metadata .Client .IdentityGovernance .PrivilegedAccessGroupAssignmentScheduleClient
5254
5355 var model PrivilegedAccessGroupScheduleModel
5456 if err := metadata .Decode (& model ); err != nil {
@@ -100,6 +102,18 @@ func (r PrivilegedAccessGroupAssignmentScheduleResource) Create() sdk.ResourceFu
100102
101103 metadata .SetID (resourceId )
102104
105+ id := stable .NewIdentityGovernancePrivilegedAccessGroupAssignmentScheduleID (resourceId .ID ())
106+ if err = consistency .WaitForUpdate (ctx , func (ctx context.Context ) (* bool , error ) {
107+ if u , err := scheduleClient .GetPrivilegedAccessGroupAssignmentSchedule (ctx , id , privilegedaccessgroupassignmentschedule .DefaultGetPrivilegedAccessGroupAssignmentScheduleOperationOptions ()); err != nil {
108+ if ! response .WasNotFound (u .HttpResponse ) {
109+ return pointer .To (false ), fmt .Errorf ("waiting for creation of %s: %+v" , id , err )
110+ }
111+ }
112+ return pointer .To (true ), nil
113+ }); err != nil {
114+ return fmt .Errorf ("retrieving %s: %+v" , id , err )
115+ }
116+
103117 return nil
104118 },
105119 }
0 commit comments