smart_connect

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2025 License: Apache-2.0 Imports: 3 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteTask

func DeleteTask(client *golangsdk.ServiceClient, instanceId, taskId string) error

DELETE /v2/{project_id}/instances/{instance_id}/connector/tasks/{task_id}

func PauseTask

func PauseTask(client *golangsdk.ServiceClient, instanceId, taskId string) error

PUT /v2/{project_id}/instances/{instance_id}/connector/tasks/{task_id}/pause

func RestartTask

func RestartTask(client *golangsdk.ServiceClient, instanceId, taskId string) error

PUT /v2/{project_id}/instances/{instance_id}/connector/tasks/{task_id}/resume

func StartOrRestartTask

func StartOrRestartTask(client *golangsdk.ServiceClient, instanceId, taskId string) error

PUT /v2/{project_id}/kafka/instances/{instance_id}/connector/tasks/{task_id}/restart

Types

type CreateTaskOpts

type CreateTaskOpts struct {
	// Smart Connect task name
	TaskName string `json:"task_name,omitempty"`
	// Indicates whether to start a task later
	StartLater *bool `json:"start_later,omitempty"`
	// Topic of a Smart Connect task
	Topics string `json:"topics,omitempty"`
	// Regular expression of the topic of a Smart Connect task
	TopicsRegex string `json:"topics_regex,omitempty"`
	// Source type of a Smart Connect task
	SourceType string `json:"source_type,omitempty"`
	// Source configuration of a Smart Connect task
	SourceTask *SmartConnectTaskSourceConfig `json:"source_task,omitempty"`
	// Target type of a Smart Connect task
	SinkType string `json:"sink_type,omitempty"`
	// Target configuration of a Smart Connect task
	SinkTask *SmartConnectTaskSinkConfig `json:"sink_task,omitempty"`
}

type CreateTaskResponse

type CreateTaskResponse struct {
	TaskName    string                        `json:"task_name"`
	Topics      string                        `json:"topics"`
	TopicsRegex string                        `json:"topics_regex"`
	SourceType  string                        `json:"source_type"`
	SourceTask  *SmartConnectTaskSourceConfig `json:"source_task"`
	SinkType    string                        `json:"sink_type"`
	SinkTask    *SmartConnectTaskSinkConfig   `json:"sink_task"`
	ID          string                        `json:"id"`
	Status      string                        `json:"status"`
	CreateTime  int64                         `json:"create_time"`
}

func CreateTask

func CreateTask(client *golangsdk.ServiceClient, instanceId string, opts CreateTaskOpts) (*CreateTaskResponse, error)

This API is used to create a Smart Connect task. POST /v2/{project_id}/instances/{instance_id}/connector/tasks

type DisableResp

type DisableResp struct {
	// Task ID.
	JobId string `json:"job_id"`
}

func Disable

func Disable(client *golangsdk.ServiceClient, id string) (*DisableResp, error)

This API is used to disable Smart Connect for a pay-per-use instance. Send POST /v2/{project_id}/kafka/instances/{instance_id}/delete-connector

type EnableOpts

type EnableOpts struct {
	// DMS instance id
	InstanceId string `json:"-" required:"true"`
	// Bandwidth for deploying Smart Connect, that is, the maximum amount
	// of data transferred per unit time. Use the bandwidth of the current instance.
	Specification string `json:"specification,omitempty"`
	// Number of connectors. Min.: 2.
	// The default value is 2 if it is not specified.
	NodeCount string `json:"node_cnt,omitempty"`
	// Specification code of the connector.
	// This parameter is mandatory only for old instance flavors.
	SpecCode string `json:"spec_code,omitempty"`
}

type EnableSmartResp

type EnableSmartResp struct {
	// Task ID.
	JobId string `json:"job_id"`
	// Instance dump ID.
	ConnectorId string `json:"connector_id"`
}

func Enable

func Enable(client *golangsdk.ServiceClient, opts EnableOpts) (*EnableSmartResp, error)

This API is used to enable Smart Connect so you can create a connector. Send POST /v2/{project_id}/instances/{instance_id}/connector

type GetTaskResponce

type GetTaskResponce struct {
	Tasks       []SmartConnectTaskEntity `json:"tasks"`
	TotalNumber int                      `json:"total_number"`
	MaxTasks    int                      `json:"max_tasks"`
	QuotaTasks  int                      `json:"quota_tasks"`
}

func ListTasks

func ListTasks(client *golangsdk.ServiceClient, opts QueryTasksOpts) (*GetTaskResponce, error)

This API is used to query Smart Connect tasks. GET /v2/{project_id}/instances/{instance_id}/connector/tasks

type QueryTasksOpts

type QueryTasksOpts struct {
	InstanceId string `json:"-"`
	Offset     *int   `q:"offset,omitempty"`
	Limit      *int   `q:"limit,omitempty"`
}

type SmartConnectTaskEntity

type SmartConnectTaskEntity struct {
	TaskName    string                        `json:"task_name"`
	Topics      string                        `json:"topics"`
	TopicsRegex string                        `json:"topics_regex"`
	SourceType  string                        `json:"source_type"`
	SourceTask  *SmartConnectTaskSourceConfig `json:"source_task"`
	SinkType    string                        `json:"sink_type"`
	SinkTask    *SmartConnectTaskSinkConfig   `json:"sink_task"`
	ID          string                        `json:"id"`
	Status      string                        `json:"status"`
	CreateTime  int64                         `json:"create_time"`
}

type SmartConnectTaskSinkConfig

type SmartConnectTaskSinkConfig struct {
	// Redis-specific fields
	RedisAddress  string `json:"redis_address,omitempty"`
	RedisType     string `json:"redis_type,omitempty"`
	DcsInstanceId string `json:"dcs_instance_id,omitempty"`
	RedisPassword string `json:"redis_password,omitempty"`

	// OBS-specific fields
	ConsumerStrategy    string `json:"consumer_strategy,omitempty"`
	DestinationFileType string `json:"destination_file_type,omitempty"`
	DeliverTimeInterval int    `json:"deliver_time_interval,omitempty"`
	AccessKey           string `json:"access_key,omitempty"`
	SecretKey           string `json:"secret_key,omitempty"`
	ObsBucketName       string `json:"obs_bucket_name,omitempty"`
	ObsPath             string `json:"obs_path,omitempty"`
	PartitionFormat     string `json:"partition_format,omitempty"`
	RecordDelimiter     string `json:"record_delimiter,omitempty"`
	StoreKeys           *bool  `json:"store_keys,omitempty"`
}

type SmartConnectTaskSourceConfig

type SmartConnectTaskSourceConfig struct {
	// Redis-specific fields
	RedisAddress     string `json:"redis_address,omitempty"`
	RedisType        string `json:"redis_type,omitempty"`
	DcsInstanceId    string `json:"dcs_instance_id,omitempty"`
	RedisPassword    string `json:"redis_password,omitempty"`
	SyncMode         string `json:"sync_mode,omitempty"`
	FullSyncWaitMs   int    `json:"full_sync_wait_ms,omitempty"`
	FullSyncMaxRetry int    `json:"full_sync_max_retry,omitempty"`
	Ratelimit        int    `json:"ratelimit,omitempty"`
	// Kafka-specific fields
	CurrentClusterName         string `json:"current_cluster_name,omitempty"`
	ClusterName                string `json:"cluster_name,omitempty"`
	UserName                   string `json:"user_name,omitempty"`
	Password                   string `json:"password,omitempty"`
	SaslMechanism              string `json:"sasl_mechanism,omitempty"`
	InstanceId                 string `json:"instance_id,omitempty"`
	BootstrapServers           string `json:"bootstrap_servers,omitempty"`
	SecurityProtocol           string `json:"security_protocol,omitempty"`
	Direction                  string `json:"direction,omitempty"`
	SyncConsumerOffsetsEnabled *bool  `json:"sync_consumer_offsets_enabled,omitempty"`
	ReplicationFactor          int    `json:"replication_factor,omitempty"`
	TaskNum                    int    `json:"task_num,omitempty"`
	RenameTopicEnabled         *bool  `json:"rename_topic_enabled,omitempty"`
	ProvenanceHeaderEnabled    *bool  `json:"provenance_header_enabled,omitempty"`
	ConsumerStrategy           string `json:"consumer_strategy,omitempty"`
	CompressionType            string `json:"compression_type,omitempty"`
	TopicsMapping              string `json:"topics_mapping,omitempty"`
}

type TaskDetails

type TaskDetails struct {
	TaskName    string                        `json:"task_name"`
	Topics      string                        `json:"topics"`
	TopicsRegex string                        `json:"topics_regex"`
	SourceType  string                        `json:"source_type"`
	SourceTask  *SmartConnectTaskSourceConfig `json:"source_task"`
	SinkType    string                        `json:"sink_type"`
	SinkTask    *SmartConnectTaskSinkConfig   `json:"sink_task"`
	ID          string                        `json:"id"`
	Status      string                        `json:"status"`
	CreateTime  int64                         `json:"create_time"`
}

func GetTask

func GetTask(client *golangsdk.ServiceClient, instanceId, taskId string) (*TaskDetails, error)

Jump to

Keyboard shortcuts

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