Skip to content

Commit 897c33d

Browse files
add copy-write headers, and tidy up resource
1 parent 91a9388 commit 897c33d

File tree

7 files changed

+92
-68
lines changed

7 files changed

+92
-68
lines changed

docs/resources/validating_admission_policy.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
subcategory: "admissionregistration/v1"
3-
page_title: "Kubernetes: kubernetes_validating_admission_policy"
3+
page_title: "Kubernetes: kubernetes_validating_admission_policy_v1"
44
description: |-
55
A Validating Admission Policy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
66
---
77

8-
# kubernetes_validating_admission_policy
8+
# kubernetes_validating_admission_policy_v1
99

1010
A Validating Admission Policy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
1111

internal/framework/provider/admissionregistrationv1/admissionregistrationv1_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
// Copyright (c) HashiCorp, Inc.
2+
// SPDX-License-Identifier: MPL-2.0
3+
14
package admissionregistrationv1_test
25

36
import (

internal/framework/provider/admissionregistrationv1/validating_admission_policy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func NewValidatingAdmissionPolicy() resource.Resource {
2525
}
2626

2727
func (r *ValidatingAdmissionPolicy) Metadata(_ context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
28-
resp.TypeName = req.ProviderTypeName + "_validating_admission_policy"
28+
resp.TypeName = req.ProviderTypeName + "_validating_admission_policy_v1"
2929
}
3030

3131
func (r *ValidatingAdmissionPolicy) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {

internal/framework/provider/admissionregistrationv1/validating_admission_policy_crud.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
// Copyright (c) HashiCorp, Inc.
2+
// SPDX-License-Identifier: MPL-2.0
3+
14
package admissionregistrationv1
25

36
import (
@@ -65,7 +68,9 @@ func (r *ValidatingAdmissionPolicy) Create(ctx context.Context, req resource.Cre
6568
resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...)
6669

6770
identity := ValidatingAdmissionPolicyIdentityModel{
68-
Name: types.StringValue(out.Name),
71+
APIVersion: types.StringValue("admissionregistration.k8s.io/v1"),
72+
Kind: types.StringValue("ValidatingAdmissionPolicy"),
73+
Name: types.StringValue(out.Name),
6974
}
7075
resp.Diagnostics.Append(resp.Identity.Set(ctx, identity)...)
7176
}
@@ -120,7 +125,9 @@ func (r *ValidatingAdmissionPolicy) Read(ctx context.Context, req resource.ReadR
120125
resp.Diagnostics.Append(resp.State.Set(ctx, &state)...)
121126

122127
identity := ValidatingAdmissionPolicyIdentityModel{
123-
Name: types.StringValue(out.Name),
128+
APIVersion: types.StringValue("admissionregistration.k8s.io/v1"),
129+
Kind: types.StringValue("ValidatingAdmissionPolicy"),
130+
Name: types.StringValue(out.Name),
124131
}
125132
resp.Diagnostics.Append(resp.Identity.Set(ctx, identity)...)
126133
}
@@ -185,7 +192,9 @@ func (r *ValidatingAdmissionPolicy) Update(ctx context.Context, req resource.Upd
185192
resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...)
186193

187194
identity := ValidatingAdmissionPolicyIdentityModel{
188-
Name: types.StringValue(out.Name),
195+
APIVersion: types.StringValue("admissionregistration.k8s.io/v1"),
196+
Kind: types.StringValue("ValidatingAdmissionPolicy"),
197+
Name: types.StringValue(out.Name),
189198
}
190199
resp.Diagnostics.Append(resp.Identity.Set(ctx, identity)...)
191200
}
@@ -270,7 +279,9 @@ func (r *ValidatingAdmissionPolicy) ImportState(ctx context.Context, req resourc
270279
resp.Diagnostics.Append(resp.State.Set(ctx, &state)...)
271280

272281
identity := ValidatingAdmissionPolicyIdentityModel{
273-
Name: types.StringValue(out.Name),
282+
APIVersion: types.StringValue("admissionregistration.k8s.io/v1"),
283+
Kind: types.StringValue("ValidatingAdmissionPolicy"),
284+
Name: types.StringValue(out.Name),
274285
}
275286
resp.Diagnostics.Append(resp.Identity.Set(ctx, identity)...)
276287
}

internal/framework/provider/admissionregistrationv1/validating_admission_policy_helpers.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1+
// Copyright (c) HashiCorp, Inc.
2+
// SPDX-License-Identifier: MPL-2.0
3+
14
package admissionregistrationv1
25

36
import (
7+
"context"
8+
49
"github.com/hashicorp/terraform-plugin-framework/attr"
510
"github.com/hashicorp/terraform-plugin-framework/types"
611
arv1 "k8s.io/api/admissionregistration/v1"
@@ -194,7 +199,7 @@ func expandLabelSelector(ls LabelSelectorModel) *metav1.LabelSelector {
194199

195200
if !ls.MatchLabels.IsNull() && !ls.MatchLabels.IsUnknown() {
196201
matchLabels := make(map[string]string)
197-
ls.MatchLabels.ElementsAs(nil, &matchLabels, false)
202+
ls.MatchLabels.ElementsAs(context.Background(), &matchLabels, false)
198203
result.MatchLabels = matchLabels
199204
}
200205

Lines changed: 53 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
// Copyright (c) HashiCorp, Inc.
2+
// SPDX-License-Identifier: MPL-2.0
3+
14
package admissionregistrationv1
25

36
import (
@@ -7,91 +10,93 @@ import (
710

811
type ValidatingAdmissionPolicyModel struct {
912
Timeouts timeouts.Value `tfsdk:"timeouts"`
10-
ID types.String `tfsdk:"id" manifest:""`
11-
Metadata MetadataModel `tfsdk:"metadata" manifest:"metadata"`
12-
Spec ValidatingAdmissionPolicySpecModel `tfsdk:"spec" manifest:"spec"`
13+
ID types.String `tfsdk:"id"`
14+
Metadata MetadataModel `tfsdk:"metadata"`
15+
Spec ValidatingAdmissionPolicySpecModel `tfsdk:"spec"`
1316
}
1417

1518
type MetadataModel struct {
16-
Annotations map[string]types.String `tfsdk:"annotations" manifest:"annotations"`
17-
GenerateName types.String `tfsdk:"generate_name" manifest:"generateName"`
18-
Generation types.Int64 `tfsdk:"generation" manifest:"generation"`
19-
Labels map[string]types.String `tfsdk:"labels" manifest:"labels"`
20-
Name types.String `tfsdk:"name" manifest:"name"`
21-
Namespace types.String `tfsdk:"namespace" manifest:"namespace"`
22-
ResourceVersion types.String `tfsdk:"resource_version" manifest:"resourceVersion"`
23-
UID types.String `tfsdk:"uid" manifest:"uid"`
19+
Annotations map[string]types.String `tfsdk:"annotations"`
20+
GenerateName types.String `tfsdk:"generate_name"`
21+
Generation types.Int64 `tfsdk:"generation"`
22+
Labels map[string]types.String `tfsdk:"labels"`
23+
Name types.String `tfsdk:"name"`
24+
Namespace types.String `tfsdk:"namespace"`
25+
ResourceVersion types.String `tfsdk:"resource_version"`
26+
UID types.String `tfsdk:"uid"`
2427
}
2528

2629
type ValidatingAdmissionPolicySpecModel struct {
27-
AuditAnnotations []AuditAnnotationModel `tfsdk:"audit_annotations" manifest:"auditAnnotations"`
28-
FailurePolicy types.String `tfsdk:"failure_policy" manifest:"failurePolicy"`
29-
MatchConditions []MatchConditionModel `tfsdk:"match_conditions" manifest:"matchConditions"`
30-
MatchConstraints MatchConstraintsModel `tfsdk:"match_constraints" manifest:"matchConstraints"`
31-
ParamKind *ParamKindModel `tfsdk:"param_kind" manifest:"paramKind"`
32-
Validations []ValidationModel `tfsdk:"validations" manifest:"validations"`
33-
Variables []VariableModel `tfsdk:"variables" manifest:"variables"`
30+
AuditAnnotations []AuditAnnotationModel `tfsdk:"audit_annotations"`
31+
FailurePolicy types.String `tfsdk:"failure_policy"`
32+
MatchConditions []MatchConditionModel `tfsdk:"match_conditions"`
33+
MatchConstraints MatchConstraintsModel `tfsdk:"match_constraints"`
34+
ParamKind *ParamKindModel `tfsdk:"param_kind"`
35+
Validations []ValidationModel `tfsdk:"validations"`
36+
Variables []VariableModel `tfsdk:"variables"`
3437
}
3538

3639
type AuditAnnotationModel struct {
37-
Key types.String `tfsdk:"key" manifest:"key"`
38-
ValueExpression types.String `tfsdk:"value_expression" manifest:"valueExpression"`
40+
Key types.String `tfsdk:"key"`
41+
ValueExpression types.String `tfsdk:"value_expression"`
3942
}
4043

4144
type MatchConditionModel struct {
42-
Expression types.String `tfsdk:"expression" manifest:"expression"`
43-
Name types.String `tfsdk:"name" manifest:"name"`
45+
Expression types.String `tfsdk:"expression"`
46+
Name types.String `tfsdk:"name"`
4447
}
4548

4649
type MatchConstraintsModel struct {
47-
ExcludeResourceRules []RuleWithOperationsModel `tfsdk:"exclude_resource_rules" manifest:"excludeResourceRules"`
48-
MatchPolicy types.String `tfsdk:"match_policy" manifest:"matchPolicy"`
49-
NamespaceSelector *LabelSelectorModel `tfsdk:"namespace_selector" manifest:"namespaceSelector"`
50-
ObjectSelector *ObjectSelectorModel `tfsdk:"object_selector" manifest:"objectSelector"`
51-
ResourceRules []RuleWithOperationsModel `tfsdk:"resource_rules" manifest:"resourceRules"`
50+
ExcludeResourceRules []RuleWithOperationsModel `tfsdk:"exclude_resource_rules"`
51+
MatchPolicy types.String `tfsdk:"match_policy"`
52+
NamespaceSelector *LabelSelectorModel `tfsdk:"namespace_selector"`
53+
ObjectSelector *ObjectSelectorModel `tfsdk:"object_selector"`
54+
ResourceRules []RuleWithOperationsModel `tfsdk:"resource_rules"`
5255
}
5356

5457
type RuleWithOperationsModel struct {
55-
APIGroups []types.String `tfsdk:"api_groups" manifest:"apiGroups"`
56-
APIVersions []types.String `tfsdk:"api_versions" manifest:"apiVersions"`
57-
Operations []types.String `tfsdk:"operations" manifest:"operations"`
58-
ResourceNames []types.String `tfsdk:"resource_names" manifest:"resourceNames"`
59-
Resources []types.String `tfsdk:"resources" manifest:"resources"`
60-
Scope types.String `tfsdk:"scope" manifest:"scope"`
58+
APIGroups []types.String `tfsdk:"api_groups"`
59+
APIVersions []types.String `tfsdk:"api_versions"`
60+
Operations []types.String `tfsdk:"operations"`
61+
ResourceNames []types.String `tfsdk:"resource_names"`
62+
Resources []types.String `tfsdk:"resources"`
63+
Scope types.String `tfsdk:"scope"`
6164
}
6265

6366
type LabelSelectorModel struct {
64-
MatchLabels types.Map `tfsdk:"match_labels" manifest:"matchLabels"`
65-
MatchExpressions []LabelSelectorRequirementModel `tfsdk:"match_expressions" manifest:"matchExpressions"`
67+
MatchLabels types.Map `tfsdk:"match_labels"`
68+
MatchExpressions []LabelSelectorRequirementModel `tfsdk:"match_expressions"`
6669
}
6770

6871
type LabelSelectorRequirementModel struct {
69-
Key types.String `tfsdk:"key" manifest:"key"`
70-
Operator types.String `tfsdk:"operator" manifest:"operator"`
71-
Values []types.String `tfsdk:"values" manifest:"values"`
72+
Key types.String `tfsdk:"key"`
73+
Operator types.String `tfsdk:"operator"`
74+
Values []types.String `tfsdk:"values"`
7275
}
7376

7477
type ObjectSelectorModel struct {
75-
LabelSelector LabelSelectorModel `tfsdk:"label_selector" manifest:"labelSelector"`
78+
LabelSelector LabelSelectorModel `tfsdk:"label_selector"`
7679
}
7780

7881
type ParamKindModel struct {
79-
APIVersion types.String `tfsdk:"api_version" manifest:"apiVersion"`
80-
Kind types.String `tfsdk:"kind" manifest:"kind"`
82+
APIVersion types.String `tfsdk:"api_version"`
83+
Kind types.String `tfsdk:"kind"`
8184
}
8285

8386
type ValidationModel struct {
84-
Expression types.String `tfsdk:"expression" manifest:"expression"`
85-
Message types.String `tfsdk:"message" manifest:"message"`
86-
MessageExpression types.String `tfsdk:"message_expression" manifest:"messageExpression"`
87-
Reason types.String `tfsdk:"reason" manifest:"reason"`
87+
Expression types.String `tfsdk:"expression"`
88+
Message types.String `tfsdk:"message"`
89+
MessageExpression types.String `tfsdk:"message_expression"`
90+
Reason types.String `tfsdk:"reason"`
8891
}
8992

9093
type VariableModel struct {
91-
Expression types.String `tfsdk:"expression" manifest:"expression"`
92-
Name types.String `tfsdk:"name" manifest:"name"`
94+
Expression types.String `tfsdk:"expression"`
95+
Name types.String `tfsdk:"name"`
9396
}
9497

9598
type ValidatingAdmissionPolicyIdentityModel struct {
96-
Name types.String `tfsdk:"name"`
99+
APIVersion types.String `tfsdk:"api_version"`
100+
Kind types.String `tfsdk:"kind"`
101+
Name types.String `tfsdk:"name"`
97102
}

internal/framework/provider/admissionregistrationv1/validating_admission_policy_test.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ func TestAccValidatingAdmissionPolicy_basic(t *testing.T) {
1818
{
1919
Config: testValidatingAdmissionPolicyConfig_basic(name),
2020
Check: resource.ComposeAggregateTestCheckFunc(
21-
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy.test", "metadata.name", name),
22-
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy.test", "spec.validations.0.expression", "object.spec.replicas <= 5"),
23-
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy.test", "spec.validations.0.message", "Replica count must not exceed 5"),
21+
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy_v1.test", "metadata.name", name),
22+
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy_v1.test", "spec.validations.0.expression", "object.spec.replicas <= 5"),
23+
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy_v1.test", "spec.validations.0.message", "Replica count must not exceed 5"),
2424
),
2525
},
2626
{
27-
ResourceName: "kubernetes_validating_admission_policy.test",
27+
ResourceName: "kubernetes_validating_admission_policy_v1.test",
2828
ImportState: true,
2929
ImportStateVerify: true,
3030
ImportStateVerifyIgnore: []string{
@@ -46,9 +46,9 @@ func TestAccValidatingAdmissionPolicy_withMatchConstraints(t *testing.T) {
4646
{
4747
Config: testValidatingAdmissionPolicyConfig_withMatchConstraints(name),
4848
Check: resource.ComposeAggregateTestCheckFunc(
49-
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy.test", "metadata.name", name),
50-
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy.test", "spec.match_constraints.resource_rules.0.api_groups.0", "apps"),
51-
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy.test", "spec.match_constraints.resource_rules.0.resources.0", "deployments"),
49+
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy_v1.test", "metadata.name", name),
50+
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy_v1.test", "spec.match_constraints.resource_rules.0.api_groups.0", "apps"),
51+
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy_v1.test", "spec.match_constraints.resource_rules.0.resources.0", "deployments"),
5252
),
5353
},
5454
},
@@ -64,13 +64,13 @@ func TestAccValidatingAdmissionPolicy_update(t *testing.T) {
6464
{
6565
Config: testValidatingAdmissionPolicyConfig_basic(name),
6666
Check: resource.ComposeAggregateTestCheckFunc(
67-
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy.test", "spec.validations.0.message", "Replica count must not exceed 5"),
67+
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy_v1.test", "spec.validations.0.message", "Replica count must not exceed 5"),
6868
),
6969
},
7070
{
7171
Config: testValidatingAdmissionPolicyConfig_updated(name),
7272
Check: resource.ComposeAggregateTestCheckFunc(
73-
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy.test", "spec.validations.0.message", "Replica count must not exceed 10"),
73+
resource.TestCheckResourceAttr("kubernetes_validating_admission_policy_v1.test", "spec.validations.0.message", "Replica count must not exceed 10"),
7474
),
7575
},
7676
},
@@ -79,7 +79,7 @@ func TestAccValidatingAdmissionPolicy_update(t *testing.T) {
7979

8080
func testValidatingAdmissionPolicyConfig_basic(name string) string {
8181
return fmt.Sprintf(`
82-
resource "kubernetes_validating_admission_policy" "test" {
82+
resource "kubernetes_validating_admission_policy_v1" "test" {
8383
metadata = {
8484
name = %q
8585
}
@@ -112,7 +112,7 @@ resource "kubernetes_validating_admission_policy" "test" {
112112

113113
func testValidatingAdmissionPolicyConfig_withMatchConstraints(name string) string {
114114
return fmt.Sprintf(`
115-
resource "kubernetes_validating_admission_policy" "test" {
115+
resource "kubernetes_validating_admission_policy_v1" "test" {
116116
metadata = {
117117
name = %q
118118
}
@@ -145,7 +145,7 @@ resource "kubernetes_validating_admission_policy" "test" {
145145

146146
func testValidatingAdmissionPolicyConfig_updated(name string) string {
147147
return fmt.Sprintf(`
148-
resource "kubernetes_validating_admission_policy" "test" {
148+
resource "kubernetes_validating_admission_policy_v1" "test" {
149149
metadata = {
150150
name = %q
151151
}

0 commit comments

Comments
 (0)