Skip to content

Commit e9eaf87

Browse files
AD Domain resource added (#3735) (#2309)
* AD Domain resource added * fmt issue fixed * validation regex and input flag added * made domain_name field not updatable * validationfunc added * validationfunc error message modified Signed-off-by: Modular Magician <[email protected]>
1 parent e0a3e4a commit e9eaf87

11 files changed

+954
-2
lines changed

.changelog/3735.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_active_directory_domain`
3+
```
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// ----------------------------------------------------------------------------
2+
//
3+
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
4+
//
5+
// ----------------------------------------------------------------------------
6+
//
7+
// This file is automatically generated by Magic Modules and manual
8+
// changes will be clobbered when the file is regenerated.
9+
//
10+
// Please read more about how to change this file in
11+
// .github/CONTRIBUTING.md.
12+
//
13+
// ----------------------------------------------------------------------------
14+
package google
15+
16+
import (
17+
"encoding/json"
18+
"fmt"
19+
"time"
20+
)
21+
22+
type ActiveDirectoryOperationWaiter struct {
23+
Config *Config
24+
Project string
25+
CommonOperationWaiter
26+
}
27+
28+
func (w *ActiveDirectoryOperationWaiter) QueryOp() (interface{}, error) {
29+
if w == nil {
30+
return nil, fmt.Errorf("Cannot query operation, it's unset or nil.")
31+
}
32+
// Returns the proper get.
33+
url := fmt.Sprintf("https://managedidentities.googleapis.com/v1/%s", w.CommonOperationWaiter.Op.Name)
34+
return sendRequest(w.Config, "GET", w.Project, url, nil)
35+
}
36+
37+
func createActiveDirectoryWaiter(config *Config, op map[string]interface{}, project, activity string) (*ActiveDirectoryOperationWaiter, error) {
38+
if val, ok := op["name"]; !ok || val == "" {
39+
// This was a synchronous call - there is no operation to wait for.
40+
return nil, nil
41+
}
42+
w := &ActiveDirectoryOperationWaiter{
43+
Config: config,
44+
Project: project,
45+
}
46+
if err := w.CommonOperationWaiter.SetOp(op); err != nil {
47+
return nil, err
48+
}
49+
return w, nil
50+
}
51+
52+
// nolint: deadcode,unused
53+
func activeDirectoryOperationWaitTimeWithResponse(config *Config, op map[string]interface{}, response *map[string]interface{}, project, activity string, timeout time.Duration) error {
54+
w, err := createActiveDirectoryWaiter(config, op, project, activity)
55+
if err != nil || w == nil {
56+
// If w is nil, the op was synchronous.
57+
return err
58+
}
59+
if err := OperationWait(w, activity, timeout, config.PollInterval); err != nil {
60+
return err
61+
}
62+
return json.Unmarshal([]byte(w.CommonOperationWaiter.Op.Response), response)
63+
}
64+
65+
func activeDirectoryOperationWaitTime(config *Config, op map[string]interface{}, project, activity string, timeout time.Duration) error {
66+
w, err := createActiveDirectoryWaiter(config, op, project, activity)
67+
if err != nil || w == nil {
68+
// If w is nil, the op was synchronous.
69+
return err
70+
}
71+
return OperationWait(w, activity, timeout, config.PollInterval)
72+
}

google-beta/config.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ type Config struct {
8181
tokenSource oauth2.TokenSource
8282

8383
AccessContextManagerBasePath string
84+
ActiveDirectoryBasePath string
8485
AppEngineBasePath string
8586
ArtifactRegistryBasePath string
8687
BigQueryBasePath string
@@ -239,6 +240,7 @@ type Config struct {
239240

240241
// Generated product base paths
241242
var AccessContextManagerDefaultBasePath = "https://accesscontextmanager.googleapis.com/v1/"
243+
var ActiveDirectoryDefaultBasePath = "https://managedidentities.googleapis.com/v1/"
242244
var AppEngineDefaultBasePath = "https://appengine.googleapis.com/v1/"
243245
var ArtifactRegistryDefaultBasePath = "https://artifactregistry.googleapis.com/v1beta1/"
244246
var BigQueryDefaultBasePath = "https://www.googleapis.com/bigquery/v2/"
@@ -804,6 +806,7 @@ func removeBasePathVersion(url string) string {
804806
func ConfigureBasePaths(c *Config) {
805807
// Generated Products
806808
c.AccessContextManagerBasePath = AccessContextManagerDefaultBasePath
809+
c.ActiveDirectoryBasePath = ActiveDirectoryDefaultBasePath
807810
c.AppEngineBasePath = AppEngineDefaultBasePath
808811
c.ArtifactRegistryBasePath = ArtifactRegistryDefaultBasePath
809812
c.BigQueryBasePath = BigQueryDefaultBasePath

google-beta/provider.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,14 @@ func Provider() terraform.ResourceProvider {
117117
"GOOGLE_ACCESS_CONTEXT_MANAGER_CUSTOM_ENDPOINT",
118118
}, AccessContextManagerDefaultBasePath),
119119
},
120+
"active_directory_custom_endpoint": {
121+
Type: schema.TypeString,
122+
Optional: true,
123+
ValidateFunc: validateCustomEndpoint,
124+
DefaultFunc: schema.MultiEnvDefaultFunc([]string{
125+
"GOOGLE_ACTIVE_DIRECTORY_CUSTOM_ENDPOINT",
126+
}, ActiveDirectoryDefaultBasePath),
127+
},
120128
"app_engine_custom_endpoint": {
121129
Type: schema.TypeString,
122130
Optional: true,
@@ -692,9 +700,9 @@ func Provider() terraform.ResourceProvider {
692700
return provider
693701
}
694702

695-
// Generated resources: 175
703+
// Generated resources: 176
696704
// Generated IAM resources: 66
697-
// Total generated resources: 241
705+
// Total generated resources: 242
698706
func ResourceMap() map[string]*schema.Resource {
699707
resourceMap, _ := ResourceMapWithErrors()
700708
return resourceMap
@@ -707,6 +715,7 @@ func ResourceMapWithErrors() (map[string]*schema.Resource, error) {
707715
"google_access_context_manager_access_level": resourceAccessContextManagerAccessLevel(),
708716
"google_access_context_manager_service_perimeter": resourceAccessContextManagerServicePerimeter(),
709717
"google_access_context_manager_service_perimeter_resource": resourceAccessContextManagerServicePerimeterResource(),
718+
"google_active_directory_domain": resourceActiveDirectoryDomain(),
710719
"google_app_engine_domain_mapping": resourceAppEngineDomainMapping(),
711720
"google_app_engine_firewall_rule": resourceAppEngineFirewallRule(),
712721
"google_app_engine_standard_app_version": resourceAppEngineStandardAppVersion(),
@@ -1115,6 +1124,7 @@ func providerConfigure(d *schema.ResourceData, p *schema.Provider, terraformVers
11151124

11161125
// Generated products
11171126
config.AccessContextManagerBasePath = d.Get("access_context_manager_custom_endpoint").(string)
1127+
config.ActiveDirectoryBasePath = d.Get("active_directory_custom_endpoint").(string)
11181128
config.AppEngineBasePath = d.Get("app_engine_custom_endpoint").(string)
11191129
config.ArtifactRegistryBasePath = d.Get("artifact_registry_custom_endpoint").(string)
11201130
config.BigQueryBasePath = d.Get("big_query_custom_endpoint").(string)

0 commit comments

Comments
 (0)