models

package
v0.1.5 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	NoOperation         = "NO_OPERATION"
	OperationInProgress = "OPERATION_IN_PROGRESS"

	CreatedStatus = "CREATED"
	DeletedStatus = "DELETED"

	DefaultAccountName = "INSTACLUSTR"

	AWSVPC  = "AWS_VPC"
	GCP     = "GCP"
	AZUREAZ = "AZURE_AZ"
)
View Source
const (
	AWSAccessKeyID     = "awsAccessKeyId"
	AWSSecretAccessKey = "awsSecretAccessKey"

	SharedProvisioningType   = "SHARED"
	PackagedProvisioningType = "PACKAGED"
	StandardProvisioningType = "STANDARD"
)
View Source
const (
	ONPREMISES = "ONPREMISES"
	CLIENTDC   = "CLIENT_DC"

	KubeVirt                     = "kubevirt"
	VirtualMachineKind           = "VirtualMachine"
	DVKind                       = "DataVolume"
	ServiceKind                  = "Service"
	KubevirtV1APIVersion         = "kubevirt.io/v1"
	CDIKubevirtV1beta1APIVersion = "cdi.kubevirt.io/v1beta1"

	KubevirtSubdomain          = "kubevirt"
	KubevirtDomainLabel        = "kubevirt.io/domain"
	NodeIDLabel                = "nodeID"
	NodeRackLabel              = "nodeRack"
	NodeLabel                  = "node"
	NodeOSDVPrefix             = "node-os-data-volume-pvc"
	NodeDVPrefix               = "node-data-volume-pvc"
	NodeVMPrefix               = "node-vm"
	NodeSvcPrefix              = "node-service"
	WorkerNode                 = "worker-node"
	GatewayDVPrefix            = "gateway-data-volume-pvc"
	GatewayVMPrefix            = "gateway-vm"
	GatewaySvcPrefix           = "gateway-service"
	GatewayRack                = "ssh-gateway-rack"
	IgnitionScriptSecretPrefix = "ignition-script-secret"
	DataDisk                   = "data-disk"

	Boot           = "boot"
	Storage        = "storage"
	CPU            = "cpu"
	Memory         = "memory"
	Virtio         = "virtio"
	Native         = "native"
	None           = "none"
	Script         = "script"
	IgnitionDisk   = "ignition"
	Default        = "default"
	CloudInit      = "cloud-init"
	DataDiskSerial = "DATADISK"
	IgnitionSerial = "IGNITION"

	SSH    = "ssh"
	Port22 = 22

	CassandraInterNode = "cassandra-inter-node"
	CassandraSSL       = "cassandra-ssl"
	CassandraCQL       = "cassandra-cql"
	CassandraJMX       = "cassandra-jmx"
	Port7000           = 7000
	Port7001           = 7001
	Port7199           = 7199
	Port9042           = 9042

	KafkaClient       = "kafka-client"
	KafkaControlPlane = "kafka-control-plane"
	KafkaBroker       = "kafka-broker"
	Port9092          = 9092
	Port9093          = 9093
	Port9094          = 9094

	KafkaConnectAPI = "kafka-connect-API"
	Port8083        = 8083

	CadenceTChannel = "cadence-tchannel"
	CadenceGRPC     = "cadence-grpc"
	CadenceWeb      = "cadence-web"
	CadenceHHTPAPI  = "cadence-http-api"
	Port7933        = 7933
	Port7833        = 7833
	Port8088        = 8088
	Port443         = 433

	PostgreSQLDB = "postgresql-db"
	Port5432     = 5432

	RedisDB   = "redis-db"
	RedisBus  = "redis-bus"
	Port6379  = 6379
	Port16379 = 16379
)
View Source
const (
	ResourceStateAnnotation   = "instaclustr.com/resourceState"
	ClusterDeletionAnnotation = "instaclustr.com/clusterDeletion"
	ExternalChangesAnnotation = "instaclustr.com/externalChanges"
	DeletionFinalizer         = "instaclustr.com/deletionFinalizer"
	StartTimestampAnnotation  = "instaclustr.com/startTimestamp"
	UpdateQueuedAnnotation    = "instaclustr.com/updateQueued"

	DefaultSecretLabel                = "instaclustr.com/defaultSecret"
	ControlledByLabel                 = "instaclustr.com/controlledBy"
	ClusterIDLabel                    = "instaclustr.com/clusterID"
	ClusterNameLabel                  = "instaclustr.com/clusterName"
	ClustersV1beta1APIVersion         = "clusters.instaclustr.com/v1beta1"
	ClusterresourcesV1beta1APIVersion = "clusterresources.instaclustr.com/v1beta1"
	RedisUserNamespaceLabel           = "instaclustr.com/redisUserNamespace"
	PostgreSQLUserNamespaceLabel      = "instaclustr.com/postgresqlUserNamespace"
	OpenSearchUserNamespaceLabel      = "instaclustr.com/openSearchUserNamespace"

	CassandraKind        = "Cassandra"
	CassandraChildPrefix = "cassandra-"
	CassandraChildDCName = "cassandra-cadence-dc"

	KafkaKind        = "Kafka"
	KafkaChildPrefix = "kafka-"
	KafkaChildDCName = "kafka-cadence-dc"

	OpenSearchKind        = "OpenSearch"
	OpenSearchChildPrefix = "opensearch-"
	OpenSearchChildDCName = "opensearch-cadence-dc"

	K8sAPIVersionV1 = "v1"
	VPCPeered       = "VPC_PEERED"

	True  = "true"
	False = "false"

	Triggered = "triggered"

	ClusterBackupKind                = "ClusterBackup"
	PgClusterKind                    = "PostgreSQL"
	RedisClusterKind                 = "Redis"
	OsClusterKind                    = "OpenSearch"
	CadenceClusterKind               = "Cadence"
	KafkaConnectClusterKind          = "KafkaConnect"
	CassandraClusterKind             = "Cassandra"
	ZookeeperClusterKind             = "Zookeeper"
	ClusterNetworkFirewallRuleKind   = "ClusterNetworkFirewallRule"
	SecretKind                       = "Secret"
	PgBackupEventType                = "postgresql-backup"
	SnapshotUploadEventType          = "snapshot-upload"
	PgBackupPrefix                   = "postgresql-backup-"
	SnapshotUploadPrefix             = "snapshot-upload-"
	ClusterNetworkFirewallRulePrefix = "firewall-rule"
	DefaultUserSecretPrefix          = "default-user-password"
	DefaultUserSecretNameTemplate    = "%s-%s"
	ExposeServiceNameTemplate        = "%s-service"
	PgRestoreValue                   = "postgres"

	CassandraConnectionPort    = 9042
	CadenceConnectionPort      = 7933
	KafkaConnectionPort        = 9092
	KafkaConnectConnectionPort = 8083
	OpenSearchConnectionPort   = 9200
	PgConnectionPort           = 5432
	RedisConnectionPort        = 6379
	ZookeeperConnectionPort    = 2181

	KafkaConnectAppKind = "kafka-connect"
	CadenceAppKind      = "cadence"
	CassandraAppKind    = "cassandra"
	KafkaAppKind        = "kafka"
	OpenSearchAppKind   = "opensearch"
	PgAppKind           = "postgresql"
	RedisAppKind        = "redis"
	ZookeeperAppKind    = "zookeeper"

	KafkaAppType        = "KAFKA"
	RedisAppType        = "REDIS"
	CadenceAppType      = "CADENCE"
	ZookeeperAppType    = "APACHE_ZOOKEEPER"
	OpenSearchAppType   = "OPENSEARCH"
	PgAppType           = "POSTGRESQL"
	KafkaConnectAppType = "KAFKA_CONNECT"
	CassandraAppType    = "APACHE_CASSANDRA"

	DefaultPgUsernameValue = "icpostgresql"
	DefaultPgDbNameValue   = "postgres"
	DefaultPgDbPortValue   = 5432
)
View Source
const (
	CreatingEvent        = "creating"
	CreatedEvent         = "created"
	UpdatingEvent        = "updating"
	UpdatedEvent         = "updated"
	DeletingEvent        = "deleting"
	DeletedEvent         = "deleted"
	GenericEvent         = "generic"
	SecretEvent          = "secret"
	ClusterDeletingEvent = "cluster deleting"
)
View Source
const (
	Normal           = "Normal"
	Warning          = "Warning"
	Created          = "Created"
	PatchFailed      = "PatchFailed"
	NotFound         = "NotFound"
	CreationFailed   = "CreationFailed"
	FetchFailed      = "FetchFailed"
	ConversionFailed = "ConversionFailed"
	ValidationFailed = "ValidationFailed"
	UpdateFailed     = "UpdateFailed"
	ExternalChanges  = "ExternalChanges"
	DeletionStarted  = "DeletionStarted"
	DeletionFailed   = "DeletionFailed"
	Deleted          = "Deleted"
	ExternalDeleted  = "ExternalDeleted"
)
View Source
const (
	ReplaceOperation = "replace"
	AnnotationsPath  = "/metadata/annotations"
	FinalizersPath   = "/metadata/finalizers"

	Username = "username"
	Password = "password"
)
View Source
const (
	InProgressME = "in-progress"
	PastME       = "past"
	UpcomingME   = "upcoming"
)
View Source
const (
	CertificateRequestType     = "CERTIFICATE REQUEST"
	RSAPrivateKeyType          = "RSA PRIVATE KEY"
	SignedCertificateSecretKey = "signedCertificate"
	CSRSecretKey               = "csr"
	PrivateKeySecretKey        = "privateKey"
)
View Source
const (
	ExternalChangesBaseMessage = "There are external changes on the Instaclustr console. Please reconcile the specification manually."
	SpecPath                   = "path"
)
View Source
const (
	AWSVPCPeeringStatusCodeDeleted = "deleted"
)
View Source
const Requeue60 = time.Second * 60
View Source
const (
	RunningStatus = "RUNNING"
)

Variables

View Source
var (
	ErrZeroDataCentres                            = errors.New("cluster spec doesn't have data centres")
	ErrMoreThanOneKraft                           = errors.New("cluster spec does not support more than one kraft")
	ErrMoreThanThreeControllerNodeCount           = errors.New("kraft does not support more than three controller nodes")
	ErrNetworkOverlaps                            = errors.New("cluster network overlaps")
	ErrImmutableTwoFactorDelete                   = errors.New("twoFactorDelete field is immutable")
	ErrImmutableCloudProviderSettings             = errors.New("cloudProviderSettings are immutable")
	ErrImmutableIntraDataCentreReplication        = errors.New("intraDataCentreReplication fields are immutable")
	ErrImmutableInterDataCentreReplication        = errors.New("interDataCentreReplication fields are immutable")
	ErrImmutableDataCentresNumber                 = errors.New("data centres number is immutable")
	ErrImmutableAWSSecurityGroupFirewallRule      = errors.New("awsSecurityGroupFirewallRule is immutable")
	ErrImmutableTags                              = errors.New("tags field is immutable")
	ErrTypeAssertion                              = errors.New("unable to assert type")
	ErrImmutableSchemaRegistry                    = errors.New("schema registry is immutable")
	ErrImmutableRestProxy                         = errors.New("rest proxy is immutable")
	ErrImmutableKraft                             = errors.New("kraft is immutable")
	ErrImmutableKarapaceSchemaRegistry            = errors.New("karapace schema registry is immutable")
	ErrImmutableKarapaceRestProxy                 = errors.New("karapace rest proxy is immutable")
	ErrImmutableDedicatedZookeeper                = errors.New("dedicated zookeeper nodes cannot be changed")
	ErrDecreasedDataCentresNumber                 = errors.New("data centres number cannot be decreased")
	ErrImmutableTargetCluster                     = errors.New("TargetCluster field is immutable")
	ErrImmutableExternalCluster                   = errors.New("ExternalCluster field is immutable")
	ErrImmutableManagedCluster                    = errors.New("ManagedCluster field is immutable")
	ErrIncorrectDayOfWeek                         = errors.New("dayOfWeek field is invalid")
	ErrImmutableAWSArchival                       = errors.New("AWSArchival array is immutable")
	ErrImmutableStandardProvisioning              = errors.New("StandardProvisioning array is immutable")
	ErrImmutableSharedProvisioning                = errors.New("SharedProvisioning array is immutable")
	ErrImmutablePackagedProvisioning              = errors.New("PackagedProvisioning array is immutable")
	ErrImmutableAdvancedVisibility                = errors.New("AdvancedVisibility array is immutable")
	ErrImmutablePrivateLink                       = errors.New("PrivateLink array is immutable")
	ErrImmutableNodesNumber                       = errors.New("nodes number is immutable")
	ErrImmutableSecretRef                         = errors.New("secret reference is immutable")
	ErrEmptySecretRef                             = errors.New("secretRef.name and secretRef.namespace should not be empty")
	ErrMissingSecretKeys                          = errors.New("the secret is missing the correct keys for the user")
	ErrUserStillExist                             = errors.New("the user is still attached to the cluster. If you want to delete the user, remove the user from the cluster specification first")
	ErrOnlyOneEntityTwoFactorDelete               = errors.New("currently only one entity of two factor delete can be filled")
	ErrPrivateLinkOnlyWithPrivateNetworkCluster   = errors.New("private link is available only for private network clusters")
	ErrPrivateLinkSupportedOnlyForSingleDC        = errors.New("private link is only supported for a single data centre")
	ErrPrivateLinkSupportedOnlyForAWS             = errors.New("private link is supported only for an AWS cloud provider")
	ErrImmutableSpec                              = errors.New("resource specification is immutable")
	ErrUnsupportedBackupClusterKind               = errors.New("backups for provided cluster kind are not supported")
	ErrUnsupportedClusterKind                     = errors.New("provided cluster kind is not supported")
	ErrExposeServiceNotCreatedYet                 = errors.New("expose service is not created yet")
	ErrExposeServiceEndpointsNotCreatedYet        = errors.New("expose service endpoints is not created yet")
	ErrOnlySingleConcurrentResizeAvailable        = errors.New("only single concurrent resize is allowed")
	ErrBundledUseOnlyResourceUpdateIsNotSupported = errors.New("updating of bundled use resource is not supported")
	ErrDebeziumImmutable                          = errors.New("debezium array is immutable")
	ErrEmptyNamespace                             = errors.New("namespace field is empty")
	ErrEmptyName                                  = errors.New("name field is empty")
	ErrCreateClusterWithMultiDC                   = errors.New("multiple data center is still not supported. Please create a cluster with one data centre and add a second one when the cluster is in the running state")
	ErrOnPremicesWithMultiDC                      = errors.New("on-premises cluster can be provisioned with only one data centre")
	ErrUnsupportedDeletingDC                      = errors.New("deleting data centre is not supported")
	ErrClusterIsNotReadyToUpdate                  = errors.New("cluster is not ready to update")
	ErrKubeVirtAddonNotFound                      = errors.New("cannot create KubeVirt based resources automatially without KubeVirt operator installed. Please install KubeVirt add-on")
)
View Source
var (
	ReconcileRequeue   = reconcile.Result{RequeueAfter: Requeue60}
	ImmediatelyRequeue = reconcile.Result{RequeueAfter: 1}
	ExitReconcile      = reconcile.Result{}
)
View Source
var (
	PGBouncerVersions    = []string{"1.17.0"}
	KafkaConnectVPCTypes = []string{"KAFKA_VPC", "VPC_PEERED", "SEPARATE_VPC"}
	PoolModes            = []string{"TRANSACTION", "SESSION", "STATEMENT"}
	ReplicationModes     = []string{"ASYNCHRONOUS", "SYNCHRONOUS"}
	CloudProviders       = []string{"AWS_VPC", "GCP", "AZURE_AZ"}
	SLATiers             = []string{"PRODUCTION", "NON_PRODUCTION"}
	ClusterNameRegExp    = "^[a-zA-Z0-9][a-zA-Z0-9_-]{2,31}$"
	BundleTypes          = []string{"APACHE_ZOOKEEPER", "CADENCE", "CADENCE_GRPC",
		"CADENCE_WEB", "CASSANDRA", "CASSANDRA_CQL",
		"ELASTICSEARCH", "KAFKA", "KAFKA_CONNECT",
		"KAFKA_ENCRYPTION", "KAFKA_MTLS", "KAFKA_NO_ENCRYPTION",
		"KAFKA_REST_PROXY", "KAFKA_SCHEMA_REGISTRY", "KARAPACE_REST_PROXY",
		"KARAPACE_SCHEMA_REGISTRY", "OPENSEARCH", "OPENSEARCH_DASHBOARDS",
		"PGBOUNCER", "POSTGRESQL", "REDIS",
		"SEARCH_DASHBOARDS", "SECURE_APACHE_ZOOKEEPER", "SPARK",
		"SPARK_JOBSERVER", "SHOTOVER_PROXY"}
	PeerAWSAccountIDRegExp = "^[0-9]{12}$"
	PeerVPCIDRegExp        = "^vpc-[0-9a-f]{8}$"
	PeerSubnetsRegExp      = "" /* 171-byte string literal not displayed */
	UUIDStringRegExp       = "^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$"
	AWSRegions             = []string{"AF_SOUTH_1", "AP_EAST_1", "AP_NORTHEAST_1", "AP_NORTHEAST_2", "AP_SOUTHEAST_1",
		"AP_SOUTHEAST_2", "AP_SOUTH_1", "CA_CENTRAL_1", "CN_NORTHWEST_1", "CN_NORTH_1", "EU_CENTRAL_1", "EU_NORTH_1",
		"EU_SOUTH_1", "EU_WEST_1", "EU_WEST_2", "EU_WEST_3", "ME_SOUTH_1", "SA_EAST_1", "US_EAST_1", "US_EAST_2",
		"US_WEST_1", "US_WEST_2"}
	AzureRegions = []string{"AUSTRALIA_EAST", "CANADA_CENTRAL", "CENTRAL_US", "EAST_US", "EAST_US_2", "NORTH_EUROPE",
		"SOUTHEAST_ASIA", "SOUTH_CENTRAL_US", "WEST_EUROPE", "WEST_US_2"}
	GCPRegions = []string{"asia-east1", "asia-northeast1", "asia-south1", "asia-southeast1", "australia-southeast1",
		"europe-north1", "europe-west1", "europe-west2", "europe-west3", "europe-west4", "europe-west6",
		"northamerica-northeast1", "southamerica-east1", "us-central1", "us-east1", "us-east4", "us-west1", "us-west2"}
	DaysOfWeek          = []string{"MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"}
	ISODateFormatRegExp = "" /* 258-byte string literal not displayed */
	ACLPermissionType   = []string{"ALLOW", "DENY"}
	ACLPatternType      = []string{"LITERAL", "PREFIXED"}
	ACLOperation        = []string{"ALL", "READ", "WRITE", "CREATE", "DELETE", "ALTER", "DESCRIBE", "CLUSTER_ACTION",
		"DESCRIBE_CONFIGS", "ALTER_CONFIGS", "IDEMPOTENT_WRITE"}
	ACLResourceType            = []string{"CLUSTER", "TOPIC", "GROUP", "DELEGATION_TOKEN", "TRANSACTIONAL_ID"}
	ACLUserPrefix              = "User:"
	ACLPrincipalRegExp         = "^User:.*$"
	S3URIRegExp                = "^s3:\\/\\/[a-zA-Z0-9_-]+[^\\/]$"
	DependencyVPCs             = []string{"TARGET_VPC", "VPC_PEERED", "SEPARATE_VPC"}
	EncryptionKeyAliasRegExp   = "^[a-zA-Z0-9_-]{1}[a-zA-Z0-9 _-]*$"
	OpenSearchBindingIDPattern = "[\\w-]+"
	MemoryRegExp               = "^\\d+(Ei|Pi|Ti|Gi|Mi|Ki)?$"
	StorageRegExp              = "^\\d+(Gi|Ti|Pi|Ei)?$"

	CassandraReplicationFactors    = []int{2, 3, 5}
	KafkaReplicationFactors        = []int{3, 5}
	KafkaConnectReplicationFactors = []int{3}
	OpenSearchReplicationFactors   = []int{3}
)
View Source
var ClusterKindsMap = map[string]string{"PostgreSQL": "postgres", "Redis": "redis", "OpenSearch": "opensearch", "Cassandra": "cassandra"}

Functions

This section is empty.

Types

type AWSArchival

type AWSArchival struct {
	ArchivalS3Region   string `json:"archivalS3Region,omitempty"`
	AWSAccessKeyID     string `json:"awsAccessKeyId,omitempty"`
	ArchivalS3URI      string `json:"archivalS3Uri,omitempty"`
	AWSSecretAccessKey string `json:"awsSecretAccessKey,omitempty"`
}

type AWSConnectorSettings added in v0.0.2

type AWSConnectorSettings struct {
	S3RoleArn    string `json:"s3RoleArn"`
	SecretKey    string `json:"secretKey"`
	AccessKey    string `json:"accessKey"`
	S3BucketName string `json:"s3BucketName"`
}

type AWSEndpointServicePrincipal added in v0.1.3

type AWSEndpointServicePrincipal struct {
	ID                  string `json:"id,omitempty"`
	ClusterDataCenterID string `json:"clusterDataCenterId,omitempty"`
	EndPointServiceID   string `json:"endPointServiceId,omitempty"`
	PrincipalARN        string `json:"principalArn,omitempty"`
}

type AWSSetting added in v0.0.2

type AWSSetting struct {
	EBSEncryptionKey       string `json:"ebsEncryptionKey,omitempty"`
	CustomVirtualNetworkID string `json:"customVirtualNetworkId,omitempty"`
}

type AWSVPCPeering added in v0.1.3

type AWSVPCPeering struct {
	ID               string   `json:"id"`
	CDCID            string   `json:"cdcId"`
	DataCentreVPCID  string   `json:"dataCentreVpcId"`
	PeerAWSAccountID string   `json:"peerAwsAccountId"`
	PeerRegion       string   `json:"peerRegion"`
	PeerSubnets      []string `json:"peerSubnets"`
	PeerVpcID        string   `json:"peerVpcId"`
	StatusCode       string   `json:"statusCode"`
}

type ActiveCluster added in v0.0.2

type ActiveCluster struct {
	Application string `json:"application,omitempty"`
	ID          string `json:"id,omitempty"`
}

type ActiveClusters added in v0.0.2

type ActiveClusters struct {
	AccountID string           `json:"accountId,omitempty"`
	Clusters  []*ActiveCluster `json:"clusters,omitempty"`
}

type AddonBundle

type AddonBundle struct {
	Bundle  string         `json:"bundle"`
	Version string         `json:"version"`
	Options *BundleOptions `json:"options"`
}

type AdvancedVisibility

type AdvancedVisibility struct {
	TargetKafka      *TargetKafka      `json:"targetKafka"`
	TargetOpenSearch *TargetOpenSearch `json:"targetOpenSearch"`
}

type AppVersions added in v0.0.5

type AppVersions struct {
	Application string   `json:"application"`
	Versions    []string `json:"versions"`
}

type AzureConnectorSettings added in v0.0.2

type AzureConnectorSettings struct {
	StorageContainerName string `json:"storageContainerName"`
	StorageAccountName   string `json:"storageAccountName"`
	StorageAccountKey    string `json:"storageAccountKey"`
}

type AzureSetting added in v0.0.2

type AzureSetting struct {
	ResourceGroup string `json:"resourceGroup,omitempty"`
}

type BackupDataCentre

type BackupDataCentre struct {
	Nodes []*BackupNode `json:"nodes"`
	Name  string        `json:"name"`
	ID    string        `json:"id"`
}

type BackupEvent

type BackupEvent struct {
	Type     string  `json:"type"`
	State    string  `json:"state"`
	Progress float32 `json:"progress"`
	Start    int     `json:"start"`
	End      int     `json:"end"`
}

type BackupNode

type BackupNode struct {
	Events         []*BackupEvent `json:"events"`
	PrivateAddress string         `json:"privateAddress,omitempty"`
	PublicAddress  string         `json:"publicAddress"`
	ID             string         `json:"id"`
}

type Bundle

type Bundle struct {
	Bundle  string `json:"bundle"`
	Version string `json:"version"`
}

type BundleOptions

type BundleOptions struct {
	DataNodeSize                 string `json:"dataNodeSize,omitempty"`
	MasterNodeSize               string `json:"masterNodeSize,omitempty"`
	OpenSearchDashboardsNodeSize string `json:"openSearchDashboardsNodeSize,omitempty"`
	IndexManagementPlugin        bool   `json:"indexManagementPlugin,omitempty"`
	AlertingPlugin               bool   `json:"alertingPlugin,omitempty"`
	ICUPlugin                    bool   `json:"icuPlugin,omitempty"`
	KNNPlugin                    bool   `json:"knnPlugin,omitempty"`
	NotificationsPlugin          bool   `json:"notificationsPlugin,omitempty"`
	ReportsPlugin                bool   `json:"reportsPlugin,omitempty"`
	DedicatedMasterNodes         bool   `json:"dedicatedMasterNodes,omitempty"`
}

type CadenceCluster added in v0.0.2

type CadenceCluster struct {
	ClusterStatus          `json:",inline"`
	Name                   string                         `json:"name"`
	CadenceVersion         string                         `json:"cadenceVersion"`
	DataCentres            []*CadenceDataCentre           `json:"dataCentres"`
	SharedProvisioning     []*CadenceSharedProvisioning   `json:"sharedProvisioning,omitempty"`
	StandardProvisioning   []*CadenceStandardProvisioning `json:"standardProvisioning,omitempty"`
	PCIComplianceMode      bool                           `json:"pciComplianceMode"`
	TwoFactorDelete        []*TwoFactorDelete             `json:"twoFactorDelete,omitempty"`
	UseCadenceWebAuth      bool                           `json:"useCadenceWebAuth"`
	PrivateNetworkCluster  bool                           `json:"privateNetworkCluster"`
	SLATier                string                         `json:"slaTier"`
	AWSArchival            []*AWSArchival                 `json:"awsArchival,omitempty"`
	TargetPrimaryCadence   []*TargetCadence               `json:"targetPrimaryCadence,omitempty"`
	TargetSecondaryCadence []*TargetCadence               `json:"targetSecondaryCadence,omitempty"`
	ResizeSettings         []*ResizeSettings              `json:"resizeSettings,omitempty"`
	Description            string                         `json:"description,omitempty"`
	UseHTTPAPI             bool                           `json:"useHttpApi,omitempty"`
}

type CadenceClusterAPIUpdate added in v0.0.2

type CadenceClusterAPIUpdate struct {
	DataCentres []*CadenceDataCentre `json:"dataCentres"`
}

type CadenceDataCentre

type CadenceDataCentre struct {
	DataCentre                `json:",inline"`
	ClientToClusterEncryption bool           `json:"clientToClusterEncryption"`
	PrivateLink               []*PrivateLink `json:"privateLink,omitempty"`
}

type CadenceSharedProvisioning

type CadenceSharedProvisioning struct {
	UseAdvancedVisibility bool `json:"useAdvancedVisibility"`
}

type CadenceStandardProvisioning

type CadenceStandardProvisioning struct {
	AdvancedVisibility []*AdvancedVisibility `json:"advancedVisibility,omitempty"`
	TargetCassandra    *TargetCassandra      `json:"targetCassandra"`
}

type CassandraCluster added in v0.0.2

type CassandraCluster struct {
	ClusterStatus
	CassandraVersion      string                 `json:"cassandraVersion"`
	LuceneEnabled         bool                   `json:"luceneEnabled"`
	PasswordAndUserAuth   bool                   `json:"passwordAndUserAuth"`
	DataCentres           []*CassandraDataCentre `json:"dataCentres"`
	Name                  string                 `json:"name"`
	SLATier               string                 `json:"slaTier"`
	PrivateNetworkCluster bool                   `json:"privateNetworkCluster"`
	PCIComplianceMode     bool                   `json:"pciComplianceMode"`
	TwoFactorDelete       []*TwoFactorDelete     `json:"twoFactorDelete,omitempty"`
	BundledUseOnly        bool                   `json:"bundledUseOnly,omitempty"`
	ResizeSettings        []*ResizeSettings      `json:"resizeSettings"`
	Description           string                 `json:"description,omitempty"`
}

type CassandraClusterAPIUpdate added in v0.0.2

type CassandraClusterAPIUpdate struct {
	DataCentres    []*CassandraDataCentre `json:"dataCentres"`
	ResizeSettings []*ResizeSettings      `json:"resizeSettings,omitempty"`
}

type CassandraDataCentre added in v0.0.2

type CassandraDataCentre struct {
	DataCentre                     `json:",inline"`
	ReplicationFactor              int         `json:"replicationFactor"`
	ContinuousBackup               bool        `json:"continuousBackup"`
	PrivateIPBroadcastForDiscovery bool        `json:"privateIpBroadcastForDiscovery"`
	ClientToClusterEncryption      bool        `json:"clientToClusterEncryption"`
	Debezium                       []*Debezium `json:"debezium,omitempty"`
}

type Certificate added in v0.1.4

type Certificate struct {
	ID                string `json:"id"`
	ClusterID         string `json:"clusterId"`
	ExpiryDate        string `json:"expiryDate"`
	SignedCertificate string `json:"signedCertificate"`
}

type CertificateRequest added in v0.1.2

type CertificateRequest struct {
	ClusterID     string `json:"clusterId"`
	CSR           string `json:"csr"`
	KafkaUsername string `json:"kafkaUsername"`
	ValidPeriod   int    `json:"validPeriod"`
}

type CloudProviderSettings added in v0.0.2

type CloudProviderSettings struct {
	AWSSettings   []*AWSSetting   `json:"awsSettings,omitempty"`
	GCPSettings   []*GCPSetting   `json:"gcpSettings,omitempty"`
	AzureSettings []*AzureSetting `json:"azureSettings,omitempty"`
}

type ClusterBackup

type ClusterBackup struct {
	ClusterDataCentres []*BackupDataCentre `json:"clusterDataCentres"`
}

func (*ClusterBackup) GetBackupEvents

func (cb *ClusterBackup) GetBackupEvents(clusterKind string) map[int]*BackupEvent

type ClusterConfigurations

type ClusterConfigurations struct {
	ParameterName  string `json:"parameterName"`
	ParameterValue string `json:"parameterValue"`
}

type ClusterManagerNodes added in v0.0.6

type ClusterManagerNodes struct {
	NodeSize         string `json:"nodeSize"`
	DedicatedManager bool   `json:"dedicatedManager"`
}

type ClusterModifyRequest

type ClusterModifyRequest struct {
	TwoFactorDelete *TwoFactorDeleteV1 `json:"twoFactorDelete,omitempty"`
	Description     string             `json:"description,omitempty"`
}

type ClusterProviderV1 added in v0.0.2

type ClusterProviderV1 struct {
	Name                   string            `json:"name"`
	AccountName            string            `json:"accountName,omitempty"`
	CustomVirtualNetworkID string            `json:"customVirtualNetworkId,omitempty"`
	Tags                   map[string]string `json:"tags,omitempty"`
	ResourceGroup          string            `json:"resourceGroup,omitempty"`
	DiskEncryptionKey      string            `json:"diskEncryptionKey,omitempty"`
	ResourceName           string            `json:"resourceName,omitempty"`
}

type ClusterSettings added in v0.1.2

type ClusterSettings struct {
	Description     string           `json:"description"`
	TwoFactorDelete *TwoFactorDelete `json:"twoFactorDelete,omitempty"`
}

type ClusterStatus

type ClusterStatus struct {
	ID                            string `json:"id,omitempty"`
	Status                        string `json:"status,omitempty"`
	CurrentClusterOperationStatus string `json:"currentClusterOperationStatus,omitempty"`
}

type ConfigurationProperties

type ConfigurationProperties struct {
	Name      string `json:"name"`
	ClusterID string `json:"clusterId"`
	ID        string `json:"id,omitempty"`
	Value     string `json:"value"`
}

type Credentials added in v0.1.3

type Credentials struct {
	Username string
	Password string
}

type CustomConnectors added in v0.0.2

type CustomConnectors struct {
	AzureConnectorSettings []*AzureConnectorSettings `json:"azureConnectorSettings,omitempty"`
	AWSConnectorSettings   []*AWSConnectorSettings   `json:"awsConnectorSettings,omitempty"`
	GCPConnectorSettings   []*GCPConnectorSettings   `json:"gcpConnectorSettings,omitempty"`
}

type DataCentre

type DataCentre struct {
	DataCentreStatus    `json:",inline"`
	Name                string          `json:"name"`
	Network             string          `json:"network"`
	NodeSize            string          `json:"nodeSize,omitempty"`
	NumberOfNodes       int             `json:"numberOfNodes,omitempty"`
	AWSSettings         []*AWSSetting   `json:"awsSettings,omitempty"`
	GCPSettings         []*GCPSetting   `json:"gcpSettings,omitempty"`
	AzureSettings       []*AzureSetting `json:"azureSettings,omitempty"`
	Tags                []*Tag          `json:"tags,omitempty"`
	CloudProvider       string          `json:"cloudProvider"`
	Region              string          `json:"region"`
	ProviderAccountName string          `json:"providerAccountName,omitempty"`
}

type DataCentreResizeOperations

type DataCentreResizeOperations struct {
	CDCID  string `json:"cdc"`
	Status string `json:"completedStatus"`
}

type DataCentreStatus

type DataCentreStatus struct {
	ID     string  `json:"id,omitempty"`
	Status string  `json:"status,omitempty"`
	Nodes  []*Node `json:"nodes,omitempty"`
}

type DataCentreV1 added in v0.0.2

type DataCentreV1 struct {
	ID                            string          `json:"id,omitempty"`
	Name                          string          `json:"name"`
	CDCName                       string          `json:"cdcName"`
	Provider                      string          `json:"provider"`
	CDCNetwork                    string          `json:"cdcNetwork"`
	ClientEncryption              bool            `json:"clientEncryption"`
	PasswordAuthentication        bool            `json:"passwordAuthentication"`
	UserAuthorization             bool            `json:"userAuthorization"`
	UsePrivateBroadcastRPCAddress bool            `json:"usePrivateBroadcastRPCAddress"`
	PrivateIPOnly                 bool            `json:"privateIPOnly"`
	EncryptionKeyID               string          `json:"encryptionKeyId,omitempty"`
	NodeCount                     int             `json:"nodeCount,omitempty"`
	Nodes                         []*NodeStatusV1 `json:"nodes"`
	PrivateLink                   *PrivateLinkV1  `json:"privateLink,omitempty"`
	CDCStatus                     string          `json:"cdcStatus,omitempty"`
}

type Debezium added in v0.1.3

type Debezium struct {
	KafkaVPCType      string `json:"kafkaVpcType"`
	KafkaTopicPrefix  string `json:"kafkaTopicPrefix"`
	KafkaDataCentreID string `json:"kafkaCdcId"`
	Version           string `json:"version"`
}

type DedicatedZookeeper added in v0.0.2

type DedicatedZookeeper struct {
	ZookeeperNodeSize  string `json:"zookeeperNodeSize"`
	ZookeeperNodeCount int32  `json:"zookeeperNodeCount"`
}

type DedicatedZookeeperUpdate added in v0.0.2

type DedicatedZookeeperUpdate struct {
	ZookeeperNodeSize string `json:"zookeeperNodeSize"`
}

type ExternalCluster added in v0.0.2

type ExternalCluster struct {
	SecurityProtocol      string `json:"securityProtocol,omitempty"`
	SSLTruststorePassword string `json:"sslTruststorePassword,omitempty"`
	BootstrapServers      string `json:"bootstrapServers,omitempty"`
	SASLJAASConfig        string `json:"saslJaasConfig,omitempty"`
	SASLMechanism         string `json:"saslMechanism,omitempty"`
	SSLProtocol           string `json:"sslProtocol,omitempty"`
	SSLEnabledProtocols   string `json:"sslEnabledProtocols,omitempty"`
	Truststore            string `json:"truststore,omitempty"`
}

type FirewallRule

type FirewallRule struct {
	Network         string      `json:"network,omitempty"`
	SecurityGroupId string      `json:"securityGroupId,omitempty"`
	Rules           []*RuleType `json:"rules"`
}

type GCPConnectorSettings added in v0.0.2

type GCPConnectorSettings struct {
	PrivateKey        string `json:"privateKey"`
	ClientID          string `json:"clientId"`
	ClientEmail       string `json:"clientEmail"`
	ProjectID         string `json:"projectId"`
	StorageBucketName string `json:"storageBucketName"`
	PrivateKeyID      string `json:"privateKeyId"`
}

type GCPSetting added in v0.0.2

type GCPSetting struct {
	CustomVirtualNetworkID string `json:"customVirtualNetworkId,omitempty"`
}

type InstaOpenSearchUser added in v0.0.6

type InstaOpenSearchUser struct {
	*InstaUser `json:",inline"`
	Options    Options `json:"options"`
}

type InstaUser added in v0.0.6

type InstaUser struct {
	Username          string `json:"username"`
	Password          string `json:"password"`
	InitialPermission string `json:"initial-permissions"`
}

type KafkaCluster added in v0.0.2

type KafkaCluster struct {
	ClusterStatus             `json:",inline"`
	Name                      string                    `json:"name"`
	KafkaVersion              string                    `json:"kafkaVersion"`
	PrivateNetworkCluster     bool                      `json:"privateNetworkCluster"`
	SLATier                   string                    `json:"slaTier"`
	TwoFactorDelete           []*TwoFactorDelete        `json:"twoFactorDelete"`
	AllowDeleteTopics         bool                      `json:"allowDeleteTopics"`
	AutoCreateTopics          bool                      `json:"autoCreateTopics"`
	BundledUseOnly            bool                      `json:"bundledUseOnly"`
	ClientBrokerAuthWithMtls  bool                      `json:"clientBrokerAuthWithMtls"`
	ClientToClusterEncryption bool                      `json:"clientToClusterEncryption"`
	DataCentres               []*KafkaDataCentre        `json:"dataCentres"`
	DedicatedZookeeper        []*DedicatedZookeeper     `json:"dedicatedZookeeper"`
	DefaultNumberOfPartitions int                       `json:"defaultNumberOfPartitions"`
	DefaultReplicationFactor  int                       `json:"defaultReplicationFactor"`
	Kraft                     []*Kraft                  `json:"kraft,omitempty"`
	KarapaceRestProxy         []*KarapaceRestProxy      `json:"karapaceRestProxy"`
	KarapaceSchemaRegistry    []*KarapaceSchemaRegistry `json:"karapaceSchemaRegistry"`
	PCIComplianceMode         bool                      `json:"pciComplianceMode"`
	RestProxy                 []*RestProxy              `json:"restProxy"`
	SchemaRegistry            []*SchemaRegistry         `json:"schemaRegistry"`
	ResizeSettings            []*ResizeSettings         `json:"resizeSettings,omitempty"`
	Description               string                    `json:"description,omitempty"`
}

type KafkaConnectAPIUpdate added in v0.0.2

type KafkaConnectAPIUpdate struct {
	DataCentres    []*KafkaConnectDataCentre `json:"dataCentres,omitempty"`
	ResizeSettings []*ResizeSettings         `json:"resizeSettings,omitempty"`
}

type KafkaConnectCluster added in v0.0.2

type KafkaConnectCluster struct {
	ClusterStatus         `json:",inline"`
	Name                  string                    `json:"name,omitempty"`
	KafkaConnectVersion   string                    `json:"kafkaConnectVersion,omitempty"`
	PrivateNetworkCluster bool                      `json:"privateNetworkCluster"`
	SLATier               string                    `json:"slaTier,omitempty"`
	TwoFactorDelete       []*TwoFactorDelete        `json:"twoFactorDelete,omitempty"`
	CustomConnectors      []*CustomConnectors       `json:"customConnectors,omitempty"`
	TargetCluster         []*TargetCluster          `json:"targetCluster,omitempty"`
	DataCentres           []*KafkaConnectDataCentre `json:"dataCentres,omitempty"`
	ResizeSettings        []*ResizeSettings         `json:"resizeSettings,omitempty"`
	Description           string                    `json:"description,omitempty"`
}

type KafkaConnectDataCentre added in v0.0.2

type KafkaConnectDataCentre struct {
	DataCentre        `json:",inline"`
	ReplicationFactor int `json:"replicationFactor"`
}

type KafkaDataCentre added in v0.0.2

type KafkaDataCentre struct {
	DataCentre  `json:",inline"`
	PrivateLink []*PrivateLink `json:"privateLink,omitempty"`
}

type KafkaInstAPIUpdateRequest added in v0.0.2

type KafkaInstAPIUpdateRequest struct {
	DataCentre         []*KafkaDataCentre          `json:"dataCentres"`
	DedicatedZookeeper []*DedicatedZookeeperUpdate `json:"dedicatedZookeeper,omitempty"`
	ResizeSettings     []*ResizeSettings           `json:"resizeSettings,omitempty"`
}

type KafkaUser added in v0.0.2

type KafkaUser struct {
	Password             string `json:"password,omitempty"`
	OverrideExistingUser bool   `json:"overrideExistingUser,omitempty"`
	SASLSCRAMMechanism   string `json:"saslScramMechanism,omitempty"`
	AuthMechanism        string `json:"authMechanism"`
	ClusterID            string `json:"clusterId"`
	InitialPermissions   string `json:"initialPermissions"`
	Username             string `json:"username"`
}

type KarapaceRestProxy added in v0.0.2

type KarapaceRestProxy struct {
	IntegrateRestProxyWithSchemaRegistry bool   `json:"integrateRestProxyWithSchemaRegistry"`
	Version                              string `json:"version"`
}

type KarapaceSchemaRegistry added in v0.0.2

type KarapaceSchemaRegistry struct {
	Version string `json:"version"`
}

type Kraft added in v0.1.2

type Kraft struct {
	ControllerNodeCount int `json:"controllerNodeCount"`
}

type ManagedCluster added in v0.0.2

type ManagedCluster struct {
	TargetKafkaClusterID string `json:"targetKafkaClusterId"`
	KafkaConnectVPCType  string `json:"kafkaConnectVpcType"`
}

type Node added in v0.0.2

type Node struct {
	ID             string   `json:"id,omitempty"`
	Size           string   `json:"nodeSize,omitempty"`
	Status         string   `json:"status,omitempty"`
	Roles          []string `json:"nodeRoles,omitempty"`
	PublicAddress  string   `json:"publicAddress,omitempty"`
	PrivateAddress string   `json:"privateAddress,omitempty"`
	Rack           string   `json:"rack,omitempty"`
}

type NodeReloadStatus added in v0.0.2

type NodeReloadStatus struct {
	NodeID       string `json:"nodeId,omitempty"`
	OperationID  string `json:"operationId,omitempty"`
	TimeCreated  string `json:"timeCreated,omitempty"`
	TimeModified string `json:"timeModified,omitempty"`
	Status       string `json:"status,omitempty"`
	Message      string `json:"message,omitempty"`
}

type NodeStatusV1 added in v0.0.2

type NodeStatusV1 struct {
	ID             string `json:"id"`
	Rack           string `json:"rack"`
	Size           string `json:"size"`
	PublicAddress  string `json:"publicAddress"`
	PrivateAddress string `json:"privateAddress"`
	NodeStatus     string `json:"nodeStatus"`
}

type OpenSearchCluster added in v0.0.6

type OpenSearchCluster struct {
	ClusterStatus            `json:",inline"`
	DataNodes                []*OpenSearchDataNodes   `json:"dataNodes,omitempty"`
	PCIComplianceMode        bool                     `json:"pciComplianceMode"`
	ICUPlugin                bool                     `json:"icuPlugin"`
	OpenSearchVersion        string                   `json:"opensearchVersion"`
	AsynchronousSearchPlugin bool                     `json:"asynchronousSearchPlugin"`
	TwoFactorDelete          []*TwoFactorDelete       `json:"twoFactorDelete,omitempty"`
	KNNPlugin                bool                     `json:"knnPlugin"`
	OpenSearchDashboards     []*OpenSearchDashboards  `json:"opensearchDashboards,omitempty"`
	ReportingPlugin          bool                     `json:"reportingPlugin"`
	SQLPlugin                bool                     `json:"sqlPlugin"`
	NotificationsPlugin      bool                     `json:"notificationsPlugin"`
	DataCentres              []*OpenSearchDataCentre  `json:"dataCentres"`
	AnomalyDetectionPlugin   bool                     `json:"anomalyDetectionPlugin"`
	LoadBalancer             bool                     `json:"loadBalancer"`
	PrivateNetworkCluster    bool                     `json:"privateNetworkCluster"`
	Name                     string                   `json:"name"`
	BundledUseOnly           bool                     `json:"bundledUseOnly"`
	ClusterManagerNodes      []*ClusterManagerNodes   `json:"clusterManagerNodes"`
	IndexManagementPlugin    bool                     `json:"indexManagementPlugin"`
	SLATier                  string                   `json:"slaTier,omitempty"`
	AlertingPlugin           bool                     `json:"alertingPlugin"`
	ResizeSettings           []*ResizeSettings        `json:"resizeSettings,omitempty"`
	Description              string                   `json:"description,omitempty"`
	IngestNodes              []*OpenSearchIngestNodes `json:"ingestNodes,omitempty"`
}

type OpenSearchDashboards added in v0.0.6

type OpenSearchDashboards struct {
	NodeSize     string `json:"nodeSize"`
	OIDCProvider string `json:"oidcProvider,omitempty"`
	Version      string `json:"version"`
}

type OpenSearchDataCentre added in v0.0.6

type OpenSearchDataCentre struct {
	DataCentre    `json:",inline"`
	PrivateLink   bool `json:"privateLink"`
	NumberOfRacks int  `json:"numberOfRacks"`
}

type OpenSearchDataNodes added in v0.0.6

type OpenSearchDataNodes struct {
	NodeSize  string `json:"nodeSize"`
	NodeCount int    `json:"nodeCount"`
}

type OpenSearchIngestNodes added in v0.1.3

type OpenSearchIngestNodes struct {
	NodeSize  string `json:"nodeSize"`
	NodeCount int    `json:"nodeCount"`
}

type OpenSearchInstAPIUpdateRequest added in v0.0.6

type OpenSearchInstAPIUpdateRequest struct {
	DataNodes             []*OpenSearchDataNodes   `json:"dataNodes,omitempty"`
	OpenSearchDashboards  []*OpenSearchDashboards  `json:"opensearchDashboards,omitempty"`
	ClusterManagerNodes   []*ClusterManagerNodes   `json:"clusterManagerNodes"`
	ResizeSettings        []*ResizeSettings        `json:"resizeSettings,omitempty"`
	OpenSearchIngestNodes []*OpenSearchIngestNodes `json:"ingestNodes,omitempty"`
}

type Options added in v0.0.6

type Options struct {
	IndexPattern string `json:"indexPattern"`
	Role         string `json:"role"`
}

type PGBouncer

type PGBouncer struct {
	PGBouncerVersion string `json:"pgBouncerVersion"`
	PoolMode         string `json:"poolMode"`
}

type PGCluster

type PGCluster struct {
	ID                            string             `json:"id,omitempty"`
	Name                          string             `json:"name"`
	PostgreSQLVersion             string             `json:"postgresqlVersion"`
	DataCentres                   []*PGDataCentre    `json:"dataCentres"`
	SynchronousModeStrict         bool               `json:"synchronousModeStrict"`
	PrivateNetworkCluster         bool               `json:"privateNetworkCluster"`
	SLATier                       string             `json:"slaTier"`
	TwoFactorDelete               []*TwoFactorDelete `json:"twoFactorDelete,omitempty"`
	PCIComplianceMode             bool               `json:"pciComplianceMode,omitempty"`
	CurrentClusterOperationStatus string             `json:"currentClusterOperationStatus,omitempty"`
	Status                        string             `json:"status,omitempty"`
	Description                   string             `json:"description,omitempty"`
	Extensions                    []*PGExtension     `json:"extensions,omitempty"`
}

type PGClusterUpdate added in v0.1.3

type PGClusterUpdate struct {
	DataCentres    []*PGDataCentre   `json:"dataCentres"`
	ResizeSettings []*ResizeSettings `json:"resizeSettings,omitempty"`
}

type PGConfigs

type PGConfigs struct {
	ClusterID               string                     `json:"clusterId,omitempty"`
	ConfigurationProperties []*ConfigurationProperties `json:"configurationProperties"`
}

type PGDataCentre

type PGDataCentre struct {
	DataCentre                 `json:",inline"`
	ClientToClusterEncryption  bool                    `json:"clientToClusterEncryption"`
	InterDataCentreReplication []*PGInterDCReplication `json:"interDataCentreReplication,omitempty"`
	IntraDataCentreReplication []*PGIntraDCReplication `json:"intraDataCentreReplication"`
	PGBouncer                  []*PGBouncer            `json:"pgBouncer,omitempty"`
}

type PGExtension added in v0.1.5

type PGExtension struct {
	Name    string `json:"extensionName"`
	Enabled bool   `json:"extensionEnabled"`
}

type PGInterDCReplication

type PGInterDCReplication struct {
	IsPrimaryDataCentre bool `json:"isPrimaryDataCentre"`
}

type PGIntraDCReplication

type PGIntraDCReplication struct {
	ReplicationMode string `json:"replicationMode"`
}
type PrivateLink struct {
	AdvertisedHostname  string `json:"advertisedHostname"`
	EndPointServiceID   string `json:"endPointServiceId,omitempty"`
	EndPointServiceName string `json:"endPointServiceName,omitempty"`
}

type PrivateLinkV1 added in v0.1.1

type PrivateLinkV1 struct {
	IAMPrincipalARNs []string `json:"iamPrincipalARNs"`
}

type RackAllocationV1 added in v0.0.2

type RackAllocationV1 struct {
	NumberOfRacks int `json:"numberOfRacks"`
	NodesPerRack  int `json:"nodesPerRack"`
}

type RedisCluster

type RedisCluster struct {
	ClusterStatus          `json:",inline"`
	Name                   string             `json:"name"`
	RedisVersion           string             `json:"redisVersion"`
	ClientToNodeEncryption bool               `json:"clientToNodeEncryption"`
	PCIComplianceMode      bool               `json:"pciComplianceMode"`
	DataCentres            []*RedisDataCentre `json:"dataCentres,omitempty"`
	PrivateNetworkCluster  bool               `json:"privateNetworkCluster"`
	PasswordAndUserAuth    bool               `json:"passwordAndUserAuth"`
	TwoFactorDelete        []*TwoFactorDelete `json:"twoFactorDelete,omitempty"`
	SLATier                string             `json:"slaTier"`
	Description            string             `json:"description,omitempty"`
}

type RedisDataCentre

type RedisDataCentre struct {
	DataCentre        `json:",inline"`
	MasterNodes       int            `json:"masterNodes"`
	ReplicaNodes      int            `json:"replicaNodes"`
	ReplicationFactor int            `json:"replicationFactor,omitempty"`
	PrivateLink       []*PrivateLink `json:"privateLink,omitempty"`
}

type RedisDataCentreUpdate added in v0.0.2

type RedisDataCentreUpdate struct {
	DataCentres    []*RedisDataCentre `json:"dataCentres"`
	ResizeSettings []*ResizeSettings  `json:"resizeSettings,omitempty"`
}

type RedisUser added in v0.0.2

type RedisUser struct {
	ID                 string `json:"ID,omitempty"`
	ClusterID          string `json:"clusterId"`
	Username           string `json:"username"`
	Password           string `json:"password"`
	InitialPermissions string `json:"initialPermissions"`
}

type RedisUserUpdate added in v0.0.2

type RedisUserUpdate struct {
	ID       string
	Password string `json:"password"`
}

type ResizeRequest

type ResizeRequest struct {
	NewNodeSize           string `json:"newNodeSize"`
	ConcurrentResizes     int    `json:"concurrentResizes"`
	NotifySupportContacts bool   `json:"notifySupportContacts"`
	NodePurpose           string `json:"nodePurpose"`
	ClusterID             string `json:"-"`
	DataCentreID          string `json:"-"`
}

type ResizeSettings added in v0.1.3

type ResizeSettings struct {
	// Setting this property to true will notify the Instaclustr
	// Account's designated support contacts on resize completion
	NotifySupportContacts bool `json:"notifySupportContacts,omitempty"`

	// Number of concurrent nodes to resize during a resize operation
	Concurrency int `json:"concurrency,omitempty"`
}

ResizeSettings determines how resize requests will be performed for the cluster

type RestProxy added in v0.0.2

type RestProxy struct {
	IntegrateRestProxyWithSchemaRegistry bool   `json:"integrateRestProxyWithSchemaRegistry"`
	UseLocalSchemaRegistry               bool   `json:"useLocalSchemaRegistry,omitempty"`
	SchemaRegistryServerURL              string `json:"schemaRegistryServerUrl,omitempty"`
	SchemaRegistryUsername               string `json:"schemaRegistryUsername,omitempty"`
	SchemaRegistryPassword               string `json:"schemaRegistryPassword,omitempty"`
	Version                              string `json:"version"`
}

type RuleType

type RuleType struct {
	Type string `json:"type"`
}

type SchemaRegistry added in v0.0.2

type SchemaRegistry struct {
	Version string `json:"version"`
}

type Tag added in v0.0.2

type Tag struct {
	Value string `json:"value"`
	Key   string `json:"key"`
}

type TargetCadence added in v0.1.2

type TargetCadence struct {
	DependencyCDCID   string `json:"dependencyCdcId"`
	DependencyVPCType string `json:"dependencyVpcType"`
}

type TargetCassandra

type TargetCassandra struct {
	DependencyCDCID   string `json:"dependencyCdcId"`
	DependencyVPCType string `json:"dependencyVpcType"`
}

type TargetCluster added in v0.0.2

type TargetCluster struct {
	ExternalCluster []*ExternalCluster `json:"externalCluster,omitempty"`
	ManagedCluster  []*ManagedCluster  `json:"managedCluster,omitempty"`
}

type TargetKafka

type TargetKafka struct {
	DependencyCDCID   string `json:"dependencyCdcId"`
	DependencyVPCType string `json:"dependencyVpcType"`
}

type TargetOpenSearch

type TargetOpenSearch struct {
	DependencyCDCID   string `json:"dependencyCdcId"`
	DependencyVPCType string `json:"dependencyVpcType"`
}

type TopicConfigs added in v0.0.2

type TopicConfigs struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type TopicStatus added in v0.0.2

type TopicStatus struct {
	ID           string          `json:"id"`
	TopicConfigs []*TopicConfigs `json:"configs"`
}

type TwoFactorDelete

type TwoFactorDelete struct {
	ConfirmationPhoneNumber string `json:"confirmationPhoneNumber,omitempty"`
	ConfirmationEmail       string `json:"confirmationEmail,omitempty"`
}

type TwoFactorDeleteV1 added in v0.0.2

type TwoFactorDeleteV1 struct {
	DeleteVerifyEmail string `json:"deleteVerifyEmail,omitempty"`
	DeleteVerifyPhone string `json:"deleteVerifyPhone,omitempty"`
}

type UpdateTopicConfigs added in v0.0.2

type UpdateTopicConfigs struct {
	TopicConfigs []*TopicConfigs `json:"configs"`
}

type ZookeeperCluster added in v0.0.2

type ZookeeperCluster struct {
	ID                            string                 `json:"id,omitempty"`
	Name                          string                 `json:"name"`
	ZookeeperVersion              string                 `json:"zookeeperVersion,omitempty"`
	CurrentClusterOperationStatus string                 `json:"currentClusterOperationStatus,omitempty"`
	Status                        string                 `json:"status,omitempty"`
	PrivateNetworkCluster         bool                   `json:"privateNetworkCluster"`
	SLATier                       string                 `json:"slaTier"`
	TwoFactorDelete               []*TwoFactorDelete     `json:"twoFactorDelete,omitempty"`
	DataCentres                   []*ZookeeperDataCentre `json:"dataCentres"`
	Description                   string                 `json:"description,omitempty"`
}

type ZookeeperDataCentre added in v0.0.2

type ZookeeperDataCentre struct {
	DataCentre               `json:",inline"`
	ClientToServerEncryption bool     `json:"clientToServerEncryption"`
	EnforceAuthSchemes       []string `json:"enforceAuthSchemes,omitempty"`
	EnforceAuthEnabled       bool     `json:"enforceAuthEnabled"`
}

Jump to

Keyboard shortcuts

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