/
openapi_spec_header.go
31 lines (26 loc) · 1.03 KB
/
openapi_spec_header.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package openapi
import "github.com/dikhan/terraform-provider-openapi/openapi/terraformutils"
// SpecHeaderParameters groups a list of SpecHeaderParam
type SpecHeaderParameters []SpecHeaderParam
// SpecHeaderParam defines the properties for a Header Parameter
type SpecHeaderParam struct {
Name string
TerraformName string
IsRequired bool
}
// GetHeaderTerraformConfigurationName returns the terraform compliant name of the header. If the header TerraformName
// field is populated it takes preference over the name field.
func (h SpecHeaderParam) GetHeaderTerraformConfigurationName() string {
if h.TerraformName != "" {
return terraformutils.ConvertToTerraformCompliantName(h.TerraformName)
}
return terraformutils.ConvertToTerraformCompliantName(h.Name)
}
func (s SpecHeaderParameters) specHeaderExists(specHeader SpecHeaderParam) bool {
for _, registeredHeader := range s {
if registeredHeader.GetHeaderTerraformConfigurationName() == specHeader.GetHeaderTerraformConfigurationName() {
return true
}
}
return false
}