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/clouddirectory/CloudDirectory_EXPORTS.h> 8 #include <aws/clouddirectory/CloudDirectoryRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/clouddirectory/model/ObjectReference.h> 11 #include <aws/clouddirectory/model/ConsistencyLevel.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace CloudDirectory 17 { 18 namespace Model 19 { 20 21 /** 22 */ 23 class AWS_CLOUDDIRECTORY_API GetObjectInformationRequest : public CloudDirectoryRequest 24 { 25 public: 26 GetObjectInformationRequest(); 27 28 // Service request name is the Operation name which will send this request out, 29 // each operation should has unique request name, so that we can get operation's name from this request. 30 // Note: this is not true for response, multiple operations may have the same response name, 31 // so we can not get operation's name from response. GetServiceRequestName()32 inline virtual const char* GetServiceRequestName() const override { return "GetObjectInformation"; } 33 34 Aws::String SerializePayload() const override; 35 36 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 37 38 39 /** 40 * <p>The ARN of the directory being retrieved.</p> 41 */ GetDirectoryArn()42 inline const Aws::String& GetDirectoryArn() const{ return m_directoryArn; } 43 44 /** 45 * <p>The ARN of the directory being retrieved.</p> 46 */ DirectoryArnHasBeenSet()47 inline bool DirectoryArnHasBeenSet() const { return m_directoryArnHasBeenSet; } 48 49 /** 50 * <p>The ARN of the directory being retrieved.</p> 51 */ SetDirectoryArn(const Aws::String & value)52 inline void SetDirectoryArn(const Aws::String& value) { m_directoryArnHasBeenSet = true; m_directoryArn = value; } 53 54 /** 55 * <p>The ARN of the directory being retrieved.</p> 56 */ SetDirectoryArn(Aws::String && value)57 inline void SetDirectoryArn(Aws::String&& value) { m_directoryArnHasBeenSet = true; m_directoryArn = std::move(value); } 58 59 /** 60 * <p>The ARN of the directory being retrieved.</p> 61 */ SetDirectoryArn(const char * value)62 inline void SetDirectoryArn(const char* value) { m_directoryArnHasBeenSet = true; m_directoryArn.assign(value); } 63 64 /** 65 * <p>The ARN of the directory being retrieved.</p> 66 */ WithDirectoryArn(const Aws::String & value)67 inline GetObjectInformationRequest& WithDirectoryArn(const Aws::String& value) { SetDirectoryArn(value); return *this;} 68 69 /** 70 * <p>The ARN of the directory being retrieved.</p> 71 */ WithDirectoryArn(Aws::String && value)72 inline GetObjectInformationRequest& WithDirectoryArn(Aws::String&& value) { SetDirectoryArn(std::move(value)); return *this;} 73 74 /** 75 * <p>The ARN of the directory being retrieved.</p> 76 */ WithDirectoryArn(const char * value)77 inline GetObjectInformationRequest& WithDirectoryArn(const char* value) { SetDirectoryArn(value); return *this;} 78 79 80 /** 81 * <p>A reference to the object.</p> 82 */ GetObjectReference()83 inline const ObjectReference& GetObjectReference() const{ return m_objectReference; } 84 85 /** 86 * <p>A reference to the object.</p> 87 */ ObjectReferenceHasBeenSet()88 inline bool ObjectReferenceHasBeenSet() const { return m_objectReferenceHasBeenSet; } 89 90 /** 91 * <p>A reference to the object.</p> 92 */ SetObjectReference(const ObjectReference & value)93 inline void SetObjectReference(const ObjectReference& value) { m_objectReferenceHasBeenSet = true; m_objectReference = value; } 94 95 /** 96 * <p>A reference to the object.</p> 97 */ SetObjectReference(ObjectReference && value)98 inline void SetObjectReference(ObjectReference&& value) { m_objectReferenceHasBeenSet = true; m_objectReference = std::move(value); } 99 100 /** 101 * <p>A reference to the object.</p> 102 */ WithObjectReference(const ObjectReference & value)103 inline GetObjectInformationRequest& WithObjectReference(const ObjectReference& value) { SetObjectReference(value); return *this;} 104 105 /** 106 * <p>A reference to the object.</p> 107 */ WithObjectReference(ObjectReference && value)108 inline GetObjectInformationRequest& WithObjectReference(ObjectReference&& value) { SetObjectReference(std::move(value)); return *this;} 109 110 111 /** 112 * <p>The consistency level at which to retrieve the object information.</p> 113 */ GetConsistencyLevel()114 inline const ConsistencyLevel& GetConsistencyLevel() const{ return m_consistencyLevel; } 115 116 /** 117 * <p>The consistency level at which to retrieve the object information.</p> 118 */ ConsistencyLevelHasBeenSet()119 inline bool ConsistencyLevelHasBeenSet() const { return m_consistencyLevelHasBeenSet; } 120 121 /** 122 * <p>The consistency level at which to retrieve the object information.</p> 123 */ SetConsistencyLevel(const ConsistencyLevel & value)124 inline void SetConsistencyLevel(const ConsistencyLevel& value) { m_consistencyLevelHasBeenSet = true; m_consistencyLevel = value; } 125 126 /** 127 * <p>The consistency level at which to retrieve the object information.</p> 128 */ SetConsistencyLevel(ConsistencyLevel && value)129 inline void SetConsistencyLevel(ConsistencyLevel&& value) { m_consistencyLevelHasBeenSet = true; m_consistencyLevel = std::move(value); } 130 131 /** 132 * <p>The consistency level at which to retrieve the object information.</p> 133 */ WithConsistencyLevel(const ConsistencyLevel & value)134 inline GetObjectInformationRequest& WithConsistencyLevel(const ConsistencyLevel& value) { SetConsistencyLevel(value); return *this;} 135 136 /** 137 * <p>The consistency level at which to retrieve the object information.</p> 138 */ WithConsistencyLevel(ConsistencyLevel && value)139 inline GetObjectInformationRequest& WithConsistencyLevel(ConsistencyLevel&& value) { SetConsistencyLevel(std::move(value)); return *this;} 140 141 private: 142 143 Aws::String m_directoryArn; 144 bool m_directoryArnHasBeenSet; 145 146 ObjectReference m_objectReference; 147 bool m_objectReferenceHasBeenSet; 148 149 ConsistencyLevel m_consistencyLevel; 150 bool m_consistencyLevelHasBeenSet; 151 }; 152 153 } // namespace Model 154 } // namespace CloudDirectory 155 } // namespace Aws 156