-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add job_gerrit_trigger_file_path to client * add gerrit_file_path to provider * add gerrit file path to importer * guard file path import from nil * fix import branch/filepath id to put project first * make sure import uses projectIndex first too * update provider to stop failing on delete for missing resources * fixed read error for gerrit branch * more read missing resource errors * add change_merged event for gerrit trigger
- Loading branch information
Showing
33 changed files
with
1,012 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package client | ||
|
||
type JobGerritTriggerFilePath struct { | ||
Id string `xml:"id,attr,omitempty"` | ||
CompareType CompareType `xml:"compareType"` | ||
Pattern string `xml:"pattern"` | ||
} | ||
|
||
func NewJobGerritTriggerFilePath() *JobGerritTriggerFilePath { | ||
return &JobGerritTriggerFilePath{} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package client | ||
|
||
type JobGerritTriggerFilePaths struct { | ||
Items *[]*JobGerritTriggerFilePath `xml:"com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.FilePath"` | ||
} | ||
|
||
func NewJobGerritTriggerFilePaths() *JobGerritTriggerFilePaths { | ||
return &JobGerritTriggerFilePaths{ | ||
Items: &[]*JobGerritTriggerFilePath{}, | ||
} | ||
} | ||
|
||
func (paths *JobGerritTriggerFilePaths) Append(path *JobGerritTriggerFilePath) *JobGerritTriggerFilePaths { | ||
newPaths := NewJobGerritTriggerFilePaths() | ||
if paths.Items != nil { | ||
*newPaths.Items = append(*paths.Items, path) | ||
} else { | ||
*newPaths.Items = []*JobGerritTriggerFilePath{path} | ||
} | ||
return newPaths | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package client | ||
|
||
import "encoding/xml" | ||
|
||
func init() { | ||
jobGerritTriggerOnEventsUnmarshalFunc["com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginChangeMergedEvent"] = unmarshalJobGerritTriggerPluginChangeMergedEvent | ||
} | ||
|
||
type JobGerritTriggerPluginChangeMergedEvent struct { | ||
XMLName xml.Name `xml:"com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginChangeMergedEvent"` | ||
Id string `xml:"id,attr,omitempty"` | ||
} | ||
|
||
func NewJobGerritTriggerPluginChangeMergedEvent() *JobGerritTriggerPluginChangeMergedEvent { | ||
return &JobGerritTriggerPluginChangeMergedEvent{} | ||
} | ||
|
||
func (event *JobGerritTriggerPluginChangeMergedEvent) GetId() string { | ||
return event.Id | ||
} | ||
|
||
func (e *JobGerritTriggerPluginChangeMergedEvent) SetId(id string) { | ||
e.Id = id | ||
} | ||
|
||
func unmarshalJobGerritTriggerPluginChangeMergedEvent(d *xml.Decoder, start xml.StartElement) (JobGerritTriggerOnEvent, error) { | ||
event := NewJobGerritTriggerPluginChangeMergedEvent() | ||
err := d.DecodeElement(event, &start) | ||
if err != nil { | ||
return nil, err | ||
} | ||
return event, nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
package main | ||
|
||
import ( | ||
"fmt" | ||
|
||
"github.com/google/uuid" | ||
"github.com/jgramoll/terraform-provider-jenkins/client" | ||
"github.com/jgramoll/terraform-provider-jenkins/provider" | ||
) | ||
|
||
func ensureJobGerritTriggerFilePaths(filePaths *client.JobGerritTriggerFilePaths) error { | ||
if filePaths == nil || filePaths.Items == nil { | ||
return nil | ||
} | ||
for _, item := range *filePaths.Items { | ||
if item.Id == "" { | ||
id, err := uuid.NewRandom() | ||
if err != nil { | ||
return err | ||
} | ||
item.Id = id.String() | ||
} | ||
} | ||
return nil | ||
} | ||
|
||
func jobGerritTriggerFilePathsCode(projectIndex int, filePaths *client.JobGerritTriggerFilePaths) string { | ||
code := "" | ||
if filePaths == nil || filePaths.Items == nil { | ||
return code | ||
} | ||
for i, item := range *filePaths.Items { | ||
code += fmt.Sprintf(` | ||
resource "jenkins_job_gerrit_file_path" "file_path_%v_%v" { | ||
project = "${jenkins_job_gerrit_project.project_%v.id}" | ||
compare_type = "%v" | ||
pattern = "%v" | ||
} | ||
`, projectIndex, i+1, projectIndex, item.CompareType, item.Pattern) | ||
} | ||
return code | ||
} | ||
|
||
func jobGerritTriggerFilePathsImportScript( | ||
projectIndex int, jobName string, propertyId string, triggerId string, | ||
projectId string, filePaths *client.JobGerritTriggerFilePaths, | ||
) string { | ||
code := "" | ||
if filePaths == nil || filePaths.Items == nil { | ||
return code | ||
} | ||
for i, item := range *filePaths.Items { | ||
id := provider.ResourceJobGerritFilePathId( | ||
jobName, propertyId, triggerId, projectId, item.Id) | ||
code += fmt.Sprintf(` | ||
terraform import jenkins_job_gerrit_file_path.file_path_%v_%v "%v" | ||
`, projectIndex, i+1, id) | ||
} | ||
return code | ||
} |
30 changes: 30 additions & 0 deletions
30
importer/resource_job_gerrit_trigger_plugin_change_merged_event.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package main | ||
|
||
import ( | ||
"fmt" | ||
|
||
"github.com/jgramoll/terraform-provider-jenkins/client" | ||
"github.com/jgramoll/terraform-provider-jenkins/provider" | ||
) | ||
|
||
func init() { | ||
jobGerritTriggerOnEventsCodeFuncs["*client.JobGerritTriggerPluginChangeMergedEvent"] = jobGerritTriggerPluginChangeMergedEventCode | ||
jobGerritTriggerOnEventsImportScriptFuncs["*client.JobGerritTriggerPluginChangeMergedEvent"] = jobGerritTriggerPluginChangeMergedEventImportScript | ||
} | ||
|
||
func jobGerritTriggerPluginChangeMergedEventCode(client.JobGerritTriggerOnEvent) string { | ||
return ` | ||
resource "jenkins_job_gerrit_trigger_change_merged_event" "main" { | ||
trigger = "${jenkins_job_gerrit_trigger.main.id}" | ||
} | ||
` | ||
} | ||
|
||
func jobGerritTriggerPluginChangeMergedEventImportScript( | ||
jobName string, propertyId string, triggerId string, | ||
e client.JobGerritTriggerOnEvent, | ||
) string { | ||
return fmt.Sprintf(` | ||
terraform import jenkins_job_gerrit_trigger_change_merged_event.main "%v" | ||
`, provider.ResourceJobGerritTriggerEventId(jobName, propertyId, triggerId, e.GetId())) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.