previous code:
resource "aws_servicecatalog_portfolio_share" "this_share" {
principal_id = "123456789"
portfolio_id = aws_servicecatalog_portfolio.this_portfolio.id
type = "ACCOUNT"
}
Change to:
resource "aws_servicecatalog_portfolio_share" "this_share" {
for_each = ["4567890123","123456789","0987654321"]
principal_id = each.value
portfolio_id = aws_servicecatalog_portfolio.this_portfolio.id
type = "ACCOUNT"
}
Output from “terraform plan”:
aws_servicecatalog_portfolio_share.this_share will be destroyed
(because resource uses count or for_each)
- resource “aws_servicecatalog_portfolio_share” “this_share” {
- accept_language = “en” → null
- accepted = true → null
- id = “port-asdfhlkaswre:ACCOUNT:123456789” → null
- portfolio_id = “port-asdfhlkaswre” → null
- principal_id = “123456789” → null
- share_principals = false → null
- share_tag_options = false → null
- type = “ACCOUNT” → null
- wait_for_acceptance = false → null
aws_servicecatalog_portfolio_share.this_share[“123456789”] will be created
- resource “aws_servicecatalog_portfolio_share” “this_share” {
- accept_language = “en”
- accepted = (known after apply)
- id = (known after apply)
- portfolio_id = “port-asdfhlkaswre”
- principal_id = “123456789”
- share_principals = false
- share_tag_options = false
- type = “ACCOUNT”
- wait_for_acceptance = false
…
What happened:
shares for both “4567890123” & “0987654321” accounts are created but share for “123456789” account not created.
My question: what might we did wrong? thanks