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.