Skip to content

Commit 8682cd8

Browse files
authored
Update Magic Modules (#209)
1 parent f98e93d commit 8682cd8

File tree

6 files changed

+29
-110
lines changed

6 files changed

+29
-110
lines changed

rules/magicmodules/google_certificate_manager_certificate_invalid_scope.go renamed to rules/magicmodules/google_apigee_organization_invalid_retention.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,44 +20,44 @@ import (
2020
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
2121
)
2222

23-
// GoogleCertificateManagerCertificateInvalidScopeRule checks the pattern is valid
24-
type GoogleCertificateManagerCertificateInvalidScopeRule struct {
23+
// GoogleApigeeOrganizationInvalidRetentionRule checks the pattern is valid
24+
type GoogleApigeeOrganizationInvalidRetentionRule struct {
2525
tflint.DefaultRule
2626

2727
resourceType string
2828
attributeName string
2929
}
3030

31-
// NewGoogleCertificateManagerCertificateInvalidScopeRule returns new rule with default attributes
32-
func NewGoogleCertificateManagerCertificateInvalidScopeRule() *GoogleCertificateManagerCertificateInvalidScopeRule {
33-
return &GoogleCertificateManagerCertificateInvalidScopeRule{
34-
resourceType: "google_certificate_manager_certificate",
35-
attributeName: "scope",
31+
// NewGoogleApigeeOrganizationInvalidRetentionRule returns new rule with default attributes
32+
func NewGoogleApigeeOrganizationInvalidRetentionRule() *GoogleApigeeOrganizationInvalidRetentionRule {
33+
return &GoogleApigeeOrganizationInvalidRetentionRule{
34+
resourceType: "google_apigee_organization",
35+
attributeName: "retention",
3636
}
3737
}
3838

3939
// Name returns the rule name
40-
func (r *GoogleCertificateManagerCertificateInvalidScopeRule) Name() string {
41-
return "google_certificate_manager_certificate_invalid_scope"
40+
func (r *GoogleApigeeOrganizationInvalidRetentionRule) Name() string {
41+
return "google_apigee_organization_invalid_retention"
4242
}
4343

4444
// Enabled returns whether the rule is enabled by default
45-
func (r *GoogleCertificateManagerCertificateInvalidScopeRule) Enabled() bool {
45+
func (r *GoogleApigeeOrganizationInvalidRetentionRule) Enabled() bool {
4646
return true
4747
}
4848

4949
// Severity returns the rule severity
50-
func (r *GoogleCertificateManagerCertificateInvalidScopeRule) Severity() tflint.Severity {
50+
func (r *GoogleApigeeOrganizationInvalidRetentionRule) Severity() tflint.Severity {
5151
return tflint.ERROR
5252
}
5353

5454
// Link returns the rule reference link
55-
func (r *GoogleCertificateManagerCertificateInvalidScopeRule) Link() string {
55+
func (r *GoogleApigeeOrganizationInvalidRetentionRule) Link() string {
5656
return ""
5757
}
5858

5959
// Check checks the pattern is valid
60-
func (r *GoogleCertificateManagerCertificateInvalidScopeRule) Check(runner tflint.Runner) error {
60+
func (r *GoogleApigeeOrganizationInvalidRetentionRule) Check(runner tflint.Runner) error {
6161
resources, err := runner.GetResourceContent(r.resourceType, &hclext.BodySchema{
6262
Attributes: []hclext.AttributeSchema{{Name: r.attributeName}},
6363
}, nil)
@@ -74,7 +74,7 @@ func (r *GoogleCertificateManagerCertificateInvalidScopeRule) Check(runner tflin
7474
var val string
7575
err := runner.EvaluateExpr(attribute.Expr, &val, nil)
7676

77-
validateFunc := validation.StringInSlice([]string{"DEFAULT", "EDGE_CACHE", ""}, false)
77+
validateFunc := validation.StringInSlice([]string{"DELETION_RETENTION_UNSPECIFIED", "MINIMUM", ""}, false)
7878

7979
err = runner.EnsureNoError(err, func() error {
8080
_, errors := validateFunc(val, r.attributeName)

rules/magicmodules/google_certificate_manager_certificate_map_entry_invalid_matcher.go

Lines changed: 0 additions & 92 deletions
This file was deleted.

rules/magicmodules/product.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,11 @@ var Products = map[string]Product{
541541
{Name: "Cloud Spanner API", URL: "https://console.cloud.google.com/apis/library/spanner.googleapis.com/"},
542542
},
543543
},
544+
"google_datastream_connection_profile": {
545+
APIsRequired: []APIReference{
546+
{Name: "Datastream API", URL: "https://console.cloud.google.com/apis/library/datastream.googleapis.com"},
547+
},
548+
},
544549
"google_pubsub_topic": {
545550
APIsRequired: []APIReference{
546551
{Name: "Cloud Pub/Sub API", URL: "https://console.cloud.google.com/apis/library/pubsub.googleapis.com/"},
@@ -618,6 +623,11 @@ var Products = map[string]Product{
618623
{Name: "BigQueryDataTransfer API", URL: "https://console.cloud.google.com/apis/api/bigquerydatatransfer.googleapis.com/"},
619624
},
620625
},
626+
"google_cloudfunctions2_function": {
627+
APIsRequired: []APIReference{
628+
{Name: "Cloud Functions API", URL: "https://console.cloud.google.com/apis/library/cloudfunctions.googleapis.com/"},
629+
},
630+
},
621631
"google_game_services_realm": {
622632
APIsRequired: []APIReference{},
623633
},

rules/magicmodules/provider.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ var Rules = []tflint.Rule{
2525
NewGoogleActiveDirectoryDomainTrustInvalidTrustTypeRule(),
2626
NewGoogleApigeeEnvironmentInvalidApiProxyTypeRule(),
2727
NewGoogleApigeeEnvironmentInvalidDeploymentTypeRule(),
28+
NewGoogleApigeeOrganizationInvalidRetentionRule(),
2829
NewGoogleApigeeOrganizationInvalidRuntimeTypeRule(),
2930
NewGoogleAppEngineDomainMappingInvalidOverrideStrategyRule(),
3031
NewGoogleAppEngineFirewallRuleInvalidActionRule(),
@@ -33,8 +34,6 @@ var Rules = []tflint.Rule{
3334
NewGoogleBigqueryRoutineInvalidLanguageRule(),
3435
NewGoogleBigqueryRoutineInvalidRoutineTypeRule(),
3536
NewGoogleBinaryAuthorizationPolicyInvalidGlobalPolicyEvaluationModeRule(),
36-
NewGoogleCertificateManagerCertificateInvalidScopeRule(),
37-
NewGoogleCertificateManagerCertificateMapEntryInvalidMatcherRule(),
3837
NewGoogleCloudAssetFolderFeedInvalidContentTypeRule(),
3938
NewGoogleCloudAssetOrganizationFeedInvalidContentTypeRule(),
4039
NewGoogleCloudAssetProjectFeedInvalidContentTypeRule(),

rules/magicmodules/validation.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ var rfc1918Networks = []string{
8282
"192.168.0.0/16",
8383
}
8484

85-
func validateGCPName(v interface{}, k string) (ws []string, errors []error) {
85+
// validateGCEName ensures that a field matches the requirements for Compute Engine resource names
86+
// https://cloud.google.com/compute/docs/naming-resources#resource-name-format
87+
func validateGCEName(v interface{}, k string) (ws []string, errors []error) {
8688
re := `^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$`
8789
return validateRegexp(re)(v, k)
8890
}

tools/magic-modules

Submodule magic-modules updated 290 files

0 commit comments

Comments
 (0)