Documentation ¶
Index ¶
- func New(version string) func() provider.Provider
- func NewLoadBalancerResource() resource.Resource
- func NewProjectDataSource() datasource.DataSource
- func NewProjectResource() resource.Resource
- func NewServiceResource(template *ServiceTemplate) resource.Resource
- func NewServiceResources() []func() resource.Resource
- func UpdateTerraformDataWithElestioProject(data *ProjectResourceModel, project *elestio.Project)
- type AdminModel
- type ConfigModel
- type DatabaseAdminModel
- type ElestioProvider
- func (p *ElestioProvider) Configure(ctx context.Context, req provider.ConfigureRequest, ...)
- func (p *ElestioProvider) DataSources(ctx context.Context) []func() datasource.DataSource
- func (p *ElestioProvider) Metadata(ctx context.Context, req provider.MetadataRequest, ...)
- func (p *ElestioProvider) Resources(ctx context.Context) []func() resource.Resource
- func (p *ElestioProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse)
- type ElestioProviderModel
- type ForwardRuleModel
- type LoadBalancerResource
- func (r *LoadBalancerResource) Configure(ctx context.Context, req resource.ConfigureRequest, ...)
- func (r *LoadBalancerResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *LoadBalancerResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *LoadBalancerResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *LoadBalancerResource) Metadata(ctx context.Context, req resource.MetadataRequest, ...)
- func (r *LoadBalancerResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *LoadBalancerResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *LoadBalancerResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type LoadBalancerResourceModel
- type OutputHeaderModel
- type ProjectDataSource
- func (d *ProjectDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, ...)
- func (d *ProjectDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, ...)
- func (d *ProjectDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse)
- func (d *ProjectDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, ...)
- type ProjectDataSourceModel
- type ProjectResource
- func (r *ProjectResource) Configure(ctx context.Context, req resource.ConfigureRequest, ...)
- func (r *ProjectResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *ProjectResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *ProjectResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *ProjectResource) Metadata(ctx context.Context, req resource.MetadataRequest, ...)
- func (r *ProjectResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *ProjectResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *ProjectResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type ProjectResourceModel
- type SSHKeyModel
- type SSHPublicKeyModel
- type ServiceResource
- func (r *ServiceResource) Configure(ctx context.Context, req resource.ConfigureRequest, ...)
- func (r *ServiceResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *ServiceResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *ServiceResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *ServiceResource) Metadata(ctx context.Context, req resource.MetadataRequest, ...)
- func (r *ServiceResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, ...)
- func (r *ServiceResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *ServiceResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *ServiceResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- func (r *ServiceResource) ValidateConfig(ctx context.Context, req resource.ValidateConfigRequest, ...)
- type ServiceResourceModel
- type ServiceTemplate
- type TemplatesList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLoadBalancerResource ¶ added in v0.9.0
func NewProjectDataSource ¶
func NewProjectDataSource() datasource.DataSource
func NewProjectResource ¶
func NewServiceResource ¶
func NewServiceResource(template *ServiceTemplate) resource.Resource
func NewServiceResources ¶ added in v0.2.0
func UpdateTerraformDataWithElestioProject ¶
func UpdateTerraformDataWithElestioProject(data *ProjectResourceModel, project *elestio.Project)
Types ¶
type AdminModel ¶ added in v0.10.0
type ConfigModel ¶ added in v0.9.0
type ConfigModel struct { HostHeader types.String `tfsdk:"host_header"` AccessLogsEnabled types.Bool `tfsdk:"access_logs_enabled"` ForceHTTPSEnabled types.Bool `tfsdk:"force_https_enabled"` IPRateLimitPerSecond types.Int64 `tfsdk:"ip_rate_limit_per_second"` IPRateLimitEnabled types.Bool `tfsdk:"ip_rate_limit_enabled"` OutputCacheInSeconds types.Int64 `tfsdk:"output_cache_in_seconds"` StickySessionEnabled types.Bool `tfsdk:"sticky_session_enabled"` ProxyProtocolEnabled types.Bool `tfsdk:"proxy_protocol_enabled"` SSLDomains types.Set `tfsdk:"ssl_domains"` ForwardRules []ForwardRuleModel `tfsdk:"forward_rules"` OutputHeaders []OutputHeaderModel `tfsdk:"output_headers"` TargetServices types.Set `tfsdk:"target_services"` RemoveResponseHeaders types.Set `tfsdk:"remove_response_headers"` }
type DatabaseAdminModel ¶ added in v0.10.0
type ElestioProvider ¶
type ElestioProvider struct {
// contains filtered or unexported fields
}
func (*ElestioProvider) Configure ¶
func (p *ElestioProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse)
func (*ElestioProvider) DataSources ¶
func (p *ElestioProvider) DataSources(ctx context.Context) []func() datasource.DataSource
func (*ElestioProvider) Metadata ¶
func (p *ElestioProvider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse)
func (*ElestioProvider) Resources ¶
func (p *ElestioProvider) Resources(ctx context.Context) []func() resource.Resource
func (*ElestioProvider) Schema ¶
func (p *ElestioProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse)
type ElestioProviderModel ¶
type ForwardRuleModel ¶ added in v0.9.0
type LoadBalancerResource ¶ added in v0.9.0
type LoadBalancerResource struct {
// contains filtered or unexported fields
}
func (*LoadBalancerResource) Configure ¶ added in v0.9.0
func (r *LoadBalancerResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
func (*LoadBalancerResource) Create ¶ added in v0.9.0
func (r *LoadBalancerResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
func (*LoadBalancerResource) Delete ¶ added in v0.9.0
func (r *LoadBalancerResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
func (*LoadBalancerResource) ImportState ¶ added in v0.9.0
func (r *LoadBalancerResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
func (*LoadBalancerResource) Metadata ¶ added in v0.9.0
func (r *LoadBalancerResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
func (*LoadBalancerResource) Read ¶ added in v0.9.0
func (r *LoadBalancerResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
func (*LoadBalancerResource) Schema ¶ added in v0.9.0
func (r *LoadBalancerResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
func (*LoadBalancerResource) Update ¶ added in v0.9.0
func (r *LoadBalancerResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
type LoadBalancerResourceModel ¶ added in v0.9.0
type LoadBalancerResourceModel struct { Id types.String `tfsdk:"id"` ProjectId types.String `tfsdk:"project_id"` ProviderName types.String `tfsdk:"provider_name"` Datacenter types.String `tfsdk:"datacenter"` ServerType types.String `tfsdk:"server_type"` Config ConfigModel `tfsdk:"config"` CreatedAt types.String `tfsdk:"created_at"` CreatedBy types.String `tfsdk:"created_by"` DeploymentStatus types.String `tfsdk:"deployment_status"` IPV4 types.String `tfsdk:"ipv4"` IPV6 types.String `tfsdk:"ipv6"` CNAME types.String `tfsdk:"cname"` Country types.String `tfsdk:"country"` City types.String `tfsdk:"city"` GlobalIP types.String `tfsdk:"global_ip"` Cores types.Int64 `tfsdk:"cores"` RAMSizeGB types.String `tfsdk:"ram_size_gb"` StorageSizeGB types.Int64 `tfsdk:"storage_size_gb"` PricePerHour types.String `tfsdk:"price_per_hour"` }
type OutputHeaderModel ¶ added in v0.9.0
type ProjectDataSource ¶
type ProjectDataSource struct {
// contains filtered or unexported fields
}
func (*ProjectDataSource) Configure ¶
func (d *ProjectDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse)
func (*ProjectDataSource) Metadata ¶
func (d *ProjectDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse)
func (*ProjectDataSource) Read ¶
func (d *ProjectDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse)
func (*ProjectDataSource) Schema ¶
func (d *ProjectDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse)
type ProjectDataSourceModel ¶
type ProjectDataSourceModel struct { Id types.String `tfsdk:"id"` Name types.String `tfsdk:"name"` Description types.String `tfsdk:"description"` TechnicalEmails types.String `tfsdk:"technical_emails"` // deprecated TechnicalEmail types.String `tfsdk:"technical_email"` NetworkCIDR types.String `tfsdk:"network_cidr"` CreationDate types.String `tfsdk:"creation_date"` }
type ProjectResource ¶
type ProjectResource struct {
// contains filtered or unexported fields
}
func (*ProjectResource) Configure ¶
func (r *ProjectResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
func (*ProjectResource) Create ¶
func (r *ProjectResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
func (*ProjectResource) Delete ¶
func (r *ProjectResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
func (*ProjectResource) ImportState ¶
func (r *ProjectResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
func (*ProjectResource) Metadata ¶
func (r *ProjectResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
func (*ProjectResource) Read ¶
func (r *ProjectResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
func (*ProjectResource) Schema ¶
func (r *ProjectResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
func (*ProjectResource) Update ¶
func (r *ProjectResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
type ProjectResourceModel ¶
type ProjectResourceModel struct { Id types.String `tfsdk:"id"` Name types.String `tfsdk:"name"` Description types.String `tfsdk:"description"` TechnicalEmails types.String `tfsdk:"technical_emails"` // deprecated TechnicalEmail types.String `tfsdk:"technical_email"` NetworkCIDR types.String `tfsdk:"network_cidr"` CreationDate types.String `tfsdk:"creation_date"` LastUpdated types.String `tfsdk:"last_updated"` }
type SSHKeyModel ¶ added in v0.10.0
type SSHPublicKeyModel ¶ added in v0.11.0
type ServiceResource ¶
type ServiceResource struct { *ServiceTemplate // contains filtered or unexported fields }
func (*ServiceResource) Configure ¶
func (r *ServiceResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
func (*ServiceResource) Create ¶
func (r *ServiceResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
func (*ServiceResource) Delete ¶
func (r *ServiceResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
func (*ServiceResource) ImportState ¶
func (r *ServiceResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
func (*ServiceResource) Metadata ¶
func (r *ServiceResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
func (*ServiceResource) ModifyPlan ¶ added in v0.18.0
func (r *ServiceResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, resp *resource.ModifyPlanResponse)
func (*ServiceResource) Read ¶
func (r *ServiceResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
func (*ServiceResource) Schema ¶
func (r *ServiceResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
func (*ServiceResource) Update ¶
func (r *ServiceResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
func (*ServiceResource) ValidateConfig ¶
func (r *ServiceResource) ValidateConfig(ctx context.Context, req resource.ValidateConfigRequest, resp *resource.ValidateConfigResponse)
ValidateConfig without provider configuration ("offline"), so therefore the resource Configure method will not have been called. To implement validation with a configured API client, use ModifyPlan instead, which occurs during Terraform's planning phase.
type ServiceResourceModel ¶
type ServiceResourceModel struct { Id types.String `tfsdk:"id"` ElestioId types.Int64 `tfsdk:"elestio_id"` ProjectID types.String `tfsdk:"project_id"` ServerName types.String `tfsdk:"server_name"` ServerType types.String `tfsdk:"server_type"` TemplateId types.Int64 `tfsdk:"template_id"` Version types.String `tfsdk:"version"` ProviderName types.String `tfsdk:"provider_name"` Datacenter types.String `tfsdk:"datacenter"` SupportLevel types.String `tfsdk:"support_level"` AdminEmail types.String `tfsdk:"admin_email"` DefaultPassword types.String `tfsdk:"default_password"` Category types.String `tfsdk:"category"` Status types.String `tfsdk:"status"` DeploymentStatus types.String `tfsdk:"deployment_status"` DeploymentStartedAt types.String `tfsdk:"deployment_started_at"` DeploymentEndedAt types.String `tfsdk:"deployment_ended_at"` CreatorName types.String `tfsdk:"creator_name"` CreatedAt types.String `tfsdk:"created_at"` IPV4 types.String `tfsdk:"ipv4"` IPV6 types.String `tfsdk:"ipv6"` CNAME types.String `tfsdk:"cname"` CustomDomainNames types.Set `tfsdk:"custom_domain_names"` SSHKeys types.Set `tfsdk:"ssh_keys"` SSHPublicKeys types.Set `tfsdk:"ssh_public_keys"` Country types.String `tfsdk:"country"` City types.String `tfsdk:"city"` AdminUser types.String `tfsdk:"admin_user"` RootAppPath types.String `tfsdk:"root_app_path"` Env types.Map `tfsdk:"env"` Admin types.Object `tfsdk:"admin"` DatabaseAdmin types.Object `tfsdk:"database_admin"` GlobalIP types.String `tfsdk:"global_ip"` TrafficOutgoing types.Int64 `tfsdk:"traffic_outgoing"` TrafficIncoming types.Int64 `tfsdk:"traffic_incoming"` TrafficIncluded types.Int64 `tfsdk:"traffic_included"` Cores types.Int64 `tfsdk:"cores"` RAMSizeGB types.String `tfsdk:"ram_size_gb"` StorageSizeGB types.Int64 `tfsdk:"storage_size_gb"` PricePerHour types.String `tfsdk:"price_per_hour"` AppAutoUpdatesEnabled types.Bool `tfsdk:"app_auto_updates_enabled"` AppAutoUpdatesDayOfWeek types.Int64 `tfsdk:"app_auto_updates_day_of_week"` AppAutoUpdatesHour types.Int64 `tfsdk:"app_auto_updates_hour"` AppAutoUpdatesMinute types.Int64 `tfsdk:"app_auto_updates_minute"` SystemAutoUpdatesEnabled types.Bool `tfsdk:"system_auto_updates_enabled"` SystemAutoUpdatesSecurityPatchesOnlyEnabled types.Bool `tfsdk:"system_auto_updates_security_patches_only_enabled"` SystemAutoUpdatesRebootDayOfWeek types.Int64 `tfsdk:"system_auto_updates_reboot_day_of_week"` SystemAutoUpdatesRebootHour types.Int64 `tfsdk:"system_auto_updates_reboot_hour"` SystemAutoUpdatesRebootMinute types.Int64 `tfsdk:"system_auto_updates_reboot_minute"` BackupsEnabled types.Bool `tfsdk:"backups_enabled"` RemoteBackupsEnabled types.Bool `tfsdk:"remote_backups_enabled"` ExternalBackupsEnabled types.Bool `tfsdk:"external_backups_enabled"` ExternalBackupsUpdateDayOfWeek types.Int64 `tfsdk:"external_backups_update_day_of_week"` ExternalBackupsUpdateHour types.Int64 `tfsdk:"external_backups_update_hour"` ExternalBackupsUpdateMinute types.Int64 `tfsdk:"external_backups_update_minute"` ExternalBackupsUpdateType types.String `tfsdk:"external_backups_update_type"` ExternalBackupsRetainDayOfWeek types.Int64 `tfsdk:"external_backups_retain_day_of_week"` KeepBackupsOnDeleteEnabled types.Bool `tfsdk:"keep_backups_on_delete_enabled"` FirewallEnabled types.Bool `tfsdk:"firewall_enabled"` FirewallId types.String `tfsdk:"firewall_id"` FirewallPorts types.String `tfsdk:"firewall_ports"` AlertsEnabled types.Bool `tfsdk:"alerts_enabled"` LastUpdated types.String `tfsdk:"last_updated"` LocalField types.Dynamic `tfsdk:"local_field"` LocalFieldSensitive types.Dynamic `tfsdk:"local_field_sensitive"` }
type ServiceTemplate ¶
type TemplatesList ¶ added in v0.4.0
type TemplatesList struct { Templates []struct { ID int64 `json:"id"` Name string `json:"title"` Category string `json:"category"` Description string `json:"description"` Logo string `json:"mainImage"` DockerHubImage string `json:"dockerhub_image"` DockerHubDefaultTag string `json:"dockerhub_default_tag"` FirewallPorts string `json:"firewallPorts"` } `json:"templates"` }
Click to show internal directories.
Click to hide internal directories.