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

Information about the patches to use to update the managed nodes, including * target operating systems and source repository. Applies to Linux managed nodes * only.

See Also:

AWS API * Reference

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

The name specified to identify the patch source.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name specified to identify the patch source.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name specified to identify the patch source.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name specified to identify the patch source.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name specified to identify the patch source.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name specified to identify the patch source.

*/ inline PatchSource& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name specified to identify the patch source.

*/ inline PatchSource& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name specified to identify the patch source.

*/ inline PatchSource& WithName(const char* value) { SetName(value); return *this;} /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline const Aws::Vector& GetProducts() const{ return m_products; } /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline bool ProductsHasBeenSet() const { return m_productsHasBeenSet; } /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline void SetProducts(const Aws::Vector& value) { m_productsHasBeenSet = true; m_products = value; } /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline void SetProducts(Aws::Vector&& value) { m_productsHasBeenSet = true; m_products = std::move(value); } /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline PatchSource& WithProducts(const Aws::Vector& value) { SetProducts(value); return *this;} /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline PatchSource& WithProducts(Aws::Vector&& value) { SetProducts(std::move(value)); return *this;} /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline PatchSource& AddProducts(const Aws::String& value) { m_productsHasBeenSet = true; m_products.push_back(value); return *this; } /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline PatchSource& AddProducts(Aws::String&& value) { m_productsHasBeenSet = true; m_products.push_back(std::move(value)); return *this; } /** *

The specific operating system versions a patch repository applies to, such as * "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". * For lists of supported product values, see PatchFilter.

*/ inline PatchSource& AddProducts(const char* value) { m_productsHasBeenSet = true; m_products.push_back(value); return *this; } /** *

The value of the yum repo configuration. For example:

* [main]

name=MyCustomRepository

* baseurl=https://my-custom-repository

* enabled=1

For information about other options * available for your yum repository configuration, see dnf.conf(5).

* */ inline const Aws::String& GetConfiguration() const{ return m_configuration; } /** *

The value of the yum repo configuration. For example:

* [main]

name=MyCustomRepository

* baseurl=https://my-custom-repository

* enabled=1

For information about other options * available for your yum repository configuration, see dnf.conf(5).

* */ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The value of the yum repo configuration. For example:

* [main]

name=MyCustomRepository

* baseurl=https://my-custom-repository

* enabled=1

For information about other options * available for your yum repository configuration, see dnf.conf(5).

* */ inline void SetConfiguration(const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The value of the yum repo configuration. For example:

* [main]

name=MyCustomRepository

* baseurl=https://my-custom-repository

* enabled=1

For information about other options * available for your yum repository configuration, see dnf.conf(5).

* */ inline void SetConfiguration(Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The value of the yum repo configuration. For example:

* [main]

name=MyCustomRepository

* baseurl=https://my-custom-repository

* enabled=1

For information about other options * available for your yum repository configuration, see dnf.conf(5).

* */ inline void SetConfiguration(const char* value) { m_configurationHasBeenSet = true; m_configuration.assign(value); } /** *

The value of the yum repo configuration. For example:

* [main]

name=MyCustomRepository

* baseurl=https://my-custom-repository

* enabled=1

For information about other options * available for your yum repository configuration, see dnf.conf(5).

* */ inline PatchSource& WithConfiguration(const Aws::String& value) { SetConfiguration(value); return *this;} /** *

The value of the yum repo configuration. For example:

* [main]

name=MyCustomRepository

* baseurl=https://my-custom-repository

* enabled=1

For information about other options * available for your yum repository configuration, see dnf.conf(5).

* */ inline PatchSource& WithConfiguration(Aws::String&& value) { SetConfiguration(std::move(value)); return *this;} /** *

The value of the yum repo configuration. For example:

* [main]

name=MyCustomRepository

* baseurl=https://my-custom-repository

* enabled=1

For information about other options * available for your yum repository configuration, see dnf.conf(5).

* */ inline PatchSource& WithConfiguration(const char* value) { SetConfiguration(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_products; bool m_productsHasBeenSet = false; Aws::String m_configuration; bool m_configurationHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws