Skip to content

Commit c526768

Browse files
Add storage_control_organization_intelligence_config resource. (#13386) (#21987)
[upstream:4a43779c55f7e699a6815983b096b9066fddb655] Signed-off-by: Modular Magician <[email protected]>
1 parent f0cd035 commit c526768

8 files changed

+1408
-224
lines changed

.changelog/13386.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:new-resource
2+
`google_storage_control_organization_intelligence_config`
3+
```

google/provider/provider_mmv1_resources.go

Lines changed: 226 additions & 224 deletions
Large diffs are not rendered by default.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright (c) HashiCorp, Inc.
2+
// SPDX-License-Identifier: MPL-2.0
3+
package storagecontrol
4+
5+
import (
6+
"fmt"
7+
8+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
9+
"github.com/hashicorp/terraform-provider-google/google/tpgresource"
10+
transport_tpg "github.com/hashicorp/terraform-provider-google/google/transport"
11+
)
12+
13+
func DataSourceGoogleStorageControlOrganizationIntelligenceConfig() *schema.Resource {
14+
15+
dsSchema := tpgresource.DatasourceSchemaFromResourceSchema(ResourceStorageControlOrganizationIntelligenceConfig().Schema)
16+
tpgresource.AddRequiredFieldsToSchema(dsSchema, "name")
17+
18+
return &schema.Resource{
19+
Read: dataSourceGoogleStorageControlOrganizationIntelligenceConfigRead,
20+
Schema: dsSchema,
21+
}
22+
}
23+
24+
func dataSourceGoogleStorageControlOrganizationIntelligenceConfigRead(d *schema.ResourceData, meta interface{}) error {
25+
config := meta.(*transport_tpg.Config)
26+
27+
id, err := tpgresource.ReplaceVars(d, config, "organizations/{{name}}/locations/global/intelligenceConfig")
28+
if err != nil {
29+
return fmt.Errorf("Error constructing id: %s", err)
30+
}
31+
d.SetId(id)
32+
err = resourceStorageControlOrganizationIntelligenceConfigRead(d, meta)
33+
if err != nil {
34+
return err
35+
}
36+
37+
if d.Id() == "" {
38+
return fmt.Errorf("%s not found", id)
39+
}
40+
41+
return nil
42+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// Copyright (c) HashiCorp, Inc.
2+
// SPDX-License-Identifier: MPL-2.0
3+
// Copyright (c) HashiCorp, Inc.
4+
// SPDX-License-Identifier: MPL-2.0
5+
package storagecontrol_test
6+
7+
import (
8+
"testing"
9+
10+
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
11+
"github.com/hashicorp/terraform-provider-google/google/acctest"
12+
"github.com/hashicorp/terraform-provider-google/google/envvar"
13+
)
14+
15+
func TestAccDataSourceGoogleStorageControlOrganizationIntelligenceConfig_basic(t *testing.T) {
16+
t.Parallel()
17+
18+
context := map[string]interface{}{
19+
"random_suffix": acctest.RandString(t, 10),
20+
"org_id": envvar.GetTestOrgFromEnv(t),
21+
}
22+
23+
acctest.VcrTest(t, resource.TestCase{
24+
PreCheck: func() { acctest.AccTestPreCheck(t) },
25+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
26+
Steps: []resource.TestStep{
27+
{
28+
Config: testAccDataSourceGoogleStorageControlOrganizationIntelligenceConfig_basic(context),
29+
Check: resource.ComposeTestCheckFunc(
30+
acctest.CheckDataSourceStateMatchesResourceState("data.google_storage_control_organization_intelligence_config.organization_storage_intelligence", "google_storage_control_organization_intelligence_config.organization_storage_intelligence"),
31+
),
32+
},
33+
},
34+
})
35+
}
36+
37+
func testAccDataSourceGoogleStorageControlOrganizationIntelligenceConfig_basic(context map[string]interface{}) string {
38+
return acctest.Nprintf(`
39+
resource "google_storage_control_organization_intelligence_config" "organization_storage_intelligence" {
40+
name = "%{org_id}"
41+
edition_config = "STANDARD"
42+
}
43+
44+
data "google_storage_control_organization_intelligence_config" "organization_storage_intelligence" {
45+
name = google_storage_control_organization_intelligence_config.organization_storage_intelligence.name
46+
}
47+
`, context)
48+
}

0 commit comments

Comments
 (0)