Documentation ¶
Index ¶
- Constants
- func CreateRule[T any](r Rule, ctx context.Context, req tfsdk_resource.CreateRequest, ...)
- func DeleteRule[T any](r Rule, ctx context.Context, req tfsdk_resource.DeleteRequest, ...)
- func GetAwsAuthSchema() tfsdk.Attribute
- func GetEnvelopedSchema() tfsdk.Attribute
- func GetFormatSchema() tfsdk.Attribute
- func GetHeaderSchema() tfsdk.Attribute
- func GetHeaders(headers []AblyRuleHeaders) []ably_control_go.Header
- func GetKafkaAuthSchema(headers []AblyRuleHeaders) []ably_control_go.Header
- func GetPlanAwsAuth(plan AblyRule) ably_control_go.AwsAuthentication
- func GetPlanRule(plan AblyRule) ably_control_go.NewRule
- func GetRequestMode(plan AblyRule) ably_control_go.RequestMode
- func GetRuleSchema(target map[string]tfsdk.Attribute, markdown_description string) tfsdk.Schema
- func GetSourceType(mode ably_control_go.SourceType) ably_control_go.SourceType
- func ImportResource(ctx context.Context, req tfsdk_resource.ImportStateRequest, ...)
- func New(version string) tfsdk_provider.Provider
- func ReadRule[T any](r Rule, ctx context.Context, req tfsdk_resource.ReadRequest, ...)
- func UpdateRule[T any](r Rule, ctx context.Context, req tfsdk_resource.UpdateRequest, ...)
- type AblyApp
- type AblyKey
- type AblyNamespace
- type AblyQueue
- type AblyRule
- type AblyRuleDecoder
- type AblyRuleHeaders
- type AblyRuleSource
- type AblyRuleTargetAmqp
- type AblyRuleTargetAmqpExternal
- type AblyRuleTargetAzureFunction
- type AblyRuleTargetCloudflareWorker
- type AblyRuleTargetGoogleFunction
- type AblyRuleTargetHTTP
- type AblyRuleTargetIFTTT
- type AblyRuleTargetKafka
- type AblyRuleTargetKinesis
- type AblyRuleTargetLambda
- type AblyRuleTargetPulsar
- type AblyRuleTargetSqs
- type AblyRuleTargetZapier
- type AwsAuth
- type DefaultAttributePlanModifier
- type KafkaAuthentication
- type PulsarAuthentication
- type Rule
- type Sasl
Constants ¶
View Source
const CONTROL_API_DEFAULT_URL = "https://control.ably.net/v1"
Variables ¶
This section is empty.
Functions ¶
func CreateRule ¶
func CreateRule[T any](r Rule, ctx context.Context, req tfsdk_resource.CreateRequest, resp *tfsdk_resource.CreateResponse)
Create a new resource
func DeleteRule ¶
func DeleteRule[T any](r Rule, ctx context.Context, req tfsdk_resource.DeleteRequest, resp *tfsdk_resource.DeleteResponse)
Delete resource
func GetAwsAuthSchema ¶
func GetEnvelopedSchema ¶ added in v0.5.0
func GetFormatSchema ¶
func GetHeaderSchema ¶
func GetHeaders ¶
func GetHeaders(headers []AblyRuleHeaders) []ably_control_go.Header
func GetKafkaAuthSchema ¶
func GetKafkaAuthSchema(headers []AblyRuleHeaders) []ably_control_go.Header
func GetPlanAwsAuth ¶
func GetPlanAwsAuth(plan AblyRule) ably_control_go.AwsAuthentication
func GetPlanRule ¶
func GetPlanRule(plan AblyRule) ably_control_go.NewRule
converts rule from terraform format to control sdk format
func GetRequestMode ¶
func GetRequestMode(plan AblyRule) ably_control_go.RequestMode
func GetRuleSchema ¶
func GetSourceType ¶
func GetSourceType(mode ably_control_go.SourceType) ably_control_go.SourceType
func ImportResource ¶ added in v0.4.0
func ImportResource(ctx context.Context, req tfsdk_resource.ImportStateRequest, resp *tfsdk_resource.ImportStateResponse, fields ...string)
// Import resource
func New ¶
func New(version string) tfsdk_provider.Provider
func ReadRule ¶
func ReadRule[T any](r Rule, ctx context.Context, req tfsdk_resource.ReadRequest, resp *tfsdk_resource.ReadResponse)
Read resource
func UpdateRule ¶
func UpdateRule[T any](r Rule, ctx context.Context, req tfsdk_resource.UpdateRequest, resp *tfsdk_resource.UpdateResponse)
// Update resource
Types ¶
type AblyApp ¶
type AblyApp struct { AccountID types.String `tfsdk:"account_id"` ID types.String `tfsdk:"id"` Name types.String `tfsdk:"name"` Status types.String `tfsdk:"status"` TLSOnly types.Bool `tfsdk:"tls_only"` FcmKey types.String `tfsdk:"fcm_key"` ApnsCertificate types.String `tfsdk:"apns_certificate"` ApnsPrivateKey types.String `tfsdk:"apns_private_key"` ApnsUseSandboxEndpoint types.Bool `tfsdk:"apns_use_sandbox_endpoint"` }
Ably App
type AblyKey ¶
type AblyKey struct { ID types.String `tfsdk:"id"` AppID types.String `tfsdk:"app_id"` Name types.String `tfsdk:"name"` RevocableTokens types.Bool `tfsdk:"revocable_tokens"` Capability map[string][]string `tfsdk:"capabilities"` Status types.Int64 `tfsdk:"status"` Key types.String `tfsdk:"key"` Created types.Int64 `tfsdk:"created"` Modified types.Int64 `tfsdk:"modified"` }
Ably Key
type AblyNamespace ¶
type AblyNamespace struct { AppID types.String `tfsdk:"app_id"` ID types.String `tfsdk:"id"` Authenticated types.Bool `tfsdk:"authenticated"` Persisted types.Bool `tfsdk:"persisted"` PersistLast types.Bool `tfsdk:"persist_last"` PushEnabled types.Bool `tfsdk:"push_enabled"` TlsOnly types.Bool `tfsdk:"tls_only"` ExposeTimeserial types.Bool `tfsdk:"expose_timeserial"` }
Ably Namespace
type AblyQueue ¶
type AblyQueue struct { AppID types.String `tfsdk:"app_id"` ID types.String `tfsdk:"id"` Name types.String `tfsdk:"name"` Ttl types.Int64 `tfsdk:"ttl"` MaxLength types.Int64 `tfsdk:"max_length"` Region types.String `tfsdk:"region"` AmqpUri types.String `tfsdk:"amqp_uri"` AmqpQueueName types.String `tfsdk:"amqp_queue_name"` StompURI types.String `tfsdk:"stomp_uri"` StompHost types.String `tfsdk:"stomp_host"` StompDestination types.String `tfsdk:"stomp_destination"` State types.String `tfsdk:"state"` MessagesReady types.Int64 `tfsdk:"messages_ready"` MessagesUnacknowledged types.Int64 `tfsdk:"messages_unacknowledged"` MessagesTotal types.Int64 `tfsdk:"messages_total"` StatsPublishRate types.Float64 `tfsdk:"stats_publish_rate"` StatsDeliveryRate types.Float64 `tfsdk:"stats_delivery_rate"` StatsAcknowledgementRate types.Float64 `tfsdk:"stats_acknowledgement_rate"` Deadletter types.Bool `tfsdk:"deadletter"` DeadletterID types.String `tfsdk:"deadletter_id"` }
Ably Queue
type AblyRule ¶
type AblyRule AblyRuleDecoder[any]
func GetRuleResponse ¶
func GetRuleResponse(ably_rule *ably_control_go.Rule, plan *AblyRule) AblyRule
Maps response body to resource schema attributes. Using plan to fill in values that the api does not return.
type AblyRuleDecoder ¶
type AblyRuleDecoder[T any] struct { ID types.String `tfsdk:"id"` AppID types.String `tfsdk:"app_id"` Status types.String `tfsdk:"status"` RequestMode types.String `tfsdk:"request_mode"` Source *AblyRuleSource `tfsdk:"source"` Target T `tfsdk:"target"` }
func (*AblyRuleDecoder[_]) Rule ¶
func (r *AblyRuleDecoder[_]) Rule() AblyRule
type AblyRuleHeaders ¶
func ToHeaders ¶
func ToHeaders(plan ably_control_go.Target) []AblyRuleHeaders
type AblyRuleSource ¶
type AblyRuleSource struct { ChannelFilter types.String `tfsdk:"channel_filter"` Type ably_control_go.SourceType `tfsdk:"type"` }
Ably Rule
type AblyRuleTargetAmqp ¶
type AblyRuleTargetAmqp struct { QueueID string `tfsdk:"queue_id"` Headers []AblyRuleHeaders `tfsdk:"headers"` Enveloped bool `tfsdk:"enveloped"` Format ably_control_go.Format `tfsdk:"format"` }
type AblyRuleTargetAmqpExternal ¶
type AblyRuleTargetAmqpExternal struct { Url string `tfsdk:"url"` RoutingKey string `tfsdk:"routing_key"` Exchange string `tfsdk:"exchange"` MandatoryRoute bool `tfsdk:"mandatory_route"` PersistentMessages bool `tfsdk:"persistent_messages"` MessageTtl types.Int64 `tfsdk:"message_ttl"` Headers []AblyRuleHeaders `tfsdk:"headers"` Enveloped bool `tfsdk:"enveloped"` Format ably_control_go.Format `tfsdk:"format"` }
type AblyRuleTargetAzureFunction ¶
type AblyRuleTargetAzureFunction struct { AzureAppID string `tfsdk:"azure_app_id"` AzureFunctionName string `tfsdk:"function_name"` Headers []AblyRuleHeaders `tfsdk:"headers"` SigningKeyID string `tfsdk:"signing_key_id"` Format ably_control_go.Format `tfsdk:"format"` }
type AblyRuleTargetCloudflareWorker ¶
type AblyRuleTargetCloudflareWorker struct { Url string `tfsdk:"url"` Headers []AblyRuleHeaders `tfsdk:"headers"` SigningKeyId string `tfsdk:"signing_key_id"` }
type AblyRuleTargetGoogleFunction ¶
type AblyRuleTargetGoogleFunction struct { Region string `tfsdk:"region"` ProjectID string `tfsdk:"project_id"` FunctionName string `tfsdk:"function_name"` Headers []AblyRuleHeaders `tfsdk:"headers"` SigningKeyId string `tfsdk:"signing_key_id"` Enveloped bool `tfsdk:"enveloped"` Format ably_control_go.Format `tfsdk:"format"` }
type AblyRuleTargetHTTP ¶
type AblyRuleTargetHTTP struct { Url string `tfsdk:"url"` Headers []AblyRuleHeaders `tfsdk:"headers"` SigningKeyId string `tfsdk:"signing_key_id"` Format ably_control_go.Format `tfsdk:"format"` Enveloped bool `tfsdk:"enveloped"` }
type AblyRuleTargetIFTTT ¶
type AblyRuleTargetKafka ¶
type AblyRuleTargetKafka struct { RoutingKey string `tfsdk:"routing_key"` Brokers []string `tfsdk:"brokers"` KafkaAuthentication KafkaAuthentication `tfsdk:"auth"` Enveloped bool `tfsdk:"enveloped"` Format ably_control_go.Format `tfsdk:"format"` }
type AblyRuleTargetKinesis ¶
type AblyRuleTargetLambda ¶
type AblyRuleTargetPulsar ¶
type AblyRuleTargetPulsar struct { RoutingKey string `tfsdk:"routing_key"` Topic string `tfsdk:"topic"` ServiceURL string `tfsdk:"service_url"` TlsTrustCerts []string `tfsdk:"tls_trust_certs"` Authentication PulsarAuthentication `tfsdk:"authentication"` Enveloped bool `tfsdk:"enveloped"` Format ably_control_go.Format `tfsdk:"format"` }
type AblyRuleTargetSqs ¶
type AblyRuleTargetZapier ¶
type AblyRuleTargetZapier struct { Url string `tfsdk:"url"` Headers []AblyRuleHeaders `tfsdk:"headers"` SigningKeyId string `tfsdk:"signing_key_id"` }
type AwsAuth ¶
type AwsAuth struct { AuthenticationMode types.String `tfsdk:"mode"` RoleArn types.String `tfsdk:"role_arn"` AccessKeyId types.String `tfsdk:"access_key_id"` SecretAccessKey types.String `tfsdk:"secret_access_key"` }
func GetAwsAuth ¶
func GetAwsAuth(auth *ably_control_go.AwsAuthentication, plan *AblyRule) AwsAuth
Maps response body to resource schema attributes. Using plan to fill in values that the api does not return.
type DefaultAttributePlanModifier ¶
func DefaultAttribute ¶
func DefaultAttribute(value attr.Value) DefaultAttributePlanModifier
func (DefaultAttributePlanModifier) Description ¶
func (m DefaultAttributePlanModifier) Description(ctx context.Context) string
func (DefaultAttributePlanModifier) MarkdownDescription ¶
func (m DefaultAttributePlanModifier) MarkdownDescription(ctx context.Context) string
func (DefaultAttributePlanModifier) Modify ¶
func (m DefaultAttributePlanModifier) Modify(ctx context.Context, req tfsdk.ModifyAttributePlanRequest, resp *tfsdk.ModifyAttributePlanResponse)
type KafkaAuthentication ¶
type KafkaAuthentication struct {
Sasl Sasl `tfsdk:"sasl"`
}
type PulsarAuthentication ¶
Source Files ¶
- error.go
- models.go
- modifiers.go
- provider.go
- resource_ably_app.go
- resource_ably_key.go
- resource_ably_namespace.go
- resource_ably_queue.go
- resource_ably_rule_amqp.go
- resource_ably_rule_amqp_external.go
- resource_ably_rule_azure_function.go
- resource_ably_rule_http.go
- resource_ably_rule_http_cloudflare_worker.go
- resource_ably_rule_http_google_cloud_function.go
- resource_ably_rule_ifttt.go
- resource_ably_rule_kafka.go
- resource_ably_rule_kinesis.go
- resource_ably_rule_lambda.go
- resource_ably_rule_pulsar.go
- resource_ably_rule_sqs.go
- resource_ably_rule_zapier.go
- rules.go
Click to show internal directories.
Click to hide internal directories.