tcawsprovisionerevents

package
v20.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2019 License: MPL-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Exchanges from the provisioner... more docs later

See: https://docs.taskcluster.net/reference/core/aws-provisioner/exchanges

How to use this package

This package is designed to sit on top of http://godoc.org/github.com/taskcluster/pulse-go/pulse. Please read the pulse package overview to get an understanding of how the pulse client is implemented in go.

This package provides two things in addition to the basic pulse package: structured types for unmarshaling pulse message bodies into, and custom Binding interfaces, for defining the fixed strings for task cluster exchange names, and routing keys as structured types.

For example, when specifying a binding, rather than using:

pulse.Bind(
	"*.*.*.*.*.*.gaia.#",
	"exchange/taskcluster-queue/v1/task-defined",
)

You can rather use:

queueevents.TaskDefined{WorkerType: "gaia"}

In addition, this means that you will also get objects in your callback method like *queueevents.TaskDefinedMessage rather than just interface{}.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type WorkerTypeCreated

type WorkerTypeCreated struct {
	RoutingKeyKind string `mwords:"*"`
	WorkerType     string `mwords:"*"`
	Reserved       string `mwords:"#"`
}

When a new `workerType` is created a message will be published to this exchange.

See https://docs.taskcluster.net/reference/core/aws-provisioner/exchanges#workerTypeCreated

func (WorkerTypeCreated) ExchangeName

func (binding WorkerTypeCreated) ExchangeName() string

func (WorkerTypeCreated) NewPayloadObject

func (binding WorkerTypeCreated) NewPayloadObject() interface{}

func (WorkerTypeCreated) RoutingKey

func (binding WorkerTypeCreated) RoutingKey() string

type WorkerTypeMessage

type WorkerTypeMessage struct {

	// See http://schemas.taskcluster.net/aws-provisioner/v1/worker-type-message.json#/properties/version
	Version float64 `json:"version"`

	// Name of the worker type which was created
	//
	// See http://schemas.taskcluster.net/aws-provisioner/v1/worker-type-message.json#/properties/workerType
	WorkerType string `json:"workerType"`
}

Message reporting that an action occured to a worker type

See http://schemas.taskcluster.net/aws-provisioner/v1/worker-type-message.json#

type WorkerTypeRemoved

type WorkerTypeRemoved struct {
	RoutingKeyKind string `mwords:"*"`
	WorkerType     string `mwords:"*"`
	Reserved       string `mwords:"#"`
}

When a `workerType` is removed a message will be published to this exchange.

See https://docs.taskcluster.net/reference/core/aws-provisioner/exchanges#workerTypeRemoved

func (WorkerTypeRemoved) ExchangeName

func (binding WorkerTypeRemoved) ExchangeName() string

func (WorkerTypeRemoved) NewPayloadObject

func (binding WorkerTypeRemoved) NewPayloadObject() interface{}

func (WorkerTypeRemoved) RoutingKey

func (binding WorkerTypeRemoved) RoutingKey() string

type WorkerTypeUpdated

type WorkerTypeUpdated struct {
	RoutingKeyKind string `mwords:"*"`
	WorkerType     string `mwords:"*"`
	Reserved       string `mwords:"#"`
}

When a `workerType` is updated a message will be published to this exchange.

See https://docs.taskcluster.net/reference/core/aws-provisioner/exchanges#workerTypeUpdated

func (WorkerTypeUpdated) ExchangeName

func (binding WorkerTypeUpdated) ExchangeName() string

func (WorkerTypeUpdated) NewPayloadObject

func (binding WorkerTypeUpdated) NewPayloadObject() interface{}

func (WorkerTypeUpdated) RoutingKey

func (binding WorkerTypeUpdated) RoutingKey() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL