instaclustr

package
v1.29.4 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ELASTICSEARCH_DATA_AND_INGEST NodePurpose = "ELASTICSEARCH_DATA_AND_INGEST"
	ELASTICSEARCH_MASTER                      = "ELASTICSEARCH_MASTER"
	ELASTICSEARCH_KIBANA                      = "ELASTICSEARCH_KIBANA"
	ELASTICSEARCH_COORDINATOR                 = "ELASTICSEARCH_COORDINATOR"
	OPENSEARCH_DATA_AND_INGEST                = "OPENSEARCH_DATA_AND_INGEST"
	OPENSEARCH_MASTER                         = "OPENSEARCH_MASTER"
	OPENSEARCH_DASHBOARDS                     = "OPENSEARCH_DASHBOARDS"
	OPENSEARCH_COORDINATOR                    = "OPENSEARCH_COORDINATOR"
	KAFKA_BROKER                              = "KAFKA_BROKER"
	KAFKA_DEDICATED_ZOOKEEPER                 = "KAFKA_DEDICATED_ZOOKEEPER"
	REDIS                                     = "REDIS"
	CASSANDRA                                 = "CASSANDRA"
	CADENCE                                   = "CADENCE"
	POSTGRESQL                                = "POSTGRESQL"
)
View Source
const (
	DefaultApiHostname string = "https://api.instaclustr.com"
)
View Source
const ERROR_FORMAT_STR = "Status code: %d, message: %s"

Variables

This section is empty.

Functions

func GCPresourceVpcPeeringCreate added in v1.15.1

func GCPresourceVpcPeeringCreate(d *schema.ResourceData, meta interface{}) error

func GCPresourceVpcPeeringRead added in v1.15.1

func GCPresourceVpcPeeringRead(d *schema.ResourceData, meta interface{}) error

func MapGCPVPCPeeringToResource added in v1.15.1

func MapGCPVPCPeeringToResource(d *schema.ResourceData, vpcPeering *GCPVPCPeering) error

func Provider

func Provider() *schema.Provider

func StructToMap added in v1.8.0

func StructToMap(obj interface{}) (newMap map[string]interface{}, err error)

func VpcPeeringCreate added in v1.15.1

func VpcPeeringCreate(d *schema.ResourceData, meta interface{}) (string, error)

Types

type APIClient

type APIClient struct {
	// contains filtered or unexported fields
}

func SetupMock added in v1.9.5

func SetupMock(t *testing.T, request string, response string, responseCode int) *APIClient

SetupMock used to mock request/response calls to the provisioning api

Usage example:

client := SetupMock(t, id, fmt.Sprintf(`{"id":"%s"}`, id), 202)

Where:

t: is the testing library,
request: is the resource path in this case the id of the cluster,
response: is the api response in this case a string representing a json object with an id the same as the request
responseCode: is the api response code in this case 202

func (*APIClient) AzureReadVpcPeering added in v1.20.0

func (c *APIClient) AzureReadVpcPeering(cdcID string, vpcPeeringID string) (*AzureVPCPeering, error)

func (*APIClient) CreateCluster

func (c *APIClient) CreateCluster(data []byte) (string, error)

func (*APIClient) CreateEncryptionKey

func (c *APIClient) CreateEncryptionKey(data []byte) (string, error)

func (*APIClient) CreateFirewallRule

func (c *APIClient) CreateFirewallRule(data []byte, clusterID string) error

func (*APIClient) CreateKafkaAcl added in v1.14.7

func (c *APIClient) CreateKafkaAcl(clusterID string, data []byte) error

func (*APIClient) CreateKafkaTopic added in v1.14.6

func (c *APIClient) CreateKafkaTopic(clusterID string, data []byte) error

func (*APIClient) CreateKafkaUser added in v1.3.0

func (c *APIClient) CreateKafkaUser(clusterID string, data []byte) error

func (*APIClient) CreateVpcPeering

func (c *APIClient) CreateVpcPeering(cdcID string, data []byte) (string, error)

func (*APIClient) DeleteCluster

func (c *APIClient) DeleteCluster(clusterID string) error

func (*APIClient) DeleteEncryptionKey

func (c *APIClient) DeleteEncryptionKey(keyID string) error

func (*APIClient) DeleteFirewallRule

func (c *APIClient) DeleteFirewallRule(data []byte, clusterID string) error

func (*APIClient) DeleteKafkaAcl added in v1.14.7

func (c *APIClient) DeleteKafkaAcl(clusterID string, data []byte) error

func (*APIClient) DeleteKafkaTopic added in v1.14.6

func (c *APIClient) DeleteKafkaTopic(clusterID string, topic string) error

func (*APIClient) DeleteKafkaUser added in v1.3.0

func (c *APIClient) DeleteKafkaUser(clusterID string, data []byte) error

func (*APIClient) DeleteVpcPeering

func (c *APIClient) DeleteVpcPeering(cdcID string, vpcPeeringID string) error

func (*APIClient) GCPReadVpcPeering added in v1.15.1

func (c *APIClient) GCPReadVpcPeering(cdcID string, vpcPeeringID string) (*GCPVPCPeering, error)

func (*APIClient) InitClient

func (c *APIClient) InitClient(hostname string, username string, apiKey string)

func (*APIClient) InitMockClient added in v1.9.5

func (c *APIClient) InitMockClient(mockFunction RoundTripFunc)

func (*APIClient) ListClusters added in v1.14.10

func (c *APIClient) ListClusters() (*[]ClusterListItem, error)

func (*APIClient) MakeRequest

func (c *APIClient) MakeRequest(url string, method string, data []byte) (*http.Response, error)

func (*APIClient) ReadCluster

func (c *APIClient) ReadCluster(clusterID string) (*Cluster, error)

func (*APIClient) ReadEncryptionKey

func (c *APIClient) ReadEncryptionKey(id string) (*EncryptionKey, error)

func (*APIClient) ReadFirewallRules

func (c *APIClient) ReadFirewallRules(clusterID string) (*[]FirewallRule, error)

func (*APIClient) ReadKafkaAcls added in v1.14.7

func (c *APIClient) ReadKafkaAcls(clusterID string, data []byte) ([]KafkaAcl, error)

func (*APIClient) ReadKafkaTopic added in v1.14.6

func (c *APIClient) ReadKafkaTopic(clusterID string, topic string) (*CreateKafkaTopicRequest, error)

func (*APIClient) ReadKafkaTopicConfig added in v1.14.6

func (c *APIClient) ReadKafkaTopicConfig(clusterID string, topic string) (*KafkaTopicConfig, error)

func (*APIClient) ReadKafkaTopicList added in v1.14.6

func (c *APIClient) ReadKafkaTopicList(clusterID string) (*KafkaTopics, error)

func (*APIClient) ReadKafkaUserList added in v1.3.0

func (c *APIClient) ReadKafkaUserList(clusterID string) ([]string, error)

func (*APIClient) ReadVpcPeering

func (c *APIClient) ReadVpcPeering(cdcID string, vpcPeeringID string) (*VPCPeering, error)

func (*APIClient) ResizeCluster

func (c *APIClient) ResizeCluster(clusterID string, cdcID string, newNodeSize string, nodePurpose *NodePurpose) error

func (*APIClient) SetClient

func (c *APIClient) SetClient(client *http.Client)

func (*APIClient) UpdateBundleUser added in v1.7.2

func (c *APIClient) UpdateBundleUser(clusterID string, bundle string, data []byte) error

func (*APIClient) UpdateEndpointServicePrincipals added in v1.25.0

func (c *APIClient) UpdateEndpointServicePrincipals(clusterDataCentreID string, data []byte) error

func (*APIClient) UpdateFirewallRule added in v1.15.4

func (c *APIClient) UpdateFirewallRule(data []byte, clusterID string) error

func (*APIClient) UpdateKafkaTopic added in v1.14.6

func (c *APIClient) UpdateKafkaTopic(clusterID string, topic string, data []byte) error

func (*APIClient) UpdateKafkaUser added in v1.3.0

func (c *APIClient) UpdateKafkaUser(clusterID string, data []byte) error

type APIClientInterface added in v1.10.1

type APIClientInterface interface {
	ReadCluster(clusterID string) (*Cluster, error)
	ResizeCluster(clusterID string, cdcID string, newNodeSize string, nodePurpose *NodePurpose) error
	DeleteCluster(clusterID string) error
}

type AddonBundles added in v1.8.0

type AddonBundles struct {
	Bundle  string        `json:"bundle" mapstructure:"bundle"`
	Version string        `json:"version" mapstructure:"version"`
	Options BundleOptions `json:"options,omitempty" mapstructure:"options"`
}

type AzureVPCPeering added in v1.20.0

type AzureVPCPeering struct {
	ID                 string        `json:"id"`
	PeerSubscriptionId string        `json:"peerSubscriptionId"`
	ClusterDataCentre  string        `json:"clusterDataCentre"`
	ResourceGroup      string        `json:"resourceGroup"`
	PeerVNet           string        `json:"peerVNet"`
	PeerResourceGroup  string        `json:"peerResourceGroup"`
	SubscriptionId     string        `json:"subscriptionId"`
	VirtualNetworkID   string        `json:"vNet"`
	PeerSubnets        []interface{} `json:"peerSubnets"`
	StatusCode         string        `json:"statusCode"`
}

type Bundle

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

type BundleConfig added in v1.7.2

type BundleConfig struct {
	IsKafkaCluster            bool
	HasRestProxy              bool
	HasSchemaRegistry         bool
	HasKarapaceSchemaRegistry bool
	HasKarapaceIntegration    bool
}

type BundleOptions

type BundleOptions struct {
	AuthnAuthz                           *bool  `json:"authnAuthz,omitempty" mapstructure:"auth_n_authz,omitempty"`
	ClientEncryption                     *bool  `json:"clientEncryption,omitempty" mapstructure:"client_encryption,omitempty"`
	DedicatedMasterNodes                 *bool  `json:"dedicatedMasterNodes,omitempty" mapstructure:"dedicated_master_nodes,omitempty"`
	MasterNodeSize                       string `json:"masterNodeSize,omitempty" mapstructure:"master_node_size,omitempty"`
	KibanaNodeSize                       string `json:"kibanaNodeSize,omitempty" mapstructure:"kibana_node_size,omitempty"`
	OpenSearchDashboardsNodeSize         string `json:"openSearchDashboardsNodeSize,omitempty" mapstructure:"opensearch_dashboards_node_size,omitempty"`
	DataNodeSize                         string `json:"dataNodeSize,omitempty" mapstructure:"data_node_size,omitempty"`
	SecurityPlugin                       *bool  `json:"securityPlugin,omitempty" mapstructure:"security_plugin,omitempty"`
	IndexManagementPlugin                *bool  `json:"indexManagementPlugin,omitempty" mapstructure:"index_management_plugin,omitempty"`
	KnnPlugin                            *bool  `json:"knnPlugin,omitempty" mapstructure:"knn_plugin,omitempty"`
	ReportingPlugin                      *bool  `json:"reportsPlugin,omitempty" mapstructure:"reporting_plugin,omitempty"`
	IcuPlugin                            *bool  `json:"icuPlugin,omitempty" mapstructure:"icu_plugin,omitempty"`
	AlertingPlugin                       *bool  `json:"alertingPlugin,omitempty" mapstructure:"alerting_plugin,omitempty"`
	NotificationsPlugin                  *bool  `json:"notificationsPlugin,omitempty" mapstructure:"notifications_plugin,omitempty"`
	UsePrivateBroadcastRpcAddress        *bool  `json:"usePrivateBroadcastRPCAddress,omitempty" mapstructure:"use_private_broadcast_rpc_address,omitempty"`
	LuceneEnabled                        *bool  `json:"luceneEnabled,omitempty" mapstructure:"lucene_enabled,omitempty"`
	ContinuousBackupEnabled              *bool  `json:"continuousBackupEnabled,omitempty" mapstructure:"continuous_backup_enabled,omitempty"`
	NumberPartitions                     int    `json:"numberPartitions,omitempty" mapstructure:"number_partitions,omitempty"`
	AutoCreateTopics                     *bool  `json:"autoCreateTopics,omitempty" mapstructure:"auto_create_topics,omitempty"`
	DeleteTopics                         *bool  `json:"deleteTopics,omitempty" mapstructure:"delete_topics,omitempty"`
	PasswordAuthentication               *bool  `json:"passwordAuthentication,omitempty" mapstructure:"password_authentication,omitempty"`
	TargetKafkaClusterId                 string `json:"targetKafkaClusterId,omitempty" mapstructure:"target_kafka_cluster_id,omitempty"`
	VPCType                              string `json:"vpcType,omitempty" mapstructure:"vpc_type,omitempty"`
	AWSAccessKeyId                       string `json:"aws.access.key.id,omitempty" mapstructure:"aws_access_key,omitempty"`
	AWSSecretKey                         string `json:"aws.secret.access.key,omitempty" mapstructure:"aws_secret_key,omitempty"`
	S3BucketName                         string `json:"s3.bucket.name,omitempty" mapstructure:"s3_bucket_name,omitempty"`
	AwsS3RoleArn                         string `json:"aws.s3.role.arn,omitempty" mapstructure:"aws_s3_role_arn,omitempty"`
	AzureStorageAccountName              string `json:"azure.storage.account.name,omitempty" mapstructure:"azure_storage_account_name,omitempty"`
	AzureStorageAccountKey               string `json:"azure.storage.account.key,omitempty" mapstructure:"azure_storage_account_key,omitempty"`
	AzureStorageContainerName            string `json:"azure.storage.container.name,omitempty" mapstructure:"azure_storage_container_name,omitempty"`
	SslEnabledProtocols                  string `json:"ssl.enabled.protocols,omitempty" mapstructure:"ssl_enabled_protocols,omitempty"`
	SslTruststorePassword                string `json:"ssl.truststore.password,omitempty" mapstructure:"ssl_truststore_password,omitempty"`
	SslProtocol                          string `json:"ssl.protocol,omitempty" mapstructure:"ssl_protocol,omitempty"`
	SecurityProtocol                     string `json:"security.protocol,omitempty" mapstructure:"security_protocol,omitempty"`
	SaslMechanism                        string `json:"sasl.mechanism,omitempty" mapstructure:"sasl_mechanism,omitempty"`
	SaslJaasConfig                       string `json:"sasl.jaas.config,omitempty" mapstructure:"sasl_jaas_config,omitempty"`
	BootstrapServers                     string `json:"bootstrap.servers,omitempty" mapstructure:"bootstrap_servers,omitempty"`
	Truststore                           string `json:"truststore,omitempty" mapstructure:"truststore,omitempty"`
	RedisMasterNodes                     int    `json:"masterNodes,omitempty" mapstructure:"master_nodes,omitempty"`
	RedisReplicaNodes                    int    `json:"replicaNodes,omitempty" mapstructure:"replica_nodes,omitempty"`
	RedisPasswordAuth                    *bool  `json:"passwordAuth,omitempty" mapstructure:"password_auth,omitempty"`
	DedicatedZookeeper                   *bool  `json:"dedicatedZookeeper,omitempty" mapstructure:"dedicated_zookeeper,omitempty"`
	ZookeeperNodeSize                    string `json:"zookeeperNodeSize,omitempty" mapstructure:"zookeeper_node_size,omitempty"`
	ZookeeperNodeCount                   int    `json:"zookeeperNodeCount,omitempty" mapstructure:"zookeeper_node_count,omitempty"`
	PostgresqlNodeCount                  int    `json:"postgresqlNodeCount,omitempty" mapstructure:"postgresql_node_count,omitempty"`
	PostgresqlReplicationMode            string `json:"replicationMode,omitempty" mapstructure:"replication_mode,omitempty"`
	PostgresqlSynchronousModeStrict      *bool  `json:"synchronousModeStrict,omitempty" mapstructure:"synchronous_mode_strict,omitempty"`
	PgBouncerPoolMode                    string `json:"poolMode,omitempty" mapstructure:"pool_mode,omitempty"`
	CadenceAdvancedVisibility            *bool  `json:"useAdvancedVisibility,omitempty" mapstructure:"advanced_visibility,omitempty"`
	CadenceUseWebAuth                    *bool  `json:"useCadenceWebAuth,omitempty" mapstructure:"use_cadence_web_auth,omitempty"`
	CadenceTargetCassandraDataCentreID   string `json:"targetCassandraCdcId,omitempty" mapstructure:"target_cassandra_data_centre_id,omitempty"`
	CadenceTargetCassandraVPCType        string `json:"targetCassandraVpcType,omitempty" mapstructure:"target_cassandra_vpc_type,omitempty"`
	CadenceTargetOpensearchDataCentreID  string `json:"targetOpenSearchCdcId,omitempty" mapstructure:"target_opensearch_data_centre_id,omitempty"`
	CadenceTargetOpensearchVPCType       string `json:"targetOpenSearchVpcType,omitempty" mapstructure:"target_opensearch_vpc_type,omitempty"`
	CadenceTargetKafkaDataCentreID       string `json:"targetKafkaCdcId,omitempty" mapstructure:"target_kafka_data_centre_id,omitempty"`
	CadenceTargetKafkaVPCType            string `json:"targetKafkaVpcType,omitempty" mapstructure:"target_kafka_vpc_type,omitempty"`
	AdvertisedHostName                   string `json:"advertisedHostName,omitempty" mapstructure:"advertised_host_name,omitempty"`
	IntegrateRestProxyWithSchemaRegistry *bool  `json:"integrateRestProxyWithSchemaRegistry,omitempty" mapstructure:"integrate_rest_proxy_with_schema_registry,omitempty"`
}

type Cluster

type Cluster struct {
	ID                         string            `json:"id"`
	ClusterName                string            `json:"clusterName"`
	ClusterStatus              string            `json:"clusterStatus"`
	CdcId                      string            `json:"cdcId"`
	BundleType                 string            `json:"bundleType"`
	BundleVersion              string            `json:"bundleVersion"`
	AddonBundles               []AddonBundles    `json:"addonBundles"`
	Username                   string            `json:"username"`
	InstaclustrUserPassword    string            `json:"instaclustrUserPassword"`
	SlaTier                    string            `json:"slaTier"`
	ClusterCertificateDownload string            `json:"clusterCertificateDownload"`
	PciCompliance              string            `json:"pciCompliance"`
	BundleOption               *BundleOptions    `json:"bundleOptions"`
	DataCentre                 string            `json:"dataCentre"`
	DataCentres                []DataCentre      `json:"dataCentres"`
	Provider                   []ClusterProvider `json:"clusterProvider"`
	OidcProvider               string            `json:"oidcId"`
}

type ClusterListItem added in v1.14.10

type ClusterListItem struct {
	ID               string `json:"id"`
	Name             string `json:"name"`
	NodeCount        int    `json:"nodeCount,omitempty"`
	RunningNodeCount int    `json:"runningNodeCount,omitempty"`
	DerivedStatus    string `json:"derivedStatus,omitempty"`
	SlaTier          string `json:"slaTier,omitempty"`
	PciCompliance    string `json:"pciCompliance,omitempty"`
}

type ClusterProvider

type ClusterProvider struct {
	Name                   *string                `json:"name" mapstructure:"name"`
	AccountName            *string                `json:"accountName,omitempty" mapstructure:"account_name"`
	CustomVirtualNetworkId *string                `json:"customVirtualNetworkId,omitempty" mapstructure:"custom_virtual_network_id"`
	Tags                   map[string]interface{} `json:"tags,omitempty"`
	ResourceGroup          *string                `json:"resourceGroup,omitempty" mapstructure:"resource_group"`
	DiskEncryptionKey      *string                `json:"diskEncryptionKey,omitempty" mapstructure:"disk_encryption_key"`
}

type Config

type Config struct {
	Username     string
	ApiKey       string
	ApiServerEnv string

	Client *APIClient
	// contains filtered or unexported fields
}

func (*Config) GetHostname

func (c *Config) GetHostname() string

func (*Config) Init

func (c *Config) Init()

type CreateAzureVPCPeeringRequest added in v1.20.0

type CreateAzureVPCPeeringRequest struct {
	PeerResourceGroup  string        `json:"peerResourceGroup"`
	PeerSubscriptionId string        `json:"peerSubscriptionId"`
	PeerVPCNetworkName string        `json:"peerVNetNetworkName"`
	PeerSubnets        []interface{} `json:"peerSubnets"`
}

type CreateGCPVPCPeeringRequest added in v1.15.1

type CreateGCPVPCPeeringRequest struct {
	PeerProjectID      string        `json:"peerProjectId"`
	PeerVPCNetworkName string        `json:"peerVpcNetworkName"`
	PeerSubnets        []interface{} `json:"peerSubnets"`
}

func GCPcreateVpcPeeringRequest added in v1.15.1

func GCPcreateVpcPeeringRequest(d *schema.ResourceData) (CreateGCPVPCPeeringRequest, error)

type CreateKafkaTopicRequest added in v1.14.6

type CreateKafkaTopicRequest struct {
	Topic             string `json:"topic"`
	ReplicationFactor int    `json:"replicationFactor" mapstructure:"replication_factor"`
	Partitions        int    `json:"partitions"`
}

type CreateKafkaUserRequest added in v1.3.0

type CreateKafkaUserRequest struct {
	Username           string                 `json:"username"`
	Password           string                 `json:"password"`
	InitialPermissions string                 `json:"initial-permissions"`
	Options            KafkaUserCreateOptions `json:"options,omitempty"`
}

type CreateRequest

type CreateRequest struct {
	ClusterName           string                    `json:"clusterName"`
	Bundles               []Bundle                  `json:"bundles,omitempty"`
	Provider              *ClusterProvider          `json:"provider,omitempty"`
	SlaTier               string                    `json:"slaTier,omitempty"`
	NodeSize              string                    `json:"nodeSize,omitempty"`
	DataCentre            string                    `json:"dataCentre,omitempty"`
	DataCentreCustomName  string                    `json:"dataCentreCustomName,omitempty"`
	DataCentres           []DataCentreCreateRequest `json:"dataCentres,omitempty"`
	ClusterNetwork        string                    `json:"clusterNetwork,omitempty"`
	PrivateNetworkCluster string                    `json:"privateNetworkCluster,omitempty"`
	PCICompliantCluster   string                    `json:"pciCompliantCluster,omitempty"`
	RackAllocation        *RackAllocation           `json:"rackAllocation,omitempty"`
	OidcProvider          string                    `json:"oidcProvider,omitempty"`
	PrivateLink           *PrivateLinkConfig        `json:"privateLink,omitempty" mapstructure:"private_link,omitempty"`
}

type CreateVPCPeeringRequest

type CreateVPCPeeringRequest struct {
	PeerVpcID     string        `json:"peerVpcId"`
	PeerAccountID string        `json:"peerAccountId"`
	PeerSubnet    string        `json:"peerSubnet"`
	PeerSubnets   []interface{} `json:"peerSubnets"`
	PeerRegion    string        `json:"peerRegion,omitempty"`
}

type DataCentre

type DataCentre struct {
	ID                            string             `json:"id,omitempty"`
	Name                          string             `json:"name" mapstructure:"name"`
	CdcName                       string             `json:"cdcName,omitempty" mapstructure:"cdcName"`
	Provider                      string             `json:"provider,omitempty"`
	CdcNetwork                    string             `json:"cdcNetwork,omitempty"`
	Bundles                       []string           `json:"bundles,omitempty"`
	ClientEncryption              bool               `json:"clientEncryption,omitempty"`
	PasswordAuthentication        bool               `json:"passwordAuthentication,omitempty"`
	UserAuthorization             bool               `json:"userAuthorization,omitempty"`
	UsePrivateBroadcastRPCAddress bool               `json:"usePrivateBroadcastRPCAddress,omitempty"`
	PrivateIPOnly                 bool               `json:"privateIPOnly,omitempty"`
	Nodes                         []Node             `json:"nodes,omitempty"`
	NodeCount                     int                `json:"nodeCount,omitempty"`
	EncryptionKeyId               string             `json:"encryptionKeyId,omitempty"`
	ResizeTargetNodeSize          string             `json:"resizeTargetNodeSize,omitempty"`
	DataCentreRegion              string             `json:"dataCentre,omitempty" mapstructure:"data_centre_region"`
	CdcStatus                     string             `json:"cdcStatus,omitempty"`
	RackAllocation                *RackAllocation    `json:"rackAllocation,omitempty" mapstructure:"rack_allocation,omitempty"`
	PrivateLink                   *PrivateLinkConfig `json:"privateLink,omitempty" mapstructure:"private_link,omitempty"`
}

type DataCentreCreateRequest added in v1.10.0

type DataCentreCreateRequest struct {
	Name           string           `json:"name" mapstructure:"name"`
	Network        string           `json:"network" mapstructure:"network"`
	DataCentre     string           `json:"dataCentre" mapstructure:"data_centre"`
	Provider       *ClusterProvider `json:"provider,omitempty" mapstructure:"provider,omitempty"`
	NodeSize       string           `json:"nodeSize,omitempty" mapstructure:"node_size,omitempty"`
	Bundles        []Bundle         `json:"bundles,omitempty" mapstructure:"bundles,omitempty"`
	RackAllocation *RackAllocation  `json:"rackAllocation,omitempty" mapstructure:"rack_allocation,omitempty"`
}

type DeleteKafkaUserRequest added in v1.3.0

type DeleteKafkaUserRequest struct {
	Username string `json:"username"`
}

type EncryptionKey

type EncryptionKey struct {
	ID       string `json:"id,omitempty"`
	Alias    string `json:"alias,omitempty"`
	ARN      string `json:"arn,omitempty"`
	Provider string `json:"provider,omitempty"`
}

type FirewallRule

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

type GCPVPCPeering added in v1.15.1

type GCPVPCPeering struct {
	ID                 string `json:"id"`
	ClusterDataCentre  string `json:"clusterDataCentre"`
	VpcID              string `json:"vpcNetworkName"`
	PeerProjectID      string `json:"projectId"`
	PeerVPCNetworkName string `json:"peerVpcNetworkName"`

	PeerSubnets []interface{} `json:"peerSubnets"`
	StatusCode  string        `json:"statusCode"`
}

type KafkaAcl added in v1.14.7

type KafkaAcl struct {
	Principal      string `json:"principal,omitempty"`
	Host           string `json:"host,omitempty"`
	ResourceType   string `json:"resourceType,omitempty"`
	ResourceName   string `json:"resourceName,omitempty"`
	Operation      string `json:"operation,omitempty"`
	PermissionType string `json:"permissionType,omitempty"`
	PatternType    string `json:"patternType,omitempty"`
}

type KafkaAclAPIClientInterface added in v1.14.7

type KafkaAclAPIClientInterface interface {
	ReadCluster(clusterID string) (*Cluster, error) // this is required because we are checking the cluster status
	ReadKafkaAcls(clusterID string, data []byte) ([]KafkaAcl, error)
	CreateKafkaAcl(clusterID string, data []byte) error
	DeleteKafkaAcl(clusterID string, data []byte) error
}

the purpose of this one is mainly for coverage testing

type KafkaAclList added in v1.14.7

type KafkaAclList struct {
	Acls []KafkaAcl `json:"acls"`
}

type KafkaAclResourceDataInterface added in v1.14.7

type KafkaAclResourceDataInterface interface {
	Get(key string) interface{}
	Set(key string, value interface{}) error
	SetId(value string)
	Id() string
}

mainly for coverage testing

type KafkaTopicConfig added in v1.14.6

type KafkaTopicConfig struct {
	Topic  string                   `json:"topic"`
	Config *KafkaTopicConfigOptions `json:"config,omitempty" mapstructure:"config,omitempty"`
}

type KafkaTopicConfigOptions added in v1.14.6

type KafkaTopicConfigOptions struct {
	CompressionType                      string  `json:"compression.type,omitempty" mapstructure:"compression_type,omitempty"`
	LeaderReplicationThrottledReplicas   *string `json:"leader.replication.throttled.replicas,omitempty" mapstructure:"leader_replication_throttled_replicas,omitempty"`
	MinInsyncReplicas                    int64   `json:"min.insync.replicas,omitempty,string" mapstructure:"min_insync_replicas,omitempty"`
	MessageDownconversionEnable          *bool   `json:"message.downconversion.enable,omitempty,string" mapstructure:"message_downconversion_enable,omitempty"`
	SegmentJitterMs                      *int64  `json:"segment.jitter.ms,omitempty,string" mapstructure:"segment_jitter_ms,omitempty"`
	CleanupPolicy                        string  `json:"cleanup.policy,omitempty" mapstructure:"cleanup_policy,omitempty"`
	FlushMs                              string  `json:"flush.ms,omitempty" mapstructure:"flush_ms,omitempty"` //Using string because terraform has difficulties parsing big int, it will lose precision.
	FollowerReplicationThrottledReplicas string  `json:"follower.replication.throttled.replicas,omitempty" mapstructure:"follower_replication_throttled_replicas,omitempty"`
	RetentionMs                          int64   `json:"retention.ms,omitempty,string" mapstructure:"retention_ms,omitempty"`
	SegmentBytes                         int64   `json:"segment.bytes,omitempty,string" mapstructure:"segment_bytes,omitempty"`
	FlushMessages                        string  `json:"flush.messages,omitempty" mapstructure:"flush_messages,omitempty"` //Using string because terraform has difficulties parsing big int, it will lose precision.
	MessageFormatVersion                 string  `json:"message.format.version,omitempty" mapstructure:"message_format_version,omitempty"`
	FileDeleteDelayMs                    int64   `json:"file.delete.delay.ms,omitempty,string" mapstructure:"file_delete_delay_ms,omitempty"`
	MaxCompactionLagMs                   string  `json:"max.compaction.lag.ms,omitempty" mapstructure:"max_compaction_lag_ms,omitempty"` //Using string because terraform has difficulties parsing big int, it will lose precision.
	MaxMessageBytes                      int64   `json:"max.message.bytes,omitempty,string" mapstructure:"max_message_bytes,omitempty"`
	MinCompactionLagMs                   *int64  `json:"min.compaction.lag.ms,omitempty,string" mapstructure:"min_compaction_lag_ms,omitempty"`
	MessageTimestampType                 string  `json:"message.timestamp.type,omitempty" mapstructure:"message_timestamp_type,omitempty"`
	Preallocate                          *bool   `json:"preallocate,omitempty,string" mapstructure:"preallocate,omitempty"`
	IndexIntervalBytes                   int64   `json:"index.interval.bytes,omitempty,string" mapstructure:"index_interval_bytes,omitempty"`
	MinCleanableDirtyRatio               float32 `json:"min.cleanable.dirty.ratio,omitempty,string" mapstructure:"min_cleanable_dirty_ratio,omitempty"`
	UncleanLeaderElectionEnable          *bool   `json:"unclean.leader.election.enable,omitempty,string" mapstructure:"unclean_leader_election_enable,omitempty"`
	DeleteRetentionMs                    int64   `json:"delete.retention.ms,omitempty,string" mapstructure:"delete_retention_ms,omitempty"`
	RetentionBytes                       int64   `json:"retention.bytes,omitempty,string" mapstructure:"retention_bytes,omitempty"`
	SegmentMs                            int64   `json:"segment.ms,omitempty,string" mapstructure:"segment_ms,omitempty"`
	MessageTimestampDifferenceMaxMs      string  `json:"message.timestamp.difference.max.ms,omitempty" mapstructure:"message_timestamp_difference_max_ms,omitempty"` //Using string because terraform has difficulties parsing big int, it will lose precision.
	SegmentIndexBytes                    int64   `json:"segment.index.bytes,omitempty,string" mapstructure:"segment_index_bytes,omitempty"`
}

type KafkaTopics added in v1.14.6

type KafkaTopics struct {
	Topics []string `json:"topics,omitempty" mapstructure:"topics,omitempty"`
}

type KafkaUserCreateOptions added in v1.10.4

type KafkaUserCreateOptions struct {
	AuthenticationMechanism string `json:"sasl-scram-mechanism,omitempty" mapstructure:"sasl-scram-mechanism"`
	OverrideExistingUser    bool   `json:"override-existing-user" mapstructure:"override-existing-user"`
}

type KafkaUserResetPasswordOptions added in v1.10.4

type KafkaUserResetPasswordOptions struct {
	AuthenticationMechanism string `json:"sasl-scram-mechanism,omitempty" mapstructure:"sasl-scram-mechanism"`
}

type MockKafkaAclApiClient added in v1.14.7

type MockKafkaAclApiClient struct {
	// contains filtered or unexported fields
}

func (MockKafkaAclApiClient) CreateKafkaAcl added in v1.14.7

func (m MockKafkaAclApiClient) CreateKafkaAcl(clusterID string, data []byte) error

func (MockKafkaAclApiClient) DeleteKafkaAcl added in v1.14.7

func (m MockKafkaAclApiClient) DeleteKafkaAcl(clusterID string, data []byte) error

func (MockKafkaAclApiClient) ReadCluster added in v1.14.7

func (m MockKafkaAclApiClient) ReadCluster(clusterID string) (*Cluster, error)

func (MockKafkaAclApiClient) ReadKafkaAcls added in v1.14.7

func (m MockKafkaAclApiClient) ReadKafkaAcls(clusterID string, data []byte) ([]KafkaAcl, error)

type MockKafkaAclResourceData added in v1.14.7

type MockKafkaAclResourceData struct {
	// contains filtered or unexported fields
}

func (MockKafkaAclResourceData) Get added in v1.14.7

func (m MockKafkaAclResourceData) Get(key string) interface{}

func (MockKafkaAclResourceData) Id added in v1.14.7

func (MockKafkaAclResourceData) Set added in v1.14.7

func (m MockKafkaAclResourceData) Set(key string, v interface{}) error

func (MockKafkaAclResourceData) SetId added in v1.14.7

func (m MockKafkaAclResourceData) SetId(value string)

type Node

type Node struct {
	ID             string `json:"id"`
	Size           string `json:"size"`
	Rack           string `json:"rack"`
	PublicAddress  string `json:"publicAddress"`
	PrivateAddress string `json:"privateAddress"`
	NodeStatus     string `json:"nodeStatus"`
	SparkMaster    bool   `json:"sparkMaster"`
	SparkJobserver bool   `json:"sparkJobserver"`
	Zeppelin       bool   `json:"zeppelin"`
}

type NodePurpose added in v1.10.1

type NodePurpose string

func (NodePurpose) String added in v1.10.1

func (p NodePurpose) String() string

type OmitEmptyBool added in v1.8.0

type OmitEmptyBool struct {
	// contains filtered or unexported fields
}

type PrivateLinkConfig added in v1.23.0

type PrivateLinkConfig struct {
	IAMPrincipalARNs *[]string `json:"iamPrincipalARNs,omitempty" mapstructure:"iam_principal_arns,omitempty"`
}

type RackAllocation

type RackAllocation struct {
	NumberOfRacks string `json:"numberOfRacks" mapstructure:"number_of_racks"`
	NodesPerRack  string `json:"nodesPerRack" mapstructure:"nodes_per_rack"`
}

type ResizeClusterRequest

type ResizeClusterRequest struct {
	NewNodeSize           string       `json:"newNodeSize"`
	ConcurrentResizes     int          `json:"concurrentResizes"`
	NotifySupportContacts string       `json:"notifySupportContacts"`
	NodePurpose           *NodePurpose `json:"nodePurpose"`
}

type RoundTripFunc added in v1.9.5

type RoundTripFunc func(request *http.Request) *http.Response

RoundTripFunc .

func (RoundTripFunc) RoundTrip added in v1.9.5

func (mockFunction RoundTripFunc) RoundTrip(request *http.Request) (*http.Response, error)

RoundTrip .

type RuleType

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

type UpdateBundleUserRequest added in v1.7.2

type UpdateBundleUserRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

type UpdateKafkaTopicRequest added in v1.14.6

type UpdateKafkaTopicRequest struct {
	Config *KafkaTopicConfigOptions `json:"config,omitempty" mapstructure:"config,omitempty"`
}

type UpdateKafkaUserRequest added in v1.3.0

type UpdateKafkaUserRequest struct {
	Username string                        `json:"username"`
	Password string                        `json:"password"`
	Options  KafkaUserResetPasswordOptions `json:"options,omitempty"`
}

type VPCPeering

type VPCPeering struct {
	ID                 string        `json:"id"`
	AWSVpcConnectionID string        `json:"aws_vpc_connection_id"`
	ClusterDataCentre  string        `json:"clusterDataCentre"`
	VpcID              string        `json:"vpcId"`
	PeerVpcID          string        `json:"peerVpcId"`
	PeerAccountID      string        `json:"peerAccountId"`
	PeerSubnet         string        `json:"peerSubnet"`
	PeerSubnets        []interface{} `json:"peerSubnets"`
	StatusCode         string        `json:"statusCode"`
	PeerRegion         string        `json:"peerRegion"`
}

Jump to

Keyboard shortcuts

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