1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/dynamodbstreams/DynamoDBStreams_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace DynamoDBStreams 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Contains details about the type of identity that made the 28 * request.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/streams-dynamodb-2012-08-10/Identity">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_DYNAMODBSTREAMS_API Identity 33 { 34 public: 35 Identity(); 36 Identity(Aws::Utils::Json::JsonView jsonValue); 37 Identity& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>A unique identifier for the entity that made the call. For Time To Live, the 43 * principalId is "dynamodb.amazonaws.com".</p> 44 */ GetPrincipalId()45 inline const Aws::String& GetPrincipalId() const{ return m_principalId; } 46 47 /** 48 * <p>A unique identifier for the entity that made the call. For Time To Live, the 49 * principalId is "dynamodb.amazonaws.com".</p> 50 */ PrincipalIdHasBeenSet()51 inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } 52 53 /** 54 * <p>A unique identifier for the entity that made the call. For Time To Live, the 55 * principalId is "dynamodb.amazonaws.com".</p> 56 */ SetPrincipalId(const Aws::String & value)57 inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } 58 59 /** 60 * <p>A unique identifier for the entity that made the call. For Time To Live, the 61 * principalId is "dynamodb.amazonaws.com".</p> 62 */ SetPrincipalId(Aws::String && value)63 inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } 64 65 /** 66 * <p>A unique identifier for the entity that made the call. For Time To Live, the 67 * principalId is "dynamodb.amazonaws.com".</p> 68 */ SetPrincipalId(const char * value)69 inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } 70 71 /** 72 * <p>A unique identifier for the entity that made the call. For Time To Live, the 73 * principalId is "dynamodb.amazonaws.com".</p> 74 */ WithPrincipalId(const Aws::String & value)75 inline Identity& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} 76 77 /** 78 * <p>A unique identifier for the entity that made the call. For Time To Live, the 79 * principalId is "dynamodb.amazonaws.com".</p> 80 */ WithPrincipalId(Aws::String && value)81 inline Identity& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} 82 83 /** 84 * <p>A unique identifier for the entity that made the call. For Time To Live, the 85 * principalId is "dynamodb.amazonaws.com".</p> 86 */ WithPrincipalId(const char * value)87 inline Identity& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} 88 89 90 /** 91 * <p>The type of the identity. For Time To Live, the type is "Service".</p> 92 */ GetType()93 inline const Aws::String& GetType() const{ return m_type; } 94 95 /** 96 * <p>The type of the identity. For Time To Live, the type is "Service".</p> 97 */ TypeHasBeenSet()98 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 99 100 /** 101 * <p>The type of the identity. For Time To Live, the type is "Service".</p> 102 */ SetType(const Aws::String & value)103 inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } 104 105 /** 106 * <p>The type of the identity. For Time To Live, the type is "Service".</p> 107 */ SetType(Aws::String && value)108 inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 109 110 /** 111 * <p>The type of the identity. For Time To Live, the type is "Service".</p> 112 */ SetType(const char * value)113 inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } 114 115 /** 116 * <p>The type of the identity. For Time To Live, the type is "Service".</p> 117 */ WithType(const Aws::String & value)118 inline Identity& WithType(const Aws::String& value) { SetType(value); return *this;} 119 120 /** 121 * <p>The type of the identity. For Time To Live, the type is "Service".</p> 122 */ WithType(Aws::String && value)123 inline Identity& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} 124 125 /** 126 * <p>The type of the identity. For Time To Live, the type is "Service".</p> 127 */ WithType(const char * value)128 inline Identity& WithType(const char* value) { SetType(value); return *this;} 129 130 private: 131 132 Aws::String m_principalId; 133 bool m_principalIdHasBeenSet; 134 135 Aws::String m_type; 136 bool m_typeHasBeenSet; 137 }; 138 139 } // namespace Model 140 } // namespace DynamoDBStreams 141 } // namespace Aws 142