Documentation ¶
Index ¶
- Variables
- type ActionPayload
- type Annotation
- type Audit
- type AuthType
- type CMDProbeRequest
- type ChaosExperimentRequest
- type ChaosExperimentResponse
- type ChaosHub
- func (this ChaosHub) GetCreatedAt() *string
- func (this ChaosHub) GetCreatedBy() *UserDetails
- func (this ChaosHub) GetDescription() *string
- func (this ChaosHub) GetName() string
- func (this ChaosHub) GetTags() []string
- func (this ChaosHub) GetUpdatedAt() *string
- func (this ChaosHub) GetUpdatedBy() *UserDetails
- func (ChaosHub) IsAudit()
- func (ChaosHub) IsResourceDetails()
- type ChaosHubFilterInput
- type ChaosHubStatus
- func (this ChaosHubStatus) GetCreatedAt() *string
- func (this ChaosHubStatus) GetCreatedBy() *UserDetails
- func (this ChaosHubStatus) GetDescription() *string
- func (this ChaosHubStatus) GetName() string
- func (this ChaosHubStatus) GetTags() []string
- func (this ChaosHubStatus) GetUpdatedAt() *string
- func (this ChaosHubStatus) GetUpdatedBy() *UserDetails
- func (ChaosHubStatus) IsAudit()
- func (ChaosHubStatus) IsResourceDetails()
- type Chart
- type CloningInput
- type CommonProbeProperties
- type Comparator
- type ComparatorInput
- type ConfirmInfraRegistrationResponse
- type CreateChaosHubRequest
- type CreateEnvironmentRequest
- type CreateRemoteChaosHub
- type DateRange
- type Environment
- func (this Environment) GetCreatedAt() *string
- func (this Environment) GetCreatedBy() *UserDetails
- func (this Environment) GetDescription() *string
- func (this Environment) GetName() string
- func (this Environment) GetTags() []string
- func (this Environment) GetUpdatedAt() *string
- func (this Environment) GetUpdatedBy() *UserDetails
- func (Environment) IsAudit()
- func (Environment) IsResourceDetails()
- type EnvironmentFilterInput
- type EnvironmentSortInput
- type EnvironmentSortingField
- type EnvironmentType
- type ExecutedByExperiment
- type ExecutionHistory
- type Experiment
- func (this Experiment) GetCreatedAt() *string
- func (this Experiment) GetCreatedBy() *UserDetails
- func (this Experiment) GetDescription() *string
- func (this Experiment) GetName() string
- func (this Experiment) GetTags() []string
- func (this Experiment) GetUpdatedAt() *string
- func (this Experiment) GetUpdatedBy() *UserDetails
- func (Experiment) IsAudit()
- func (Experiment) IsResourceDetails()
- type ExperimentDetails
- type ExperimentFilterInput
- type ExperimentRequest
- type ExperimentRun
- type ExperimentRunFilterInput
- type ExperimentRunRequest
- type ExperimentRunSortInput
- type ExperimentRunStatus
- type ExperimentSortInput
- type ExperimentSortingField
- type ExperimentType
- type Experiments
- type FaultDetails
- type FaultList
- type FileType
- type GETRequest
- type Get
- type GetChaosHubStatsResponse
- type GetExperimentResponse
- type GetExperimentRunStatsResponse
- type GetExperimentStatsResponse
- type GetInfraStatsResponse
- type GetProbeReferenceResponse
- type GetProbeYAMLRequest
- type GetProbesInExperimentRunResponse
- type GitConfig
- type GitConfigResponse
- type HTTPProbeRequest
- type HubType
- type ImagePullPolicy
- type ImageRegistry
- type ImageRegistryInput
- type ImageRegistryResponse
- type Infra
- func (this Infra) GetCreatedAt() *string
- func (this Infra) GetCreatedBy() *UserDetails
- func (this Infra) GetDescription() *string
- func (this Infra) GetName() string
- func (this Infra) GetTags() []string
- func (this Infra) GetUpdatedAt() *string
- func (this Infra) GetUpdatedBy() *UserDetails
- func (Infra) IsAudit()
- func (Infra) IsResourceDetails()
- type InfraActionResponse
- type InfraEventResponse
- type InfraFilterInput
- type InfraIdentity
- type InfraScope
- type InfraVersionDetails
- type InfrastructureType
- type Invitation
- type K8SProbe
- func (this K8SProbe) GetAttempt() *int
- func (this K8SProbe) GetEvaluationTimeout() *string
- func (this K8SProbe) GetInitialDelay() *string
- func (this K8SProbe) GetInterval() string
- func (this K8SProbe) GetProbePollingInterval() *string
- func (this K8SProbe) GetProbeTimeout() string
- func (this K8SProbe) GetRetry() *int
- func (this K8SProbe) GetStopOnFailure() *bool
- func (K8SProbe) IsCommonProbeProperties()
- type K8SProbeRequest
- type KubeGVRRequest
- type KubeNamespace
- type KubeNamespaceData
- type KubeNamespaceRequest
- type KubeNamespaceResponse
- type KubeObject
- type KubeObjectData
- type KubeObjectRequest
- type KubeObjectResponse
- type KubernetesCMDProbe
- func (this KubernetesCMDProbe) GetAttempt() *int
- func (this KubernetesCMDProbe) GetEvaluationTimeout() *string
- func (this KubernetesCMDProbe) GetInitialDelay() *string
- func (this KubernetesCMDProbe) GetInterval() string
- func (this KubernetesCMDProbe) GetProbePollingInterval() *string
- func (this KubernetesCMDProbe) GetProbeTimeout() string
- func (this KubernetesCMDProbe) GetRetry() *int
- func (this KubernetesCMDProbe) GetStopOnFailure() *bool
- func (KubernetesCMDProbe) IsCommonProbeProperties()
- type KubernetesCMDProbeRequest
- type KubernetesHTTPProbe
- func (this KubernetesHTTPProbe) GetAttempt() *int
- func (this KubernetesHTTPProbe) GetEvaluationTimeout() *string
- func (this KubernetesHTTPProbe) GetInitialDelay() *string
- func (this KubernetesHTTPProbe) GetInterval() string
- func (this KubernetesHTTPProbe) GetProbePollingInterval() *string
- func (this KubernetesHTTPProbe) GetProbeTimeout() string
- func (this KubernetesHTTPProbe) GetRetry() *int
- func (this KubernetesHTTPProbe) GetStopOnFailure() *bool
- func (KubernetesHTTPProbe) IsCommonProbeProperties()
- type KubernetesHTTPProbeRequest
- type Link
- type ListChaosHubRequest
- type ListEnvironmentRequest
- type ListEnvironmentResponse
- type ListExperimentRequest
- type ListExperimentResponse
- type ListExperimentRunRequest
- type ListExperimentRunResponse
- type ListInfraRequest
- type ListInfraResponse
- type Maintainer
- type MemberRole
- type Metadata
- type Method
- type MethodRequest
- type Mode
- type Mutation
- type NewInfraEventRequest
- type ObjectData
- type POSTRequest
- type PROMProbe
- func (this PROMProbe) GetAttempt() *int
- func (this PROMProbe) GetEvaluationTimeout() *string
- func (this PROMProbe) GetInitialDelay() *string
- func (this PROMProbe) GetInterval() string
- func (this PROMProbe) GetProbePollingInterval() *string
- func (this PROMProbe) GetProbeTimeout() string
- func (this PROMProbe) GetRetry() *int
- func (this PROMProbe) GetStopOnFailure() *bool
- func (PROMProbe) IsCommonProbeProperties()
- type PROMProbeRequest
- type PackageInformation
- type Pagination
- type PodLog
- type PodLogRequest
- type PodLogResponse
- type Post
- type PredefinedExperimentList
- type Probe
- func (this Probe) GetCreatedAt() *string
- func (this Probe) GetCreatedBy() *UserDetails
- func (this Probe) GetDescription() *string
- func (this Probe) GetName() string
- func (this Probe) GetTags() []string
- func (this Probe) GetUpdatedAt() *string
- func (this Probe) GetUpdatedBy() *UserDetails
- func (Probe) IsAudit()
- func (Probe) IsResourceDetails()
- type ProbeFilterInput
- type ProbeRecentExecutions
- type ProbeRequest
- type ProbeStatus
- type ProbeType
- type ProbeVerdict
- type Provider
- type Query
- type RecentExecutions
- type RecentExperimentRun
- type RegisterInfraRequest
- type RegisterInfraResponse
- type ResilienceScoreCategory
- type ResourceDetails
- type RunChaosExperimentResponse
- type SSHKey
- type SaveChaosExperimentRequest
- type ScheduleType
- type ServerVersionResponse
- type Spec
- type Status
- type StopExperimentRunsRequest
- type Subscription
- type Toleration
- type UpdateChaosHubRequest
- type UpdateEnvironmentRequest
- type UpdateStatus
- type UserDetails
- type Weightages
- type WeightagesInput
- type Workload
Constants ¶
This section is empty.
Variables ¶
var AllAuthType = []AuthType{ AuthTypeBasic, AuthTypeNone, AuthTypeSSH, AuthTypeToken, }
var AllEnvironmentSortingField = []EnvironmentSortingField{ EnvironmentSortingFieldName, EnvironmentSortingFieldTime, }
var AllEnvironmentType = []EnvironmentType{ EnvironmentTypeProd, EnvironmentTypeNonProd, }
var AllExperimentRunStatus = []ExperimentRunStatus{ ExperimentRunStatusAll, ExperimentRunStatusRunning, ExperimentRunStatusCompleted, ExperimentRunStatusCompletedWithError, ExperimentRunStatusStopped, ExperimentRunStatusSkipped, ExperimentRunStatusError, ExperimentRunStatusTimeout, ExperimentRunStatusTerminated, ExperimentRunStatusQueued, ExperimentRunStatusNa, }
var AllExperimentSortingField = []ExperimentSortingField{ ExperimentSortingFieldName, ExperimentSortingFieldTime, }
var AllExperimentType = []ExperimentType{ ExperimentTypeAll, ExperimentTypeExperiment, ExperimentTypeCronExperiment, ExperimentTypeChaosEngine, ExperimentTypeChaosSchedule, }
var AllFileType = []FileType{ FileTypeExperiment, FileTypeEngine, FileTypeWorkflow, FileTypeCSV, }
var AllHubType = []HubType{ HubTypeGit, HubTypeRemote, }
var AllImagePullPolicy = []ImagePullPolicy{ ImagePullPolicyIfNotPresent, ImagePullPolicyAlways, ImagePullPolicyNever, }
var AllInfraScope = []InfraScope{ InfraScopeNamespace, InfraScopeCluster, }
var AllInfrastructureType = []InfrastructureType{ InfrastructureTypeKubernetes, }
var AllInvitation = []Invitation{ InvitationAccepted, InvitationPending, }
var AllMemberRole = []MemberRole{ MemberRoleOwner, MemberRoleExecutor, MemberRoleViewer, }
var AllMode = []Mode{ ModeSot, ModeEot, ModeEdge, ModeContinuous, ModeOnChaos, }
var AllProbeStatus = []ProbeStatus{ ProbeStatusRunning, ProbeStatusCompleted, ProbeStatusStopped, ProbeStatusError, ProbeStatusQueued, ProbeStatusNa, }
var AllProbeType = []ProbeType{ ProbeTypeHTTPProbe, ProbeTypeCmdProbe, ProbeTypePromProbe, ProbeTypeK8sProbe, }
var AllProbeVerdict = []ProbeVerdict{ ProbeVerdictPassed, ProbeVerdictFailed, ProbeVerdictNa, ProbeVerdictAwaited, }
var AllScheduleType = []ScheduleType{ ScheduleTypeCron, ScheduleTypeNonCron, ScheduleTypeAll, }
var AllUpdateStatus = []UpdateStatus{ UpdateStatusAvailable, UpdateStatusMandatory, UpdateStatusNotRequired, }
Functions ¶
This section is empty.
Types ¶
type ActionPayload ¶
type Annotation ¶
type Audit ¶
type Audit interface { IsAudit() GetUpdatedAt() *string GetCreatedAt() *string GetUpdatedBy() *UserDetails GetCreatedBy() *UserDetails }
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 (ChaosHub) GetCreatedBy ¶
func (this ChaosHub) GetCreatedBy() *UserDetails
func (ChaosHub) GetDescription ¶
func (ChaosHub) GetUpdatedAt ¶
func (ChaosHub) GetUpdatedBy ¶
func (this ChaosHub) GetUpdatedBy() *UserDetails
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 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 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 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 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 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 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 (Infra) GetCreatedBy ¶
func (this Infra) GetCreatedBy() *UserDetails
func (Infra) GetDescription ¶
func (Infra) GetUpdatedAt ¶
func (Infra) GetUpdatedBy ¶
func (this Infra) GetUpdatedBy() *UserDetails
func (Infra) IsResourceDetails ¶
func (Infra) IsResourceDetails()
type InfraActionResponse ¶
type InfraActionResponse struct { ProjectID string `json:"projectID"` Action *ActionPayload `json:"action"` }
type InfraEventResponse ¶
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 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 ¶
Attempt contains the total attempt count for the probe
func (K8SProbe) GetEvaluationTimeout ¶
EvaluationTimeout is the timeout window in which the SLO metrics
func (K8SProbe) GetInitialDelay ¶
Initial delay interval of the Probe in seconds
func (K8SProbe) GetProbePollingInterval ¶
Polling interval of the Probe
func (K8SProbe) GetProbeTimeout ¶
Timeout of the Probe
func (K8SProbe) GetStopOnFailure ¶
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 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 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
func (Mode) MarshalGQL ¶
func (*Mode) UnmarshalGQL ¶
type NewInfraEventRequest ¶
type ObjectData ¶
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 ¶
Attempt contains the total attempt count for the probe
func (PROMProbe) GetEvaluationTimeout ¶
EvaluationTimeout is the timeout window in which the SLO metrics
func (PROMProbe) GetInitialDelay ¶
Initial delay interval of the Probe in seconds
func (PROMProbe) GetProbePollingInterval ¶
Polling interval of the Probe
func (PROMProbe) GetProbeTimeout ¶
Timeout of the Probe
func (PROMProbe) GetStopOnFailure ¶
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 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 (Probe) GetCreatedBy ¶
func (this Probe) GetCreatedBy() *UserDetails
func (Probe) GetDescription ¶
func (Probe) GetUpdatedAt ¶
func (Probe) GetUpdatedBy ¶
func (this Probe) GetUpdatedBy() *UserDetails
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
func (ProbeType) MarshalGQL ¶
func (*ProbeType) UnmarshalGQL ¶
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 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 ResourceDetails ¶
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 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 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