You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`owner_email` (String, Deprecated) Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.
29
-
30
-
!> The "owner_email" field has been deprecated in favor of the "members" field. Please use the "members" field to assign the owner role to a user, by setting the "role" field to `owner`.
29
+
-`owner_email` (String) Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.
31
30
-`project_id` (String) Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.
32
31
33
32
### Read-Only
34
33
35
34
-`id` (String) Terraform's internal data source. ID. It is structured as "`container_id`".
36
35
-`labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}
37
-
-`members` (Attributes List) The members assigned to the project. At least one subject needs to be a user, and not a client or service account. (see [below for nested schema](#nestedatt--members))
38
36
-`name` (String) Project name.
39
37
-`parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported
40
-
41
-
<aid="nestedatt--members"></a>
42
-
### Nested Schema for `members`
43
-
44
-
Read-Only:
45
-
46
-
-`role` (String) The role of the member in the project. Legacy roles (`project.admin`, `project.auditor`, `project.member`, `project.owner`) are not supported.
47
-
-`subject` (String) Unique identifier of the user, service account or client. This is usually the email address for users or service accounts, and the name in case of clients.
-`labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}
46
-
-`members` (Attributes List) The members assigned to the project. At least one subject needs to be a user, and not a client or service account. (see [below for nested schema](#nestedatt--members))
47
-
-`owner_email` (String, Deprecated) Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.
48
-
49
-
!> The "owner_email" field has been deprecated in favor of the "members" field. Please use the "members" field to assign the owner role to a user, by setting the "role" field to `owner`.
38
+
-`owner_email` (String) Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.
-`id` (String) Terraform's internal resource ID. It is structured as "`container_id`".
55
44
-`project_id` (String) Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.
56
-
57
-
<aid="nestedatt--members"></a>
58
-
### Nested Schema for `members`
59
-
60
-
Required:
61
-
62
-
-`role` (String) The role of the member in the project. Possible values include, but are not limited to: `owner`, `editor`, `reader`. Legacy roles (`project.admin`, `project.auditor`, `project.member`, `project.owner`) are not supported.
63
-
-`subject` (String) Unique identifier of the user, service account or client. This is usually the email address for users or service accounts, and the name in case of clients.
"main": "Resource Manager project data source schema. To identify the project, you need to provider either project_id or container_id. If you provide both, project_id will be used.",
106
-
"id": "Terraform's internal data source. ID. It is structured as \"`container_id`\".",
107
-
"project_id": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.",
"parent_container_id": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported",
110
-
"name": "Project name.",
111
-
"labels": `Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`,
112
-
"owner_email": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.",
113
-
"owner_email_deprecation_message": "The \"owner_email\" field has been deprecated in favor of the \"members\" field. Please use the \"members\" field to assign the owner role to a user, by setting the \"role\" field to `owner`.",
114
-
"members": "The members assigned to the project. At least one subject needs to be a user, and not a client or service account.",
115
-
"members.role": fmt.Sprintf("The role of the member in the project. Legacy roles (%s) are not supported.", strings.Join(utils.QuoteValues(utils.LegacyProjectRoles), ", ")),
116
-
"members.subject": "Unique identifier of the user, service account or client. This is usually the email address for users or service accounts, and the name in case of clients.",
105
+
"main": "Resource Manager project data source schema. To identify the project, you need to provider either project_id or container_id. If you provide both, project_id will be used.",
106
+
"id": "Terraform's internal data source. ID. It is structured as \"`container_id`\".",
107
+
"project_id": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.",
"parent_container_id": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported",
110
+
"name": "Project name.",
111
+
"labels": `Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`,
112
+
"owner_email": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.",
113
+
"members": "The members assigned to the project. At least one subject needs to be a user, and not a client or service account.",
114
+
"members.role": fmt.Sprintf("The role of the member in the project. Legacy roles (%s) are not supported.", strings.Join(utils.QuoteValues(utils.LegacyProjectRoles), ", ")),
115
+
"members.subject": "Unique identifier of the user, service account or client. This is usually the email address for users or service accounts, and the name in case of clients.",
"main": "Resource Manager project resource schema. To use this resource, it is required that you set the service account email in the provider configuration.",
151
-
"id": "Terraform's internal resource ID. It is structured as \"`container_id`\".",
152
-
"project_id": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.",
"parent_container_id": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported",
155
-
"name": "Project name.",
156
-
"labels": "Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}",
157
-
"owner_email": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.",
158
-
"owner_email_deprecation_message": "The \"owner_email\" field has been deprecated in favor of the \"members\" field. Please use the \"members\" field to assign the owner role to a user, by setting the \"role\" field to `owner`.",
159
-
"members": "The members assigned to the project. At least one subject needs to be a user, and not a client or service account.",
160
-
"members.role": fmt.Sprintf("The role of the member in the project. Possible values include, but are not limited to: `owner`, `editor`, `reader`. Legacy roles (%s) are not supported.", strings.Join(utils.QuoteValues(utils.LegacyProjectRoles), ", ")),
161
-
"members.subject": "Unique identifier of the user, service account or client. This is usually the email address for users or service accounts, and the name in case of clients.",
150
+
"main": "Resource Manager project resource schema. To use this resource, it is required that you set the service account email in the provider configuration.",
151
+
"id": "Terraform's internal resource ID. It is structured as \"`container_id`\".",
152
+
"project_id": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.",
"parent_container_id": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported",
155
+
"name": "Project name.",
156
+
"labels": "Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}",
157
+
"owner_email": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.",
158
+
"members": "The members assigned to the project. At least one subject needs to be a user, and not a client or service account.",
159
+
"members.role": fmt.Sprintf("The role of the member in the project. Possible values include, but are not limited to: `owner`, `editor`, `reader`. Legacy roles (%s) are not supported.", strings.Join(utils.QuoteValues(utils.LegacyProjectRoles), ", ")),
160
+
"members.subject": "Unique identifier of the user, service account or client. This is usually the email address for users or service accounts, and the name in case of clients.",
core.LogAndAddWarning(ctx, &resp.Diagnostics, "The members set in the \"members\" field will override the current members in your project",
278
+
fmt.Sprintf("%s\n%s\n%s\n\n%s",
279
+
"The current members in your project will be removed and replaced with the members set in the \"members\" field.",
280
+
"This might not be represented in the Terraform plan if you are migrating from the \"owner_email\" field, since the current members are not yet set in the state.",
281
+
"Please make sure that the members in the \"members\" field are correct and complete.",
282
+
fmt.Sprintf("Current members in your project:\n%v", strings.Join(members, "\n"))))
283
+
}
284
+
}
285
+
257
286
// ConfigValidators validates the resource configuration
0 commit comments