@@ -17,15 +17,21 @@ name: 'ProjectManagementHub'
17
17
kind : ' storage#managementhub'
18
18
# Resource description for the provider documentation.
19
19
description : |
20
- RESOURCE_DESCRIPTION
21
- references :
22
- guides :
23
- # Link to quickstart in the API's Guides section. For example:
24
- # 'Create and connect to a database': 'https://cloud.google.com/alloydb/docs/quickstart/create-and-connect'
25
- ' QUICKSTART_TITLE ' : ' QUICKSTART_URL'
26
- # Link to the REST API reference for the resource. For example,
27
- # https://cloud.google.com/alloydb/docs/reference/rest/v1/projects.locations.backups
28
- api : ' API_REFERENCE_URL'
20
+ The Project Management Hub resource represents GCS Management Hub operating on
21
+ individual GCP project. Management Hub is a singleton resource and individual
22
+ instance exists on each GCP project.
23
+
24
+ Management Hub is for Storage Admins to manage GCP storage assets at scale for
25
+ performance, cost, security & compliance.
26
+
27
+ docs :
28
+ warning : |
29
+ Management Hub is a singleton resource which cannot be created or
30
+ deleted. A single instance of Management Hub exist for each GCP Project.
31
+ Terraform does not create or destroy this resource. Terraform resource
32
+ creation for this resource is simply an update operation on existing
33
+ resource with specified properties. Terraform deletion won't have any effect
34
+ on this resource rather it will only remove it from the state file.
29
35
# Marks the resource as beta-only. Ensure a beta version block is present in
30
36
# provider.yaml.
31
37
# min_version: beta
@@ -44,6 +50,7 @@ custom_code:
44
50
pre_delete : templates/terraform/constants/storage_management_hub.go.tmpl
45
51
pre_read : templates/terraform/constants/storage_management_hub.go.tmpl
46
52
pre_update : templates/terraform/constants/storage_management_hub.go.tmpl
53
+ custom_create : templates/terraform/custom_create/storage_project_management_hub.go.tmpl
47
54
# Overrides the URL for the resource's standard Update method. (If unset, the
48
55
# self_link URL is used by default.) https://google.aip.dev/134
49
56
# Terraform field names enclosed in double curly braces are replaced with
@@ -75,21 +82,32 @@ properties:
75
82
immutable : true
76
83
url_param_only : true
77
84
description : |
78
- NAME_DESCRIPTION
85
+ Identifier of the GCP project. For GCP project, this field can be project
86
+ name or project number.
79
87
- name : ' editionConfig'
80
88
type : String
81
89
required : false
82
90
default_from_api : true
91
+ description : |
92
+ Edition configuration of the Management Hub resource. Valid values are
93
+ INHERIT, DISABLED and STANDARD.
83
94
- name : ' updateTime'
84
95
type : String
85
96
output : true
97
+ description : |
98
+ The time at which the Management Hub resource is last updated.
86
99
- name : ' filter'
87
100
type : NestedObject
88
- description :
101
+ description : |
102
+ Filter over location and bucket using include or exclude semantics.
103
+ Resources that match the include or exclude filter are exclusively
104
+ included or excluded from the Management Hub plan.
89
105
properties :
90
106
- name : excludedCloudStorageBuckets
91
107
type : NestedObject
92
108
required : false
109
+ description : |
110
+ Buckets to exclude from the Management Hub plan.
93
111
conflicts :
94
112
- ' filter.0.included_cloud_storage_buckets'
95
113
at_least_one_of :
@@ -106,11 +124,21 @@ properties:
106
124
properties :
107
125
- name : bucketId
108
126
type : String
127
+ description : |
128
+ Id of the bucket.
129
+ Only one of the bucket_id and bucket_id_regex should be
130
+ specified.
109
131
- name : bucketIdRegex
110
132
type : String
133
+ description : |
134
+ ID regex of the bucket.
135
+ Only one of the bucket_id and bucket_id_regex should be
136
+ specified.
111
137
- name : includedCloudStorageBuckets
112
138
type : NestedObject
113
139
required : false
140
+ description : |
141
+ Buckets to include in the Management Hub plan.
114
142
conflicts :
115
143
- ' filter.0.excluded_cloud_storage_buckets'
116
144
at_least_one_of :
@@ -128,12 +156,22 @@ properties:
128
156
- name : bucketId
129
157
type : String
130
158
required : false
159
+ description : |
160
+ Id of the bucket.
161
+ Only one of the bucket_id and bucket_id_regex should be
162
+ specified.
131
163
- name : bucketIdRegex
132
164
type : String
133
165
required : false
166
+ description : |
167
+ ID regex of the bucket.
168
+ Only one of the bucket_id and bucket_id_regex should be
169
+ specified.
134
170
- name : excludedCloudStorageLocations
135
171
type : NestedObject
136
172
required : false
173
+ description : |
174
+ Locations to exclude from the Management Hub plan.
137
175
conflicts :
138
176
- ' filter.0.included_cloud_storage_locations'
139
177
at_least_one_of :
@@ -145,11 +183,15 @@ properties:
145
183
- name : locations
146
184
type : Array
147
185
required : true
186
+ description : |
187
+ List of locations.
148
188
item_type :
149
189
type : String
150
190
- name : includedCloudStorageLocations
151
191
type : NestedObject
152
192
required : false
193
+ description : |
194
+ Locations to include in the Management Hub plan.
153
195
conflicts :
154
196
- ' filter.0.excluded_cloud_storage_locations'
155
197
at_least_one_of :
@@ -161,5 +203,23 @@ properties:
161
203
- name : locations
162
204
type : Array
163
205
required : true
206
+ description : |
207
+ List of locations.
164
208
item_type :
165
209
type : String
210
+ - name : ' effectiveManagementHubEdition'
211
+ output : true
212
+ description : |
213
+ The Management Hub edition that is effective for the resource.
214
+ type : NestedObject
215
+ properties :
216
+ - name : managementHub
217
+ type : String
218
+ output : true
219
+ description : |
220
+ The Management Hub resource that is applied for the target resource.
221
+ - name : managementHubEdition
222
+ type : String
223
+ output : true
224
+ description : |
225
+ The `ManagementHub` edition that is applicable for the resource.
0 commit comments