models/project.go (43 lines of code) (raw):
package models
import (
"github.com/hashicorp/terraform-plugin-framework/types"
)
type ProjectsJson struct {
Project []ProjectJson `json:"project,omitempty"`
}
type ProjectJson struct {
Name string `json:"name"`
Id *string `json:"id,omitempty"`
ParentProject *ProjectJson `json:"parentProject,omitempty"`
ProjectFeatures *ProjectFeaturesJson `json:"projectFeatures,omitempty"`
}
type ProjectResourceModel struct {
Name types.String `tfsdk:"name"`
Id types.String `tfsdk:"id"`
ParentProjectId types.String `tfsdk:"parent_project_id"`
}
type ProjectFeaturesJson struct {
ProjectFeature []ProjectFeatureJson `json:"projectFeature,omitempty"`
}
type ProjectFeatureJson struct {
Id *string `json:"id,omitempty"`
Type string `json:"type"`
Properties Properties `json:"properties"`
}
type VersionedSettingsJson struct {
SynchronizationMode string `json:"synchronizationMode"`
VcsRootId *string `json:"vcsRootId"`
Format *string `json:"format"`
AllowUIEditing *bool `json:"allowUIEditing"`
StoreSecureValuesOutsideVcs *bool `json:"storeSecureValuesOutsideVcs"`
BuildSettingsMode *string `json:"buildSettingsMode"`
ShowSettingsChanges *bool `json:"showSettingsChanges"`
ImportDecision *string `json:"importDecision"`
}
type VersionedSettingsModel struct {
ProjectId types.String `tfsdk:"project_id"`
VcsRoot types.String `tfsdk:"vcsroot_id"`
AllowUIEditing types.Bool `tfsdk:"allow_ui_editing"`
Settings types.String `tfsdk:"settings"`
ShowChanges types.Bool `tfsdk:"show_changes"`
}