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

Describes an App Runner observability configuration resource. Multiple * revisions of a configuration have the same * ObservabilityConfigurationName and different * ObservabilityConfigurationRevision values.

The resource is * designed to configure multiple features (currently one feature, tracing). This * type contains optional members that describe the configuration of these features * (currently one member, TraceConfiguration). If a feature member * isn't specified, the feature isn't enabled.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of this observability configuration.

*/ inline const Aws::String& GetObservabilityConfigurationArn() const{ return m_observabilityConfigurationArn; } /** *

The Amazon Resource Name (ARN) of this observability configuration.

*/ inline bool ObservabilityConfigurationArnHasBeenSet() const { return m_observabilityConfigurationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of this observability configuration.

*/ inline void SetObservabilityConfigurationArn(const Aws::String& value) { m_observabilityConfigurationArnHasBeenSet = true; m_observabilityConfigurationArn = value; } /** *

The Amazon Resource Name (ARN) of this observability configuration.

*/ inline void SetObservabilityConfigurationArn(Aws::String&& value) { m_observabilityConfigurationArnHasBeenSet = true; m_observabilityConfigurationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of this observability configuration.

*/ inline void SetObservabilityConfigurationArn(const char* value) { m_observabilityConfigurationArnHasBeenSet = true; m_observabilityConfigurationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of this observability configuration.

*/ inline ObservabilityConfiguration& WithObservabilityConfigurationArn(const Aws::String& value) { SetObservabilityConfigurationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of this observability configuration.

*/ inline ObservabilityConfiguration& WithObservabilityConfigurationArn(Aws::String&& value) { SetObservabilityConfigurationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of this observability configuration.

*/ inline ObservabilityConfiguration& WithObservabilityConfigurationArn(const char* value) { SetObservabilityConfigurationArn(value); return *this;} /** *

The customer-provided observability configuration name. It can be used in * multiple revisions of a configuration.

*/ inline const Aws::String& GetObservabilityConfigurationName() const{ return m_observabilityConfigurationName; } /** *

The customer-provided observability configuration name. It can be used in * multiple revisions of a configuration.

*/ inline bool ObservabilityConfigurationNameHasBeenSet() const { return m_observabilityConfigurationNameHasBeenSet; } /** *

The customer-provided observability configuration name. It can be used in * multiple revisions of a configuration.

*/ inline void SetObservabilityConfigurationName(const Aws::String& value) { m_observabilityConfigurationNameHasBeenSet = true; m_observabilityConfigurationName = value; } /** *

The customer-provided observability configuration name. It can be used in * multiple revisions of a configuration.

*/ inline void SetObservabilityConfigurationName(Aws::String&& value) { m_observabilityConfigurationNameHasBeenSet = true; m_observabilityConfigurationName = std::move(value); } /** *

The customer-provided observability configuration name. It can be used in * multiple revisions of a configuration.

*/ inline void SetObservabilityConfigurationName(const char* value) { m_observabilityConfigurationNameHasBeenSet = true; m_observabilityConfigurationName.assign(value); } /** *

The customer-provided observability configuration name. It can be used in * multiple revisions of a configuration.

*/ inline ObservabilityConfiguration& WithObservabilityConfigurationName(const Aws::String& value) { SetObservabilityConfigurationName(value); return *this;} /** *

The customer-provided observability configuration name. It can be used in * multiple revisions of a configuration.

*/ inline ObservabilityConfiguration& WithObservabilityConfigurationName(Aws::String&& value) { SetObservabilityConfigurationName(std::move(value)); return *this;} /** *

The customer-provided observability configuration name. It can be used in * multiple revisions of a configuration.

*/ inline ObservabilityConfiguration& WithObservabilityConfigurationName(const char* value) { SetObservabilityConfigurationName(value); return *this;} /** *

The configuration of the tracing feature within this observability * configuration. If not specified, tracing isn't enabled.

*/ inline const TraceConfiguration& GetTraceConfiguration() const{ return m_traceConfiguration; } /** *

The configuration of the tracing feature within this observability * configuration. If not specified, tracing isn't enabled.

*/ inline bool TraceConfigurationHasBeenSet() const { return m_traceConfigurationHasBeenSet; } /** *

The configuration of the tracing feature within this observability * configuration. If not specified, tracing isn't enabled.

*/ inline void SetTraceConfiguration(const TraceConfiguration& value) { m_traceConfigurationHasBeenSet = true; m_traceConfiguration = value; } /** *

The configuration of the tracing feature within this observability * configuration. If not specified, tracing isn't enabled.

*/ inline void SetTraceConfiguration(TraceConfiguration&& value) { m_traceConfigurationHasBeenSet = true; m_traceConfiguration = std::move(value); } /** *

The configuration of the tracing feature within this observability * configuration. If not specified, tracing isn't enabled.

*/ inline ObservabilityConfiguration& WithTraceConfiguration(const TraceConfiguration& value) { SetTraceConfiguration(value); return *this;} /** *

The configuration of the tracing feature within this observability * configuration. If not specified, tracing isn't enabled.

*/ inline ObservabilityConfiguration& WithTraceConfiguration(TraceConfiguration&& value) { SetTraceConfiguration(std::move(value)); return *this;} /** *

The revision of this observability configuration. It's unique among all the * active configurations ("Status": "ACTIVE") that share the same * ObservabilityConfigurationName.

*/ inline int GetObservabilityConfigurationRevision() const{ return m_observabilityConfigurationRevision; } /** *

The revision of this observability configuration. It's unique among all the * active configurations ("Status": "ACTIVE") that share the same * ObservabilityConfigurationName.

*/ inline bool ObservabilityConfigurationRevisionHasBeenSet() const { return m_observabilityConfigurationRevisionHasBeenSet; } /** *

The revision of this observability configuration. It's unique among all the * active configurations ("Status": "ACTIVE") that share the same * ObservabilityConfigurationName.

*/ inline void SetObservabilityConfigurationRevision(int value) { m_observabilityConfigurationRevisionHasBeenSet = true; m_observabilityConfigurationRevision = value; } /** *

The revision of this observability configuration. It's unique among all the * active configurations ("Status": "ACTIVE") that share the same * ObservabilityConfigurationName.

*/ inline ObservabilityConfiguration& WithObservabilityConfigurationRevision(int value) { SetObservabilityConfigurationRevision(value); return *this;} /** *

It's set to true for the configuration with the highest * Revision among all configurations that share the same * ObservabilityConfigurationName. It's set to false * otherwise.

*/ inline bool GetLatest() const{ return m_latest; } /** *

It's set to true for the configuration with the highest * Revision among all configurations that share the same * ObservabilityConfigurationName. It's set to false * otherwise.

*/ inline bool LatestHasBeenSet() const { return m_latestHasBeenSet; } /** *

It's set to true for the configuration with the highest * Revision among all configurations that share the same * ObservabilityConfigurationName. It's set to false * otherwise.

*/ inline void SetLatest(bool value) { m_latestHasBeenSet = true; m_latest = value; } /** *

It's set to true for the configuration with the highest * Revision among all configurations that share the same * ObservabilityConfigurationName. It's set to false * otherwise.

*/ inline ObservabilityConfiguration& WithLatest(bool value) { SetLatest(value); return *this;} /** *

The current state of the observability configuration. If the status of a * configuration revision is INACTIVE, it was deleted and can't be * used. Inactive configuration revisions are permanently removed some time after * they are deleted.

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

The current state of the observability configuration. If the status of a * configuration revision is INACTIVE, it was deleted and can't be * used. Inactive configuration revisions are permanently removed some time after * they are deleted.

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

The current state of the observability configuration. If the status of a * configuration revision is INACTIVE, it was deleted and can't be * used. Inactive configuration revisions are permanently removed some time after * they are deleted.

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

The current state of the observability configuration. If the status of a * configuration revision is INACTIVE, it was deleted and can't be * used. Inactive configuration revisions are permanently removed some time after * they are deleted.

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

The current state of the observability configuration. If the status of a * configuration revision is INACTIVE, it was deleted and can't be * used. Inactive configuration revisions are permanently removed some time after * they are deleted.

*/ inline ObservabilityConfiguration& WithStatus(const ObservabilityConfigurationStatus& value) { SetStatus(value); return *this;} /** *

The current state of the observability configuration. If the status of a * configuration revision is INACTIVE, it was deleted and can't be * used. Inactive configuration revisions are permanently removed some time after * they are deleted.

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

The time when the observability configuration was created. It's in Unix time * stamp format.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The time when the observability configuration was created. It's in Unix time * stamp format.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The time when the observability configuration was created. It's in Unix time * stamp format.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The time when the observability configuration was created. It's in Unix time * stamp format.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The time when the observability configuration was created. It's in Unix time * stamp format.

*/ inline ObservabilityConfiguration& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The time when the observability configuration was created. It's in Unix time * stamp format.

*/ inline ObservabilityConfiguration& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The time when the observability configuration was deleted. It's in Unix time * stamp format.

*/ inline const Aws::Utils::DateTime& GetDeletedAt() const{ return m_deletedAt; } /** *

The time when the observability configuration was deleted. It's in Unix time * stamp format.

*/ inline bool DeletedAtHasBeenSet() const { return m_deletedAtHasBeenSet; } /** *

The time when the observability configuration was deleted. It's in Unix time * stamp format.

*/ inline void SetDeletedAt(const Aws::Utils::DateTime& value) { m_deletedAtHasBeenSet = true; m_deletedAt = value; } /** *

The time when the observability configuration was deleted. It's in Unix time * stamp format.

*/ inline void SetDeletedAt(Aws::Utils::DateTime&& value) { m_deletedAtHasBeenSet = true; m_deletedAt = std::move(value); } /** *

The time when the observability configuration was deleted. It's in Unix time * stamp format.

*/ inline ObservabilityConfiguration& WithDeletedAt(const Aws::Utils::DateTime& value) { SetDeletedAt(value); return *this;} /** *

The time when the observability configuration was deleted. It's in Unix time * stamp format.

*/ inline ObservabilityConfiguration& WithDeletedAt(Aws::Utils::DateTime&& value) { SetDeletedAt(std::move(value)); return *this;} private: Aws::String m_observabilityConfigurationArn; bool m_observabilityConfigurationArnHasBeenSet = false; Aws::String m_observabilityConfigurationName; bool m_observabilityConfigurationNameHasBeenSet = false; TraceConfiguration m_traceConfiguration; bool m_traceConfigurationHasBeenSet = false; int m_observabilityConfigurationRevision; bool m_observabilityConfigurationRevisionHasBeenSet = false; bool m_latest; bool m_latestHasBeenSet = false; ObservabilityConfigurationStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_deletedAt; bool m_deletedAtHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws