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

An object that describes a deployment event.

See Also:

AWS * API Reference

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

The type of deployment event. Deployment event types include the start, stop, * or completion of a deployment; a percentage update; the start or stop of a bake * period; and the start or completion of a rollback.

*/ inline const DeploymentEventType& GetEventType() const{ return m_eventType; } /** *

The type of deployment event. Deployment event types include the start, stop, * or completion of a deployment; a percentage update; the start or stop of a bake * period; and the start or completion of a rollback.

*/ inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } /** *

The type of deployment event. Deployment event types include the start, stop, * or completion of a deployment; a percentage update; the start or stop of a bake * period; and the start or completion of a rollback.

*/ inline void SetEventType(const DeploymentEventType& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } /** *

The type of deployment event. Deployment event types include the start, stop, * or completion of a deployment; a percentage update; the start or stop of a bake * period; and the start or completion of a rollback.

*/ inline void SetEventType(DeploymentEventType&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } /** *

The type of deployment event. Deployment event types include the start, stop, * or completion of a deployment; a percentage update; the start or stop of a bake * period; and the start or completion of a rollback.

*/ inline DeploymentEvent& WithEventType(const DeploymentEventType& value) { SetEventType(value); return *this;} /** *

The type of deployment event. Deployment event types include the start, stop, * or completion of a deployment; a percentage update; the start or stop of a bake * period; and the start or completion of a rollback.

*/ inline DeploymentEvent& WithEventType(DeploymentEventType&& value) { SetEventType(std::move(value)); return *this;} /** *

The entity that triggered the deployment event. Events can be triggered by a * user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

*/ inline const TriggeredBy& GetTriggeredBy() const{ return m_triggeredBy; } /** *

The entity that triggered the deployment event. Events can be triggered by a * user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

*/ inline bool TriggeredByHasBeenSet() const { return m_triggeredByHasBeenSet; } /** *

The entity that triggered the deployment event. Events can be triggered by a * user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

*/ inline void SetTriggeredBy(const TriggeredBy& value) { m_triggeredByHasBeenSet = true; m_triggeredBy = value; } /** *

The entity that triggered the deployment event. Events can be triggered by a * user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

*/ inline void SetTriggeredBy(TriggeredBy&& value) { m_triggeredByHasBeenSet = true; m_triggeredBy = std::move(value); } /** *

The entity that triggered the deployment event. Events can be triggered by a * user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

*/ inline DeploymentEvent& WithTriggeredBy(const TriggeredBy& value) { SetTriggeredBy(value); return *this;} /** *

The entity that triggered the deployment event. Events can be triggered by a * user, AppConfig, an Amazon CloudWatch alarm, or an internal error.

*/ inline DeploymentEvent& WithTriggeredBy(TriggeredBy&& value) { SetTriggeredBy(std::move(value)); return *this;} /** *

A description of the deployment event. Descriptions include, but are not * limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a * rollback, the percentage of hosts that received the deployment, or in the case * of an internal error, a recommendation to attempt a new deployment.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the deployment event. Descriptions include, but are not * limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a * rollback, the percentage of hosts that received the deployment, or in the case * of an internal error, a recommendation to attempt a new deployment.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the deployment event. Descriptions include, but are not * limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a * rollback, the percentage of hosts that received the deployment, or in the case * of an internal error, a recommendation to attempt a new deployment.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the deployment event. Descriptions include, but are not * limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a * rollback, the percentage of hosts that received the deployment, or in the case * of an internal error, a recommendation to attempt a new deployment.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the deployment event. Descriptions include, but are not * limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a * rollback, the percentage of hosts that received the deployment, or in the case * of an internal error, a recommendation to attempt a new deployment.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the deployment event. Descriptions include, but are not * limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a * rollback, the percentage of hosts that received the deployment, or in the case * of an internal error, a recommendation to attempt a new deployment.

*/ inline DeploymentEvent& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the deployment event. Descriptions include, but are not * limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a * rollback, the percentage of hosts that received the deployment, or in the case * of an internal error, a recommendation to attempt a new deployment.

*/ inline DeploymentEvent& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the deployment event. Descriptions include, but are not * limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a * rollback, the percentage of hosts that received the deployment, or in the case * of an internal error, a recommendation to attempt a new deployment.

*/ inline DeploymentEvent& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The list of extensions that were invoked as part of the deployment.

*/ inline const Aws::Vector& GetActionInvocations() const{ return m_actionInvocations; } /** *

The list of extensions that were invoked as part of the deployment.

*/ inline bool ActionInvocationsHasBeenSet() const { return m_actionInvocationsHasBeenSet; } /** *

The list of extensions that were invoked as part of the deployment.

*/ inline void SetActionInvocations(const Aws::Vector& value) { m_actionInvocationsHasBeenSet = true; m_actionInvocations = value; } /** *

The list of extensions that were invoked as part of the deployment.

*/ inline void SetActionInvocations(Aws::Vector&& value) { m_actionInvocationsHasBeenSet = true; m_actionInvocations = std::move(value); } /** *

The list of extensions that were invoked as part of the deployment.

*/ inline DeploymentEvent& WithActionInvocations(const Aws::Vector& value) { SetActionInvocations(value); return *this;} /** *

The list of extensions that were invoked as part of the deployment.

*/ inline DeploymentEvent& WithActionInvocations(Aws::Vector&& value) { SetActionInvocations(std::move(value)); return *this;} /** *

The list of extensions that were invoked as part of the deployment.

*/ inline DeploymentEvent& AddActionInvocations(const ActionInvocation& value) { m_actionInvocationsHasBeenSet = true; m_actionInvocations.push_back(value); return *this; } /** *

The list of extensions that were invoked as part of the deployment.

*/ inline DeploymentEvent& AddActionInvocations(ActionInvocation&& value) { m_actionInvocationsHasBeenSet = true; m_actionInvocations.push_back(std::move(value)); return *this; } /** *

The date and time the event occurred.

*/ inline const Aws::Utils::DateTime& GetOccurredAt() const{ return m_occurredAt; } /** *

The date and time the event occurred.

*/ inline bool OccurredAtHasBeenSet() const { return m_occurredAtHasBeenSet; } /** *

The date and time the event occurred.

*/ inline void SetOccurredAt(const Aws::Utils::DateTime& value) { m_occurredAtHasBeenSet = true; m_occurredAt = value; } /** *

The date and time the event occurred.

*/ inline void SetOccurredAt(Aws::Utils::DateTime&& value) { m_occurredAtHasBeenSet = true; m_occurredAt = std::move(value); } /** *

The date and time the event occurred.

*/ inline DeploymentEvent& WithOccurredAt(const Aws::Utils::DateTime& value) { SetOccurredAt(value); return *this;} /** *

The date and time the event occurred.

*/ inline DeploymentEvent& WithOccurredAt(Aws::Utils::DateTime&& value) { SetOccurredAt(std::move(value)); return *this;} private: DeploymentEventType m_eventType; bool m_eventTypeHasBeenSet = false; TriggeredBy m_triggeredBy; bool m_triggeredByHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_actionInvocations; bool m_actionInvocationsHasBeenSet = false; Aws::Utils::DateTime m_occurredAt; bool m_occurredAtHasBeenSet = false; }; } // namespace Model } // namespace AppConfig } // namespace Aws