Documentation ¶
Overview ¶
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2020 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2017 jelmersnoeck Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2017 jelmersnoeck Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2017 jelmersnoeck Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2017 jelmersnoeck Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2017 jelmersnoeck Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2017 jelmersnoeck Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2017 jelmersnoeck Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2019 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2017 jelmersnoeck Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Copyright (c) 2018 Aiven, Helsinki, Finland. https://aiven.io/
Index ¶
- func ConvertAPIUserConfigToTerraformCompatibleFormat(configType string, entryType string, userConfig map[string]interface{}) []map[string]interface{}
- func ConvertTerraformUserConfigToAPICompatibleFormat(configType string, entryType string, newResource bool, d *schema.ResourceData) map[string]interface{}
- func GenerateTerraformUserConfigSchema(data map[string]interface{}) map[string]*schema.Schema
- func Provider() terraform.ResourceProvider
- type KafkaTopicAvailabilityWaiter
- type KafkaTopicCreateWaiter
- type ProjectVPCActiveWaiter
- type ProjectVPCDeleteWaiter
- type ServiceChangeWaiter
- type VPCPeeringBuildWaiter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertAPIUserConfigToTerraformCompatibleFormat ¶
func ConvertAPIUserConfigToTerraformCompatibleFormat( configType string, entryType string, userConfig map[string]interface{}, ) []map[string]interface{}
ConvertAPIUserConfigToTerraformCompatibleFormat converts API response to a format that is accepted by Terraform; intermediary lists are added as necessary, default values are provided for missing keys and type conversions are performed if necessary.
func ConvertTerraformUserConfigToAPICompatibleFormat ¶
func ConvertTerraformUserConfigToAPICompatibleFormat( configType string, entryType string, newResource bool, d *schema.ResourceData, ) map[string]interface{}
ConvertTerraformUserConfigToAPICompatibleFormat converts Terraform user configuration to API compatible format; Schema-based Terraform configuration requires using TypeList, which adds one extra layer of lists that need to be dropped. Also need to drop dummy "unset" replacement values
func GenerateTerraformUserConfigSchema ¶
GenerateTerraformUserConfigSchema creates Terraform schema definition for user config based on user config JSON schema definition.
func Provider ¶
func Provider() terraform.ResourceProvider
Provider returns a terraform.ResourceProvider.
Types ¶
type KafkaTopicAvailabilityWaiter ¶ added in v1.2.1
type KafkaTopicAvailabilityWaiter struct { Client *aiven.Client Project string ServiceName string TopicName string }
KafkaTopicAvailabilityWaiter is used to refresh the Aiven Kafka Topic endpoints when provisioning.
func (*KafkaTopicAvailabilityWaiter) Conf ¶ added in v1.2.1
func (w *KafkaTopicAvailabilityWaiter) Conf(timeout time.Duration) *resource.StateChangeConf
Conf sets up the configuration to refresh.
func (*KafkaTopicAvailabilityWaiter) RefreshFunc ¶ added in v1.2.1
func (w *KafkaTopicAvailabilityWaiter) RefreshFunc() resource.StateRefreshFunc
RefreshFunc will call the Aiven client and refresh it's state.
type KafkaTopicCreateWaiter ¶
type KafkaTopicCreateWaiter struct { Client *aiven.Client Project string ServiceName string CreateRequest aiven.CreateKafkaTopicRequest }
KafkaTopicCreateWaiter is used to create topics. Since topics are often created right after Kafka service is created there may be temporary issues that prevent creating the topics like all brokers not being online. This allows retrying the operation until failing it.
func (*KafkaTopicCreateWaiter) Conf ¶
func (w *KafkaTopicCreateWaiter) Conf(timeout time.Duration) *resource.StateChangeConf
Conf sets up the configuration to refresh.
func (*KafkaTopicCreateWaiter) RefreshFunc ¶
func (w *KafkaTopicCreateWaiter) RefreshFunc() resource.StateRefreshFunc
RefreshFunc will call the Aiven client and refresh it's state.
type ProjectVPCActiveWaiter ¶
ProjectVPCActiveWaiter is used to wait for VPC to enter active state. This check needs to be performed before creating a service that has a project VPC to ensure there has been sufficient time for other actions that update the state to have been completed
func (*ProjectVPCActiveWaiter) Conf ¶
func (w *ProjectVPCActiveWaiter) Conf(timeout time.Duration) *resource.StateChangeConf
Conf sets up the configuration to refresh.
func (*ProjectVPCActiveWaiter) RefreshFunc ¶
func (w *ProjectVPCActiveWaiter) RefreshFunc() resource.StateRefreshFunc
RefreshFunc will call the Aiven client and refresh it's state.
type ProjectVPCDeleteWaiter ¶ added in v1.2.2
ProjectVPCDeleteWaiter is used to wait for VPC been deleted.
func (*ProjectVPCDeleteWaiter) Conf ¶ added in v1.2.2
func (w *ProjectVPCDeleteWaiter) Conf(timeout time.Duration) *resource.StateChangeConf
Conf sets up the configuration to refresh.
func (*ProjectVPCDeleteWaiter) RefreshFunc ¶ added in v1.2.2
func (w *ProjectVPCDeleteWaiter) RefreshFunc() resource.StateRefreshFunc
RefreshFunc will call the Aiven client and refresh it's state.
type ServiceChangeWaiter ¶
type ServiceChangeWaiter struct { Client *aiven.Client Operation string Project string ServiceName string }
ServiceChangeWaiter is used to refresh the Aiven Service endpoints when provisioning.
func (*ServiceChangeWaiter) Conf ¶
func (w *ServiceChangeWaiter) Conf(timeout time.Duration) *resource.StateChangeConf
Conf sets up the configuration to refresh.
func (*ServiceChangeWaiter) RefreshFunc ¶
func (w *ServiceChangeWaiter) RefreshFunc() resource.StateRefreshFunc
RefreshFunc will call the Aiven client and refresh its state.
type VPCPeeringBuildWaiter ¶
type VPCPeeringBuildWaiter struct { Client *aiven.Client Project string VPCID string PeerCloudAccount string PeerVPC string PeerRegion *string }
VPCPeeringBuildWaiter is used to wait for Aiven to build a new VPC peering connection so that ID becomes available (when applicable)
func (*VPCPeeringBuildWaiter) Conf ¶
func (w *VPCPeeringBuildWaiter) Conf(timeout time.Duration) *resource.StateChangeConf
Conf sets up the configuration to refresh.
func (*VPCPeeringBuildWaiter) RefreshFunc ¶
func (w *VPCPeeringBuildWaiter) RefreshFunc() resource.StateRefreshFunc
RefreshFunc will call the Aiven client and refresh it's state.
Source Files ¶
- datasource_account.go
- datasource_account_authentication.go
- datasource_account_team.go
- datasource_account_team_member.go
- datasource_account_team_project.go
- datasource_connection_pool.go
- datasource_database.go
- datasource_elasticsearch_acl.go
- datasource_kafka_acl.go
- datasource_kafka_connector.go
- datasource_kafka_schema.go
- datasource_kafka_schema_configuration.go
- datasource_kafka_topic.go
- datasource_mirrormaker_replication_flow.go
- datasource_projcect_user.go
- datasource_project.go
- datasource_project_vpc.go
- datasource_service.go
- datasource_service_integration.go
- datasource_service_integration_endpoint.go
- datasource_service_user.go
- datasource_transit_gateway_vpc_attachement.go
- datasource_vpc_peering_connection.go
- kafka_topic_availability.go
- kafka_topic_create.go
- provider.go
- resource_account.go
- resource_account_authentication.go
- resource_account_team.go
- resource_account_team_member.go
- resource_account_team_project.go
- resource_connection_pool.go
- resource_database.go
- resource_elasticsearch_acl.go
- resource_kafka_acl.go
- resource_kafka_connector.go
- resource_kafka_schema.go
- resource_kafka_schema_configuration.go
- resource_kafka_topic.go
- resource_mirrormaker_replication_flow.go
- resource_project.go
- resource_project_user.go
- resource_project_vpc.go
- resource_service.go
- resource_service_integration.go
- resource_service_integration_endpoint.go
- resource_service_user.go
- resource_transit_gateway_vpc_attachement.go
- resource_vpc_peering_connection.go
- schema_converter.go
- service_change.go
- user_config.go