Skip to content

A package to reduce boilerplate when writing custom Concourse Resources.

License

Notifications You must be signed in to change notification settings

crhntr/resource

Repository files navigation

Concourse Resource Boilerplate Go Reference

A package to reduce boilerplate when writing custom Concourse Resource Types.

Start with this

package main

import (
	"context"
	"log"
	"os"

	"github.com/crhntr/resource"
)

func main() {
	cmd := resource.Run(get, put, check)
	if err := cmd(os.Stdout, os.Stderr, os.Stdin, os.Args); err != nil {
		log.Fatal(err)
	}
}

type (
	ResourceParams struct{}
	GetParams      struct{}
	PutParams      struct{}
	Version        struct{}
)

func get(context.Context, *log.Logger, ResourceParams, GetParams, Version, string) ([]resource.MetadataField, error) {
	panic("not implemented")
}

func put(context.Context, *log.Logger, ResourceParams, PutParams, string) (Version, []resource.MetadataField, error) {
	panic("not implemented")
}

func check(context.Context, *log.Logger, ResourceParams, Version) ([]Version, error) {
	panic("not implemented")
}

About

A package to reduce boilerplate when writing custom Concourse Resources.

Topics

Resources

License

Stars

Watchers

Forks

Languages