Skip to content

Commit ddad481

Browse files
promote resource privileged_access_manager_entitlement to ga (#11094) (#18686)
[upstream:347145739efc5eebe07a3006b8246b29525d8384] Signed-off-by: Modular Magician <magic-modules@google.com>
1 parent 800dc59 commit ddad481

14 files changed

+1922
-10
lines changed

.changelog/11094.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
privilegedaccessmanager: promoted `google_privileged_access_manager_entitlement` resource from beta to ga
3+
```

google/fwmodels/provider_model.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ type ProviderModel struct {
120120
OSConfigCustomEndpoint types.String `tfsdk:"os_config_custom_endpoint"`
121121
OSLoginCustomEndpoint types.String `tfsdk:"os_login_custom_endpoint"`
122122
PrivatecaCustomEndpoint types.String `tfsdk:"privateca_custom_endpoint"`
123+
PrivilegedAccessManagerCustomEndpoint types.String `tfsdk:"privileged_access_manager_custom_endpoint"`
123124
PublicCACustomEndpoint types.String `tfsdk:"public_ca_custom_endpoint"`
124125
PubsubCustomEndpoint types.String `tfsdk:"pubsub_custom_endpoint"`
125126
PubsubLiteCustomEndpoint types.String `tfsdk:"pubsub_lite_custom_endpoint"`

google/fwprovider/framework_provider.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,12 @@ func (p *FrameworkProvider) Schema(_ context.Context, _ provider.SchemaRequest,
696696
transport_tpg.CustomEndpointValidator(),
697697
},
698698
},
699+
"privileged_access_manager_custom_endpoint": &schema.StringAttribute{
700+
Optional: true,
701+
Validators: []validator.String{
702+
transport_tpg.CustomEndpointValidator(),
703+
},
704+
},
699705
"public_ca_custom_endpoint": &schema.StringAttribute{
700706
Optional: true,
701707
Validators: []validator.String{

google/fwtransport/framework_config.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ type FrameworkProviderConfig struct {
143143
OSConfigBasePath string
144144
OSLoginBasePath string
145145
PrivatecaBasePath string
146+
PrivilegedAccessManagerBasePath string
146147
PublicCABasePath string
147148
PubsubBasePath string
148149
PubsubLiteBasePath string
@@ -301,6 +302,7 @@ func (p *FrameworkProviderConfig) LoadAndValidateFramework(ctx context.Context,
301302
p.OSConfigBasePath = data.OSConfigCustomEndpoint.ValueString()
302303
p.OSLoginBasePath = data.OSLoginCustomEndpoint.ValueString()
303304
p.PrivatecaBasePath = data.PrivatecaCustomEndpoint.ValueString()
305+
p.PrivilegedAccessManagerBasePath = data.PrivilegedAccessManagerCustomEndpoint.ValueString()
304306
p.PublicCABasePath = data.PublicCACustomEndpoint.ValueString()
305307
p.PubsubBasePath = data.PubsubCustomEndpoint.ValueString()
306308
p.PubsubLiteBasePath = data.PubsubLiteCustomEndpoint.ValueString()
@@ -1191,6 +1193,14 @@ func (p *FrameworkProviderConfig) HandleDefaults(ctx context.Context, data *fwmo
11911193
data.PrivatecaCustomEndpoint = types.StringValue(customEndpoint.(string))
11921194
}
11931195
}
1196+
if data.PrivilegedAccessManagerCustomEndpoint.IsNull() {
1197+
customEndpoint := transport_tpg.MultiEnvDefault([]string{
1198+
"GOOGLE_PRIVILEGED_ACCESS_MANAGER_CUSTOM_ENDPOINT",
1199+
}, transport_tpg.DefaultBasePaths[transport_tpg.PrivilegedAccessManagerBasePathKey])
1200+
if customEndpoint != nil {
1201+
data.PrivilegedAccessManagerCustomEndpoint = types.StringValue(customEndpoint.(string))
1202+
}
1203+
}
11941204
if data.PublicCACustomEndpoint.IsNull() {
11951205
customEndpoint := transport_tpg.MultiEnvDefault([]string{
11961206
"GOOGLE_PUBLIC_CA_CUSTOM_ENDPOINT",

google/provider/provider.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,11 @@ func Provider() *schema.Provider {
604604
Optional: true,
605605
ValidateFunc: transport_tpg.ValidateCustomEndpoint,
606606
},
607+
"privileged_access_manager_custom_endpoint": {
608+
Type: schema.TypeString,
609+
Optional: true,
610+
ValidateFunc: transport_tpg.ValidateCustomEndpoint,
611+
},
607612
"public_ca_custom_endpoint": {
608613
Type: schema.TypeString,
609614
Optional: true,
@@ -1023,6 +1028,7 @@ func ProviderConfigure(ctx context.Context, d *schema.ResourceData, p *schema.Pr
10231028
config.OSConfigBasePath = d.Get("os_config_custom_endpoint").(string)
10241029
config.OSLoginBasePath = d.Get("os_login_custom_endpoint").(string)
10251030
config.PrivatecaBasePath = d.Get("privateca_custom_endpoint").(string)
1031+
config.PrivilegedAccessManagerBasePath = d.Get("privileged_access_manager_custom_endpoint").(string)
10261032
config.PublicCABasePath = d.Get("public_ca_custom_endpoint").(string)
10271033
config.PubsubBasePath = d.Get("pubsub_custom_endpoint").(string)
10281034
config.PubsubLiteBasePath = d.Get("pubsub_lite_custom_endpoint").(string)

google/provider/provider_mmv1_resources.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ import (
9696
"github.com/hashicorp/terraform-provider-google/google/services/osconfig"
9797
"github.com/hashicorp/terraform-provider-google/google/services/oslogin"
9898
"github.com/hashicorp/terraform-provider-google/google/services/privateca"
99+
"github.com/hashicorp/terraform-provider-google/google/services/privilegedaccessmanager"
99100
"github.com/hashicorp/terraform-provider-google/google/services/publicca"
100101
"github.com/hashicorp/terraform-provider-google/google/services/pubsub"
101102
"github.com/hashicorp/terraform-provider-google/google/services/pubsublite"
@@ -420,9 +421,9 @@ var handwrittenIAMDatasources = map[string]*schema.Resource{
420421
}
421422

422423
// Resources
423-
// Generated resources: 433
424+
// Generated resources: 434
424425
// Generated IAM resources: 252
425-
// Total generated resources: 685
426+
// Total generated resources: 686
426427
var generatedResources = map[string]*schema.Resource{
427428
"google_folder_access_approval_settings": accessapproval.ResourceAccessApprovalFolderSettings(),
428429
"google_organization_access_approval_settings": accessapproval.ResourceAccessApprovalOrganizationSettings(),
@@ -978,6 +979,7 @@ var generatedResources = map[string]*schema.Resource{
978979
"google_privateca_certificate_template_iam_binding": tpgiamresource.ResourceIamBinding(privateca.PrivatecaCertificateTemplateIamSchema, privateca.PrivatecaCertificateTemplateIamUpdaterProducer, privateca.PrivatecaCertificateTemplateIdParseFunc),
979980
"google_privateca_certificate_template_iam_member": tpgiamresource.ResourceIamMember(privateca.PrivatecaCertificateTemplateIamSchema, privateca.PrivatecaCertificateTemplateIamUpdaterProducer, privateca.PrivatecaCertificateTemplateIdParseFunc),
980981
"google_privateca_certificate_template_iam_policy": tpgiamresource.ResourceIamPolicy(privateca.PrivatecaCertificateTemplateIamSchema, privateca.PrivatecaCertificateTemplateIamUpdaterProducer, privateca.PrivatecaCertificateTemplateIdParseFunc),
982+
"google_privileged_access_manager_entitlement": privilegedaccessmanager.ResourcePrivilegedAccessManagerEntitlement(),
981983
"google_public_ca_external_account_key": publicca.ResourcePublicCAExternalAccountKey(),
982984
"google_pubsub_schema": pubsub.ResourcePubsubSchema(),
983985
"google_pubsub_schema_iam_binding": tpgiamresource.ResourceIamBinding(pubsub.PubsubSchemaIamSchema, pubsub.PubsubSchemaIamUpdaterProducer, pubsub.PubsubSchemaIdParseFunc),
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
// Copyright (c) HashiCorp, Inc.
2+
// SPDX-License-Identifier: MPL-2.0
3+
4+
// ----------------------------------------------------------------------------
5+
//
6+
// *** AUTO GENERATED CODE *** Type: MMv1 ***
7+
//
8+
// ----------------------------------------------------------------------------
9+
//
10+
// This file is automatically generated by Magic Modules and manual
11+
// changes will be clobbered when the file is regenerated.
12+
//
13+
// Please read more about how to change this file in
14+
// .github/CONTRIBUTING.md.
15+
//
16+
// ----------------------------------------------------------------------------
17+
18+
package privilegedaccessmanager
19+
20+
import (
21+
"encoding/json"
22+
"errors"
23+
"fmt"
24+
"time"
25+
26+
"github.com/hashicorp/terraform-provider-google/google/tpgresource"
27+
transport_tpg "github.com/hashicorp/terraform-provider-google/google/transport"
28+
)
29+
30+
type PrivilegedAccessManagerOperationWaiter struct {
31+
Config *transport_tpg.Config
32+
UserAgent string
33+
tpgresource.CommonOperationWaiter
34+
}
35+
36+
func (w *PrivilegedAccessManagerOperationWaiter) QueryOp() (interface{}, error) {
37+
if w == nil {
38+
return nil, fmt.Errorf("Cannot query operation, it's unset or nil.")
39+
}
40+
// Returns the proper get.
41+
url := fmt.Sprintf("%s%s", w.Config.PrivilegedAccessManagerBasePath, w.CommonOperationWaiter.Op.Name)
42+
43+
return transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
44+
Config: w.Config,
45+
Method: "GET",
46+
RawURL: url,
47+
UserAgent: w.UserAgent,
48+
})
49+
}
50+
51+
func createPrivilegedAccessManagerWaiter(config *transport_tpg.Config, op map[string]interface{}, activity, userAgent string) (*PrivilegedAccessManagerOperationWaiter, error) {
52+
w := &PrivilegedAccessManagerOperationWaiter{
53+
Config: config,
54+
UserAgent: userAgent,
55+
}
56+
if err := w.CommonOperationWaiter.SetOp(op); err != nil {
57+
return nil, err
58+
}
59+
return w, nil
60+
}
61+
62+
// nolint: deadcode,unused
63+
func PrivilegedAccessManagerOperationWaitTimeWithResponse(config *transport_tpg.Config, op map[string]interface{}, response *map[string]interface{}, activity, userAgent string, timeout time.Duration) error {
64+
w, err := createPrivilegedAccessManagerWaiter(config, op, activity, userAgent)
65+
if err != nil {
66+
return err
67+
}
68+
if err := tpgresource.OperationWait(w, activity, timeout, config.PollInterval); err != nil {
69+
return err
70+
}
71+
rawResponse := []byte(w.CommonOperationWaiter.Op.Response)
72+
if len(rawResponse) == 0 {
73+
return errors.New("`resource` not set in operation response")
74+
}
75+
return json.Unmarshal(rawResponse, response)
76+
}
77+
78+
func PrivilegedAccessManagerOperationWaitTime(config *transport_tpg.Config, op map[string]interface{}, activity, userAgent string, timeout time.Duration) error {
79+
if val, ok := op["name"]; !ok || val == "" {
80+
// This was a synchronous call - there is no operation to wait for.
81+
return nil
82+
}
83+
w, err := createPrivilegedAccessManagerWaiter(config, op, activity, userAgent)
84+
if err != nil {
85+
// If w is nil, the op was synchronous.
86+
return err
87+
}
88+
return tpgresource.OperationWait(w, activity, timeout, config.PollInterval)
89+
}

0 commit comments

Comments
 (0)