/**
* 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 ECR
{
namespace Model
{
/**
* The details of a scanning rule for a private registry.
See
* Also:
AWS
* API Reference
*/
class RegistryScanningRule
{
public:
AWS_ECR_API RegistryScanningRule();
AWS_ECR_API RegistryScanningRule(Aws::Utils::Json::JsonView jsonValue);
AWS_ECR_API RegistryScanningRule& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_ECR_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* The frequency that scans are performed at for a private registry. When the
* ENHANCED scan type is specified, the supported scan frequencies are
* CONTINUOUS_SCAN and SCAN_ON_PUSH. When the
* BASIC scan type is specified, the SCAN_ON_PUSH scan
* frequency is supported. If scan on push is not specified, then the
* MANUAL scan frequency is set by default.
*/
inline const ScanFrequency& GetScanFrequency() const{ return m_scanFrequency; }
inline bool ScanFrequencyHasBeenSet() const { return m_scanFrequencyHasBeenSet; }
inline void SetScanFrequency(const ScanFrequency& value) { m_scanFrequencyHasBeenSet = true; m_scanFrequency = value; }
inline void SetScanFrequency(ScanFrequency&& value) { m_scanFrequencyHasBeenSet = true; m_scanFrequency = std::move(value); }
inline RegistryScanningRule& WithScanFrequency(const ScanFrequency& value) { SetScanFrequency(value); return *this;}
inline RegistryScanningRule& WithScanFrequency(ScanFrequency&& value) { SetScanFrequency(std::move(value)); return *this;}
///@}
///@{
/**
* The repository filters associated with the scanning configuration for a
* private registry.
*/
inline const Aws::Vector& GetRepositoryFilters() const{ return m_repositoryFilters; }
inline bool RepositoryFiltersHasBeenSet() const { return m_repositoryFiltersHasBeenSet; }
inline void SetRepositoryFilters(const Aws::Vector& value) { m_repositoryFiltersHasBeenSet = true; m_repositoryFilters = value; }
inline void SetRepositoryFilters(Aws::Vector&& value) { m_repositoryFiltersHasBeenSet = true; m_repositoryFilters = std::move(value); }
inline RegistryScanningRule& WithRepositoryFilters(const Aws::Vector& value) { SetRepositoryFilters(value); return *this;}
inline RegistryScanningRule& WithRepositoryFilters(Aws::Vector&& value) { SetRepositoryFilters(std::move(value)); return *this;}
inline RegistryScanningRule& AddRepositoryFilters(const ScanningRepositoryFilter& value) { m_repositoryFiltersHasBeenSet = true; m_repositoryFilters.push_back(value); return *this; }
inline RegistryScanningRule& AddRepositoryFilters(ScanningRepositoryFilter&& value) { m_repositoryFiltersHasBeenSet = true; m_repositoryFilters.push_back(std::move(value)); return *this; }
///@}
private:
ScanFrequency m_scanFrequency;
bool m_scanFrequencyHasBeenSet = false;
Aws::Vector m_repositoryFilters;
bool m_repositoryFiltersHasBeenSet = false;
};
} // namespace Model
} // namespace ECR
} // namespace Aws