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