Documentation ¶
Index ¶
- Constants
- func APIProvider() (*schema.Provider, error)
- type PluginConfigSchema
- type PluginConfigSchemaV1
- func (p *PluginConfigSchemaV1) GetAllServiceConfigurations() (ServiceConfigurations, error)
- func (p *PluginConfigSchemaV1) GetServiceConfig(providerName string) (ServiceConfiguration, error)
- func (p *PluginConfigSchemaV1) GetVersion() (string, error)
- func (p *PluginConfigSchemaV1) Marshal() ([]byte, error)
- func (p *PluginConfigSchemaV1) Validate() error
- type PluginConfiguration
- type ServiceConfigV1
- type ServiceConfiguration
- type ServiceConfigurations
Constants ¶
const OpenAPIPluginConfigurationFileName = "terraform-provider-openapi.yaml"
OpenAPIPluginConfigurationFileName defines the file name used for the OpenAPI plugin configuration
Variables ¶
This section is empty.
Functions ¶
func APIProvider ¶
APIProvider returns a terraform.ResourceProvider.
Types ¶
type PluginConfigSchema ¶ added in v0.1.1
type PluginConfigSchema interface { // Validate performs a check to confirm that the schema content is correct Validate() error // GetServiceConfig returns the service configuration for a given provider name GetServiceConfig(providerName string) (ServiceConfiguration, error) // GetAllServiceConfigurations returns all the service configuration GetAllServiceConfigurations() (ServiceConfigurations, error) // GetVersion returns the plugin configuration version GetVersion() (string, error) // Marshal serializes the value provided into a YAML document Marshal() ([]byte, error) }
PluginConfigSchema defines the interface/expected behaviour for PluginConfigSchema implementations.
type PluginConfigSchemaV1 ¶ added in v0.1.1
type PluginConfigSchemaV1 struct { Version string `yaml:"version"` Services map[string]*ServiceConfigV1 `yaml:"services"` }
PluginConfigSchemaV1 defines PluginConfigSchema version 1 Configuration example: version: '1' services:
monitor: swagger-url: http://monitor-api.com/swagger.json insecure_skip_verify: true cdn: swagger-url: https://cdn-api.com/swagger.json vm: swagger-url: http://vm-api.com/swagger.json
func NewPluginConfigSchemaV1 ¶ added in v0.1.1
func NewPluginConfigSchemaV1(services map[string]*ServiceConfigV1) *PluginConfigSchemaV1
NewPluginConfigSchemaV1 creates a new PluginConfigSchemaV1 that implements PluginConfigSchema interface
func (*PluginConfigSchemaV1) GetAllServiceConfigurations ¶ added in v0.1.2
func (p *PluginConfigSchemaV1) GetAllServiceConfigurations() (ServiceConfigurations, error)
GetAllServiceConfigurations returns all the service configuration
func (*PluginConfigSchemaV1) GetServiceConfig ¶ added in v0.1.1
func (p *PluginConfigSchemaV1) GetServiceConfig(providerName string) (ServiceConfiguration, error)
GetServiceConfig returns the configuration for the given provider name
func (*PluginConfigSchemaV1) GetVersion ¶ added in v0.1.2
func (p *PluginConfigSchemaV1) GetVersion() (string, error)
GetVersion returns the plugin configuration version
func (*PluginConfigSchemaV1) Marshal ¶ added in v0.1.2
func (p *PluginConfigSchemaV1) Marshal() ([]byte, error)
Marshal serializes the value provided into a YAML document
func (*PluginConfigSchemaV1) Validate ¶ added in v0.1.1
func (p *PluginConfigSchemaV1) Validate() error
Validate makes sure that schema data is correct
type PluginConfiguration ¶ added in v0.1.1
type PluginConfiguration struct { // ProviderName defines the <provider_name> (should match the provider name of the terraform provider binary; terraform-provider-<provider_name>) ProviderName string // Configuration defines the reader that contains the plugin's external configuration (located at ~/.terraform.d/plugins) // If the plugin configuration file is not present the OTF_VAR_<provider_name>_SWAGGER_URL environment variable will // be required when invoking the openapi provider. // If at runtime both the OTF_VAR_<provider_name>_SWAGGER_URL as well as the plugin configuration file are present // the former takes preference. This allows the user to override the url specified in the configuration file with // the value provided in the OTF_VAR_<provider_name>_SWAGGER_URL Configuration io.Reader }
PluginConfiguration defines the OpenAPI plugin's configuration
func NewPluginConfiguration ¶ added in v0.1.1
func NewPluginConfiguration(providerName string) (*PluginConfiguration, error)
NewPluginConfiguration creates a new PluginConfiguration
type ServiceConfigV1 ¶ added in v0.1.1
type ServiceConfigV1 struct { // SwaggerURL defines where the swagger is located SwaggerURL string `yaml:"swagger-url"` // InsecureSkipVerify defines whether the internal http client used to fetch the swagger file should verify the server cert // or not. This should only be used purposefully if the server is using a self-signed cert and only if the server is trusted InsecureSkipVerify bool `yaml:"insecure_skip_verify"` }
ServiceConfigV1 defines configuration for the service provider
func NewServiceConfigV1 ¶ added in v0.1.2
func NewServiceConfigV1(swaggerURL string, insecureSkipVerifyEnabled bool) *ServiceConfigV1
NewServiceConfigV1 creates a new instance of NewServiceConfigV1 struct with the values provided
func NewServiceConfigV1WithDefaults ¶ added in v0.1.2
func NewServiceConfigV1WithDefaults(swaggerURL string) *ServiceConfigV1
NewServiceConfigV1WithDefaults creates a new ServiceConfigV1 with the swaggerURL passed in and default configuration for the rest of the struct fields
func (*ServiceConfigV1) GetSwaggerURL ¶ added in v0.1.1
func (s *ServiceConfigV1) GetSwaggerURL() string
GetSwaggerURL returns the URL where the service swagger doc is exposed
func (*ServiceConfigV1) IsInsecureSkipVerifyEnabled ¶ added in v0.1.1
func (s *ServiceConfigV1) IsInsecureSkipVerifyEnabled() bool
IsInsecureSkipVerifyEnabled returns true if the given provider's service configuration has InsecureSkipVerify enabled; false otherwise
type ServiceConfiguration ¶ added in v0.1.1
type ServiceConfiguration interface { // GetSwaggerURL returns the URL where the service swagger doc is exposed GetSwaggerURL() string // IsInsecureSkipVerifyEnabled returns true if the given provider's service configuration has InsecureSkipVerify enabled; false // otherwise IsInsecureSkipVerifyEnabled() bool }
ServiceConfiguration defines the interface/expected behaviour for ServiceConfiguration implementations.
type ServiceConfigurations ¶ added in v0.1.2
type ServiceConfigurations map[string]ServiceConfiguration
ServiceConfigurations contains the map with all service configurations