Copyright | (c) 2013-2023 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Updates the specified portfolio share. You can use this API to enable or
disable TagOptions
sharing or Principal sharing for an existing
portfolio share.
The portfolio share cannot be updated if the CreatePortfolioShare
operation is IN_PROGRESS
, as the share is not available to recipient
entities. In this case, you must wait for the portfolio share to be
COMPLETED.
You must provide the accountId
or organization node in the input, but
not both.
If the portfolio is shared to both an external account and an
organization node, and both shares need to be updated, you must invoke
UpdatePortfolioShare
separately for each share type.
This API cannot be used for removing the portfolio share. You must use
DeletePortfolioShare
API for that action.
When you associate a principal with portfolio, a potential privilege
escalation path may occur when that portfolio is then shared with other
accounts. For a user in a recipient account who is not an Service
Catalog Admin, but still has the ability to create Principals
(Users/Groups/Roles), that user could create a role that matches a
principal name association for the portfolio. Although this user may not
know which principal names are associated through Service Catalog, they
may be able to guess the user. If this potential escalation path is a
concern, then Service Catalog recommends using PrincipalType
as IAM
.
With this configuration, the PrincipalARN
must already exist in the
recipient account before it can be associated.
Synopsis
- data UpdatePortfolioShare = UpdatePortfolioShare' {}
- newUpdatePortfolioShare :: Text -> UpdatePortfolioShare
- updatePortfolioShare_acceptLanguage :: Lens' UpdatePortfolioShare (Maybe Text)
- updatePortfolioShare_accountId :: Lens' UpdatePortfolioShare (Maybe Text)
- updatePortfolioShare_organizationNode :: Lens' UpdatePortfolioShare (Maybe OrganizationNode)
- updatePortfolioShare_sharePrincipals :: Lens' UpdatePortfolioShare (Maybe Bool)
- updatePortfolioShare_shareTagOptions :: Lens' UpdatePortfolioShare (Maybe Bool)
- updatePortfolioShare_portfolioId :: Lens' UpdatePortfolioShare Text
- data UpdatePortfolioShareResponse = UpdatePortfolioShareResponse' {}
- newUpdatePortfolioShareResponse :: Int -> UpdatePortfolioShareResponse
- updatePortfolioShareResponse_portfolioShareToken :: Lens' UpdatePortfolioShareResponse (Maybe Text)
- updatePortfolioShareResponse_status :: Lens' UpdatePortfolioShareResponse (Maybe ShareStatus)
- updatePortfolioShareResponse_httpStatus :: Lens' UpdatePortfolioShareResponse Int
Creating a Request
data UpdatePortfolioShare Source #
See: newUpdatePortfolioShare
smart constructor.
UpdatePortfolioShare' | |
|
Instances
newUpdatePortfolioShare Source #
Create a value of UpdatePortfolioShare
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:acceptLanguage:UpdatePortfolioShare'
, updatePortfolioShare_acceptLanguage
- The language code.
en
- English (default)jp
- Japanesezh
- Chinese
$sel:accountId:UpdatePortfolioShare'
, updatePortfolioShare_accountId
- The Amazon Web Services account Id of the recipient account. This field
is required when updating an external account to account type share.
$sel:organizationNode:UpdatePortfolioShare'
, updatePortfolioShare_organizationNode
- Undocumented member.
UpdatePortfolioShare
, updatePortfolioShare_sharePrincipals
- A flag to enables or disables Principals
sharing in the portfolio. If
this field is not provided, the current state of the Principals
sharing on the portfolio share will not be modified.
UpdatePortfolioShare
, updatePortfolioShare_shareTagOptions
- Enables or disables TagOptions
sharing for the portfolio share. If
this field is not provided, the current state of TagOptions sharing on
the portfolio share will not be modified.
UpdatePortfolioShare
, updatePortfolioShare_portfolioId
- The unique identifier of the portfolio for which the share will be
updated.
Request Lenses
updatePortfolioShare_acceptLanguage :: Lens' UpdatePortfolioShare (Maybe Text) Source #
The language code.
en
- English (default)jp
- Japanesezh
- Chinese
updatePortfolioShare_accountId :: Lens' UpdatePortfolioShare (Maybe Text) Source #
The Amazon Web Services account Id of the recipient account. This field is required when updating an external account to account type share.
updatePortfolioShare_organizationNode :: Lens' UpdatePortfolioShare (Maybe OrganizationNode) Source #
Undocumented member.
updatePortfolioShare_sharePrincipals :: Lens' UpdatePortfolioShare (Maybe Bool) Source #
A flag to enables or disables Principals
sharing in the portfolio. If
this field is not provided, the current state of the Principals
sharing on the portfolio share will not be modified.
updatePortfolioShare_shareTagOptions :: Lens' UpdatePortfolioShare (Maybe Bool) Source #
Enables or disables TagOptions
sharing for the portfolio share. If
this field is not provided, the current state of TagOptions sharing on
the portfolio share will not be modified.
updatePortfolioShare_portfolioId :: Lens' UpdatePortfolioShare Text Source #
The unique identifier of the portfolio for which the share will be updated.
Destructuring the Response
data UpdatePortfolioShareResponse Source #
See: newUpdatePortfolioShareResponse
smart constructor.
UpdatePortfolioShareResponse' | |
|
Instances
newUpdatePortfolioShareResponse Source #
Create a value of UpdatePortfolioShareResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:portfolioShareToken:UpdatePortfolioShareResponse'
, updatePortfolioShareResponse_portfolioShareToken
- The token that tracks the status of the UpdatePortfolioShare
operation
for external account to account or organizational type sharing.
UpdatePortfolioShareResponse
, updatePortfolioShareResponse_status
- The status of UpdatePortfolioShare
operation. You can also obtain the
operation status using DescribePortfolioShareStatus
API.
$sel:httpStatus:UpdatePortfolioShareResponse'
, updatePortfolioShareResponse_httpStatus
- The response's http status code.
Response Lenses
updatePortfolioShareResponse_portfolioShareToken :: Lens' UpdatePortfolioShareResponse (Maybe Text) Source #
The token that tracks the status of the UpdatePortfolioShare
operation
for external account to account or organizational type sharing.
updatePortfolioShareResponse_status :: Lens' UpdatePortfolioShareResponse (Maybe ShareStatus) Source #
The status of UpdatePortfolioShare
operation. You can also obtain the
operation status using DescribePortfolioShareStatus
API.
updatePortfolioShareResponse_httpStatus :: Lens' UpdatePortfolioShareResponse Int Source #
The response's http status code.