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

A single modification to the configuration section.

See Also:

* AWS * API Reference

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

The operation to be performed on a configuration section.

Content can * be added, deleted, or replaced within a section.

*/ inline const Operation& GetOperation() const{ return m_operation; } /** *

The operation to be performed on a configuration section.

Content can * be added, deleted, or replaced within a section.

*/ inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; } /** *

The operation to be performed on a configuration section.

Content can * be added, deleted, or replaced within a section.

*/ inline void SetOperation(const Operation& value) { m_operationHasBeenSet = true; m_operation = value; } /** *

The operation to be performed on a configuration section.

Content can * be added, deleted, or replaced within a section.

*/ inline void SetOperation(Operation&& value) { m_operationHasBeenSet = true; m_operation = std::move(value); } /** *

The operation to be performed on a configuration section.

Content can * be added, deleted, or replaced within a section.

*/ inline SectionModification& WithOperation(const Operation& value) { SetOperation(value); return *this;} /** *

The operation to be performed on a configuration section.

Content can * be added, deleted, or replaced within a section.

*/ inline SectionModification& WithOperation(Operation&& value) { SetOperation(std::move(value)); return *this;} /** *

The path within the section content to be modified.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The path within the section content to be modified.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The path within the section content to be modified.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The path within the section content to be modified.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The path within the section content to be modified.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The path within the section content to be modified.

*/ inline SectionModification& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The path within the section content to be modified.

*/ inline SectionModification& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The path within the section content to be modified.

*/ inline SectionModification& WithPath(const char* value) { SetPath(value); return *this;} /** *

The name of the section to be modified.

*/ inline const Aws::String& GetSection() const{ return m_section; } /** *

The name of the section to be modified.

*/ inline bool SectionHasBeenSet() const { return m_sectionHasBeenSet; } /** *

The name of the section to be modified.

*/ inline void SetSection(const Aws::String& value) { m_sectionHasBeenSet = true; m_section = value; } /** *

The name of the section to be modified.

*/ inline void SetSection(Aws::String&& value) { m_sectionHasBeenSet = true; m_section = std::move(value); } /** *

The name of the section to be modified.

*/ inline void SetSection(const char* value) { m_sectionHasBeenSet = true; m_section.assign(value); } /** *

The name of the section to be modified.

*/ inline SectionModification& WithSection(const Aws::String& value) { SetSection(value); return *this;} /** *

The name of the section to be modified.

*/ inline SectionModification& WithSection(Aws::String&& value) { SetSection(std::move(value)); return *this;} /** *

The name of the section to be modified.

*/ inline SectionModification& WithSection(const char* value) { SetSection(value); return *this;} /** *

For add and replace operations, this is the value that will be used.

* This field should be omitted for delete operations.

*/ inline Aws::Utils::DocumentView GetValue() const{ return m_value; } /** *

For add and replace operations, this is the value that will be used.

* This field should be omitted for delete operations.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

For add and replace operations, this is the value that will be used.

* This field should be omitted for delete operations.

*/ inline void SetValue(const Aws::Utils::Document& value) { m_valueHasBeenSet = true; m_value = value; } /** *

For add and replace operations, this is the value that will be used.

* This field should be omitted for delete operations.

*/ inline void SetValue(Aws::Utils::Document&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

For add and replace operations, this is the value that will be used.

* This field should be omitted for delete operations.

*/ inline SectionModification& WithValue(const Aws::Utils::Document& value) { SetValue(value); return *this;} /** *

For add and replace operations, this is the value that will be used.

* This field should be omitted for delete operations.

*/ inline SectionModification& WithValue(Aws::Utils::Document&& value) { SetValue(std::move(value)); return *this;} private: Operation m_operation; bool m_operationHasBeenSet = false; Aws::String m_path; bool m_pathHasBeenSet = false; Aws::String m_section; bool m_sectionHasBeenSet = false; Aws::Utils::Document m_value; bool m_valueHasBeenSet = false; }; } // namespace Model } // namespace GameSparks } // namespace Aws