lib

package
v3.1.11+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Timeout   time.Duration
	URL       string
	UserEmail string
	AppID     string
}

Config is the configuration struct for Marathon http client.

type CreateJobPayload

type CreateJobPayload struct {
	Localized        bool        `json:"localized"`
	ExpiresAt        int64       `json:"expiresAt"`
	StartsAt         int64       `json:"startsAt"`
	Context          JSON        `json:"context"`
	Service          string      `json:"service"`
	Filters          JSON        `json:"filters"`
	Metadata         JSON        `json:"metadata"`
	CSVPath          string      `json:"csvPath"`
	PastTimeStrategy interface{} `json:"pastTimeStrategy"`
	ControlGroup     float64     `json:"controlGroup"`
}

CreateJobPayload contains the parameters for CreateJob method

type JSON

type JSON map[string]interface{}

JSON is a generic json map

type Job

type Job struct {
	ID                  string  `json:"id"`
	TotalBatches        int     `json:"totalBatches"`
	CompletedBatches    int     `json:"completedBatches"`
	TotalUsers          int     `json:"totalUsers"`
	CompletedUsers      int     `json:"completedUsers"`
	CompletedTokens     int     `json:"completedTokens"`
	DBPageSize          int     `json:"dbPageSize"`
	Localized           bool    `json:"localized"`
	CompletedAt         int64   `json:"completedAt"`
	ExpiresAt           int64   `json:"expiresAt"`
	StartsAt            int64   `json:"startsAt"`
	Context             JSON    `json:"context"`
	Service             string  `json:"service"`
	Filters             JSON    `json:"filters"`
	Metadata            JSON    `json:"metadata"`
	CSVPath             string  `json:"csvPath"`
	TemplateName        string  `json:"templateName"`
	PastTimeStrategy    string  `json:"pastTimeStrategy"`
	Status              string  `json:"status"`
	AppID               string  `json:"appId"`
	CreatedBy           string  `json:"createdBy"`
	CreatedAt           int64   `json:"createdAt"`
	UpdatedAt           int64   `json:"updatedAt"`
	ControlGroup        float64 `json:"controlGroup"`
	ControlGroupCsvPath string  `json:"controlGroupCsvPath"`
}

Job contains job information

type Marathon

type Marathon struct {
	// contains filtered or unexported fields
}

Marathon is the marathon client. Implements MarathonInterface.

func NewMarathon

func NewMarathon(config *Config) *Marathon

NewMarathon returns a new Marathon lib

func (*Marathon) CreateJob

func (m *Marathon) CreateJob(
	ctx context.Context,
	template string,
	payload *CreateJobPayload,
) (*Job, error)

CreateJob access Marathon API to create a job using template and payload.

func (*Marathon) ListJobs

func (m *Marathon) ListJobs(
	ctx context.Context,
	template string,
) ([]*Job, error)

ListJobs access Marathon API to list jobs of template.

type MarathonInterface

type MarathonInterface interface {
	CreateJob(
		ctx context.Context,
		template string,
		payload *CreateJobPayload,
	) (*Job, error)

	ListJobs(
		ctx context.Context,
		template string,
	) ([]*Job, error)
}

MarathonInterface defines the interface of marathon client to access the API.

type RequestError

type RequestError struct {
	// contains filtered or unexported fields
}

RequestError contains code and body of a request that failed

func (*RequestError) Error

func (r *RequestError) Error() string

func (*RequestError) Status

func (r *RequestError) Status() int

Status returns the status code of the error

Jump to

Keyboard shortcuts

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