@@ -161,12 +161,15 @@ export async function initOpenSearchUI(cfg) {
161161 // f. Create index patterns with dataSource reference
162162 const svcMapPattern = 'otel-v2-apm-service-map*' ;
163163 const logsSchema = '{"otelLogs":{"timestamp":"time","traceId":"traceId","spanId":"spanId","serviceName":"resource.attributes.service.name"}}' ;
164+ const isServerless = cfg . opensearchType === 'serverless' ;
165+ const dsRefType = isServerless ? 'OpenSearch Serverless' : 'data-source' ;
164166
165167 const patterns = [
166168 { title : 'logs-otel-v1*' , timeFieldName : 'time' , signalType : 'logs' , schemaMappings : logsSchema } ,
167169 { title : 'otel-v1-apm-span*' , timeFieldName : 'endTime' , signalType : 'traces' } ,
168170 { title : svcMapPattern , timeFieldName : 'timestamp' } ,
169171 ] ;
172+ if ( isServerless ) patterns . forEach ( ( p ) => { p . type = 'INDEXES' ; } ) ;
170173
171174 const patternIds = { } ;
172175 for ( const p of patterns ) {
@@ -181,7 +184,7 @@ export async function initOpenSearchUI(cfg) {
181184 }
182185 const resp = await osuiPost ( base , `/w/${ wsId } /api/saved_objects/index-pattern` , {
183186 attributes : p ,
184- references : dsId ? [ { id : dsId , name : 'dataSource' , type : 'data-source' } ] : [ ] ,
187+ references : dsId ? [ { id : dsId , name : 'dataSource' , type : dsRefType } ] : [ ] ,
185188 } , region ) ;
186189 patternIds [ p . title ] = resp . data ?. id ;
187190 printSuccess ( `Index pattern created: ${ p . title } ` ) ;
0 commit comments