v11

package
v1.18.1 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2025 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Overview

Copyright (c) 2022-2025 Dell Inc, or its subsidiaries.

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

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

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreatePolicy

func CreatePolicy(ctx context.Context, client api.Client, name string, sourcePath string, targetPath string, targetHost string, targetCert string, rpo int, enabled bool) error

func DeletePolicy

func DeletePolicy(ctx context.Context, client api.Client, name string) error

func DeleteTargetPolicy

func DeleteTargetPolicy(ctx context.Context, client api.Client, id string) error

func ResetPolicy

func ResetPolicy(ctx context.Context, client api.Client, name string) error

func ResolvePolicy added in v1.11.1

func ResolvePolicy(ctx context.Context, client api.Client, policy *ResolvePolicyReq) error

func UpdatePolicy

func UpdatePolicy(ctx context.Context, client api.Client, policy *Policy) error

Types

type FailoverFailbackState added in v1.18.0

type FailoverFailbackState string
const (
	WritesDisabled       FailoverFailbackState = "writes_disabled"
	EnablingWrites       FailoverFailbackState = "enabling_writes"
	WritesEnabled        FailoverFailbackState = "writes_enabled"
	DisablingWrites      FailoverFailbackState = "disabling_writes"
	CreatingResyncPolicy FailoverFailbackState = "creating_resync_policy"
	ResyncPolicyCreated  FailoverFailbackState = "resync_policy_created"
)

type Job

type Job struct {
	Action RunningJobAction `json:"policy_action,omitempty"`
	ID     string           `json:"id,omitempty"` // ID or Name of policy
}

func GetJobsByPolicyName

func GetJobsByPolicyName(ctx context.Context, client api.Client, policyName string) ([]Job, error)

func StartSyncIQJob

func StartSyncIQJob(ctx context.Context, client api.Client, job *JobRequest) (*Job, error)

type JobAction added in v1.18.0

type JobAction string
const (
	ResyncPrep       JobAction = "resync_prep"
	AllowWrite       JobAction = "allow_write"
	AllowWriteRevert JobAction = "allow_write_revert"
	Test             JobAction = "test"
)

type JobRequest

type JobRequest struct {
	Action       JobAction `json:"action,omitempty"`
	ID           string    `json:"id,omitempty"` // ID or Name of policy
	SkipFailover bool      `json:"skip_failover,omitempty"`
	SkipMap      bool      `json:"skip_map,omitempty"`
	SkipCopy     bool      `json:"skip_copy,omitempty"`
}

type JobState added in v1.18.0

type JobState string
const (
	SCHEDULED      JobState = "scheduled"
	RUNNING        JobState = "running"
	PAUSED         JobState = "paused"
	FINISHED       JobState = "finished"
	FAILED         JobState = "failed"
	CANCELED       JobState = "canceled"
	NeedsAttention JobState = "needs_attention"
	SKIPPED        JobState = "skipped"
	PENDING        JobState = "pending"
	UNKNOWN        JobState = "unknown"
)

type Jobs

type Jobs struct {
	Job []Job `json:"jobs,omitempty"`
}

type Policies

type Policies struct {
	Policy []Policy `json:"policies,omitempty"`
}

type Policy

type Policy struct {
	Action       string   `json:"action,omitempty"`
	ID           string   `json:"id,omitempty"`
	Name         string   `json:"name,omitempty"`
	Enabled      bool     `json:"enabled"`
	TargetPath   string   `json:"target_path,omitempty"`
	SourcePath   string   `json:"source_root_path,omitempty"`
	TargetHost   string   `json:"target_host,omitempty"`
	TargetCert   string   `json:"target_certificate_id,omitempty"`
	JobDelay     int      `json:"job_delay,omitempty"`
	Schedule     string   `json:"schedule"`
	LastJobState JobState `json:"last_job_state,omitempty"`
}

Policy contains the CloudIQ policy info.

func GetPolicyByName

func GetPolicyByName(ctx context.Context, client api.Client, name string) (policy *Policy, err error)

GetPolicyByName returns policy by name

type Report

type Report struct {
	Policy  Policy   `json:"policy,omitempty"`
	ID      string   `json:"id"`
	JobID   int64    `json:"job_id"`
	State   JobState `json:"state,omitempty"`
	EndTime int64    `json:"end_time"`
	Errors  []string `json:"errors"`
}

func GetReport

func GetReport(ctx context.Context, client api.Client, reportName string) (*Report, error)

type Reports

type Reports struct {
	Reports []Report `json:"reports,omitempty"`
}

func GetReportsByPolicyName

func GetReportsByPolicyName(ctx context.Context, client api.Client, policyName string, reportsForPolicy int) (*Reports, error)

type ResolvePolicyReq added in v1.11.1

type ResolvePolicyReq struct {
	ID         string `json:"id,omitempty"`
	Name       string `json:"name,omitempty"`
	Enabled    bool   `json:"enabled"`
	Conflicted bool   `json:"conflicted"`
	Schedule   string `json:"schedule"`
}

type RunningJobAction added in v1.18.0

type RunningJobAction string
const (
	SYNC RunningJobAction = "sync"
	COPY RunningJobAction = "copy"
)

type TargetPolicies

type TargetPolicies struct {
	Policy []TargetPolicy `json:"policies,omitempty"`
}

type TargetPolicy

type TargetPolicy struct {
	ID                      string                `json:"id,omitempty"`
	Name                    string                `json:"name,omitempty"`
	SourceClusterGUID       string                `json:"source_cluster_guid,omitempty"`
	LastJobState            JobState              `json:"last_job_state,omitempty"`
	TargetPath              string                `json:"target_path,omitempty"`
	SourceHost              string                `json:"source_host,omitempty"`
	LastSourceCoordinatorIP string                `json:"last_source_coordinator_ip,omitempty"`
	FailoverFailbackState   FailoverFailbackState `json:"failover_failback_state,omitempty"`
}

func GetTargetPolicyByName

func GetTargetPolicyByName(ctx context.Context, client api.Client, name string) (policy *TargetPolicy, err error)

Jump to

Keyboard shortcuts

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