ndb_api

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const OPERATION_STATUS_FAILED = "FAILED"
View Source
const OPERATION_STATUS_PASSED = "PASSED"

Variables

View Source
var ComputeOOBProfileResolver = func(p ProfileResponse) bool {
	return p.Type == common.PROFILE_TYPE_COMPUTE && p.SystemProfile &&
		strings.EqualFold(p.Name, common.PROFILE_DEFAULT_OOB_SMALL_COMPUTE)
}
View Source
var DbParamInstanceOOBProfileResolver = func(p ProfileResponse) bool {

	return p.SystemProfile && p.Type == common.PROFILE_TYPE_DATABASE_PARAMETER && p.Topology == common.TOPOLOGY_INSTANCE
}
View Source
var DbParamOOBProfileResolver = func(p ProfileResponse) bool {
	return p.SystemProfile && p.Type == common.PROFILE_TYPE_DATABASE_PARAMETER
}
View Source
var NetworkOOBProfileResolver = func(p ProfileResponse) bool {
	return p.Type == common.PROFILE_TYPE_NETWORK
}
View Source
var SoftwareOOBProfileResolverForSingleInstance = func(p ProfileResponse) bool {
	return p.Type == common.PROFILE_TYPE_SOFTWARE && p.SystemProfile && p.Topology == common.TOPOLOGY_SINGLE
}

Functions

func GetDatabaseEngineName

func GetDatabaseEngineName(dbType string) string

func GetDatabasePortByType

func GetDatabasePortByType(dbType string) int32

func GetDatabaseTypeFromEngine added in v0.0.8

func GetDatabaseTypeFromEngine(engine string) string

func GetOperationStatus added in v0.0.8

func GetOperationStatus(o *OperationResponse) string

Returns an operation status string

func ResolveClusterNameToId added in v0.5.3

func ResolveClusterNameToId(ctx context.Context, ndbClient *ndb_client.NDBClient, clusterName string) (clusterId string, err error)

ResolveClusterNameToId resolves a cluster name to its UUID by fetching clusters from NDB API. Note: This function requires the clusters API endpoint to be available in NDB. If the clusters API is not available, cluster name resolution will fail. Clusters must have unique names in NDB for this to work correctly.

func ResolveProfiles

func ResolveProfiles(ctx context.Context, ndb_client ndb_client.NDBClientHTTPInterface, databaseType string, profileResolvers ProfileResolvers) (profilesMap map[string]ProfileResponse, err error)

Fetches all the profiles and returns a map of profiles Returns an error if any profile is not found

func ResolveSnapshotNameToId added in v0.5.3

func ResolveSnapshotNameToId(ctx context.Context, ndbClient *ndb_client.NDBClient, snapshotName string, timeMachineId string) (snapshotId string, err error)

ResolveSnapshotNameToId resolves a snapshot name to its UUID This requires the time machine ID and searches through snapshots for the matching name If multiple snapshots have the same name, returns the most recent one

func ResolveSourceDatabaseNameToId added in v0.5.3

func ResolveSourceDatabaseNameToId(ctx context.Context, ndbClient *ndb_client.NDBClient, databaseName string) (databaseId string, err error)

ResolveSourceDatabaseNameToId resolves a source database name to its UUID This uses the existing GetDatabaseByName function

Types

type ActionArgument

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

type AuthValidateResponse added in v0.0.7

type AuthValidateResponse struct {
	Status  string `json:"status"`
	Message string `json:"message"`
}

func AuthValidate added in v0.0.7

func AuthValidate(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface) (authValidateResponse AuthValidateResponse, err error)

Validates the auth credentials against the 'auth/validate' endpoint Returns the response along with an error (if any)

type CloneDeprovisionRequest added in v0.0.8

type CloneDeprovisionRequest struct {
	SoftRemove           bool `json:"softRemove"`
	Remove               bool `json:"remove"`
	Delete               bool `json:"delete"`
	Forced               bool `json:"forced"`
	DeleteDataDrives     bool `json:"deleteDataDrives"`
	DeleteLogicalCluster bool `json:"deleteLogicalCluster"`
	RemoveLogicalCluster bool `json:"removeLogicalCluster"`
	DeleteTimeMachine    bool `json:"deleteTimeMachine"`
}

func GenerateDeprovisionCloneRequest added in v0.0.8

func GenerateDeprovisionCloneRequest() (req *CloneDeprovisionRequest)

Returns a request to delete a clone instance

type ClusterResponse added in v0.5.3

type ClusterResponse struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

ClusterResponse represents a cluster in NDB

func GetAllClusters added in v0.5.3

func GetAllClusters(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface) (clusters []ClusterResponse, err error)

GetAllClusters fetches all clusters from NDB Returns empty slice if clusters API endpoint doesn't exist

type ContinuousSchedule added in v0.0.6

type ContinuousSchedule struct {
	Enabled           bool `json:"enabled"`
	LogBackupInterval int  `json:"logBackupInterval"`
	SnapshotsPerDay   int  `json:"snapshotsPerDay"`
}

type DatabaseCloneRequest added in v0.0.8

type DatabaseCloneRequest struct {
	Name                       string           `json:"name"`
	Description                string           `json:"description"`
	CreateDbServer             bool             `json:"createDbserver"`
	Clustered                  bool             `json:"clustered"`
	NxClusterId                string           `json:"nxClusterId"`
	SSHPublicKey               string           `json:"sshPublicKey,omitempty"`
	DbServerId                 string           `json:"dbserverId,omitempty"`
	DbServerClusterId          string           `json:"dbserverClusterId,omitempty"`
	DbserverLogicalClusterId   string           `json:"dbserverLogicalClusterId,omitempty"`
	TimeMachineId              string           `json:"timeMachineId"`
	SnapshotId                 string           `json:"snapshotId,omitempty"`
	UserPitrTimestamp          string           `json:"userPitrTimestamp,omitempty"`
	TimeZone                   string           `json:"timeZone"`
	LatestSnapshot             bool             `json:"latestSnapshot"`
	NodeCount                  int              `json:"nodeCount"`
	Nodes                      []Node           `json:"nodes"`
	ActionArguments            []ActionArgument `json:"actionArguments"`
	Tags                       interface{}      `json:"tags"`
	LcmConfig                  *LcmConfig       `json:"lcmConfig,omitempty"`
	VmPassword                 string           `json:"vmPassword"`
	ComputeProfileId           string           `json:"computeProfileId"`
	NetworkProfileId           string           `json:"networkProfileId"`
	DatabaseParameterProfileId string           `json:"databaseParameterProfileId"`
}

func GenerateCloningRequest added in v0.0.8

func GenerateCloningRequest(ctx context.Context, ndb_client ndb_client.NDBClientHTTPInterface, database DatabaseInterface, reqData map[string]interface{}) (requestBody *DatabaseCloneRequest, err error)

This function generates and returns a request for cloning a database on NDB

type DatabaseDeprovisionRequest

type DatabaseDeprovisionRequest struct {
	Delete               bool `json:"delete"`
	Remove               bool `json:"remove"`
	SoftRemove           bool `json:"softRemove"`
	Forced               bool `json:"forced"`
	DeleteTimeMachine    bool `json:"deleteTimeMachine"`
	DeleteLogicalCluster bool `json:"deleteLogicalCluster"`
}

func GenerateDeprovisionDatabaseRequest

func GenerateDeprovisionDatabaseRequest() (req *DatabaseDeprovisionRequest)

Returns a request to delete a database instance

type DatabaseInterface

type DatabaseInterface interface {
	IsClone() bool
	GetName() string
	GetDescription() string
	GetClusterId() string
	GetProfileResolvers() ProfileResolvers
	GetCredentialSecret() string
	GetTimeZone() string
	GetInstanceType() string
	GetInstanceDatabaseNames() string
	GetInstanceSize() int
	GetInstanceTMDetails() (string, string, string)
	GetTMScheduleForInstance() (Schedule, error)
	GetCloneSourceDBId() string
	GetCloneSnapshotId() string
	GetAdditionalArguments() map[string]string
}

type DatabaseLCMConfig added in v0.0.8

type DatabaseLCMConfig struct {
	ExpiryDetails  ExpiryDetails  `json:"expiryDetails,omitempty"`
	RefreshDetails RefreshDetails `json:"refreshDetails,omitempty"`
}

type DatabaseNode

type DatabaseNode struct {
	Id               string         `json:"id"`
	Name             string         `json:"name"`
	DatabaseServerId string         `json:"dbServerId"`
	DbServer         DatabaseServer `json:"dbserver"`
}

type DatabaseProvisionRequest

type DatabaseProvisionRequest struct {
	DatabaseType             string           `json:"databaseType"`
	Name                     string           `json:"name"`
	DatabaseDescription      string           `json:"databaseDescription"`
	SoftwareProfileId        string           `json:"softwareProfileId"`
	SoftwareProfileVersionId string           `json:"softwareProfileVersionId"`
	ComputeProfileId         string           `json:"computeProfileId"`
	NetworkProfileId         string           `json:"networkProfileId"`
	DbParameterProfileId     string           `json:"dbParameterProfileId"`
	NewDbServerTimeZone      string           `json:"newDbServerTimeZone"`
	CreateDbServer           bool             `json:"createDbserver"`
	NodeCount                int              `json:"nodeCount"`
	NxClusterId              string           `json:"nxClusterId"`
	SSHPublicKey             string           `json:"sshPublicKey,omitempty"`
	Clustered                bool             `json:"clustered"`
	AutoTuneStagingDrive     bool             `json:"autoTuneStagingDrive"`
	TimeMachineInfo          TimeMachineInfo  `json:"timeMachineInfo"`
	ActionArguments          []ActionArgument `json:"actionArguments"`
	Nodes                    []Node           `json:"nodes"`
	DatabaseName             string           `json:"databaseName,omitempty"`
}

func GenerateProvisioningRequest

func GenerateProvisioningRequest(ctx context.Context, ndb_client *ndb_client.NDBClient, database DatabaseInterface, reqData map[string]interface{}) (requestBody *DatabaseProvisionRequest, err error)

This function generates and returns a request for provisioning a database (and a dbserver vm) on NDB The database provisioned has a NONE time machine SLA attached to it, and uses the default OOB profiles

type DatabaseResponse

type DatabaseResponse struct {
	Id            string         `json:"id"`
	Name          string         `json:"name"`
	Status        string         `json:"status"`
	DatabaseNodes []DatabaseNode `json:"databaseNodes"`
	Properties    []Property     `json:"properties"`
	TimeMachineId string         `json:"timeMachineId"`
	Type          string         `json:"type"`
}

func GetAllClones added in v0.0.8

func GetAllClones(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface) (clones []DatabaseResponse, err error)

Fetches all the clones on the NDB instance and retutns a slice of the databases

func GetAllDatabases

func GetAllDatabases(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface) (databases []DatabaseResponse, err error)

Fetches all the databases on the NDB instance and retutns a slice of the databases

func GetCloneById added in v0.5.1

func GetCloneById(ctx context.Context, ndbClient *ndb_client.NDBClient, id string) (clone *DatabaseResponse, err error)

Fetches clone by id

func GetDatabaseById

func GetDatabaseById(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, id string) (database *DatabaseResponse, err error)

Fetches and returns a database by an Id

func GetDatabaseByName added in v0.5.1

func GetDatabaseByName(ctx context.Context, ndbClient *ndb_client.NDBClient, name string) (database *DatabaseResponse, err error)

Fetches and returns a database by name

type DatabaseServer

type DatabaseServer struct {
	Id          string   `json:"id"`
	Name        string   `json:"name"`
	IPAddresses []string `json:"ipAddresses"`
	NxClusterId string   `json:"nxClusterId"`
}

type DatabaseServerDeprovisionRequest

type DatabaseServerDeprovisionRequest struct {
	Delete            bool `json:"delete"`
	Remove            bool `json:"remove"`
	SoftRemove        bool `json:"softRemove"`
	DeleteVgs         bool `json:"deleteVgs"`
	DeleteVmSnapshots bool `json:"deleteVmSnapshots"`
}

func GenerateDeprovisionDatabaseServerRequest

func GenerateDeprovisionDatabaseServerRequest() (req *DatabaseServerDeprovisionRequest)

Returns a request to delete a database server vm

type ExpiryDetails added in v0.0.8

type ExpiryDetails struct {
	ExpireInDays       string `json:"expireInDays"`
	ExpiryDateTimezone string `json:"expiryDateTimezone"`
	DeleteDatabase     string `json:"deleteDatabase"`
}

type LcmConfig added in v0.0.8

type LcmConfig struct {
	DatabaseLCMConfig DatabaseLCMConfig `json:"databaseLCMConfig,omitempty"`
}

type MSSQLRequestAppender added in v0.0.8

type MSSQLRequestAppender struct{}

Implements RequestAppender

type MongoDbRequestAppender added in v0.0.8

type MongoDbRequestAppender struct{}

Implements RequestAppender

type MonthlySchedule added in v0.0.6

type MonthlySchedule struct {
	Enabled    bool `json:"enabled"`
	DayOfMonth int  `json:"dayOfMonth"`
}

type MySqlRequestAppender added in v0.0.8

type MySqlRequestAppender struct{}

Implements RequestAppender

type Node

type Node struct {
	VmName              string   `json:"vmName"`
	ComputeProfileId    string   `json:"computeProfileId,omitempty"`
	NetworkProfileId    string   `json:"networkProfileId,omitempty"`
	NewDbServerTimeZone string   `json:"newDbServerTimeZone,omitempty"`
	NxClusterId         string   `json:"nxClusterId,omitempty"`
	Properties          []string `json:"properties"`
}

type OperationResponse added in v0.0.8

type OperationResponse struct {
	Id                 string `json:"id"`
	Name               string `json:"name"`
	Status             string `json:"status"`
	PercentageComplete string `json:"percentageComplete"`
	Message            string `json:"message"`
	StartTime          string `json:"startTime"`
	EndTime            string `json:"endTime"`
}

func GetOperationById added in v0.0.8

func GetOperationById(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, id string) (operation *OperationResponse, err error)

Fetches and returns a operation by an Id

type PostgresRequestAppender added in v0.0.8

type PostgresRequestAppender struct{}

Implements RequestAppender

type ProfileResolver

type ProfileResolver interface {
	Resolve(ctx context.Context, allProfiles []ProfileResponse, filter func(p ProfileResponse) bool) (profile ProfileResponse, err error)
	GetName() string
	GetId() string
}

type ProfileResolvers

type ProfileResolvers map[string]ProfileResolver

type ProfileResponse

type ProfileResponse struct {
	Id              string `json:"id"`
	Name            string `json:"name"`
	Type            string `json:"type"`
	EngineType      string `json:"engineType"`
	LatestVersionId string `json:"latestVersionId"`
	Topology        string `json:"topology"`
	SystemProfile   bool   `json:"systemProfile"`
	Status          string `json:"status"`
}

func GetAllProfiles

func GetAllProfiles(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface) (profiles []ProfileResponse, err error)

Fetches and returns all the available profiles as a profile slice

type Property

type Property struct {
	Name        string `json:"name"`
	Value       string `json:"value"`
	Description string `json:"description"`
}

type QuarterlySchedule added in v0.0.6

type QuarterlySchedule struct {
	Enabled    bool   `json:"enabled"`
	StartMonth string `json:"startMonth"`
	DayOfMonth int    `json:"dayOfMonth"`
}

type RefreshDetails added in v0.0.8

type RefreshDetails struct {
	RefreshInDays       string `json:"refreshInDays"`
	RefreshTime         string `json:"refreshTime"`
	RefreshDateTimezone string `json:"refreshDateTimezone"`
}

type RequestAppender added in v0.0.8

type RequestAppender interface {
	// contains filtered or unexported methods
}

func GetRequestAppender added in v0.0.8

func GetRequestAppender(databaseType string) (requestAppender RequestAppender, err error)

Get specific implementation of the DBProvisionRequestAppender interface based on the provided databaseType

type SLAResponse

type SLAResponse struct {
	Id                 string `json:"id"`
	Name               string `json:"name"`
	UniqueName         string `json:"uniqueName"`
	Description        string `json:"description"`
	DailyRetention     int    `json:"dailyRetention"`
	WeeklyRetention    int    `json:"weeklyRetention"`
	MonthlyRetention   int    `json:"monthlyRetention"`
	QuarterlyRetention int    `json:"quarterlyRetention"`
	YearlyRetention    int    `json:"yearlyRetention"`
}

func GetAllSLAs

func GetAllSLAs(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface) (slas []SLAResponse, err error)

Fetches and returns all the SLAs as a sla slice

func GetSLAByName added in v0.0.6

func GetSLAByName(ctx context.Context, ndb_client *ndb_client.NDBClient, name string) (sla SLAResponse, err error)

Fetches all the SLAs from the ndb and returns the SLA matching the name Returns an error if not found.

type Schedule added in v0.0.6

type Schedule struct {
	SnapshotTimeOfDay  SnapshotTimeOfDay  `json:"snapshotTimeOfDay"`
	ContinuousSchedule ContinuousSchedule `json:"continuousSchedule"`
	WeeklySchedule     WeeklySchedule     `json:"weeklySchedule"`
	MonthlySchedule    MonthlySchedule    `json:"monthlySchedule"`
	QuarterlySchedule  QuarterlySchedule  `json:"quartelySchedule"`
	YearlySchedule     YearlySchedule     `json:"yearlySchedule"`
}

type Snapshot added in v0.5.1

type Snapshot struct {
	Id string `json:"id"`
}

type SnapshotLcmConfig added in v0.5.1

type SnapshotLcmConfig struct {
	SnapshotLCMConfigDetailed SnapshotLcmConfigDetailed `json:"snapshotLCMConfig"`
}

type SnapshotLcmConfigDetailed added in v0.5.1

type SnapshotLcmConfigDetailed struct {
	ExpiryDetails ExpiryDetails `json:"expiryDetails"`
}

type SnapshotRequest added in v0.5.1

type SnapshotRequest struct {
	Name              string            `json:"name"`
	SnapshotLcmConfig SnapshotLcmConfig `json:"lcmConfig"`
}

func GenerateSnapshotRequest added in v0.5.1

func GenerateSnapshotRequest(name string, expiryDateTimezone string, ExpireInDays string) *SnapshotRequest

type SnapshotResponse added in v0.5.1

type SnapshotResponse struct {
	Id                    string `json:"id"`
	Name                  string `json:"name"`
	Description           string `json:"description"`
	SnapshotId            string `json:"snapshotId"`
	SnapshotUuid          string `json:"snapshotUuid"`
	TimeMachineId         string `json:"timeMachineId"`
	SnapshotTimeStampDate int64  `json:"snapshotTimeStampDate"`
}

func GetSnapshotById added in v0.5.3

func GetSnapshotById(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, snapshotId string) (snapshot *SnapshotResponse, err error)

GetSnapshotById fetches detailed snapshot information by ID

type SnapshotTimeOfDay added in v0.0.6

type SnapshotTimeOfDay struct {
	Hours   int `json:"hours"`
	Minutes int `json:"minutes"`
	Seconds int `json:"seconds"`
}

type SnapshotsParentInfoPerCluster added in v0.5.1

type SnapshotsParentInfoPerCluster struct {
	Snapshots []Snapshot `json:"snapshots"`
}

type TaskInfoSummaryResponse

type TaskInfoSummaryResponse struct {
	Name                 string                    `json:"name"`
	WorkId               string                    `json:"workId"`
	OperationId          string                    `json:"operationId"`
	DbServerId           string                    `json:"dbserverId"`
	Message              string                    `json:"messgae"`
	EntityId             string                    `json:"entityId"`
	EntityName           string                    `json:"entityName"`
	EntityType           string                    `json:"entityType"`
	Status               string                    `json:"status"`
	AssociatedOperations []TaskInfoSummaryResponse `json:"associatedOperations"`
	DependencyReport     interface{}               `json:"dependencyReport"`
}

func CreateSnapshotForTM added in v0.5.1

func CreateSnapshotForTM(
	ctx context.Context,
	ndbClient ndb_client.NDBClientHTTPInterface,
	tmId string,
	snapshotName string,
	expiryDateTimezone string,
	ExpireInDays string) (task *TaskInfoSummaryResponse, err error)

Creates a snapshot for a time machine Returns the task info summary response for the operation TODO

func DeprovisionClone added in v0.0.8

func DeprovisionClone(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, id string, req *CloneDeprovisionRequest) (task *TaskInfoSummaryResponse, err error)

Deprovisions a clone instance given a clone id Returns the task info summary response for the operation

func DeprovisionDatabase

func DeprovisionDatabase(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, id string, req *DatabaseDeprovisionRequest) (task *TaskInfoSummaryResponse, err error)

Deprovisions a database instance given a database id Returns the task info summary response for the operation

func DeprovisionDatabaseServer

func DeprovisionDatabaseServer(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, id string, req *DatabaseServerDeprovisionRequest) (task *TaskInfoSummaryResponse, err error)

Deprovisions a database server vm given a server id Returns the task info summary response for the operation

func ProvisionClone added in v0.0.8

func ProvisionClone(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, req *DatabaseCloneRequest) (task *TaskInfoSummaryResponse, err error)

Provisions a clone based on the clone provisioning request Returns the task info summary response for the operation

func ProvisionDatabase

func ProvisionDatabase(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, req *DatabaseProvisionRequest) (task *TaskInfoSummaryResponse, err error)

Provisions a database instance based on the database provisioning request Returns the task info summary response for the operation

type TimeMachineContinuousSchedule added in v0.5.1

type TimeMachineContinuousSchedule struct {
	LogBackupInterval int `json:"logBackupInterval"`
	SnapshotsPerDay   int `json:"snapshotsPerDay"`
}

type TimeMachineGetSnapshotsResponse added in v0.5.1

type TimeMachineGetSnapshotsResponse struct {
	SnapshotsPerNxCluster map[string][]SnapshotsParentInfoPerCluster `json:"snapshotsPerNxCluster"`
}

func GetSnapshotsForTM added in v0.5.1

func GetSnapshotsForTM(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, tmId string) (response *TimeMachineGetSnapshotsResponse, err error)

Gets snapshots for a time machine Returns the task info summary response for the operation

type TimeMachineInfo

type TimeMachineInfo struct {
	Name             string   `json:"name"`
	Description      string   `json:"description"`
	SlaId            string   `json:"slaId"`
	Schedule         Schedule `json:"schedule"`
	Tags             []string `json:"tags"`
	AutoTuneLogDrive bool     `json:"autoTuneLogDrive"`
}

type TimeMachineMonthlySchedule added in v0.5.1

type TimeMachineMonthlySchedule struct {
	DayOfMonth int `json:"dayOfMonth"`
}

type TimeMachineQuarterlySchedule added in v0.5.1

type TimeMachineQuarterlySchedule struct {
	StartMonth string `json:"startMonth"`
}

type TimeMachineResponse added in v0.5.1

type TimeMachineResponse struct {
	Id          string              `json:"id"`
	Name        string              `json:"name"`
	Description string              `json:"description"`
	DatabaseId  string              `json:"databaseId"`
	Status      string              `json:"Status"`
	Sla         TimeMachineSLA      `json:"sla"`
	Schedule    TimeMachineSchedule `json:"schedule"`
}

func GetTimeMachineById added in v0.5.1

func GetTimeMachineById(ctx context.Context, ndbClient ndb_client.NDBClientHTTPInterface, tmId string) (timeMachine *TimeMachineResponse, err error)

Gets TimeMachine by id

type TimeMachineSLA added in v0.5.1

type TimeMachineSLA struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

type TimeMachineSchedule added in v0.5.1

type TimeMachineSchedule struct {
	Id                 string                        `json:"id"`
	Name               string                        `json:"name"`
	SnapshotTimeOfDay  TimeMachineSnapshotTimeOfDay  `json:"snapshotTimeOfDay"`
	ContinuousSchedule TimeMachineContinuousSchedule `json:"continuousSchedule"`
	WeeklySchedule     TimeMachineWeeklySchedule     `json:"weeklySchedule"`
	MonthlySchedule    TimeMachineMonthlySchedule    `json:"monthlySchedule"`
	QuarterlySchedule  TimeMachineQuarterlySchedule  `json:"quarterlySchedule"`
}

type TimeMachineSnapshotTimeOfDay added in v0.5.1

type TimeMachineSnapshotTimeOfDay struct {
	Hours   int `json:"hours"`
	Minutes int `json:"minutes"`
	Seconds int `json:"seconds"`
}

type TimeMachineWeeklySchedule added in v0.5.1

type TimeMachineWeeklySchedule struct {
	DayOfWeek string `json:"dayOfWeek"`
}

type WeeklySchedule added in v0.0.6

type WeeklySchedule struct {
	Enabled   bool   `json:"enabled"`
	DayOfWeek string `json:"dayOfWeek"`
}

type YearlySchedule added in v0.0.6

type YearlySchedule struct {
	Enabled    bool   `json:"enabled"`
	DayOfMonth int    `json:"dayOfMonth"`
	Month      string `json:"month"`
}

Jump to

Keyboard shortcuts

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