resource/resolver/location_id_resolver.go (33 lines of code) (raw):

package resolver import ( "github.com/azure/armstrong/dependency" "github.com/azure/armstrong/resource/types" "github.com/azure/armstrong/utils" ) var _ ReferenceResolver = &LocationIDResolver{} type LocationIDResolver struct { } func (r LocationIDResolver) Resolve(pattern dependency.Pattern) (*ResolvedResult, error) { if utils.LastSegment(pattern.AzureResourceType) == "locations" { azapiDef := types.AzapiDefinition{ Id: pattern.Placeholder, Kind: types.KindDataSource, ResourceName: "azapi_resource_id", Label: "location", BodyFormat: types.BodyFormatHcl, AzureResourceType: pattern.AzureResourceType, ApiVersion: "2023-12-12", AdditionalFields: map[string]types.Value{ "parent_id": types.NewStringLiteralValue(utils.ParentIdOfResourceId(pattern.Placeholder)), "name": types.NewReferenceValue("var.location"), }, } return &ResolvedResult{ AzapiDefinitionToAdd: &azapiDef, }, nil } return nil, nil } func NewLocationIDResolver() LocationIDResolver { return LocationIDResolver{} }