/** * 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 and * MANUAL scan frequencies are supported.

*/ inline const ScanFrequency& GetScanFrequency() const{ return m_scanFrequency; } /** *

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 and * MANUAL scan frequencies are supported.

*/ inline bool ScanFrequencyHasBeenSet() const { return m_scanFrequencyHasBeenSet; } /** *

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 and * MANUAL scan frequencies are supported.

*/ inline void SetScanFrequency(const ScanFrequency& value) { m_scanFrequencyHasBeenSet = true; m_scanFrequency = value; } /** *

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 and * MANUAL scan frequencies are supported.

*/ inline void SetScanFrequency(ScanFrequency&& value) { m_scanFrequencyHasBeenSet = true; m_scanFrequency = std::move(value); } /** *

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 and * MANUAL scan frequencies are supported.

*/ inline RegistryScanningRule& WithScanFrequency(const ScanFrequency& value) { SetScanFrequency(value); return *this;} /** *

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 and * MANUAL scan frequencies are supported.

*/ 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; } /** *

The repository filters associated with the scanning configuration for a * private registry.

*/ inline bool RepositoryFiltersHasBeenSet() const { return m_repositoryFiltersHasBeenSet; } /** *

The repository filters associated with the scanning configuration for a * private registry.

*/ inline void SetRepositoryFilters(const Aws::Vector& value) { m_repositoryFiltersHasBeenSet = true; m_repositoryFilters = value; } /** *

The repository filters associated with the scanning configuration for a * private registry.

*/ inline void SetRepositoryFilters(Aws::Vector&& value) { m_repositoryFiltersHasBeenSet = true; m_repositoryFilters = std::move(value); } /** *

The repository filters associated with the scanning configuration for a * private registry.

*/ inline RegistryScanningRule& WithRepositoryFilters(const Aws::Vector& value) { SetRepositoryFilters(value); return *this;} /** *

The repository filters associated with the scanning configuration for a * private registry.

*/ inline RegistryScanningRule& WithRepositoryFilters(Aws::Vector&& value) { SetRepositoryFilters(std::move(value)); return *this;} /** *

The repository filters associated with the scanning configuration for a * private registry.

*/ inline RegistryScanningRule& AddRepositoryFilters(const ScanningRepositoryFilter& value) { m_repositoryFiltersHasBeenSet = true; m_repositoryFilters.push_back(value); return *this; } /** *

The repository filters associated with the scanning configuration for a * private registry.

*/ 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