1
- # Copyright 2023 Google Inc.
1
+ # Copyright 2024 Google Inc.
2
2
# Licensed under the Apache License, Version 2.0 (the "License");
3
3
# you may not use this file except in compliance with the License.
4
4
# You may obtain a copy of the License at
11
11
# See the License for the specific language governing permissions and
12
12
# limitations under the License.
13
13
14
- --- !ruby/object:Api::Resource
15
- name : FolderSettings
16
- base_url : ' folders/{{folder_id}}/accessApprovalSettings'
17
- self_link : ' folders/{{folder_id}}/accessApprovalSettings'
18
- create_verb : :PATCH
19
- update_verb : :PATCH
20
- update_mask : true
14
+ ---
15
+ name : ' FolderSettings'
16
+ legacy_name : ' google_folder_access_approval_settings'
21
17
description : |
22
18
Access Approval enables you to require your explicit approval whenever Google support and engineering need to access your customer content.
23
- references : !ruby/object:Api::Resource::ReferenceLinks
19
+ references :
20
+ guides :
24
21
api : ' https://cloud.google.com/access-approval/docs/reference/rest/v1/folders'
25
- legacy_name : ' google_folder_access_approval_settings'
26
- import_format : ['folders/{{folder_id}}/accessApprovalSettings']
22
+ docs :
23
+ base_url : ' folders/{{folder_id}}/accessApprovalSettings'
24
+ self_link : ' folders/{{folder_id}}/accessApprovalSettings'
25
+ create_verb : ' PATCH'
26
+ update_verb : ' PATCH'
27
+ update_mask : true
28
+ import_format :
29
+ - ' folders/{{folder_id}}/accessApprovalSettings'
30
+ timeouts :
31
+ insert_minutes : 20
32
+ update_minutes : 20
33
+ delete_minutes : 20
34
+ custom_code :
35
+ constants : ' templates/terraform/constants/access_approval.go.tmpl'
36
+ pre_create : ' templates/terraform/update_mask.go.tmpl'
37
+ custom_delete : ' templates/terraform/custom_delete/clear_folder_access_approval_settings.go.tmpl'
27
38
examples :
28
- - !ruby/object:Provider::Terraform::Examples
29
- skip_test : true
30
- name : ' folder_access_approval_full'
39
+ - name : ' folder_access_approval_full'
31
40
primary_resource_id : ' folder_access_approval'
32
41
vars :
33
42
folder_name : ' my-folder'
34
43
test_env_vars :
35
- org_id : :ORG_ID
36
- - !ruby/object:Provider::Terraform::Examples
37
- skip_test : true
38
- name : ' folder_access_approval_active_key_version'
44
+ org_id : ' ORG_ID'
45
+ exclude_test : true
46
+ - name : ' folder_access_approval_active_key_version'
39
47
primary_resource_id : ' folder_access_approval'
40
48
vars :
41
49
folder_name : ' my-folder'
42
50
test_env_vars :
43
- org_id : :ORG_ID
44
- custom_code : !ruby/object:Provider::Terraform::CustomCode
45
- custom_delete : templates/terraform/custom_delete/clear_folder_access_approval_settings.go.erb
46
- pre_create : templates/terraform/update_mask.erb
47
- constants : templates/terraform/constants/access_approval.go.erb
51
+ org_id : ' ORG_ID'
52
+ exclude_test : true
48
53
parameters :
49
- - !ruby/object:Api::Type::String
50
- name : folder_id
54
+ - name : ' folder_id '
55
+ type : String
51
56
description : |
52
57
ID of the folder of the access approval settings.
58
+ url_param_only : true
53
59
required : true
54
60
immutable : true
55
- url_param_only : true
56
61
properties :
57
- - !ruby/object:Api::Type::String
58
- name : name
62
+ - name : ' name '
63
+ type : String
59
64
description : |
60
65
The resource name of the settings. Format is "folders/{folder_id}/accessApprovalSettings"
61
66
output : true
62
- - !ruby/object:Api::Type::Array
63
- name : notificationEmails
67
+ - name : ' notificationEmails '
68
+ type : Array
64
69
description : |
65
70
A list of email addresses to which notifications relating to approval requests should be sent.
66
71
Notifications relating to a resource will be sent to all emails in the settings of ancestor
67
72
resources of that resource. A maximum of 50 email addresses are allowed.
68
- max_size : 50
69
- item_type : Api::Type::String
70
73
is_set : true
71
74
default_from_api : true
72
- - !ruby/object:Api::Type::Array
73
- name : enrolledServices
74
- required : true
75
+ item_type :
76
+ type : String
77
+ max_size : 50
78
+ - name : ' enrolledServices'
79
+ type : Array
75
80
description : |
76
81
A list of Google Cloud Services for which the given resource has Access Approval enrolled.
77
82
Access requests for the resource given by name against any of these services contained here will be required
78
83
to have explicit approval. Enrollment can only be done on an all or nothing basis.
79
84
80
85
A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.
81
86
is_set : true
87
+ required : true
82
88
set_hash_func : accessApprovalEnrolledServicesHash
83
- item_type : !ruby/object:Api::Type::NestedObject
89
+ item_type :
90
+ type : NestedObject
84
91
properties :
85
- - !ruby/object:Api::Type::String
86
- name : cloudProduct
87
- required : true
92
+ - name : ' cloudProduct'
93
+ type : String
88
94
description : |
89
95
The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive):
90
96
* all
@@ -110,34 +116,35 @@ properties:
110
116
* iam.googleapis.com
111
117
* pubsub.googleapis.com
112
118
* storage.googleapis.com
113
- - !ruby/object:Api::Type::Enum
114
- name : enrollmentLevel
119
+ required : true
120
+ - name : ' enrollmentLevel'
121
+ type : Enum
115
122
description : |
116
123
The enrollment level of the service.
117
- default_value : :BLOCK_ALL
118
- values :
119
- - :BLOCK_ALL
120
- - !ruby/object:Api::Type::Boolean
121
- name : enrolledAncestor
122
- output : true
124
+ default_value : " BLOCK_ALL"
125
+ enum_values :
126
+ - ' BLOCK_ALL'
127
+ - name : ' enrolledAncestor'
128
+ type : Boolean
123
129
description : |
124
130
If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Folder.
125
- - !ruby/object:Api::Type::String
126
- name : activeKeyVersion
131
+ output : true
132
+ - name : ' activeKeyVersion'
133
+ type : String
127
134
description : |
128
135
The asymmetric crypto key version to use for signing approval requests.
129
136
Empty active_key_version indicates that a Google-managed key should be used for signing.
130
137
This property will be ignored if set by an ancestor of the resource, and new non-empty values may not be set.
131
- - !ruby/object:Api::Type::Boolean
132
- name : ancestorHasActiveKeyVersion
133
- output : true
138
+ - name : ' ancestorHasActiveKeyVersion'
139
+ type : Boolean
134
140
description : |
135
141
If the field is true, that indicates that an ancestor of this Folder has set active_key_version.
136
- - !ruby/object:Api::Type::Boolean
137
- name : invalidKeyVersion
138
142
output : true
143
+ - name : ' invalidKeyVersion'
144
+ type : Boolean
139
145
description : |
140
146
If the field is true, that indicates that there is some configuration issue with the active_key_version
141
147
configured on this Folder (e.g. it doesn't exist or the Access Approval service account doesn't have the
142
148
correct permissions on it, etc.) This key version is not necessarily the effective key version at this level,
143
149
as key versions are inherited top-down.
150
+ output : true
0 commit comments