Skip to content

Commit

Permalink
chore: terraform
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark-Kulube committed Sep 7, 2023
1 parent 8ad7577 commit 4158b02
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 213 deletions.
115 changes: 18 additions & 97 deletions projectv1/project_v1.go
Original file line number Diff line number Diff line change
Expand Up @@ -1588,7 +1588,7 @@ type CreateProjectOptions struct {

// The project configurations. If configurations are not included, the project resource is persisted without this
// property.
Configs []ProjectConfig `json:"configs,omitempty"`
Configs []ProjectConfigPrototypeDefinitionGraphFragment `json:"configs,omitempty"`

// Allows users to set headers on API requests
Headers map[string]string
Expand Down Expand Up @@ -1621,7 +1621,7 @@ func (_options *CreateProjectOptions) SetDefinition(definition *ProjectPrototype
}

// SetConfigs : Allow user to set Configs
func (_options *CreateProjectOptions) SetConfigs(configs []ProjectConfig) *CreateProjectOptions {
func (_options *CreateProjectOptions) SetConfigs(configs []ProjectConfigPrototypeDefinitionGraphFragment) *CreateProjectOptions {
_options.Configs = configs
return _options
}
Expand Down Expand Up @@ -2662,23 +2662,6 @@ func UnmarshalProjectComplianceProfile(m map[string]json.RawMessage, result inte
return
}

// ProjectConfig : The input of a project configuration.
type ProjectConfig struct {
// The Schematics template property.
Definition *ProjectConfigDefinitionProp `json:"definition,omitempty"`
}

// UnmarshalProjectConfig unmarshals an instance of ProjectConfig from the specified map of raw messages.
func UnmarshalProjectConfig(m map[string]json.RawMessage, result interface{}) (err error) {
obj := new(ProjectConfig)
err = core.UnmarshalModel(m, "definition", &obj.Definition, UnmarshalProjectConfigDefinitionProp)
if err != nil {
return
}
reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj))
return
}

// ProjectConfigAuth : The authorization for a configuration. You can authorize by using a trusted profile or an API key in Secrets Manager.
type ProjectConfigAuth struct {
// The trusted profile for authorizations.
Expand Down Expand Up @@ -3267,84 +3250,6 @@ func UnmarshalProjectConfigDefinition(m map[string]json.RawMessage, result inter
return
}

// ProjectConfigDefinitionProp : The Schematics template property.
type ProjectConfigDefinitionProp struct {
// The name of the configuration.
Name *string `json:"name" validate:"required"`

// The description of the project configuration.
Description *string `json:"description,omitempty"`

// A collection of configuration labels.
Labels []string `json:"labels,omitempty"`

// The authorization for a configuration.
// You can authorize by using a trusted profile or an API key in Secrets Manager.
Authorizations *ProjectConfigAuth `json:"authorizations,omitempty"`

// The profile required for compliance.
ComplianceProfile *ProjectComplianceProfile `json:"compliance_profile,omitempty"`

// A dotted value of catalogID.versionID.
LocatorID *string `json:"locator_id" validate:"required"`

// The input variables for the configuration definition.
Input *InputVariable `json:"input,omitempty"`

// Schematics environment variables to use to deploy the configuration.
// Settings are only available if they were specified when the configuration was initially created.
Setting *ProjectConfigSetting `json:"setting,omitempty"`
}

// NewProjectConfigDefinitionProp : Instantiate ProjectConfigDefinitionProp (Generic Model Constructor)
func (*ProjectV1) NewProjectConfigDefinitionProp(name string, locatorID string) (_model *ProjectConfigDefinitionProp, err error) {
_model = &ProjectConfigDefinitionProp{
Name: core.StringPtr(name),
LocatorID: core.StringPtr(locatorID),
}
err = core.ValidateStruct(_model, "required parameters")
return
}

// UnmarshalProjectConfigDefinitionProp unmarshals an instance of ProjectConfigDefinitionProp from the specified map of raw messages.
func UnmarshalProjectConfigDefinitionProp(m map[string]json.RawMessage, result interface{}) (err error) {
obj := new(ProjectConfigDefinitionProp)
err = core.UnmarshalPrimitive(m, "name", &obj.Name)
if err != nil {
return
}
err = core.UnmarshalPrimitive(m, "description", &obj.Description)
if err != nil {
return
}
err = core.UnmarshalPrimitive(m, "labels", &obj.Labels)
if err != nil {
return
}
err = core.UnmarshalModel(m, "authorizations", &obj.Authorizations, UnmarshalProjectConfigAuth)
if err != nil {
return
}
err = core.UnmarshalModel(m, "compliance_profile", &obj.ComplianceProfile, UnmarshalProjectComplianceProfile)
if err != nil {
return
}
err = core.UnmarshalPrimitive(m, "locator_id", &obj.LocatorID)
if err != nil {
return
}
err = core.UnmarshalModel(m, "input", &obj.Input, UnmarshalInputVariable)
if err != nil {
return
}
err = core.UnmarshalModel(m, "setting", &obj.Setting, UnmarshalProjectConfigSetting)
if err != nil {
return
}
reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj))
return
}

// ProjectConfigDefinitionSummary : The project configuration definition summary.
type ProjectConfigDefinitionSummary struct {
// The name of the configuration.
Expand Down Expand Up @@ -3552,6 +3457,22 @@ func UnmarshalProjectConfigMetadataLastApproved(m map[string]json.RawMessage, re
return
}

// ProjectConfigPrototypeDefinitionGraphFragment : The input of a project configuration.
type ProjectConfigPrototypeDefinitionGraphFragment struct {
Definition *ProjectConfigPrototypeDefinitionGraphFragmentDefinition `json:"definition,omitempty"`
}

// UnmarshalProjectConfigPrototypeDefinitionGraphFragment unmarshals an instance of ProjectConfigPrototypeDefinitionGraphFragment from the specified map of raw messages.
func UnmarshalProjectConfigPrototypeDefinitionGraphFragment(m map[string]json.RawMessage, result interface{}) (err error) {
obj := new(ProjectConfigPrototypeDefinitionGraphFragment)
err = core.UnmarshalModel(m, "definition", &obj.Definition, UnmarshalProjectConfigPrototypeDefinitionGraphFragmentDefinition)
if err != nil {
return
}
reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj))
return
}

// ProjectConfigPrototypeDefinitionGraphFragmentDefinition : ProjectConfigPrototypeDefinitionGraphFragmentDefinition struct
type ProjectConfigPrototypeDefinitionGraphFragmentDefinition struct {
// The configuration name.
Expand Down
4 changes: 2 additions & 2 deletions projectv1/project_v1_examples_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,14 +110,14 @@ var _ = Describe(`ProjectV1 Examples Tests`, func() {
fmt.Println("\nCreateProject() result:")
// begin-create_project

projectConfigModel := &projectv1.ProjectConfig{
projectConfigPrototypeDefinitionGraphFragmentModel := &projectv1.ProjectConfigPrototypeDefinitionGraphFragment{
}

createProjectOptions := projectService.NewCreateProjectOptions(
"Default",
"us-south",
)
createProjectOptions.SetConfigs([]projectv1.ProjectConfig{*projectConfigModel})
createProjectOptions.SetConfigs([]projectv1.ProjectConfigPrototypeDefinitionGraphFragment{*projectConfigPrototypeDefinitionGraphFragmentModel})

project, response, err := projectService.CreateProject(createProjectOptions)
if err != nil {
Expand Down
10 changes: 5 additions & 5 deletions projectv1/project_v1_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,26 +133,26 @@ var _ = Describe(`ProjectV1 Integration Tests`, func() {
}
projectConfigSettingModel.SetProperty("foo", core.StringPtr("testString"))

projectConfigDefinitionPropModel := &projectv1.ProjectConfigDefinitionProp{
projectConfigPrototypeDefinitionGraphFragmentDefinitionModel := &projectv1.ProjectConfigPrototypeDefinitionGraphFragmentDefinition{
Name: core.StringPtr("testString"),
Labels: []string{"testString"},
Description: core.StringPtr("testString"),
Labels: []string{},
Authorizations: projectConfigAuthModel,
ComplianceProfile: projectComplianceProfileModel,
LocatorID: core.StringPtr("testString"),
Input: inputVariableModel,
Setting: projectConfigSettingModel,
}

projectConfigModel := &projectv1.ProjectConfig{
Definition: projectConfigDefinitionPropModel,
projectConfigPrototypeDefinitionGraphFragmentModel := &projectv1.ProjectConfigPrototypeDefinitionGraphFragment{
Definition: projectConfigPrototypeDefinitionGraphFragmentDefinitionModel,
}

createProjectOptions := &projectv1.CreateProjectOptions{
ResourceGroup: core.StringPtr("Default"),
Location: core.StringPtr("us-south"),
Definition: projectPrototypeDefinitionPropModel,
Configs: []projectv1.ProjectConfig{*projectConfigModel},
Configs: []projectv1.ProjectConfigPrototypeDefinitionGraphFragment{*projectConfigPrototypeDefinitionGraphFragmentModel},
}

project, response, err := projectService.CreateProject(createProjectOptions)
Expand Down
Loading

0 comments on commit 4158b02

Please sign in to comment.