77 "context"
88 "encoding/json"
99 "fmt"
10+ "github.com/Kong/shared-speakeasy/customtypes/encodedstring"
1011 "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
1112 "github.com/hashicorp/terraform-plugin-framework/path"
1213 "github.com/hashicorp/terraform-plugin-framework/resource"
@@ -35,16 +36,16 @@ type APIProductDocumentResource struct {
3536
3637// APIProductDocumentResourceModel describes the resource data model.
3738type APIProductDocumentResourceModel struct {
38- APIProductID types.String `tfsdk:"api_product_id"`
39- Content types. String `tfsdk:"content"`
40- CreatedAt types.String `tfsdk:"created_at"`
41- ID types.String `tfsdk:"id"`
42- Metadata * tfTypes.Metadata `tfsdk:"metadata"`
43- ParentDocumentID types.String `tfsdk:"parent_document_id"`
44- Slug types.String `tfsdk:"slug"`
45- Status types.String `tfsdk:"status"`
46- Title types.String `tfsdk:"title"`
47- UpdatedAt types.String `tfsdk:"updated_at"`
39+ APIProductID types.String `tfsdk:"api_product_id"`
40+ Content encodedstring. Base64OrPlainInput `tfsdk:"content"`
41+ CreatedAt types.String `tfsdk:"created_at"`
42+ ID types.String `tfsdk:"id"`
43+ Metadata * tfTypes.Metadata `tfsdk:"metadata"`
44+ ParentDocumentID types.String `tfsdk:"parent_document_id"`
45+ Slug types.String `tfsdk:"slug"`
46+ Status types.String `tfsdk:"status"`
47+ Title types.String `tfsdk:"title"`
48+ UpdatedAt types.String `tfsdk:"updated_at"`
4849}
4950
5051func (r * APIProductDocumentResource ) Metadata (ctx context.Context , req resource.MetadataRequest , resp * resource.MetadataResponse ) {
@@ -60,6 +61,7 @@ func (r *APIProductDocumentResource) Schema(ctx context.Context, req resource.Sc
6061 Description : `The API product identifier` ,
6162 },
6263 "content" : schema.StringAttribute {
64+ CustomType : encodedstring.Base64OrPlainInputType {},
6365 Computed : true ,
6466 Optional : true ,
6567 Description : `Can be markdown string content or base64 encoded string` ,
0 commit comments