# Go SDK for Flowpipe Flowpipe is a low-code workflow automation tool that aims to be simple yet powerful. For help on getting started with Flowpipe, please visit https://flowpipe.io ## Overview This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client. - API version: 0.1.0 - Package version: 1.0.0 - Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit [http://www.flowpipe.io](http://www.flowpipe.io) ## Installation Install the following dependencies: ```shell go get github.com/stretchr/testify/assert go get golang.org/x/net/context ``` Put the package under your project folder and add the following in import: ```golang import flowpipeapi "github.com/turbot/flowpipe-sdk-go" ``` To use a proxy, set the environment variable `HTTP_PROXY`: ```golang os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port") ``` ## Configuration of Server URL Default configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification. ### Select Server Configuration For using other server than the one defined on index 0 set context value `sw.ContextServerIndex` of type `int`. ```golang ctx := context.WithValue(context.Background(), flowpipeapi.ContextServerIndex, 1) ``` ### Templated Server URL Templated server URL is formatted using default variables from configuration or from context value `sw.ContextServerVariables` of type `map[string]string`. ```golang ctx := context.WithValue(context.Background(), flowpipeapi.ContextServerVariables, map[string]string{ "basePath": "v2", }) ``` Note, enum values are always validated and all unused variables are silently ignored. ### URLs Configuration per Operation Each operation can use different server URL defined using `OperationServers` map in the `Configuration`. An operation is uniquely identified by `"{classname}Service.{nickname}"` string. Similar rules for overriding default operation server index and variables applies by using `sw.ContextOperationServerIndices` and `sw.ContextOperationServerVariables` context maps. ```golang ctx := context.WithValue(context.Background(), flowpipeapi.ContextOperationServerIndices, map[string]int{ "{classname}Service.{nickname}": 2, }) ctx = context.WithValue(context.Background(), flowpipeapi.ContextOperationServerVariables, map[string]map[string]string{ "{classname}Service.{nickname}": { "port": "8443", }, }) ``` ## Documentation for API Endpoints All URIs are relative to *https://localhost/api/v0* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- *IntegrationApi* | [**Get**](docs/IntegrationApi.md#get) | **Get** /integration/{integration_name} | Get integration *IntegrationApi* | [**List**](docs/IntegrationApi.md#list) | **Get** /integration | List integrations *ModApi* | [**Get**](docs/ModApi.md#get) | **Get** /mod/{mod_name} | Get mod *NotifierApi* | [**Get**](docs/NotifierApi.md#get) | **Get** /notifier/{notifier_name} | Get notifier *NotifierApi* | [**List**](docs/NotifierApi.md#list) | **Get** /notifier | List notifiers *PipelineApi* | [**Command**](docs/PipelineApi.md#command) | **Post** /pipeline/{pipeline_name}/command | Execute a pipeline command *PipelineApi* | [**Get**](docs/PipelineApi.md#get) | **Get** /pipeline/{pipeline_name} | Get pipeline *PipelineApi* | [**List**](docs/PipelineApi.md#list) | **Get** /pipeline | List pipelines *ProcessApi* | [**Get**](docs/ProcessApi.md#get) | **Get** /process/{process_id} | Get process *ProcessApi* | [**GetExecution**](docs/ProcessApi.md#getexecution) | **Get** /process/{process_id}/execution | Get process execution *ProcessApi* | [**GetLog**](docs/ProcessApi.md#getlog) | **Get** /process/{process_id}/log/process.json | Get process log *ProcessApi* | [**List**](docs/ProcessApi.md#list) | **Get** /process | List processs *TriggerApi* | [**Command**](docs/TriggerApi.md#command) | **Post** /trigger/{trigger_name}/command | Execute a trigger command *TriggerApi* | [**Get**](docs/TriggerApi.md#get) | **Get** /trigger/{trigger_name} | Get trigger *TriggerApi* | [**List**](docs/TriggerApi.md#list) | **Get** /trigger | List triggers *VariableApi* | [**Get**](docs/VariableApi.md#get) | **Get** /variable/{variable_name} | Get variable *VariableApi* | [**List**](docs/VariableApi.md#list) | **Get** /variable | List variables ## Documentation For Models - [CmdPipeline](docs/CmdPipeline.md) - [CmdTrigger](docs/CmdTrigger.md) - [EventEventLogImpl](docs/EventEventLogImpl.md) - [ExecutionExecution](docs/ExecutionExecution.md) - [ExecutionPipelineExecution](docs/ExecutionPipelineExecution.md) - [ExecutionStepExecution](docs/ExecutionStepExecution.md) - [ExecutionStepExecutionOutput](docs/ExecutionStepExecutionOutput.md) - [ExecutionStepExecutionStepForEach](docs/ExecutionStepExecutionStepForEach.md) - [ExecutionStepStatus](docs/ExecutionStepStatus.md) - [FlowpipeRequire](docs/FlowpipeRequire.md) - [FlowpipeResponseMetadata](docs/FlowpipeResponseMetadata.md) - [FlowpipeTriggerResponseMetadata](docs/FlowpipeTriggerResponseMetadata.md) - [FpIntegration](docs/FpIntegration.md) - [FpNotifier](docs/FpNotifier.md) - [FpNotify](docs/FpNotify.md) - [FpPipeline](docs/FpPipeline.md) - [FpPipelineParam](docs/FpPipelineParam.md) - [FpTrigger](docs/FpTrigger.md) - [FpTriggerPipeline](docs/FpTriggerPipeline.md) - [FpVariable](docs/FpVariable.md) - [HclPos](docs/HclPos.md) - [HclRange](docs/HclRange.md) - [HclRangeStart](docs/HclRangeStart.md) - [ListIntegrationResponse](docs/ListIntegrationResponse.md) - [ListNotifierResponse](docs/ListNotifierResponse.md) - [ListPipelineResponse](docs/ListPipelineResponse.md) - [ListProcessLogJSONResponse](docs/ListProcessLogJSONResponse.md) - [ListProcessResponse](docs/ListProcessResponse.md) - [ListTriggerResponse](docs/ListTriggerResponse.md) - [ListVariableResponse](docs/ListVariableResponse.md) - [Mod](docs/Mod.md) - [ModVersionConstraint](docs/ModVersionConstraint.md) - [ModconfigNextStepAction](docs/ModconfigNextStepAction.md) - [ModconfigOutput](docs/ModconfigOutput.md) - [ModconfigPipelineOutput](docs/ModconfigPipelineOutput.md) - [ModconfigStepError](docs/ModconfigStepError.md) - [ModconfigStepForEach](docs/ModconfigStepForEach.md) - [ModconfigStepLoop](docs/ModconfigStepLoop.md) - [ModconfigStepRetry](docs/ModconfigStepRetry.md) - [OpenGraph](docs/OpenGraph.md) - [PerrErrorDetailModel](docs/PerrErrorDetailModel.md) - [PerrErrorModel](docs/PerrErrorModel.md) - [PipelineExecutionResponse](docs/PipelineExecutionResponse.md) - [Process](docs/Process.md) - [Require](docs/Require.md) - [TriggerExecutionResponse](docs/TriggerExecutionResponse.md) ## Documentation For Authorization Authentication schemes defined for the API: ### ApiKeyAuth - **Type**: API key - **API key parameter name**: Authorization - **Location**: HTTP header Note, each API key must be added to a map of `map[string]APIKey` where the key is: Authorization and passed in as the auth context for each request. ## Documentation for Utility Methods Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it: * `PtrBool` * `PtrInt` * `PtrInt32` * `PtrInt64` * `PtrFloat` * `PtrFloat32` * `PtrFloat64` * `PtrString` * `PtrTime` ## Author [email protected]