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/iotthingsgraph/IoTThingsGraph_EXPORTS.h> 8 #include <aws/iotthingsgraph/IoTThingsGraphRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/iotthingsgraph/model/DefinitionDocument.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace IoTThingsGraph 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_IOTTHINGSGRAPH_API UpdateSystemTemplateRequest : public IoTThingsGraphRequest 23 { 24 public: 25 UpdateSystemTemplateRequest(); 26 27 // Service request name is the Operation name which will send this request out, 28 // each operation should has unique request name, so that we can get operation's name from this request. 29 // Note: this is not true for response, multiple operations may have the same response name, 30 // so we can not get operation's name from response. GetServiceRequestName()31 inline virtual const char* GetServiceRequestName() const override { return "UpdateSystemTemplate"; } 32 33 Aws::String SerializePayload() const override; 34 35 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 36 37 38 /** 39 * <p>The ID of the system to be updated.</p> <p>The ID should be in the following 40 * format.</p> <p> <code>urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME</code> 41 * </p> 42 */ GetId()43 inline const Aws::String& GetId() const{ return m_id; } 44 45 /** 46 * <p>The ID of the system to be updated.</p> <p>The ID should be in the following 47 * format.</p> <p> <code>urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME</code> 48 * </p> 49 */ IdHasBeenSet()50 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 51 52 /** 53 * <p>The ID of the system to be updated.</p> <p>The ID should be in the following 54 * format.</p> <p> <code>urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME</code> 55 * </p> 56 */ SetId(const Aws::String & value)57 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 58 59 /** 60 * <p>The ID of the system to be updated.</p> <p>The ID should be in the following 61 * format.</p> <p> <code>urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME</code> 62 * </p> 63 */ SetId(Aws::String && value)64 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 65 66 /** 67 * <p>The ID of the system to be updated.</p> <p>The ID should be in the following 68 * format.</p> <p> <code>urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME</code> 69 * </p> 70 */ SetId(const char * value)71 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 72 73 /** 74 * <p>The ID of the system to be updated.</p> <p>The ID should be in the following 75 * format.</p> <p> <code>urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME</code> 76 * </p> 77 */ WithId(const Aws::String & value)78 inline UpdateSystemTemplateRequest& WithId(const Aws::String& value) { SetId(value); return *this;} 79 80 /** 81 * <p>The ID of the system to be updated.</p> <p>The ID should be in the following 82 * format.</p> <p> <code>urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME</code> 83 * </p> 84 */ WithId(Aws::String && value)85 inline UpdateSystemTemplateRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 86 87 /** 88 * <p>The ID of the system to be updated.</p> <p>The ID should be in the following 89 * format.</p> <p> <code>urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME</code> 90 * </p> 91 */ WithId(const char * value)92 inline UpdateSystemTemplateRequest& WithId(const char* value) { SetId(value); return *this;} 93 94 95 /** 96 * <p>The <code>DefinitionDocument</code> that contains the updated system 97 * definition.</p> 98 */ GetDefinition()99 inline const DefinitionDocument& GetDefinition() const{ return m_definition; } 100 101 /** 102 * <p>The <code>DefinitionDocument</code> that contains the updated system 103 * definition.</p> 104 */ DefinitionHasBeenSet()105 inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; } 106 107 /** 108 * <p>The <code>DefinitionDocument</code> that contains the updated system 109 * definition.</p> 110 */ SetDefinition(const DefinitionDocument & value)111 inline void SetDefinition(const DefinitionDocument& value) { m_definitionHasBeenSet = true; m_definition = value; } 112 113 /** 114 * <p>The <code>DefinitionDocument</code> that contains the updated system 115 * definition.</p> 116 */ SetDefinition(DefinitionDocument && value)117 inline void SetDefinition(DefinitionDocument&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); } 118 119 /** 120 * <p>The <code>DefinitionDocument</code> that contains the updated system 121 * definition.</p> 122 */ WithDefinition(const DefinitionDocument & value)123 inline UpdateSystemTemplateRequest& WithDefinition(const DefinitionDocument& value) { SetDefinition(value); return *this;} 124 125 /** 126 * <p>The <code>DefinitionDocument</code> that contains the updated system 127 * definition.</p> 128 */ WithDefinition(DefinitionDocument && value)129 inline UpdateSystemTemplateRequest& WithDefinition(DefinitionDocument&& value) { SetDefinition(std::move(value)); return *this;} 130 131 132 /** 133 * <p>The version of the user's namespace. Defaults to the latest version of the 134 * user's namespace.</p> <p>If no value is specified, the latest version is used by 135 * default.</p> 136 */ GetCompatibleNamespaceVersion()137 inline long long GetCompatibleNamespaceVersion() const{ return m_compatibleNamespaceVersion; } 138 139 /** 140 * <p>The version of the user's namespace. Defaults to the latest version of the 141 * user's namespace.</p> <p>If no value is specified, the latest version is used by 142 * default.</p> 143 */ CompatibleNamespaceVersionHasBeenSet()144 inline bool CompatibleNamespaceVersionHasBeenSet() const { return m_compatibleNamespaceVersionHasBeenSet; } 145 146 /** 147 * <p>The version of the user's namespace. Defaults to the latest version of the 148 * user's namespace.</p> <p>If no value is specified, the latest version is used by 149 * default.</p> 150 */ SetCompatibleNamespaceVersion(long long value)151 inline void SetCompatibleNamespaceVersion(long long value) { m_compatibleNamespaceVersionHasBeenSet = true; m_compatibleNamespaceVersion = value; } 152 153 /** 154 * <p>The version of the user's namespace. Defaults to the latest version of the 155 * user's namespace.</p> <p>If no value is specified, the latest version is used by 156 * default.</p> 157 */ WithCompatibleNamespaceVersion(long long value)158 inline UpdateSystemTemplateRequest& WithCompatibleNamespaceVersion(long long value) { SetCompatibleNamespaceVersion(value); return *this;} 159 160 private: 161 162 Aws::String m_id; 163 bool m_idHasBeenSet; 164 165 DefinitionDocument m_definition; 166 bool m_definitionHasBeenSet; 167 168 long long m_compatibleNamespaceVersion; 169 bool m_compatibleNamespaceVersionHasBeenSet; 170 }; 171 172 } // namespace Model 173 } // namespace IoTThingsGraph 174 } // namespace Aws 175