package constant

const (
	PrivateLinkConnectionIDPrefix = "plc-"
	PLCAttachDomainIDPrefix       = "plcd-"
	// PLCHostedZonePrefix is intentionally left empty. Add a value here if a prefix is required in the future
	PLCHostedZonePrefix = ""
)

type PrivateLinkConnectionType string

const (
	PrivateLinkConnectionAWSEndpointService      PrivateLinkConnectionType = "aws_endpoint_service"
	PrivateLinkConnectionAlicloudEndpointService PrivateLinkConnectionType = "alicloud_endpoint_service"
	PrivateLinkConnectionAmazonMSKProvisioned    PrivateLinkConnectionType = "amazon_msk_provisioned"
)

type PrivateLinkConnectionState string

const (
	PrivateLinkConnectionStateCreating          PrivateLinkConnectionState = "creating"
	PrivateLinkConnectionStateAvailable         PrivateLinkConnectionState = "active"
	PrivateLinkConnectionStateFailed            PrivateLinkConnectionState = "failed"
	PrivateLinkConnectionStateDeleting          PrivateLinkConnectionState = "deleting"
	PrivateLinkConnectionStatePendingAcceptance PrivateLinkConnectionState = "pending_acceptance"
	PrivateLinkConnectionStateDeleted           PrivateLinkConnectionState = "deleted"
	PrivateLinkConnectionStateUnknown           PrivateLinkConnectionState = "unknown"
)

type PLCAttachDomainType string

const (
	PLCAttachDomainTypeTiDBCloudManaged PLCAttachDomainType = "tidbcloud_managed"
	PLCAttachDomainTypeConfluent        PLCAttachDomainType = "confluent"
)

type HostedZone string

const (
	HostedZoneTiDBCloudManaged HostedZone = "plc.tidbcloud.com"
	HostedZoneConfluent        HostedZone = "confluent.cloud"
)

type PLCDomainRecordState string

const (
	PLCDomainRecordStateCreating       PLCDomainRecordState = "creating"
	PLCDomainRecordStateActive         PLCDomainRecordState = "active"
	PLCDomainRecordStateFailed         PLCDomainRecordState = "failed"
	PLCDomainRecordStateDeleting       PLCDomainRecordState = "deleting"
	PLCDomainRecordStateRecordsDeleted PLCDomainRecordState = "records_deleted"
	PLCDomainRecordStateDeleted        PLCDomainRecordState = "deleted"
)
