diff --git a/azurerm/internal/services/apimanagement/api_management_api_resource.go b/azurerm/internal/services/apimanagement/api_management_api_resource.go index 452f9366cf27..767be9002dbd 100644 --- a/azurerm/internal/services/apimanagement/api_management_api_resource.go +++ b/azurerm/internal/services/apimanagement/api_management_api_resource.go @@ -273,9 +273,14 @@ func resourceArmApiManagementApiCreateUpdate(d *schema.ResourceData, meta interf apiParams.APICreateOrUpdateProperties.APIVersionSetID = utils.String(versionSetId) } - if _, err := client.CreateOrUpdate(ctx, resourceGroup, serviceName, apiId, apiParams, ""); err != nil { + future, err := client.CreateOrUpdate(ctx, resourceGroup, serviceName, apiId, apiParams, "") + if err != nil { return fmt.Errorf("creating/updating API Management API %q (Resource Group %q): %+v", name, resourceGroup, err) } + + if err = future.WaitForCompletionRef(ctx, client.Client); err != nil { + return fmt.Errorf("waiting on creating/updating API Management API %q (Resource Group %q): %+v", name, resourceGroup, err) + } } description := d.Get("description").(string) @@ -306,8 +311,13 @@ func resourceArmApiManagementApiCreateUpdate(d *schema.ResourceData, meta interf params.APICreateOrUpdateProperties.APIVersionSetID = utils.String(versionSetId) } - if _, err := client.CreateOrUpdate(ctx, resourceGroup, serviceName, apiId, params, ""); err != nil { - return fmt.Errorf("creating/updating API %q / Revision %q (API Management Service %q / Resource Group %q): %+v", name, revision, serviceName, resourceGroup, err) + future, err := client.CreateOrUpdate(ctx, resourceGroup, serviceName, apiId, params, "") + if err != nil { + return fmt.Errorf("creating/updating API Management API %q (Resource Group %q): %+v", name, resourceGroup, err) + } + + if err = future.WaitForCompletionRef(ctx, client.Client); err != nil { + return fmt.Errorf("waiting on creating/updating API Management API %q (Resource Group %q): %+v", name, resourceGroup, err) } read, err := client.Get(ctx, resourceGroup, serviceName, apiId)