Skip to content

Commit adb4c26

Browse files
Promote resource policy to GA (#4265) (#2755)
Co-authored-by: upodroid <[email protected]> Signed-off-by: Modular Magician <[email protected]> Co-authored-by: upodroid <[email protected]>
1 parent d31549e commit adb4c26

File tree

3 files changed

+16
-84
lines changed

3 files changed

+16
-84
lines changed

.changelog/4265.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
compute: promoted `google_compute_resource_policy` to GA
3+
```

google-beta/data_source_google_compute_resource_policy.go

Lines changed: 12 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,22 @@ import (
77
)
88

99
func dataSourceGoogleComputeResourcePolicy() *schema.Resource {
10-
return &schema.Resource{
11-
Read: dataSourceGoogleComputeResourcePolicyRead,
12-
13-
Schema: map[string]*schema.Schema{
14-
"name": {
15-
Type: schema.TypeString,
16-
Required: true,
17-
},
18-
19-
"project": {
20-
Type: schema.TypeString,
21-
Optional: true,
22-
},
10+
dsSchema := datasourceSchemaFromResourceSchema(resourceComputeResourcePolicy().Schema)
2311

24-
"region": {
25-
Type: schema.TypeString,
26-
Required: true,
27-
},
12+
addRequiredFieldsToSchema(dsSchema, "name")
13+
addOptionalFieldsToSchema(dsSchema, "region")
14+
addOptionalFieldsToSchema(dsSchema, "project")
2815

29-
"description": {
30-
Type: schema.TypeString,
31-
Computed: true,
32-
},
33-
34-
"self_link": {
35-
Type: schema.TypeString,
36-
Computed: true,
37-
},
38-
},
16+
return &schema.Resource{
17+
Read: dataSourceGoogleComputeResourcePolicyRead,
18+
Schema: dsSchema,
3919
}
4020
}
4121

4222
func dataSourceGoogleComputeResourcePolicyRead(d *schema.ResourceData, meta interface{}) error {
4323
config := meta.(*Config)
44-
userAgent, err := generateUserAgentString(d, config.userAgent)
45-
if err != nil {
46-
return err
47-
}
24+
25+
name := d.Get("name").(string)
4826

4927
project, err := getProject(d, config)
5028
if err != nil {
@@ -54,17 +32,8 @@ func dataSourceGoogleComputeResourcePolicyRead(d *schema.ResourceData, meta inte
5432
if err != nil {
5533
return err
5634
}
57-
name := d.Get("name").(string)
58-
resourcePolicy, err := config.NewComputeClient(userAgent).ResourcePolicies.Get(project, region, name).Do()
59-
if err != nil {
60-
return handleNotFoundError(err, d, fmt.Sprintf("ResourcePolicy Not Found : %s", name))
61-
}
62-
if err := d.Set("self_link", resourcePolicy.SelfLink); err != nil {
63-
return fmt.Errorf("Error setting self_link: %s", err)
64-
}
65-
if err := d.Set("description", resourcePolicy.Description); err != nil {
66-
return fmt.Errorf("Error setting description: %s", err)
67-
}
35+
6836
d.SetId(fmt.Sprintf("projects/%s/regions/%s/resourcePolicies/%s", project, region, name))
69-
return nil
37+
38+
return resourceComputeResourcePolicyRead(d, meta)
7039
}

google-beta/data_source_google_compute_resource_policy_test.go

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -26,52 +26,12 @@ func TestAccDataSourceComputeResourcePolicy(t *testing.T) {
2626
Steps: []resource.TestStep{
2727
{
2828
Config: testAccDataSourceComputeResourcePolicyConfig(rsName, dsName, randomSuffix),
29-
Check: resource.ComposeTestCheckFunc(
30-
testAccDataSourceComputeResourcePolicyCheck(t, dsFullName, rsFullName),
31-
),
29+
Check: checkDataSourceStateMatchesResourceState(rsFullName, dsFullName),
3230
},
3331
},
3432
})
3533
}
3634

37-
func testAccDataSourceComputeResourcePolicyCheck(t *testing.T, dataSourceName string, resourceName string) resource.TestCheckFunc {
38-
return func(s *terraform.State) error {
39-
ds, ok := s.RootModule().Resources[dataSourceName]
40-
if !ok {
41-
return fmt.Errorf("root module has no resource called %s", dataSourceName)
42-
}
43-
44-
rs, ok := s.RootModule().Resources[resourceName]
45-
if !ok {
46-
return fmt.Errorf("can't find %s in state", resourceName)
47-
}
48-
49-
dsAttr := ds.Primary.Attributes
50-
rsAttr := rs.Primary.Attributes
51-
52-
policyAttrsToTest := []string{
53-
"name",
54-
}
55-
56-
for _, attrToCheck := range policyAttrsToTest {
57-
if dsAttr[attrToCheck] != rsAttr[attrToCheck] {
58-
return fmt.Errorf(
59-
"%s is %s; want %s",
60-
attrToCheck,
61-
dsAttr[attrToCheck],
62-
rsAttr[attrToCheck],
63-
)
64-
}
65-
}
66-
67-
if !compareSelfLinkOrResourceName("", dsAttr["self_link"], rsAttr["self_link"], nil) && dsAttr["self_link"] != rsAttr["self_link"] {
68-
return fmt.Errorf("self link does not match: %s vs %s", dsAttr["self_link"], rsAttr["self_link"])
69-
}
70-
71-
return nil
72-
}
73-
}
74-
7535
func testAccCheckDataSourceComputeResourcePolicyDestroy(t *testing.T, name string) resource.TestCheckFunc {
7636
return func(s *terraform.State) error {
7737
for _, rs := range s.RootModule().Resources {

0 commit comments

Comments
 (0)