java.lang.Object
software.amazon.awssdk.services.organizations.model.Handshake
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Handshake.Builder,Handshake>

@Generated("software.amazon.awssdk:codegen") public final class Handshake extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Handshake.Builder,Handshake>

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:
  • Method Details

    • id

      public final String 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.

      Returns:
      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.

    • arn

      public final String 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.

      Returns:
      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.

    • hasParties

      public final boolean hasParties()
      For responses, this returns true if the service returned a value for the Parties property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • parties

      public final List<HandshakeParty> parties()

      Information about the two accounts that are participating in the handshake.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasParties() method.

      Returns:
      Information about the two accounts that are participating in the handshake.
    • state

      public final HandshakeState state()

      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).

      If the service returns an enum value that is not available in the current SDK version, state will return HandshakeState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from stateAsString().

      Returns:
      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).

      See Also:
    • stateAsString

      public final String stateAsString()

      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).

      If the service returns an enum value that is not available in the current SDK version, state will return HandshakeState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from stateAsString().

      Returns:
      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).

      See Also:
    • requestedTimestamp

      public final Instant requestedTimestamp()

      The date and time that the handshake request was made.

      Returns:
      The date and time that the handshake request was made.
    • expirationTimestamp

      public final Instant 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.

      Returns:
      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.
    • action

      public final ActionType action()

      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.

      If the service returns an enum value that is not available in the current SDK version, action will return ActionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from actionAsString().

      Returns:
      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.

      See Also:
    • actionAsString

      public final String actionAsString()

      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.

      If the service returns an enum value that is not available in the current SDK version, action will return ActionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from actionAsString().

      Returns:
      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.

      See Also:
    • hasResources

      public final boolean hasResources()
      For responses, this returns true if the service returned a value for the Resources property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • resources

      public final List<HandshakeResource> resources()

      Additional information that is needed to process the handshake.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasResources() method.

      Returns:
      Additional information that is needed to process the handshake.
    • toBuilder

      public Handshake.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Handshake.Builder,Handshake>
      Returns:
      a builder for type T
    • builder

      public static Handshake.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Handshake.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.