inviteAccountToOrganization method
Sends an invitation to another account to join your organization as a
member account. Organizations sends email on your behalf to the email
address that is associated with the other account's owner. The invitation
is implemented as a Handshake whose details are in the response.
If the request includes tags, then the requester must have the
organizations:TagResource permission.
You can only call this operation from the management account.
May throw AccessDeniedException.
May throw AccountOwnerNotVerifiedException.
May throw AWSOrganizationsNotInUseException.
May throw ConcurrentModificationException.
May throw ConstraintViolationException.
May throw DuplicateHandshakeException.
May throw FinalizingOrganizationException.
May throw HandshakeConstraintViolationException.
May throw InvalidInputException.
May throw ServiceException.
May throw TooManyRequestsException.
Parameter target :
The identifier (ID) of the Amazon Web Services account that you want to
invite to join your organization. This is a JSON object that contains the
following elements:
{ "Type": "ACCOUNT", "Id": "< account id number >"
}
If you use the CLI, you can submit this as a single string, similar to the following example:
--target Id=123456789012,Type=ACCOUNT
If you specify "Type": "ACCOUNT", you must provide the Amazon
Web Services account ID number as the Id. If you specify
"Type": "EMAIL", you must specify the email address that is
associated with the account.
--target Id=diego@example.com,Type=EMAIL
Parameter notes :
Additional information that you want to include in the generated email to
the recipient account owner.
Parameter tags :
A list of tags that you want to attach to the account when it becomes a
member of the organization. For each tag in the list, you must specify
both a tag key and a value. You can set the value to an empty string, but
you can't set it to null. For more information about tagging,
see Tagging
Organizations resources in the Organizations User Guide.
Implementation
Future<InviteAccountToOrganizationResponse> inviteAccountToOrganization({
required HandshakeParty target,
String? notes,
List<Tag>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSOrganizationsV20161128.InviteAccountToOrganization'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Target': target,
if (notes != null) 'Notes': notes,
if (tags != null) 'Tags': tags,
},
);
return InviteAccountToOrganizationResponse.fromJson(jsonResponse.body);
}