This is an automated email from the ASF dual-hosted git repository.
zhenyu pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new 157eae772a feat: add more support for adapter API to Go client (#3204)
157eae772a is described below
commit 157eae772aa643bfd475f0304d5cb5da74af257a
Author: wyyolo <[email protected]>
AuthorDate: Sun Sep 8 17:14:24 2024 +0800
feat: add more support for adapter API to Go client (#3204)
---
streampipes-client-go/streampipes/adapter_api.go | 175 +++++++++++++++++++++
.../internal/serializer/deserializer.go | 75 ++++++---
.../streampipes/internal/serializer/serializer.go | 15 ++
.../model/adapter/adapter_description.go | 51 ++++++
streampipes-client-go/streampipes/model/common.go | 55 +++----
.../streampipes/streampipes_client.go | 4 +
6 files changed, 319 insertions(+), 56 deletions(-)
diff --git a/streampipes-client-go/streampipes/adapter_api.go
b/streampipes-client-go/streampipes/adapter_api.go
new file mode 100644
index 0000000000..06fb42d789
--- /dev/null
+++ b/streampipes-client-go/streampipes/adapter_api.go
@@ -0,0 +1,175 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+package streampipes
+
+import (
+ "github.com/apache/streampipes/streampipes-client-go/streampipes/config"
+
"github.com/apache/streampipes/streampipes-client-go/streampipes/internal/serializer"
+
"github.com/apache/streampipes/streampipes-client-go/streampipes/internal/util"
+
"github.com/apache/streampipes/streampipes-client-go/streampipes/model/adapter"
+ "io"
+ "log"
+ "net/http"
+)
+
+type Adapter struct {
+ endpoint
+}
+
+func NewAdapter(clientConfig config.StreamPipesClientConfig) *Adapter {
+
+ return &Adapter{
+ endpoint{config: clientConfig},
+ }
+}
+
+// GetSingleAdapter get a specific adapter with the given id
+func (a *Adapter) GetSingleAdapter(adapterId string)
(adapter.AdapterDescription, error) {
+
+ endPointUrl := util.NewStreamPipesApiPath(a.config.Url,
"streampipes-backend/api/v2/connect/master/adapters", []string{adapterId})
+ log.Printf("Get data from: %s", endPointUrl)
+
+ response, err := a.executeRequest("GET", endPointUrl, nil)
+ if err != nil {
+ return adapter.AdapterDescription{}, err
+ }
+
+ if response.StatusCode != http.StatusOK {
+ err = a.handleStatusCode(response)
+ if err != nil {
+ return adapter.AdapterDescription{}, err
+ }
+ }
+
+ body, err := io.ReadAll(response.Body)
+ if err != nil {
+ return adapter.AdapterDescription{}, err
+ }
+
+ unmarshalData, err :=
serializer.NewAdapterDeserializer().Unmarshal(body)
+ if err != nil {
+ return adapter.AdapterDescription{}, err
+ }
+ adapterDescription := unmarshalData.(adapter.AdapterDescription)
+
+ return adapterDescription, nil
+}
+
+// GetAllAdapter get all adapters of the current user
+func (a *Adapter) GetAllAdapter() ([]adapter.AdapterDescription, error) {
+ endPointUrl := util.NewStreamPipesApiPath(a.config.Url,
"streampipes-backend/api/v2/connect/master/adapters", nil)
+
+ response, err := a.executeRequest("GET", endPointUrl, nil)
+ if err != nil {
+ return nil, err
+ }
+
+ if response.StatusCode != http.StatusOK {
+ err = a.handleStatusCode(response)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ body, err := io.ReadAll(response.Body)
+ if err != nil {
+ return nil, err
+ }
+
+ unmarshalData, err :=
serializer.NewAdaptersDeserializer().Unmarshal(body)
+ if err != nil {
+ return nil, err
+ }
+ adapters := unmarshalData.([]adapter.AdapterDescription)
+
+ return adapters, nil
+}
+
+// DeleteSingleAdapter delete a adapter with a given id
+func (a *Adapter) DeleteSingleAdapter(adapterId string) error {
+
+ endPointUrl := util.NewStreamPipesApiPath(a.config.Url,
"streampipes-backend/api/v2/connect/master/adapters", []string{adapterId})
+ log.Printf("Delete data from: %s", endPointUrl)
+
+ response, err := a.executeRequest("DELETE", endPointUrl, nil)
+ if err != nil {
+ return err
+ }
+
+ if response.StatusCode != http.StatusOK {
+ err = a.handleStatusCode(response)
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func (a *Adapter) CreateAdapter(adapters adapter.AdapterDescription) error {
+ endPointUrl := util.NewStreamPipesApiPath(a.config.Url,
"streampipes-backend/api/v2/connect/master/adapters", nil)
+ body, err := serializer.NewAdapterSerializer().Marshal(adapters)
+ if err != nil {
+ return err
+ }
+ response, err := a.executeRequest("PUT", endPointUrl, body)
+ if err != nil {
+ return err
+ }
+
+ if response.StatusCode != http.StatusOK {
+ err = a.handleStatusCode(response)
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func (a *Adapter) StopSingleAdapter(adapterId string) error {
+ endPointUrl := util.NewStreamPipesApiPath(a.config.Url,
"streampipes-backend/api/v2/connect/master/adapters", []string{adapterId,
"stop"})
+
+ response, err := a.executeRequest("POST", endPointUrl, nil)
+ if err != nil {
+ return err
+ }
+ if response.StatusCode != http.StatusOK {
+ err = a.handleStatusCode(response)
+ if err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (a *Adapter) StartSingleAdapter(adapterId string) error {
+ endPointUrl := util.NewStreamPipesApiPath(a.config.Url,
"streampipes-backend/api/v2/pipelines", []string{adapterId, "start"})
+
+ response, err := a.executeRequest("POST", endPointUrl, nil)
+ if err != nil {
+ return err
+ }
+ if response.StatusCode != http.StatusOK {
+ err = a.handleStatusCode(response)
+ if err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
diff --git
a/streampipes-client-go/streampipes/internal/serializer/deserializer.go
b/streampipes-client-go/streampipes/internal/serializer/deserializer.go
index fd9bb40eb3..9c47fd3383 100644
--- a/streampipes-client-go/streampipes/internal/serializer/deserializer.go
+++ b/streampipes-client-go/streampipes/internal/serializer/deserializer.go
@@ -19,6 +19,7 @@ package serializer
import (
"encoding/json"
+
"github.com/apache/streampipes/streampipes-client-go/streampipes/model/adapter"
"github.com/apache/streampipes/streampipes-client-go/streampipes/model"
"github.com/apache/streampipes/streampipes-client-go/streampipes/model/data_lake"
@@ -36,17 +37,13 @@ type Deserializer interface {
Unmarshal(body []byte) (interface{}, error)
}
-var _ Deserializer = (*DataLakeMeasuresDeserializer)(nil)
-var _ Deserializer = (*DataSeriesDeserializer)(nil)
-var _ Deserializer = (*DataLakeMeasureDeserializer)(nil)
-
type DataLakeMeasuresDeserializer struct{}
func NewDataLakeMeasuresDeserializer() *DataLakeMeasuresDeserializer {
return &DataLakeMeasuresDeserializer{}
}
-func (d *DataLakeMeasuresDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (d DataLakeMeasuresDeserializer) Unmarshal(data []byte) (interface{},
error) {
var dataLakeMeasures []data_lake.DataLakeMeasure
err := json.Unmarshal(data, &dataLakeMeasures)
if err != nil {
@@ -61,7 +58,7 @@ func NewDataLakeMeasureDeserializer()
*DataLakeMeasureDeserializer {
return &DataLakeMeasureDeserializer{}
}
-func (d *DataLakeMeasureDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (d DataLakeMeasureDeserializer) Unmarshal(data []byte) (interface{},
error) {
var dataLakeMeasure data_lake.DataLakeMeasure
err := json.Unmarshal(data, &dataLakeMeasure)
if err != nil {
@@ -76,7 +73,7 @@ func NewDataSeriesDeserializer() *DataSeriesDeserializer {
return &DataSeriesDeserializer{}
}
-func (d *DataSeriesDeserializer) Unmarshal(data []byte) (interface{}, error) {
+func (d DataSeriesDeserializer) Unmarshal(data []byte) (interface{}, error) {
var dataSeries data_lake.DataSeries
err := json.Unmarshal(data, &dataSeries)
if err != nil {
@@ -91,7 +88,7 @@ func NewStreamPipesVersionDeserializer()
*StreamPipesVersionDeserializer {
return &StreamPipesVersionDeserializer{}
}
-func (d *StreamPipesVersionDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (d StreamPipesVersionDeserializer) Unmarshal(data []byte) (interface{},
error) {
var dataSeries streampipes_version.Versions
err := json.Unmarshal(data, &dataSeries)
if err != nil {
@@ -106,7 +103,7 @@ func NewResponseMessageDeserializer()
*ResponseMessageDeserializer {
return &ResponseMessageDeserializer{}
}
-func (r *ResponseMessageDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (r ResponseMessageDeserializer) Unmarshal(data []byte) (interface{},
error) {
var responseMessage model.ResponseMessage
err := json.Unmarshal(data, &responseMessage)
if err != nil {
@@ -121,7 +118,7 @@ func NewPipelineCategoriesDeserializer()
*PipelineCategoriesDeserializer {
return &PipelineCategoriesDeserializer{}
}
-func (p *PipelineCategoriesDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (p PipelineCategoriesDeserializer) Unmarshal(data []byte) (interface{},
error) {
var pipelineCategory []pipeline.PipelineCategory
err := json.Unmarshal(data, &pipelineCategory)
if err != nil {
@@ -136,7 +133,7 @@ func NewDataLakeDashboardDeserializer()
*DataLakeDashboardDeserializer {
return &DataLakeDashboardDeserializer{}
}
-func (d *DataLakeDashboardDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (d DataLakeDashboardDeserializer) Unmarshal(data []byte) (interface{},
error) {
var dashborad data_lake.Dashboard
err := json.Unmarshal(data, &dashborad)
if err != nil {
@@ -151,7 +148,7 @@ func NewDataLakeDashboardsDeserializer()
*DataLakeDashboardsDeserializer {
return &DataLakeDashboardsDeserializer{}
}
-func (d *DataLakeDashboardsDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (d DataLakeDashboardsDeserializer) Unmarshal(data []byte) (interface{},
error) {
var dashborad []data_lake.Dashboard
err := json.Unmarshal(data, &dashborad)
if err != nil {
@@ -167,7 +164,7 @@ func NewDataLakeWidgetDeserializer()
*DataLakeWidgetDeserializer {
return &DataLakeWidgetDeserializer{}
}
-func (d *DataLakeWidgetDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (d DataLakeWidgetDeserializer) Unmarshal(data []byte) (interface{},
error) {
var widget data_lake.DataExplorerWidgetModel
err := json.Unmarshal(data, &widget)
if err != nil {
@@ -182,7 +179,7 @@ func NewDataLakeWidgetsDeserializer()
*DataLakeWidgetsDeserializer {
return &DataLakeWidgetsDeserializer{}
}
-func (d *DataLakeWidgetsDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (d DataLakeWidgetsDeserializer) Unmarshal(data []byte) (interface{},
error) {
var widget []data_lake.DataExplorerWidgetModel
err := json.Unmarshal(data, &widget)
if err != nil {
@@ -197,7 +194,7 @@ func NewSpLogEntriesDeserializer()
*SpLogEntriesDeserializer {
return &SpLogEntriesDeserializer{}
}
-func (p *SpLogEntriesDeserializer) Unmarshal(data []byte) (interface{}, error)
{
+func (p SpLogEntriesDeserializer) Unmarshal(data []byte) (interface{}, error) {
var userAccount []functions.SpLogEntry
err := json.Unmarshal(data, &userAccount)
if err != nil {
@@ -212,7 +209,7 @@ func NewSpMetricsEntryDeserializer()
*SpMetricsEntryDeserializer {
return &SpMetricsEntryDeserializer{}
}
-func (p *SpMetricsEntryDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (p SpMetricsEntryDeserializer) Unmarshal(data []byte) (interface{},
error) {
var spMetricsEntry functions.SpMetricsEntry
err := json.Unmarshal(data, &spMetricsEntry)
if err != nil {
@@ -227,7 +224,7 @@ func NewFunctionDefinitionsDeserializer()
*FunctionDefinitionsDeserializer {
return &FunctionDefinitionsDeserializer{}
}
-func (p *FunctionDefinitionsDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (p FunctionDefinitionsDeserializer) Unmarshal(data []byte) (interface{},
error) {
var functionDefinitions []functions.FunctionDefinition
err := json.Unmarshal(data, &functionDefinitions)
if err != nil {
@@ -243,7 +240,7 @@ func NewShortUserInfosDeserializer()
*ShortUserInfosDeserializer {
return &ShortUserInfosDeserializer{}
}
-func (s *ShortUserInfosDeserializer) Unmarshal(data []byte) (interface{},
error) {
+func (s ShortUserInfosDeserializer) Unmarshal(data []byte) (interface{},
error) {
var shortUserInfo []streampipes_user.ShortUserInfo
err := json.Unmarshal(data, &shortUserInfo)
if err != nil {
@@ -258,7 +255,7 @@ func NewUserAccountDeserializer() *UserAccountDeserializer {
return &UserAccountDeserializer{}
}
-func (p *UserAccountDeserializer) Unmarshal(data []byte) (interface{}, error) {
+func (p UserAccountDeserializer) Unmarshal(data []byte) (interface{}, error) {
var userAccount streampipes_user.UserAccount
err := json.Unmarshal(data, &userAccount)
if err != nil {
@@ -274,7 +271,7 @@ func NewPipelineDeserializer() *PipelineDeserializer {
return &PipelineDeserializer{}
}
-func (p *PipelineDeserializer) Unmarshal(data []byte) (interface{}, error) {
+func (p PipelineDeserializer) Unmarshal(data []byte) (interface{}, error) {
var pipeLine pipeline.Pipeline
err := json.Unmarshal(data, &pipeLine)
if err != nil {
@@ -290,7 +287,7 @@ func NewPipelinesDeserializer() *PipelinesDeserializer {
return &PipelinesDeserializer{}
}
-func (p *PipelinesDeserializer) Unmarshal(data []byte) (interface{}, error) {
+func (p PipelinesDeserializer) Unmarshal(data []byte) (interface{}, error) {
var pipelines []pipeline.Pipeline
err := json.Unmarshal(data, &pipelines)
if err != nil {
@@ -306,7 +303,7 @@ func NewPipelineStatusMessagesDeserializer()
*PipelineStatusMessagesDeserializer
return &PipelineStatusMessagesDeserializer{}
}
-func (p *PipelineStatusMessagesDeserializer) Unmarshal(data []byte)
(interface{}, error) {
+func (p PipelineStatusMessagesDeserializer) Unmarshal(data []byte)
(interface{}, error) {
var pipelineStatusMessage []pipeline.PipelineStatusMessage
err := json.Unmarshal(data, &pipelineStatusMessage)
if err != nil {
@@ -321,7 +318,7 @@ func NewPipelineOperationStatusDeserializer()
*PipelineOperationStatusDeserializ
return &PipelineOperationStatusDeserializer{}
}
-func (p *PipelineOperationStatusDeserializer) Unmarshal(data []byte)
(interface{}, error) {
+func (p PipelineOperationStatusDeserializer) Unmarshal(data []byte)
(interface{}, error) {
var pipelineOperationStatus pipeline.PipelineOperationStatus
err := json.Unmarshal(data, &pipelineOperationStatus)
if err != nil {
@@ -329,3 +326,35 @@ func (p *PipelineOperationStatusDeserializer)
Unmarshal(data []byte) (interface{
}
return pipelineOperationStatus, nil
}
+
+type AdapterDeserializer struct{}
+
+func NewAdapterDeserializer() *AdapterDeserializer {
+ return &AdapterDeserializer{}
+}
+
+func (a AdapterDeserializer) Unmarshal(data []byte) (interface{}, error) {
+ var adapterDescription adapter.AdapterDescription
+ err := json.Unmarshal(data, &adapterDescription)
+ if err != nil {
+ return nil, err
+ }
+ return adapterDescription, nil
+
+}
+
+type AdaptersDeserializer struct{}
+
+func NewAdaptersDeserializer() *AdaptersDeserializer {
+ return &AdaptersDeserializer{}
+}
+
+func (a AdaptersDeserializer) Unmarshal(data []byte) (interface{}, error) {
+ var adapters []adapter.AdapterDescription
+ err := json.Unmarshal(data, &adapters)
+ if err != nil {
+ return nil, err
+ }
+ return adapters, nil
+
+}
diff --git
a/streampipes-client-go/streampipes/internal/serializer/serializer.go
b/streampipes-client-go/streampipes/internal/serializer/serializer.go
index 24439a164b..7d8da41556 100644
--- a/streampipes-client-go/streampipes/internal/serializer/serializer.go
+++ b/streampipes-client-go/streampipes/internal/serializer/serializer.go
@@ -19,6 +19,7 @@ package serializer
import (
"encoding/json"
+
"github.com/apache/streampipes/streampipes-client-go/streampipes/model/adapter"
"github.com/apache/streampipes/streampipes-client-go/streampipes/model/pipeline"
)
@@ -35,3 +36,17 @@ func (p PipelineSerializer) Marshal(pp pipeline.Pipeline)
([]byte, error) {
}
return data, nil
}
+
+type AdapterSerializer struct{}
+
+func NewAdapterSerializer() AdapterSerializer {
+ return AdapterSerializer{}
+}
+
+func (a AdapterSerializer) Marshal(adapters adapter.AdapterDescription)
([]byte, error) {
+ data, err := json.Marshal(adapters)
+ if err != nil {
+ return nil, err
+ }
+ return data, nil
+}
diff --git
a/streampipes-client-go/streampipes/model/adapter/adapter_description.go
b/streampipes-client-go/streampipes/model/adapter/adapter_description.go
new file mode 100644
index 0000000000..4b856d32fa
--- /dev/null
+++ b/streampipes-client-go/streampipes/model/adapter/adapter_description.go
@@ -0,0 +1,51 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+package adapter
+
+import "github.com/apache/streampipes/streampipes-client-go/streampipes/model"
+
+type AdapterDescription struct {
+ ElementID string
`json:"elementId"`
+ Rev string
`json:"rev"`
+ DOM string
`json:"dom"`
+ ConnectedTo []string
`json:"connectedTo"`
+ Name string
`json:"name"`
+ Description string
`json:"description"`
+ AppID string
`json:"appId"`
+ IncludesAssets bool
`json:"includesAssets"`
+ IncludesLocales bool
`json:"includesLocales"`
+ IncludedAssets []string
`json:"includedAssets"`
+ IncludedLocales []string
`json:"includedLocales"`
+ InternallyManaged bool
`json:"internallyManaged"`
+ Version int32
`json:"version"`
+ DataStream model.SpDataStream
`json:"dataStream"`
+ Running bool
`json:"running"`
+ EventGrounding model.EventGrounding
`json:"eventGrounding"`
+ Icon string
`json:"icon"`
+ Config []model.StaticProperty
`json:"config"`
+ Rules []model.TransformationRuleDescription
`json:"rules"`
+ Category []string
`json:"category"`
+ CreatedAt int64
`json:"createdAt"`
+ SelectedEndpointURL string
`json:"selectedEndpointUrl"`
+ DeploymentConfiguration model.ExtensionDeploymentConfiguration
`json:"deploymentConfiguration"`
+ CorrespondingDataStreamElementID string
`json:"correspondingDataStreamElementId"`
+ EventSchema model.EventSchema
`json:"eventSchema"`
+ ValueRules []model.TransformationRuleDescription
`json:"valueRules"`
+ StreamRules []model.TransformationRuleDescription
`json:"streamRules"`
+ SchemaRules []model.TransformationRuleDescription
`json:"schemaRules"`
+}
diff --git a/streampipes-client-go/streampipes/model/common.go
b/streampipes-client-go/streampipes/model/common.go
index 7d71666411..0cb1d9631f 100644
--- a/streampipes-client-go/streampipes/model/common.go
+++ b/streampipes-client-go/streampipes/model/common.go
@@ -75,40 +75,15 @@ type Notification struct {
AdditionalInformation string `json:"additionalInformation"`
}
-type StaticPropertyType string
-
-const (
- AnyStaticProperty StaticPropertyType =
"AnyStaticProperty"
- CodeInputStaticProperty StaticPropertyType =
"CodeInputStaticProperty"
- CollectionStaticProperty StaticPropertyType =
"CollectionStaticProperty"
- ColorPickerStaticProperty StaticPropertyType =
"ColorPickerStaticProperty"
- DomainStaticProperty StaticPropertyType =
"DomainStaticProperty"
- FreeTextStaticProperty StaticPropertyType =
"FreeTextStaticProperty"
- FileStaticProperty StaticPropertyType =
"FileStaticProperty"
- MappingPropertyUnary StaticPropertyType =
"MappingPropertyUnary"
- MappingPropertyNary StaticPropertyType =
"MappingPropertyNary"
- MatchingStaticProperty StaticPropertyType =
"MatchingStaticProperty"
- OneOfStaticProperty StaticPropertyType =
"OneOfStaticProperty"
- RuntimeResolvableAnyStaticProperty StaticPropertyType =
"RuntimeResolvableAnyStaticProperty"
- RuntimeResolvableGroupStaticProperty StaticPropertyType =
"RuntimeResolvableGroupStaticProperty"
- RuntimeResolvableOneOfStaticProperty StaticPropertyType =
"RuntimeResolvableOneOfStaticProperty"
- RuntimeResolvableTreeInputStaticProperty StaticPropertyType =
"RuntimeResolvableTreeInputStaticProperty"
- StaticPropertyGroup StaticPropertyType =
"StaticPropertyGroup"
- StaticPropertyAlternatives StaticPropertyType =
"StaticPropertyAlternatives"
- StaticPropertyAlternative StaticPropertyType =
"StaticPropertyAlternative"
- SecretStaticProperty StaticPropertyType =
"SecretStaticProperty"
- SlideToggleStaticProperty StaticPropertyType =
"SlideToggleStaticProperty"
-)
-
type StaticProperty struct {
- Optional bool `json:"optional,omitempty"`
- StaticPropertyType StaticPropertyType `json:"staticPropertyType"`
- Index int32 `json:"index"`
- Label string `json:"label"`
- Description string `json:"description"`
- InternalName string `json:"internalName"`
- Predefined bool `json:"predefined"`
- Class string `json:"@class"`
+ Optional bool `json:"optional,omitempty"`
+ StaticPropertyType string `json:"staticPropertyType"`
+ Index int32 `json:"index"`
+ Label string `json:"label"`
+ Description string `json:"description"`
+ InternalName string `json:"internalName"`
+ Predefined bool `json:"predefined"`
+ Class string `json:"@class"`
}
type SpDataStream struct {
@@ -153,3 +128,17 @@ type TopicDefinition struct {
type TransportFormat struct {
RdfType []string `json:"rdfType"`
}
+
+type TransformationRuleDescription struct {
+ RulePriority int32
+}
+
+type SpServiceTag struct {
+ Prefix string `json:"prefix"`
+ Value string `json:"value"`
+}
+
+type ExtensionDeploymentConfiguration struct {
+ DesiredServiceTags []SpServiceTag `json:"desiredServiceTags"`
+ SelectedEndpointUrl string `json:"selectedEndpointUrl"`
+}
diff --git a/streampipes-client-go/streampipes/streampipes_client.go
b/streampipes-client-go/streampipes/streampipes_client.go
index b0286ea91d..e80e0a4158 100644
--- a/streampipes-client-go/streampipes/streampipes_client.go
+++ b/streampipes-client-go/streampipes/streampipes_client.go
@@ -78,6 +78,10 @@ func (s *StreamPipesClient) Pipeline() *Pipeline {
return NewPipeline(s.config)
}
+func (s *StreamPipesClient) Adapter() *Adapter {
+ return NewAdapter(s.config)
+}
+
func (s *StreamPipesClient) DataLakeDashboard() *DataLakeDashboard {
return NewDataLakeDashborad(s.config)