/** * 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 Synthetics { namespace Model { /** *

An object that specifies what screenshots to use as a baseline for visual * monitoring by this canary. It can optionally also specify parts of the * screenshots to ignore during the visual monitoring comparison.

Visual * monitoring is supported only on canaries running the * syn-puppeteer-node-3.2 runtime or later. For more information, see * Visual monitoring and * Visual monitoring blueprint

See Also:

AWS * API Reference

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

An array of screenshots that will be used as the baseline for visual * monitoring in future runs of this canary. If there is a screenshot that you * don't want to be used for visual monitoring, remove it from this array.

*/ inline const Aws::Vector& GetBaseScreenshots() const{ return m_baseScreenshots; } /** *

An array of screenshots that will be used as the baseline for visual * monitoring in future runs of this canary. If there is a screenshot that you * don't want to be used for visual monitoring, remove it from this array.

*/ inline bool BaseScreenshotsHasBeenSet() const { return m_baseScreenshotsHasBeenSet; } /** *

An array of screenshots that will be used as the baseline for visual * monitoring in future runs of this canary. If there is a screenshot that you * don't want to be used for visual monitoring, remove it from this array.

*/ inline void SetBaseScreenshots(const Aws::Vector& value) { m_baseScreenshotsHasBeenSet = true; m_baseScreenshots = value; } /** *

An array of screenshots that will be used as the baseline for visual * monitoring in future runs of this canary. If there is a screenshot that you * don't want to be used for visual monitoring, remove it from this array.

*/ inline void SetBaseScreenshots(Aws::Vector&& value) { m_baseScreenshotsHasBeenSet = true; m_baseScreenshots = std::move(value); } /** *

An array of screenshots that will be used as the baseline for visual * monitoring in future runs of this canary. If there is a screenshot that you * don't want to be used for visual monitoring, remove it from this array.

*/ inline VisualReferenceInput& WithBaseScreenshots(const Aws::Vector& value) { SetBaseScreenshots(value); return *this;} /** *

An array of screenshots that will be used as the baseline for visual * monitoring in future runs of this canary. If there is a screenshot that you * don't want to be used for visual monitoring, remove it from this array.

*/ inline VisualReferenceInput& WithBaseScreenshots(Aws::Vector&& value) { SetBaseScreenshots(std::move(value)); return *this;} /** *

An array of screenshots that will be used as the baseline for visual * monitoring in future runs of this canary. If there is a screenshot that you * don't want to be used for visual monitoring, remove it from this array.

*/ inline VisualReferenceInput& AddBaseScreenshots(const BaseScreenshot& value) { m_baseScreenshotsHasBeenSet = true; m_baseScreenshots.push_back(value); return *this; } /** *

An array of screenshots that will be used as the baseline for visual * monitoring in future runs of this canary. If there is a screenshot that you * don't want to be used for visual monitoring, remove it from this array.

*/ inline VisualReferenceInput& AddBaseScreenshots(BaseScreenshot&& value) { m_baseScreenshotsHasBeenSet = true; m_baseScreenshots.push_back(std::move(value)); return *this; } /** *

Specifies which canary run to use the screenshots from as the baseline for * future visual monitoring with this canary. Valid values are nextrun * to use the screenshots from the next run after this update is made, * lastrun to use the screenshots from the most recent run before this * update was made, or the value of Id in the * CanaryRun from any past run of this canary.

*/ inline const Aws::String& GetBaseCanaryRunId() const{ return m_baseCanaryRunId; } /** *

Specifies which canary run to use the screenshots from as the baseline for * future visual monitoring with this canary. Valid values are nextrun * to use the screenshots from the next run after this update is made, * lastrun to use the screenshots from the most recent run before this * update was made, or the value of Id in the * CanaryRun from any past run of this canary.

*/ inline bool BaseCanaryRunIdHasBeenSet() const { return m_baseCanaryRunIdHasBeenSet; } /** *

Specifies which canary run to use the screenshots from as the baseline for * future visual monitoring with this canary. Valid values are nextrun * to use the screenshots from the next run after this update is made, * lastrun to use the screenshots from the most recent run before this * update was made, or the value of Id in the * CanaryRun from any past run of this canary.

*/ inline void SetBaseCanaryRunId(const Aws::String& value) { m_baseCanaryRunIdHasBeenSet = true; m_baseCanaryRunId = value; } /** *

Specifies which canary run to use the screenshots from as the baseline for * future visual monitoring with this canary. Valid values are nextrun * to use the screenshots from the next run after this update is made, * lastrun to use the screenshots from the most recent run before this * update was made, or the value of Id in the * CanaryRun from any past run of this canary.

*/ inline void SetBaseCanaryRunId(Aws::String&& value) { m_baseCanaryRunIdHasBeenSet = true; m_baseCanaryRunId = std::move(value); } /** *

Specifies which canary run to use the screenshots from as the baseline for * future visual monitoring with this canary. Valid values are nextrun * to use the screenshots from the next run after this update is made, * lastrun to use the screenshots from the most recent run before this * update was made, or the value of Id in the * CanaryRun from any past run of this canary.

*/ inline void SetBaseCanaryRunId(const char* value) { m_baseCanaryRunIdHasBeenSet = true; m_baseCanaryRunId.assign(value); } /** *

Specifies which canary run to use the screenshots from as the baseline for * future visual monitoring with this canary. Valid values are nextrun * to use the screenshots from the next run after this update is made, * lastrun to use the screenshots from the most recent run before this * update was made, or the value of Id in the * CanaryRun from any past run of this canary.

*/ inline VisualReferenceInput& WithBaseCanaryRunId(const Aws::String& value) { SetBaseCanaryRunId(value); return *this;} /** *

Specifies which canary run to use the screenshots from as the baseline for * future visual monitoring with this canary. Valid values are nextrun * to use the screenshots from the next run after this update is made, * lastrun to use the screenshots from the most recent run before this * update was made, or the value of Id in the * CanaryRun from any past run of this canary.

*/ inline VisualReferenceInput& WithBaseCanaryRunId(Aws::String&& value) { SetBaseCanaryRunId(std::move(value)); return *this;} /** *

Specifies which canary run to use the screenshots from as the baseline for * future visual monitoring with this canary. Valid values are nextrun * to use the screenshots from the next run after this update is made, * lastrun to use the screenshots from the most recent run before this * update was made, or the value of Id in the * CanaryRun from any past run of this canary.

*/ inline VisualReferenceInput& WithBaseCanaryRunId(const char* value) { SetBaseCanaryRunId(value); return *this;} private: Aws::Vector m_baseScreenshots; bool m_baseScreenshotsHasBeenSet = false; Aws::String m_baseCanaryRunId; bool m_baseCanaryRunIdHasBeenSet = false; }; } // namespace Model } // namespace Synthetics } // namespace Aws