Documentation
¶
Overview ¶
+threeport-sdk route-exclude
These objects are retired from the Threeport API. They remain for reference in database schema migrations.
Index ¶
- Constants
- Variables
- func InitModuleRouter(db *gorm.DB, e *echo.Echo) error
- func SupportedAwsRelationalDatabaseEngineVersions(engine string) []string
- func SupportedAwsRelationalDatabaseEngines() []string
- type AttachedObjectReference
- func (aor *AttachedObjectReference) DecodeNotifObject(object interface{}) error
- func (aor *AttachedObjectReference) GetId() uint
- func (aor *AttachedObjectReference) GetType() string
- func (aor *AttachedObjectReference) GetVersion() string
- func (aor *AttachedObjectReference) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (AttachedObjectReference) TableName() string
- type AwsAccount
- func (a *AwsAccount) BeforeCreate(tx *gorm.DB) error
- func (a *AwsAccount) BeforeUpdate(tx *gorm.DB) error
- func (aa *AwsAccount) DecodeNotifObject(object interface{}) error
- func (aa *AwsAccount) GetId() uint
- func (aa *AwsAccount) GetType() string
- func (aa *AwsAccount) GetVersion() string
- func (aa *AwsAccount) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (AwsAccount) TableName() string
- type AwsEksKubernetesRuntimeDefinition
- func (aekrd *AwsEksKubernetesRuntimeDefinition) DecodeNotifObject(object interface{}) error
- func (aekrd *AwsEksKubernetesRuntimeDefinition) GetId() uint
- func (aekrd *AwsEksKubernetesRuntimeDefinition) GetType() string
- func (aekrd *AwsEksKubernetesRuntimeDefinition) GetVersion() string
- func (aekrd *AwsEksKubernetesRuntimeDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (AwsEksKubernetesRuntimeDefinition) TableName() string
- type AwsEksKubernetesRuntimeInstance
- func (aekri *AwsEksKubernetesRuntimeInstance) DecodeNotifObject(object interface{}) error
- func (aekri *AwsEksKubernetesRuntimeInstance) GetId() uint
- func (aekri *AwsEksKubernetesRuntimeInstance) GetType() string
- func (aekri *AwsEksKubernetesRuntimeInstance) GetVersion() string
- func (aekri *AwsEksKubernetesRuntimeInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (aekri *AwsEksKubernetesRuntimeInstance) ScheduledForDeletion() *time.Time
- func (AwsEksKubernetesRuntimeInstance) TableName() string
- type AwsObjectStorageBucketDefinition
- func (aosbd *AwsObjectStorageBucketDefinition) DecodeNotifObject(object interface{}) error
- func (aosbd *AwsObjectStorageBucketDefinition) GetId() uint
- func (aosbd *AwsObjectStorageBucketDefinition) GetType() string
- func (aosbd *AwsObjectStorageBucketDefinition) GetVersion() string
- func (aosbd *AwsObjectStorageBucketDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (AwsObjectStorageBucketDefinition) TableName() string
- type AwsObjectStorageBucketInstance
- func (aosbi *AwsObjectStorageBucketInstance) DecodeNotifObject(object interface{}) error
- func (aosbi *AwsObjectStorageBucketInstance) GetId() uint
- func (aosbi *AwsObjectStorageBucketInstance) GetType() string
- func (aosbi *AwsObjectStorageBucketInstance) GetVersion() string
- func (aosbi *AwsObjectStorageBucketInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (aosbi *AwsObjectStorageBucketInstance) ScheduledForDeletion() *time.Time
- func (AwsObjectStorageBucketInstance) TableName() string
- type AwsRelationalDatabaseDefinition
- func (a *AwsRelationalDatabaseDefinition) BeforeCreate(tx *gorm.DB) error
- func (ardd *AwsRelationalDatabaseDefinition) DecodeNotifObject(object interface{}) error
- func (ardd *AwsRelationalDatabaseDefinition) GetId() uint
- func (ardd *AwsRelationalDatabaseDefinition) GetType() string
- func (ardd *AwsRelationalDatabaseDefinition) GetVersion() string
- func (ardd *AwsRelationalDatabaseDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (AwsRelationalDatabaseDefinition) TableName() string
- type AwsRelationalDatabaseInstance
- func (ardi *AwsRelationalDatabaseInstance) DecodeNotifObject(object interface{}) error
- func (ardi *AwsRelationalDatabaseInstance) GetId() uint
- func (ardi *AwsRelationalDatabaseInstance) GetType() string
- func (ardi *AwsRelationalDatabaseInstance) GetVersion() string
- func (ardi *AwsRelationalDatabaseInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (ardi *AwsRelationalDatabaseInstance) ScheduledForDeletion() *time.Time
- func (AwsRelationalDatabaseInstance) TableName() string
- type Common
- type ControlPlaneComponent
- type ControlPlaneDefinition
- func (cpd *ControlPlaneDefinition) DecodeNotifObject(object interface{}) error
- func (cpd *ControlPlaneDefinition) GetId() uint
- func (cpd *ControlPlaneDefinition) GetType() string
- func (cpd *ControlPlaneDefinition) GetVersion() string
- func (cpd *ControlPlaneDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (cpd *ControlPlaneDefinition) ScheduledForDeletion() *time.Time
- func (ControlPlaneDefinition) TableName() string
- type ControlPlaneInstance
- func (cpi *ControlPlaneInstance) DecodeNotifObject(object interface{}) error
- func (cpi *ControlPlaneInstance) GetId() uint
- func (cpi *ControlPlaneInstance) GetType() string
- func (cpi *ControlPlaneInstance) GetVersion() string
- func (cpi *ControlPlaneInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (cpi *ControlPlaneInstance) ScheduledForDeletion() *time.Time
- func (ControlPlaneInstance) TableName() string
- type Definition
- type DomainNameDefinition
- func (dnd *DomainNameDefinition) DecodeNotifObject(object interface{}) error
- func (dnd *DomainNameDefinition) GetId() uint
- func (dnd *DomainNameDefinition) GetType() string
- func (dnd *DomainNameDefinition) GetVersion() string
- func (dnd *DomainNameDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (DomainNameDefinition) TableName() string
- type DomainNameInstance
- func (dni *DomainNameInstance) DecodeNotifObject(object interface{}) error
- func (dni *DomainNameInstance) GetId() uint
- func (dni *DomainNameInstance) GetType() string
- func (dni *DomainNameInstance) GetVersion() string
- func (dni *DomainNameInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (dni *DomainNameInstance) ScheduledForDeletion() *time.Time
- func (DomainNameInstance) TableName() string
- type Event
- func (e *Event) DecodeNotifObject(object interface{}) error
- func (e *Event) GetId() uint
- func (e *Event) GetType() string
- func (e *Event) GetVersion() string
- func (e *Event) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (Event) TableName() string
- type ForwardProxyDefinition
- type ForwardProxyInstance
- type GatewayDefinition
- func (gd *GatewayDefinition) DecodeNotifObject(object interface{}) error
- func (gd *GatewayDefinition) GetId() uint
- func (gd *GatewayDefinition) GetType() string
- func (gd *GatewayDefinition) GetVersion() string
- func (gd *GatewayDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (gd *GatewayDefinition) ScheduledForDeletion() *time.Time
- func (GatewayDefinition) TableName() string
- type GatewayHttpPort
- func (ghp *GatewayHttpPort) DecodeNotifObject(object interface{}) error
- func (ghp *GatewayHttpPort) GetId() uint
- func (ghp *GatewayHttpPort) GetType() string
- func (ghp *GatewayHttpPort) GetVersion() string
- func (ghp *GatewayHttpPort) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (GatewayHttpPort) TableName() string
- type GatewayInstance
- func (gi *GatewayInstance) DecodeNotifObject(object interface{}) error
- func (gi *GatewayInstance) GetId() uint
- func (gi *GatewayInstance) GetType() string
- func (gi *GatewayInstance) GetVersion() string
- func (gi *GatewayInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (gi *GatewayInstance) ScheduledForDeletion() *time.Time
- func (GatewayInstance) TableName() string
- type GatewayTcpPort
- func (gtp *GatewayTcpPort) DecodeNotifObject(object interface{}) error
- func (gtp *GatewayTcpPort) GetId() uint
- func (gtp *GatewayTcpPort) GetType() string
- func (gtp *GatewayTcpPort) GetVersion() string
- func (gtp *GatewayTcpPort) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (GatewayTcpPort) TableName() string
- type HelmWorkloadDefinition
- func (hwd *HelmWorkloadDefinition) DecodeNotifObject(object interface{}) error
- func (hwd *HelmWorkloadDefinition) GetId() uint
- func (hwd *HelmWorkloadDefinition) GetType() string
- func (hwd *HelmWorkloadDefinition) GetVersion() string
- func (hwd *HelmWorkloadDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (hwd *HelmWorkloadDefinition) ScheduledForDeletion() *time.Time
- func (HelmWorkloadDefinition) TableName() string
- type HelmWorkloadInstance
- func (hwi *HelmWorkloadInstance) DecodeNotifObject(object interface{}) error
- func (hwi *HelmWorkloadInstance) GetId() uint
- func (hwi *HelmWorkloadInstance) GetType() string
- func (hwi *HelmWorkloadInstance) GetVersion() string
- func (hwi *HelmWorkloadInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (hwi *HelmWorkloadInstance) ScheduledForDeletion() *time.Time
- func (HelmWorkloadInstance) TableName() string
- type Instance
- type KubernetesRuntimeDefinition
- func (k *KubernetesRuntimeDefinition) BeforeCreate(tx *gorm.DB) error
- func (krd *KubernetesRuntimeDefinition) DecodeNotifObject(object interface{}) error
- func (krd *KubernetesRuntimeDefinition) GetId() uint
- func (krd *KubernetesRuntimeDefinition) GetType() string
- func (krd *KubernetesRuntimeDefinition) GetVersion() string
- func (krd *KubernetesRuntimeDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (krd *KubernetesRuntimeDefinition) ScheduledForDeletion() *time.Time
- func (KubernetesRuntimeDefinition) TableName() string
- type KubernetesRuntimeDefinitionValidationErr
- type KubernetesRuntimeInfraProvider
- type KubernetesRuntimeInstance
- func (k *KubernetesRuntimeInstance) BeforeCreate(tx *gorm.DB) error
- func (k *KubernetesRuntimeInstance) BeforeDelete(tx *gorm.DB) error
- func (k *KubernetesRuntimeInstance) BeforeUpdate(tx *gorm.DB) error
- func (kri *KubernetesRuntimeInstance) DecodeNotifObject(object interface{}) error
- func (kri *KubernetesRuntimeInstance) GetId() uint
- func (kri *KubernetesRuntimeInstance) GetType() string
- func (kri *KubernetesRuntimeInstance) GetVersion() string
- func (kri *KubernetesRuntimeInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (kri *KubernetesRuntimeInstance) ScheduledForDeletion() *time.Time
- func (KubernetesRuntimeInstance) TableName() string
- type KubernetesRuntimeInstanceValidationErr
- type LogBackend
- func (lb *LogBackend) DecodeNotifObject(object interface{}) error
- func (lb *LogBackend) GetId() uint
- func (lb *LogBackend) GetType() string
- func (lb *LogBackend) GetVersion() string
- func (lb *LogBackend) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (LogBackend) TableName() string
- type LogStorageDefinition
- func (lsd *LogStorageDefinition) DecodeNotifObject(object interface{}) error
- func (lsd *LogStorageDefinition) GetId() uint
- func (lsd *LogStorageDefinition) GetType() string
- func (lsd *LogStorageDefinition) GetVersion() string
- func (lsd *LogStorageDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (LogStorageDefinition) TableName() string
- type LogStorageInstance
- func (lsi *LogStorageInstance) DecodeNotifObject(object interface{}) error
- func (lsi *LogStorageInstance) GetId() uint
- func (lsi *LogStorageInstance) GetType() string
- func (lsi *LogStorageInstance) GetVersion() string
- func (lsi *LogStorageInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (LogStorageInstance) TableName() string
- type LoggingDefinition
- func (ld *LoggingDefinition) DecodeNotifObject(object interface{}) error
- func (ld *LoggingDefinition) GetId() uint
- func (ld *LoggingDefinition) GetType() string
- func (ld *LoggingDefinition) GetVersion() string
- func (ld *LoggingDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (ld *LoggingDefinition) ScheduledForDeletion() *time.Time
- func (LoggingDefinition) TableName() string
- type LoggingInstance
- func (li *LoggingInstance) DecodeNotifObject(object interface{}) error
- func (li *LoggingInstance) GetId() uint
- func (li *LoggingInstance) GetType() string
- func (li *LoggingInstance) GetVersion() string
- func (li *LoggingInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (li *LoggingInstance) ScheduledForDeletion() *time.Time
- func (LoggingInstance) TableName() string
- type MessageSubject
- type MetricsDefinition
- func (md *MetricsDefinition) DecodeNotifObject(object interface{}) error
- func (md *MetricsDefinition) GetId() uint
- func (md *MetricsDefinition) GetType() string
- func (md *MetricsDefinition) GetVersion() string
- func (md *MetricsDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (md *MetricsDefinition) ScheduledForDeletion() *time.Time
- func (MetricsDefinition) TableName() string
- type MetricsInstance
- func (mi *MetricsInstance) DecodeNotifObject(object interface{}) error
- func (mi *MetricsInstance) GetId() uint
- func (mi *MetricsInstance) GetType() string
- func (mi *MetricsInstance) GetVersion() string
- func (mi *MetricsInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (mi *MetricsInstance) ScheduledForDeletion() *time.Time
- func (MetricsInstance) TableName() string
- type ModuleApi
- func (m *ModuleApi) BeforeDelete(tx *gorm.DB) error
- func (ma *ModuleApi) DecodeNotifObject(object interface{}) error
- func (ma *ModuleApi) GetId() uint
- func (ma *ModuleApi) GetType() string
- func (ma *ModuleApi) GetVersion() string
- func (ma *ModuleApi) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (ModuleApi) TableName() string
- type ModuleApiRoute
- func (m *ModuleApiRoute) AfterCreate(tx *gorm.DB) error
- func (m *ModuleApiRoute) AfterDelete(tx *gorm.DB) error
- func (m *ModuleApiRoute) BeforeCreate(tx *gorm.DB) error
- func (mar *ModuleApiRoute) DecodeNotifObject(object interface{}) error
- func (mar *ModuleApiRoute) GetId() uint
- func (mar *ModuleApiRoute) GetType() string
- func (mar *ModuleApiRoute) GetVersion() string
- func (mar *ModuleApiRoute) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (ModuleApiRoute) TableName() string
- type ModuleRouter
- type ObservabilityDashboardDefinition
- func (odd *ObservabilityDashboardDefinition) DecodeNotifObject(object interface{}) error
- func (odd *ObservabilityDashboardDefinition) GetId() uint
- func (odd *ObservabilityDashboardDefinition) GetType() string
- func (odd *ObservabilityDashboardDefinition) GetVersion() string
- func (odd *ObservabilityDashboardDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (odd *ObservabilityDashboardDefinition) ScheduledForDeletion() *time.Time
- func (ObservabilityDashboardDefinition) TableName() string
- type ObservabilityDashboardInstance
- func (odi *ObservabilityDashboardInstance) DecodeNotifObject(object interface{}) error
- func (odi *ObservabilityDashboardInstance) GetId() uint
- func (odi *ObservabilityDashboardInstance) GetType() string
- func (odi *ObservabilityDashboardInstance) GetVersion() string
- func (odi *ObservabilityDashboardInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (odi *ObservabilityDashboardInstance) ScheduledForDeletion() *time.Time
- func (ObservabilityDashboardInstance) TableName() string
- type ObservabilityStackDefinition
- func (osd *ObservabilityStackDefinition) DecodeNotifObject(object interface{}) error
- func (osd *ObservabilityStackDefinition) GetId() uint
- func (osd *ObservabilityStackDefinition) GetType() string
- func (osd *ObservabilityStackDefinition) GetVersion() string
- func (osd *ObservabilityStackDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (osd *ObservabilityStackDefinition) ScheduledForDeletion() *time.Time
- func (ObservabilityStackDefinition) TableName() string
- type ObservabilityStackInstance
- func (osi *ObservabilityStackInstance) DecodeNotifObject(object interface{}) error
- func (osi *ObservabilityStackInstance) GetId() uint
- func (osi *ObservabilityStackInstance) GetType() string
- func (osi *ObservabilityStackInstance) GetVersion() string
- func (osi *ObservabilityStackInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (osi *ObservabilityStackInstance) ScheduledForDeletion() *time.Time
- func (ObservabilityStackInstance) TableName() string
- type Profile
- func (p *Profile) DecodeNotifObject(object interface{}) error
- func (p *Profile) GetId() uint
- func (p *Profile) GetType() string
- func (p *Profile) GetVersion() string
- func (p *Profile) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (Profile) TableName() string
- type Reconciliation
- type SecretDefinition
- func (s *SecretDefinition) BeforeCreate(tx *gorm.DB) error
- func (sd *SecretDefinition) DecodeNotifObject(object interface{}) error
- func (sd *SecretDefinition) GetId() uint
- func (sd *SecretDefinition) GetType() string
- func (sd *SecretDefinition) GetVersion() string
- func (sd *SecretDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (sd *SecretDefinition) ScheduledForDeletion() *time.Time
- func (SecretDefinition) TableName() string
- type SecretInstance
- func (si *SecretInstance) DecodeNotifObject(object interface{}) error
- func (si *SecretInstance) GetId() uint
- func (si *SecretInstance) GetType() string
- func (si *SecretInstance) GetVersion() string
- func (si *SecretInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (si *SecretInstance) ScheduledForDeletion() *time.Time
- func (SecretInstance) TableName() string
- type Tabler
- type TerraformDefinition
- func (td *TerraformDefinition) DecodeNotifObject(object interface{}) error
- func (td *TerraformDefinition) GetId() uint
- func (td *TerraformDefinition) GetType() string
- func (td *TerraformDefinition) GetVersion() string
- func (td *TerraformDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (td *TerraformDefinition) ScheduledForDeletion() *time.Time
- func (TerraformDefinition) TableName() string
- type TerraformInstance
- func (t *TerraformInstance) BeforeCreate(tx *gorm.DB) error
- func (t *TerraformInstance) BeforeUpdate(tx *gorm.DB) error
- func (ti *TerraformInstance) DecodeNotifObject(object interface{}) error
- func (ti *TerraformInstance) GetId() uint
- func (ti *TerraformInstance) GetType() string
- func (ti *TerraformInstance) GetVersion() string
- func (ti *TerraformInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (ti *TerraformInstance) ScheduledForDeletion() *time.Time
- func (TerraformInstance) TableName() string
- type Tier
- func (t *Tier) DecodeNotifObject(object interface{}) error
- func (t *Tier) GetId() uint
- func (t *Tier) GetType() string
- func (t *Tier) GetVersion() string
- func (t *Tier) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (Tier) TableName() string
- type WorkloadDefinition
- func (wd *WorkloadDefinition) DecodeNotifObject(object interface{}) error
- func (wd *WorkloadDefinition) GetId() uint
- func (wd *WorkloadDefinition) GetType() string
- func (wd *WorkloadDefinition) GetVersion() string
- func (wd *WorkloadDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (wd *WorkloadDefinition) ScheduledForDeletion() *time.Time
- func (WorkloadDefinition) TableName() string
- type WorkloadEvent
- func (we *WorkloadEvent) DecodeNotifObject(object interface{}) error
- func (we *WorkloadEvent) GetId() uint
- func (we *WorkloadEvent) GetType() string
- func (we *WorkloadEvent) GetVersion() string
- func (we *WorkloadEvent) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (WorkloadEvent) TableName() string
- type WorkloadInstance
- func (wi *WorkloadInstance) DecodeNotifObject(object interface{}) error
- func (wi *WorkloadInstance) GetId() uint
- func (wi *WorkloadInstance) GetType() string
- func (wi *WorkloadInstance) GetVersion() string
- func (wi *WorkloadInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (wi *WorkloadInstance) ScheduledForDeletion() *time.Time
- func (WorkloadInstance) TableName() string
- type WorkloadResourceDefinition
- func (wrd *WorkloadResourceDefinition) DecodeNotifObject(object interface{}) error
- func (wrd *WorkloadResourceDefinition) GetId() uint
- func (wrd *WorkloadResourceDefinition) GetType() string
- func (wrd *WorkloadResourceDefinition) GetVersion() string
- func (wrd *WorkloadResourceDefinition) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (WorkloadResourceDefinition) TableName() string
- type WorkloadResourceInstance
- func (wri *WorkloadResourceInstance) DecodeNotifObject(object interface{}) error
- func (wri *WorkloadResourceInstance) GetId() uint
- func (wri *WorkloadResourceInstance) GetType() string
- func (wri *WorkloadResourceInstance) GetVersion() string
- func (wri *WorkloadResourceInstance) NotificationPayload(operation notifications.NotificationOperation, requeue bool, ...) (*[]byte, error)
- func (WorkloadResourceInstance) TableName() string
Constants ¶
const ( ObjectTypeProfile string = "Profile" ObjectTypeTier string = "Tier" PathProfileVersions = "/profiles/versions" PathProfiles = "/v0/profiles" PathTierVersions = "/tiers/versions" PathTiers = "/v0/tiers" )
const ( ObjectTypeAttachedObjectReference string = "AttachedObjectReference" PathAttachedObjectReferenceVersions = "/attached-object-references/versions" PathAttachedObjectReferences = "/v0/attached-object-references" )
const ( ObjectTypeAwsAccount string = "AwsAccount" ObjectTypeAwsEksKubernetesRuntimeDefinition string = "AwsEksKubernetesRuntimeDefinition" ObjectTypeAwsEksKubernetesRuntimeInstance string = "AwsEksKubernetesRuntimeInstance" ObjectTypeAwsObjectStorageBucketDefinition string = "AwsObjectStorageBucketDefinition" ObjectTypeAwsObjectStorageBucketInstance string = "AwsObjectStorageBucketInstance" ObjectTypeAwsRelationalDatabaseDefinition string = "AwsRelationalDatabaseDefinition" ObjectTypeAwsRelationalDatabaseInstance string = "AwsRelationalDatabaseInstance" PathAwsAccountVersions = "/aws-accounts/versions" PathAwsAccounts = "/v0/aws-accounts" PathAwsEksKubernetesRuntimeDefinitionVersions = "/aws-eks-kubernetes-runtime-definitions/versions" PathAwsEksKubernetesRuntimeDefinitions = "/v0/aws-eks-kubernetes-runtime-definitions" PathAwsEksKubernetesRuntimeInstanceVersions = "/aws-eks-kubernetes-runtime-instances/versions" PathAwsEksKubernetesRuntimeInstances = "/v0/aws-eks-kubernetes-runtime-instances" PathAwsObjectStorageBucketDefinitionVersions = "/aws-object-storage-bucket-definitions/versions" PathAwsObjectStorageBucketDefinitions = "/v0/aws-object-storage-bucket-definitions" PathAwsObjectStorageBucketInstanceVersions = "/aws-object-storage-bucket-instances/versions" PathAwsObjectStorageBucketInstances = "/v0/aws-object-storage-bucket-instances" PathAwsRelationalDatabaseDefinitionVersions = "/aws-relational-database-definitions/versions" PathAwsRelationalDatabaseDefinitions = "/v0/aws-relational-database-definitions" PathAwsRelationalDatabaseInstanceVersions = "/aws-relational-database-instances/versions" PathAwsRelationalDatabaseInstances = "/v0/aws-relational-database-instances" )
const ( ObjectTypeControlPlaneDefinition string = "ControlPlaneDefinition" ObjectTypeControlPlaneInstance string = "ControlPlaneInstance" PathControlPlaneDefinitionVersions = "/control-plane-definitions/versions" PathControlPlaneDefinitions = "/v0/control-plane-definitions" PathControlPlaneInstanceVersions = "/control-plane-instances/versions" PathControlPlaneInstances = "/v0/control-plane-instances" )
const ( ObjectTypeEvent string = "Event" PathEventVersions = "/events/versions" PathEvents = "/v0/events" )
const ( ObjectTypeDomainNameDefinition string = "DomainNameDefinition" ObjectTypeDomainNameInstance string = "DomainNameInstance" ObjectTypeGatewayDefinition string = "GatewayDefinition" ObjectTypeGatewayHttpPort string = "GatewayHttpPort" ObjectTypeGatewayInstance string = "GatewayInstance" ObjectTypeGatewayTcpPort string = "GatewayTcpPort" PathDomainNameDefinitionVersions = "/domain-name-definitions/versions" PathDomainNameDefinitions = "/v0/domain-name-definitions" PathDomainNameInstanceVersions = "/domain-name-instances/versions" PathDomainNameInstances = "/v0/domain-name-instances" PathGatewayDefinitionVersions = "/gateway-definitions/versions" PathGatewayDefinitions = "/v0/gateway-definitions" PathGatewayHttpPortVersions = "/gateway-http-ports/versions" PathGatewayHttpPorts = "/v0/gateway-http-ports" PathGatewayInstanceVersions = "/gateway-instances/versions" PathGatewayInstances = "/v0/gateway-instances" PathGatewayTcpPortVersions = "/gateway-tcp-ports/versions" PathGatewayTcpPorts = "/v0/gateway-tcp-ports" )
const ( ObjectTypeHelmWorkloadDefinition string = "HelmWorkloadDefinition" ObjectTypeHelmWorkloadInstance string = "HelmWorkloadInstance" PathHelmWorkloadDefinitionVersions = "/helm-workload-definitions/versions" PathHelmWorkloadDefinitions = "/v0/helm-workload-definitions" PathHelmWorkloadInstanceVersions = "/helm-workload-instances/versions" PathHelmWorkloadInstances = "/v0/helm-workload-instances" )
const ( ObjectTypeKubernetesRuntimeDefinition string = "KubernetesRuntimeDefinition" ObjectTypeKubernetesRuntimeInstance string = "KubernetesRuntimeInstance" PathKubernetesRuntimeDefinitionVersions = "/kubernetes-runtime-definitions/versions" PathKubernetesRuntimeDefinitions = "/v0/kubernetes-runtime-definitions" PathKubernetesRuntimeInstanceVersions = "/kubernetes-runtime-instances/versions" PathKubernetesRuntimeInstances = "/v0/kubernetes-runtime-instances" )
const ( KubernetesRuntimeInfraProviderKind = "kind" KubernetesRuntimeInfraProviderEKS = "eks" )
const ( ObjectTypeLogBackend string = "LogBackend" ObjectTypeLogStorageDefinition string = "LogStorageDefinition" ObjectTypeLogStorageInstance string = "LogStorageInstance" PathLogBackendVersions = "/log-backends/versions" PathLogBackends = "/v0/log-backends" PathLogStorageDefinitionVersions = "/log-storage-definitions/versions" PathLogStorageDefinitions = "/v0/log-storage-definitions" PathLogStorageInstanceVersions = "/log-storage-instances/versions" PathLogStorageInstances = "/v0/log-storage-instances" )
const ( ObjectTypeModuleApi string = "ModuleApi" ObjectTypeModuleApiRoute string = "ModuleApiRoute" PathModuleApiVersions = "/module-apis/versions" PathModuleApis = "/v0/module-apis" PathModuleApiRouteVersions = "/module-api-routes/versions" PathModuleApiRoutes = "/v0/module-api-routes" )
const ( ObjectTypeLoggingDefinition string = "LoggingDefinition" ObjectTypeLoggingInstance string = "LoggingInstance" ObjectTypeMetricsDefinition string = "MetricsDefinition" ObjectTypeMetricsInstance string = "MetricsInstance" ObjectTypeObservabilityDashboardDefinition string = "ObservabilityDashboardDefinition" ObjectTypeObservabilityDashboardInstance string = "ObservabilityDashboardInstance" ObjectTypeObservabilityStackDefinition string = "ObservabilityStackDefinition" ObjectTypeObservabilityStackInstance string = "ObservabilityStackInstance" PathLoggingDefinitionVersions = "/logging-definitions/versions" PathLoggingDefinitions = "/v0/logging-definitions" PathLoggingInstanceVersions = "/logging-instances/versions" PathLoggingInstances = "/v0/logging-instances" PathMetricsDefinitionVersions = "/metrics-definitions/versions" PathMetricsDefinitions = "/v0/metrics-definitions" PathMetricsInstanceVersions = "/metrics-instances/versions" PathMetricsInstances = "/v0/metrics-instances" PathObservabilityDashboardDefinitionVersions = "/observability-dashboard-definitions/versions" PathObservabilityDashboardDefinitions = "/v0/observability-dashboard-definitions" PathObservabilityDashboardInstanceVersions = "/observability-dashboard-instances/versions" PathObservabilityDashboardInstances = "/v0/observability-dashboard-instances" PathObservabilityStackDefinitionVersions = "/observability-stack-definitions/versions" PathObservabilityStackDefinitions = "/v0/observability-stack-definitions" PathObservabilityStackInstanceVersions = "/observability-stack-instances/versions" PathObservabilityStackInstances = "/v0/observability-stack-instances" )
const ( ObjectTypeSecretDefinition string = "SecretDefinition" ObjectTypeSecretInstance string = "SecretInstance" PathSecretDefinitionVersions = "/secret-definitions/versions" PathSecretDefinitions = "/v0/secret-definitions" PathSecretInstanceVersions = "/secret-instances/versions" PathSecretInstances = "/v0/secret-instances" )
const ( ObjectTypeTerraformDefinition string = "TerraformDefinition" ObjectTypeTerraformInstance string = "TerraformInstance" PathTerraformDefinitionVersions = "/terraform-definitions/versions" PathTerraformDefinitions = "/v0/terraform-definitions" PathTerraformInstanceVersions = "/terraform-instances/versions" PathTerraformInstances = "/v0/terraform-instances" )
const ( ObjectTypeWorkloadDefinition string = "WorkloadDefinition" ObjectTypeWorkloadEvent string = "WorkloadEvent" ObjectTypeWorkloadInstance string = "WorkloadInstance" ObjectTypeWorkloadResourceDefinition string = "WorkloadResourceDefinition" ObjectTypeWorkloadResourceInstance string = "WorkloadResourceInstance" PathWorkloadDefinitionVersions = "/workload-definitions/versions" PathWorkloadDefinitions = "/v0/workload-definitions" PathWorkloadEventVersions = "/workload-events/versions" PathWorkloadEvents = "/v0/workload-events" PathWorkloadInstanceVersions = "/workload-instances/versions" PathWorkloadInstances = "/v0/workload-instances" PathWorkloadResourceDefinitionVersions = "/workload-resource-definitions/versions" PathWorkloadResourceDefinitions = "/v0/workload-resource-definitions" PathWorkloadResourceInstanceVersions = "/workload-resource-instances/versions" PathWorkloadResourceInstances = "/v0/workload-resource-instances" )
const (
PathWorkloadResourceDefinitionSets = "/v0/workload-resource-definition-sets"
)
Variables ¶
var ModRouter = ModuleRouter{ // contains filtered or unexported fields }
Functions ¶
func InitModuleRouter ¶ added in v0.6.1
InitModuleRouter initializes an module router. It first queries the database for any existing module APIs and their routes. It then adds those route paths so that API requests using the module object REST paths are proxied to the module API. It then instructs the echo server to use the ServeModuleRoutes method as middleware so that module paths are checked first when API requests are received.
func SupportedAwsRelationalDatabaseEngineVersions ¶
SupportedAwsRelationalDatabaseEngineVersions returns the valid versions for a given database engine.
func SupportedAwsRelationalDatabaseEngines ¶
func SupportedAwsRelationalDatabaseEngines() []string
SupportedAwsRelationalDatabaseEngines returns the supported database engines for AWS RDS.
Types ¶
type AttachedObjectReference ¶
type AttachedObjectReference struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The object type of the base object.
ObjectType *string `json:"ObjectType,omitempty" query:"objecttype" gorm:"not null;uniqueIndex:idx_attached_object_unique" validate:"required"`
// The object ID of the base object.
ObjectID *uint `json:"ObjectID,omitempty" query:"objectid" gorm:"not null;uniqueIndex:idx_attached_object_unique" validate:"required"`
// The object type of the attached object.
AttachedObjectType *string `` /* 137-byte string literal not displayed */
// The object ID of the attached object.
AttachedObjectID *uint `` /* 133-byte string literal not displayed */
}
AttachedObjectReference is a reference to an attached object.
func (*AttachedObjectReference) DecodeNotifObject ¶
func (aor *AttachedObjectReference) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*AttachedObjectReference) GetId ¶ added in v0.6.0
func (aor *AttachedObjectReference) GetId() uint
GetId returns the unique ID for the object.
func (*AttachedObjectReference) GetType ¶ added in v0.6.0
func (aor *AttachedObjectReference) GetType() string
Type returns the object type.
func (*AttachedObjectReference) GetVersion ¶ added in v0.6.0
func (aor *AttachedObjectReference) GetVersion() string
Version returns the version of the API object.
func (*AttachedObjectReference) NotificationPayload ¶
func (aor *AttachedObjectReference) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (AttachedObjectReference) TableName ¶ added in v0.6.0
func (AttachedObjectReference) TableName() string
TableName sets the name of the table for the AttachedObjectReference objects in the database.
type AwsAccount ¶
type AwsAccount struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The unique name of an AWS account.
Name *string `json:"Name,omitempty" query:"name" gorm:"not null" validate:"required"`
// The account ID for the AWS account.
AccountID *string `json:"AccountID,omitempty" query:"accountid" gorm:"not null" validate:"required"`
// If true is the AWS Account used if none specified in a definition.
DefaultAccount *bool `json:"DefaultAccount,omitempty" query:"defaultaccount" gorm:"default:false" validate:"optional"`
// The region to use for AWS managed services if not specified.
DefaultRegion *string `json:"DefaultRegion,omitempty" query:"defaultregion" gorm:"not null" validate:"required"`
// The access key ID credentials for the AWS account.
AccessKeyID *string `json:"AccessKeyID,omitempty" validate:"optional" encrypt:"true"`
// The secret key credentials for the AWS account.
SecretAccessKey *string `json:"SecretAccessKey,omitempty" validate:"optional" encrypt:"true"`
// The RoleArn to assume for the AWS account.
RoleArn *string `json:"RoleArn,omitempty" query:"rolearn" validate:"optional"`
// The ExternalId to use when assuming a RoleArn for the AWS account. This is
// automatically generated by the API server if RoleArn is set.
ExternalId *string `json:"ExternalId,omitempty" query:"externalid" validate:"optional"`
// The cluster instances deployed in this AWS account.
AwsEksKubernetesRuntimeDefinitions []*AwsEksKubernetesRuntimeDefinition `json:"AwsEksKubernetesRuntimeDefinitions,omitempty" validate:"optional,association"`
}
AwsAccount is a user account with the AWS service provider.
func (*AwsAccount) BeforeCreate ¶
func (a *AwsAccount) BeforeCreate(tx *gorm.DB) error
BeforeCreate validates a AWS Account before persisting to the database.
func (*AwsAccount) BeforeUpdate ¶
func (a *AwsAccount) BeforeUpdate(tx *gorm.DB) error
BeforeUpdate validates that no immutable fields are attempting to be changed before updates are persisted.
func (*AwsAccount) DecodeNotifObject ¶
func (aa *AwsAccount) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*AwsAccount) GetId ¶ added in v0.6.0
func (aa *AwsAccount) GetId() uint
GetId returns the unique ID for the object.
func (*AwsAccount) GetType ¶ added in v0.6.0
func (aa *AwsAccount) GetType() string
Type returns the object type.
func (*AwsAccount) GetVersion ¶ added in v0.6.0
func (aa *AwsAccount) GetVersion() string
Version returns the version of the API object.
func (*AwsAccount) NotificationPayload ¶
func (aa *AwsAccount) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (AwsAccount) TableName ¶ added in v0.6.0
func (AwsAccount) TableName() string
TableName sets the name of the table for the AwsAccount objects in the database.
type AwsEksKubernetesRuntimeDefinition ¶
type AwsEksKubernetesRuntimeDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
// The AWS account in which the EKS cluster is provisioned.
AwsAccountID *uint `json:"AWSAccountID,omitempty" query:"awsaccountid" gorm:"not null" validate:"required"`
// The number of zones the cluster should span for availability.
ZoneCount *int `json:"ZoneCount,omitempty" query:"zonecount" gorm:"not null" validate:"required"`
// The AWS instance type for the default initial node group.
DefaultNodeGroupInstanceType *string `json:"DefaultNodeGroupInstanceType,omitempty" query:"defaultnodegroupinstancetype" gorm:"not null" validate:"required"`
// The number of nodes in the default initial node group.
DefaultNodeGroupInitialSize *int `json:"DefaultNodeGroupInitialSize,omitempty" query:"defaultnodegroupinitialsize" gorm:"not null" validate:"required"`
// The minimum number of nodes the default initial node group should have.
DefaultNodeGroupMinimumSize *int `json:"DefaultNodeGroupMinimumSize,omitempty" query:"defaultnodegroupminimumsize" gorm:"not null" validate:"required"`
// The maximum number of nodes the default initial node group should have.
DefaultNodeGroupMaximumSize *int `json:"DefaultNodeGroupMaximumSize,omitempty" query:"defaultnodegroupmaximumsize" gorm:"not null" validate:"required"`
// The AWS EKS kubernetes runtime instances derived from this definition.
AwsEksKubernetesRuntimeInstances []*AwsEksKubernetesRuntimeInstance `json:"AwsEksKubernetesRuntimeInstances,omitempty" validate:"optional,association"`
// The kubernetes runtime definition for an EKS cluster in AWS.
KubernetesRuntimeDefinitionID *uint `json:"KubernetesRuntimeDefinitionID,omitempty" query:"kubernetesruntimedefinitionid" gorm:"not null" validate:"required"`
}
AwsEksKubernetesRuntimeDefinition provides the configuration for EKS cluster instances.
func (*AwsEksKubernetesRuntimeDefinition) DecodeNotifObject ¶
func (aekrd *AwsEksKubernetesRuntimeDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*AwsEksKubernetesRuntimeDefinition) GetId ¶ added in v0.6.0
func (aekrd *AwsEksKubernetesRuntimeDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*AwsEksKubernetesRuntimeDefinition) GetType ¶ added in v0.6.0
func (aekrd *AwsEksKubernetesRuntimeDefinition) GetType() string
Type returns the object type.
func (*AwsEksKubernetesRuntimeDefinition) GetVersion ¶ added in v0.6.0
func (aekrd *AwsEksKubernetesRuntimeDefinition) GetVersion() string
Version returns the version of the API object.
func (*AwsEksKubernetesRuntimeDefinition) NotificationPayload ¶
func (aekrd *AwsEksKubernetesRuntimeDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (AwsEksKubernetesRuntimeDefinition) TableName ¶ added in v0.6.0
func (AwsEksKubernetesRuntimeDefinition) TableName() string
TableName sets the name of the table for the AwsEksKubernetesRuntimeDefinition objects in the database.
type AwsEksKubernetesRuntimeInstance ¶
type AwsEksKubernetesRuntimeInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The AWS Region in which the cluster is provisioned. This field is
// stored in the instance (as well as definition) since a change to the
// definition will not move a cluster.
Region *string `json:"Region,omitempty" query:"region" validate:"optional"`
// The definition that configures this instance.
AwsEksKubernetesRuntimeDefinitionID *uint `` /* 132-byte string literal not displayed */
// An inventory of all AWS resources for the EKS cluster.
ResourceInventory *datatypes.JSON `json:"ResourceInventory,omitempty" validate:"optional"`
// The kubernetes runtime instance associated with the AWS EKS cluster.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
}
AwsEksKubernetesRuntimeInstance is a deployed instance of an EKS cluster.
func (*AwsEksKubernetesRuntimeInstance) DecodeNotifObject ¶
func (aekri *AwsEksKubernetesRuntimeInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*AwsEksKubernetesRuntimeInstance) GetId ¶ added in v0.6.0
func (aekri *AwsEksKubernetesRuntimeInstance) GetId() uint
GetId returns the unique ID for the object.
func (*AwsEksKubernetesRuntimeInstance) GetType ¶ added in v0.6.0
func (aekri *AwsEksKubernetesRuntimeInstance) GetType() string
Type returns the object type.
func (*AwsEksKubernetesRuntimeInstance) GetVersion ¶ added in v0.6.0
func (aekri *AwsEksKubernetesRuntimeInstance) GetVersion() string
Version returns the version of the API object.
func (*AwsEksKubernetesRuntimeInstance) NotificationPayload ¶
func (aekri *AwsEksKubernetesRuntimeInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*AwsEksKubernetesRuntimeInstance) ScheduledForDeletion ¶ added in v0.6.0
func (aekri *AwsEksKubernetesRuntimeInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (AwsEksKubernetesRuntimeInstance) TableName ¶ added in v0.6.0
func (AwsEksKubernetesRuntimeInstance) TableName() string
TableName sets the name of the table for the AwsEksKubernetesRuntimeInstance objects in the database.
type AwsObjectStorageBucketDefinition ¶
type AwsObjectStorageBucketDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
// When true, objects in the bucket are publicly readable by anyone - for use
// cases such as storing static assets for public websites. When false,
// only the workload attached to an AWSObjectStorageBucketInstance and the AWS users
// on the account may access the bucket for read or write.
PublicReadAccess *bool `json:"PublicReadAccess,omitempty" query:"publicreadaccess" gorm:"default:false" validate:"optional"`
// The name of the Kubernetes service account for the workload that will
// access the S3 bucket. Used to provide secure access using IAM roles for
// service accounts (IRSA).
WorkloadServiceAccountName *string `json:"WorkloadServiceAccountName,omitempty" query:"workloadserviceaccountname" gorm:"not null" validate:"required"`
// The environment variable key that the workload is expecting to reference
// for the name of the S3 bucket managed by threeport.
WorkloadBucketEnvVar *string `json:"WorkloadBucketEnvVar,omitempty" query:"workloadbucketenvvar" gorm:"not null" validate:"required"`
// The AWS account in which the RDS instance will be provisioned.
AwsAccountID *uint `json:"AwsAccountID,omitempty" query:"awsaccountid" gorm:"not null" validate:"required"`
// The associated object storage bucket instances that are derived from this definition.
AwsObjectStorageBucketInstances []*AwsObjectStorageBucketInstance `json:"AwsObjectStorageBucketInstances,omitempty" validate:"optional,association"`
}
AwsObjectStorageBucketDefinition is the configuration for an S3 bucket provided by AWS that is used for object storage by a workload.
func (*AwsObjectStorageBucketDefinition) DecodeNotifObject ¶
func (aosbd *AwsObjectStorageBucketDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*AwsObjectStorageBucketDefinition) GetId ¶ added in v0.6.0
func (aosbd *AwsObjectStorageBucketDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*AwsObjectStorageBucketDefinition) GetType ¶ added in v0.6.0
func (aosbd *AwsObjectStorageBucketDefinition) GetType() string
Type returns the object type.
func (*AwsObjectStorageBucketDefinition) GetVersion ¶ added in v0.6.0
func (aosbd *AwsObjectStorageBucketDefinition) GetVersion() string
Version returns the version of the API object.
func (*AwsObjectStorageBucketDefinition) NotificationPayload ¶
func (aosbd *AwsObjectStorageBucketDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (AwsObjectStorageBucketDefinition) TableName ¶ added in v0.6.0
func (AwsObjectStorageBucketDefinition) TableName() string
TableName sets the name of the table for the AwsObjectStorageBucketDefinition objects in the database.
type AwsObjectStorageBucketInstance ¶
type AwsObjectStorageBucketInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// An inventory of all AWS resources for the S3 bucket.
ResourceInventory *datatypes.JSON `json:"ResourceInventory,omitempty" validate:"optional"`
// The definition that configures this instance.
AwsObjectStorageBucketDefinitionID *uint `` /* 130-byte string literal not displayed */
// The ID of the workload instance that uses the S3 bucket.
WorkloadInstanceID *uint `json:"WorkloadInstanceID,omitempty" query:"workloadinstanceid" gorm:"not null" validate:"required"`
}
AwsObjectStorageBucketInstance is a deployed instance of an S3 bucket.
func (*AwsObjectStorageBucketInstance) DecodeNotifObject ¶
func (aosbi *AwsObjectStorageBucketInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*AwsObjectStorageBucketInstance) GetId ¶ added in v0.6.0
func (aosbi *AwsObjectStorageBucketInstance) GetId() uint
GetId returns the unique ID for the object.
func (*AwsObjectStorageBucketInstance) GetType ¶ added in v0.6.0
func (aosbi *AwsObjectStorageBucketInstance) GetType() string
Type returns the object type.
func (*AwsObjectStorageBucketInstance) GetVersion ¶ added in v0.6.0
func (aosbi *AwsObjectStorageBucketInstance) GetVersion() string
Version returns the version of the API object.
func (*AwsObjectStorageBucketInstance) NotificationPayload ¶
func (aosbi *AwsObjectStorageBucketInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*AwsObjectStorageBucketInstance) ScheduledForDeletion ¶ added in v0.6.0
func (aosbi *AwsObjectStorageBucketInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (AwsObjectStorageBucketInstance) TableName ¶ added in v0.6.0
func (AwsObjectStorageBucketInstance) TableName() string
TableName sets the name of the table for the AwsObjectStorageBucketInstance objects in the database.
type AwsRelationalDatabaseDefinition ¶
type AwsRelationalDatabaseDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
// The database engine for the instance. One of:
// * mysql
// * postgres
// * mariadb
Engine *string `json:"Engine,omitempty" query:"engine" gorm:"not null" validate:"required"`
// The version of the database engine for the instance.
EngineVersion *string `json:"EngineVersion,omitempty" query:"engineversion" gorm:"not null" validate:"required"`
// The name of the database that will be used by the client workload.
DatabaseName *string `json:"DatabaseName,omitempty" query:"databasename" gorm:"not null" validate:"required"`
// The port to use to connect to the database.
DatabasePort *int `json:"DatabasePort,omitempty" query:"databaseport" gorm:"not null" validate:"required"`
// The number of days to retain database backups for.
BackupDays *int `json:"BackupDays,omitempty" query:"BackupDays" gorm:"default: 0" validate:"optional"`
// The amount of compute capacity to use for the database virtual machine.
MachineSize *string `json:"MachineSize,omitempty" query:"machinesize" gorm:"not null" validate:"required"`
// The amount of storage in Gb to allocate for the database.
StorageGb *int `json:"StorageGb,omitempty" query:"storagegb" gorm:"not null" validate:"required"`
// The name of the Kubernetes secret that will be attached to the
// running workload from which database connection configuration will be
// supplied. This secret name must be referred to in the Kubernetes
// manifest, .e.g Deployment, for the workload.
WorkloadSecretName *string `json:"WorkloadSecretName,omitempty" query:"WorkloadSecretName" gorm:"not null" validate:"required"`
// The AWS account in which the RDS instance will be provisioned.
AwsAccountID *uint `json:"AwsAccountID,omitempty" query:"awsaccountid" gorm:"not null" validate:"required"`
// The associated object storage bucket instances that are derived from this definition.
AwsRelationalDatabaseInstances []*AwsRelationalDatabaseInstance `json:"AwsRelationalDatabaseInstances,omitempty" validate:"optional,association"`
}
AwsRelationalDatabaseDefinition is the configuration for an RDS instance provided by AWS that is used by a workload.
func (*AwsRelationalDatabaseDefinition) BeforeCreate ¶
func (a *AwsRelationalDatabaseDefinition) BeforeCreate(tx *gorm.DB) error
BeforeCreate validates an AWS Relational Database Definition before persisting to the database.
func (*AwsRelationalDatabaseDefinition) DecodeNotifObject ¶
func (ardd *AwsRelationalDatabaseDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*AwsRelationalDatabaseDefinition) GetId ¶ added in v0.6.0
func (ardd *AwsRelationalDatabaseDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*AwsRelationalDatabaseDefinition) GetType ¶ added in v0.6.0
func (ardd *AwsRelationalDatabaseDefinition) GetType() string
Type returns the object type.
func (*AwsRelationalDatabaseDefinition) GetVersion ¶ added in v0.6.0
func (ardd *AwsRelationalDatabaseDefinition) GetVersion() string
Version returns the version of the API object.
func (*AwsRelationalDatabaseDefinition) NotificationPayload ¶
func (ardd *AwsRelationalDatabaseDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (AwsRelationalDatabaseDefinition) TableName ¶ added in v0.6.0
func (AwsRelationalDatabaseDefinition) TableName() string
TableName sets the name of the table for the AwsRelationalDatabaseDefinition objects in the database.
type AwsRelationalDatabaseInstance ¶
type AwsRelationalDatabaseInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The definition that configures this instance.
AwsRelationalDatabaseDefinitionID *uint `` /* 128-byte string literal not displayed */
// An inventory of all AWS resources for the EKS cluster.
ResourceInventory *datatypes.JSON `json:"ResourceInventory,omitempty" validate:"optional"`
// The ID of the workload instance that the database instance serves.
WorkloadInstanceID *uint `json:"WorkloadInstanceID,omitempty" query:"workloadinstanceid" gorm:"not null" validate:"required"`
}
AwsRelationalDatabaseInstance is a deployed instance of an RDS instance.
func (*AwsRelationalDatabaseInstance) DecodeNotifObject ¶
func (ardi *AwsRelationalDatabaseInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*AwsRelationalDatabaseInstance) GetId ¶ added in v0.6.0
func (ardi *AwsRelationalDatabaseInstance) GetId() uint
GetId returns the unique ID for the object.
func (*AwsRelationalDatabaseInstance) GetType ¶ added in v0.6.0
func (ardi *AwsRelationalDatabaseInstance) GetType() string
Type returns the object type.
func (*AwsRelationalDatabaseInstance) GetVersion ¶ added in v0.6.0
func (ardi *AwsRelationalDatabaseInstance) GetVersion() string
Version returns the version of the API object.
func (*AwsRelationalDatabaseInstance) NotificationPayload ¶
func (ardi *AwsRelationalDatabaseInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*AwsRelationalDatabaseInstance) ScheduledForDeletion ¶ added in v0.6.0
func (ardi *AwsRelationalDatabaseInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (AwsRelationalDatabaseInstance) TableName ¶ added in v0.6.0
func (AwsRelationalDatabaseInstance) TableName() string
TableName sets the name of the table for the AwsRelationalDatabaseInstance objects in the database.
type Common ¶
type Common struct {
ID *uint `json:"ID,omitempty" gorm:"primarykey"`
CreatedAt *time.Time `json:"CreatedAt,omitempty"`
UpdatedAt *time.Time `json:"UpdatedAt,omitempty"`
DeletedAt *gorm.DeletedAt `json:"DeletedAt,omitempty" gorm:"index"`
}
Common includes standard fields included in most objects.
type ControlPlaneComponent ¶
type ControlPlaneComponent struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The control plane instance ID that this component belongs to
ControlPlaneInstanceID *uint `json:"ControlPlaneInstanceID,omitempty" gorm:"not null" validate:"required"`
// Indicate whether the component is enabled to be deployed. Currently only respected by controllers
Enabled *bool `json:"Enabled,omitempty" yaml:"Enabled" validate:"optional"`
// The name of the component
Name string `json:"Name,omitempty" yaml:"Name" query:"name" gorm:"not null" validate:"required"`
// The binary name of the component
BinaryName string `json:"BinaryName,omitempty" yaml:"BinaryName" query:"binaryname" validate:"optional"`
// The image name of the component
ImageName string `json:"ImageName,omitempty" yaml:"ImageName" query:"imagename" validate:"optional"`
// The image repo of the component
ImageRepo string `json:"ImageRepo,omitempty" yaml:"ImageRepo" query:"imagerepo" validate:"optional"`
// The image tag of the component
ImageTag string `json:"ImageTag,omitempty" yaml:"ImageTag" query:"imagetag" validate:"optional"`
// The service account name to use when deploying
ServiceAccountName string `json:"ServiceAccountName,omitempty" yaml:"ServiceAccountName" query:"serviceaccountname" validate:"optional"`
// The service resource name to use when deploying
ServiceResourceName string `json:"ServiceResourceName,omitempty" yaml:"ServiceResourceName" query:"serviceresourcename" validate:"optional"`
// The name of the secret with credentials to pull a private container image
ImagePullSecretName string `json:"ImagePullSecretName,omitempty" yaml:"ImagePullSecretName" query:"imagepullsecretname" validate:"optional"`
// The additional volumes to be added to the deployment spec of the component
AdditionalVolumes *datatypes.JSON `json:"AdditionalVolumes,omitempty" yaml:"AdditionalVolumes" query:"additionalvolumes" validate:"optional"`
// The additional volume mounts to be added to the deployment spec of the component
AdditionalVolumeMounts *datatypes.JSON `json:"AdditionalVolumeMounts,omitempty" yaml:"AdditionalVolumeMounts" query:"additionalvolumemounts" validate:"optional"`
// The additional env reference to be added to the environment variables of the component
AdditionalEnvRef *datatypes.JSON `json:"AdditionalEnvRef,omitempty" yaml:"AdditionalEnvRef" query:"additionalenvref" validate:"optional"`
}
func (ControlPlaneComponent) TableName ¶ added in v0.6.0
func (ControlPlaneComponent) TableName() string
TableName sets the name of the table for the ControlPlaneComponent objects in the database.
type ControlPlaneDefinition ¶
type ControlPlaneDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// Used to indicate whether the control plane is deployed with auth settings
AuthEnabled *bool `json:"AuthEnabled,omitempty" query:"authenabled" gorm:"default:true" validate:"optional"`
// When instances of this control plane are deployed, Object representing control plane and its parent are
// onboarded as part of deployment, using this we can disable that process and simply spin a new instance with
// a clean DB.
OnboardParent *bool `json:"OnboardParent,omitempty" query:"onboardparent" gorm:"default:true" validate:"optional"`
// The associated control plane instances that are deployed from this definition.
ControlPlaneInstances []*ControlPlaneInstance `json:"ControlPlaneInstances,omitempty" validate:"optional,association"`
}
ControlPlaneDefinition is the configuration for a Control Plane.
func (*ControlPlaneDefinition) DecodeNotifObject ¶
func (cpd *ControlPlaneDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*ControlPlaneDefinition) GetId ¶ added in v0.6.0
func (cpd *ControlPlaneDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*ControlPlaneDefinition) GetType ¶ added in v0.6.0
func (cpd *ControlPlaneDefinition) GetType() string
Type returns the object type.
func (*ControlPlaneDefinition) GetVersion ¶ added in v0.6.0
func (cpd *ControlPlaneDefinition) GetVersion() string
Version returns the version of the API object.
func (*ControlPlaneDefinition) NotificationPayload ¶
func (cpd *ControlPlaneDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*ControlPlaneDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (cpd *ControlPlaneDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (ControlPlaneDefinition) TableName ¶ added in v0.6.0
func (ControlPlaneDefinition) TableName() string
TableName sets the name of the table for the ControlPlaneDefinition objects in the database.
type ControlPlaneInstance ¶
type ControlPlaneInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The namespace to deploy the control plane in
Namespace *string `json:"Namespace,omitempty" query:"namespace" gorm:"not null" validate:"required"`
// When true, indicates the control plane instance represents the control plane in which it's stored
IsSelf *bool `json:"IsSelf,omitempty" query:"isself" gorm:"default:false" validate:"optional"`
// Passed in information for the different components of the control plane i.e. controller etc
// When not provided, the default values will be used. If provided, they will override the default values.
// Despite being a reference to another database entry, we dont validate association.
// This allows a user to provide CustomComponentInfo at instance creation time so the reconciler has the info it needs
CustomComponentInfo []*ControlPlaneComponent `json:"CustomComponentInfo,omitempty" query:"customcomponentinfo" validate:"optional"`
// Indicates whether this is was the first control plane that was spun up in a control plane group
Genesis *bool `json:"Genesis,omitempty" query:"genesis" gorm:"default:false" validate:"optional"`
// Information for connecting to the rest api for the control plane
ApiServerEndpoint *string `json:"ApiServerEndpoint,omitempty" query:"apiserverendpoint" validate:"optional"`
// The CA Cert that is associated with the control plane
CACert *string `json:"CACert,omitempty" query:"cacert" validate:"optional"`
// The client cert that is associated with the control plane
ClientCert *string `json:"ClientCert,omitempty" query:"clientcert" validate:"optional"`
// The client Key that is associated with the control plane
ClientKey *string `json:"ClientKey,omitempty" query:"clientkey" validate:"optional"`
// the kubernetes runtime instance the control plane is running on
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// These are pointers to the parent and children of the current control plane
// This is useful to map out the topology between control planes being managed by one another
ParentControlPlaneInstanceID *uint `json:"ParentControlPlaneInstanceID,omitempty" validate:"optional"`
Parent *ControlPlaneInstance `json:"Parent,omitempty" gorm:"foreignKey:ParentControlPlaneInstanceID" validate:"optional,association"`
Children *[]ControlPlaneInstance `json:"Children,omitempty" gorm:"foreignKey:ParentControlPlaneInstanceID" validate:"optional,association"`
// The definition used to configure the control plane instance.
ControlPlaneDefinitionID *uint `json:"ControlPlaneDefinitionID,omitempty" query:"controlplanedefinitionid" gorm:"not null" validate:"required"`
}
ControlPlaneInstance is the instance for a deployed Control Plane.
func (*ControlPlaneInstance) DecodeNotifObject ¶
func (cpi *ControlPlaneInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*ControlPlaneInstance) GetId ¶ added in v0.6.0
func (cpi *ControlPlaneInstance) GetId() uint
GetId returns the unique ID for the object.
func (*ControlPlaneInstance) GetType ¶ added in v0.6.0
func (cpi *ControlPlaneInstance) GetType() string
Type returns the object type.
func (*ControlPlaneInstance) GetVersion ¶ added in v0.6.0
func (cpi *ControlPlaneInstance) GetVersion() string
Version returns the version of the API object.
func (*ControlPlaneInstance) NotificationPayload ¶
func (cpi *ControlPlaneInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*ControlPlaneInstance) ScheduledForDeletion ¶ added in v0.6.0
func (cpi *ControlPlaneInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (ControlPlaneInstance) TableName ¶ added in v0.6.0
func (ControlPlaneInstance) TableName() string
TableName sets the name of the table for the ControlPlaneInstance objects in the database.
type Definition ¶
type Definition struct {
// An arbitrary name for the definition.
Name *string `json:"Name,omitempty" query:"name" gorm:"not null" validate:"required"`
// The profile to associate with the definition. Profile is a named
// standard configuration for a definition object.
ProfileID *uint `json:"ProfileID,omitempty" validate:"optional,association"`
// The tier to associate with the definition. Tier is a level of
// criticality for access control.
TierID *uint `json:"TierID,omitempty" validate:"optional,association"`
}
Definition includes a set of fields for every definition object.
func (Definition) TableName ¶ added in v0.6.0
func (Definition) TableName() string
TableName sets the name of the table for the Definition objects in the database.
type DomainNameDefinition ¶
type DomainNameDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The base domain upon which the subdomain will be added to give a workload
// a unique domain name.
Domain *string `json:"Domain,omitempty" query:"domain" gorm:"not null" validate:"required"`
// The name of the zone in which the domain is managed.
Zone *string `json:"Zone,omitempty" query:"zone" gorm:"not null" validate:"required"`
// The email address of the domain administrator.
AdminEmail *string `json:"AdminEmail,omitempty" query:"adminemail" gorm:"not null" validate:"required"`
// The associated domain name instances that are deployed from this definition.
DomainNameInstances []*DomainNameInstance `json:"DomainNameInstances,omitempty" validate:"optional,association"`
}
DomainNameDefinition the definition for domain name management for a particular DNS zone.
func (*DomainNameDefinition) DecodeNotifObject ¶
func (dnd *DomainNameDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*DomainNameDefinition) GetId ¶ added in v0.6.0
func (dnd *DomainNameDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*DomainNameDefinition) GetType ¶ added in v0.6.0
func (dnd *DomainNameDefinition) GetType() string
Type returns the object type.
func (*DomainNameDefinition) GetVersion ¶ added in v0.6.0
func (dnd *DomainNameDefinition) GetVersion() string
Version returns the version of the API object.
func (*DomainNameDefinition) NotificationPayload ¶
func (dnd *DomainNameDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (DomainNameDefinition) TableName ¶ added in v0.6.0
func (DomainNameDefinition) TableName() string
TableName sets the name of the table for the DomainNameDefinition objects in the database.
type DomainNameInstance ¶
type DomainNameInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The definition used to define the instance.
DomainNameDefinitionID *uint `json:"DomainNameDefinitionID,omitempty" query:"domainnamedefinitionid" gorm:"not null" validate:"required"`
// The workload instance this gateway belongs to.
WorkloadInstanceID *uint `json:"WorkloadInstanceID,omitempty" query:"workloadresourceinstanceid" gorm:"not null" validate:"required"`
// The cluster where the workload that is using the domain name is running.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
}
DomainNameInstance is an instance of domain name management for a workload.
func (*DomainNameInstance) DecodeNotifObject ¶
func (dni *DomainNameInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*DomainNameInstance) GetId ¶ added in v0.6.0
func (dni *DomainNameInstance) GetId() uint
GetId returns the unique ID for the object.
func (*DomainNameInstance) GetType ¶ added in v0.6.0
func (dni *DomainNameInstance) GetType() string
Type returns the object type.
func (*DomainNameInstance) GetVersion ¶ added in v0.6.0
func (dni *DomainNameInstance) GetVersion() string
Version returns the version of the API object.
func (*DomainNameInstance) NotificationPayload ¶
func (dni *DomainNameInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*DomainNameInstance) ScheduledForDeletion ¶ added in v0.6.0
func (dni *DomainNameInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (DomainNameInstance) TableName ¶ added in v0.6.0
func (DomainNameInstance) TableName() string
TableName sets the name of the table for the DomainNameInstance objects in the database.
type Event ¶ added in v0.6.0
type Event struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// AttachedObjectReferenceID is a reference to an attached object.
// A foreign key is configured via db migration in cmd/database-migrator/migrations/000010_add_events_foreign_key.go
AttachedObjectReferenceID *uint `json:"AttachedObjectReferenceID,omitempty" query:"attachedobjectreferenceid" validate:"optional"`
// A short, machine understandable string that gives the reason for the event being generated.
Reason *string `json:"Reason,omitempty" query:"reason" validate:"required"`
// A human-readable description of the status of this operation.
Note *string `json:"Note,omitempty" query:"note" validate:"optional"`
// The number of times this event has occurred.
Count *uint `json:"Count,omitempty" query:"count" validate:"required"`
// Time when this Event was first observed.
EventTime *time.Time `json:"EventTime,omitempty" query:"eventtime" validate:"required"`
// The time at which the most recent occurrence of this event was recorded.
LastObservedTime *time.Time `json:"LastObservedTime,omitempty" query:"lastobservedtime" validate:"required"`
// Type of this event (Normal, Warning), new types could be added in the future.
Type *string `json:"Type,omitempty" query:"type" validate:"required"`
// Name of the controller that emitted this Event.
ReportingController *string `json:"ReportingController,omitempty" query:"reportingcontroller" validate:"required"`
}
Event is a record of an event in the system.
func (*Event) DecodeNotifObject ¶ added in v0.6.0
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*Event) GetVersion ¶ added in v0.6.0
Version returns the version of the API object.
func (*Event) NotificationPayload ¶ added in v0.6.0
func (e *Event) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
type ForwardProxyDefinition ¶
type ForwardProxyDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
// The hostname of the upstream service.
UpstreamHost *string `json:"UpstreamHost,omitempty" query:"upstreamhost" gorm:"not null" validate:"required"`
// The path for the upstream service.
UpstreamPath *string `json:"UpstreamPath,omitempty" query:"upstreampath" gorm:"not null" validate:"required"`
}
ForwardProxy provides a managed outbound network connection from a workload to a destination. It can be used to manage service dependencies transparently for a workload so the workload doesn't require any config change or config reload in order to switch between service dependencies.
type ForwardProxyInstance ¶
type ForwardProxyInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
// The definition used to define the instance.
ForwardProxyDefinitionID *uint `json:"ForwardProxyDefinitionID,omitempty" validate:"optional,association"`
// The kubernetes runtime where the forward proxy is deployed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" validate:"optional,association"`
}
type GatewayDefinition ¶
type GatewayDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// HttpPorts is a list of HTTP ports to expose to the outside network.
HttpPorts []*GatewayHttpPort `json:"HttpPorts,omitempty" query:"httpports" validate:"optional"`
// TcpPorts is a list of TCP ports to expose to the outside network.
TcpPorts []*GatewayTcpPort `json:"TcpPorts,omitempty" query:"tcpports" validate:"optional"`
// The domain name to serve requests for.
DomainNameDefinitionID *uint `json:"DomainNameDefinitionID,omitempty" query:"domainnamedefinitionid" validate:"optional"`
// An optional subdomain to add to the domain name.
SubDomain *string `json:"SubDomain,omitempty" query:"subdomain" validate:"optional"`
// The kubernetes service to route requests to.
ServiceName *string `json:"ServiceName,omitempty" query:"servicename" validate:"optional"`
// The workload definition that belongs to this resource.
WorkloadDefinitionID *uint `json:"WorkloadDefinitionID,omitempty" query:"workloaddefinitionid" validate:"optional"`
// The associated gateway instances that are deployed from this definition.
GatewayInstances []*GatewayInstance `json:"GatewayInstances,omitempty" validate:"optional,association"`
}
Gateway is a route for requests to a workload from clients outside the private network of a workload kubernetes runtime. This
func (*GatewayDefinition) DecodeNotifObject ¶
func (gd *GatewayDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*GatewayDefinition) GetId ¶ added in v0.6.0
func (gd *GatewayDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*GatewayDefinition) GetType ¶ added in v0.6.0
func (gd *GatewayDefinition) GetType() string
Type returns the object type.
func (*GatewayDefinition) GetVersion ¶ added in v0.6.0
func (gd *GatewayDefinition) GetVersion() string
Version returns the version of the API object.
func (*GatewayDefinition) NotificationPayload ¶
func (gd *GatewayDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*GatewayDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (gd *GatewayDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (GatewayDefinition) TableName ¶ added in v0.6.0
func (GatewayDefinition) TableName() string
TableName sets the name of the table for the GatewayDefinition objects in the database.
type GatewayHttpPort ¶ added in v0.4.0
type GatewayHttpPort struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// GatewayDefinitionID is the definition used to configure the gateway http port.
GatewayDefinitionID *uint `json:"GatewayDefinitionID,omitempty" query:"gatewaydefinitionid" gorm:"not null" validate:"required"`
// The HTTP port to expose.
Port *int `json:"Port,omitempty" query:"port" gorm:"not null" validate:"required"`
// The request path to serve requests for.
Path *string `json:"Path,omitempty" query:"path" gorm:"default:'/'" validate:"optional"`
// Indicates if TLS is enabled.
TLSEnabled *bool `json:"TLSEnabled,omitempty" query:"tlsenabled" gorm:"default:false" validate:"optional"`
// Redirect all requests to HTTP port to HTTPS.
HTTPSRedirect *bool `json:"HTTPSRedirect,omitempty" query:"httpsredirect" gorm:"default:false" validate:"optional"`
}
GatewayHttpPort is an HTTP port to expose to the outside network.
func (*GatewayHttpPort) DecodeNotifObject ¶ added in v0.4.0
func (ghp *GatewayHttpPort) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*GatewayHttpPort) GetId ¶ added in v0.6.0
func (ghp *GatewayHttpPort) GetId() uint
GetId returns the unique ID for the object.
func (*GatewayHttpPort) GetType ¶ added in v0.6.0
func (ghp *GatewayHttpPort) GetType() string
Type returns the object type.
func (*GatewayHttpPort) GetVersion ¶ added in v0.6.0
func (ghp *GatewayHttpPort) GetVersion() string
Version returns the version of the API object.
func (*GatewayHttpPort) NotificationPayload ¶ added in v0.4.0
func (ghp *GatewayHttpPort) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (GatewayHttpPort) TableName ¶ added in v0.6.0
func (GatewayHttpPort) TableName() string
TableName sets the name of the table for the GatewayHttpPort objects in the database.
type GatewayInstance ¶
type GatewayInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The kubernetes runtime where the ingress layer is installed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// GatewayDefinitionID is the definition used to configure the workload instance.
GatewayDefinitionID *uint `json:"GatewayDefinitionID,omitempty" query:"gatewaydefinitionid" gorm:"not null" validate:"required"`
// The workload instance this gateway belongs to.
WorkloadInstanceID *uint `json:"WorkloadInstanceID,omitempty" query:"workloadresourceinstanceid" gorm:"not null" validate:"required"`
}
GatewayInstance is a deployed instance of a gateway.
func (*GatewayInstance) DecodeNotifObject ¶
func (gi *GatewayInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*GatewayInstance) GetId ¶ added in v0.6.0
func (gi *GatewayInstance) GetId() uint
GetId returns the unique ID for the object.
func (*GatewayInstance) GetType ¶ added in v0.6.0
func (gi *GatewayInstance) GetType() string
Type returns the object type.
func (*GatewayInstance) GetVersion ¶ added in v0.6.0
func (gi *GatewayInstance) GetVersion() string
Version returns the version of the API object.
func (*GatewayInstance) NotificationPayload ¶
func (gi *GatewayInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*GatewayInstance) ScheduledForDeletion ¶ added in v0.6.0
func (gi *GatewayInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (GatewayInstance) TableName ¶ added in v0.6.0
func (GatewayInstance) TableName() string
TableName sets the name of the table for the GatewayInstance objects in the database.
type GatewayTcpPort ¶ added in v0.4.0
type GatewayTcpPort struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// GatewayDefinitionID is the definition used to configure the gateway tcp port.
GatewayDefinitionID *uint `json:"GatewayDefinitionID,omitempty" query:"gatewaydefinitionid" gorm:"not null" validate:"required"`
// The TCP port to expose.
Port *int `json:"Port,omitempty" query:"port" gorm:"not null" validate:"required"`
// Indicates if TLS is enabled.
TLSEnabled *bool `json:"TLSEnabled,omitempty" query:"tlsenabled" gorm:"default:false" validate:"optional"`
}
GatewayTcpPort is a TCP port to expose to the outside network.
func (*GatewayTcpPort) DecodeNotifObject ¶ added in v0.4.0
func (gtp *GatewayTcpPort) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*GatewayTcpPort) GetId ¶ added in v0.6.0
func (gtp *GatewayTcpPort) GetId() uint
GetId returns the unique ID for the object.
func (*GatewayTcpPort) GetType ¶ added in v0.6.0
func (gtp *GatewayTcpPort) GetType() string
Type returns the object type.
func (*GatewayTcpPort) GetVersion ¶ added in v0.6.0
func (gtp *GatewayTcpPort) GetVersion() string
Version returns the version of the API object.
func (*GatewayTcpPort) NotificationPayload ¶ added in v0.4.0
func (gtp *GatewayTcpPort) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (GatewayTcpPort) TableName ¶ added in v0.6.0
func (GatewayTcpPort) TableName() string
TableName sets the name of the table for the GatewayTcpPort objects in the database.
type HelmWorkloadDefinition ¶ added in v0.4.0
type HelmWorkloadDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The helm repo URL to pull the helm workload's chart from
// e.g. oci://registry-1.docker.io/bitnamicharts
// e.g. https://grafana.github.io/helm-charts
Repo *string `json:"Repo,omitempty" query:"repo" gorm:"not null" validate:"required"`
// The name of the helm chart to use from the helm repo, e.g. wordpress
Chart *string `json:"Chart,omitempty" query:"chart" gorm:"not null" validate:"required"`
// The version of the helm chart to use from the helm repo, e.g. 1.2.3
ChartVersion *string `json:"ChartVersion,omitempty" query:"chartversion" validate:"optional"`
// The helm values that override the defaults from the helm chart. These
// will be inherited by each helm workload instance derived from this
// definition. The helm values defined here can be further overridden by
// values defined on the helm workload instance.
ValuesDocument *string `json:"ValuesDocument,omitempty" validate:"optional"`
// The associated helm workload instances that are deployed from this definition.
HelmWorkloadInstances []*HelmWorkloadInstance `json:"HelmWorkloadInstances,omitempty" validate:"optional,association"`
// Complete kubernetes resources that will be appended to the provided
// helm chart.
AdditionalResources *datatypes.JSONSlice[datatypes.JSON] `json:"AdditionalResources,omitempty" validate:"optional"`
}
HelmWorkloadDefinition includes the helm repo and chart that is used to configure the workload.
func (*HelmWorkloadDefinition) DecodeNotifObject ¶ added in v0.4.0
func (hwd *HelmWorkloadDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*HelmWorkloadDefinition) GetId ¶ added in v0.6.0
func (hwd *HelmWorkloadDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*HelmWorkloadDefinition) GetType ¶ added in v0.6.0
func (hwd *HelmWorkloadDefinition) GetType() string
Type returns the object type.
func (*HelmWorkloadDefinition) GetVersion ¶ added in v0.6.0
func (hwd *HelmWorkloadDefinition) GetVersion() string
Version returns the version of the API object.
func (*HelmWorkloadDefinition) NotificationPayload ¶ added in v0.4.0
func (hwd *HelmWorkloadDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*HelmWorkloadDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (hwd *HelmWorkloadDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (HelmWorkloadDefinition) TableName ¶ added in v0.6.0
func (HelmWorkloadDefinition) TableName() string
TableName sets the name of the table for the HelmWorkloadDefinition objects in the database.
type HelmWorkloadInstance ¶ added in v0.4.0
type HelmWorkloadInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// Filepath to the helm values YAML file that provides runtime parameters to
// the helm chart.
ValuesDocument *string `json:"ValuesDocument,omitempty" validate:"optional"`
// The kubernetes runtime to which the helm workload is deployed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// Namespace to deploy the helm chart to.
ReleaseNamespace *string `json:"ReleaseNamespace,omitempty" query:"releasenamespace" validate:"optional"`
// The definition used to configure the workload instance.
HelmWorkloadDefinitionID *uint `json:"HelmWorkloadDefinitionID,omitempty" query:"helmworkloaddefinitionid" gorm:"not null" validate:"required"`
// Complete kubernetes resources that will be appended to the provided
// helm chart.
AdditionalResources *datatypes.JSONSlice[datatypes.JSON] `json:"AdditionalResources,omitempty" validate:"optional"`
}
HelmWorkloadInstance is a deployed instance of a helm chart with the runtime parameters as helm values.
func (*HelmWorkloadInstance) DecodeNotifObject ¶ added in v0.4.0
func (hwi *HelmWorkloadInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*HelmWorkloadInstance) GetId ¶ added in v0.6.0
func (hwi *HelmWorkloadInstance) GetId() uint
GetId returns the unique ID for the object.
func (*HelmWorkloadInstance) GetType ¶ added in v0.6.0
func (hwi *HelmWorkloadInstance) GetType() string
Type returns the object type.
func (*HelmWorkloadInstance) GetVersion ¶ added in v0.6.0
func (hwi *HelmWorkloadInstance) GetVersion() string
Version returns the version of the API object.
func (*HelmWorkloadInstance) NotificationPayload ¶ added in v0.4.0
func (hwi *HelmWorkloadInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*HelmWorkloadInstance) ScheduledForDeletion ¶ added in v0.6.0
func (hwi *HelmWorkloadInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (HelmWorkloadInstance) TableName ¶ added in v0.6.0
func (HelmWorkloadInstance) TableName() string
TableName sets the name of the table for the HelmWorkloadInstance objects in the database.
type Instance ¶
type Instance struct {
// An arbitrary name the instance
Name *string `json:"Name,omitempty" query:"name" gorm:"not null" validate:"required"`
// The status of the instance.
//TODO: use a custom type
Status *string `json:"Status,omitempty" query:"status" validate:"optional"`
}
Instance includes a set of fields for every instance object.
type KubernetesRuntimeDefinition ¶
type KubernetesRuntimeDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The infrastructure provider running the compute infrastructure for the
// cluster.
InfraProvider *string `json:"InfraProvider,omitempty" query:"infraprovider" gorm:"not null" validate:"required"`
// The infra provider account name. Determines which account the infra is
// deployed on.
InfraProviderAccountName *string `json:"InfraProviderAccountName,omitempty" query:"infraprovideraccountname" validate:"optional"`
// If true, will be deployed in a highly available configuration across
// multiple zones within a region and with multiple replicas of Kubernetes
// control plane components.
HighAvailability *bool `json:"HighAvailability,omitempty" query:"highavailability" gorm:"default:false" validate:"optional"`
// Sets the compute capacity of the machine type for the default node group.
NodeSize *string `json:"NodeSize,omitempty" query:"nodesize" gorm:"default:Medium" validate:"optional"`
// Sets the CPU:memory ration of the machine type for the default node
// group.
NodeProfile *string `json:"NodeProfile,omitempty" query:"nodeprofile" gorm:"default:Balanced" validate:"optional"`
// Sets the maximum number of nodes for the default node group.
NodeMaximum *int `json:"NodeMaximum,omitempty" query:"nodemaximum" gorm:"default:250" validate:"optional"`
// The associated kubernetes runtime instances that are deployed from this
// definition.
KubernetesRuntimeInstances []*KubernetesRuntimeInstance `json:"KubernetesRuntimeInstances,omitempty" validate:"optional,association"`
}
KubernetesRuntimeDefinition is the configuration for a Kubernetes cluster. TODO apply BeforeCreate functions that prevent changes to InfraProvider and HighAvailability fields - these are immutable.
func (*KubernetesRuntimeDefinition) BeforeCreate ¶
func (k *KubernetesRuntimeDefinition) BeforeCreate(tx *gorm.DB) error
BeforeCreate validates a KubernetesRuntimeDefinition object before creating in the database.
func (*KubernetesRuntimeDefinition) DecodeNotifObject ¶
func (krd *KubernetesRuntimeDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*KubernetesRuntimeDefinition) GetId ¶ added in v0.6.0
func (krd *KubernetesRuntimeDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*KubernetesRuntimeDefinition) GetType ¶ added in v0.6.0
func (krd *KubernetesRuntimeDefinition) GetType() string
Type returns the object type.
func (*KubernetesRuntimeDefinition) GetVersion ¶ added in v0.6.0
func (krd *KubernetesRuntimeDefinition) GetVersion() string
Version returns the version of the API object.
func (*KubernetesRuntimeDefinition) NotificationPayload ¶
func (krd *KubernetesRuntimeDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*KubernetesRuntimeDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (krd *KubernetesRuntimeDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (KubernetesRuntimeDefinition) TableName ¶ added in v0.6.0
func (KubernetesRuntimeDefinition) TableName() string
TableName sets the name of the table for the KubernetesRuntimeDefinition objects in the database.
type KubernetesRuntimeDefinitionValidationErr ¶
type KubernetesRuntimeDefinitionValidationErr struct {
Message string
}
KubernetesRuntimeDefinitionValidationErr is an error that accepts a custom message when validation errors occur for the KubernetesRuntimeDefinition object.
func (*KubernetesRuntimeDefinitionValidationErr) Error ¶
func (e *KubernetesRuntimeDefinitionValidationErr) Error() string
Error returns the custom message generated during validation.
type KubernetesRuntimeInfraProvider ¶
type KubernetesRuntimeInfraProvider string
KubernetesRuntimeInfraProvider indicates which infrastructure provider is being used to run the kubernetes cluster for the threeport control plane.
func SupportedInfraProviders ¶
func SupportedInfraProviders() []KubernetesRuntimeInfraProvider
SupportedInfraProviders returns all supported infra providers.
type KubernetesRuntimeInstance ¶
type KubernetesRuntimeInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The geographical location for the runtime cluster. This is an
// abstraction for the cloud provider regions that is mapped into the
// regions used by providers.
Location *string `json:"Location,omitempty" query:"location" gorm:"not null" validate:"required"`
// If true, the Kubernetes cluster is hosting a threeport control plane and
// any controllers that connect to the kube API will use internal cluster
// DNS rather than the external APIEndpoint.
ThreeportControlPlaneHost *bool `json:"ThreeportControlPlaneHost,omitempty" query:"threeportcontrolplanehost" gorm:"default:false" validate:"optional"`
// The network endpoint at which to reach the kube-api.
APIEndpoint *string `json:"APIEndpoint,omitempty" validate:"optional"`
// The CA certificate used to generate the cert and key if
// self-signed.
CACertificate *string `json:"CACertificate,omitempty" validate:"optional"`
// The client certificate to use for auth to the kube-api.
Certificate *string `json:"Certificate,omitempty" validate:"optional"`
// The client certificate key to use for auth to the kube-api.
CertificateKey *string `json:"CertificateKey,omitempty" validate:"optional" encrypt:"true"`
// Used to authenticate with a OIDC provider that implements auth for a
// Kubernetes cluster. It is an alternative to client cert authenticaion.
ConnectionToken *string `json:"ConnectionToken,omitempty" validate:"optional" encrypt:"true"`
// ConnectionTokenExpiration is the time when a ConnectionToken will expire.
// Used to ensure a token will not expire before it can be used.
ConnectionTokenExpiration *time.Time `json:"ConnectionTokenExpiration,omitempty" validate:"optional"`
// If true, this Kubernetes cluster will be used for all workloads if not
// otherwise assigned.
DefaultRuntime *bool `json:"DefaultRuntime,omitempty" query:"defaultruntime" gorm:"default:false" validate:"optional"`
// The kubernetes runtime definition for this instance.
KubernetesRuntimeDefinitionID *uint `json:"KubernetesRuntimeDefinitionID,omitempty" query:"kubernetesruntimedefinitionid" gorm:"not null" validate:"required"`
// The associated workload instances running on this kubernetes runtime.
WorkloadInstances []*WorkloadInstance `json:"WorkloadInstance,omitempty" validate:"optional,association"`
// The associated control plane instances running on this kubernetes runtime instance.
ControlPlaneInstances []*ControlPlaneInstance `json:"ControlPlaneInstance,omitempty" validate:"optional,association"`
// If true, delete the runtime even if there are workloads present.
ForceDelete *bool `json:"ForceDelete,omitempty" query:"forcedelete" gorm:"default:false" validate:"optional"`
// The WorkloadInstanceID of the gateway support service
GatewayControllerInstanceID *uint `json:"GatewayWorkloadInstanceID,omitempty" validate:"optional"`
// The WorkloadInstanceID of the gateway support service
DnsControllerInstanceID *uint `json:"DnsControllerInstanceId,omitempty" validate:"optional"`
// The WorkloadInstanceID of the secrets support service
SecretsControllerInstanceID *uint `json:"SecretsControllerInstanceId,omitempty" validate:"optional"`
// An alternate threeport image to use when deploying threeport agent to
// managed Kubernetes runtime clusters. If not supplied, the official image
// with the correct version will be used.
ThreeportAgentImage *string `json:"ThreeportAgentImage,omitempty" validate:"optional"`
}
KubernetesRuntimeInstance is a deployed instance of a Kubernetes cluster.
func (*KubernetesRuntimeInstance) BeforeCreate ¶
func (k *KubernetesRuntimeInstance) BeforeCreate(tx *gorm.DB) error
BeforeCreate validates a KubernetesRuntimeInstance before persisting to the database.
func (*KubernetesRuntimeInstance) BeforeDelete ¶
func (k *KubernetesRuntimeInstance) BeforeDelete(tx *gorm.DB) error
BeforeDelete validates a delete request on a kubernetes runtime instance deletion to ensure deletion is possible.
func (*KubernetesRuntimeInstance) BeforeUpdate ¶
func (k *KubernetesRuntimeInstance) BeforeUpdate(tx *gorm.DB) error
BeforeUpdate validates that no immutable fields are attempting to be changed before updates are persisted.
func (*KubernetesRuntimeInstance) DecodeNotifObject ¶
func (kri *KubernetesRuntimeInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*KubernetesRuntimeInstance) GetId ¶ added in v0.6.0
func (kri *KubernetesRuntimeInstance) GetId() uint
GetId returns the unique ID for the object.
func (*KubernetesRuntimeInstance) GetType ¶ added in v0.6.0
func (kri *KubernetesRuntimeInstance) GetType() string
Type returns the object type.
func (*KubernetesRuntimeInstance) GetVersion ¶ added in v0.6.0
func (kri *KubernetesRuntimeInstance) GetVersion() string
Version returns the version of the API object.
func (*KubernetesRuntimeInstance) NotificationPayload ¶
func (kri *KubernetesRuntimeInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*KubernetesRuntimeInstance) ScheduledForDeletion ¶ added in v0.6.0
func (kri *KubernetesRuntimeInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (KubernetesRuntimeInstance) TableName ¶ added in v0.6.0
func (KubernetesRuntimeInstance) TableName() string
TableName sets the name of the table for the KubernetesRuntimeInstance objects in the database.
type KubernetesRuntimeInstanceValidationErr ¶
type KubernetesRuntimeInstanceValidationErr struct {
Message string
}
KubernetesRuntimeInstanceValidationErr is an error that accepts a custom message when validation errors occur for the KubernetesRuntimeInstance object.
func (*KubernetesRuntimeInstanceValidationErr) Error ¶
func (e *KubernetesRuntimeInstanceValidationErr) Error() string
Error returns the custom message generated during validation.
type LogBackend ¶
type LogBackend struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The unique name of a logging back end.
Name *string `json:"Name,omitempty" query:"name" gorm:"not null" validate:"required"`
// The network address to connect to for storing log messages.
Destination *string `json:"Destination,omitempty" query:"destination" gorm:"not null" validate:"required"`
// The storage definitions using the log backend for log storage.
LogStorageDefinitions []*LogStorageDefinition `` /* 161-byte string literal not displayed */
}
LogBackend is where the log messages are stored.
func (*LogBackend) DecodeNotifObject ¶
func (lb *LogBackend) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*LogBackend) GetId ¶ added in v0.6.0
func (lb *LogBackend) GetId() uint
GetId returns the unique ID for the object.
func (*LogBackend) GetType ¶ added in v0.6.0
func (lb *LogBackend) GetType() string
Type returns the object type.
func (*LogBackend) GetVersion ¶ added in v0.6.0
func (lb *LogBackend) GetVersion() string
Version returns the version of the API object.
func (*LogBackend) NotificationPayload ¶
func (lb *LogBackend) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (LogBackend) TableName ¶ added in v0.6.0
func (LogBackend) TableName() string
TableName sets the name of the table for the LogBackend objects in the database.
type LogStorageDefinition ¶
type LogStorageDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
// The backend storage mechanisms for retaining logs.
LogBackends []*LogBackend `` /* 141-byte string literal not displayed */
// The associated log storage instances that are derived from this definition.
LogStorageInstances []*LogStorageInstance `json:"LogStorageInstances,omitempty" validate:"optional,association"`
}
LogStorageDefinition provides configuration for the retention of log output from workloads to one or more log storage back ends.
func (*LogStorageDefinition) DecodeNotifObject ¶
func (lsd *LogStorageDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*LogStorageDefinition) GetId ¶ added in v0.6.0
func (lsd *LogStorageDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*LogStorageDefinition) GetType ¶ added in v0.6.0
func (lsd *LogStorageDefinition) GetType() string
Type returns the object type.
func (*LogStorageDefinition) GetVersion ¶ added in v0.6.0
func (lsd *LogStorageDefinition) GetVersion() string
Version returns the version of the API object.
func (*LogStorageDefinition) NotificationPayload ¶
func (lsd *LogStorageDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (LogStorageDefinition) TableName ¶ added in v0.6.0
func (LogStorageDefinition) TableName() string
TableName sets the name of the table for the LogStorageDefinition objects in the database.
type LogStorageInstance ¶
type LogStorageInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
// The definition used to define the instance.
LogStorageDefinitionID *uint `json:"LogStorageDefinitionID,omitempty" validate:"optional,association"`
// The cluster from which log messages are being aggregated to send to a log
// back end.
ClusterID *uint `json:"ClusterID,omitempty" validate:"optional,association"`
}
An instance of log storage deployed to a compute space cluster.
func (*LogStorageInstance) DecodeNotifObject ¶
func (lsi *LogStorageInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*LogStorageInstance) GetId ¶ added in v0.6.0
func (lsi *LogStorageInstance) GetId() uint
GetId returns the unique ID for the object.
func (*LogStorageInstance) GetType ¶ added in v0.6.0
func (lsi *LogStorageInstance) GetType() string
Type returns the object type.
func (*LogStorageInstance) GetVersion ¶ added in v0.6.0
func (lsi *LogStorageInstance) GetVersion() string
Version returns the version of the API object.
func (*LogStorageInstance) NotificationPayload ¶
func (lsi *LogStorageInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (LogStorageInstance) TableName ¶ added in v0.6.0
func (LogStorageInstance) TableName() string
TableName sets the name of the table for the LogStorageInstance objects in the database.
type LoggingDefinition ¶ added in v0.5.0
type LoggingDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The loki Helm workload definition that belongs to this resource.
LokiHelmWorkloadDefinitionID *uint `json:"LokiHelmWorkloadDefinitionID,omitempty" query:"lokihelmworkloaddefinitionid" validate:"optional"`
// The promtail Helm workload definition that belongs to this resource.
PromtailHelmWorkloadDefinitionID *uint `json:"PromtailHelmWorkloadDefinitionID,omitempty" query:"promtailhelmworkloaddefinitionid" validate:"optional"`
// The version of the loki helm chart to use from the helm repo, e.g. 1.2.3
LokiHelmChartVersion *string `json:"LokiHelmChartVersion,omitempty" query:"lokihelmchartversion" gorm:"default:'5.41.6'" validate:"optional"`
// The version of the promtail helm chart to use from the helm repo, e.g. 1.2.3
PromtailHelmChartVersion *string `json:"PromtailHelmChartVersion,omitempty" query:"promtailhelmchartversion" gorm:"default:'6.15.3'" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying loki chart.
LokiHelmValuesDocument *string `json:"LokiHelmValuesDocument,omitempty" query:"lokihelmvaluesdocument" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying promtail chart.
PromtailHelmValuesDocument *string `json:"PromtailHelmValuesDocument,omitempty" query:"promtailhelmvaluesdocument" validate:"optional"`
// The associated metrics instances that are deployed from this definition.
LoggingInstances []*LoggingInstance `json:"LoggingInstances,omitempty" validate:"optional,association"`
}
MetricsDefinition defines a metrics aggregation layer for a workload.
func (*LoggingDefinition) DecodeNotifObject ¶ added in v0.5.0
func (ld *LoggingDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*LoggingDefinition) GetId ¶ added in v0.6.0
func (ld *LoggingDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*LoggingDefinition) GetType ¶ added in v0.6.0
func (ld *LoggingDefinition) GetType() string
Type returns the object type.
func (*LoggingDefinition) GetVersion ¶ added in v0.6.0
func (ld *LoggingDefinition) GetVersion() string
Version returns the version of the API object.
func (*LoggingDefinition) NotificationPayload ¶ added in v0.5.0
func (ld *LoggingDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*LoggingDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (ld *LoggingDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (LoggingDefinition) TableName ¶ added in v0.6.0
func (LoggingDefinition) TableName() string
TableName sets the name of the table for the LoggingDefinition objects in the database.
type LoggingInstance ¶ added in v0.5.0
type LoggingInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// MetricsDefinitionID is the definition used to configure the workload instance.
LoggingDefinitionID *uint `json:"LoggingDefinitionID,omitempty" query:"loggingdefinitionid" gorm:"not null" validate:"required"`
// The kubernetes runtime where the ingress layer is installed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// The loki Helm workload definition that belongs to this resource.
LokiHelmWorkloadInstanceID *uint `json:"LokiHelmWorkloadInstanceID,omitempty" query:"lokihelmworkloadinstanceid" validate:"optional"`
// The promtail Helm workload definition that belongs to this resource.
PromtailHelmWorkloadInstanceID *uint `json:"PromtailHelmWorkloadInstanceID,omitempty" query:"promtailhelmworkloadinstanceid" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying loki chart.
LokiHelmValuesDocument *string `json:"LokiHelmValuesDocument,omitempty" query:"lokihelmvaluesdocument" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying promtail chart.
PromtailHelmValuesDocument *string `json:"PromtailHelmValuesDocument,omitempty" query:"promtailhelmvaluesdocument" validate:"optional"`
}
MetricsInstances defines an instance of a metrics aggregation layer for a workload.
func (*LoggingInstance) DecodeNotifObject ¶ added in v0.5.0
func (li *LoggingInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*LoggingInstance) GetId ¶ added in v0.6.0
func (li *LoggingInstance) GetId() uint
GetId returns the unique ID for the object.
func (*LoggingInstance) GetType ¶ added in v0.6.0
func (li *LoggingInstance) GetType() string
Type returns the object type.
func (*LoggingInstance) GetVersion ¶ added in v0.6.0
func (li *LoggingInstance) GetVersion() string
Version returns the version of the API object.
func (*LoggingInstance) NotificationPayload ¶ added in v0.5.0
func (li *LoggingInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*LoggingInstance) ScheduledForDeletion ¶ added in v0.6.0
func (li *LoggingInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (LoggingInstance) TableName ¶ added in v0.6.0
func (LoggingInstance) TableName() string
TableName sets the name of the table for the LoggingInstance objects in the database.
type MessageSubject ¶
type MessageSubject string
type MetricsDefinition ¶ added in v0.5.0
type MetricsDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The kube-prometheus-stack Helm workload definition that belongs to this resource.
KubePrometheusStackHelmWorkloadDefinitionID *uint `` /* 132-byte string literal not displayed */
// The version of the kube-prometheus-stack helm chart to use from the helm repo, e.g. 1.2.3
KubePrometheusStackHelmChartVersion *string `` /* 140-byte string literal not displayed */
// Optional Helm workload definition values that can be provided to configure the
// underlying kube-prometheus-stack chart.
KubePrometheusStackHelmValuesDocument *string `json:"KubePrometheusStackHelmValuesDocument,omitempty" query:"kubeprometheusstackhelmvaluesdocument" validate:"optional"`
// The associated metrics instances that are deployed from this definition.
MetricsInstances []*MetricsInstance `json:"MetricsInstances,omitempty" validate:"optional,association"`
}
MetricsDefinition defines a metrics aggregation layer for a workload.
func (*MetricsDefinition) DecodeNotifObject ¶ added in v0.5.0
func (md *MetricsDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*MetricsDefinition) GetId ¶ added in v0.6.0
func (md *MetricsDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*MetricsDefinition) GetType ¶ added in v0.6.0
func (md *MetricsDefinition) GetType() string
Type returns the object type.
func (*MetricsDefinition) GetVersion ¶ added in v0.6.0
func (md *MetricsDefinition) GetVersion() string
Version returns the version of the API object.
func (*MetricsDefinition) NotificationPayload ¶ added in v0.5.0
func (md *MetricsDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*MetricsDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (md *MetricsDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (MetricsDefinition) TableName ¶ added in v0.6.0
func (MetricsDefinition) TableName() string
TableName sets the name of the table for the MetricsDefinition objects in the database.
type MetricsInstance ¶ added in v0.5.0
type MetricsInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// MetricsDefinitionID is the definition used to configure the workload instance.
MetricsDefinitionID *uint `json:"MetricsDefinitionID,omitempty" query:"metricsdefinitionid" gorm:"not null" validate:"required"`
// The kubernetes runtime where the ingress layer is installed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// The kube-prometheus-stack Helm workload definition that belongs to this resource.
KubePrometheusStackHelmWorkloadInstanceID *uint `` /* 128-byte string literal not displayed */
// Optional Helm workload definition values that can be provided to configure the
// underlying kube-prometheus-stack chart.
KubePrometheusStackHelmValuesDocument *string `json:"KubePrometheusStackHelmValuesDocument,omitempty" query:"kubeprometheusstackhelmvaluesdocument" validate:"optional"`
}
MetricsInstances defines an instance of a metrics aggregation layer for a workload.
func (*MetricsInstance) DecodeNotifObject ¶ added in v0.5.0
func (mi *MetricsInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*MetricsInstance) GetId ¶ added in v0.6.0
func (mi *MetricsInstance) GetId() uint
GetId returns the unique ID for the object.
func (*MetricsInstance) GetType ¶ added in v0.6.0
func (mi *MetricsInstance) GetType() string
Type returns the object type.
func (*MetricsInstance) GetVersion ¶ added in v0.6.0
func (mi *MetricsInstance) GetVersion() string
Version returns the version of the API object.
func (*MetricsInstance) NotificationPayload ¶ added in v0.5.0
func (mi *MetricsInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*MetricsInstance) ScheduledForDeletion ¶ added in v0.6.0
func (mi *MetricsInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (MetricsInstance) TableName ¶ added in v0.6.0
func (MetricsInstance) TableName() string
TableName sets the name of the table for the MetricsInstance objects in the database.
type ModuleApi ¶ added in v0.6.1
type ModuleApi struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// An arbitrary name for the module API.
Name *string `json:"Name,omitempty" gorm:"not null" query:"name" validate:"required"`
// The module API server's endpoint to proxy requests to for module
// objects.
Endpoint *string `json:"Endpoint,omitempty" gorm:"not null" query:"endpoint" validate:"required"`
// The routes as URL paths to proxy requests to the API server's endpoint.
// All supported routes for an extension API should be added so that it is
// proxied.
ModuleApiRoutes []*ModuleApiRoute `json:"ModuleApiRoutes,omitempty" validate:"optional,association"`
}
ModuleApi represents an API server for a Threeport module.
func (*ModuleApi) BeforeDelete ¶ added in v0.6.1
BeforeDelete ensures that no associated routes exist for this API module before deleting it.
func (*ModuleApi) DecodeNotifObject ¶ added in v0.6.1
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*ModuleApi) GetVersion ¶ added in v0.6.1
Version returns the version of the API object.
func (*ModuleApi) NotificationPayload ¶ added in v0.6.1
func (ma *ModuleApi) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
type ModuleApiRoute ¶ added in v0.6.1
type ModuleApiRoute struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The URL path supported by the module API.
Path *string `json:"Path,omitempty" query:"path" validate:"required" gorm:"not null"`
// The module Api this route belongs to.
ModuleApiID *uint `json:"ModuleApiID,omitempty" query:"moduleapiid" validate:"required" gorm:"not null"`
}
ModuleApiRoute represents a route supported by a module API.
func (*ModuleApiRoute) AfterCreate ¶ added in v0.6.1
func (m *ModuleApiRoute) AfterCreate(tx *gorm.DB) error
AfterCreate updates the module router after new module API routes are created.
func (*ModuleApiRoute) AfterDelete ¶ added in v0.6.1
func (m *ModuleApiRoute) AfterDelete(tx *gorm.DB) error
AfterDelete updates the module router after a module API route has been removed.
func (*ModuleApiRoute) BeforeCreate ¶ added in v0.6.1
func (m *ModuleApiRoute) BeforeCreate(tx *gorm.DB) error
BeforeCreate ensures no API route with the route path already exists before persisting an API route.
func (*ModuleApiRoute) DecodeNotifObject ¶ added in v0.6.1
func (mar *ModuleApiRoute) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*ModuleApiRoute) GetId ¶ added in v0.6.1
func (mar *ModuleApiRoute) GetId() uint
GetId returns the unique ID for the object.
func (*ModuleApiRoute) GetType ¶ added in v0.6.1
func (mar *ModuleApiRoute) GetType() string
Type returns the object type.
func (*ModuleApiRoute) GetVersion ¶ added in v0.6.1
func (mar *ModuleApiRoute) GetVersion() string
Version returns the version of the API object.
func (*ModuleApiRoute) NotificationPayload ¶ added in v0.6.1
func (mar *ModuleApiRoute) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (ModuleApiRoute) TableName ¶ added in v0.6.1
func (ModuleApiRoute) TableName() string
TableName sets the name of the table for the ModuleApiRoute objects in the database.
type ModuleRouter ¶ added in v0.6.1
type ModuleRouter struct {
// contains filtered or unexported fields
}
ModuleRouter contains the route paths that are mapped to their handler functions.
func (*ModuleRouter) AddRoute ¶ added in v0.6.1
func (e *ModuleRouter) AddRoute(path string, handler echo.HandlerFunc)
AddRoute adds a new route to the dynamic route map
func (*ModuleRouter) RemoveRoute ¶ added in v0.6.1
func (e *ModuleRouter) RemoveRoute(path string)
RemoveRoute removes a route from the dynamic route map
func (*ModuleRouter) ServeModuleRoutes ¶ added in v0.6.1
func (e *ModuleRouter) ServeModuleRoutes(next echo.HandlerFunc) echo.HandlerFunc
ServeModuleRoutes checks if a dynamic route exists. If it does, it returns the handler function for that route. If not, it pases it on to the next handler func to continue normal request processing.
type ObservabilityDashboardDefinition ¶ added in v0.5.0
type ObservabilityDashboardDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The Grafana Helm workload definition that belongs to this resource.
GrafanaHelmWorkloadDefinitionID *uint `json:"GrafanaHelmWorkloadDefinitionID,omitempty" query:"grafanahelmworkloaddefinitionid" validate:"optional"`
// The version of the grafana helm chart to use from the helm repo, e.g. 1.2.3
GrafanaHelmChartVersion *string `json:"GrafanaHelmChartVersion,omitempty" query:"grafanahelmchartversion" gorm:"default:'7.2.1'" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying grafana chart.
GrafanaHelmValuesDocument *string `json:"GrafanaHelmValuesDocument,omitempty" query:"grafanahelmvaluesdocument" validate:"optional"`
// The associated observability dashboard instances that are deployed from this definition.
ObservabilityDashboardInstances []*ObservabilityDashboardInstance `json:"ObservabilityDashboardInstances,omitempty" validate:"optional,association"`
}
ObservabilityDashboardDefinition defines an dashboard.
func (*ObservabilityDashboardDefinition) DecodeNotifObject ¶ added in v0.5.0
func (odd *ObservabilityDashboardDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*ObservabilityDashboardDefinition) GetId ¶ added in v0.6.0
func (odd *ObservabilityDashboardDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*ObservabilityDashboardDefinition) GetType ¶ added in v0.6.0
func (odd *ObservabilityDashboardDefinition) GetType() string
Type returns the object type.
func (*ObservabilityDashboardDefinition) GetVersion ¶ added in v0.6.0
func (odd *ObservabilityDashboardDefinition) GetVersion() string
Version returns the version of the API object.
func (*ObservabilityDashboardDefinition) NotificationPayload ¶ added in v0.5.0
func (odd *ObservabilityDashboardDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*ObservabilityDashboardDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (odd *ObservabilityDashboardDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (ObservabilityDashboardDefinition) TableName ¶ added in v0.6.0
func (ObservabilityDashboardDefinition) TableName() string
TableName sets the name of the table for the ObservabilityDashboardDefinition objects in the database.
type ObservabilityDashboardInstance ¶ added in v0.5.0
type ObservabilityDashboardInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// ObservabilityDashboardDefinitionID is the definition used to configure the workload instance.
ObservabilityDashboardDefinitionID *uint `` /* 130-byte string literal not displayed */
// The kubernetes runtime where the ingress layer is installed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// The Grafana Helm workload definition that belongs to this resource.
GrafanaHelmWorkloadInstanceID *uint `json:"GrafanaHelmWorkloadInstanceID,omitempty" query:"grafanahelmworkloadinstanceid" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying grafana chart.
GrafanaHelmValuesDocument *string `json:"GrafanaHelmValuesDocument,omitempty" query:"grafanahelmvaluedsdocument" validate:"optional"`
}
ObservabilityDashboardInstances defines an instance of an observability dashboard.
func (*ObservabilityDashboardInstance) DecodeNotifObject ¶ added in v0.5.0
func (odi *ObservabilityDashboardInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*ObservabilityDashboardInstance) GetId ¶ added in v0.6.0
func (odi *ObservabilityDashboardInstance) GetId() uint
GetId returns the unique ID for the object.
func (*ObservabilityDashboardInstance) GetType ¶ added in v0.6.0
func (odi *ObservabilityDashboardInstance) GetType() string
Type returns the object type.
func (*ObservabilityDashboardInstance) GetVersion ¶ added in v0.6.0
func (odi *ObservabilityDashboardInstance) GetVersion() string
Version returns the version of the API object.
func (*ObservabilityDashboardInstance) NotificationPayload ¶ added in v0.5.0
func (odi *ObservabilityDashboardInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*ObservabilityDashboardInstance) ScheduledForDeletion ¶ added in v0.6.0
func (odi *ObservabilityDashboardInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (ObservabilityDashboardInstance) TableName ¶ added in v0.6.0
func (ObservabilityDashboardInstance) TableName() string
TableName sets the name of the table for the ObservabilityDashboardInstance objects in the database.
type ObservabilityStackDefinition ¶ added in v0.5.0
type ObservabilityStackDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// Dashboard
// The observability dashboard definition that belongs to this resource.
ObservabilityDashboardDefinitionID *uint `json:"ObservabilityDashboardDefinitionID,omitempty" query:"observabilitydashboarddefinitionid" validate:"optional"`
// The version of the grafana helm chart to use from the helm repo, e.g. 1.2.3
GrafanaHelmChartVersion *string `json:"GrafanaHelmChartVersion,omitempty" query:"grafanahelmchartversion" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying grafana chart.
GrafanaHelmValuesDocument *string `json:"GrafanaHelmValuesDocument,omitempty" query:"grafanahelmvaluesdocument" validate:"optional"`
// Metrics
// The metrics definition that belongs to this resource.
MetricsDefinitionID *uint `json:"MetricsDefinitionID,omitempty" query:"metricsdefinitionid" validate:"optional"`
// The version of the kube-prometheus-stack helm chart to use from the helm repo, e.g. 1.2.3
KubePrometheusStackHelmChartVersion *string `json:"KubePrometheusStackHelmChartVersion,omitempty" query:"kubeprometheusstackhelmchartversion" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying kube-prometheus-stack chart.
KubePrometheusStackHelmValuesDocument *string `json:"KubePrometheusStackHelmValuesDocument,omitempty" query:"kubeprometheusstackhelmvaluesdocument" validate:"optional"`
// Logging
// The logging definition that belongs to this resource.
LoggingDefinitionID *uint `json:"LoggingDefinitionID,omitempty" query:"loggingdefinitionid" validate:"optional"`
// The version of the loki helm chart to use from the helm repo, e.g. 1.2.3
LokiHelmChartVersion *string `json:"LokiHelmChartVersion,omitempty" query:"lokihelmchartversion" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying loki chart.
LokiHelmValuesDocument *string `json:"LokiHelmValuesDocument,omitempty" query:"lokihelmvaluesdocument" validate:"optional"`
// The version of the promtail helm chart to use from the helm repo, e.g. 1.2.3
PromtailHelmChartVersion *string `json:"PromtailHelmChartVersion,omitempty" query:"promtailhelmchartversion" validate:"optional"`
// Optional Helm workload definition values that can be provided to configure the
// underlying promtail chart.
PromtailHelmValuesDocument *string `json:"PromtailHelmValuesDocument,omitempty" query:"promtailhelmvaluesdocument" validate:"optional"`
// The associated observability stack instances that are deployed from this definition.
ObservabilityStackInstances []*ObservabilityStackInstance `json:"ObservabilityStackInstances,omitempty" validate:"optional,association"`
}
ObservabilityStackDefinition defines an observability stack.
func (*ObservabilityStackDefinition) DecodeNotifObject ¶ added in v0.5.0
func (osd *ObservabilityStackDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*ObservabilityStackDefinition) GetId ¶ added in v0.6.0
func (osd *ObservabilityStackDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*ObservabilityStackDefinition) GetType ¶ added in v0.6.0
func (osd *ObservabilityStackDefinition) GetType() string
Type returns the object type.
func (*ObservabilityStackDefinition) GetVersion ¶ added in v0.6.0
func (osd *ObservabilityStackDefinition) GetVersion() string
Version returns the version of the API object.
func (*ObservabilityStackDefinition) NotificationPayload ¶ added in v0.5.0
func (osd *ObservabilityStackDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*ObservabilityStackDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (osd *ObservabilityStackDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (ObservabilityStackDefinition) TableName ¶ added in v0.6.0
func (ObservabilityStackDefinition) TableName() string
TableName sets the name of the table for the ObservabilityStackDefinition objects in the database.
type ObservabilityStackInstance ¶ added in v0.5.0
type ObservabilityStackInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// ObservabilityStackDefinitionID is the definition used to configure the workload instance.
ObservabilityStackDefinitionID *uint `json:"ObservabilityStackDefinitionID,omitempty" query:"observabilitystackdefinitionid" gorm:"not null" validate:"required"`
// The kubernetes runtime where the ingress layer is installed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// If true, metrics will be enabled for the observability stack.
MetricsEnabled *bool `json:"MetricsEnabled,omitempty" query:"metricsenabled" gorm:"default:true" validate:"optional"`
// If true, logging will be enabled for the observability stack.
LoggingEnabled *bool `json:"LoggingEnabled,omitempty" query:"loggingenabled" gorm:"default:true" validate:"optional"`
// Dashboard
// The observability dashboard instance that belongs to this resource.
ObservabilityDashboardInstanceID *uint `json:"ObservabilityDashboardInstanceID,omitempty" query:"observabilitydashboardinstanceid" validate:"optional"`
// Optional Helm workload instance values that can be provided to configure the
// underlying grafana chart.
GrafanaHelmValuesDocument *string `json:"GrafanaHelmValuesDocument,omitempty" query:"grafanahelmvaluesdocument" validate:"optional"`
// Metrics
// The metrics instance that belongs to this resource.
MetricsInstanceID *uint `json:"MetricsInstanceID,omitempty" query:"metricsinstanceid" validate:"optional"`
// Optional Helm workload instance values that can be provided to configure the
// underlying kube-prometheus-stack chart.
KubePrometheusStackHelmValuesDocument *string `json:"KubePrometheusStackHelmValuesDocument,omitempty" query:"kubeprometheusstackhelmvaluesdocument" validate:"optional"`
// Logging
// The logging instance that belongs to this resource.
LoggingInstanceID *uint `json:"LoggingInstanceID,omitempty" query:"logginginstanceid" validate:"optional"`
// Optional Helm workload instance values that can be provided to configure the
// underlying loki chart.
LokiHelmValuesDocument *string `json:"LokiHelmValuesDocument,omitempty" query:"lokihelmvaluesdocument" validate:"optional"`
// Optional Helm workload Instancehat can be provided to configure the
// underlying promtail chart.
PromtailHelmValuesDocument *string `json:"PromtailHelmValuesDocument,omitempty" query:"promtailhelmvaluesdocument" validate:"optional"`
}
ObservabilityStackInstances defines an instance of an observability stack.
func (*ObservabilityStackInstance) DecodeNotifObject ¶ added in v0.5.0
func (osi *ObservabilityStackInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*ObservabilityStackInstance) GetId ¶ added in v0.6.0
func (osi *ObservabilityStackInstance) GetId() uint
GetId returns the unique ID for the object.
func (*ObservabilityStackInstance) GetType ¶ added in v0.6.0
func (osi *ObservabilityStackInstance) GetType() string
Type returns the object type.
func (*ObservabilityStackInstance) GetVersion ¶ added in v0.6.0
func (osi *ObservabilityStackInstance) GetVersion() string
Version returns the version of the API object.
func (*ObservabilityStackInstance) NotificationPayload ¶ added in v0.5.0
func (osi *ObservabilityStackInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*ObservabilityStackInstance) ScheduledForDeletion ¶ added in v0.6.0
func (osi *ObservabilityStackInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (ObservabilityStackInstance) TableName ¶ added in v0.6.0
func (ObservabilityStackInstance) TableName() string
TableName sets the name of the table for the ObservabilityStackInstance objects in the database.
type Profile ¶
type Profile struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The unique name of a profile
Name *string `json:"Name,omitempty" query:"name" gorm:"not null" validate:"required"`
}
Profile is a named standard configuration for a definition object.
func (*Profile) DecodeNotifObject ¶
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*Profile) GetVersion ¶ added in v0.6.0
Version returns the version of the API object.
func (*Profile) NotificationPayload ¶
func (p *Profile) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
type Reconciliation ¶
type Reconciliation struct {
// Indicates if object is considered to be reconciled by the object's controller.
Reconciled *bool `json:"Reconciled,omitempty" query:"reconciled" gorm:"default:false" validate:"optional"`
// Used by controllers to acknowledge deletion and indicate that deletion
// reconciliation has begun so that subsequent reconciliation attempts can
// act accordingly.
CreationAcknowledged *time.Time `json:"CreationAcknowledged,omitempty" query:"creationacknowledged" validate:"optional"`
// Used by controllers to confirm deletion of an object.
CreationConfirmed *time.Time `json:"CreationConfirmed,omitempty" query:"creationconfirmed" validate:"optional"`
// Gets set to true if creation process fails.
CreationFailed *bool `json:"CreationFailed,omitempty" query:"creationfailed" gorm:"default:false" validate:"optional"`
// Used to inform reconcilers that an object is being deleted so they may
// complete delete reconciliation before actually deleting the object from the database.
DeletionScheduled *time.Time `json:"DeletionScheduled,omitempty" query:"deletionscheduled" validate:"optional"`
// Used by controllers to acknowledge deletion and indicate that deletion
// reconciliation has begun so that subsequent reconciliation attempts can
// act accordingly.
DeletionAcknowledged *time.Time `json:"DeletionAcknowledged,omitempty" query:"deletionacknowledged" validate:"optional"`
// Used by controllers to confirm deletion of an object.
DeletionConfirmed *time.Time `json:"DeletionConfirmed,omitempty" query:"deletionconfirmed" validate:"optional"`
// InterruptReconciliation is used by the controller to indicated that future
// reconcilation should be interrupted. Useful in cases where there is a
// situation where future reconciliation could be descructive such as
// spinning up more infrastructure when there is a unresolved problem.
InterruptReconciliation *bool `json:"InterruptReconciliation,omitempty" query:"interruptreconciliation" gorm:"default:false" validate:"optional"`
}
Reconciliation includes the fields for reconciled objects. These are leveraged by controllers to persist information related to the reconciliation of system state for objects.
type SecretDefinition ¶ added in v0.5.0
type SecretDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The AWS account ID, if the provider is AWS.
AwsAccountID *uint `json:"AwsAccountID,omitempty" query:"awsaccountid" validate:"optional"`
// The secret value to be stored in the provider.
Data *datatypes.JSON `json:"Data,omitempty" query:"data" validate:"required" persist:"false"`
// The associated secret instances that are deployed from this definition.
SecretInstances []*SecretInstance `json:"SecretInstances,omitempty" validate:"optional,association"`
}
SecretDefinition defines a secret that can be deployed to a runtime.
func (*SecretDefinition) BeforeCreate ¶ added in v0.5.0
func (s *SecretDefinition) BeforeCreate(tx *gorm.DB) error
BeforeCreate validates a secret definition before persisting to the database.
func (*SecretDefinition) DecodeNotifObject ¶ added in v0.5.0
func (sd *SecretDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*SecretDefinition) GetId ¶ added in v0.6.0
func (sd *SecretDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*SecretDefinition) GetType ¶ added in v0.6.0
func (sd *SecretDefinition) GetType() string
Type returns the object type.
func (*SecretDefinition) GetVersion ¶ added in v0.6.0
func (sd *SecretDefinition) GetVersion() string
Version returns the version of the API object.
func (*SecretDefinition) NotificationPayload ¶ added in v0.5.0
func (sd *SecretDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*SecretDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (sd *SecretDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (SecretDefinition) TableName ¶ added in v0.6.0
func (SecretDefinition) TableName() string
TableName sets the name of the table for the SecretDefinition objects in the database.
type SecretInstance ¶ added in v0.5.0
type SecretInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The kubernetes runtime to which the helm workload is deployed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// The SecretDefinition that the secret instance is derived from.
SecretDefinitionID *uint `json:"SecretDefinitionID,omitempty" query:"secretdefinitionid" gorm:"not null" validate:"required"`
// The workload instance that the secret is associated with.
WorkloadInstanceID *uint `json:"WorkloadInstanceID,omitempty" query:"workloadinstanceid" validate:"optional"`
// The helm workload instance that the secret is associated with.
HelmWorkloadInstanceID *uint `json:"HelmWorkloadInstanceID,omitempty" query:"helmworkloadinstanceid" validate:"optional"`
}
todo add marker SecretInstance is an instance of a secret deployed to a runtime.
func (*SecretInstance) DecodeNotifObject ¶ added in v0.5.0
func (si *SecretInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*SecretInstance) GetId ¶ added in v0.6.0
func (si *SecretInstance) GetId() uint
GetId returns the unique ID for the object.
func (*SecretInstance) GetType ¶ added in v0.6.0
func (si *SecretInstance) GetType() string
Type returns the object type.
func (*SecretInstance) GetVersion ¶ added in v0.6.0
func (si *SecretInstance) GetVersion() string
Version returns the version of the API object.
func (*SecretInstance) NotificationPayload ¶ added in v0.5.0
func (si *SecretInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*SecretInstance) ScheduledForDeletion ¶ added in v0.6.0
func (si *SecretInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (SecretInstance) TableName ¶ added in v0.6.0
func (SecretInstance) TableName() string
TableName sets the name of the table for the SecretInstance objects in the database.
type Tabler ¶ added in v0.6.0
type Tabler interface {
TableName() string
}
Tabler allows custom table names for objects in the Threeport database.
type TerraformDefinition ¶ added in v0.5.0
type TerraformDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// Path to the directory containing terraform configs with '.tf' file
// extension.
ConfigDir *string `json:"ConfigDir,omitempty" gorm:"not null" validate:"required"`
// The associated terraform instances that are deployed from this definition.
TerraformInstances []*TerraformInstance `json:"TerraformInstances,omitempty" validate:"optional,association"`
}
TerraformDefinition is the configuration for terraform-defined resources.
func (*TerraformDefinition) DecodeNotifObject ¶ added in v0.5.0
func (td *TerraformDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*TerraformDefinition) GetId ¶ added in v0.6.0
func (td *TerraformDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*TerraformDefinition) GetType ¶ added in v0.6.0
func (td *TerraformDefinition) GetType() string
Type returns the object type.
func (*TerraformDefinition) GetVersion ¶ added in v0.6.0
func (td *TerraformDefinition) GetVersion() string
Version returns the version of the API object.
func (*TerraformDefinition) NotificationPayload ¶ added in v0.5.0
func (td *TerraformDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*TerraformDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (td *TerraformDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (TerraformDefinition) TableName ¶ added in v0.6.0
func (TerraformDefinition) TableName() string
TableName sets the name of the table for the TerraformDefinition objects in the database.
type TerraformInstance ¶ added in v0.5.0
type TerraformInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The AWS account in which the resources will be provisioned.
AwsAccountID *uint `json:"AwsAccountID,omitempty" query:"awsaccountid" gorm:"not null" validate:"required"`
// The .tfvars document that contains runtime parameters for an instance of
// some terraform resources.
VarsDocument *string `json:"VarsDocument,omitempty" validate:"optional" encrypt:"true"`
// The terraform state json object that stores the inventory of
// infrastructure being managed by terraform. The terraform state is stored
// in JSON format but is a string type to support encryption.
StateDocument *string `json:"StateDocument,omitempty" validate:"optional" encrypt:"true"`
// The outputs defined in the terraform config that are collected from
// Terraform. The terraform outputs are stored in JSON format but is a
// string typt to support encryption.
Outputs *string `json:"Outputs,omitempty" validate:"optional" encrypt:"true"`
// The definition used to configure the terraform resources.
TerraformDefinitionID *uint `json:"TerraformDefinitionID,omitempty" query:"workloaddefinitionid" gorm:"not null" validate:"required"`
}
TerraformInstance is the deployed instances of terraform resources defined in the associated definition with the variables values. The output from terraform is stored here along with the terraform state document.
func (*TerraformInstance) BeforeCreate ¶ added in v0.5.0
func (t *TerraformInstance) BeforeCreate(tx *gorm.DB) error
BeforeCreate validates a Terraform Instance before persisting to the database.
func (*TerraformInstance) BeforeUpdate ¶ added in v0.5.0
func (t *TerraformInstance) BeforeUpdate(tx *gorm.DB) error
BeforeUpdate validates updates for a Terraform instance before persisting changes to the database
func (*TerraformInstance) DecodeNotifObject ¶ added in v0.5.0
func (ti *TerraformInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*TerraformInstance) GetId ¶ added in v0.6.0
func (ti *TerraformInstance) GetId() uint
GetId returns the unique ID for the object.
func (*TerraformInstance) GetType ¶ added in v0.6.0
func (ti *TerraformInstance) GetType() string
Type returns the object type.
func (*TerraformInstance) GetVersion ¶ added in v0.6.0
func (ti *TerraformInstance) GetVersion() string
Version returns the version of the API object.
func (*TerraformInstance) NotificationPayload ¶ added in v0.5.0
func (ti *TerraformInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*TerraformInstance) ScheduledForDeletion ¶ added in v0.6.0
func (ti *TerraformInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (TerraformInstance) TableName ¶ added in v0.6.0
func (TerraformInstance) TableName() string
TableName sets the name of the table for the TerraformInstance objects in the database.
type Tier ¶
type Tier struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The unique name of a tier.
Name *string `json:"Name,omitempty" query:"name" gorm:"not null" validate:"required"`
// The relative rank of criticality between tiers. The higher the number,
// the greater the criticality. For example, a development tier could have
// a criticality value of 10 while production could be 100. Access control
// can then use this criticality value to determine user access.
Criticality *int `json:"Criticality,omitempty" query:"criticality" gorm:"not null" validate:"required"`
}
Tier is a level of criticality for access control. Common tiers would be "development" and "production" whereby typically many users will have access to manage development tiers while only leads and managers have access to manage production tier resources.
func (*Tier) DecodeNotifObject ¶
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*Tier) GetVersion ¶ added in v0.6.0
Version returns the version of the API object.
func (*Tier) NotificationPayload ¶
func (t *Tier) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
type WorkloadDefinition ¶
type WorkloadDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Definition `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The yaml manifests that define the workload configuration.
YAMLDocument *string `json:"YAMLDocument,omitempty" gorm:"not null" validate:"required"`
// The associated workload resource definitions that are derived.
WorkloadResourceDefinitions []*WorkloadResourceDefinition `json:"WorkloadResourceDefinitions,omitempty" validate:"optional,association"`
// The associated workload instances that are deployed from this definition.
WorkloadInstances []*WorkloadInstance `json:"WorkloadInstances,omitempty" validate:"optional,association"`
}
WorkloadDefinition is the collection of Kubernetes manifests that define a distinct workload.
func (*WorkloadDefinition) DecodeNotifObject ¶
func (wd *WorkloadDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*WorkloadDefinition) GetId ¶ added in v0.6.0
func (wd *WorkloadDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*WorkloadDefinition) GetType ¶ added in v0.6.0
func (wd *WorkloadDefinition) GetType() string
Type returns the object type.
func (*WorkloadDefinition) GetVersion ¶ added in v0.6.0
func (wd *WorkloadDefinition) GetVersion() string
Version returns the version of the API object.
func (*WorkloadDefinition) NotificationPayload ¶
func (wd *WorkloadDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*WorkloadDefinition) ScheduledForDeletion ¶ added in v0.6.0
func (wd *WorkloadDefinition) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (WorkloadDefinition) TableName ¶ added in v0.6.0
func (WorkloadDefinition) TableName() string
TableName sets the name of the table for the WorkloadDefinition objects in the database.
type WorkloadEvent ¶
type WorkloadEvent struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// A unique ID for de-duplicating purposes. It is one of two thing:
// * The Kubernetes Event resource UID: when the WorkloadEvent is derived
// directly from a Kubernetes Event.
// * The workload controller ID: when the WorkloadEvent is emitted by the
// workload controller.
RuntimeEventUID *string `json:"RuntimeEventUID,omitempty" query:"runtimeeventuid" gorm:"not null" validate:"required"`
// The type of event that occurred in Kubernetes.
Type *string `json:"Type,omitempty" query:"type" gorm:"not null" validate:"required"`
// The reason for the event.
Reason *string `json:"Reason,omitempty" query:"reason" gorm:"not null" validate:"required"`
// The message associated with the event.
Message *string `json:"Message,omitempty" query:"message" gorm:"not null" validate:"required"`
// The timestamp for the event in the kubernetes runtime.
Timestamp *time.Time `json:"Timestamp,omitempty" query:"timestamp" gorm:"not null" validate:"required"`
// The related workload instance.
WorkloadInstanceID *uint `json:"WorkloadInstanceID,omitempty" query:"workloadinstanceid" validate:"optional"`
// The related workload resource instance.
WorkloadResourceInstanceID *uint `json:"WorkloadResourceInstanceID,omitempty" query:"workloadresourceinstanceid" validate:"optional"`
// The related helm workload instance.
HelmWorkloadInstanceID *uint `json:"HelmWorkloadInstanceID,omitempty" query:"helmworkloadinstanceid" validate:"optional"`
}
WorkloadEvent is a summary of a Kubernetes Event that is associated with a WorkloadResourceInstance.
func (*WorkloadEvent) DecodeNotifObject ¶
func (we *WorkloadEvent) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*WorkloadEvent) GetId ¶ added in v0.6.0
func (we *WorkloadEvent) GetId() uint
GetId returns the unique ID for the object.
func (*WorkloadEvent) GetType ¶ added in v0.6.0
func (we *WorkloadEvent) GetType() string
Type returns the object type.
func (*WorkloadEvent) GetVersion ¶ added in v0.6.0
func (we *WorkloadEvent) GetVersion() string
Version returns the version of the API object.
func (*WorkloadEvent) NotificationPayload ¶
func (we *WorkloadEvent) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (WorkloadEvent) TableName ¶ added in v0.6.0
func (WorkloadEvent) TableName() string
TableName sets the name of the table for the WorkloadEvent objects in the database.
type WorkloadInstance ¶
type WorkloadInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
Instance `mapstructure:",squash"`
Reconciliation `mapstructure:",squash"`
// The kubernetes runtime to which the workload is deployed.
KubernetesRuntimeInstanceID *uint `json:"KubernetesRuntimeInstanceID,omitempty" query:"kubernetesruntimeinstanceid" gorm:"not null" validate:"required"`
// The definition used to configure the workload instance.
WorkloadDefinitionID *uint `json:"WorkloadDefinitionID,omitempty" query:"workloaddefinitionid" gorm:"not null" validate:"required"`
// The associated workload resource definitions that are derived.
WorkloadResourceInstances []*WorkloadResourceInstance `json:"WorkloadResourceInstances,omitempty" validate:"optional,association"`
// The latest status of a workload instance.
Status *string `json:"Status,omitempty" query:"status" validate:"optional"`
// All events generated for the workload instance that aren't related to a
// particular workload resource instance.
Events []*WorkloadEvent `json:"Events,omitempty" query:"events" validate:"optional"`
}
WorkloadInstance is a deployed instance of a workload.
func (*WorkloadInstance) DecodeNotifObject ¶
func (wi *WorkloadInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*WorkloadInstance) GetId ¶ added in v0.6.0
func (wi *WorkloadInstance) GetId() uint
GetId returns the unique ID for the object.
func (*WorkloadInstance) GetType ¶ added in v0.6.0
func (wi *WorkloadInstance) GetType() string
Type returns the object type.
func (*WorkloadInstance) GetVersion ¶ added in v0.6.0
func (wi *WorkloadInstance) GetVersion() string
Version returns the version of the API object.
func (*WorkloadInstance) NotificationPayload ¶
func (wi *WorkloadInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (*WorkloadInstance) ScheduledForDeletion ¶ added in v0.6.0
func (wi *WorkloadInstance) ScheduledForDeletion() *time.Time
ScheduledForDeletion returns a pointer to the DeletionScheduled timestamp if scheduled for deletion or nil if not scheduled for deletion.
func (WorkloadInstance) TableName ¶ added in v0.6.0
func (WorkloadInstance) TableName() string
TableName sets the name of the table for the WorkloadInstance objects in the database.
type WorkloadResourceDefinition ¶
type WorkloadResourceDefinition struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The individual manifest in JSON format.
JSONDefinition *datatypes.JSON `json:"JSONDefinition,omitempty" gorm:"not null" validate:"required"`
// The workload definition this resource belongs to.
WorkloadDefinitionID *uint `json:"WorkloadDefinitionID,omitempty" query:"workloaddefinitionid" gorm:"not null" validate:"required"`
}
WorkloadResourceDefinition is an individual Kubernetes resource manifest.
func (*WorkloadResourceDefinition) DecodeNotifObject ¶
func (wrd *WorkloadResourceDefinition) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*WorkloadResourceDefinition) GetId ¶ added in v0.6.0
func (wrd *WorkloadResourceDefinition) GetId() uint
GetId returns the unique ID for the object.
func (*WorkloadResourceDefinition) GetType ¶ added in v0.6.0
func (wrd *WorkloadResourceDefinition) GetType() string
Type returns the object type.
func (*WorkloadResourceDefinition) GetVersion ¶ added in v0.6.0
func (wrd *WorkloadResourceDefinition) GetVersion() string
Version returns the version of the API object.
func (*WorkloadResourceDefinition) NotificationPayload ¶
func (wrd *WorkloadResourceDefinition) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (WorkloadResourceDefinition) TableName ¶ added in v0.6.0
func (WorkloadResourceDefinition) TableName() string
TableName sets the name of the table for the WorkloadResourceDefinition objects in the database.
type WorkloadResourceInstance ¶
type WorkloadResourceInstance struct {
Common `swaggerignore:"true" mapstructure:",squash"`
// The individual manifest in JSON format. This field is a superset of
// WorkloadResourceDefinition.JSONDefinition in that it has namespace
// management and other configuration - such as resource allocation
// management - added.
JSONDefinition *datatypes.JSON `json:"JSONDefinition,omitempty" gorm:"not null" validate:"required"`
// The workload definition this resource belongs to.
WorkloadInstanceID *uint `json:"WorkloadInstanceID,omitempty" query:"workloadinstanceid" gorm:"not null" validate:"required"`
// The most recent operation performed on a Kubernete resource in the
// kubernetes runtime.
LastOperation *string `json:"LastOperation,omitempty" query:"lastoperation" validate:"optional"`
// Indicates if object is considered to be reconciled by workload controller.
Reconciled *bool `json:"Reconciled,omitempty" query:"reconciled" gorm:"default:false" validate:"optional"`
// The JSON definition of a Kubernetes resource as stored in etcd in the
// kubernetes runtime.
RuntimeDefinition *datatypes.JSON `json:"RuntimeDefinition,omitempty" query:"runtimedefinition" validate:"optional"`
// All events that have occured related to this object.
Events []*WorkloadEvent `json:"Events,omitempty" query:"events" validate:"optional"`
// Whether another controller has scheduled this resource for deletion
ScheduledForDeletion *time.Time `json:"ScheduledForDeletion,omitempty" query:"scheduledfordeletion" validate:"optional"`
}
WorkloadResourceInstance is a Kubernetes resource instance.
func (*WorkloadResourceInstance) DecodeNotifObject ¶
func (wri *WorkloadResourceInstance) DecodeNotifObject(object interface{}) error
DecodeNotifObject takes the threeport object in the form of a map[string]interface and returns the typed object by marshalling into JSON and then unmarshalling into the typed object. We are not using the mapstructure library here as that requires custom decode hooks to manage fields with non-native go types.
func (*WorkloadResourceInstance) GetId ¶ added in v0.6.0
func (wri *WorkloadResourceInstance) GetId() uint
GetId returns the unique ID for the object.
func (*WorkloadResourceInstance) GetType ¶ added in v0.6.0
func (wri *WorkloadResourceInstance) GetType() string
Type returns the object type.
func (*WorkloadResourceInstance) GetVersion ¶ added in v0.6.0
func (wri *WorkloadResourceInstance) GetVersion() string
Version returns the version of the API object.
func (*WorkloadResourceInstance) NotificationPayload ¶
func (wri *WorkloadResourceInstance) NotificationPayload( operation notifications.NotificationOperation, requeue bool, creationTime int64, ) (*[]byte, error)
NotificationPayload returns the notification payload that is delivered to the controller when a change is made. It includes the object as presented by the client when the change was made.
func (WorkloadResourceInstance) TableName ¶ added in v0.6.0
func (WorkloadResourceInstance) TableName() string
TableName sets the name of the table for the WorkloadResourceInstance objects in the database.
Source Files
¶
- actuator.go
- actuator_gen.go
- attached_object.go
- attached_object_gen.go
- aws.go
- aws_gen.go
- aws_validate.go
- class.go
- common.go
- control_plane.go
- control_plane_components.go
- control_plane_gen.go
- events.go
- events_gen.go
- forward_proxy.go
- gateway.go
- gateway_gen.go
- helm_workload.go
- helm_workload_gen.go
- kubernetes_runtime.go
- kubernetes_runtime_gen.go
- kubernetes_runtime_validate.go
- log.go
- log_gen.go
- message.go
- module.go
- module_gen.go
- module_router.go
- module_validate.go
- observability.go
- observability_gen.go
- secret.go
- secret_gen.go
- secret_validate.go
- table_name_gen.go
- terraform.go
- terraform_gen.go
- terraform_validate.go
- workload.go
- workload_gen.go