model

package
v0.0.0-...-89d7f24 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllHubType = []HubType{
	HubTypeGit,
	HubTypeRemote,
}
View Source
var AllInfrastructureType = []InfrastructureType{
	InfrastructureTypeKubernetes,
}

Functions

This section is empty.

Types

type ActionPayload

type ActionPayload struct {
	RequestID    string  `json:"requestID"`
	RequestType  string  `json:"requestType"`
	K8sManifest  string  `json:"k8sManifest"`
	Namespace    string  `json:"namespace"`
	ExternalData *string `json:"externalData,omitempty"`
	Username     *string `json:"username,omitempty"`
}

type Annotation

type Annotation struct {
	Categories       string `json:"categories"`
	Vendor           string `json:"vendor"`
	CreatedAt        string `json:"createdAt"`
	Repository       string `json:"repository"`
	Support          string `json:"support"`
	ChartDescription string `json:"chartDescription"`
}

type Audit

type Audit interface {
	IsAudit()
	GetUpdatedAt() *string
	GetCreatedAt() *string
	GetUpdatedBy() *UserDetails
	GetCreatedBy() *UserDetails
}

type AuthType

type AuthType string
const (
	AuthTypeBasic AuthType = "BASIC"
	AuthTypeNone  AuthType = "NONE"
	AuthTypeSSH   AuthType = "SSH"
	AuthTypeToken AuthType = "TOKEN"
)

func (AuthType) IsValid

func (e AuthType) IsValid() bool

func (AuthType) MarshalGQL

func (e AuthType) MarshalGQL(w io.Writer)

func (AuthType) String

func (e AuthType) String() string

func (*AuthType) UnmarshalGQL

func (e *AuthType) UnmarshalGQL(v interface{}) error

type CMDProbeRequest

type CMDProbeRequest struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// Command of the Probe
	Command string `json:"command"`
	// Comparator of the Probe
	Comparator *ComparatorInput `json:"comparator"`
	// Source of the Probe
	Source *string `json:"source,omitempty"`
}

Defines the input for CMD probe properties

type ChaosExperimentRequest

type ChaosExperimentRequest struct {
	// ID of the experiment
	ExperimentID *string `json:"experimentID,omitempty"`
	// Boolean check indicating if the created scenario will be executed or not
	RunExperiment *bool `json:"runExperiment,omitempty"`
	// Manifest of the experiment
	ExperimentManifest string `json:"experimentManifest"`
	// Type of the experiment
	ExperimentType *ExperimentType `json:"experimentType,omitempty"`
	// Cron syntax of the experiment schedule
	CronSyntax string `json:"cronSyntax"`
	// Name of the experiment
	ExperimentName string `json:"experimentName"`
	// Description of the experiment
	ExperimentDescription string `json:"experimentDescription"`
	// Array containing weightage and name of each chaos experiment in the experiment
	Weightages []*WeightagesInput `json:"weightages"`
	// Bool value indicating whether the experiment is a custom experiment or not
	IsCustomExperiment bool `json:"isCustomExperiment"`
	// ID of the target infra in which the experiment will run
	InfraID string `json:"infraID"`
	// Tags of the infra
	Tags []string `json:"tags,omitempty"`
}

Defines the details for a chaos experiment

type ChaosExperimentResponse

type ChaosExperimentResponse struct {
	// ID of the experiment
	ExperimentID string `json:"experimentID"`
	ProjectID    string `json:"projectID"`
	// Cron syntax of the experiment schedule
	CronSyntax string `json:"cronSyntax"`
	// Name of the experiment
	ExperimentName string `json:"experimentName"`
	// Description of the experiment
	ExperimentDescription string `json:"experimentDescription"`
	// Bool value indicating whether the experiment is a custom experiment or not
	IsCustomExperiment bool `json:"isCustomExperiment"`
	// Tags of the infra
	Tags []string `json:"tags,omitempty"`
}

Defines the response received for querying the details of chaos experiment

type ChaosHub

type ChaosHub struct {
	// ID of the chaos hub
	ID string `json:"id"`
	// URL of the git repository
	RepoURL string `json:"repoURL"`
	// Branch of the git repository
	RepoBranch string `json:"repoBranch"`
	// Connected Hub of remote repository
	RemoteHub string `json:"remoteHub"`
	// ID of the project in which the chaos hub is present
	ProjectID string `json:"projectID"`
	// Default Hub Identifier
	IsDefault bool `json:"isDefault"`
	// Name of the chaos hub
	Name string `json:"name"`
	// Tags of the ChaosHub
	Tags []string `json:"tags,omitempty"`
	// User who created the ChaosHub
	CreatedBy *UserDetails `json:"createdBy,omitempty"`
	// User who has updated the ChaosHub
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
	// Description of ChaosHub
	Description *string `json:"description,omitempty"`
	// Type of ChaosHub
	HubType HubType `json:"hubType"`
	// Bool value indicating whether the hub is private or not.
	IsPrivate bool `json:"isPrivate"`
	// Type of authentication used: 	BASIC, SSH,	TOKEN
	AuthType AuthType `json:"authType"`
	// Token for authentication of private chaos hub
	Token *string `json:"token,omitempty"`
	// Git username
	UserName *string `json:"userName,omitempty"`
	// Git password
	Password *string `json:"password,omitempty"`
	// Private SSH key for authenticating into private chaos hub
	SSHPrivateKey *string `json:"sshPrivateKey,omitempty"`
	// Bool value indicating if the chaos hub is removed
	IsRemoved bool `json:"isRemoved"`
	// Timestamp when the chaos hub was created
	CreatedAt string `json:"createdAt"`
	// Timestamp when the chaos hub was last updated
	UpdatedAt string `json:"updatedAt"`
	// Timestamp when the chaos hub was last synced
	LastSyncedAt string `json:"lastSyncedAt"`
}

func (ChaosHub) GetCreatedAt

func (this ChaosHub) GetCreatedAt() *string

func (ChaosHub) GetCreatedBy

func (this ChaosHub) GetCreatedBy() *UserDetails

func (ChaosHub) GetDescription

func (this ChaosHub) GetDescription() *string

func (ChaosHub) GetName

func (this ChaosHub) GetName() string

func (ChaosHub) GetTags

func (this ChaosHub) GetTags() []string

func (ChaosHub) GetUpdatedAt

func (this ChaosHub) GetUpdatedAt() *string

func (ChaosHub) GetUpdatedBy

func (this ChaosHub) GetUpdatedBy() *UserDetails

func (ChaosHub) IsAudit

func (ChaosHub) IsAudit()

func (ChaosHub) IsResourceDetails

func (ChaosHub) IsResourceDetails()

type ChaosHubFilterInput

type ChaosHubFilterInput struct {
	// Name of the ChaosHub
	ChaosHubName *string `json:"chaosHubName,omitempty"`
	// Tags of a chaos hub
	Tags []string `json:"tags,omitempty"`
	// Description of a chaos hub
	Description *string `json:"description,omitempty"`
}

Defines filter options for ChaosHub

type ChaosHubStatus

type ChaosHubStatus struct {
	// ID of the hub
	ID string `json:"id"`
	// URL of the git repository
	RepoURL string `json:"repoURL"`
	// Branch of the git repository
	RepoBranch string `json:"repoBranch"`
	// Connected Hub of remote repository
	RemoteHub string `json:"remoteHub"`
	// Bool value indicating whether the hub is available or not.
	IsAvailable bool `json:"isAvailable"`
	// Total number of experiments in the hub
	TotalFaults string `json:"totalFaults"`
	// Total experiments
	TotalExperiments string `json:"totalExperiments"`
	// Name of the chaos hub
	Name string `json:"name"`
	// Type of ChaosHub
	HubType HubType `json:"hubType"`
	// Bool value indicating whether the hub is private or not.
	IsPrivate bool `json:"isPrivate"`
	// Type of authentication used: 	BASIC, SSH,	TOKEN
	AuthType AuthType `json:"authType"`
	// Token for authentication of private chaos hub
	Token *string `json:"token,omitempty"`
	// Git username
	UserName *string `json:"userName,omitempty"`
	// Git password
	Password *string `json:"password,omitempty"`
	// Bool value indicating whether the hub is private or not.
	IsRemoved bool `json:"isRemoved"`
	// Private SSH key for authenticating into private chaos hub
	SSHPrivateKey *string `json:"sshPrivateKey,omitempty"`
	// Public SSH key for authenticating into private chaos hub
	SSHPublicKey *string `json:"sshPublicKey,omitempty"`
	// Timestamp when the chaos hub was last synced
	LastSyncedAt string `json:"lastSyncedAt"`
	// Tags of the ChaosHub
	Tags []string `json:"tags,omitempty"`
	// User who created the ChaosHub
	CreatedBy *UserDetails `json:"createdBy,omitempty"`
	// User who has updated the ChaosHub
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
	// Created at timestamp
	CreatedAt string `json:"createdAt"`
	// Updated at timestamp
	UpdatedAt string `json:"updatedAt"`
	// Description of ChaosHub
	Description *string `json:"description,omitempty"`
	// Default Hub Identifier
	IsDefault bool `json:"isDefault"`
}

func (ChaosHubStatus) GetCreatedAt

func (this ChaosHubStatus) GetCreatedAt() *string

func (ChaosHubStatus) GetCreatedBy

func (this ChaosHubStatus) GetCreatedBy() *UserDetails

func (ChaosHubStatus) GetDescription

func (this ChaosHubStatus) GetDescription() *string

func (ChaosHubStatus) GetName

func (this ChaosHubStatus) GetName() string

func (ChaosHubStatus) GetTags

func (this ChaosHubStatus) GetTags() []string

func (ChaosHubStatus) GetUpdatedAt

func (this ChaosHubStatus) GetUpdatedAt() *string

func (ChaosHubStatus) GetUpdatedBy

func (this ChaosHubStatus) GetUpdatedBy() *UserDetails

func (ChaosHubStatus) IsAudit

func (ChaosHubStatus) IsAudit()

func (ChaosHubStatus) IsResourceDetails

func (ChaosHubStatus) IsResourceDetails()

type Chart

type Chart struct {
	APIVersion  string              `json:"apiVersion"`
	Kind        string              `json:"kind"`
	Metadata    *Metadata           `json:"metadata"`
	Spec        *Spec               `json:"spec"`
	PackageInfo *PackageInformation `json:"packageInfo"`
}

type CloningInput

type CloningInput struct {
	// Name of the chaos hub
	Name string `json:"name"`
	// Branch of the git repository
	RepoBranch string `json:"repoBranch"`
	// URL of the git repository
	RepoURL string `json:"repoURL"`
	// Connected Hub of remote repository
	RemoteHub string `json:"remoteHub"`
	// Bool value indicating whether the hub is private or not.
	IsPrivate bool `json:"isPrivate"`
	// Type of authentication used: 	BASIC, SSH,	TOKEN
	AuthType AuthType `json:"authType"`
	// Token for authentication of private chaos hub
	Token *string `json:"token,omitempty"`
	// Git username
	UserName *string `json:"userName,omitempty"`
	// Git password
	Password      *string `json:"password,omitempty"`
	SSHPrivateKey *string `json:"sshPrivateKey,omitempty"`
	IsDefault     bool    `json:"isDefault"`
}

type CommonProbeProperties

type CommonProbeProperties interface {
	IsCommonProbeProperties()
	// Timeout of the Probe
	GetProbeTimeout() string
	// Interval of the Probe
	GetInterval() string
	// Retry interval of the Probe
	GetRetry() *int
	// Attempt contains the total attempt count for the probe
	GetAttempt() *int
	// Polling interval of the Probe
	GetProbePollingInterval() *string
	// Initial delay interval of the Probe in seconds
	GetInitialDelay() *string
	// EvaluationTimeout is the timeout window in which the SLO metrics
	GetEvaluationTimeout() *string
	// Is stop on failure enabled in the Probe
	GetStopOnFailure() *bool
}

Defines the common probe properties shared across different ProbeTypes

type Comparator

type Comparator struct {
	// Type of the Comparator
	Type string `json:"type"`
	// Value of the Comparator
	Value string `json:"value"`
	// Operator of the Comparator
	Criteria string `json:"criteria"`
}

Defines the properties of the comparator

type ComparatorInput

type ComparatorInput struct {
	// Type of the Comparator
	Type string `json:"type"`
	// Value of the Comparator
	Value string `json:"value"`
	// Operator of the Comparator
	Criteria string `json:"criteria"`
}

Defines the input properties of the comparator

type ConfirmInfraRegistrationResponse

type ConfirmInfraRegistrationResponse struct {
	IsInfraConfirmed bool    `json:"isInfraConfirmed"`
	NewAccessKey     *string `json:"newAccessKey,omitempty"`
	InfraID          *string `json:"infraID,omitempty"`
}

type CreateChaosHubRequest

type CreateChaosHubRequest struct {
	// Name of the chaos hub
	Name string `json:"name"`
	// Tags of the ChaosHub
	Tags []string `json:"tags,omitempty"`
	// Description of ChaosHub
	Description *string `json:"description,omitempty"`
	// URL of the git repository
	RepoURL string `json:"repoURL"`
	// Branch of the git repository
	RepoBranch string `json:"repoBranch"`
	// Connected Hub of remote repository
	RemoteHub string `json:"remoteHub"`
	// Bool value indicating whether the hub is private or not.
	IsPrivate bool `json:"isPrivate"`
	// Type of authentication used: 	BASIC, SSH,	TOKEN
	AuthType AuthType `json:"authType"`
	// Token for authentication of private chaos hub
	Token *string `json:"token,omitempty"`
	// Git username
	UserName *string `json:"userName,omitempty"`
	// Git password
	Password *string `json:"password,omitempty"`
	// Private SSH key for authenticating into private chaos hub
	SSHPrivateKey *string `json:"sshPrivateKey,omitempty"`
	// Public SSH key for authenticating into private chaos hub
	SSHPublicKey *string `json:"sshPublicKey,omitempty"`
}

Defines the details required for creating a chaos hub

type CreateEnvironmentRequest

type CreateEnvironmentRequest struct {
	EnvironmentID string          `json:"environmentID"`
	Name          string          `json:"name"`
	Type          EnvironmentType `json:"type"`
	Description   *string         `json:"description,omitempty"`
	Tags          []string        `json:"tags,omitempty"`
}

type CreateRemoteChaosHub

type CreateRemoteChaosHub struct {
	// Name of the chaos hub
	Name string `json:"name"`
	// Tags of the ChaosHub
	Tags []string `json:"tags,omitempty"`
	// Description of ChaosHub
	Description *string `json:"description,omitempty"`
	// URL of the git repository
	RepoURL string `json:"repoURL"`
	// Connected Hub of remote repository
	RemoteHub string `json:"remoteHub"`
}

type DateRange

type DateRange struct {
	// Start date
	StartDate string `json:"startDate"`
	// End date
	EndDate *string `json:"endDate,omitempty"`
}

Defines the start date and end date for the filtering the data

type Environment

type Environment struct {
	ProjectID     string          `json:"projectID"`
	EnvironmentID string          `json:"environmentID"`
	Name          string          `json:"name"`
	Description   *string         `json:"description,omitempty"`
	Tags          []string        `json:"tags,omitempty"`
	Type          EnvironmentType `json:"type"`
	CreatedAt     string          `json:"createdAt"`
	CreatedBy     *UserDetails    `json:"createdBy,omitempty"`
	UpdatedBy     *UserDetails    `json:"updatedBy,omitempty"`
	UpdatedAt     string          `json:"updatedAt"`
	IsRemoved     *bool           `json:"isRemoved,omitempty"`
	InfraIDs      []string        `json:"infraIDs,omitempty"`
}

func (Environment) GetCreatedAt

func (this Environment) GetCreatedAt() *string

func (Environment) GetCreatedBy

func (this Environment) GetCreatedBy() *UserDetails

func (Environment) GetDescription

func (this Environment) GetDescription() *string

func (Environment) GetName

func (this Environment) GetName() string

func (Environment) GetTags

func (this Environment) GetTags() []string

func (Environment) GetUpdatedAt

func (this Environment) GetUpdatedAt() *string

func (Environment) GetUpdatedBy

func (this Environment) GetUpdatedBy() *UserDetails

func (Environment) IsAudit

func (Environment) IsAudit()

func (Environment) IsResourceDetails

func (Environment) IsResourceDetails()

type EnvironmentFilterInput

type EnvironmentFilterInput struct {
	// Name of the environment
	Name *string `json:"name,omitempty"`
	// ID of the environment
	Description *string `json:"description,omitempty"`
	// Type name of environment
	Type *EnvironmentType `json:"type,omitempty"`
	// Tags of an environment
	Tags []string `json:"tags,omitempty"`
}

Defines filter options for infras

type EnvironmentSortInput

type EnvironmentSortInput struct {
	// Field in which sorting will be done
	Field EnvironmentSortingField `json:"field"`
	// Bool value indicating whether the sorting will be done in ascending order
	Ascending *bool `json:"ascending,omitempty"`
}

Defines sorting options for experiment

type EnvironmentSortingField

type EnvironmentSortingField string
const (
	EnvironmentSortingFieldName EnvironmentSortingField = "NAME"
	EnvironmentSortingFieldTime EnvironmentSortingField = "TIME"
)

func (EnvironmentSortingField) IsValid

func (e EnvironmentSortingField) IsValid() bool

func (EnvironmentSortingField) MarshalGQL

func (e EnvironmentSortingField) MarshalGQL(w io.Writer)

func (EnvironmentSortingField) String

func (e EnvironmentSortingField) String() string

func (*EnvironmentSortingField) UnmarshalGQL

func (e *EnvironmentSortingField) UnmarshalGQL(v interface{}) error

type EnvironmentType

type EnvironmentType string
const (
	EnvironmentTypeProd    EnvironmentType = "PROD"
	EnvironmentTypeNonProd EnvironmentType = "NON_PROD"
)

func (EnvironmentType) IsValid

func (e EnvironmentType) IsValid() bool

func (EnvironmentType) MarshalGQL

func (e EnvironmentType) MarshalGQL(w io.Writer)

func (EnvironmentType) String

func (e EnvironmentType) String() string

func (*EnvironmentType) UnmarshalGQL

func (e *EnvironmentType) UnmarshalGQL(v interface{}) error

type ExecutedByExperiment

type ExecutedByExperiment struct {
	// Experiment ID
	ExperimentID string `json:"experimentID"`
	// Experiment Name
	ExperimentName string `json:"experimentName"`
	// Timestamp at which the experiment was last updated
	UpdatedAt int `json:"updatedAt"`
	// User who has updated the experiment
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
}

Defines the Executed by which experiment details for Probes

type ExecutionHistory

type ExecutionHistory struct {
	// Probe Mode
	Mode Mode `json:"mode"`
	// Fault Name
	FaultName string `json:"faultName"`
	// Fault Status
	Status *Status `json:"status"`
	// Fault executed by which experiment
	ExecutedByExperiment *ExecutedByExperiment `json:"executedByExperiment"`
}

Defines the Execution History of experiment referenced by the Probe

type Experiment

type Experiment struct {
	ProjectID string `json:"projectID"`
	// ID of the experiment
	ExperimentID string `json:"experimentID"`
	// Type of the experiment
	ExperimentType *string `json:"experimentType,omitempty"`
	// Manifest of the experiment
	ExperimentManifest string `json:"experimentManifest"`
	// Cron syntax of the experiment schedule
	CronSyntax string `json:"cronSyntax"`
	// Name of the experiment
	Name string `json:"name"`
	// Description of the experiment
	Description string `json:"description"`
	// Array containing weightage and name of each chaos fault in the experiment
	Weightages []*Weightages `json:"weightages"`
	// Bool value indicating whether the experiment is a custom experiment or not
	IsCustomExperiment bool `json:"isCustomExperiment"`
	// Timestamp when the experiment was last updated
	UpdatedAt string `json:"updatedAt"`
	// Timestamp when the experiment was created
	CreatedAt string `json:"createdAt"`
	// Target infra in which the experiment will run
	Infra *Infra `json:"infra,omitempty"`
	// Bool value indicating if the experiment has removed
	IsRemoved bool `json:"isRemoved"`
	// Tags of the experiment
	Tags []string `json:"tags,omitempty"`
	// User who created the experiment
	CreatedBy *UserDetails `json:"createdBy,omitempty"`
	// Array of object containing details of recent experiment runs
	RecentExperimentRunDetails []*RecentExperimentRun `json:"recentExperimentRunDetails,omitempty"`
	// Details of the user who updated the experiment
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
}

Defines the details for a experiment

func (Experiment) GetCreatedAt

func (this Experiment) GetCreatedAt() *string

func (Experiment) GetCreatedBy

func (this Experiment) GetCreatedBy() *UserDetails

func (Experiment) GetDescription

func (this Experiment) GetDescription() *string

func (Experiment) GetName

func (this Experiment) GetName() string

func (Experiment) GetTags

func (this Experiment) GetTags() []string

func (Experiment) GetUpdatedAt

func (this Experiment) GetUpdatedAt() *string

func (Experiment) GetUpdatedBy

func (this Experiment) GetUpdatedBy() *UserDetails

func (Experiment) IsAudit

func (Experiment) IsAudit()

func (Experiment) IsResourceDetails

func (Experiment) IsResourceDetails()

type ExperimentDetails

type ExperimentDetails struct {
	// Engine Manifest
	EngineDetails string `json:"engineDetails"`
	// Experiment Manifest
	ExperimentDetails string `json:"experimentDetails"`
}

type ExperimentFilterInput

type ExperimentFilterInput struct {
	// Name of the experiment
	ExperimentName *string `json:"experimentName,omitempty"`
	// Name of the infra in which the experiment is running
	InfraName *string `json:"infraName,omitempty"`
	// ID of the infra in which the experiment is running
	InfraID *string `json:"infraID,omitempty"`
	// Bool value indicating if Chaos Infrastructure is active
	InfraActive *bool `json:"infraActive,omitempty"`
	// Scenario type of the experiment i.e. CRON or NON_CRON
	ScheduleType *ScheduleType `json:"scheduleType,omitempty"`
	// Status of the latest experiment run
	Status *string `json:"status,omitempty"`
	// Date range for filtering purpose
	DateRange *DateRange `json:"dateRange,omitempty"`
	// Type of infras
	InfraTypes []*InfrastructureType `json:"infraTypes,omitempty"`
}

Defines filter options for experiments

type ExperimentRequest

type ExperimentRequest struct {
	// Name of the chart being used
	Category string `json:"category"`
	// Name of the experiment
	ExperimentName string `json:"experimentName"`
	// ID of the hub
	HubID string `json:"hubID"`
}

type ExperimentRun

type ExperimentRun struct {
	ProjectID string `json:"projectID"`
	// ID of the experiment run which is to be queried
	ExperimentRunID string `json:"experimentRunID"`
	// Type of the experiment
	ExperimentType *string `json:"experimentType,omitempty"`
	// ID of the experiment
	ExperimentID string `json:"experimentID"`
	// Array containing weightage and name of each chaos fault in the experiment
	Weightages []*Weightages `json:"weightages"`
	// Timestamp at which experiment run was last updated
	UpdatedAt string `json:"updatedAt"`
	// Timestamp at which experiment run was created
	CreatedAt string `json:"createdAt"`
	// Target infra in which the experiment will run
	Infra *Infra `json:"infra"`
	// Name of the experiment
	ExperimentName string `json:"experimentName"`
	// Manifest of the experiment run
	ExperimentManifest string `json:"experimentManifest"`
	// Phase of the experiment run
	Phase ExperimentRunStatus `json:"phase"`
	// Resiliency score of the experiment
	ResiliencyScore *float64 `json:"resiliencyScore,omitempty"`
	// Number of faults passed
	FaultsPassed *int `json:"faultsPassed,omitempty"`
	// Number of faults failed
	FaultsFailed *int `json:"faultsFailed,omitempty"`
	// Number of faults awaited
	FaultsAwaited *int `json:"faultsAwaited,omitempty"`
	// Number of faults stopped
	FaultsStopped *int `json:"faultsStopped,omitempty"`
	// Number of faults which are not available
	FaultsNa *int `json:"faultsNa,omitempty"`
	// Total number of faults
	TotalFaults *int `json:"totalFaults,omitempty"`
	// Stores all the experiment run details related to the nodes of DAG graph and chaos results of the faults
	ExecutionData string `json:"executionData"`
	// Bool value indicating if the experiment run has removed
	IsRemoved *bool `json:"isRemoved,omitempty"`
	// User who has updated the experiment
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
	// User who has created the experiment run
	CreatedBy *UserDetails `json:"createdBy,omitempty"`
	// Notify ID of the experiment run
	NotifyID *string `json:"notifyID,omitempty"`
	// runSequence is the sequence number of experiment run
	RunSequence int `json:"runSequence"`
}

Defines the details of a experiment run

func (ExperimentRun) GetCreatedAt

func (this ExperimentRun) GetCreatedAt() *string

func (ExperimentRun) GetCreatedBy

func (this ExperimentRun) GetCreatedBy() *UserDetails

func (ExperimentRun) GetUpdatedAt

func (this ExperimentRun) GetUpdatedAt() *string

func (ExperimentRun) GetUpdatedBy

func (this ExperimentRun) GetUpdatedBy() *UserDetails

func (ExperimentRun) IsAudit

func (ExperimentRun) IsAudit()

type ExperimentRunFilterInput

type ExperimentRunFilterInput struct {
	// Name of the experiment
	ExperimentName *string `json:"experimentName,omitempty"`
	// Name of the infra infra
	InfraID *string `json:"infraID,omitempty"`
	// Type of the experiment
	ExperimentType *ScheduleType `json:"experimentType,omitempty"`
	// Status of the experiment run
	ExperimentStatus *ExperimentRunStatus `json:"experimentStatus,omitempty"`
	// Date range for filtering purpose
	DateRange *DateRange `json:"dateRange,omitempty"`
	// ID of experiment run
	ExperimentRunID *string `json:"experimentRunID,omitempty"`
	// Array of experiment run status
	ExperimentRunStatus []*string `json:"experimentRunStatus,omitempty"`
	// Type of infras
	InfraTypes []*InfrastructureType `json:"infraTypes,omitempty"`
}

Defines input type for experiment run filter

type ExperimentRunRequest

type ExperimentRunRequest struct {
	// ID of the experiment
	ExperimentID string `json:"experimentID"`
	// notifyID is required to give an ack for non cron experiment execution
	NotifyID *string `json:"notifyID,omitempty"`
	// ID of the experiment run which is to be queried
	ExperimentRunID string `json:"experimentRunID"`
	// Name of the experiment
	ExperimentName string `json:"experimentName"`
	// Stores all the experiment run details related to the nodes of DAG graph and chaos results of the experiments
	ExecutionData string `json:"executionData"`
	// ID of the infra infra in which the experiment is running
	InfraID *InfraIdentity `json:"infraID"`
	// ID of the revision which consists manifest details
	RevisionID string `json:"revisionID"`
	// Bool value indicating if the experiment run has completed
	Completed bool `json:"completed"`
	// Bool value indicating if the experiment run has removed
	IsRemoved *bool `json:"isRemoved,omitempty"`
	// User who has updated the experiment
	UpdatedBy string `json:"updatedBy"`
}

Defines the details for a experiment run

type ExperimentRunSortInput

type ExperimentRunSortInput struct {
	// Field in which sorting will be done
	Field ExperimentSortingField `json:"field"`
	// Bool value indicating whether the sorting will be done in ascending order
	Ascending *bool `json:"ascending,omitempty"`
}

Defines sorting options for experiment runs

type ExperimentRunStatus

type ExperimentRunStatus string
const (
	ExperimentRunStatusAll                ExperimentRunStatus = "All"
	ExperimentRunStatusRunning            ExperimentRunStatus = "Running"
	ExperimentRunStatusCompleted          ExperimentRunStatus = "Completed"
	ExperimentRunStatusCompletedWithError ExperimentRunStatus = "Completed_With_Error"
	ExperimentRunStatusStopped            ExperimentRunStatus = "Stopped"
	ExperimentRunStatusSkipped            ExperimentRunStatus = "Skipped"
	ExperimentRunStatusError              ExperimentRunStatus = "Error"
	ExperimentRunStatusTimeout            ExperimentRunStatus = "Timeout"
	ExperimentRunStatusTerminated         ExperimentRunStatus = "Terminated"
	ExperimentRunStatusQueued             ExperimentRunStatus = "Queued"
	ExperimentRunStatusNa                 ExperimentRunStatus = "NA"
)

func (ExperimentRunStatus) IsValid

func (e ExperimentRunStatus) IsValid() bool

func (ExperimentRunStatus) MarshalGQL

func (e ExperimentRunStatus) MarshalGQL(w io.Writer)

func (ExperimentRunStatus) String

func (e ExperimentRunStatus) String() string

func (*ExperimentRunStatus) UnmarshalGQL

func (e *ExperimentRunStatus) UnmarshalGQL(v interface{}) error

type ExperimentSortInput

type ExperimentSortInput struct {
	// Field in which sorting will be done
	Field ExperimentSortingField `json:"field"`
	// Bool value indicating whether the sorting will be done in ascending order
	Ascending *bool `json:"ascending,omitempty"`
}

Defines sorting options for experiment

type ExperimentSortingField

type ExperimentSortingField string
const (
	ExperimentSortingFieldName ExperimentSortingField = "NAME"
	ExperimentSortingFieldTime ExperimentSortingField = "TIME"
)

func (ExperimentSortingField) IsValid

func (e ExperimentSortingField) IsValid() bool

func (ExperimentSortingField) MarshalGQL

func (e ExperimentSortingField) MarshalGQL(w io.Writer)

func (ExperimentSortingField) String

func (e ExperimentSortingField) String() string

func (*ExperimentSortingField) UnmarshalGQL

func (e *ExperimentSortingField) UnmarshalGQL(v interface{}) error

type ExperimentType

type ExperimentType string
const (
	ExperimentTypeAll            ExperimentType = "All"
	ExperimentTypeExperiment     ExperimentType = "Experiment"
	ExperimentTypeCronExperiment ExperimentType = "CronExperiment"
	ExperimentTypeChaosEngine    ExperimentType = "ChaosEngine"
	ExperimentTypeChaosSchedule  ExperimentType = "ChaosSchedule"
)

func (ExperimentType) IsValid

func (e ExperimentType) IsValid() bool

func (ExperimentType) MarshalGQL

func (e ExperimentType) MarshalGQL(w io.Writer)

func (ExperimentType) String

func (e ExperimentType) String() string

func (*ExperimentType) UnmarshalGQL

func (e *ExperimentType) UnmarshalGQL(v interface{}) error

type Experiments

type Experiments struct {
	Name string `json:"name"`
	CSV  string `json:"CSV"`
	Desc string `json:"desc"`
}

type FaultDetails

type FaultDetails struct {
	// fault consists of fault.yaml
	Fault string `json:"fault"`
	// engine consists engine.yaml
	Engine string `json:"engine"`
	// csv consists chartserviceversion.yaml
	CSV string `json:"csv"`
}

Fault Detail consists of all the fault related details

type FaultList

type FaultList struct {
	Name        string   `json:"name"`
	DisplayName string   `json:"displayName"`
	Description string   `json:"description"`
	Plan        []string `json:"plan,omitempty"`
}

type FileType

type FileType string
const (
	FileTypeExperiment FileType = "EXPERIMENT"
	FileTypeEngine     FileType = "ENGINE"
	FileTypeWorkflow   FileType = "WORKFLOW"
	FileTypeCSV        FileType = "CSV"
)

func (FileType) IsValid

func (e FileType) IsValid() bool

func (FileType) MarshalGQL

func (e FileType) MarshalGQL(w io.Writer)

func (FileType) String

func (e FileType) String() string

func (*FileType) UnmarshalGQL

func (e *FileType) UnmarshalGQL(v interface{}) error

type GETRequest

type GETRequest struct {
	// Criteria of the request
	Criteria string `json:"criteria"`
	// Response Code of the request
	ResponseCode string `json:"responseCode"`
}

Details for input of GET request

type Get

type Get struct {
	// Criteria of the request
	Criteria string `json:"criteria"`
	// Response Code of the request
	ResponseCode string `json:"responseCode"`
}

Details of GET request

type GetChaosHubStatsResponse

type GetChaosHubStatsResponse struct {
	// Total number of chaoshubs
	TotalChaosHubs int `json:"totalChaosHubs"`
}

type GetExperimentResponse

type GetExperimentResponse struct {
	// Details of experiment
	ExperimentDetails *Experiment `json:"experimentDetails"`
	// Average resiliency score of the experiment
	AverageResiliencyScore *float64 `json:"averageResiliencyScore,omitempty"`
}

Defines the details for a given experiment with some additional data

type GetExperimentRunStatsResponse

type GetExperimentRunStatsResponse struct {
	// Total number of experiment runs
	TotalExperimentRuns int `json:"totalExperimentRuns"`
	// Total number of completed experiments runs
	TotalCompletedExperimentRuns int `json:"totalCompletedExperimentRuns"`
	// Total number of stopped experiment runs
	TotalTerminatedExperimentRuns int `json:"totalTerminatedExperimentRuns"`
	// Total number of running experiment runs
	TotalRunningExperimentRuns int `json:"totalRunningExperimentRuns"`
	// Total number of stopped experiment runs
	TotalStoppedExperimentRuns int `json:"totalStoppedExperimentRuns"`
	// Total number of errored experiment runs
	TotalErroredExperimentRuns int `json:"totalErroredExperimentRuns"`
}

type GetExperimentStatsResponse

type GetExperimentStatsResponse struct {
	// Total number of experiments
	TotalExperiments int `json:"totalExperiments"`
	// Total number of cron experiments
	TotalExpCategorizedByResiliencyScore []*ResilienceScoreCategory `json:"totalExpCategorizedByResiliencyScore"`
}

type GetInfraStatsResponse

type GetInfraStatsResponse struct {
	// Total number of infrastructures
	TotalInfrastructures int `json:"totalInfrastructures"`
	// Total number of active infrastructures
	TotalActiveInfrastructure int `json:"totalActiveInfrastructure"`
	// Total number of inactive infrastructures
	TotalInactiveInfrastructures int `json:"totalInactiveInfrastructures"`
	// Total number of confirmed infrastructures
	TotalConfirmedInfrastructure int `json:"totalConfirmedInfrastructure"`
	// Total number of non confirmed infrastructures
	TotalNonConfirmedInfrastructures int `json:"totalNonConfirmedInfrastructures"`
}

type GetProbeReferenceResponse

type GetProbeReferenceResponse struct {
	// Harness identifiers
	ProjectID string `json:"projectID"`
	// Name of the Probe
	Name string `json:"name"`
	// Total Runs
	TotalRuns int `json:"totalRuns"`
	// Recent Executions of the probe
	RecentExecutions []*RecentExecutions `json:"recentExecutions"`
}

Defines the response of the Probe reference API

type GetProbeYAMLRequest

type GetProbeYAMLRequest struct {
	// Probe name of the probe
	ProbeName string `json:"probeName"`
	// Mode of the Probe (SoT, EoT, Edge, Continuous or OnChaos)
	Mode Mode `json:"mode"`
}

Defines the input requests for GetProbeYAML query

type GetProbesInExperimentRunResponse

type GetProbesInExperimentRunResponse struct {
	// Probe Object
	Probe *Probe `json:"probe"`
	// Mode of the probe
	Mode Mode `json:"mode"`
	// Status of the Probe
	Status *Status `json:"status"`
}

Defines the response for Get Probe In Experiment Run Query

type GitConfig

type GitConfig struct {
	// Git branch where the chaos charts will be pushed and synced
	Branch string `json:"branch"`
	// URL of the Git repository
	RepoURL string `json:"repoURL"`
	// Type of authentication used: 	BASIC, SSH,	TOKEN
	AuthType AuthType `json:"authType"`
	// Token used for private repository
	Token *string `json:"token,omitempty"`
	// Git username
	UserName *string `json:"userName,omitempty"`
	// Git password
	Password *string `json:"password,omitempty"`
	// Private SSH key authenticating into git repository
	SSHPrivateKey *string `json:"sshPrivateKey,omitempty"`
}

Details of setting a Git repository

type GitConfigResponse

type GitConfigResponse struct {
	// Bool value indicating whether GitOps is enabled or not
	Enabled bool `json:"enabled"`
	// ID of the project where GitOps is configured
	ProjectID string `json:"projectID"`
	// Git branch where the chaos charts will be pushed and synced
	Branch *string `json:"branch,omitempty"`
	// URL of the Git repository
	RepoURL *string `json:"repoURL,omitempty"`
	// Type of authentication used: 	BASIC, SSH,	TOKEN
	AuthType *AuthType `json:"authType,omitempty"`
	// Token used for private repository
	Token *string `json:"token,omitempty"`
	// Git username
	UserName *string `json:"userName,omitempty"`
	// Git password
	Password *string `json:"password,omitempty"`
	// Private SSH key authenticating into git repository
	SSHPrivateKey *string `json:"sshPrivateKey,omitempty"`
}

Response received after configuring GitOps

type HTTPProbeRequest

type HTTPProbeRequest struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// URL of the Probe
	URL string `json:"url"`
	// HTTP method of the Probe
	Method *MethodRequest `json:"method"`
	// If Insecure HTTP verification should  be skipped
	InsecureSkipVerify *bool `json:"insecureSkipVerify,omitempty"`
}

Defines the input for HTTP probe properties

type HubType

type HubType string
const (
	HubTypeGit    HubType = "GIT"
	HubTypeRemote HubType = "REMOTE"
)

func (HubType) IsValid

func (e HubType) IsValid() bool

func (HubType) MarshalGQL

func (e HubType) MarshalGQL(w io.Writer)

func (HubType) String

func (e HubType) String() string

func (*HubType) UnmarshalGQL

func (e *HubType) UnmarshalGQL(v interface{}) error

type ImagePullPolicy

type ImagePullPolicy string

Defines the different types of Image Pull Policy

const (
	ImagePullPolicyIfNotPresent ImagePullPolicy = "IfNotPresent"
	ImagePullPolicyAlways       ImagePullPolicy = "Always"
	ImagePullPolicyNever        ImagePullPolicy = "Never"
)

func (ImagePullPolicy) IsValid

func (e ImagePullPolicy) IsValid() bool

func (ImagePullPolicy) MarshalGQL

func (e ImagePullPolicy) MarshalGQL(w io.Writer)

func (ImagePullPolicy) String

func (e ImagePullPolicy) String() string

func (*ImagePullPolicy) UnmarshalGQL

func (e *ImagePullPolicy) UnmarshalGQL(v interface{}) error

type ImageRegistry

type ImageRegistry struct {
	// Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
	IsDefault *bool `json:"isDefault,omitempty"`
	// Name of Image Registry
	ImageRegistryName string `json:"imageRegistryName"`
	// Name of image repository
	ImageRepoName string `json:"imageRepoName"`
	// Type of the image registry: public/private
	ImageRegistryType string `json:"imageRegistryType"`
	// Secret which is used for private registry
	SecretName *string `json:"secretName,omitempty"`
	// Namespace where the secret is available
	SecretNamespace *string `json:"secretNamespace,omitempty"`
	// Bool value indicating if image registry is enabled or not
	EnableRegistry *bool `json:"enableRegistry,omitempty"`
}

Defines details for image registry

type ImageRegistryInput

type ImageRegistryInput struct {
	// Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
	IsDefault bool `json:"isDefault"`
	// Name of Image Registry
	ImageRegistryName string `json:"imageRegistryName"`
	// Name of image repository
	ImageRepoName string `json:"imageRepoName"`
	// Type of the image registry: public/private
	ImageRegistryType string `json:"imageRegistryType"`
	// Secret which is used for private registry
	SecretName *string `json:"secretName,omitempty"`
	// Namespace where the secret is available
	SecretNamespace *string `json:"secretNamespace,omitempty"`
	// Bool value indicating if image registry is enabled or not
	EnableRegistry *bool `json:"enableRegistry,omitempty"`
}

Defines input data for querying the details of an image registry

type ImageRegistryResponse

type ImageRegistryResponse struct {
	// Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
	IsDefault bool `json:"isDefault"`
	// Information Image Registry
	ImageRegistryInfo *ImageRegistry `json:"imageRegistryInfo,omitempty"`
	// ID of the image registry
	ImageRegistryID string `json:"imageRegistryID"`
	// ID of the project in which image registry is created
	ProjectID string `json:"projectID"`
	// Timestamp when the image registry was last updated
	UpdatedAt *string `json:"updatedAt,omitempty"`
	// Timestamp when the image registry was created
	CreatedAt *string `json:"createdAt,omitempty"`
	// User who created the infra
	CreatedBy *UserDetails `json:"createdBy,omitempty"`
	// User who has updated the infra
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
	// Bool value indicating if the image registry has been removed
	IsRemoved *bool `json:"isRemoved,omitempty"`
}

Defines response data for image registry

func (ImageRegistryResponse) GetCreatedAt

func (this ImageRegistryResponse) GetCreatedAt() *string

func (ImageRegistryResponse) GetCreatedBy

func (this ImageRegistryResponse) GetCreatedBy() *UserDetails

func (ImageRegistryResponse) GetUpdatedAt

func (this ImageRegistryResponse) GetUpdatedAt() *string

func (ImageRegistryResponse) GetUpdatedBy

func (this ImageRegistryResponse) GetUpdatedBy() *UserDetails

func (ImageRegistryResponse) IsAudit

func (ImageRegistryResponse) IsAudit()

type Infra

type Infra struct {
	ProjectID string `json:"projectID"`
	// ID of the infra
	InfraID string `json:"infraID"`
	// Name of the infra
	Name string `json:"name"`
	// Description of the infra
	Description *string `json:"description,omitempty"`
	// Tags of the infra
	Tags []string `json:"tags,omitempty"`
	// Environment ID for the infra
	EnvironmentID string `json:"environmentID"`
	// Infra Platform Name eg. GKE,AWS, Others
	PlatformName string `json:"platformName"`
	// Boolean value indicating if chaos infrastructure is active or not
	IsActive bool `json:"isActive"`
	// Boolean value indicating if chaos infrastructure is confirmed or not
	IsInfraConfirmed bool `json:"isInfraConfirmed"`
	// Boolean value indicating if chaos infrastructure is removed or not
	IsRemoved bool `json:"isRemoved"`
	// Timestamp when the infra was last updated
	UpdatedAt string `json:"updatedAt"`
	// Timestamp when the infra was created
	CreatedAt string `json:"createdAt"`
	// Number of schedules created in the infra
	NoOfExperiments *int `json:"noOfExperiments,omitempty"`
	// Number of experiments run in the infra
	NoOfExperimentRuns *int `json:"noOfExperimentRuns,omitempty"`
	// Token used to verify and retrieve the infra manifest
	Token string `json:"token"`
	// Namespace where the infra is being installed
	InfraNamespace *string `json:"infraNamespace,omitempty"`
	// Name of service account used by infra
	ServiceAccount *string `json:"serviceAccount,omitempty"`
	// Scope of the infra : ns or cluster
	InfraScope string `json:"infraScope"`
	// Bool value indicating whether infra ns used already exists on infra or not
	InfraNsExists *bool `json:"infraNsExists,omitempty"`
	// Bool value indicating whether service account used already exists on infra or not
	InfraSaExists *bool `json:"infraSaExists,omitempty"`
	// Timestamp of the last experiment run in the infra
	LastExperimentTimestamp *string `json:"lastExperimentTimestamp,omitempty"`
	// Timestamp when the infra got connected
	StartTime string `json:"startTime"`
	// Version of the infra
	Version string `json:"version"`
	// User who created the infra
	CreatedBy *UserDetails `json:"createdBy,omitempty"`
	// User who has updated the infra
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
	// Type of the infrastructure
	InfraType *InfrastructureType `json:"infraType,omitempty"`
	// update status of infra
	UpdateStatus UpdateStatus `json:"updateStatus"`
}

Defines the details for a infra

func (Infra) GetCreatedAt

func (this Infra) GetCreatedAt() *string

func (Infra) GetCreatedBy

func (this Infra) GetCreatedBy() *UserDetails

func (Infra) GetDescription

func (this Infra) GetDescription() *string

func (Infra) GetName

func (this Infra) GetName() string

func (Infra) GetTags

func (this Infra) GetTags() []string

func (Infra) GetUpdatedAt

func (this Infra) GetUpdatedAt() *string

func (Infra) GetUpdatedBy

func (this Infra) GetUpdatedBy() *UserDetails

func (Infra) IsAudit

func (Infra) IsAudit()

func (Infra) IsResourceDetails

func (Infra) IsResourceDetails()

type InfraActionResponse

type InfraActionResponse struct {
	ProjectID string         `json:"projectID"`
	Action    *ActionPayload `json:"action"`
}

type InfraEventResponse

type InfraEventResponse struct {
	EventID     string `json:"eventID"`
	EventType   string `json:"eventType"`
	EventName   string `json:"eventName"`
	Description string `json:"description"`
	Infra       *Infra `json:"infra"`
}

type InfraFilterInput

type InfraFilterInput struct {
	// Name of the infra
	Name *string `json:"name,omitempty"`
	// ID of the infra
	InfraID *string `json:"infraID,omitempty"`
	// ID of the infra
	Description *string `json:"description,omitempty"`
	// Platform name of infra
	PlatformName *string `json:"platformName,omitempty"`
	// Scope of infra
	InfraScope *InfraScope `json:"infraScope,omitempty"`
	// Status of infra
	IsActive *bool `json:"isActive,omitempty"`
	// Tags of an infra
	Tags []*string `json:"tags,omitempty"`
}

Defines filter options for infras

type InfraIdentity

type InfraIdentity struct {
	InfraID   string `json:"infraID"`
	AccessKey string `json:"accessKey"`
	Version   string `json:"version"`
}

type InfraScope

type InfraScope string
const (
	InfraScopeNamespace InfraScope = "namespace"
	InfraScopeCluster   InfraScope = "cluster"
)

func (InfraScope) IsValid

func (e InfraScope) IsValid() bool

func (InfraScope) MarshalGQL

func (e InfraScope) MarshalGQL(w io.Writer)

func (InfraScope) String

func (e InfraScope) String() string

func (*InfraScope) UnmarshalGQL

func (e *InfraScope) UnmarshalGQL(v interface{}) error

type InfraVersionDetails

type InfraVersionDetails struct {
	// Latest infra version supported
	LatestVersion string `json:"latestVersion"`
	// List of all infra versions supported
	CompatibleVersions []string `json:"compatibleVersions"`
}

InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported

type InfrastructureType

type InfrastructureType string
const (
	InfrastructureTypeKubernetes InfrastructureType = "Kubernetes"
)

func (InfrastructureType) IsValid

func (e InfrastructureType) IsValid() bool

func (InfrastructureType) MarshalGQL

func (e InfrastructureType) MarshalGQL(w io.Writer)

func (InfrastructureType) String

func (e InfrastructureType) String() string

func (*InfrastructureType) UnmarshalGQL

func (e *InfrastructureType) UnmarshalGQL(v interface{}) error

type Invitation

type Invitation string
const (
	InvitationAccepted Invitation = "Accepted"
	InvitationPending  Invitation = "Pending"
)

func (Invitation) IsValid

func (e Invitation) IsValid() bool

func (Invitation) MarshalGQL

func (e Invitation) MarshalGQL(w io.Writer)

func (Invitation) String

func (e Invitation) String() string

func (*Invitation) UnmarshalGQL

func (e *Invitation) UnmarshalGQL(v interface{}) error

type K8SProbe

type K8SProbe struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// Group of the Probe
	Group *string `json:"group,omitempty"`
	// Version of the Probe
	Version string `json:"version"`
	// Resource of the Probe
	Resource string `json:"resource"`
	// Namespace of the Probe
	Namespace *string `json:"namespace,omitempty"`
	// Resource Names of the Probe
	ResourceNames *string `json:"resourceNames,omitempty"`
	// Field Selector of the Probe
	FieldSelector *string `json:"fieldSelector,omitempty"`
	// Label Selector of the Probe
	LabelSelector *string `json:"labelSelector,omitempty"`
	// Operation of the Probe
	Operation string `json:"operation"`
}

Defines the K8S probe properties

func (K8SProbe) GetAttempt

func (this K8SProbe) GetAttempt() *int

Attempt contains the total attempt count for the probe

func (K8SProbe) GetEvaluationTimeout

func (this K8SProbe) GetEvaluationTimeout() *string

EvaluationTimeout is the timeout window in which the SLO metrics

func (K8SProbe) GetInitialDelay

func (this K8SProbe) GetInitialDelay() *string

Initial delay interval of the Probe in seconds

func (K8SProbe) GetInterval

func (this K8SProbe) GetInterval() string

Interval of the Probe

func (K8SProbe) GetProbePollingInterval

func (this K8SProbe) GetProbePollingInterval() *string

Polling interval of the Probe

func (K8SProbe) GetProbeTimeout

func (this K8SProbe) GetProbeTimeout() string

Timeout of the Probe

func (K8SProbe) GetRetry

func (this K8SProbe) GetRetry() *int

Retry interval of the Probe

func (K8SProbe) GetStopOnFailure

func (this K8SProbe) GetStopOnFailure() *bool

Is stop on failure enabled in the Probe

func (K8SProbe) IsCommonProbeProperties

func (K8SProbe) IsCommonProbeProperties()

type K8SProbeRequest

type K8SProbeRequest struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// Group of the Probe
	Group *string `json:"group,omitempty"`
	// Version of the Probe
	Version string `json:"version"`
	// Resource of the Probe
	Resource string `json:"resource"`
	// Namespace of the Probe
	Namespace *string `json:"namespace,omitempty"`
	// Resource Names of the Probe
	ResourceNames *string `json:"resourceNames,omitempty"`
	// Field Selector of the Probe
	FieldSelector *string `json:"fieldSelector,omitempty"`
	// Label Selector of the Probe
	LabelSelector *string `json:"labelSelector,omitempty"`
	// Operation of the Probe
	Operation string `json:"operation"`
}

Defines the input for K8S probe properties

type KubeGVRRequest

type KubeGVRRequest struct {
	Group    string `json:"group"`
	Version  string `json:"version"`
	Resource string `json:"resource"`
}

type KubeNamespace

type KubeNamespace struct {
	// Name of the namespace
	Name string `json:"name"`
}

Define name in the infra (not really useful at the moment but maybe we will need other field later)

type KubeNamespaceData

type KubeNamespaceData struct {
	// Unique request ID for fetching Kubernetes namespace details
	RequestID string `json:"requestID"`
	// ID of the infra in which the Kubernetes namespace is present
	InfraID *InfraIdentity `json:"infraID"`
	// List of KubeNamespace return by subscriber
	KubeNamespace string `json:"kubeNamespace"`
}

Defines the details of Kubernetes namespace

type KubeNamespaceRequest

type KubeNamespaceRequest struct {
	// ID of the infra
	InfraID string `json:"infraID"`
}

Defines details for fetching Kubernetes namespace data

type KubeNamespaceResponse

type KubeNamespaceResponse struct {
	// ID of the infra in which the Kubernetes namespace is present
	InfraID string `json:"infraID"`
	// List of the Kubernetes namespace
	KubeNamespace []*KubeNamespace `json:"kubeNamespace"`
}

Response received for querying Kubernetes Namespaces

type KubeObject

type KubeObject struct {
	// Namespace of the resource
	Namespace string `json:"namespace"`
	// Details of the resource
	Data []*ObjectData `json:"data"`
}

KubeObject consists of the available resources in a namespace

type KubeObjectData

type KubeObjectData struct {
	// Unique request ID for fetching Kubernetes object details
	RequestID string `json:"requestID"`
	// ID of the infra in which the Kubernetes object is present
	InfraID *InfraIdentity `json:"infraID"`
	// Type of the Kubernetes object
	KubeObj string `json:"kubeObj"`
}

Defines the details of Kubernetes object

type KubeObjectRequest

type KubeObjectRequest struct {
	// ID of the infra in which the Kubernetes object is present
	InfraID string `json:"infraID"`
	// GVR Request
	KubeObjRequest *KubeGVRRequest `json:"kubeObjRequest,omitempty"`
	// Namespace in which the Kubernetes object is present
	Namespace  string      `json:"namespace"`
	ObjectType string      `json:"objectType"`
	Workloads  []*Workload `json:"workloads,omitempty"`
}

Defines details for fetching Kubernetes object data

type KubeObjectResponse

type KubeObjectResponse struct {
	// ID of the infra in which the Kubernetes object is present
	InfraID string `json:"infraID"`
	// Type of the Kubernetes object
	KubeObj *KubeObject `json:"kubeObj"`
}

Response received for querying Kubernetes Object

type KubernetesCMDProbe

type KubernetesCMDProbe struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// Command of the Probe
	Command string `json:"command"`
	// Comparator of the Probe
	Comparator *Comparator `json:"comparator"`
	// Source of the Probe
	Source *string `json:"source,omitempty"`
}

Defines the CMD probe properties

func (KubernetesCMDProbe) GetAttempt

func (this KubernetesCMDProbe) GetAttempt() *int

Attempt contains the total attempt count for the probe

func (KubernetesCMDProbe) GetEvaluationTimeout

func (this KubernetesCMDProbe) GetEvaluationTimeout() *string

EvaluationTimeout is the timeout window in which the SLO metrics

func (KubernetesCMDProbe) GetInitialDelay

func (this KubernetesCMDProbe) GetInitialDelay() *string

Initial delay interval of the Probe in seconds

func (KubernetesCMDProbe) GetInterval

func (this KubernetesCMDProbe) GetInterval() string

Interval of the Probe

func (KubernetesCMDProbe) GetProbePollingInterval

func (this KubernetesCMDProbe) GetProbePollingInterval() *string

Polling interval of the Probe

func (KubernetesCMDProbe) GetProbeTimeout

func (this KubernetesCMDProbe) GetProbeTimeout() string

Timeout of the Probe

func (KubernetesCMDProbe) GetRetry

func (this KubernetesCMDProbe) GetRetry() *int

Retry interval of the Probe

func (KubernetesCMDProbe) GetStopOnFailure

func (this KubernetesCMDProbe) GetStopOnFailure() *bool

Is stop on failure enabled in the Probe

func (KubernetesCMDProbe) IsCommonProbeProperties

func (KubernetesCMDProbe) IsCommonProbeProperties()

type KubernetesCMDProbeRequest

type KubernetesCMDProbeRequest struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// Command of the Probe
	Command string `json:"command"`
	// Comparator of the Probe
	Comparator *ComparatorInput `json:"comparator"`
	// Source of the Probe
	Source *string `json:"source,omitempty"`
}

Defines the input for Kubernetes CMD probe properties

type KubernetesHTTPProbe

type KubernetesHTTPProbe struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// URL of the Probe
	URL string `json:"url"`
	// HTTP method of the Probe
	Method *Method `json:"method"`
	// If Insecure HTTP verification should  be skipped
	InsecureSkipVerify *bool `json:"insecureSkipVerify,omitempty"`
}

Defines the Kubernetes HTTP probe properties

func (KubernetesHTTPProbe) GetAttempt

func (this KubernetesHTTPProbe) GetAttempt() *int

Attempt contains the total attempt count for the probe

func (KubernetesHTTPProbe) GetEvaluationTimeout

func (this KubernetesHTTPProbe) GetEvaluationTimeout() *string

EvaluationTimeout is the timeout window in which the SLO metrics

func (KubernetesHTTPProbe) GetInitialDelay

func (this KubernetesHTTPProbe) GetInitialDelay() *string

Initial delay interval of the Probe in seconds

func (KubernetesHTTPProbe) GetInterval

func (this KubernetesHTTPProbe) GetInterval() string

Interval of the Probe

func (KubernetesHTTPProbe) GetProbePollingInterval

func (this KubernetesHTTPProbe) GetProbePollingInterval() *string

Polling interval of the Probe

func (KubernetesHTTPProbe) GetProbeTimeout

func (this KubernetesHTTPProbe) GetProbeTimeout() string

Timeout of the Probe

func (KubernetesHTTPProbe) GetRetry

func (this KubernetesHTTPProbe) GetRetry() *int

Retry interval of the Probe

func (KubernetesHTTPProbe) GetStopOnFailure

func (this KubernetesHTTPProbe) GetStopOnFailure() *bool

Is stop on failure enabled in the Probe

func (KubernetesHTTPProbe) IsCommonProbeProperties

func (KubernetesHTTPProbe) IsCommonProbeProperties()

type KubernetesHTTPProbeRequest

type KubernetesHTTPProbeRequest struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// URL of the Probe
	URL string `json:"url"`
	// HTTP method of the Probe
	Method *MethodRequest `json:"method"`
	// If Insecure HTTP verification should  be skipped
	InsecureSkipVerify *bool `json:"insecureSkipVerify,omitempty"`
}

Defines the input for Kubernetes HTTP probe properties

type Link struct {
	Name string `json:"name"`
	URL  string `json:"url"`
}

type ListChaosHubRequest

type ListChaosHubRequest struct {
	// Array of ChaosHub IDs for which details will be fetched
	ChaosHubIDs []string `json:"chaosHubIDs,omitempty"`
	// Details for fetching filtered data
	Filter *ChaosHubFilterInput `json:"filter,omitempty"`
}

type ListEnvironmentRequest

type ListEnvironmentRequest struct {
	// Environment ID
	EnvironmentIDs []string `json:"environmentIDs,omitempty"`
	// Details for fetching paginated data
	Pagination *Pagination `json:"pagination,omitempty"`
	// Details for fetching filtered data
	Filter *EnvironmentFilterInput `json:"filter,omitempty"`
	// Details for fetching sorted data
	Sort *EnvironmentSortInput `json:"sort,omitempty"`
}

type ListEnvironmentResponse

type ListEnvironmentResponse struct {
	// Total number of environment
	TotalNoOfEnvironments int            `json:"totalNoOfEnvironments"`
	Environments          []*Environment `json:"environments,omitempty"`
}

type ListExperimentRequest

type ListExperimentRequest struct {
	// Array of experiment IDs for which details will be fetched
	ExperimentIDs []*string `json:"experimentIDs,omitempty"`
	// Details for fetching paginated data
	Pagination *Pagination `json:"pagination,omitempty"`
	// Details for fetching sorted data
	Sort *ExperimentSortInput `json:"sort,omitempty"`
	// Details for fetching filtered data
	Filter *ExperimentFilterInput `json:"filter,omitempty"`
}

Defines the details for a experiment

type ListExperimentResponse

type ListExperimentResponse struct {
	// Total number of experiments
	TotalNoOfExperiments int `json:"totalNoOfExperiments"`
	// Details related to the experiments
	Experiments []*Experiment `json:"experiments"`
}

Defines the details for a experiment with total experiment count

type ListExperimentRunRequest

type ListExperimentRunRequest struct {
	// Array of experiment run IDs for which details will be fetched
	ExperimentRunIDs []*string `json:"experimentRunIDs,omitempty"`
	// Array of experiment IDs for which details will be fetched
	ExperimentIDs []*string `json:"experimentIDs,omitempty"`
	// Details for fetching paginated data
	Pagination *Pagination `json:"pagination,omitempty"`
	// Details for fetching sorted data
	Sort *ExperimentRunSortInput `json:"sort,omitempty"`
	// Details for fetching filtered data
	Filter *ExperimentRunFilterInput `json:"filter,omitempty"`
}

Defines the details for experiment runs

type ListExperimentRunResponse

type ListExperimentRunResponse struct {
	// Total number of experiment runs
	TotalNoOfExperimentRuns int `json:"totalNoOfExperimentRuns"`
	// Defines details of experiment runs
	ExperimentRuns []*ExperimentRun `json:"experimentRuns"`
}

Defines the details of a experiment to sent as response

type ListInfraRequest

type ListInfraRequest struct {
	// Array of infra IDs for which details will be fetched
	InfraIDs []string `json:"infraIDs,omitempty"`
	// Environment ID
	EnvironmentIDs []string `json:"environmentIDs,omitempty"`
	// Details for fetching paginated data
	Pagination *Pagination `json:"pagination,omitempty"`
	// Details for fetching filtered data
	Filter *InfraFilterInput `json:"filter,omitempty"`
}

Defines the details for a infra

type ListInfraResponse

type ListInfraResponse struct {
	// Total number of infras
	TotalNoOfInfras int `json:"totalNoOfInfras"`
	// Details related to the infras
	Infras []*Infra `json:"infras"`
}

Defines the details for a infras with total infras count

type Maintainer

type Maintainer struct {
	// Name of the maintainer
	Name string `json:"name"`
	// Email of the maintainer
	Email string `json:"email"`
}

Defines the details of the maintainer

type MemberRole

type MemberRole string
const (
	MemberRoleOwner    MemberRole = "Owner"
	MemberRoleExecutor MemberRole = "Executor"
	MemberRoleViewer   MemberRole = "Viewer"
)

func (MemberRole) IsValid

func (e MemberRole) IsValid() bool

func (MemberRole) MarshalGQL

func (e MemberRole) MarshalGQL(w io.Writer)

func (MemberRole) String

func (e MemberRole) String() string

func (*MemberRole) UnmarshalGQL

func (e *MemberRole) UnmarshalGQL(v interface{}) error

type Metadata

type Metadata struct {
	Name        string      `json:"name"`
	Version     string      `json:"version"`
	Annotations *Annotation `json:"annotations"`
}

type Method

type Method struct {
	// A GET request
	Get *Get `json:"get,omitempty"`
	// A POST request
	Post *Post `json:"post,omitempty"`
}

Defines the methods of the probe properties

type MethodRequest

type MethodRequest struct {
	// A GET request
	Get *GETRequest `json:"get,omitempty"`
	// A POST request
	Post *POSTRequest `json:"post,omitempty"`
}

Defines the input for methods of the probe properties

type Mode

type Mode string

Defines the different modes of Probes

const (
	ModeSot        Mode = "SOT"
	ModeEot        Mode = "EOT"
	ModeEdge       Mode = "Edge"
	ModeContinuous Mode = "Continuous"
	ModeOnChaos    Mode = "OnChaos"
)

func (Mode) IsValid

func (e Mode) IsValid() bool

func (Mode) MarshalGQL

func (e Mode) MarshalGQL(w io.Writer)

func (Mode) String

func (e Mode) String() string

func (*Mode) UnmarshalGQL

func (e *Mode) UnmarshalGQL(v interface{}) error

type Mutation

type Mutation struct {
}

type NewInfraEventRequest

type NewInfraEventRequest struct {
	EventName   string `json:"eventName"`
	Description string `json:"description"`
	InfraID     string `json:"infraID"`
	AccessKey   string `json:"accessKey"`
}

type ObjectData

type ObjectData struct {
	// Labels present in the resource
	Labels []string `json:"labels,omitempty"`
	// Name of the resource
	Name string `json:"name"`
}

type POSTRequest

type POSTRequest struct {
	// Content Type of the request
	ContentType *string `json:"contentType,omitempty"`
	// Body of the request
	Body *string `json:"body,omitempty"`
	// Body Path of the request for Body
	BodyPath *string `json:"bodyPath,omitempty"`
	// Criteria of the request
	Criteria string `json:"criteria"`
	// Response Code of the request
	ResponseCode string `json:"responseCode"`
}

Details for input of the POST request

type PROMProbe

type PROMProbe struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// Endpoint of the Probe
	Endpoint string `json:"endpoint"`
	// Query of the Probe
	Query *string `json:"query,omitempty"`
	// Query path of the Probe
	QueryPath *string `json:"queryPath,omitempty"`
	// Comparator of the Probe
	Comparator *Comparator `json:"comparator"`
}

Defines the PROM probe properties

func (PROMProbe) GetAttempt

func (this PROMProbe) GetAttempt() *int

Attempt contains the total attempt count for the probe

func (PROMProbe) GetEvaluationTimeout

func (this PROMProbe) GetEvaluationTimeout() *string

EvaluationTimeout is the timeout window in which the SLO metrics

func (PROMProbe) GetInitialDelay

func (this PROMProbe) GetInitialDelay() *string

Initial delay interval of the Probe in seconds

func (PROMProbe) GetInterval

func (this PROMProbe) GetInterval() string

Interval of the Probe

func (PROMProbe) GetProbePollingInterval

func (this PROMProbe) GetProbePollingInterval() *string

Polling interval of the Probe

func (PROMProbe) GetProbeTimeout

func (this PROMProbe) GetProbeTimeout() string

Timeout of the Probe

func (PROMProbe) GetRetry

func (this PROMProbe) GetRetry() *int

Retry interval of the Probe

func (PROMProbe) GetStopOnFailure

func (this PROMProbe) GetStopOnFailure() *bool

Is stop on failure enabled in the Probe

func (PROMProbe) IsCommonProbeProperties

func (PROMProbe) IsCommonProbeProperties()

type PROMProbeRequest

type PROMProbeRequest struct {
	// Timeout of the Probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval of the Probe
	Interval string `json:"interval"`
	// Retry interval of the Probe
	Retry *int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt *int `json:"attempt,omitempty"`
	// Polling interval of the Probe
	ProbePollingInterval *string `json:"probePollingInterval,omitempty"`
	// Initial delay interval of the Probe in seconds
	InitialDelay *string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	EvaluationTimeout *string `json:"evaluationTimeout,omitempty"`
	// Is stop on failure enabled in the Probe
	StopOnFailure *bool `json:"stopOnFailure,omitempty"`
	// Endpoint of the Probe
	Endpoint string `json:"endpoint"`
	// Query of the Probe
	Query *string `json:"query,omitempty"`
	// Query path of the Probe
	QueryPath *string `json:"queryPath,omitempty"`
	// Comparator of the Probe
	Comparator *ComparatorInput `json:"comparator"`
}

Defines the input for PROM probe properties

type PackageInformation

type PackageInformation struct {
	PackageName string         `json:"packageName"`
	Experiments []*Experiments `json:"experiments"`
}

type Pagination

type Pagination struct {
	// Page number for which data will be fetched
	Page int `json:"page"`
	// Number of data to be fetched
	Limit int `json:"limit"`
}

Defines data required to fetch paginated data

type PodLog

type PodLog struct {
	// ID of the cluster
	InfraID *InfraIdentity `json:"infraID"`
	// Unique request ID of a particular node which is being queried
	RequestID string `json:"requestID"`
	// ID of a experiment run
	ExperimentRunID string `json:"experimentRunID"`
	// Name of the pod for which logs are required
	PodName string `json:"podName"`
	// Type of the pod: chaosengine
	PodType string `json:"podType"`
	// Logs for the pod
	Log string `json:"log"`
}

Response received for querying pod logs

type PodLogRequest

type PodLogRequest struct {
	// ID of the cluster
	InfraID string `json:"infraID"`
	// ID of a experiment run
	ExperimentRunID string `json:"experimentRunID"`
	// Name of the pod for which logs are required
	PodName string `json:"podName"`
	// Namespace where the pod is running
	PodNamespace string `json:"podNamespace"`
	// Type of the pod: chaosEngine or not pod
	PodType string `json:"podType"`
	// Name of the experiment pod fetched from execution data
	ExpPod *string `json:"expPod,omitempty"`
	// Name of the runner pod fetched from execution data
	RunnerPod *string `json:"runnerPod,omitempty"`
	// Namespace where the experiment is executing
	ChaosNamespace *string `json:"chaosNamespace,omitempty"`
}

Defines the details for fetching the pod logs

type PodLogResponse

type PodLogResponse struct {
	// ID of the experiment run which is to be queried
	ExperimentRunID string `json:"experimentRunID"`
	// Name of the pod for which logs are queried
	PodName string `json:"podName"`
	// Type of the pod: chaosengine
	PodType string `json:"podType"`
	// Logs for the pod
	Log string `json:"log"`
}

Defines the response received for querying querying the pod logs

type Post

type Post struct {
	// Content Type of the request
	ContentType *string `json:"contentType,omitempty"`
	// Body of the request
	Body *string `json:"body,omitempty"`
	// Body Path of the HTTP body required for the http post request
	BodyPath *string `json:"bodyPath,omitempty"`
	// Criteria of the request
	Criteria string `json:"criteria"`
	// Response Code of the request
	ResponseCode string `json:"responseCode"`
}

Details of POST request

type PredefinedExperimentList

type PredefinedExperimentList struct {
	// Name of the experiment
	ExperimentName string `json:"experimentName"`
	// Experiment CSV
	ExperimentCSV string `json:"experimentCSV"`
	// Experiment Manifest
	ExperimentManifest string `json:"experimentManifest"`
}

type Probe

type Probe struct {
	// Harness identifiers
	ProjectID string `json:"projectID"`
	// Name of the Probe
	Name string `json:"name"`
	// Description of the Probe
	Description *string `json:"description,omitempty"`
	// Tags of the Probe
	Tags []string `json:"tags,omitempty"`
	// Type of the Probe [From list of ProbeType enum]
	Type ProbeType `json:"type"`
	// Infrastructure type of the Probe
	InfrastructureType InfrastructureType `json:"infrastructureType"`
	// Kubernetes HTTP Properties of the specific type of the Probe
	KubernetesHTTPProperties *KubernetesHTTPProbe `json:"kubernetesHTTPProperties,omitempty"`
	// Kubernetes CMD Properties of the specific type of the Probe
	KubernetesCMDProperties *KubernetesCMDProbe `json:"kubernetesCMDProperties,omitempty"`
	// K8S Properties of the specific type of the Probe
	K8sProperties *K8SProbe `json:"k8sProperties,omitempty"`
	// PROM Properties of the specific type of the Probe
	PromProperties *PROMProbe `json:"promProperties,omitempty"`
	// All execution histories of the probe
	RecentExecutions []*ProbeRecentExecutions `json:"recentExecutions,omitempty"`
	// Referenced by how many faults
	ReferencedBy *int `json:"referencedBy,omitempty"`
	// Timestamp at which the Probe was last updated
	UpdatedAt string `json:"updatedAt"`
	// Timestamp at which the Probe was created
	CreatedAt string `json:"createdAt"`
	// User who has updated the Probe
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
	// User who has created the Probe
	CreatedBy *UserDetails `json:"createdBy,omitempty"`
}

Defines the details of the Probe entity

func (Probe) GetCreatedAt

func (this Probe) GetCreatedAt() *string

func (Probe) GetCreatedBy

func (this Probe) GetCreatedBy() *UserDetails

func (Probe) GetDescription

func (this Probe) GetDescription() *string

func (Probe) GetName

func (this Probe) GetName() string

func (Probe) GetTags

func (this Probe) GetTags() []string

func (Probe) GetUpdatedAt

func (this Probe) GetUpdatedAt() *string

func (Probe) GetUpdatedBy

func (this Probe) GetUpdatedBy() *UserDetails

func (Probe) IsAudit

func (Probe) IsAudit()

func (Probe) IsResourceDetails

func (Probe) IsResourceDetails()

type ProbeFilterInput

type ProbeFilterInput struct {
	// Name of the Probe
	Name *string `json:"name,omitempty"`
	// Date range for filtering purpose
	DateRange *DateRange `json:"dateRange,omitempty"`
	// Type of the Probe [From list of ProbeType enum]
	Type []*ProbeType `json:"type,omitempty"`
}

Defines the input for Probe filter

type ProbeRecentExecutions

type ProbeRecentExecutions struct {
	// Fault name
	FaultName string `json:"faultName"`
	// Fault Status
	Status *Status `json:"status"`
	// Fault executed by which experiment
	ExecutedByExperiment *ExecutedByExperiment `json:"executedByExperiment"`
}

Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time

type ProbeRequest

type ProbeRequest struct {
	// Name of the Probe
	Name string `json:"name"`
	// Description of the Probe
	Description *string `json:"description,omitempty"`
	// Tags of the Probe
	Tags []string `json:"tags,omitempty"`
	// Type of the Probe [From list of ProbeType enum]
	Type ProbeType `json:"type"`
	// Infrastructure type of the Probe
	InfrastructureType InfrastructureType `json:"infrastructureType"`
	// HTTP Properties of the specific type of the Probe
	KubernetesHTTPProperties *KubernetesHTTPProbeRequest `json:"kubernetesHTTPProperties,omitempty"`
	// CMD Properties of the specific type of the Probe
	KubernetesCMDProperties *KubernetesCMDProbeRequest `json:"kubernetesCMDProperties,omitempty"`
	// K8S Properties of the specific type of the Probe
	K8sProperties *K8SProbeRequest `json:"k8sProperties,omitempty"`
	// PROM Properties of the specific type of the Probe
	PromProperties *PROMProbeRequest `json:"promProperties,omitempty"`
}

Defines the details required for creating a Chaos Probe

type ProbeStatus

type ProbeStatus string

Defines the different statuses of Probes

const (
	ProbeStatusRunning   ProbeStatus = "Running"
	ProbeStatusCompleted ProbeStatus = "Completed"
	ProbeStatusStopped   ProbeStatus = "Stopped"
	ProbeStatusError     ProbeStatus = "Error"
	ProbeStatusQueued    ProbeStatus = "Queued"
	ProbeStatusNa        ProbeStatus = "NA"
)

func (ProbeStatus) IsValid

func (e ProbeStatus) IsValid() bool

func (ProbeStatus) MarshalGQL

func (e ProbeStatus) MarshalGQL(w io.Writer)

func (ProbeStatus) String

func (e ProbeStatus) String() string

func (*ProbeStatus) UnmarshalGQL

func (e *ProbeStatus) UnmarshalGQL(v interface{}) error

type ProbeType

type ProbeType string

Defines the different types of Probes

const (
	ProbeTypeHTTPProbe ProbeType = "httpProbe"
	ProbeTypeCmdProbe  ProbeType = "cmdProbe"
	ProbeTypePromProbe ProbeType = "promProbe"
	ProbeTypeK8sProbe  ProbeType = "k8sProbe"
)

func (ProbeType) IsValid

func (e ProbeType) IsValid() bool

func (ProbeType) MarshalGQL

func (e ProbeType) MarshalGQL(w io.Writer)

func (ProbeType) String

func (e ProbeType) String() string

func (*ProbeType) UnmarshalGQL

func (e *ProbeType) UnmarshalGQL(v interface{}) error

type ProbeVerdict

type ProbeVerdict string

Defines the older different statuses of Probes

const (
	ProbeVerdictPassed  ProbeVerdict = "Passed"
	ProbeVerdictFailed  ProbeVerdict = "Failed"
	ProbeVerdictNa      ProbeVerdict = "NA"
	ProbeVerdictAwaited ProbeVerdict = "Awaited"
)

func (ProbeVerdict) IsValid

func (e ProbeVerdict) IsValid() bool

func (ProbeVerdict) MarshalGQL

func (e ProbeVerdict) MarshalGQL(w io.Writer)

func (ProbeVerdict) String

func (e ProbeVerdict) String() string

func (*ProbeVerdict) UnmarshalGQL

func (e *ProbeVerdict) UnmarshalGQL(v interface{}) error

type Provider

type Provider struct {
	Name string `json:"name"`
}

type Query

type Query struct {
}

type RecentExecutions

type RecentExecutions struct {
	// Fault name
	FaultName string `json:"faultName"`
	// Probe mode
	Mode Mode `json:"mode"`
	// Execution History
	ExecutionHistory []*ExecutionHistory `json:"executionHistory"`
}

Defines the Recent Executions of experiment referenced by the Probe

type RecentExperimentRun

type RecentExperimentRun struct {
	// ID of the experiment run which is to be queried
	ExperimentRunID string `json:"experimentRunID"`
	// Phase of the experiment run
	Phase string `json:"phase"`
	// Resiliency score of the experiment
	ResiliencyScore *float64 `json:"resiliencyScore,omitempty"`
	// Timestamp when the experiment was last updated
	UpdatedAt string `json:"updatedAt"`
	// Timestamp when the experiment was created
	CreatedAt string `json:"createdAt"`
	// User who created the experiment run
	CreatedBy *UserDetails `json:"createdBy,omitempty"`
	// User who updated the experiment run
	UpdatedBy *UserDetails `json:"updatedBy,omitempty"`
	// runSequence is the sequence number of experiment run
	RunSequence int `json:"runSequence"`
}

func (RecentExperimentRun) GetCreatedAt

func (this RecentExperimentRun) GetCreatedAt() *string

func (RecentExperimentRun) GetCreatedBy

func (this RecentExperimentRun) GetCreatedBy() *UserDetails

func (RecentExperimentRun) GetUpdatedAt

func (this RecentExperimentRun) GetUpdatedAt() *string

func (RecentExperimentRun) GetUpdatedBy

func (this RecentExperimentRun) GetUpdatedBy() *UserDetails

func (RecentExperimentRun) IsAudit

func (RecentExperimentRun) IsAudit()

type RegisterInfraRequest

type RegisterInfraRequest struct {
	// Name of the infra
	Name string `json:"name"`
	// Environment ID for the infra
	EnvironmentID string `json:"environmentID"`
	// Type of Infra : internal/external
	InfrastructureType InfrastructureType `json:"infrastructureType"`
	// Description of the infra
	Description *string `json:"description,omitempty"`
	// Infra Platform Name eg. GKE,AWS, Others
	PlatformName string `json:"platformName"`
	// Namespace where the infra is being installed
	InfraNamespace *string `json:"infraNamespace,omitempty"`
	// Name of service account used by infra
	ServiceAccount *string `json:"serviceAccount,omitempty"`
	// Scope of the infra : ns or infra
	InfraScope string `json:"infraScope"`
	// Bool value indicating whether infra ns used already exists on infra or not
	InfraNsExists *bool `json:"infraNsExists,omitempty"`
	// Bool value indicating whether service account used already exists on infra or not
	InfraSaExists *bool `json:"infraSaExists,omitempty"`
	// Bool value indicating whether infra will skip ssl checks or not
	SkipSsl *bool `json:"skipSsl,omitempty"`
	// Node selectors used by infra
	NodeSelector *string `json:"nodeSelector,omitempty"`
	// Node tolerations used by infra
	Tolerations []*Toleration `json:"tolerations,omitempty"`
	// Tags of the infra
	Tags []string `json:"tags,omitempty"`
}

Defines the details for the new infra being connected

type RegisterInfraResponse

type RegisterInfraResponse struct {
	// Token used to verify and retrieve the infra manifest
	Token string `json:"token"`
	// Unique ID for the newly registered infra
	InfraID string `json:"infraID"`
	// Infra name as sent in request
	Name string `json:"name"`
	// Infra Manifest
	Manifest string `json:"manifest"`
}

Response received for registering a new infra

type ResilienceScoreCategory

type ResilienceScoreCategory struct {
	// Lower bound of the range(inclusive)
	ID int `json:"id"`
	// total experiments with avg resilience score between lower bound and upper bound(exclusive)
	Count int `json:"count"`
}

type ResourceDetails

type ResourceDetails interface {
	IsResourceDetails()
	GetName() string
	GetDescription() *string
	GetTags() []string
}

type RunChaosExperimentResponse

type RunChaosExperimentResponse struct {
	NotifyID string `json:"notifyID"`
}

type SSHKey

type SSHKey struct {
	// Public SSH key authenticating into git repository
	PublicKey string `json:"publicKey"`
	// Private SSH key authenticating into git repository
	PrivateKey string `json:"privateKey"`
}

Defines the SSHKey details

type SaveChaosExperimentRequest

type SaveChaosExperimentRequest struct {
	// ID of the experiment
	ID string `json:"id"`
	// Type of the experiment
	Type *ExperimentType `json:"type,omitempty"`
	// Name of the experiment
	Name string `json:"name"`
	// Description of the experiment
	Description string `json:"description"`
	// Manifest of the experiment
	Manifest string `json:"manifest"`
	// ID of the target infrastructure in which the experiment will run
	InfraID string `json:"infraID"`
	// Tags of the infrastructure
	Tags []string `json:"tags,omitempty"`
}

Defines the details for a chaos experiment

type ScheduleType

type ScheduleType string
const (
	ScheduleTypeCron    ScheduleType = "CRON"
	ScheduleTypeNonCron ScheduleType = "NON_CRON"
	ScheduleTypeAll     ScheduleType = "ALL"
)

func (ScheduleType) IsValid

func (e ScheduleType) IsValid() bool

func (ScheduleType) MarshalGQL

func (e ScheduleType) MarshalGQL(w io.Writer)

func (ScheduleType) String

func (e ScheduleType) String() string

func (*ScheduleType) UnmarshalGQL

func (e *ScheduleType) UnmarshalGQL(v interface{}) error

type ServerVersionResponse

type ServerVersionResponse struct {
	// Returns server version key
	Key string `json:"key"`
	// Returns server version value
	Value string `json:"value"`
}

Response received for fetching GQL server version

type Spec

type Spec struct {
	DisplayName         string        `json:"displayName"`
	CategoryDescription string        `json:"categoryDescription"`
	Keywords            []string      `json:"keywords"`
	Maturity            string        `json:"maturity"`
	Maintainers         []*Maintainer `json:"maintainers"`
	MinKubeVersion      string        `json:"minKubeVersion"`
	Provider            *Provider     `json:"provider"`
	Links               []*Link       `json:"links"`
	Faults              []*FaultList  `json:"faults"`
	Experiments         []string      `json:"experiments,omitempty"`
	ChaosExpCRDLink     string        `json:"chaosExpCRDLink"`
	Platforms           []string      `json:"platforms"`
	ChaosType           *string       `json:"chaosType,omitempty"`
}

type Status

type Status struct {
	// Verdict defines the verdict of the probe, range: Passed, Failed, N/A
	Verdict ProbeVerdict `json:"verdict"`
	// Description defines the description of probe status
	Description *string `json:"description,omitempty"`
}

Status defines whether a probe is pass or fail

type StopExperimentRunsRequest

type StopExperimentRunsRequest struct {
	ProjectID string `json:"projectID"`
	// ID of the experiment to be stopped
	ExperimentID string `json:"experimentID"`
	// ID of the experiment run to be stopped
	ExperimentRunID *string `json:"experimentRunID,omitempty"`
}

Defines the request for stopping a experiment

type Subscription

type Subscription struct {
}

type Toleration

type Toleration struct {
	TolerationSeconds *int    `json:"tolerationSeconds,omitempty"`
	Key               *string `json:"key,omitempty"`
	Operator          *string `json:"operator,omitempty"`
	Effect            *string `json:"effect,omitempty"`
	Value             *string `json:"value,omitempty"`
}

type UpdateChaosHubRequest

type UpdateChaosHubRequest struct {
	// ID of the chaos hub
	ID string `json:"id"`
	// Name of the chaos hub
	Name string `json:"name"`
	// Description of the infra
	Description *string `json:"description,omitempty"`
	// Tags of the infra
	Tags []string `json:"tags,omitempty"`
	// URL of the git repository
	RepoURL string `json:"repoURL"`
	// Branch of the git repository
	RepoBranch string `json:"repoBranch"`
	// Connected Hub of remote repository
	RemoteHub string `json:"remoteHub"`
	// Bool value indicating whether the hub is private or not.
	IsPrivate bool `json:"isPrivate"`
	// Type of authentication used: 	BASIC, SSH,	TOKEN
	AuthType AuthType `json:"authType"`
	// Token for authentication of private chaos hub
	Token *string `json:"token,omitempty"`
	// Git username
	UserName *string `json:"userName,omitempty"`
	// Git password
	Password *string `json:"password,omitempty"`
	// Private SSH key for authenticating into private chaos hub
	SSHPrivateKey *string `json:"sshPrivateKey,omitempty"`
	// Public SSH key for authenticating into private chaos hub
	SSHPublicKey *string `json:"sshPublicKey,omitempty"`
}

type UpdateEnvironmentRequest

type UpdateEnvironmentRequest struct {
	EnvironmentID string           `json:"environmentID"`
	Name          *string          `json:"name,omitempty"`
	Description   *string          `json:"description,omitempty"`
	Tags          []*string        `json:"tags,omitempty"`
	Type          *EnvironmentType `json:"type,omitempty"`
}

type UpdateStatus

type UpdateStatus string

UpdateStatus represents if infra needs to be updated

const (
	UpdateStatusAvailable   UpdateStatus = "AVAILABLE"
	UpdateStatusMandatory   UpdateStatus = "MANDATORY"
	UpdateStatusNotRequired UpdateStatus = "NOT_REQUIRED"
)

func (UpdateStatus) IsValid

func (e UpdateStatus) IsValid() bool

func (UpdateStatus) MarshalGQL

func (e UpdateStatus) MarshalGQL(w io.Writer)

func (UpdateStatus) String

func (e UpdateStatus) String() string

func (*UpdateStatus) UnmarshalGQL

func (e *UpdateStatus) UnmarshalGQL(v interface{}) error

type UserDetails

type UserDetails struct {
	UserID   string `json:"userID"`
	Username string `json:"username"`
	Email    string `json:"email"`
}

type Weightages

type Weightages struct {
	// Name of the fault
	FaultName string `json:"faultName"`
	// Weightage of the experiment
	Weightage int `json:"weightage"`
}

Defines the details of the weightages of each chaos fault in the experiment

type WeightagesInput

type WeightagesInput struct {
	// Name of the fault
	FaultName string `json:"faultName"`
	// Weightage of the fault
	Weightage int `json:"weightage"`
}

Defines the details of the weightages of each chaos fault in the experiment

type Workload

type Workload struct {
	Name      string `json:"name"`
	Kind      string `json:"kind"`
	Namespace string `json:"namespace"`
}

Jump to

Keyboard shortcuts

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