upgrade go client to latest api spec using openapi-generator 5.x (#10)

* update go client with latest openapi spec and openapi generator 5.x

* update example and test to use new API

* add golang 1.16 to test matrix
228 files changed
tree: 8ca54968ba5f08c1f93f4777cbf4d9c3a5b6676f
  1. .github/
  2. airflow/
  3. license-templates/
  4. .asf.yaml
  5. .pre-commit-config.yaml
  6. client_test.go
  7. go.mod
  8. go.sum
  9. README.md
README.md

Airflow Go client

Go Airflow OpenAPI client generated from openapi spec.

Usage

package main

import (
	"context"
	"fmt"
	"github.com/apache/airflow-client-go/airflow"
)

func main() {
	conf := airflow.NewConfiguration()
	conf.Host = "localhost:8080"
	conf.Scheme = "http"
	cli := airflow.NewAPIClient(conf)

	cred := airflow.BasicAuth{
		UserName: "username",
		Password: "password",
	}
	ctx := context.WithValue(context.Background(), airflow.ContextBasicAuth, cred)

	variable, _, err := cli.VariableApi.GetVariable(ctx, "foo").Execute()
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(variable)
	}
}

See README for full client API documentation.

Release process

Go client is versioned using semantic import versioning.

To release a new version 1.x.y, simply push a new tag to this repo named airflow/v1.x.y.

Major version upgrade requires changing package import path based on semantic import versioning, which needs to be done manually.