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"` }