/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lightsail { namespace Model { /** *

Describes the synchronization status of the Amazon Simple Storage Service * (Amazon S3) account-level block public access (BPA) feature for your Lightsail * buckets.

The account-level BPA feature of Amazon S3 provides centralized * controls to limit public access to all Amazon S3 buckets in an account. BPA can * make all Amazon S3 buckets in an Amazon Web Services account private regardless * of the individual bucket and object permissions that are configured. Lightsail * buckets take into account the Amazon S3 account-level BPA configuration when * allowing or denying public access. To do this, Lightsail periodically fetches * the account-level BPA configuration from Amazon S3. When the account-level BPA * status is InSync, the Amazon S3 account-level BPA configuration is * synchronized and it applies to your Lightsail buckets. For more information * about Amazon Simple Storage Service account-level BPA and how it affects * Lightsail buckets, see Block * public access for buckets in Amazon Lightsail in the Amazon Lightsail * Developer Guide.

See Also:

AWS * API Reference

*/ class AccountLevelBpaSync { public: AWS_LIGHTSAIL_API AccountLevelBpaSync(); AWS_LIGHTSAIL_API AccountLevelBpaSync(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API AccountLevelBpaSync& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The status of the account-level BPA synchronization.

The following * statuses are possible:

  • InSync - Account-level BPA * is synchronized. The Amazon S3 account-level BPA configuration applies to your * Lightsail buckets.

  • NeverSynced - Synchronization * has not yet happened. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Failed - * Synchronization failed. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Defaulted - * Synchronization failed and account-level BPA for your Lightsail buckets is * defaulted to active.

You might need to complete * further actions if the status is Failed or Defaulted. * The message parameter provides more information for those * statuses.

*/ inline const AccountLevelBpaSyncStatus& GetStatus() const{ return m_status; } /** *

The status of the account-level BPA synchronization.

The following * statuses are possible:

  • InSync - Account-level BPA * is synchronized. The Amazon S3 account-level BPA configuration applies to your * Lightsail buckets.

  • NeverSynced - Synchronization * has not yet happened. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Failed - * Synchronization failed. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Defaulted - * Synchronization failed and account-level BPA for your Lightsail buckets is * defaulted to active.

You might need to complete * further actions if the status is Failed or Defaulted. * The message parameter provides more information for those * statuses.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the account-level BPA synchronization.

The following * statuses are possible:

  • InSync - Account-level BPA * is synchronized. The Amazon S3 account-level BPA configuration applies to your * Lightsail buckets.

  • NeverSynced - Synchronization * has not yet happened. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Failed - * Synchronization failed. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Defaulted - * Synchronization failed and account-level BPA for your Lightsail buckets is * defaulted to active.

You might need to complete * further actions if the status is Failed or Defaulted. * The message parameter provides more information for those * statuses.

*/ inline void SetStatus(const AccountLevelBpaSyncStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the account-level BPA synchronization.

The following * statuses are possible:

  • InSync - Account-level BPA * is synchronized. The Amazon S3 account-level BPA configuration applies to your * Lightsail buckets.

  • NeverSynced - Synchronization * has not yet happened. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Failed - * Synchronization failed. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Defaulted - * Synchronization failed and account-level BPA for your Lightsail buckets is * defaulted to active.

You might need to complete * further actions if the status is Failed or Defaulted. * The message parameter provides more information for those * statuses.

*/ inline void SetStatus(AccountLevelBpaSyncStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the account-level BPA synchronization.

The following * statuses are possible:

  • InSync - Account-level BPA * is synchronized. The Amazon S3 account-level BPA configuration applies to your * Lightsail buckets.

  • NeverSynced - Synchronization * has not yet happened. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Failed - * Synchronization failed. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Defaulted - * Synchronization failed and account-level BPA for your Lightsail buckets is * defaulted to active.

You might need to complete * further actions if the status is Failed or Defaulted. * The message parameter provides more information for those * statuses.

*/ inline AccountLevelBpaSync& WithStatus(const AccountLevelBpaSyncStatus& value) { SetStatus(value); return *this;} /** *

The status of the account-level BPA synchronization.

The following * statuses are possible:

  • InSync - Account-level BPA * is synchronized. The Amazon S3 account-level BPA configuration applies to your * Lightsail buckets.

  • NeverSynced - Synchronization * has not yet happened. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Failed - * Synchronization failed. The Amazon S3 account-level BPA configuration does not * apply to your Lightsail buckets.

  • Defaulted - * Synchronization failed and account-level BPA for your Lightsail buckets is * defaulted to active.

You might need to complete * further actions if the status is Failed or Defaulted. * The message parameter provides more information for those * statuses.

*/ inline AccountLevelBpaSync& WithStatus(AccountLevelBpaSyncStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The timestamp of when the account-level BPA configuration was last * synchronized. This value is null when the account-level BPA configuration has * not been synchronized.

*/ inline const Aws::Utils::DateTime& GetLastSyncedAt() const{ return m_lastSyncedAt; } /** *

The timestamp of when the account-level BPA configuration was last * synchronized. This value is null when the account-level BPA configuration has * not been synchronized.

*/ inline bool LastSyncedAtHasBeenSet() const { return m_lastSyncedAtHasBeenSet; } /** *

The timestamp of when the account-level BPA configuration was last * synchronized. This value is null when the account-level BPA configuration has * not been synchronized.

*/ inline void SetLastSyncedAt(const Aws::Utils::DateTime& value) { m_lastSyncedAtHasBeenSet = true; m_lastSyncedAt = value; } /** *

The timestamp of when the account-level BPA configuration was last * synchronized. This value is null when the account-level BPA configuration has * not been synchronized.

*/ inline void SetLastSyncedAt(Aws::Utils::DateTime&& value) { m_lastSyncedAtHasBeenSet = true; m_lastSyncedAt = std::move(value); } /** *

The timestamp of when the account-level BPA configuration was last * synchronized. This value is null when the account-level BPA configuration has * not been synchronized.

*/ inline AccountLevelBpaSync& WithLastSyncedAt(const Aws::Utils::DateTime& value) { SetLastSyncedAt(value); return *this;} /** *

The timestamp of when the account-level BPA configuration was last * synchronized. This value is null when the account-level BPA configuration has * not been synchronized.

*/ inline AccountLevelBpaSync& WithLastSyncedAt(Aws::Utils::DateTime&& value) { SetLastSyncedAt(std::move(value)); return *this;} /** *

A message that provides a reason for a Failed or * Defaulted synchronization status.

The following messages are * possible:

  • SYNC_ON_HOLD - The synchronization has * not yet happened. This status message occurs immediately after you create your * first Lightsail bucket. This status message should change after the first * synchronization happens, approximately 1 hour after the first bucket is * created.

  • DEFAULTED_FOR_SLR_MISSING - The * synchronization failed because the required service-linked role is missing from * your Amazon Web Services account. The account-level BPA configuration for your * Lightsail buckets is defaulted to active until the synchronization can * occur. This means that all your buckets are private and not publicly accessible. * For more information about how to create the required service-linked role to * allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • * DEFAULTED_FOR_SLR_MISSING_ON_HOLD - The synchronization failed * because the required service-linked role is missing from your Amazon Web * Services account. Account-level BPA is not yet configured for your Lightsail * buckets. Therefore, only the bucket access permissions and individual object * access permissions apply to your Lightsail buckets. For more information about * how to create the required service-linked role to allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • Unknown - The reason that * synchronization failed is unknown. Contact Amazon Web Services Support for more * information.

*/ inline const BPAStatusMessage& GetMessage() const{ return m_message; } /** *

A message that provides a reason for a Failed or * Defaulted synchronization status.

The following messages are * possible:

  • SYNC_ON_HOLD - The synchronization has * not yet happened. This status message occurs immediately after you create your * first Lightsail bucket. This status message should change after the first * synchronization happens, approximately 1 hour after the first bucket is * created.

  • DEFAULTED_FOR_SLR_MISSING - The * synchronization failed because the required service-linked role is missing from * your Amazon Web Services account. The account-level BPA configuration for your * Lightsail buckets is defaulted to active until the synchronization can * occur. This means that all your buckets are private and not publicly accessible. * For more information about how to create the required service-linked role to * allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • * DEFAULTED_FOR_SLR_MISSING_ON_HOLD - The synchronization failed * because the required service-linked role is missing from your Amazon Web * Services account. Account-level BPA is not yet configured for your Lightsail * buckets. Therefore, only the bucket access permissions and individual object * access permissions apply to your Lightsail buckets. For more information about * how to create the required service-linked role to allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • Unknown - The reason that * synchronization failed is unknown. Contact Amazon Web Services Support for more * information.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

A message that provides a reason for a Failed or * Defaulted synchronization status.

The following messages are * possible:

  • SYNC_ON_HOLD - The synchronization has * not yet happened. This status message occurs immediately after you create your * first Lightsail bucket. This status message should change after the first * synchronization happens, approximately 1 hour after the first bucket is * created.

  • DEFAULTED_FOR_SLR_MISSING - The * synchronization failed because the required service-linked role is missing from * your Amazon Web Services account. The account-level BPA configuration for your * Lightsail buckets is defaulted to active until the synchronization can * occur. This means that all your buckets are private and not publicly accessible. * For more information about how to create the required service-linked role to * allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • * DEFAULTED_FOR_SLR_MISSING_ON_HOLD - The synchronization failed * because the required service-linked role is missing from your Amazon Web * Services account. Account-level BPA is not yet configured for your Lightsail * buckets. Therefore, only the bucket access permissions and individual object * access permissions apply to your Lightsail buckets. For more information about * how to create the required service-linked role to allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • Unknown - The reason that * synchronization failed is unknown. Contact Amazon Web Services Support for more * information.

*/ inline void SetMessage(const BPAStatusMessage& value) { m_messageHasBeenSet = true; m_message = value; } /** *

A message that provides a reason for a Failed or * Defaulted synchronization status.

The following messages are * possible:

  • SYNC_ON_HOLD - The synchronization has * not yet happened. This status message occurs immediately after you create your * first Lightsail bucket. This status message should change after the first * synchronization happens, approximately 1 hour after the first bucket is * created.

  • DEFAULTED_FOR_SLR_MISSING - The * synchronization failed because the required service-linked role is missing from * your Amazon Web Services account. The account-level BPA configuration for your * Lightsail buckets is defaulted to active until the synchronization can * occur. This means that all your buckets are private and not publicly accessible. * For more information about how to create the required service-linked role to * allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • * DEFAULTED_FOR_SLR_MISSING_ON_HOLD - The synchronization failed * because the required service-linked role is missing from your Amazon Web * Services account. Account-level BPA is not yet configured for your Lightsail * buckets. Therefore, only the bucket access permissions and individual object * access permissions apply to your Lightsail buckets. For more information about * how to create the required service-linked role to allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • Unknown - The reason that * synchronization failed is unknown. Contact Amazon Web Services Support for more * information.

*/ inline void SetMessage(BPAStatusMessage&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

A message that provides a reason for a Failed or * Defaulted synchronization status.

The following messages are * possible:

  • SYNC_ON_HOLD - The synchronization has * not yet happened. This status message occurs immediately after you create your * first Lightsail bucket. This status message should change after the first * synchronization happens, approximately 1 hour after the first bucket is * created.

  • DEFAULTED_FOR_SLR_MISSING - The * synchronization failed because the required service-linked role is missing from * your Amazon Web Services account. The account-level BPA configuration for your * Lightsail buckets is defaulted to active until the synchronization can * occur. This means that all your buckets are private and not publicly accessible. * For more information about how to create the required service-linked role to * allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • * DEFAULTED_FOR_SLR_MISSING_ON_HOLD - The synchronization failed * because the required service-linked role is missing from your Amazon Web * Services account. Account-level BPA is not yet configured for your Lightsail * buckets. Therefore, only the bucket access permissions and individual object * access permissions apply to your Lightsail buckets. For more information about * how to create the required service-linked role to allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • Unknown - The reason that * synchronization failed is unknown. Contact Amazon Web Services Support for more * information.

*/ inline AccountLevelBpaSync& WithMessage(const BPAStatusMessage& value) { SetMessage(value); return *this;} /** *

A message that provides a reason for a Failed or * Defaulted synchronization status.

The following messages are * possible:

  • SYNC_ON_HOLD - The synchronization has * not yet happened. This status message occurs immediately after you create your * first Lightsail bucket. This status message should change after the first * synchronization happens, approximately 1 hour after the first bucket is * created.

  • DEFAULTED_FOR_SLR_MISSING - The * synchronization failed because the required service-linked role is missing from * your Amazon Web Services account. The account-level BPA configuration for your * Lightsail buckets is defaulted to active until the synchronization can * occur. This means that all your buckets are private and not publicly accessible. * For more information about how to create the required service-linked role to * allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • * DEFAULTED_FOR_SLR_MISSING_ON_HOLD - The synchronization failed * because the required service-linked role is missing from your Amazon Web * Services account. Account-level BPA is not yet configured for your Lightsail * buckets. Therefore, only the bucket access permissions and individual object * access permissions apply to your Lightsail buckets. For more information about * how to create the required service-linked role to allow synchronization, see Using * Service-Linked Roles for Amazon Lightsail in the Amazon Lightsail * Developer Guide.

  • Unknown - The reason that * synchronization failed is unknown. Contact Amazon Web Services Support for more * information.

*/ inline AccountLevelBpaSync& WithMessage(BPAStatusMessage&& value) { SetMessage(std::move(value)); return *this;} /** *

A Boolean value that indicates whether account-level block public access is * affecting your Lightsail buckets.

*/ inline bool GetBpaImpactsLightsail() const{ return m_bpaImpactsLightsail; } /** *

A Boolean value that indicates whether account-level block public access is * affecting your Lightsail buckets.

*/ inline bool BpaImpactsLightsailHasBeenSet() const { return m_bpaImpactsLightsailHasBeenSet; } /** *

A Boolean value that indicates whether account-level block public access is * affecting your Lightsail buckets.

*/ inline void SetBpaImpactsLightsail(bool value) { m_bpaImpactsLightsailHasBeenSet = true; m_bpaImpactsLightsail = value; } /** *

A Boolean value that indicates whether account-level block public access is * affecting your Lightsail buckets.

*/ inline AccountLevelBpaSync& WithBpaImpactsLightsail(bool value) { SetBpaImpactsLightsail(value); return *this;} private: AccountLevelBpaSyncStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_lastSyncedAt; bool m_lastSyncedAtHasBeenSet = false; BPAStatusMessage m_message; bool m_messageHasBeenSet = false; bool m_bpaImpactsLightsail; bool m_bpaImpactsLightsailHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws