/
provider.go
42 lines (36 loc) · 1.18 KB
/
provider.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Package cloudwrapper contains implementation for Akamai Terraform sub-provider responsible for cloud wrapper
package cloudwrapper
import (
"github.com/akamai/terraform-provider-akamai/v5/pkg/subprovider"
"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/resource"
)
type (
// Subprovider gathers cloud wrapper resources and data sources written using terraform-plugin-framework
Subprovider struct{}
)
var (
_ subprovider.Framework = &Subprovider{}
)
// NewSubprovider returns a core Framework based sub provider
func NewSubprovider() *Subprovider {
return &Subprovider{}
}
// Resources returns terraform resources for cloudwrapper
func (p *Subprovider) Resources() []func() resource.Resource {
return []func() resource.Resource{
NewActivationResource,
NewConfigurationResource,
}
}
// DataSources returns terraform data sources for cloudwrapper
func (p *Subprovider) DataSources() []func() datasource.DataSource {
return []func() datasource.DataSource{
NewCapacitiesDataSource,
NewConfigurationDataSource,
NewConfigurationsDataSource,
NewLocationDataSource,
NewLocationsDataSource,
NewPropertiesDataSource,
}
}