@@ -544,3 +544,91 @@ func DeleteIngestPipeline(ctx context.Context, apiClient *clients.ApiClient, nam
544
544
}
545
545
return diags
546
546
}
547
+
548
+ func PutTransform (ctx context.Context , apiClient * clients.ApiClient , transform * models.Transform , params * models.PutTransformParams ) diag.Diagnostics {
549
+ fmt .Println ("entering PutTransform" )
550
+ var diags diag.Diagnostics
551
+ pipelineBytes , err := json .Marshal (transform )
552
+ if err != nil {
553
+ return diag .FromErr (err )
554
+ }
555
+
556
+ esClient , err := apiClient .GetESClient ()
557
+ if err != nil {
558
+ return diag .FromErr (err )
559
+ }
560
+
561
+ opts := []func (* esapi.TransformPutTransformRequest ){
562
+ esClient .TransformPutTransform .WithContext (ctx ),
563
+ esClient .TransformPutTransform .WithDeferValidation (params .DeferValidation ),
564
+ esClient .TransformPutTransform .WithTimeout (params .Timeout ),
565
+ }
566
+
567
+ res , err := esClient .TransformPutTransform (bytes .NewReader (pipelineBytes ), transform .Name , opts ... )
568
+ if err != nil {
569
+ return diag .FromErr (err )
570
+ }
571
+
572
+ defer res .Body .Close ()
573
+ if diags := utils .CheckError (res , fmt .Sprintf ("Unable to create transform: %s" , transform .Name )); diags .HasError () {
574
+ return diags
575
+ }
576
+
577
+ return diags
578
+ }
579
+
580
+ func GetTransform (ctx context.Context , apiClient * clients.ApiClient , name * string ) (* models.Transform , diag.Diagnostics ) {
581
+ fmt .Println ("entering GetTransform for " , * name )
582
+ var diags diag.Diagnostics
583
+ esClient , err := apiClient .GetESClient ()
584
+ if err != nil {
585
+ return nil , diag .FromErr (err )
586
+ }
587
+ req := esClient .TransformGetTransform .WithTransformID (* name )
588
+ res , err := esClient .TransformGetTransform (req , esClient .TransformGetTransform .WithContext (ctx ))
589
+ if err != nil {
590
+ return nil , diag .FromErr (err )
591
+ }
592
+ defer res .Body .Close ()
593
+ if res .StatusCode == http .StatusNotFound {
594
+ return nil , nil
595
+ }
596
+ if diags := utils .CheckError (res , fmt .Sprintf ("Unable to get requested transform: %s" , * name )); diags .HasError () {
597
+ return nil , diags
598
+ }
599
+
600
+ transformsResponse := models.GetTransformResponse {}
601
+ if err := json .NewDecoder (res .Body ).Decode (& transformsResponse ); err != nil {
602
+ return nil , diag .FromErr (err )
603
+ }
604
+
605
+ for _ , t := range transformsResponse .Transforms {
606
+ if t .Id == * name {
607
+ t .Name = * name
608
+ return & t , diags
609
+ }
610
+ }
611
+
612
+ return nil , diags
613
+ }
614
+
615
+ func DeleteTransform (ctx context.Context , apiClient * clients.ApiClient , name string ) diag.Diagnostics {
616
+ fmt .Println ("entering DeleteTransform for " , name )
617
+ var diags diag.Diagnostics
618
+
619
+ esClient , err := apiClient .GetESClient ()
620
+ if err != nil {
621
+ return diag .FromErr (err )
622
+ }
623
+
624
+ res , err := esClient .TransformDeleteTransform (name , esClient .TransformDeleteTransform .WithForce (true ), esClient .TransformDeleteTransform .WithContext (ctx ))
625
+ if err != nil {
626
+ return diag .FromErr (err )
627
+ }
628
+ defer res .Body .Close ()
629
+ if diags := utils .CheckError (res , fmt .Sprintf ("Unable to delete the transform: %s" , name )); diags .HasError () {
630
+ return diags
631
+ }
632
+
633
+ return diags
634
+ }
0 commit comments