executionspace

package
v0.0.0-...-44c4069 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Copyright Axis Communications AB.

For a full list of individual contributors, please see the commit history.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright Axis Communications AB.

For a full list of individual contributors, please see the commit history.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CheckoutStatus

type CheckoutStatus string
const (
	Pending CheckoutStatus = "PENDING"
	Failed  CheckoutStatus = "FAILED"
	Done    CheckoutStatus = "DONE"
)

type Data

type Data struct {
	ID uuid.UUID `json:"id"`
}

type ExecutionSpace

type ExecutionSpace struct {
	ID          uuid.UUID      `json:"id"`
	Executors   []ExecutorSpec `json:"execution_spaces"`
	References  []string       `json:"references"`
	Status      CheckoutStatus `json:"status"`
	Description string         `json:"description"`
}

func Load

func Load(r io.Reader) (*ExecutionSpace, error)

Load loads an ExecutionSpace from an io Reader

func New

func New(id uuid.UUID) *ExecutionSpace

New creates a new ExecutionSpace

func (*ExecutionSpace) Add

func (e *ExecutionSpace) Add(executor ExecutorSpec)

Add adds a new executor to an execution space

func (ExecutionSpace) Fail

func (e ExecutionSpace) Fail(w io.Writer, err error) error

Fail writes a failure message to an io Writer

func (ExecutionSpace) Save

func (e ExecutionSpace) Save(w io.Writer) error

Save saves an execution space to an io Writer

type ExecutorSpec

type ExecutorSpec struct {
	Request      Request      `json:"request"`
	Instructions Instructions `json:"instructions"`
	ID           uuid.UUID    `json:"id"`
	BuildID      string
}

func LoadExecutorSpec

func LoadExecutorSpec(r io.Reader) (*ExecutorSpec, error)

LoadExecutorSpec loads an ExecutorSpec from an io Reader

func LoadExecutorSpecs

func LoadExecutorSpecs(r io.Reader) ([]ExecutorSpec, error)

LoadExecutorSpecs loads multiple executors from a single io Reader

func NewExecutorSpec

func NewExecutorSpec(url string, etosIdentifier string, testRunner string, environment map[string]string, otelCtx context.Context) ExecutorSpec

NewExecutorSpec creates a new ExecutorSpec

func (ExecutorSpec) Delete

func (e ExecutorSpec) Delete(w io.Writer) error

Delete deletes an executor from an io Writer

func (ExecutorSpec) Save

func (e ExecutorSpec) Save(w io.Writer) error

Save saves an execution space to an io Writer

type Instructions

type Instructions struct {
	Image       string            `json:"image"`
	Environment map[string]string `json:"environment"`
	Parameters  map[string]string `json:"parameters"`
	Identifier  uuid.UUID         `json:"identifier"`
}

type Request

type Request struct {
	URL     string            `json:"url"`
	Method  string            `json:"method"`
	Data    Data              `json:"json"`
	Headers map[string]string `json:"headers"`
	Timeout int               `json:"timeout"`
}

Jump to

Keyboard shortcuts

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