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/config/ConfigService_EXPORTS.h> 8 #include <aws/config/model/ResourceType.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace ConfigService 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>The details that identify a resource that is discovered by Config, including 30 * the resource type, ID, and (if available) the custom resource 31 * name.</p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ResourceIdentifier">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_CONFIGSERVICE_API ResourceIdentifier 36 { 37 public: 38 ResourceIdentifier(); 39 ResourceIdentifier(Aws::Utils::Json::JsonView jsonValue); 40 ResourceIdentifier& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The type of resource.</p> 46 */ GetResourceType()47 inline const ResourceType& GetResourceType() const{ return m_resourceType; } 48 49 /** 50 * <p>The type of resource.</p> 51 */ ResourceTypeHasBeenSet()52 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } 53 54 /** 55 * <p>The type of resource.</p> 56 */ SetResourceType(const ResourceType & value)57 inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } 58 59 /** 60 * <p>The type of resource.</p> 61 */ SetResourceType(ResourceType && value)62 inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } 63 64 /** 65 * <p>The type of resource.</p> 66 */ WithResourceType(const ResourceType & value)67 inline ResourceIdentifier& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} 68 69 /** 70 * <p>The type of resource.</p> 71 */ WithResourceType(ResourceType && value)72 inline ResourceIdentifier& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} 73 74 75 /** 76 * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p> 77 */ GetResourceId()78 inline const Aws::String& GetResourceId() const{ return m_resourceId; } 79 80 /** 81 * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p> 82 */ ResourceIdHasBeenSet()83 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } 84 85 /** 86 * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p> 87 */ SetResourceId(const Aws::String & value)88 inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } 89 90 /** 91 * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p> 92 */ SetResourceId(Aws::String && value)93 inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } 94 95 /** 96 * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p> 97 */ SetResourceId(const char * value)98 inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } 99 100 /** 101 * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p> 102 */ WithResourceId(const Aws::String & value)103 inline ResourceIdentifier& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} 104 105 /** 106 * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p> 107 */ WithResourceId(Aws::String && value)108 inline ResourceIdentifier& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} 109 110 /** 111 * <p>The ID of the resource (for example, <code>sg-xxxxxx</code>).</p> 112 */ WithResourceId(const char * value)113 inline ResourceIdentifier& WithResourceId(const char* value) { SetResourceId(value); return *this;} 114 115 116 /** 117 * <p>The custom name of the resource (if available).</p> 118 */ GetResourceName()119 inline const Aws::String& GetResourceName() const{ return m_resourceName; } 120 121 /** 122 * <p>The custom name of the resource (if available).</p> 123 */ ResourceNameHasBeenSet()124 inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } 125 126 /** 127 * <p>The custom name of the resource (if available).</p> 128 */ SetResourceName(const Aws::String & value)129 inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } 130 131 /** 132 * <p>The custom name of the resource (if available).</p> 133 */ SetResourceName(Aws::String && value)134 inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } 135 136 /** 137 * <p>The custom name of the resource (if available).</p> 138 */ SetResourceName(const char * value)139 inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } 140 141 /** 142 * <p>The custom name of the resource (if available).</p> 143 */ WithResourceName(const Aws::String & value)144 inline ResourceIdentifier& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} 145 146 /** 147 * <p>The custom name of the resource (if available).</p> 148 */ WithResourceName(Aws::String && value)149 inline ResourceIdentifier& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} 150 151 /** 152 * <p>The custom name of the resource (if available).</p> 153 */ WithResourceName(const char * value)154 inline ResourceIdentifier& WithResourceName(const char* value) { SetResourceName(value); return *this;} 155 156 157 /** 158 * <p>The time that the resource was deleted.</p> 159 */ GetResourceDeletionTime()160 inline const Aws::Utils::DateTime& GetResourceDeletionTime() const{ return m_resourceDeletionTime; } 161 162 /** 163 * <p>The time that the resource was deleted.</p> 164 */ ResourceDeletionTimeHasBeenSet()165 inline bool ResourceDeletionTimeHasBeenSet() const { return m_resourceDeletionTimeHasBeenSet; } 166 167 /** 168 * <p>The time that the resource was deleted.</p> 169 */ SetResourceDeletionTime(const Aws::Utils::DateTime & value)170 inline void SetResourceDeletionTime(const Aws::Utils::DateTime& value) { m_resourceDeletionTimeHasBeenSet = true; m_resourceDeletionTime = value; } 171 172 /** 173 * <p>The time that the resource was deleted.</p> 174 */ SetResourceDeletionTime(Aws::Utils::DateTime && value)175 inline void SetResourceDeletionTime(Aws::Utils::DateTime&& value) { m_resourceDeletionTimeHasBeenSet = true; m_resourceDeletionTime = std::move(value); } 176 177 /** 178 * <p>The time that the resource was deleted.</p> 179 */ WithResourceDeletionTime(const Aws::Utils::DateTime & value)180 inline ResourceIdentifier& WithResourceDeletionTime(const Aws::Utils::DateTime& value) { SetResourceDeletionTime(value); return *this;} 181 182 /** 183 * <p>The time that the resource was deleted.</p> 184 */ WithResourceDeletionTime(Aws::Utils::DateTime && value)185 inline ResourceIdentifier& WithResourceDeletionTime(Aws::Utils::DateTime&& value) { SetResourceDeletionTime(std::move(value)); return *this;} 186 187 private: 188 189 ResourceType m_resourceType; 190 bool m_resourceTypeHasBeenSet; 191 192 Aws::String m_resourceId; 193 bool m_resourceIdHasBeenSet; 194 195 Aws::String m_resourceName; 196 bool m_resourceNameHasBeenSet; 197 198 Aws::Utils::DateTime m_resourceDeletionTime; 199 bool m_resourceDeletionTimeHasBeenSet; 200 }; 201 202 } // namespace Model 203 } // namespace ConfigService 204 } // namespace Aws 205