AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
RuleScope.h
1
6#pragma once
7#include <aws/datazone/DataZone_EXPORTS.h>
8#include <aws/datazone/model/AssetTypesForRule.h>
9#include <aws/datazone/model/ProjectsForRule.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace DataZone {
21namespace Model {
22
28class RuleScope {
29 public:
30 AWS_DATAZONE_API RuleScope() = default;
31 AWS_DATAZONE_API RuleScope(Aws::Utils::Json::JsonView jsonValue);
32 AWS_DATAZONE_API RuleScope& operator=(Aws::Utils::Json::JsonView jsonValue);
33 AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
39 inline const AssetTypesForRule& GetAssetType() const { return m_assetType; }
40 inline bool AssetTypeHasBeenSet() const { return m_assetTypeHasBeenSet; }
41 template <typename AssetTypeT = AssetTypesForRule>
42 void SetAssetType(AssetTypeT&& value) {
43 m_assetTypeHasBeenSet = true;
44 m_assetType = std::forward<AssetTypeT>(value);
45 }
46 template <typename AssetTypeT = AssetTypesForRule>
47 RuleScope& WithAssetType(AssetTypeT&& value) {
48 SetAssetType(std::forward<AssetTypeT>(value));
49 return *this;
50 }
52
54
57 inline bool GetDataProduct() const { return m_dataProduct; }
58 inline bool DataProductHasBeenSet() const { return m_dataProductHasBeenSet; }
59 inline void SetDataProduct(bool value) {
60 m_dataProductHasBeenSet = true;
61 m_dataProduct = value;
62 }
63 inline RuleScope& WithDataProduct(bool value) {
64 SetDataProduct(value);
65 return *this;
66 }
68
70
73 inline const ProjectsForRule& GetProject() const { return m_project; }
74 inline bool ProjectHasBeenSet() const { return m_projectHasBeenSet; }
75 template <typename ProjectT = ProjectsForRule>
76 void SetProject(ProjectT&& value) {
77 m_projectHasBeenSet = true;
78 m_project = std::forward<ProjectT>(value);
79 }
80 template <typename ProjectT = ProjectsForRule>
81 RuleScope& WithProject(ProjectT&& value) {
82 SetProject(std::forward<ProjectT>(value));
83 return *this;
84 }
86 private:
87 AssetTypesForRule m_assetType;
88
89 bool m_dataProduct{false};
90
91 ProjectsForRule m_project;
92 bool m_assetTypeHasBeenSet = false;
93 bool m_dataProductHasBeenSet = false;
94 bool m_projectHasBeenSet = false;
95};
96
97} // namespace Model
98} // namespace DataZone
99} // namespace Aws
const AssetTypesForRule & GetAssetType() const
Definition RuleScope.h:39
AWS_DATAZONE_API RuleScope(Aws::Utils::Json::JsonView jsonValue)
void SetProject(ProjectT &&value)
Definition RuleScope.h:76
const ProjectsForRule & GetProject() const
Definition RuleScope.h:73
RuleScope & WithDataProduct(bool value)
Definition RuleScope.h:63
AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DATAZONE_API RuleScope & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAssetType(AssetTypeT &&value)
Definition RuleScope.h:42
RuleScope & WithAssetType(AssetTypeT &&value)
Definition RuleScope.h:47
AWS_DATAZONE_API RuleScope()=default
void SetDataProduct(bool value)
Definition RuleScope.h:59
RuleScope & WithProject(ProjectT &&value)
Definition RuleScope.h:81
Aws::Utils::Json::JsonValue JsonValue