diff --git a/docs/data-sources/deployment.md b/docs/data-sources/deployment.md index ab9c40c82..1dd6f08e4 100644 --- a/docs/data-sources/deployment.md +++ b/docs/data-sources/deployment.md @@ -156,6 +156,7 @@ Read-Only: - `status` (String) Resource kind status (for example, "started", "stopped", etc). - `topology` (Attributes List) Node topology element definition. (see [below for nested schema](#nestedatt--integrations_server--topology)) - `version` (String) Elastic stack version. +- `fleet_endpoint` (String) The endpoint for the Fleet server ### Nested Schema for `integrations_server.topology` diff --git a/ec/ecdatasource/deploymentdatasource/flatteners_integrations_server.go b/ec/ecdatasource/deploymentdatasource/flatteners_integrations_server.go index 3201ea6b1..97be65afc 100644 --- a/ec/ecdatasource/deploymentdatasource/flatteners_integrations_server.go +++ b/ec/ecdatasource/deploymentdatasource/flatteners_integrations_server.go @@ -76,6 +76,15 @@ func flattenIntegrationsServerResources(ctx context.Context, in []*models.Integr if res.Info.Metadata != nil { model.HttpEndpoint, model.HttpsEndpoint = converters.ExtractEndpointsToTypes(res.Info.Metadata) } + + // Set the fleet endpoint if available + if res.Info.Metadata.ServicesUrls != nil { + for _, service := range res.Info.Metadata.ServicesUrls { + if service.Service != nil && *service.Service == "fleet" { + model.FleetEndpoint = types.StringValue(*service.URL) + } + } + } } result = append(result, model) diff --git a/ec/ecdatasource/deploymentdatasource/schema_integrations_server.go b/ec/ecdatasource/deploymentdatasource/schema_integrations_server.go index 71a2bcd40..de203754b 100644 --- a/ec/ecdatasource/deploymentdatasource/schema_integrations_server.go +++ b/ec/ecdatasource/deploymentdatasource/schema_integrations_server.go @@ -65,6 +65,10 @@ func integrationsServerResourceInfoSchema() schema.Attribute { Computed: true, }, "topology": integrationsServerTopologySchema(), + "fleet_endpoint": schema.StringAttribute{ + Description: "HTTPS endpoint for the fleet.", + Computed: true, + }, }, }, } @@ -116,6 +120,7 @@ type integrationsServerResourceInfoModelV0 struct { Status types.String `tfsdk:"status"` Version types.String `tfsdk:"version"` Topology types.List `tfsdk:"topology"` //< integrationsServerTopologyModelV0 + FleetEndpoint types.String `tfsdk:"fleet_endpoint"` } type integrationsServerTopologyModelV0 struct {