Documentation
¶
Index ¶
- Constants
- Variables
- type AWSArchival
- type AWSConnectorSettings
- type AWSEndpointServicePrincipal
- type AWSSetting
- type AWSVPCPeering
- type ActiveCluster
- type ActiveClusters
- type AddonBundle
- type AdvancedVisibility
- type AppVersions
- type AzureConnectorSettings
- type AzureSetting
- type BackupDataCentre
- type BackupEvent
- type BackupNode
- type Bundle
- type BundleOptions
- type CadenceCluster
- type CadenceClusterAPIUpdate
- type CadenceDataCentre
- type CadenceSharedProvisioning
- type CadenceStandardProvisioning
- type CassandraCluster
- type CassandraClusterAPIUpdate
- type CassandraDataCentre
- type Certificate
- type CertificateRequest
- type CloudProviderSettings
- type ClusterBackup
- type ClusterConfigurations
- type ClusterManagerNodes
- type ClusterModifyRequest
- type ClusterProviderV1
- type ClusterSettings
- type ClusterStatus
- type ConfigurationProperties
- type Credentials
- type CustomConnectors
- type DataCentre
- type DataCentreResizeOperations
- type DataCentreStatus
- type DataCentreV1
- type Debezium
- type DedicatedZookeeper
- type DedicatedZookeeperUpdate
- type ExternalCluster
- type FirewallRule
- type GCPConnectorSettings
- type GCPSetting
- type InstaOpenSearchUser
- type InstaUser
- type KafkaCluster
- type KafkaConnectAPIUpdate
- type KafkaConnectCluster
- type KafkaConnectDataCentre
- type KafkaDataCentre
- type KafkaInstAPIUpdateRequest
- type KafkaUser
- type KarapaceRestProxy
- type KarapaceSchemaRegistry
- type Kraft
- type ManagedCluster
- type Node
- type NodeReloadStatus
- type NodeStatusV1
- type OpenSearchCluster
- type OpenSearchDashboards
- type OpenSearchDataCentre
- type OpenSearchDataNodes
- type OpenSearchIngestNodes
- type OpenSearchInstAPIUpdateRequest
- type Options
- type PGBouncer
- type PGCluster
- type PGClusterUpdate
- type PGConfigs
- type PGDataCentre
- type PGExtension
- type PGInterDCReplication
- type PGIntraDCReplication
- type PrivateLink
- type PrivateLinkV1
- type RackAllocationV1
- type RedisCluster
- type RedisDataCentre
- type RedisDataCentreUpdate
- type RedisUser
- type RedisUserUpdate
- type ResizeRequest
- type ResizeSettings
- type RestProxy
- type RuleType
- type SchemaRegistry
- type Tag
- type TargetCadence
- type TargetCassandra
- type TargetCluster
- type TargetKafka
- type TargetOpenSearch
- type TopicConfigs
- type TopicStatus
- type TwoFactorDelete
- type TwoFactorDeleteV1
- type UpdateTopicConfigs
- type ZookeeperCluster
- type ZookeeperDataCentre
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" 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") 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 AWSConnectorSettings ¶ added in v0.0.2
type AWSEndpointServicePrincipal ¶ added in v0.1.3
type AWSSetting ¶ added in v0.0.2
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 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 AzureConnectorSettings ¶ added in v0.0.2
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 BackupNode ¶
type BackupNode struct {
Events []*BackupEvent `json:"events"`
PrivateAddress string `json:"privateAddress,omitempty"`
PublicAddress string `json:"publicAddress"`
ID string `json:"id"`
}
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"`
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 {
}
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 CertificateRequest ¶ added in v0.1.2
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 ClusterManagerNodes ¶ added in v0.0.6
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 ConfigurationProperties ¶
type Credentials ¶ added in v0.1.3
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 DataCentreStatus ¶
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 DedicatedZookeeper ¶ added in v0.0.2
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 GCPConnectorSettings ¶ added in v0.0.2
type GCPSetting ¶ added in v0.0.2
type GCPSetting struct {
CustomVirtualNetworkID string `json:"customVirtualNetworkId,omitempty"`
}
type InstaOpenSearchUser ¶ added in v0.0.6
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 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 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 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 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 OpenSearchIngestNodes ¶ added in v0.1.3
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 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 PGInterDCReplication ¶
type PGInterDCReplication struct {
IsPrimaryDataCentre bool `json:"isPrimaryDataCentre"`
}
type PGIntraDCReplication ¶
type PGIntraDCReplication struct {
ReplicationMode string `json:"replicationMode"`
}
type PrivateLink ¶
type PrivateLinkV1 ¶ added in v0.1.1
type PrivateLinkV1 struct {
IAMPrincipalARNs []string `json:"iamPrincipalARNs"`
}
type RackAllocationV1 ¶ added in v0.0.2
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 RedisUserUpdate ¶ added in v0.0.2
type ResizeRequest ¶
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 SchemaRegistry ¶ added in v0.0.2
type SchemaRegistry struct {
Version string `json:"version"`
}
type TargetCadence ¶ added in v0.1.2
type TargetCassandra ¶
type TargetCluster ¶ added in v0.0.2
type TargetCluster struct {
ExternalCluster []*ExternalCluster `json:"externalCluster,omitempty"`
ManagedCluster []*ManagedCluster `json:"managedCluster,omitempty"`
}
type TargetKafka ¶
type TargetOpenSearch ¶
type TopicConfigs ¶ added in v0.0.2
type TopicStatus ¶ added in v0.0.2
type TopicStatus struct {
ID string `json:"id"`
TopicConfigs []*TopicConfigs `json:"configs"`
}
type TwoFactorDelete ¶
type TwoFactorDeleteV1 ¶ added in v0.0.2
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"`
}
Click to show internal directories.
Click to hide internal directories.