Skip to content

Commit ca671c8

Browse files
storage_mover_multi_cloud_connector_endpoint: ResourceWithIdentity, guide error msg, Create/Read identity
Made-with: Cursor
1 parent 0a03b54 commit ca671c8

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

internal/services/storagemover/storage_mover_multi_cloud_connector_endpoint_resource.go

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
"github.com/hashicorp/go-azure-helpers/lang/pointer"
1313
"github.com/hashicorp/go-azure-helpers/lang/response"
14+
"github.com/hashicorp/go-azure-helpers/resourcemanager/resourceids"
1415
"github.com/hashicorp/go-azure-sdk/resource-manager/storagemover/2025-07-01/endpoints"
1516
"github.com/hashicorp/go-azure-sdk/resource-manager/storagemover/2025-07-01/storagemovers"
1617
"github.com/hashicorp/terraform-provider-azurerm/helpers/azure"
@@ -29,7 +30,10 @@ type StorageMoverMultiCloudConnectorEndpointModel struct {
2930

3031
type StorageMoverMultiCloudConnectorEndpointResource struct{}
3132

32-
var _ sdk.ResourceWithUpdate = StorageMoverMultiCloudConnectorEndpointResource{}
33+
var (
34+
_ sdk.ResourceWithUpdate = StorageMoverMultiCloudConnectorEndpointResource{}
35+
_ sdk.ResourceWithIdentity = StorageMoverMultiCloudConnectorEndpointResource{}
36+
)
3337

3438
func (r StorageMoverMultiCloudConnectorEndpointResource) ResourceType() string {
3539
return "azurerm_storage_mover_multi_cloud_connector_endpoint"
@@ -43,6 +47,10 @@ func (r StorageMoverMultiCloudConnectorEndpointResource) IDValidationFunc() plug
4347
return endpoints.ValidateEndpointID
4448
}
4549

50+
func (r StorageMoverMultiCloudConnectorEndpointResource) Identity() resourceids.ResourceId {
51+
return &endpoints.EndpointId{}
52+
}
53+
4654
func (r StorageMoverMultiCloudConnectorEndpointResource) Arguments() map[string]*pluginsdk.Schema {
4755
return map[string]*pluginsdk.Schema{
4856
"name": {
@@ -106,7 +114,7 @@ func (r StorageMoverMultiCloudConnectorEndpointResource) Create() sdk.ResourceFu
106114
id := endpoints.NewEndpointID(storageMoverId.SubscriptionId, storageMoverId.ResourceGroupName, storageMoverId.StorageMoverName, model.Name)
107115
existing, err := client.Get(ctx, id)
108116
if err != nil && !response.WasNotFound(existing.HttpResponse) {
109-
return fmt.Errorf("checking for existing %s: %+v", id, err)
117+
return fmt.Errorf("checking for presence of existing %s: %+v", id, err)
110118
}
111119

112120
if !response.WasNotFound(existing.HttpResponse) {
@@ -131,7 +139,10 @@ func (r StorageMoverMultiCloudConnectorEndpointResource) Create() sdk.ResourceFu
131139
}
132140

133141
metadata.SetID(id)
134-
return nil
142+
if err := pluginsdk.SetResourceIdentityData(metadata.ResourceData, &id); err != nil {
143+
return err
144+
}
145+
return metadata.Encode(&model)
135146
},
136147
}
137148
}
@@ -211,6 +222,9 @@ func (r StorageMoverMultiCloudConnectorEndpointResource) Read() sdk.ResourceFunc
211222
}
212223
}
213224

225+
if err := pluginsdk.SetResourceIdentityData(metadata.ResourceData, id); err != nil {
226+
return err
227+
}
214228
return metadata.Encode(&state)
215229
},
216230
}

0 commit comments

Comments
 (0)