feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,113 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/IoTSecureTunnelingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
/**
*/
class AWS_IOTSECURETUNNELING_API CloseTunnelRequest : public IoTSecureTunnelingRequest
{
public:
CloseTunnelRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CloseTunnel"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The ID of the tunnel to close.</p>
*/
inline const Aws::String& GetTunnelId() const{ return m_tunnelId; }
/**
* <p>The ID of the tunnel to close.</p>
*/
inline bool TunnelIdHasBeenSet() const { return m_tunnelIdHasBeenSet; }
/**
* <p>The ID of the tunnel to close.</p>
*/
inline void SetTunnelId(const Aws::String& value) { m_tunnelIdHasBeenSet = true; m_tunnelId = value; }
/**
* <p>The ID of the tunnel to close.</p>
*/
inline void SetTunnelId(Aws::String&& value) { m_tunnelIdHasBeenSet = true; m_tunnelId = std::move(value); }
/**
* <p>The ID of the tunnel to close.</p>
*/
inline void SetTunnelId(const char* value) { m_tunnelIdHasBeenSet = true; m_tunnelId.assign(value); }
/**
* <p>The ID of the tunnel to close.</p>
*/
inline CloseTunnelRequest& WithTunnelId(const Aws::String& value) { SetTunnelId(value); return *this;}
/**
* <p>The ID of the tunnel to close.</p>
*/
inline CloseTunnelRequest& WithTunnelId(Aws::String&& value) { SetTunnelId(std::move(value)); return *this;}
/**
* <p>The ID of the tunnel to close.</p>
*/
inline CloseTunnelRequest& WithTunnelId(const char* value) { SetTunnelId(value); return *this;}
/**
* <p>When set to true, AWS IoT Secure Tunneling deletes the tunnel data
* immediately.</p>
*/
inline bool GetDelete() const{ return m_delete; }
/**
* <p>When set to true, AWS IoT Secure Tunneling deletes the tunnel data
* immediately.</p>
*/
inline bool DeleteHasBeenSet() const { return m_deleteHasBeenSet; }
/**
* <p>When set to true, AWS IoT Secure Tunneling deletes the tunnel data
* immediately.</p>
*/
inline void SetDelete(bool value) { m_deleteHasBeenSet = true; m_delete = value; }
/**
* <p>When set to true, AWS IoT Secure Tunneling deletes the tunnel data
* immediately.</p>
*/
inline CloseTunnelRequest& WithDelete(bool value) { SetDelete(value); return *this;}
private:
Aws::String m_tunnelId;
bool m_tunnelIdHasBeenSet;
bool m_delete;
bool m_deleteHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
class AWS_IOTSECURETUNNELING_API CloseTunnelResult
{
public:
CloseTunnelResult();
CloseTunnelResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CloseTunnelResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,119 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/model/ConnectionStatus.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
/**
* <p>The state of a connection.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ConnectionState">AWS
* API Reference</a></p>
*/
class AWS_IOTSECURETUNNELING_API ConnectionState
{
public:
ConnectionState();
ConnectionState(Aws::Utils::Json::JsonView jsonValue);
ConnectionState& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The connection status of the tunnel. Valid values are <code>CONNECTED</code>
* and <code>DISCONNECTED</code>.</p>
*/
inline const ConnectionStatus& GetStatus() const{ return m_status; }
/**
* <p>The connection status of the tunnel. Valid values are <code>CONNECTED</code>
* and <code>DISCONNECTED</code>.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The connection status of the tunnel. Valid values are <code>CONNECTED</code>
* and <code>DISCONNECTED</code>.</p>
*/
inline void SetStatus(const ConnectionStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The connection status of the tunnel. Valid values are <code>CONNECTED</code>
* and <code>DISCONNECTED</code>.</p>
*/
inline void SetStatus(ConnectionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The connection status of the tunnel. Valid values are <code>CONNECTED</code>
* and <code>DISCONNECTED</code>.</p>
*/
inline ConnectionState& WithStatus(const ConnectionStatus& value) { SetStatus(value); return *this;}
/**
* <p>The connection status of the tunnel. Valid values are <code>CONNECTED</code>
* and <code>DISCONNECTED</code>.</p>
*/
inline ConnectionState& WithStatus(ConnectionStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>The last time the connection status was updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; }
/**
* <p>The last time the connection status was updated.</p>
*/
inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
/**
* <p>The last time the connection status was updated.</p>
*/
inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; }
/**
* <p>The last time the connection status was updated.</p>
*/
inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); }
/**
* <p>The last time the connection status was updated.</p>
*/
inline ConnectionState& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;}
/**
* <p>The last time the connection status was updated.</p>
*/
inline ConnectionState& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;}
private:
ConnectionStatus m_status;
bool m_statusHasBeenSet;
Aws::Utils::DateTime m_lastUpdatedAt;
bool m_lastUpdatedAtHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
enum class ConnectionStatus
{
NOT_SET,
CONNECTED,
DISCONNECTED
};
namespace ConnectionStatusMapper
{
AWS_IOTSECURETUNNELING_API ConnectionStatus GetConnectionStatusForName(const Aws::String& name);
AWS_IOTSECURETUNNELING_API Aws::String GetNameForConnectionStatus(ConnectionStatus value);
} // namespace ConnectionStatusMapper
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/IoTSecureTunnelingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
/**
*/
class AWS_IOTSECURETUNNELING_API DescribeTunnelRequest : public IoTSecureTunnelingRequest
{
public:
DescribeTunnelRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeTunnel"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The tunnel to describe.</p>
*/
inline const Aws::String& GetTunnelId() const{ return m_tunnelId; }
/**
* <p>The tunnel to describe.</p>
*/
inline bool TunnelIdHasBeenSet() const { return m_tunnelIdHasBeenSet; }
/**
* <p>The tunnel to describe.</p>
*/
inline void SetTunnelId(const Aws::String& value) { m_tunnelIdHasBeenSet = true; m_tunnelId = value; }
/**
* <p>The tunnel to describe.</p>
*/
inline void SetTunnelId(Aws::String&& value) { m_tunnelIdHasBeenSet = true; m_tunnelId = std::move(value); }
/**
* <p>The tunnel to describe.</p>
*/
inline void SetTunnelId(const char* value) { m_tunnelIdHasBeenSet = true; m_tunnelId.assign(value); }
/**
* <p>The tunnel to describe.</p>
*/
inline DescribeTunnelRequest& WithTunnelId(const Aws::String& value) { SetTunnelId(value); return *this;}
/**
* <p>The tunnel to describe.</p>
*/
inline DescribeTunnelRequest& WithTunnelId(Aws::String&& value) { SetTunnelId(std::move(value)); return *this;}
/**
* <p>The tunnel to describe.</p>
*/
inline DescribeTunnelRequest& WithTunnelId(const char* value) { SetTunnelId(value); return *this;}
private:
Aws::String m_tunnelId;
bool m_tunnelIdHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/model/Tunnel.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
class AWS_IOTSECURETUNNELING_API DescribeTunnelResult
{
public:
DescribeTunnelResult();
DescribeTunnelResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeTunnelResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The tunnel being described.</p>
*/
inline const Tunnel& GetTunnel() const{ return m_tunnel; }
/**
* <p>The tunnel being described.</p>
*/
inline void SetTunnel(const Tunnel& value) { m_tunnel = value; }
/**
* <p>The tunnel being described.</p>
*/
inline void SetTunnel(Tunnel&& value) { m_tunnel = std::move(value); }
/**
* <p>The tunnel being described.</p>
*/
inline DescribeTunnelResult& WithTunnel(const Tunnel& value) { SetTunnel(value); return *this;}
/**
* <p>The tunnel being described.</p>
*/
inline DescribeTunnelResult& WithTunnel(Tunnel&& value) { SetTunnel(std::move(value)); return *this;}
private:
Tunnel m_tunnel;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,174 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
/**
* <p>The destination configuration.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/DestinationConfig">AWS
* API Reference</a></p>
*/
class AWS_IOTSECURETUNNELING_API DestinationConfig
{
public:
DestinationConfig();
DestinationConfig(Aws::Utils::Json::JsonView jsonValue);
DestinationConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the IoT thing to which you want to connect.</p>
*/
inline const Aws::String& GetThingName() const{ return m_thingName; }
/**
* <p>The name of the IoT thing to which you want to connect.</p>
*/
inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
/**
* <p>The name of the IoT thing to which you want to connect.</p>
*/
inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; }
/**
* <p>The name of the IoT thing to which you want to connect.</p>
*/
inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); }
/**
* <p>The name of the IoT thing to which you want to connect.</p>
*/
inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); }
/**
* <p>The name of the IoT thing to which you want to connect.</p>
*/
inline DestinationConfig& WithThingName(const Aws::String& value) { SetThingName(value); return *this;}
/**
* <p>The name of the IoT thing to which you want to connect.</p>
*/
inline DestinationConfig& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;}
/**
* <p>The name of the IoT thing to which you want to connect.</p>
*/
inline DestinationConfig& WithThingName(const char* value) { SetThingName(value); return *this;}
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline const Aws::Vector<Aws::String>& GetServices() const{ return m_services; }
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline bool ServicesHasBeenSet() const { return m_servicesHasBeenSet; }
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline void SetServices(const Aws::Vector<Aws::String>& value) { m_servicesHasBeenSet = true; m_services = value; }
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline void SetServices(Aws::Vector<Aws::String>&& value) { m_servicesHasBeenSet = true; m_services = std::move(value); }
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline DestinationConfig& WithServices(const Aws::Vector<Aws::String>& value) { SetServices(value); return *this;}
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline DestinationConfig& WithServices(Aws::Vector<Aws::String>&& value) { SetServices(std::move(value)); return *this;}
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline DestinationConfig& AddServices(const Aws::String& value) { m_servicesHasBeenSet = true; m_services.push_back(value); return *this; }
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline DestinationConfig& AddServices(Aws::String&& value) { m_servicesHasBeenSet = true; m_services.push_back(std::move(value)); return *this; }
/**
* <p>A list of service names that identity the target application. Currently, you
* can only specify a single name. The AWS IoT client running on the destination
* device reads this value and uses it to look up a port or an IP address and a
* port. The AWS IoT client instantiates the local proxy which uses this
* information to connect to the destination application.</p>
*/
inline DestinationConfig& AddServices(const char* value) { m_servicesHasBeenSet = true; m_services.push_back(value); return *this; }
private:
Aws::String m_thingName;
bool m_thingNameHasBeenSet;
Aws::Vector<Aws::String> m_services;
bool m_servicesHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/IoTSecureTunnelingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
/**
*/
class AWS_IOTSECURETUNNELING_API ListTagsForResourceRequest : public IoTSecureTunnelingRequest
{
public:
ListTagsForResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The resource ARN.</p>
*/
inline const Aws::String& GetResourceArn() const{ return m_resourceArn; }
/**
* <p>The resource ARN.</p>
*/
inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
/**
* <p>The resource ARN.</p>
*/
inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; }
/**
* <p>The resource ARN.</p>
*/
inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); }
/**
* <p>The resource ARN.</p>
*/
inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); }
/**
* <p>The resource ARN.</p>
*/
inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;}
/**
* <p>The resource ARN.</p>
*/
inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;}
/**
* <p>The resource ARN.</p>
*/
inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;}
private:
Aws::String m_resourceArn;
bool m_resourceArnHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/iotsecuretunneling/model/Tag.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
class AWS_IOTSECURETUNNELING_API ListTagsForResourceResult
{
public:
ListTagsForResourceResult();
ListTagsForResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The tags for the specified resource.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The tags for the specified resource.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; }
/**
* <p>The tags for the specified resource.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); }
/**
* <p>The tags for the specified resource.</p>
*/
inline ListTagsForResourceResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The tags for the specified resource.</p>
*/
inline ListTagsForResourceResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The tags for the specified resource.</p>
*/
inline ListTagsForResourceResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; }
/**
* <p>The tags for the specified resource.</p>
*/
inline ListTagsForResourceResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; }
private:
Aws::Vector<Tag> m_tags;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,153 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/IoTSecureTunnelingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
/**
*/
class AWS_IOTSECURETUNNELING_API ListTunnelsRequest : public IoTSecureTunnelingRequest
{
public:
ListTunnelsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListTunnels"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the IoT thing associated with the destination device.</p>
*/
inline const Aws::String& GetThingName() const{ return m_thingName; }
/**
* <p>The name of the IoT thing associated with the destination device.</p>
*/
inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
/**
* <p>The name of the IoT thing associated with the destination device.</p>
*/
inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; }
/**
* <p>The name of the IoT thing associated with the destination device.</p>
*/
inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); }
/**
* <p>The name of the IoT thing associated with the destination device.</p>
*/
inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); }
/**
* <p>The name of the IoT thing associated with the destination device.</p>
*/
inline ListTunnelsRequest& WithThingName(const Aws::String& value) { SetThingName(value); return *this;}
/**
* <p>The name of the IoT thing associated with the destination device.</p>
*/
inline ListTunnelsRequest& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;}
/**
* <p>The name of the IoT thing associated with the destination device.</p>
*/
inline ListTunnelsRequest& WithThingName(const char* value) { SetThingName(value); return *this;}
/**
* <p>The maximum number of results to return at once.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of results to return at once.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of results to return at once.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of results to return at once.</p>
*/
inline ListTunnelsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>A token to retrieve the next set of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token to retrieve the next set of results.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>A token to retrieve the next set of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>A token to retrieve the next set of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>A token to retrieve the next set of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>A token to retrieve the next set of results.</p>
*/
inline ListTunnelsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token to retrieve the next set of results.</p>
*/
inline ListTunnelsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token to retrieve the next set of results.</p>
*/
inline ListTunnelsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_thingName;
bool m_thingNameHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/iotsecuretunneling/model/TunnelSummary.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
class AWS_IOTSECURETUNNELING_API ListTunnelsResult
{
public:
ListTunnelsResult();
ListTunnelsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListTunnelsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A short description of the tunnels in an AWS account.</p>
*/
inline const Aws::Vector<TunnelSummary>& GetTunnelSummaries() const{ return m_tunnelSummaries; }
/**
* <p>A short description of the tunnels in an AWS account.</p>
*/
inline void SetTunnelSummaries(const Aws::Vector<TunnelSummary>& value) { m_tunnelSummaries = value; }
/**
* <p>A short description of the tunnels in an AWS account.</p>
*/
inline void SetTunnelSummaries(Aws::Vector<TunnelSummary>&& value) { m_tunnelSummaries = std::move(value); }
/**
* <p>A short description of the tunnels in an AWS account.</p>
*/
inline ListTunnelsResult& WithTunnelSummaries(const Aws::Vector<TunnelSummary>& value) { SetTunnelSummaries(value); return *this;}
/**
* <p>A short description of the tunnels in an AWS account.</p>
*/
inline ListTunnelsResult& WithTunnelSummaries(Aws::Vector<TunnelSummary>&& value) { SetTunnelSummaries(std::move(value)); return *this;}
/**
* <p>A short description of the tunnels in an AWS account.</p>
*/
inline ListTunnelsResult& AddTunnelSummaries(const TunnelSummary& value) { m_tunnelSummaries.push_back(value); return *this; }
/**
* <p>A short description of the tunnels in an AWS account.</p>
*/
inline ListTunnelsResult& AddTunnelSummaries(TunnelSummary&& value) { m_tunnelSummaries.push_back(std::move(value)); return *this; }
/**
* <p>A token to used to retrieve the next set of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token to used to retrieve the next set of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token to used to retrieve the next set of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token to used to retrieve the next set of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token to used to retrieve the next set of results.</p>
*/
inline ListTunnelsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token to used to retrieve the next set of results.</p>
*/
inline ListTunnelsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token to used to retrieve the next set of results.</p>
*/
inline ListTunnelsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<TunnelSummary> m_tunnelSummaries;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,201 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/IoTSecureTunnelingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/iotsecuretunneling/model/DestinationConfig.h>
#include <aws/iotsecuretunneling/model/TimeoutConfig.h>
#include <aws/iotsecuretunneling/model/Tag.h>
#include <utility>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
/**
*/
class AWS_IOTSECURETUNNELING_API OpenTunnelRequest : public IoTSecureTunnelingRequest
{
public:
OpenTunnelRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "OpenTunnel"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>A short text description of the tunnel. </p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>A short text description of the tunnel. </p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>A short text description of the tunnel. </p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>A short text description of the tunnel. </p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>A short text description of the tunnel. </p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>A short text description of the tunnel. </p>
*/
inline OpenTunnelRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>A short text description of the tunnel. </p>
*/
inline OpenTunnelRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>A short text description of the tunnel. </p>
*/
inline OpenTunnelRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>A collection of tag metadata.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A collection of tag metadata.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A collection of tag metadata.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A collection of tag metadata.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A collection of tag metadata.</p>
*/
inline OpenTunnelRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A collection of tag metadata.</p>
*/
inline OpenTunnelRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A collection of tag metadata.</p>
*/
inline OpenTunnelRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A collection of tag metadata.</p>
*/
inline OpenTunnelRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
/**
* <p>The destination configuration for the OpenTunnel request.</p>
*/
inline const DestinationConfig& GetDestinationConfig() const{ return m_destinationConfig; }
/**
* <p>The destination configuration for the OpenTunnel request.</p>
*/
inline bool DestinationConfigHasBeenSet() const { return m_destinationConfigHasBeenSet; }
/**
* <p>The destination configuration for the OpenTunnel request.</p>
*/
inline void SetDestinationConfig(const DestinationConfig& value) { m_destinationConfigHasBeenSet = true; m_destinationConfig = value; }
/**
* <p>The destination configuration for the OpenTunnel request.</p>
*/
inline void SetDestinationConfig(DestinationConfig&& value) { m_destinationConfigHasBeenSet = true; m_destinationConfig = std::move(value); }
/**
* <p>The destination configuration for the OpenTunnel request.</p>
*/
inline OpenTunnelRequest& WithDestinationConfig(const DestinationConfig& value) { SetDestinationConfig(value); return *this;}
/**
* <p>The destination configuration for the OpenTunnel request.</p>
*/
inline OpenTunnelRequest& WithDestinationConfig(DestinationConfig&& value) { SetDestinationConfig(std::move(value)); return *this;}
/**
* <p>Timeout configuration for a tunnel.</p>
*/
inline const TimeoutConfig& GetTimeoutConfig() const{ return m_timeoutConfig; }
/**
* <p>Timeout configuration for a tunnel.</p>
*/
inline bool TimeoutConfigHasBeenSet() const { return m_timeoutConfigHasBeenSet; }
/**
* <p>Timeout configuration for a tunnel.</p>
*/
inline void SetTimeoutConfig(const TimeoutConfig& value) { m_timeoutConfigHasBeenSet = true; m_timeoutConfig = value; }
/**
* <p>Timeout configuration for a tunnel.</p>
*/
inline void SetTimeoutConfig(TimeoutConfig&& value) { m_timeoutConfigHasBeenSet = true; m_timeoutConfig = std::move(value); }
/**
* <p>Timeout configuration for a tunnel.</p>
*/
inline OpenTunnelRequest& WithTimeoutConfig(const TimeoutConfig& value) { SetTimeoutConfig(value); return *this;}
/**
* <p>Timeout configuration for a tunnel.</p>
*/
inline OpenTunnelRequest& WithTimeoutConfig(TimeoutConfig&& value) { SetTimeoutConfig(std::move(value)); return *this;}
private:
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
DestinationConfig m_destinationConfig;
bool m_destinationConfigHasBeenSet;
TimeoutConfig m_timeoutConfig;
bool m_timeoutConfigHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,219 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
class AWS_IOTSECURETUNNELING_API OpenTunnelResult
{
public:
OpenTunnelResult();
OpenTunnelResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
OpenTunnelResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A unique alpha-numeric tunnel ID.</p>
*/
inline const Aws::String& GetTunnelId() const{ return m_tunnelId; }
/**
* <p>A unique alpha-numeric tunnel ID.</p>
*/
inline void SetTunnelId(const Aws::String& value) { m_tunnelId = value; }
/**
* <p>A unique alpha-numeric tunnel ID.</p>
*/
inline void SetTunnelId(Aws::String&& value) { m_tunnelId = std::move(value); }
/**
* <p>A unique alpha-numeric tunnel ID.</p>
*/
inline void SetTunnelId(const char* value) { m_tunnelId.assign(value); }
/**
* <p>A unique alpha-numeric tunnel ID.</p>
*/
inline OpenTunnelResult& WithTunnelId(const Aws::String& value) { SetTunnelId(value); return *this;}
/**
* <p>A unique alpha-numeric tunnel ID.</p>
*/
inline OpenTunnelResult& WithTunnelId(Aws::String&& value) { SetTunnelId(std::move(value)); return *this;}
/**
* <p>A unique alpha-numeric tunnel ID.</p>
*/
inline OpenTunnelResult& WithTunnelId(const char* value) { SetTunnelId(value); return *this;}
/**
* <p>The Amazon Resource Name for the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline const Aws::String& GetTunnelArn() const{ return m_tunnelArn; }
/**
* <p>The Amazon Resource Name for the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(const Aws::String& value) { m_tunnelArn = value; }
/**
* <p>The Amazon Resource Name for the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(Aws::String&& value) { m_tunnelArn = std::move(value); }
/**
* <p>The Amazon Resource Name for the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(const char* value) { m_tunnelArn.assign(value); }
/**
* <p>The Amazon Resource Name for the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline OpenTunnelResult& WithTunnelArn(const Aws::String& value) { SetTunnelArn(value); return *this;}
/**
* <p>The Amazon Resource Name for the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline OpenTunnelResult& WithTunnelArn(Aws::String&& value) { SetTunnelArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name for the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline OpenTunnelResult& WithTunnelArn(const char* value) { SetTunnelArn(value); return *this;}
/**
* <p>The access token the source local proxy uses to connect to AWS IoT Secure
* Tunneling.</p>
*/
inline const Aws::String& GetSourceAccessToken() const{ return m_sourceAccessToken; }
/**
* <p>The access token the source local proxy uses to connect to AWS IoT Secure
* Tunneling.</p>
*/
inline void SetSourceAccessToken(const Aws::String& value) { m_sourceAccessToken = value; }
/**
* <p>The access token the source local proxy uses to connect to AWS IoT Secure
* Tunneling.</p>
*/
inline void SetSourceAccessToken(Aws::String&& value) { m_sourceAccessToken = std::move(value); }
/**
* <p>The access token the source local proxy uses to connect to AWS IoT Secure
* Tunneling.</p>
*/
inline void SetSourceAccessToken(const char* value) { m_sourceAccessToken.assign(value); }
/**
* <p>The access token the source local proxy uses to connect to AWS IoT Secure
* Tunneling.</p>
*/
inline OpenTunnelResult& WithSourceAccessToken(const Aws::String& value) { SetSourceAccessToken(value); return *this;}
/**
* <p>The access token the source local proxy uses to connect to AWS IoT Secure
* Tunneling.</p>
*/
inline OpenTunnelResult& WithSourceAccessToken(Aws::String&& value) { SetSourceAccessToken(std::move(value)); return *this;}
/**
* <p>The access token the source local proxy uses to connect to AWS IoT Secure
* Tunneling.</p>
*/
inline OpenTunnelResult& WithSourceAccessToken(const char* value) { SetSourceAccessToken(value); return *this;}
/**
* <p>The access token the destination local proxy uses to connect to AWS IoT
* Secure Tunneling.</p>
*/
inline const Aws::String& GetDestinationAccessToken() const{ return m_destinationAccessToken; }
/**
* <p>The access token the destination local proxy uses to connect to AWS IoT
* Secure Tunneling.</p>
*/
inline void SetDestinationAccessToken(const Aws::String& value) { m_destinationAccessToken = value; }
/**
* <p>The access token the destination local proxy uses to connect to AWS IoT
* Secure Tunneling.</p>
*/
inline void SetDestinationAccessToken(Aws::String&& value) { m_destinationAccessToken = std::move(value); }
/**
* <p>The access token the destination local proxy uses to connect to AWS IoT
* Secure Tunneling.</p>
*/
inline void SetDestinationAccessToken(const char* value) { m_destinationAccessToken.assign(value); }
/**
* <p>The access token the destination local proxy uses to connect to AWS IoT
* Secure Tunneling.</p>
*/
inline OpenTunnelResult& WithDestinationAccessToken(const Aws::String& value) { SetDestinationAccessToken(value); return *this;}
/**
* <p>The access token the destination local proxy uses to connect to AWS IoT
* Secure Tunneling.</p>
*/
inline OpenTunnelResult& WithDestinationAccessToken(Aws::String&& value) { SetDestinationAccessToken(std::move(value)); return *this;}
/**
* <p>The access token the destination local proxy uses to connect to AWS IoT
* Secure Tunneling.</p>
*/
inline OpenTunnelResult& WithDestinationAccessToken(const char* value) { SetDestinationAccessToken(value); return *this;}
private:
Aws::String m_tunnelId;
Aws::String m_tunnelArn;
Aws::String m_sourceAccessToken;
Aws::String m_destinationAccessToken;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
/**
* <p>An arbitary key/value pair used to add searchable metadata to secure tunnel
* resources.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/Tag">AWS
* API Reference</a></p>
*/
class AWS_IOTSECURETUNNELING_API Tag
{
public:
Tag();
Tag(Aws::Utils::Json::JsonView jsonValue);
Tag& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The key of the tag.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
/**
* <p>The key of the tag.</p>
*/
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
/**
* <p>The key of the tag.</p>
*/
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
/**
* <p>The key of the tag.</p>
*/
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
/**
* <p>The key of the tag.</p>
*/
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
/**
* <p>The key of the tag.</p>
*/
inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;}
/**
* <p>The key of the tag.</p>
*/
inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
/**
* <p>The key of the tag.</p>
*/
inline Tag& WithKey(const char* value) { SetKey(value); return *this;}
/**
* <p>The value of the tag.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The value of the tag.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value of the tag.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value of the tag.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The value of the tag.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The value of the tag.</p>
*/
inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The value of the tag.</p>
*/
inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The value of the tag.</p>
*/
inline Tag& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_key;
bool m_keyHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,131 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/IoTSecureTunnelingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/iotsecuretunneling/model/Tag.h>
#include <utility>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
/**
*/
class AWS_IOTSECURETUNNELING_API TagResourceRequest : public IoTSecureTunnelingRequest
{
public:
TagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "TagResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The ARN of the resource.</p>
*/
inline const Aws::String& GetResourceArn() const{ return m_resourceArn; }
/**
* <p>The ARN of the resource.</p>
*/
inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
/**
* <p>The ARN of the resource.</p>
*/
inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; }
/**
* <p>The ARN of the resource.</p>
*/
inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); }
/**
* <p>The ARN of the resource.</p>
*/
inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); }
/**
* <p>The ARN of the resource.</p>
*/
inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;}
/**
* <p>The ARN of the resource.</p>
*/
inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;}
/**
* <p>The ARN of the resource.</p>
*/
inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;}
/**
* <p>The tags for the resource.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The tags for the resource.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>The tags for the resource.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>The tags for the resource.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>The tags for the resource.</p>
*/
inline TagResourceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The tags for the resource.</p>
*/
inline TagResourceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The tags for the resource.</p>
*/
inline TagResourceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>The tags for the resource.</p>
*/
inline TagResourceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_resourceArn;
bool m_resourceArnHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
class AWS_IOTSECURETUNNELING_API TagResourceResult
{
public:
TagResourceResult();
TagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
TagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
/**
* <p>Tunnel timeout configuration.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/TimeoutConfig">AWS
* API Reference</a></p>
*/
class AWS_IOTSECURETUNNELING_API TimeoutConfig
{
public:
TimeoutConfig();
TimeoutConfig(Aws::Utils::Json::JsonView jsonValue);
TimeoutConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The maximum amount of time (in minutes) a tunnel can remain open. If not
* specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are
* from 1 minute to 12 hours (720 minutes) </p>
*/
inline int GetMaxLifetimeTimeoutMinutes() const{ return m_maxLifetimeTimeoutMinutes; }
/**
* <p>The maximum amount of time (in minutes) a tunnel can remain open. If not
* specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are
* from 1 minute to 12 hours (720 minutes) </p>
*/
inline bool MaxLifetimeTimeoutMinutesHasBeenSet() const { return m_maxLifetimeTimeoutMinutesHasBeenSet; }
/**
* <p>The maximum amount of time (in minutes) a tunnel can remain open. If not
* specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are
* from 1 minute to 12 hours (720 minutes) </p>
*/
inline void SetMaxLifetimeTimeoutMinutes(int value) { m_maxLifetimeTimeoutMinutesHasBeenSet = true; m_maxLifetimeTimeoutMinutes = value; }
/**
* <p>The maximum amount of time (in minutes) a tunnel can remain open. If not
* specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are
* from 1 minute to 12 hours (720 minutes) </p>
*/
inline TimeoutConfig& WithMaxLifetimeTimeoutMinutes(int value) { SetMaxLifetimeTimeoutMinutes(value); return *this;}
private:
int m_maxLifetimeTimeoutMinutes;
bool m_maxLifetimeTimeoutMinutesHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,494 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/iotsecuretunneling/model/TunnelStatus.h>
#include <aws/iotsecuretunneling/model/ConnectionState.h>
#include <aws/iotsecuretunneling/model/DestinationConfig.h>
#include <aws/iotsecuretunneling/model/TimeoutConfig.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/DateTime.h>
#include <aws/iotsecuretunneling/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
/**
* <p>A connection between a source computer and a destination
* device.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/Tunnel">AWS
* API Reference</a></p>
*/
class AWS_IOTSECURETUNNELING_API Tunnel
{
public:
Tunnel();
Tunnel(Aws::Utils::Json::JsonView jsonValue);
Tunnel& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A unique alpha-numeric ID that identifies a tunnel.</p>
*/
inline const Aws::String& GetTunnelId() const{ return m_tunnelId; }
/**
* <p>A unique alpha-numeric ID that identifies a tunnel.</p>
*/
inline bool TunnelIdHasBeenSet() const { return m_tunnelIdHasBeenSet; }
/**
* <p>A unique alpha-numeric ID that identifies a tunnel.</p>
*/
inline void SetTunnelId(const Aws::String& value) { m_tunnelIdHasBeenSet = true; m_tunnelId = value; }
/**
* <p>A unique alpha-numeric ID that identifies a tunnel.</p>
*/
inline void SetTunnelId(Aws::String&& value) { m_tunnelIdHasBeenSet = true; m_tunnelId = std::move(value); }
/**
* <p>A unique alpha-numeric ID that identifies a tunnel.</p>
*/
inline void SetTunnelId(const char* value) { m_tunnelIdHasBeenSet = true; m_tunnelId.assign(value); }
/**
* <p>A unique alpha-numeric ID that identifies a tunnel.</p>
*/
inline Tunnel& WithTunnelId(const Aws::String& value) { SetTunnelId(value); return *this;}
/**
* <p>A unique alpha-numeric ID that identifies a tunnel.</p>
*/
inline Tunnel& WithTunnelId(Aws::String&& value) { SetTunnelId(std::move(value)); return *this;}
/**
* <p>A unique alpha-numeric ID that identifies a tunnel.</p>
*/
inline Tunnel& WithTunnelId(const char* value) { SetTunnelId(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline const Aws::String& GetTunnelArn() const{ return m_tunnelArn; }
/**
* <p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline bool TunnelArnHasBeenSet() const { return m_tunnelArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(const Aws::String& value) { m_tunnelArnHasBeenSet = true; m_tunnelArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(Aws::String&& value) { m_tunnelArnHasBeenSet = true; m_tunnelArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(const char* value) { m_tunnelArnHasBeenSet = true; m_tunnelArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline Tunnel& WithTunnelArn(const Aws::String& value) { SetTunnelArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline Tunnel& WithTunnelArn(Aws::String&& value) { SetTunnelArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline Tunnel& WithTunnelArn(const char* value) { SetTunnelArn(value); return *this;}
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline const TunnelStatus& GetStatus() const{ return m_status; }
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline void SetStatus(const TunnelStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline void SetStatus(TunnelStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline Tunnel& WithStatus(const TunnelStatus& value) { SetStatus(value); return *this;}
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline Tunnel& WithStatus(TunnelStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>The connection state of the source application.</p>
*/
inline const ConnectionState& GetSourceConnectionState() const{ return m_sourceConnectionState; }
/**
* <p>The connection state of the source application.</p>
*/
inline bool SourceConnectionStateHasBeenSet() const { return m_sourceConnectionStateHasBeenSet; }
/**
* <p>The connection state of the source application.</p>
*/
inline void SetSourceConnectionState(const ConnectionState& value) { m_sourceConnectionStateHasBeenSet = true; m_sourceConnectionState = value; }
/**
* <p>The connection state of the source application.</p>
*/
inline void SetSourceConnectionState(ConnectionState&& value) { m_sourceConnectionStateHasBeenSet = true; m_sourceConnectionState = std::move(value); }
/**
* <p>The connection state of the source application.</p>
*/
inline Tunnel& WithSourceConnectionState(const ConnectionState& value) { SetSourceConnectionState(value); return *this;}
/**
* <p>The connection state of the source application.</p>
*/
inline Tunnel& WithSourceConnectionState(ConnectionState&& value) { SetSourceConnectionState(std::move(value)); return *this;}
/**
* <p>The connection state of the destination application.</p>
*/
inline const ConnectionState& GetDestinationConnectionState() const{ return m_destinationConnectionState; }
/**
* <p>The connection state of the destination application.</p>
*/
inline bool DestinationConnectionStateHasBeenSet() const { return m_destinationConnectionStateHasBeenSet; }
/**
* <p>The connection state of the destination application.</p>
*/
inline void SetDestinationConnectionState(const ConnectionState& value) { m_destinationConnectionStateHasBeenSet = true; m_destinationConnectionState = value; }
/**
* <p>The connection state of the destination application.</p>
*/
inline void SetDestinationConnectionState(ConnectionState&& value) { m_destinationConnectionStateHasBeenSet = true; m_destinationConnectionState = std::move(value); }
/**
* <p>The connection state of the destination application.</p>
*/
inline Tunnel& WithDestinationConnectionState(const ConnectionState& value) { SetDestinationConnectionState(value); return *this;}
/**
* <p>The connection state of the destination application.</p>
*/
inline Tunnel& WithDestinationConnectionState(ConnectionState&& value) { SetDestinationConnectionState(std::move(value)); return *this;}
/**
* <p>A description of the tunnel.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>A description of the tunnel.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>A description of the tunnel.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>A description of the tunnel.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>A description of the tunnel.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>A description of the tunnel.</p>
*/
inline Tunnel& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>A description of the tunnel.</p>
*/
inline Tunnel& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>A description of the tunnel.</p>
*/
inline Tunnel& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The destination configuration that specifies the thing name of the
* destination device and a service name that the local proxy uses to connect to
* the destination application.</p>
*/
inline const DestinationConfig& GetDestinationConfig() const{ return m_destinationConfig; }
/**
* <p>The destination configuration that specifies the thing name of the
* destination device and a service name that the local proxy uses to connect to
* the destination application.</p>
*/
inline bool DestinationConfigHasBeenSet() const { return m_destinationConfigHasBeenSet; }
/**
* <p>The destination configuration that specifies the thing name of the
* destination device and a service name that the local proxy uses to connect to
* the destination application.</p>
*/
inline void SetDestinationConfig(const DestinationConfig& value) { m_destinationConfigHasBeenSet = true; m_destinationConfig = value; }
/**
* <p>The destination configuration that specifies the thing name of the
* destination device and a service name that the local proxy uses to connect to
* the destination application.</p>
*/
inline void SetDestinationConfig(DestinationConfig&& value) { m_destinationConfigHasBeenSet = true; m_destinationConfig = std::move(value); }
/**
* <p>The destination configuration that specifies the thing name of the
* destination device and a service name that the local proxy uses to connect to
* the destination application.</p>
*/
inline Tunnel& WithDestinationConfig(const DestinationConfig& value) { SetDestinationConfig(value); return *this;}
/**
* <p>The destination configuration that specifies the thing name of the
* destination device and a service name that the local proxy uses to connect to
* the destination application.</p>
*/
inline Tunnel& WithDestinationConfig(DestinationConfig&& value) { SetDestinationConfig(std::move(value)); return *this;}
/**
* <p>Timeout configuration for the tunnel.</p>
*/
inline const TimeoutConfig& GetTimeoutConfig() const{ return m_timeoutConfig; }
/**
* <p>Timeout configuration for the tunnel.</p>
*/
inline bool TimeoutConfigHasBeenSet() const { return m_timeoutConfigHasBeenSet; }
/**
* <p>Timeout configuration for the tunnel.</p>
*/
inline void SetTimeoutConfig(const TimeoutConfig& value) { m_timeoutConfigHasBeenSet = true; m_timeoutConfig = value; }
/**
* <p>Timeout configuration for the tunnel.</p>
*/
inline void SetTimeoutConfig(TimeoutConfig&& value) { m_timeoutConfigHasBeenSet = true; m_timeoutConfig = std::move(value); }
/**
* <p>Timeout configuration for the tunnel.</p>
*/
inline Tunnel& WithTimeoutConfig(const TimeoutConfig& value) { SetTimeoutConfig(value); return *this;}
/**
* <p>Timeout configuration for the tunnel.</p>
*/
inline Tunnel& WithTimeoutConfig(TimeoutConfig&& value) { SetTimeoutConfig(std::move(value)); return *this;}
/**
* <p>A list of tag metadata associated with the secure tunnel.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A list of tag metadata associated with the secure tunnel.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A list of tag metadata associated with the secure tunnel.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A list of tag metadata associated with the secure tunnel.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A list of tag metadata associated with the secure tunnel.</p>
*/
inline Tunnel& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A list of tag metadata associated with the secure tunnel.</p>
*/
inline Tunnel& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of tag metadata associated with the secure tunnel.</p>
*/
inline Tunnel& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A list of tag metadata associated with the secure tunnel.</p>
*/
inline Tunnel& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
/**
* <p>The time when the tunnel was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
/**
* <p>The time when the tunnel was created.</p>
*/
inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
/**
* <p>The time when the tunnel was created.</p>
*/
inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; }
/**
* <p>The time when the tunnel was created.</p>
*/
inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); }
/**
* <p>The time when the tunnel was created.</p>
*/
inline Tunnel& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
/**
* <p>The time when the tunnel was created.</p>
*/
inline Tunnel& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
/**
* <p>The last time the tunnel was updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; }
/**
* <p>The last time the tunnel was updated.</p>
*/
inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
/**
* <p>The last time the tunnel was updated.</p>
*/
inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; }
/**
* <p>The last time the tunnel was updated.</p>
*/
inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); }
/**
* <p>The last time the tunnel was updated.</p>
*/
inline Tunnel& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;}
/**
* <p>The last time the tunnel was updated.</p>
*/
inline Tunnel& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;}
private:
Aws::String m_tunnelId;
bool m_tunnelIdHasBeenSet;
Aws::String m_tunnelArn;
bool m_tunnelArnHasBeenSet;
TunnelStatus m_status;
bool m_statusHasBeenSet;
ConnectionState m_sourceConnectionState;
bool m_sourceConnectionStateHasBeenSet;
ConnectionState m_destinationConnectionState;
bool m_destinationConnectionStateHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
DestinationConfig m_destinationConfig;
bool m_destinationConfigHasBeenSet;
TimeoutConfig m_timeoutConfig;
bool m_timeoutConfigHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
Aws::Utils::DateTime m_createdAt;
bool m_createdAtHasBeenSet;
Aws::Utils::DateTime m_lastUpdatedAt;
bool m_lastUpdatedAtHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
enum class TunnelStatus
{
NOT_SET,
OPEN,
CLOSED
};
namespace TunnelStatusMapper
{
AWS_IOTSECURETUNNELING_API TunnelStatus GetTunnelStatusForName(const Aws::String& name);
AWS_IOTSECURETUNNELING_API Aws::String GetNameForTunnelStatus(TunnelStatus value);
} // namespace TunnelStatusMapper
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,296 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/iotsecuretunneling/model/TunnelStatus.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
/**
* <p>Information about the tunnel.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/TunnelSummary">AWS
* API Reference</a></p>
*/
class AWS_IOTSECURETUNNELING_API TunnelSummary
{
public:
TunnelSummary();
TunnelSummary(Aws::Utils::Json::JsonView jsonValue);
TunnelSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The unique alpha-numeric identifier for the tunnel.</p>
*/
inline const Aws::String& GetTunnelId() const{ return m_tunnelId; }
/**
* <p>The unique alpha-numeric identifier for the tunnel.</p>
*/
inline bool TunnelIdHasBeenSet() const { return m_tunnelIdHasBeenSet; }
/**
* <p>The unique alpha-numeric identifier for the tunnel.</p>
*/
inline void SetTunnelId(const Aws::String& value) { m_tunnelIdHasBeenSet = true; m_tunnelId = value; }
/**
* <p>The unique alpha-numeric identifier for the tunnel.</p>
*/
inline void SetTunnelId(Aws::String&& value) { m_tunnelIdHasBeenSet = true; m_tunnelId = std::move(value); }
/**
* <p>The unique alpha-numeric identifier for the tunnel.</p>
*/
inline void SetTunnelId(const char* value) { m_tunnelIdHasBeenSet = true; m_tunnelId.assign(value); }
/**
* <p>The unique alpha-numeric identifier for the tunnel.</p>
*/
inline TunnelSummary& WithTunnelId(const Aws::String& value) { SetTunnelId(value); return *this;}
/**
* <p>The unique alpha-numeric identifier for the tunnel.</p>
*/
inline TunnelSummary& WithTunnelId(Aws::String&& value) { SetTunnelId(std::move(value)); return *this;}
/**
* <p>The unique alpha-numeric identifier for the tunnel.</p>
*/
inline TunnelSummary& WithTunnelId(const char* value) { SetTunnelId(value); return *this;}
/**
* <p>The Amazon Resource Name of the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline const Aws::String& GetTunnelArn() const{ return m_tunnelArn; }
/**
* <p>The Amazon Resource Name of the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline bool TunnelArnHasBeenSet() const { return m_tunnelArnHasBeenSet; }
/**
* <p>The Amazon Resource Name of the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(const Aws::String& value) { m_tunnelArnHasBeenSet = true; m_tunnelArn = value; }
/**
* <p>The Amazon Resource Name of the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(Aws::String&& value) { m_tunnelArnHasBeenSet = true; m_tunnelArn = std::move(value); }
/**
* <p>The Amazon Resource Name of the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline void SetTunnelArn(const char* value) { m_tunnelArnHasBeenSet = true; m_tunnelArn.assign(value); }
/**
* <p>The Amazon Resource Name of the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline TunnelSummary& WithTunnelArn(const Aws::String& value) { SetTunnelArn(value); return *this;}
/**
* <p>The Amazon Resource Name of the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline TunnelSummary& WithTunnelArn(Aws::String&& value) { SetTunnelArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name of the tunnel. The tunnel ARN format is
* <code>arn:aws:tunnel:&lt;region&gt;:&lt;account-id&gt;:tunnel/&lt;tunnel-id&gt;</code>
* </p>
*/
inline TunnelSummary& WithTunnelArn(const char* value) { SetTunnelArn(value); return *this;}
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline const TunnelStatus& GetStatus() const{ return m_status; }
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline void SetStatus(const TunnelStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline void SetStatus(TunnelStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline TunnelSummary& WithStatus(const TunnelStatus& value) { SetStatus(value); return *this;}
/**
* <p>The status of a tunnel. Valid values are: Open and Closed.</p>
*/
inline TunnelSummary& WithStatus(TunnelStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>A description of the tunnel.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>A description of the tunnel.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>A description of the tunnel.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>A description of the tunnel.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>A description of the tunnel.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>A description of the tunnel.</p>
*/
inline TunnelSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>A description of the tunnel.</p>
*/
inline TunnelSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>A description of the tunnel.</p>
*/
inline TunnelSummary& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The time the tunnel was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
/**
* <p>The time the tunnel was created.</p>
*/
inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
/**
* <p>The time the tunnel was created.</p>
*/
inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; }
/**
* <p>The time the tunnel was created.</p>
*/
inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); }
/**
* <p>The time the tunnel was created.</p>
*/
inline TunnelSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
/**
* <p>The time the tunnel was created.</p>
*/
inline TunnelSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
/**
* <p>The time the tunnel was last updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; }
/**
* <p>The time the tunnel was last updated.</p>
*/
inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
/**
* <p>The time the tunnel was last updated.</p>
*/
inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; }
/**
* <p>The time the tunnel was last updated.</p>
*/
inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); }
/**
* <p>The time the tunnel was last updated.</p>
*/
inline TunnelSummary& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;}
/**
* <p>The time the tunnel was last updated.</p>
*/
inline TunnelSummary& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;}
private:
Aws::String m_tunnelId;
bool m_tunnelIdHasBeenSet;
Aws::String m_tunnelArn;
bool m_tunnelArnHasBeenSet;
TunnelStatus m_status;
bool m_statusHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::Utils::DateTime m_createdAt;
bool m_createdAtHasBeenSet;
Aws::Utils::DateTime m_lastUpdatedAt;
bool m_lastUpdatedAtHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,135 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
#include <aws/iotsecuretunneling/IoTSecureTunnelingRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace IoTSecureTunneling
{
namespace Model
{
/**
*/
class AWS_IOTSECURETUNNELING_API UntagResourceRequest : public IoTSecureTunnelingRequest
{
public:
UntagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The resource ARN.</p>
*/
inline const Aws::String& GetResourceArn() const{ return m_resourceArn; }
/**
* <p>The resource ARN.</p>
*/
inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
/**
* <p>The resource ARN.</p>
*/
inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; }
/**
* <p>The resource ARN.</p>
*/
inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); }
/**
* <p>The resource ARN.</p>
*/
inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); }
/**
* <p>The resource ARN.</p>
*/
inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;}
/**
* <p>The resource ARN.</p>
*/
inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;}
/**
* <p>The resource ARN.</p>
*/
inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;}
/**
* <p>The keys of the tags to remove.</p>
*/
inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; }
/**
* <p>The keys of the tags to remove.</p>
*/
inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; }
/**
* <p>The keys of the tags to remove.</p>
*/
inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; }
/**
* <p>The keys of the tags to remove.</p>
*/
inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); }
/**
* <p>The keys of the tags to remove.</p>
*/
inline UntagResourceRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;}
/**
* <p>The keys of the tags to remove.</p>
*/
inline UntagResourceRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;}
/**
* <p>The keys of the tags to remove.</p>
*/
inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
/**
* <p>The keys of the tags to remove.</p>
*/
inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; }
/**
* <p>The keys of the tags to remove.</p>
*/
inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
private:
Aws::String m_resourceArn;
bool m_resourceArnHasBeenSet;
Aws::Vector<Aws::String> m_tagKeys;
bool m_tagKeysHasBeenSet;
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTSecureTunneling
{
namespace Model
{
class AWS_IOTSECURETUNNELING_API UntagResourceResult
{
public:
UntagResourceResult();
UntagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UntagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace IoTSecureTunneling
} // namespace Aws