Skip to content

Commit

Permalink
Update Magic Modules
Browse files Browse the repository at this point in the history
  • Loading branch information
wata727 committed Nov 23, 2020
1 parent eccda25 commit 08aaf31
Show file tree
Hide file tree
Showing 7 changed files with 298 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Magic Modules and manual
// changes will be clobbered when the file is regenerated.
//
// Please read more about how to change this file in
// .github/CONTRIBUTING.md.
//
// ----------------------------------------------------------------------------

package magicmodules

import (
hcl "github.com/hashicorp/hcl/v2"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
)

// GoogleBigqueryRoutineInvalidDeterminismLevelRule checks the pattern is valid
type GoogleBigqueryRoutineInvalidDeterminismLevelRule struct {
resourceType string
attributeName string
}

// NewGoogleBigqueryRoutineInvalidDeterminismLevelRule returns new rule with default attributes
func NewGoogleBigqueryRoutineInvalidDeterminismLevelRule() *GoogleBigqueryRoutineInvalidDeterminismLevelRule {
return &GoogleBigqueryRoutineInvalidDeterminismLevelRule{
resourceType: "google_bigquery_routine",
attributeName: "determinism_level",
}
}

// Name returns the rule name
func (r *GoogleBigqueryRoutineInvalidDeterminismLevelRule) Name() string {
return "google_bigquery_routine_invalid_determinism_level"
}

// Enabled returns whether the rule is enabled by default
func (r *GoogleBigqueryRoutineInvalidDeterminismLevelRule) Enabled() bool {
return true
}

// Severity returns the rule severity
func (r *GoogleBigqueryRoutineInvalidDeterminismLevelRule) Severity() string {
return tflint.ERROR
}

// Link returns the rule reference link
func (r *GoogleBigqueryRoutineInvalidDeterminismLevelRule) Link() string {
return ""
}

// Check checks the pattern is valid
func (r *GoogleBigqueryRoutineInvalidDeterminismLevelRule) Check(runner tflint.Runner) error {
return runner.WalkResourceAttributes(r.resourceType, r.attributeName, func(attribute *hcl.Attribute) error {
var val string
err := runner.EvaluateExpr(attribute.Expr, &val)

validateFunc := validation.StringInSlice([]string{"DETERMINISM_LEVEL_UNSPECIFIED", "DETERMINISTIC", "NOT_DETERMINISTIC", ""}, false)

return runner.EnsureNoError(err, func() error {
_, errors := validateFunc(val, r.attributeName)
for _, err := range errors {
runner.EmitIssueOnExpr(r, err.Error(), attribute.Expr)
}
return nil
})
})
}
73 changes: 73 additions & 0 deletions rules/magicmodules/google_bigquery_routine_invalid_language.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Magic Modules and manual
// changes will be clobbered when the file is regenerated.
//
// Please read more about how to change this file in
// .github/CONTRIBUTING.md.
//
// ----------------------------------------------------------------------------

package magicmodules

import (
hcl "github.com/hashicorp/hcl/v2"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
)

// GoogleBigqueryRoutineInvalidLanguageRule checks the pattern is valid
type GoogleBigqueryRoutineInvalidLanguageRule struct {
resourceType string
attributeName string
}

// NewGoogleBigqueryRoutineInvalidLanguageRule returns new rule with default attributes
func NewGoogleBigqueryRoutineInvalidLanguageRule() *GoogleBigqueryRoutineInvalidLanguageRule {
return &GoogleBigqueryRoutineInvalidLanguageRule{
resourceType: "google_bigquery_routine",
attributeName: "language",
}
}

// Name returns the rule name
func (r *GoogleBigqueryRoutineInvalidLanguageRule) Name() string {
return "google_bigquery_routine_invalid_language"
}

// Enabled returns whether the rule is enabled by default
func (r *GoogleBigqueryRoutineInvalidLanguageRule) Enabled() bool {
return true
}

// Severity returns the rule severity
func (r *GoogleBigqueryRoutineInvalidLanguageRule) Severity() string {
return tflint.ERROR
}

// Link returns the rule reference link
func (r *GoogleBigqueryRoutineInvalidLanguageRule) Link() string {
return ""
}

// Check checks the pattern is valid
func (r *GoogleBigqueryRoutineInvalidLanguageRule) Check(runner tflint.Runner) error {
return runner.WalkResourceAttributes(r.resourceType, r.attributeName, func(attribute *hcl.Attribute) error {
var val string
err := runner.EvaluateExpr(attribute.Expr, &val)

validateFunc := validation.StringInSlice([]string{"SQL", "JAVASCRIPT", ""}, false)

return runner.EnsureNoError(err, func() error {
_, errors := validateFunc(val, r.attributeName)
for _, err := range errors {
runner.EmitIssueOnExpr(r, err.Error(), attribute.Expr)
}
return nil
})
})
}
73 changes: 73 additions & 0 deletions rules/magicmodules/google_bigquery_routine_invalid_routine_type.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Magic Modules and manual
// changes will be clobbered when the file is regenerated.
//
// Please read more about how to change this file in
// .github/CONTRIBUTING.md.
//
// ----------------------------------------------------------------------------

package magicmodules

import (
hcl "github.com/hashicorp/hcl/v2"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
)

// GoogleBigqueryRoutineInvalidRoutineTypeRule checks the pattern is valid
type GoogleBigqueryRoutineInvalidRoutineTypeRule struct {
resourceType string
attributeName string
}

// NewGoogleBigqueryRoutineInvalidRoutineTypeRule returns new rule with default attributes
func NewGoogleBigqueryRoutineInvalidRoutineTypeRule() *GoogleBigqueryRoutineInvalidRoutineTypeRule {
return &GoogleBigqueryRoutineInvalidRoutineTypeRule{
resourceType: "google_bigquery_routine",
attributeName: "routine_type",
}
}

// Name returns the rule name
func (r *GoogleBigqueryRoutineInvalidRoutineTypeRule) Name() string {
return "google_bigquery_routine_invalid_routine_type"
}

// Enabled returns whether the rule is enabled by default
func (r *GoogleBigqueryRoutineInvalidRoutineTypeRule) Enabled() bool {
return true
}

// Severity returns the rule severity
func (r *GoogleBigqueryRoutineInvalidRoutineTypeRule) Severity() string {
return tflint.ERROR
}

// Link returns the rule reference link
func (r *GoogleBigqueryRoutineInvalidRoutineTypeRule) Link() string {
return ""
}

// Check checks the pattern is valid
func (r *GoogleBigqueryRoutineInvalidRoutineTypeRule) Check(runner tflint.Runner) error {
return runner.WalkResourceAttributes(r.resourceType, r.attributeName, func(attribute *hcl.Attribute) error {
var val string
err := runner.EvaluateExpr(attribute.Expr, &val)

validateFunc := validation.StringInSlice([]string{"SCALAR_FUNCTION", "PROCEDURE", ""}, false)

return runner.EnsureNoError(err, func() error {
_, errors := validateFunc(val, r.attributeName)
for _, err := range errors {
runner.EmitIssueOnExpr(r, err.Error(), attribute.Expr)
}
return nil
})
})
}
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func (r *GoogleComputeRegionBackendServiceInvalidLoadBalancingSchemeRule) Check(
var val string
err := runner.EvaluateExpr(attribute.Expr, &val)

validateFunc := validation.StringInSlice([]string{"INTERNAL", "INTERNAL_MANAGED", ""}, false)
validateFunc := validation.StringInSlice([]string{"EXTERNAL", "INTERNAL", "INTERNAL_MANAGED", ""}, false)

return runner.EnsureNoError(err, func() error {
_, errors := validateFunc(val, r.attributeName)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Magic Modules and manual
// changes will be clobbered when the file is regenerated.
//
// Please read more about how to change this file in
// .github/CONTRIBUTING.md.
//
// ----------------------------------------------------------------------------

package magicmodules

import (
hcl "github.com/hashicorp/hcl/v2"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
)

// GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule checks the pattern is valid
type GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule struct {
resourceType string
attributeName string
}

// NewGoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule returns new rule with default attributes
func NewGoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule() *GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule {
return &GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule{
resourceType: "google_compute_region_network_endpoint_group",
attributeName: "network_endpoint_type",
}
}

// Name returns the rule name
func (r *GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule) Name() string {
return "google_compute_region_network_endpoint_group_invalid_network_endpoint_type"
}

// Enabled returns whether the rule is enabled by default
func (r *GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule) Enabled() bool {
return true
}

// Severity returns the rule severity
func (r *GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule) Severity() string {
return tflint.ERROR
}

// Link returns the rule reference link
func (r *GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule) Link() string {
return ""
}

// Check checks the pattern is valid
func (r *GoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule) Check(runner tflint.Runner) error {
return runner.WalkResourceAttributes(r.resourceType, r.attributeName, func(attribute *hcl.Attribute) error {
var val string
err := runner.EvaluateExpr(attribute.Expr, &val)

validateFunc := validation.StringInSlice([]string{"SERVERLESS", ""}, false)

return runner.EnsureNoError(err, func() error {
_, errors := validateFunc(val, r.attributeName)
for _, err := range errors {
runner.EmitIssueOnExpr(r, err.Error(), attribute.Expr)
}
return nil
})
})
}
4 changes: 4 additions & 0 deletions rules/magicmodules/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ var Rules = []tflint.Rule{
NewGoogleAppEngineDomainMappingInvalidOverrideStrategyRule(),
NewGoogleAppEngineFirewallRuleInvalidActionRule(),
NewGoogleAppEngineFlexibleAppVersionInvalidServingStatusRule(),
NewGoogleBigqueryRoutineInvalidDeterminismLevelRule(),
NewGoogleBigqueryRoutineInvalidLanguageRule(),
NewGoogleBigqueryRoutineInvalidRoutineTypeRule(),
NewGoogleBinaryAuthorizationPolicyInvalidGlobalPolicyEvaluationModeRule(),
NewGoogleCloudAssetFolderFeedInvalidContentTypeRule(),
NewGoogleCloudAssetOrganizationFeedInvalidContentTypeRule(),
Expand Down Expand Up @@ -63,6 +66,7 @@ var Rules = []tflint.Rule{
NewGoogleComputeRegionBackendServiceInvalidLocalityLbPolicyRule(),
NewGoogleComputeRegionBackendServiceInvalidProtocolRule(),
NewGoogleComputeRegionBackendServiceInvalidSessionAffinityRule(),
NewGoogleComputeRegionNetworkEndpointGroupInvalidNetworkEndpointTypeRule(),
NewGoogleComputeRouteInvalidNameRule(),
NewGoogleComputeRouterNatInvalidNatIpAllocateOptionRule(),
NewGoogleComputeRouterNatInvalidSourceSubnetworkIpRangesToNatRule(),
Expand Down
2 changes: 1 addition & 1 deletion tools/magic-modules
Submodule magic-modules updated 286 files

0 comments on commit 08aaf31

Please sign in to comment.