workload

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2026 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 ContainerSpec

type ContainerSpec struct {
	Name           string                       `json:"name,omitempty"`
	Image          string                       `json:"image"`
	WorkingDir     string                       `json:"workingDir,omitempty"`
	Metrics        *ContainerSpecMetrics        `json:"metrics,omitempty"`
	Port           *float32                     `json:"port,omitempty"`
	Ports          []ContainerSpecPorts         `json:"ports,omitempty"`
	Memory         string                       `json:"memory,omitempty"`
	ReadinessProbe *ContainerSpecReadinessProbe `json:"readinessProbe,omitempty"`
	LivenessProbe  *ContainerSpecLivenessProbe  `json:"livenessProbe,omitempty"`
	Cpu            string                       `json:"cpu,omitempty"`
	MinCpu         string                       `json:"minCpu,omitempty"`
	MinMemory      string                       `json:"minMemory,omitempty"`
	Env            []env.EnvVar                 `json:"env,omitempty"`
	Gpu            *ContainerSpecGpu            `json:"gpu,omitempty"`
	InheritEnv     bool                         `json:"inheritEnv,omitempty"`
	Command        string                       `json:"command,omitempty"`
	Args           []string                     `json:"args,omitempty"`
	Lifecycle      *ContainerSpecLifecycle      `json:"lifecycle,omitempty"`
	Volumes        []volumeSpec.VolumeSpec      `json:"volumes,omitempty"`
}

type ContainerSpecGpu

type ContainerSpecGpu struct {
	Nvidia ContainerSpecGpuNvidia `json:"nvidia,omitempty"`
	Custom ContainerSpecGpuCustom `json:"custom,omitempty"`
}

type ContainerSpecGpuCustom added in v1.0.0

type ContainerSpecGpuCustom struct {
	Resource     string  `json:"resource"`
	RuntimeClass string  `json:"runtimeClass,omitempty"`
	Quantity     float32 `json:"quantity"`
}

type ContainerSpecGpuNvidia

type ContainerSpecGpuNvidia struct {
	Model    any     `json:"model,omitempty"`
	Quantity float32 `json:"quantity"`
}

type ContainerSpecLifecycle

type ContainerSpecLifecycle struct {
	PostStart ContainerSpecLifecyclePostStart `json:"postStart,omitempty"`
	PreStop   ContainerSpecLifecyclePreStop   `json:"preStop,omitempty"`
}

type ContainerSpecLifecyclePostStart

type ContainerSpecLifecyclePostStart struct {
	Exec ContainerSpecLifecyclePostStartExec `json:"exec,omitempty"`
}

type ContainerSpecLifecyclePostStartExec

type ContainerSpecLifecyclePostStartExec struct {
	Command []string `json:"command,omitempty"`
}

type ContainerSpecLifecyclePreStop

type ContainerSpecLifecyclePreStop struct {
	Exec ContainerSpecLifecyclePreStopExec `json:"exec,omitempty"`
}

type ContainerSpecLifecyclePreStopExec

type ContainerSpecLifecyclePreStopExec struct {
	Command []string `json:"command,omitempty"`
}

type ContainerSpecLivenessProbe

type ContainerSpecLivenessProbe struct {
	Exec                *ContainerSpecLivenessProbeExec      `json:"exec,omitempty"`
	Grpc                *ContainerSpecLivenessProbeGrpc      `json:"grpc,omitempty"`
	TcpSocket           *ContainerSpecLivenessProbeTcpSocket `json:"tcpSocket,omitempty"`
	HttpGet             *ContainerSpecLivenessProbeHttpGet   `json:"httpGet,omitempty"`
	InitialDelaySeconds float32                              `json:"initialDelaySeconds"`
	PeriodSeconds       float32                              `json:"periodSeconds"`
	TimeoutSeconds      float32                              `json:"timeoutSeconds"`
	SuccessThreshold    float32                              `json:"successThreshold"`
	FailureThreshold    float32                              `json:"failureThreshold"`
}

type ContainerSpecLivenessProbeExec

type ContainerSpecLivenessProbeExec struct {
	Command []string `json:"command,omitempty"`
}

type ContainerSpecLivenessProbeGrpc

type ContainerSpecLivenessProbeGrpc struct {
	Port float32 `json:"port"`
}

type ContainerSpecLivenessProbeHttpGet

type ContainerSpecLivenessProbeHttpGet struct {
	Path        string                                         `json:"path,omitempty"`
	Port        float32                                        `json:"port"`
	HttpHeaders []ContainerSpecLivenessProbeHttpGetHttpHeaders `json:"httpHeaders,omitempty"`
	Scheme      ContainerSpecLivenessProbeHttpGetScheme        `json:"scheme,omitempty"`
}

type ContainerSpecLivenessProbeHttpGetHttpHeaders

type ContainerSpecLivenessProbeHttpGetHttpHeaders struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type ContainerSpecLivenessProbeHttpGetScheme

type ContainerSpecLivenessProbeHttpGetScheme string
const (
	ContainerSpecLivenessProbeHttpGetSchemeHttp  ContainerSpecLivenessProbeHttpGetScheme = "HTTP"
	ContainerSpecLivenessProbeHttpGetSchemeHttps ContainerSpecLivenessProbeHttpGetScheme = "HTTPS"
)

type ContainerSpecLivenessProbeTcpSocket

type ContainerSpecLivenessProbeTcpSocket struct {
	Port float32 `json:"port"`
}

type ContainerSpecMetrics

type ContainerSpecMetrics struct {
	Port        float32      `json:"port"`
	Path        string       `json:"path"`
	DropMetrics []base.Regex `json:"dropMetrics,omitempty"`
}

type ContainerSpecPorts

type ContainerSpecPorts struct {
	Protocol ContainerSpecPortsProtocol `json:"protocol,omitempty"`
	Number   float32                    `json:"number"`
}

type ContainerSpecPortsProtocol

type ContainerSpecPortsProtocol string
const (
	ContainerSpecPortsProtocolHttp  ContainerSpecPortsProtocol = "http"
	ContainerSpecPortsProtocolHttp2 ContainerSpecPortsProtocol = "http2"
	ContainerSpecPortsProtocolGrpc  ContainerSpecPortsProtocol = "grpc"
	ContainerSpecPortsProtocolTcp   ContainerSpecPortsProtocol = "tcp"
)

type ContainerSpecReadinessProbe

type ContainerSpecReadinessProbe struct {
	Exec                *ContainerSpecReadinessProbeExec      `json:"exec,omitempty"`
	Grpc                *ContainerSpecReadinessProbeGrpc      `json:"grpc,omitempty"`
	TcpSocket           *ContainerSpecReadinessProbeTcpSocket `json:"tcpSocket,omitempty"`
	HttpGet             *ContainerSpecReadinessProbeHttpGet   `json:"httpGet,omitempty"`
	InitialDelaySeconds float32                               `json:"initialDelaySeconds"`
	PeriodSeconds       float32                               `json:"periodSeconds"`
	TimeoutSeconds      float32                               `json:"timeoutSeconds"`
	SuccessThreshold    float32                               `json:"successThreshold"`
	FailureThreshold    float32                               `json:"failureThreshold"`
}

type ContainerSpecReadinessProbeExec

type ContainerSpecReadinessProbeExec struct {
	Command []string `json:"command,omitempty"`
}

type ContainerSpecReadinessProbeGrpc

type ContainerSpecReadinessProbeGrpc struct {
	Port float32 `json:"port"`
}

type ContainerSpecReadinessProbeHttpGet

type ContainerSpecReadinessProbeHttpGet struct {
	Path        string                                          `json:"path,omitempty"`
	Port        float32                                         `json:"port"`
	HttpHeaders []ContainerSpecReadinessProbeHttpGetHttpHeaders `json:"httpHeaders,omitempty"`
	Scheme      ContainerSpecReadinessProbeHttpGetScheme        `json:"scheme,omitempty"`
}

type ContainerSpecReadinessProbeHttpGetHttpHeaders

type ContainerSpecReadinessProbeHttpGetHttpHeaders struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type ContainerSpecReadinessProbeHttpGetScheme

type ContainerSpecReadinessProbeHttpGetScheme string
const (
	ContainerSpecReadinessProbeHttpGetSchemeHttp  ContainerSpecReadinessProbeHttpGetScheme = "HTTP"
	ContainerSpecReadinessProbeHttpGetSchemeHttps ContainerSpecReadinessProbeHttpGetScheme = "HTTPS"
)

type ContainerSpecReadinessProbeTcpSocket

type ContainerSpecReadinessProbeTcpSocket struct {
	Port float32 `json:"port"`
}

type Cpu

type Cpu string

type Extras

type Extras struct {
	Affinity                  *any  `json:"affinity,omitempty"`
	Tolerations               []any `json:"tolerations,omitempty"`
	TopologySpreadConstraints []any `json:"topologySpreadConstraints,omitempty"`
}

type FirewallSpec

type FirewallSpec struct {
	External FirewallSpecExternal `json:"external,omitempty"`
	Internal FirewallSpecInternal `json:"internal,omitempty"`
}

type FirewallSpecExternal

type FirewallSpecExternal struct {
	InboundAllowCIDR      []string                                `json:"inboundAllowCIDR,omitempty"`
	InboundBlockedCIDR    []string                                `json:"inboundBlockedCIDR,omitempty"`
	OutboundAllowHostname []string                                `json:"outboundAllowHostname,omitempty"`
	OutboundAllowPort     []FirewallSpecExternalOutboundAllowPort `json:"outboundAllowPort,omitempty"`
	OutboundAllowCIDR     []string                                `json:"outboundAllowCIDR,omitempty"`
	OutboundBlockedCIDR   []string                                `json:"outboundBlockedCIDR,omitempty"`
	Http                  FirewallSpecExternalHttp                `json:"http,omitempty"`
}

type FirewallSpecExternalHttp added in v1.0.0

type FirewallSpecExternalHttp struct {
	InboundHeaderFilter []HeaderFilter `json:"inboundHeaderFilter,omitempty"`
}

type FirewallSpecExternalOutboundAllowPort

type FirewallSpecExternalOutboundAllowPort struct {
	Protocol FirewallSpecExternalOutboundAllowPortProtocol `json:"protocol,omitempty"`
	Number   float32                                       `json:"number"`
}

type FirewallSpecExternalOutboundAllowPortProtocol

type FirewallSpecExternalOutboundAllowPortProtocol string
const (
	FirewallSpecExternalOutboundAllowPortProtocolHttp  FirewallSpecExternalOutboundAllowPortProtocol = "http"
	FirewallSpecExternalOutboundAllowPortProtocolHttps FirewallSpecExternalOutboundAllowPortProtocol = "https"
	FirewallSpecExternalOutboundAllowPortProtocolTcp   FirewallSpecExternalOutboundAllowPortProtocol = "tcp"
)

type FirewallSpecInternal

type FirewallSpecInternal struct {
	InboundAllowType     FirewallSpecInternalInboundAllowType `json:"inboundAllowType,omitempty"`
	InboundAllowWorkload []string                             `json:"inboundAllowWorkload,omitempty"`
}

type FirewallSpecInternalInboundAllowType

type FirewallSpecInternalInboundAllowType string
const (
	FirewallSpecInternalInboundAllowTypeNone         FirewallSpecInternalInboundAllowType = "none"
	FirewallSpecInternalInboundAllowTypeSameGvc      FirewallSpecInternalInboundAllowType = "same-gvc"
	FirewallSpecInternalInboundAllowTypeSameOrg      FirewallSpecInternalInboundAllowType = "same-org"
	FirewallSpecInternalInboundAllowTypeWorkloadList FirewallSpecInternalInboundAllowType = "workload-list"
)

type GpuResource

type GpuResource struct {
	Nvidia GpuResourceNvidia `json:"nvidia,omitempty"`
	Custom GpuResourceCustom `json:"custom,omitempty"`
}

type GpuResourceCustom added in v1.0.0

type GpuResourceCustom struct {
	Resource     string  `json:"resource"`
	RuntimeClass string  `json:"runtimeClass,omitempty"`
	Quantity     float32 `json:"quantity"`
}

type GpuResourceNvidia

type GpuResourceNvidia struct {
	Model    any     `json:"model,omitempty"`
	Quantity float32 `json:"quantity"`
}

type HeaderFilter added in v1.0.0

type HeaderFilter struct {
	Key           string       `json:"key"`
	AllowedValues []base.Regex `json:"allowedValues,omitempty"`
	BlockedValues []base.Regex `json:"blockedValues,omitempty"`
}

type HealthCheckSpec

type HealthCheckSpec struct {
	Exec                *HealthCheckSpecExec      `json:"exec,omitempty"`
	Grpc                *HealthCheckSpecGrpc      `json:"grpc,omitempty"`
	TcpSocket           *HealthCheckSpecTcpSocket `json:"tcpSocket,omitempty"`
	HttpGet             *HealthCheckSpecHttpGet   `json:"httpGet,omitempty"`
	InitialDelaySeconds float32                   `json:"initialDelaySeconds"`
	PeriodSeconds       float32                   `json:"periodSeconds"`
	TimeoutSeconds      float32                   `json:"timeoutSeconds"`
	SuccessThreshold    float32                   `json:"successThreshold"`
	FailureThreshold    float32                   `json:"failureThreshold"`
}

type HealthCheckSpecExec

type HealthCheckSpecExec struct {
	Command []string `json:"command,omitempty"`
}

type HealthCheckSpecGrpc

type HealthCheckSpecGrpc struct {
	Port float32 `json:"port"`
}

type HealthCheckSpecHttpGet

type HealthCheckSpecHttpGet struct {
	Path        string                              `json:"path,omitempty"`
	Port        float32                             `json:"port"`
	HttpHeaders []HealthCheckSpecHttpGetHttpHeaders `json:"httpHeaders,omitempty"`
	Scheme      HealthCheckSpecHttpGetScheme        `json:"scheme,omitempty"`
}

type HealthCheckSpecHttpGetHttpHeaders

type HealthCheckSpecHttpGetHttpHeaders struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type HealthCheckSpecHttpGetScheme

type HealthCheckSpecHttpGetScheme string
const (
	HealthCheckSpecHttpGetSchemeHttp  HealthCheckSpecHttpGetScheme = "HTTP"
	HealthCheckSpecHttpGetSchemeHttps HealthCheckSpecHttpGetScheme = "HTTPS"
)

type HealthCheckSpecTcpSocket

type HealthCheckSpecTcpSocket struct {
	Port float32 `json:"port"`
}

type HealthCheckStatus

type HealthCheckStatus struct {
	Active      bool     `json:"active"`
	Success     bool     `json:"success,omitempty"`
	Code        *float32 `json:"code,omitempty"`
	Message     string   `json:"message,omitempty"`
	Failures    float32  `json:"failures"`
	Successes   float32  `json:"successes"`
	LastChecked string   `json:"lastChecked,omitempty"`
}

type JobSpec

type JobSpec struct {
	Schedule              ScheduleType             `json:"schedule"`
	ConcurrencyPolicy     JobSpecConcurrencyPolicy `json:"concurrencyPolicy,omitempty"`
	HistoryLimit          *float32                 `json:"historyLimit,omitempty"`
	RestartPolicy         JobSpecRestartPolicy     `json:"restartPolicy,omitempty"`
	ActiveDeadlineSeconds *float32                 `json:"activeDeadlineSeconds,omitempty"`
}

type JobSpecConcurrencyPolicy

type JobSpecConcurrencyPolicy string
const (
	JobSpecConcurrencyPolicyForbid  JobSpecConcurrencyPolicy = "Forbid"
	JobSpecConcurrencyPolicyReplace JobSpecConcurrencyPolicy = "Replace"
	JobSpecConcurrencyPolicyAllow   JobSpecConcurrencyPolicy = "Allow"
)

type JobSpecRestartPolicy

type JobSpecRestartPolicy string
const (
	JobSpecRestartPolicyOnFailure JobSpecRestartPolicy = "OnFailure"
	JobSpecRestartPolicyNever     JobSpecRestartPolicy = "Never"
)

type LoadBalancerPort

type LoadBalancerPort struct {
	ExternalPort  float32                  `json:"externalPort"`
	Protocol      LoadBalancerPortProtocol `json:"protocol,omitempty"`
	Scheme        LoadBalancerPortScheme   `json:"scheme,omitempty"`
	ContainerPort float32                  `json:"containerPort"`
}

type LoadBalancerPortProtocol

type LoadBalancerPortProtocol string
const (
	LoadBalancerPortProtocolTcp LoadBalancerPortProtocol = "TCP"
	LoadBalancerPortProtocolUdp LoadBalancerPortProtocol = "UDP"
)

type LoadBalancerPortScheme

type LoadBalancerPortScheme string
const (
	LoadBalancerPortSchemeHttp  LoadBalancerPortScheme = "http"
	LoadBalancerPortSchemeTcp   LoadBalancerPortScheme = "tcp"
	LoadBalancerPortSchemeHttps LoadBalancerPortScheme = "https"
	LoadBalancerPortSchemeWs    LoadBalancerPortScheme = "ws"
	LoadBalancerPortSchemeWss   LoadBalancerPortScheme = "wss"
)

type LoadBalancerSpec

type LoadBalancerSpec struct {
	Direct        LoadBalancerSpecDirect      `json:"direct,omitempty"`
	GeoLocation   LoadBalancerSpecGeoLocation `json:"geoLocation,omitempty"`
	ReplicaDirect bool                        `json:"replicaDirect,omitempty"`
}

type LoadBalancerSpecDirect

type LoadBalancerSpecDirect struct {
	Enabled bool               `json:"enabled"`
	Ports   []LoadBalancerPort `json:"ports,omitempty"`
	IpSet   *string            `json:"ipSet,omitempty"`
}

type LoadBalancerSpecGeoLocation

type LoadBalancerSpecGeoLocation struct {
	Enabled bool                                `json:"enabled,omitempty"`
	Headers *LoadBalancerSpecGeoLocationHeaders `json:"headers,omitempty"`
}

type LoadBalancerSpecGeoLocationHeaders

type LoadBalancerSpecGeoLocationHeaders struct {
	Asn     string `json:"asn,omitempty"`
	City    string `json:"city,omitempty"`
	Country string `json:"country,omitempty"`
	Region  string `json:"region,omitempty"`
}

type LoadBalancerStatus

type LoadBalancerStatus struct {
	Origin string `json:"origin,omitempty"`
	Url    string `json:"url,omitempty"`
}

type Memory

type Memory string

type PodZoneMap added in v1.0.0

type PodZoneMap map[string]string

type RequestRetryPolicy

type RequestRetryPolicy struct {
	Attempts float32  `json:"attempts"`
	RetryOn  []string `json:"retryOn,omitempty"`
}

type ResolvedImage

type ResolvedImage struct {
	Digest    string                   `json:"digest,omitempty"`
	Manifests []ResolvedImageManifests `json:"manifests,omitempty"`
}

type ResolvedImageManifests

type ResolvedImageManifests struct {
	Image     string                         `json:"image"`
	MediaType string                         `json:"mediaType"`
	Digest    string                         `json:"digest"`
	Platform  ResolvedImageManifestsPlatform `json:"platform,omitempty"`
}

type ResolvedImageManifestsPlatform

type ResolvedImageManifestsPlatform map[string]string

type ResolvedImages

type ResolvedImages struct {
	ResolvedForVersion *float32        `json:"resolvedForVersion,omitempty"`
	ResolvedAt         string          `json:"resolvedAt,omitempty"`
	ErrorMessages      []string        `json:"errorMessages,omitempty"`
	NextRetryAt        string          `json:"nextRetryAt,omitempty"`
	Images             []ResolvedImage `json:"images,omitempty"`
}

type RolloutOptions

type RolloutOptions struct {
	MinReadySeconds               float32                     `json:"minReadySeconds"`
	MaxUnavailableReplicas        string                      `json:"maxUnavailableReplicas,omitempty"`
	MaxSurgeReplicas              string                      `json:"maxSurgeReplicas,omitempty"`
	ScalingPolicy                 RolloutOptionsScalingPolicy `json:"scalingPolicy,omitempty"`
	TerminationGracePeriodSeconds float32                     `json:"terminationGracePeriodSeconds"`
}

type RolloutOptionsScalingPolicy

type RolloutOptionsScalingPolicy string
const (
	RolloutOptionsScalingPolicyOrderedReady RolloutOptionsScalingPolicy = "OrderedReady"
	RolloutOptionsScalingPolicyParallel     RolloutOptionsScalingPolicy = "Parallel"
)

type RolloutOptionsStateful

type RolloutOptionsStateful struct {
	MinReadySeconds               float32                             `json:"minReadySeconds"`
	MaxSurgeReplicas              string                              `json:"maxSurgeReplicas,omitempty"`
	ScalingPolicy                 RolloutOptionsStatefulScalingPolicy `json:"scalingPolicy,omitempty"`
	TerminationGracePeriodSeconds float32                             `json:"terminationGracePeriodSeconds"`
	MaxUnavailableReplicas        string                              `json:"maxUnavailableReplicas,omitempty"`
}

type RolloutOptionsStatefulScalingPolicy

type RolloutOptionsStatefulScalingPolicy string
const (
	RolloutOptionsStatefulScalingPolicyOrderedReady RolloutOptionsStatefulScalingPolicy = "OrderedReady"
	RolloutOptionsStatefulScalingPolicyParallel     RolloutOptionsStatefulScalingPolicy = "Parallel"
)

type ScheduleType

type ScheduleType string

type SecurityOptions

type SecurityOptions struct {
	FilesystemGroupId *float32 `json:"filesystemGroupId,omitempty"`
	RunAsUser         *float32 `json:"runAsUser,omitempty"`
}

type Workload

type Workload struct {
	Id           string         `json:"id,omitempty"`
	Kind         base.Kind      `json:"kind,omitempty"`
	Version      float32        `json:"version"`
	Description  string         `json:"description,omitempty"`
	Tags         WorkloadTags   `json:"tags,omitempty"`
	Created      string         `json:"created,omitempty"`
	LastModified string         `json:"lastModified,omitempty"`
	Links        base.Links     `json:"links,omitempty"`
	Name         string         `json:"name,omitempty"`
	Gvc          string         `json:"gvc,omitempty"`
	Spec         WorkloadSpec   `json:"spec"`
	Status       WorkloadStatus `json:"status,omitempty"`
}

type WorkloadConfig

type WorkloadConfig struct {
	Scheduling         WorkloadConfigScheduling         `json:"scheduling,omitempty"`
	ThinProvision      *float32                         `json:"thinProvision,omitempty"`
	PodZoneMap         WorkloadConfigPodZoneMap         `json:"podZoneMap,omitempty"`
	LocationPodZoneMap WorkloadConfigLocationPodZoneMap `json:"locationPodZoneMap,omitempty"`
	Proxy              *WorkloadConfigProxy             `json:"proxy,omitempty"`
	Subsets            *WorkloadConfigSubsets           `json:"subsets,omitempty"`
}

type WorkloadConfigLocationPodZoneMap added in v1.0.0

type WorkloadConfigLocationPodZoneMap map[string]PodZoneMap

type WorkloadConfigPodZoneMap added in v1.0.0

type WorkloadConfigPodZoneMap map[string]string

type WorkloadConfigProxy added in v1.0.0

type WorkloadConfigProxy struct {
	MinCpu *float32 `json:"minCpu,omitempty"`
}

type WorkloadConfigScheduling

type WorkloadConfigScheduling struct {
	Fingerprint string   `json:"fingerprint,omitempty"`
	Version     *float32 `json:"version,omitempty"`
}

type WorkloadConfigSubsets added in v1.0.0

type WorkloadConfigSubsets struct {
	Enabled bool `json:"enabled,omitempty"`
}

type WorkloadSpec

type WorkloadSpec struct {
	Type               WorkloadType                    `json:"type,omitempty"`
	IdentityLink       *string                         `json:"identityLink,omitempty"`
	Containers         []ContainerSpec                 `json:"containers"`
	FirewallConfig     *WorkloadSpecFirewallConfig     `json:"firewallConfig,omitempty"`
	DefaultOptions     workloadOptions.DefaultOptions  `json:"defaultOptions,omitempty"`
	LocalOptions       workloadOptions.LocalOptions    `json:"localOptions,omitempty"`
	Job                *WorkloadSpecJob                `json:"job,omitempty"`
	Sidecar            WorkloadSpecSidecar             `json:"sidecar,omitempty"`
	SupportDynamicTags bool                            `json:"supportDynamicTags,omitempty"`
	RolloutOptions     *any                            `json:"rolloutOptions,omitempty"`
	SecurityOptions    *WorkloadSpecSecurityOptions    `json:"securityOptions,omitempty"`
	LoadBalancer       *WorkloadSpecLoadBalancer       `json:"loadBalancer,omitempty"`
	Extras             *WorkloadSpecExtras             `json:"extras,omitempty"`
	RequestRetryPolicy *WorkloadSpecRequestRetryPolicy `json:"requestRetryPolicy,omitempty"`
}

type WorkloadSpecExtras

type WorkloadSpecExtras struct {
	Affinity                  *any  `json:"affinity,omitempty"`
	Tolerations               []any `json:"tolerations,omitempty"`
	TopologySpreadConstraints []any `json:"topologySpreadConstraints,omitempty"`
}

type WorkloadSpecFirewallConfig

type WorkloadSpecFirewallConfig struct {
	External WorkloadSpecFirewallConfigExternal `json:"external,omitempty"`
	Internal WorkloadSpecFirewallConfigInternal `json:"internal,omitempty"`
}

type WorkloadSpecFirewallConfigExternal

type WorkloadSpecFirewallConfigExternal struct {
	InboundAllowCIDR      []string                                              `json:"inboundAllowCIDR,omitempty"`
	InboundBlockedCIDR    []string                                              `json:"inboundBlockedCIDR,omitempty"`
	OutboundAllowHostname []string                                              `json:"outboundAllowHostname,omitempty"`
	OutboundAllowPort     []WorkloadSpecFirewallConfigExternalOutboundAllowPort `json:"outboundAllowPort,omitempty"`
	OutboundAllowCIDR     []string                                              `json:"outboundAllowCIDR,omitempty"`
	OutboundBlockedCIDR   []string                                              `json:"outboundBlockedCIDR,omitempty"`
	Http                  WorkloadSpecFirewallConfigExternalHttp                `json:"http,omitempty"`
}

type WorkloadSpecFirewallConfigExternalHttp added in v1.0.0

type WorkloadSpecFirewallConfigExternalHttp struct {
	InboundHeaderFilter []HeaderFilter `json:"inboundHeaderFilter,omitempty"`
}

type WorkloadSpecFirewallConfigExternalOutboundAllowPort

type WorkloadSpecFirewallConfigExternalOutboundAllowPort struct {
	Protocol WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocol `json:"protocol,omitempty"`
	Number   float32                                                     `json:"number"`
}

type WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocol

type WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocol string
const (
	WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocolHttp  WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocol = "http"
	WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocolHttps WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocol = "https"
	WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocolTcp   WorkloadSpecFirewallConfigExternalOutboundAllowPortProtocol = "tcp"
)

type WorkloadSpecFirewallConfigInternal

type WorkloadSpecFirewallConfigInternal struct {
	InboundAllowType     WorkloadSpecFirewallConfigInternalInboundAllowType `json:"inboundAllowType,omitempty"`
	InboundAllowWorkload []string                                           `json:"inboundAllowWorkload,omitempty"`
}

type WorkloadSpecFirewallConfigInternalInboundAllowType

type WorkloadSpecFirewallConfigInternalInboundAllowType string
const (
	WorkloadSpecFirewallConfigInternalInboundAllowTypeNone         WorkloadSpecFirewallConfigInternalInboundAllowType = "none"
	WorkloadSpecFirewallConfigInternalInboundAllowTypeSameGvc      WorkloadSpecFirewallConfigInternalInboundAllowType = "same-gvc"
	WorkloadSpecFirewallConfigInternalInboundAllowTypeSameOrg      WorkloadSpecFirewallConfigInternalInboundAllowType = "same-org"
	WorkloadSpecFirewallConfigInternalInboundAllowTypeWorkloadList WorkloadSpecFirewallConfigInternalInboundAllowType = "workload-list"
)

type WorkloadSpecJob

type WorkloadSpecJob struct {
	Schedule              ScheduleType                     `json:"schedule"`
	ConcurrencyPolicy     WorkloadSpecJobConcurrencyPolicy `json:"concurrencyPolicy,omitempty"`
	HistoryLimit          *float32                         `json:"historyLimit,omitempty"`
	RestartPolicy         WorkloadSpecJobRestartPolicy     `json:"restartPolicy,omitempty"`
	ActiveDeadlineSeconds *float32                         `json:"activeDeadlineSeconds,omitempty"`
}

type WorkloadSpecJobConcurrencyPolicy

type WorkloadSpecJobConcurrencyPolicy string
const (
	WorkloadSpecJobConcurrencyPolicyForbid  WorkloadSpecJobConcurrencyPolicy = "Forbid"
	WorkloadSpecJobConcurrencyPolicyReplace WorkloadSpecJobConcurrencyPolicy = "Replace"
	WorkloadSpecJobConcurrencyPolicyAllow   WorkloadSpecJobConcurrencyPolicy = "Allow"
)

type WorkloadSpecJobRestartPolicy

type WorkloadSpecJobRestartPolicy string
const (
	WorkloadSpecJobRestartPolicyOnFailure WorkloadSpecJobRestartPolicy = "OnFailure"
	WorkloadSpecJobRestartPolicyNever     WorkloadSpecJobRestartPolicy = "Never"
)

type WorkloadSpecLoadBalancer

type WorkloadSpecLoadBalancer struct {
	Direct        WorkloadSpecLoadBalancerDirect      `json:"direct,omitempty"`
	GeoLocation   WorkloadSpecLoadBalancerGeoLocation `json:"geoLocation,omitempty"`
	ReplicaDirect bool                                `json:"replicaDirect,omitempty"`
}

type WorkloadSpecLoadBalancerDirect

type WorkloadSpecLoadBalancerDirect struct {
	Enabled bool               `json:"enabled"`
	Ports   []LoadBalancerPort `json:"ports,omitempty"`
	IpSet   *string            `json:"ipSet,omitempty"`
}

type WorkloadSpecLoadBalancerGeoLocation

type WorkloadSpecLoadBalancerGeoLocation struct {
	Enabled bool                                        `json:"enabled,omitempty"`
	Headers *WorkloadSpecLoadBalancerGeoLocationHeaders `json:"headers,omitempty"`
}

type WorkloadSpecLoadBalancerGeoLocationHeaders

type WorkloadSpecLoadBalancerGeoLocationHeaders struct {
	Asn     string `json:"asn,omitempty"`
	City    string `json:"city,omitempty"`
	Country string `json:"country,omitempty"`
	Region  string `json:"region,omitempty"`
}

type WorkloadSpecRequestRetryPolicy

type WorkloadSpecRequestRetryPolicy struct {
	Attempts float32  `json:"attempts"`
	RetryOn  []string `json:"retryOn,omitempty"`
}

type WorkloadSpecSecurityOptions

type WorkloadSpecSecurityOptions struct {
	FilesystemGroupId *float32 `json:"filesystemGroupId,omitempty"`
	RunAsUser         *float32 `json:"runAsUser,omitempty"`
}

type WorkloadSpecSidecar

type WorkloadSpecSidecar struct {
	Envoy WorkloadSpecSidecarEnvoy `json:"envoy,omitempty"`
}

type WorkloadSpecSidecarEnvoy added in v1.0.0

type WorkloadSpecSidecarEnvoy struct {
	AccessLog            []envoyAccessLog.AccessLog          `json:"accessLog,omitempty"`
	Clusters             []envoyCluster.Cluster              `json:"clusters,omitempty"`
	ExcludedExternalAuth []envoyExcExtAuth.ExcExtAuth        `json:"excludedExternalAuth,omitempty"`
	ExcludedRateLimit    []envoyExcExtAuth.ExcludedRateLimit `json:"excludedRateLimit,omitempty"`
	Http                 []envoyHttp.HttpFilter              `json:"http,omitempty"`
	Network              []any                               `json:"network,omitempty"`
	Volumes              []volumeSpec.VolumeSpec             `json:"volumes,omitempty"`
}

type WorkloadStatus

type WorkloadStatus struct {
	ParentId             string                       `json:"parentId,omitempty"`
	CanonicalEndpoint    string                       `json:"canonicalEndpoint,omitempty"`
	Endpoint             string                       `json:"endpoint,omitempty"`
	InternalName         string                       `json:"internalName,omitempty"`
	ReplicaInternalNames []string                     `json:"replicaInternalNames,omitempty"`
	HealthCheck          WorkloadStatusHealthCheck    `json:"healthCheck,omitempty"`
	CurrentReplicaCount  float32                      `json:"currentReplicaCount"`
	ResolvedImages       WorkloadStatusResolvedImages `json:"resolvedImages,omitempty"`
	LoadBalancer         []LoadBalancerStatus         `json:"loadBalancer,omitempty"`
}

type WorkloadStatusHealthCheck added in v1.0.0

type WorkloadStatusHealthCheck struct {
	Active      bool     `json:"active"`
	Success     bool     `json:"success,omitempty"`
	Code        *float32 `json:"code,omitempty"`
	Message     string   `json:"message,omitempty"`
	Failures    float32  `json:"failures"`
	Successes   float32  `json:"successes"`
	LastChecked string   `json:"lastChecked,omitempty"`
}

type WorkloadStatusResolvedImages added in v1.0.0

type WorkloadStatusResolvedImages struct {
	ResolvedForVersion *float32        `json:"resolvedForVersion,omitempty"`
	ResolvedAt         string          `json:"resolvedAt,omitempty"`
	ErrorMessages      []string        `json:"errorMessages,omitempty"`
	NextRetryAt        string          `json:"nextRetryAt,omitempty"`
	Images             []ResolvedImage `json:"images,omitempty"`
}

type WorkloadTags added in v1.0.0

type WorkloadTags map[string]any

type WorkloadType added in v1.0.0

type WorkloadType string
const (
	WorkloadTypeServerless WorkloadType = "serverless"
	WorkloadTypeStandard   WorkloadType = "standard"
	WorkloadTypeCron       WorkloadType = "cron"
	WorkloadTypeStateful   WorkloadType = "stateful"
)

Jump to

Keyboard shortcuts

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