/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information that must be exchanged to securely establish a
* relationship between two accounts (an originator and a recipient).
* For example, when a management account (the originator) invites another account
* (the recipient) to join its organization, the two accounts exchange information
* as a series of handshake requests and responses. Note: Handshakes
* that are CANCELED
, ACCEPTED
, DECLINED
, or
* EXPIRED
show up in lists for only 30 days after entering that state
* After that they are deleted.See Also:
AWS
* API Reference
The unique identifier (ID) of a handshake. The originating account creates * the ID when it initiates the handshake.
The regex pattern for handshake ID string * requires "h-" followed by from 8 to 32 lowercase letters or digits.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The unique identifier (ID) of a handshake. The originating account creates * the ID when it initiates the handshake.
The regex pattern for handshake ID string * requires "h-" followed by from 8 to 32 lowercase letters or digits.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The unique identifier (ID) of a handshake. The originating account creates * the ID when it initiates the handshake.
The regex pattern for handshake ID string * requires "h-" followed by from 8 to 32 lowercase letters or digits.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The unique identifier (ID) of a handshake. The originating account creates * the ID when it initiates the handshake.
The regex pattern for handshake ID string * requires "h-" followed by from 8 to 32 lowercase letters or digits.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The unique identifier (ID) of a handshake. The originating account creates * the ID when it initiates the handshake.
The regex pattern for handshake ID string * requires "h-" followed by from 8 to 32 lowercase letters or digits.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The unique identifier (ID) of a handshake. The originating account creates * the ID when it initiates the handshake.
The regex pattern for handshake ID string * requires "h-" followed by from 8 to 32 lowercase letters or digits.
*/ inline Handshake& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The unique identifier (ID) of a handshake. The originating account creates * the ID when it initiates the handshake.
The regex pattern for handshake ID string * requires "h-" followed by from 8 to 32 lowercase letters or digits.
*/ inline Handshake& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The unique identifier (ID) of a handshake. The originating account creates * the ID when it initiates the handshake.
The regex pattern for handshake ID string * requires "h-" followed by from 8 to 32 lowercase letters or digits.
*/ inline Handshake& WithId(const char* value) { SetId(value); return *this;} /** *The Amazon Resource Name (ARN) of a handshake.
For more information * about ARNs in Organizations, see ARN * Formats Supported by Organizations in the Amazon Web Services Service * Authorization Reference.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon Resource Name (ARN) of a handshake.
For more information * about ARNs in Organizations, see ARN * Formats Supported by Organizations in the Amazon Web Services Service * Authorization Reference.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon Resource Name (ARN) of a handshake.
For more information * about ARNs in Organizations, see ARN * Formats Supported by Organizations in the Amazon Web Services Service * Authorization Reference.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon Resource Name (ARN) of a handshake.
For more information * about ARNs in Organizations, see ARN * Formats Supported by Organizations in the Amazon Web Services Service * Authorization Reference.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon Resource Name (ARN) of a handshake.
For more information * about ARNs in Organizations, see ARN * Formats Supported by Organizations in the Amazon Web Services Service * Authorization Reference.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon Resource Name (ARN) of a handshake.
For more information * about ARNs in Organizations, see ARN * Formats Supported by Organizations in the Amazon Web Services Service * Authorization Reference.
*/ inline Handshake& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon Resource Name (ARN) of a handshake.
For more information * about ARNs in Organizations, see ARN * Formats Supported by Organizations in the Amazon Web Services Service * Authorization Reference.
*/ inline Handshake& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of a handshake.
For more information * about ARNs in Organizations, see ARN * Formats Supported by Organizations in the Amazon Web Services Service * Authorization Reference.
*/ inline Handshake& WithArn(const char* value) { SetArn(value); return *this;} /** *Information about the two accounts that are participating in the * handshake.
*/ inline const Aws::VectorInformation about the two accounts that are participating in the * handshake.
*/ inline bool PartiesHasBeenSet() const { return m_partiesHasBeenSet; } /** *Information about the two accounts that are participating in the * handshake.
*/ inline void SetParties(const Aws::VectorInformation about the two accounts that are participating in the * handshake.
*/ inline void SetParties(Aws::VectorInformation about the two accounts that are participating in the * handshake.
*/ inline Handshake& WithParties(const Aws::VectorInformation about the two accounts that are participating in the * handshake.
*/ inline Handshake& WithParties(Aws::VectorInformation about the two accounts that are participating in the * handshake.
*/ inline Handshake& AddParties(const HandshakeParty& value) { m_partiesHasBeenSet = true; m_parties.push_back(value); return *this; } /** *Information about the two accounts that are participating in the * handshake.
*/ inline Handshake& AddParties(HandshakeParty&& value) { m_partiesHasBeenSet = true; m_parties.push_back(std::move(value)); return *this; } /** *The current state of the handshake. Use the state to trace the flow of the * handshake through the process from its creation to its acceptance. The meaning * of each of the valid values is as follows:
REQUESTED: * This handshake was sent to multiple recipients (applicable to only some * handshake types) and not all recipients have responded yet. The request stays in * this state until all recipients respond.
OPEN: This * handshake was sent to multiple recipients (applicable to only some policy types) * and all recipients have responded, allowing the originator to complete the * handshake action.
CANCELED: This handshake is no * longer active because it was canceled by the originating account.
ACCEPTED: This handshake is complete because it has been accepted by * the recipient.
DECLINED: This handshake is no longer * active because it was declined by the recipient account.
* EXPIRED: This handshake is no longer active because the originator did * not receive a response of any kind from the recipient before the expiration time * (15 days).
The current state of the handshake. Use the state to trace the flow of the * handshake through the process from its creation to its acceptance. The meaning * of each of the valid values is as follows:
REQUESTED: * This handshake was sent to multiple recipients (applicable to only some * handshake types) and not all recipients have responded yet. The request stays in * this state until all recipients respond.
OPEN: This * handshake was sent to multiple recipients (applicable to only some policy types) * and all recipients have responded, allowing the originator to complete the * handshake action.
CANCELED: This handshake is no * longer active because it was canceled by the originating account.
ACCEPTED: This handshake is complete because it has been accepted by * the recipient.
DECLINED: This handshake is no longer * active because it was declined by the recipient account.
* EXPIRED: This handshake is no longer active because the originator did * not receive a response of any kind from the recipient before the expiration time * (15 days).
The current state of the handshake. Use the state to trace the flow of the * handshake through the process from its creation to its acceptance. The meaning * of each of the valid values is as follows:
REQUESTED: * This handshake was sent to multiple recipients (applicable to only some * handshake types) and not all recipients have responded yet. The request stays in * this state until all recipients respond.
OPEN: This * handshake was sent to multiple recipients (applicable to only some policy types) * and all recipients have responded, allowing the originator to complete the * handshake action.
CANCELED: This handshake is no * longer active because it was canceled by the originating account.
ACCEPTED: This handshake is complete because it has been accepted by * the recipient.
DECLINED: This handshake is no longer * active because it was declined by the recipient account.
* EXPIRED: This handshake is no longer active because the originator did * not receive a response of any kind from the recipient before the expiration time * (15 days).
The current state of the handshake. Use the state to trace the flow of the * handshake through the process from its creation to its acceptance. The meaning * of each of the valid values is as follows:
REQUESTED: * This handshake was sent to multiple recipients (applicable to only some * handshake types) and not all recipients have responded yet. The request stays in * this state until all recipients respond.
OPEN: This * handshake was sent to multiple recipients (applicable to only some policy types) * and all recipients have responded, allowing the originator to complete the * handshake action.
CANCELED: This handshake is no * longer active because it was canceled by the originating account.
ACCEPTED: This handshake is complete because it has been accepted by * the recipient.
DECLINED: This handshake is no longer * active because it was declined by the recipient account.
* EXPIRED: This handshake is no longer active because the originator did * not receive a response of any kind from the recipient before the expiration time * (15 days).
The current state of the handshake. Use the state to trace the flow of the * handshake through the process from its creation to its acceptance. The meaning * of each of the valid values is as follows:
REQUESTED: * This handshake was sent to multiple recipients (applicable to only some * handshake types) and not all recipients have responded yet. The request stays in * this state until all recipients respond.
OPEN: This * handshake was sent to multiple recipients (applicable to only some policy types) * and all recipients have responded, allowing the originator to complete the * handshake action.
CANCELED: This handshake is no * longer active because it was canceled by the originating account.
ACCEPTED: This handshake is complete because it has been accepted by * the recipient.
DECLINED: This handshake is no longer * active because it was declined by the recipient account.
* EXPIRED: This handshake is no longer active because the originator did * not receive a response of any kind from the recipient before the expiration time * (15 days).
The current state of the handshake. Use the state to trace the flow of the * handshake through the process from its creation to its acceptance. The meaning * of each of the valid values is as follows:
REQUESTED: * This handshake was sent to multiple recipients (applicable to only some * handshake types) and not all recipients have responded yet. The request stays in * this state until all recipients respond.
OPEN: This * handshake was sent to multiple recipients (applicable to only some policy types) * and all recipients have responded, allowing the originator to complete the * handshake action.
CANCELED: This handshake is no * longer active because it was canceled by the originating account.
ACCEPTED: This handshake is complete because it has been accepted by * the recipient.
DECLINED: This handshake is no longer * active because it was declined by the recipient account.
* EXPIRED: This handshake is no longer active because the originator did * not receive a response of any kind from the recipient before the expiration time * (15 days).
The date and time that the handshake request was made.
*/ inline const Aws::Utils::DateTime& GetRequestedTimestamp() const{ return m_requestedTimestamp; } /** *The date and time that the handshake request was made.
*/ inline bool RequestedTimestampHasBeenSet() const { return m_requestedTimestampHasBeenSet; } /** *The date and time that the handshake request was made.
*/ inline void SetRequestedTimestamp(const Aws::Utils::DateTime& value) { m_requestedTimestampHasBeenSet = true; m_requestedTimestamp = value; } /** *The date and time that the handshake request was made.
*/ inline void SetRequestedTimestamp(Aws::Utils::DateTime&& value) { m_requestedTimestampHasBeenSet = true; m_requestedTimestamp = std::move(value); } /** *The date and time that the handshake request was made.
*/ inline Handshake& WithRequestedTimestamp(const Aws::Utils::DateTime& value) { SetRequestedTimestamp(value); return *this;} /** *The date and time that the handshake request was made.
*/ inline Handshake& WithRequestedTimestamp(Aws::Utils::DateTime&& value) { SetRequestedTimestamp(std::move(value)); return *this;} /** *The date and time that the handshake expires. If the recipient of the * handshake request fails to respond before the specified date and time, the * handshake becomes inactive and is no longer valid.
*/ inline const Aws::Utils::DateTime& GetExpirationTimestamp() const{ return m_expirationTimestamp; } /** *The date and time that the handshake expires. If the recipient of the * handshake request fails to respond before the specified date and time, the * handshake becomes inactive and is no longer valid.
*/ inline bool ExpirationTimestampHasBeenSet() const { return m_expirationTimestampHasBeenSet; } /** *The date and time that the handshake expires. If the recipient of the * handshake request fails to respond before the specified date and time, the * handshake becomes inactive and is no longer valid.
*/ inline void SetExpirationTimestamp(const Aws::Utils::DateTime& value) { m_expirationTimestampHasBeenSet = true; m_expirationTimestamp = value; } /** *The date and time that the handshake expires. If the recipient of the * handshake request fails to respond before the specified date and time, the * handshake becomes inactive and is no longer valid.
*/ inline void SetExpirationTimestamp(Aws::Utils::DateTime&& value) { m_expirationTimestampHasBeenSet = true; m_expirationTimestamp = std::move(value); } /** *The date and time that the handshake expires. If the recipient of the * handshake request fails to respond before the specified date and time, the * handshake becomes inactive and is no longer valid.
*/ inline Handshake& WithExpirationTimestamp(const Aws::Utils::DateTime& value) { SetExpirationTimestamp(value); return *this;} /** *The date and time that the handshake expires. If the recipient of the * handshake request fails to respond before the specified date and time, the * handshake becomes inactive and is no longer valid.
*/ inline Handshake& WithExpirationTimestamp(Aws::Utils::DateTime&& value) { SetExpirationTimestamp(std::move(value)); return *this;} /** *The type of handshake, indicating what action occurs when the recipient * accepts the handshake. The following handshake types are supported:
INVITE: This type of handshake represents a request to join an * organization. It is always sent from the management account to only non-member * accounts.
ENABLE_ALL_FEATURES: This type of handshake * represents a request to enable all features in an organization. It is always * sent from the management account to only invited member accounts. Created * accounts do not receive this because those accounts were created by the * organization's management account and approval is inferred.
* APPROVE_ALL_FEATURES: This type of handshake is sent from the
* Organizations service when all member accounts have approved the
* ENABLE_ALL_FEATURES
invitation. It is sent only to the management
* account and signals the master that it can finalize the process to enable all
* features.
The type of handshake, indicating what action occurs when the recipient * accepts the handshake. The following handshake types are supported:
INVITE: This type of handshake represents a request to join an * organization. It is always sent from the management account to only non-member * accounts.
ENABLE_ALL_FEATURES: This type of handshake * represents a request to enable all features in an organization. It is always * sent from the management account to only invited member accounts. Created * accounts do not receive this because those accounts were created by the * organization's management account and approval is inferred.
* APPROVE_ALL_FEATURES: This type of handshake is sent from the
* Organizations service when all member accounts have approved the
* ENABLE_ALL_FEATURES
invitation. It is sent only to the management
* account and signals the master that it can finalize the process to enable all
* features.
The type of handshake, indicating what action occurs when the recipient * accepts the handshake. The following handshake types are supported:
INVITE: This type of handshake represents a request to join an * organization. It is always sent from the management account to only non-member * accounts.
ENABLE_ALL_FEATURES: This type of handshake * represents a request to enable all features in an organization. It is always * sent from the management account to only invited member accounts. Created * accounts do not receive this because those accounts were created by the * organization's management account and approval is inferred.
* APPROVE_ALL_FEATURES: This type of handshake is sent from the
* Organizations service when all member accounts have approved the
* ENABLE_ALL_FEATURES
invitation. It is sent only to the management
* account and signals the master that it can finalize the process to enable all
* features.
The type of handshake, indicating what action occurs when the recipient * accepts the handshake. The following handshake types are supported:
INVITE: This type of handshake represents a request to join an * organization. It is always sent from the management account to only non-member * accounts.
ENABLE_ALL_FEATURES: This type of handshake * represents a request to enable all features in an organization. It is always * sent from the management account to only invited member accounts. Created * accounts do not receive this because those accounts were created by the * organization's management account and approval is inferred.
* APPROVE_ALL_FEATURES: This type of handshake is sent from the
* Organizations service when all member accounts have approved the
* ENABLE_ALL_FEATURES
invitation. It is sent only to the management
* account and signals the master that it can finalize the process to enable all
* features.
The type of handshake, indicating what action occurs when the recipient * accepts the handshake. The following handshake types are supported:
INVITE: This type of handshake represents a request to join an * organization. It is always sent from the management account to only non-member * accounts.
ENABLE_ALL_FEATURES: This type of handshake * represents a request to enable all features in an organization. It is always * sent from the management account to only invited member accounts. Created * accounts do not receive this because those accounts were created by the * organization's management account and approval is inferred.
* APPROVE_ALL_FEATURES: This type of handshake is sent from the
* Organizations service when all member accounts have approved the
* ENABLE_ALL_FEATURES
invitation. It is sent only to the management
* account and signals the master that it can finalize the process to enable all
* features.
The type of handshake, indicating what action occurs when the recipient * accepts the handshake. The following handshake types are supported:
INVITE: This type of handshake represents a request to join an * organization. It is always sent from the management account to only non-member * accounts.
ENABLE_ALL_FEATURES: This type of handshake * represents a request to enable all features in an organization. It is always * sent from the management account to only invited member accounts. Created * accounts do not receive this because those accounts were created by the * organization's management account and approval is inferred.
* APPROVE_ALL_FEATURES: This type of handshake is sent from the
* Organizations service when all member accounts have approved the
* ENABLE_ALL_FEATURES
invitation. It is sent only to the management
* account and signals the master that it can finalize the process to enable all
* features.
Additional information that is needed to process the handshake.
*/ inline const Aws::VectorAdditional information that is needed to process the handshake.
*/ inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; } /** *Additional information that is needed to process the handshake.
*/ inline void SetResources(const Aws::VectorAdditional information that is needed to process the handshake.
*/ inline void SetResources(Aws::VectorAdditional information that is needed to process the handshake.
*/ inline Handshake& WithResources(const Aws::VectorAdditional information that is needed to process the handshake.
*/ inline Handshake& WithResources(Aws::VectorAdditional information that is needed to process the handshake.
*/ inline Handshake& AddResources(const HandshakeResource& value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; } /** *Additional information that is needed to process the handshake.
*/ inline Handshake& AddResources(HandshakeResource&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::Vector