AWS SDK for C++  0.14.3
AWS SDK for C++
Policy.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
16 #include <aws/iot/IoT_EXPORTS.h>
18 
19 namespace Aws
20 {
21 namespace Utils
22 {
23 namespace Json
24 {
25  class JsonValue;
26 } // namespace Json
27 } // namespace Utils
28 namespace IoT
29 {
30 namespace Model
31 {
32 
37  {
38  public:
39  Policy();
40  Policy(const Aws::Utils::Json::JsonValue& jsonValue);
41  Policy& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
42  Aws::Utils::Json::JsonValue Jsonize() const;
43 
47  inline const Aws::String& GetPolicyName() const{ return m_policyName; }
48 
52  inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
53 
57  inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = value; }
58 
62  inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); }
63 
67  inline Policy& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;}
68 
72  inline Policy& WithPolicyName(Aws::String&& value) { SetPolicyName(value); return *this;}
73 
77  inline Policy& WithPolicyName(const char* value) { SetPolicyName(value); return *this;}
78 
82  inline const Aws::String& GetPolicyArn() const{ return m_policyArn; }
83 
87  inline void SetPolicyArn(const Aws::String& value) { m_policyArnHasBeenSet = true; m_policyArn = value; }
88 
92  inline void SetPolicyArn(Aws::String&& value) { m_policyArnHasBeenSet = true; m_policyArn = value; }
93 
97  inline void SetPolicyArn(const char* value) { m_policyArnHasBeenSet = true; m_policyArn.assign(value); }
98 
102  inline Policy& WithPolicyArn(const Aws::String& value) { SetPolicyArn(value); return *this;}
103 
107  inline Policy& WithPolicyArn(Aws::String&& value) { SetPolicyArn(value); return *this;}
108 
112  inline Policy& WithPolicyArn(const char* value) { SetPolicyArn(value); return *this;}
113 
114  private:
115  Aws::String m_policyName;
116  bool m_policyNameHasBeenSet;
117  Aws::String m_policyArn;
118  bool m_policyArnHasBeenSet;
119  };
120 
121 } // namespace Model
122 } // namespace IoT
123 } // namespace Aws
Policy & WithPolicyName(const char *value)
Definition: Policy.h:77
void SetPolicyName(Aws::String &&value)
Definition: Policy.h:57
const Aws::String & GetPolicyArn() const
Definition: Policy.h:82
void SetPolicyArn(const Aws::String &value)
Definition: Policy.h:87
void SetPolicyArn(const char *value)
Definition: Policy.h:97
Policy & WithPolicyArn(Aws::String &&value)
Definition: Policy.h:107
Policy & WithPolicyName(const Aws::String &value)
Definition: Policy.h:67
#define AWS_IOT_API
Definition: IoT_EXPORTS.h:37
Policy & WithPolicyArn(const Aws::String &value)
Definition: Policy.h:102
Policy & WithPolicyName(Aws::String &&value)
Definition: Policy.h:72
void SetPolicyArn(Aws::String &&value)
Definition: Policy.h:92
const Aws::String & GetPolicyName() const
Definition: Policy.h:47
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetPolicyName(const char *value)
Definition: Policy.h:62
Policy & WithPolicyArn(const char *value)
Definition: Policy.h:112
void SetPolicyName(const Aws::String &value)
Definition: Policy.h:52
JSON (JavaScript Object Notation).