Documentation
¶
Overview ¶
Package mapper includes the types and methods for mapping provider, resource, and data source types (explorer package) from an OpenAPI specification into Provider Code Specification.
Index ¶
- func NewDataSourceRequestMapper(datasource explorer.DataSource, name string, cfg config.Config) datasourceRequestMapper
- func NewResourceRequestMapper(resource explorer.Resource, name string, cfg config.Config) resourceRequestMapper
- type CRUDParameters
- type DataSourceMapper
- type DetailDataSourceInfo
- type DetailResourceInfo
- type DetailedRequestType
- type NcloudCommonRequestType
- type NcloudRequestBody
- type ProviderMapper
- type ProviderWithEndpoint
- type RequestMapper
- type RequestParameterAttributes
- type RequestParameters
- type ResourceMapper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDataSourceRequestMapper ¶ added in v0.5.0
func NewDataSourceRequestMapper(datasource explorer.DataSource, name string, cfg config.Config) datasourceRequestMapper
Types ¶
type CRUDParameters ¶ added in v0.5.0
type CRUDParameters struct {
Create *NcloudCommonRequestType `json:"create,omitempty"`
Read *NcloudCommonRequestType `json:"read,omitempty"`
Update []*NcloudCommonRequestType `json:"update,omitempty"`
Delete *NcloudCommonRequestType `json:"delete,omitempty"`
}
type DataSourceMapper ¶
type DataSourceMapper interface {
MapToIR(*slog.Logger) ([]DetailDataSourceInfo, error)
}
func NewDataSourceMapper ¶
func NewDataSourceMapper(dataSources map[string]explorer.DataSource, cfg config.Config) DataSourceMapper
type DetailDataSourceInfo ¶ added in v0.5.0
type DetailDataSourceInfo struct {
datasource.DataSource
CRUDParameters CRUDParameters `json:"crud_parameters"`
RefreshObjectName string `json:"refresh_object_name"`
ImportStateOverride string `json:"import_state_override"`
Id string `json:"id"`
}
type DetailResourceInfo ¶ added in v0.5.0
type DetailedRequestType ¶ added in v0.5.0
type DetailedRequestType struct {
spec.RequestType
Parameters *RequestParameters `json:"parameters,omitempty"`
RequestBody *NcloudRequestBody `json:"request_body,omitempty"`
}
type NcloudCommonRequestType ¶ added in v0.5.0
type NcloudCommonRequestType struct {
DetailedRequestType
Method string `json:"method,omitempty"`
Path string `json:"path,omitempty"`
}
type NcloudRequestBody ¶ added in v0.5.0
type NcloudRequestBody struct {
spec.RequestBody
Required []*RequestParameterAttributes `json:"required,omitempty"`
Optional []*RequestParameterAttributes `json:"optional,omitempty"`
}
type ProviderMapper ¶
type ProviderMapper interface {
MapToIR(*slog.Logger) (*ProviderWithEndpoint, error)
}
func NewProviderMapper ¶
func NewProviderMapper(exploredProvider explorer.Provider, cfg config.Config) ProviderMapper
type ProviderWithEndpoint ¶ added in v0.5.0
type RequestMapper ¶
type RequestMapper interface {
MapToIR(*slog.Logger) (CRUDParameters, error)
}
type RequestParameterAttributes ¶ added in v0.5.0
type RequestParameters ¶ added in v0.5.0
type RequestParameters struct {
Required []*RequestParameterAttributes `json:"required,omitempty"`
Optional []*RequestParameterAttributes `json:"optional,omitempty"`
}
type ResourceMapper ¶
type ResourceMapper interface {
MapToIR(*slog.Logger) ([]DetailResourceInfo, error)
}
func NewResourceMapper ¶
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package attrmapper contains types and methods that provide an intermediate step between the OpenAPI schema types (libopenapi) and the Provider Code Specification types (terraform-plugin-codegen-spec).
|
Package attrmapper contains types and methods that provide an intermediate step between the OpenAPI schema types (libopenapi) and the Provider Code Specification types (terraform-plugin-codegen-spec). |
|
Package frameworkvalidators contains functionality for mapping validations onto specification that uses terraform-plugin-framework-validators.
|
Package frameworkvalidators contains functionality for mapping validations onto specification that uses terraform-plugin-framework-validators. |
|
Package oas contains the logic that determines how to map OpenAPI schemas to the intermediate attrmapper types.
|
Package oas contains the logic that determines how to map OpenAPI schemas to the intermediate attrmapper types. |
Click to show internal directories.
Click to hide internal directories.