/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace IoT { namespace Model { /** */ class TestInvokeAuthorizerRequest : public IoTRequest { public: AWS_IOT_API TestInvokeAuthorizerRequest(); // 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 "TestInvokeAuthorizer"; } AWS_IOT_API Aws::String SerializePayload() const override; /** *

The custom authorizer name.

*/ inline const Aws::String& GetAuthorizerName() const{ return m_authorizerName; } /** *

The custom authorizer name.

*/ inline bool AuthorizerNameHasBeenSet() const { return m_authorizerNameHasBeenSet; } /** *

The custom authorizer name.

*/ inline void SetAuthorizerName(const Aws::String& value) { m_authorizerNameHasBeenSet = true; m_authorizerName = value; } /** *

The custom authorizer name.

*/ inline void SetAuthorizerName(Aws::String&& value) { m_authorizerNameHasBeenSet = true; m_authorizerName = std::move(value); } /** *

The custom authorizer name.

*/ inline void SetAuthorizerName(const char* value) { m_authorizerNameHasBeenSet = true; m_authorizerName.assign(value); } /** *

The custom authorizer name.

*/ inline TestInvokeAuthorizerRequest& WithAuthorizerName(const Aws::String& value) { SetAuthorizerName(value); return *this;} /** *

The custom authorizer name.

*/ inline TestInvokeAuthorizerRequest& WithAuthorizerName(Aws::String&& value) { SetAuthorizerName(std::move(value)); return *this;} /** *

The custom authorizer name.

*/ inline TestInvokeAuthorizerRequest& WithAuthorizerName(const char* value) { SetAuthorizerName(value); return *this;} /** *

The token returned by your custom authentication service.

*/ inline const Aws::String& GetToken() const{ return m_token; } /** *

The token returned by your custom authentication service.

*/ inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } /** *

The token returned by your custom authentication service.

*/ inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } /** *

The token returned by your custom authentication service.

*/ inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } /** *

The token returned by your custom authentication service.

*/ inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } /** *

The token returned by your custom authentication service.

*/ inline TestInvokeAuthorizerRequest& WithToken(const Aws::String& value) { SetToken(value); return *this;} /** *

The token returned by your custom authentication service.

*/ inline TestInvokeAuthorizerRequest& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} /** *

The token returned by your custom authentication service.

*/ inline TestInvokeAuthorizerRequest& WithToken(const char* value) { SetToken(value); return *this;} /** *

The signature made with the token and your custom authentication service's * private key. This value must be Base-64-encoded.

*/ inline const Aws::String& GetTokenSignature() const{ return m_tokenSignature; } /** *

The signature made with the token and your custom authentication service's * private key. This value must be Base-64-encoded.

*/ inline bool TokenSignatureHasBeenSet() const { return m_tokenSignatureHasBeenSet; } /** *

The signature made with the token and your custom authentication service's * private key. This value must be Base-64-encoded.

*/ inline void SetTokenSignature(const Aws::String& value) { m_tokenSignatureHasBeenSet = true; m_tokenSignature = value; } /** *

The signature made with the token and your custom authentication service's * private key. This value must be Base-64-encoded.

*/ inline void SetTokenSignature(Aws::String&& value) { m_tokenSignatureHasBeenSet = true; m_tokenSignature = std::move(value); } /** *

The signature made with the token and your custom authentication service's * private key. This value must be Base-64-encoded.

*/ inline void SetTokenSignature(const char* value) { m_tokenSignatureHasBeenSet = true; m_tokenSignature.assign(value); } /** *

The signature made with the token and your custom authentication service's * private key. This value must be Base-64-encoded.

*/ inline TestInvokeAuthorizerRequest& WithTokenSignature(const Aws::String& value) { SetTokenSignature(value); return *this;} /** *

The signature made with the token and your custom authentication service's * private key. This value must be Base-64-encoded.

*/ inline TestInvokeAuthorizerRequest& WithTokenSignature(Aws::String&& value) { SetTokenSignature(std::move(value)); return *this;} /** *

The signature made with the token and your custom authentication service's * private key. This value must be Base-64-encoded.

*/ inline TestInvokeAuthorizerRequest& WithTokenSignature(const char* value) { SetTokenSignature(value); return *this;} /** *

Specifies a test HTTP authorization request.

*/ inline const HttpContext& GetHttpContext() const{ return m_httpContext; } /** *

Specifies a test HTTP authorization request.

*/ inline bool HttpContextHasBeenSet() const { return m_httpContextHasBeenSet; } /** *

Specifies a test HTTP authorization request.

*/ inline void SetHttpContext(const HttpContext& value) { m_httpContextHasBeenSet = true; m_httpContext = value; } /** *

Specifies a test HTTP authorization request.

*/ inline void SetHttpContext(HttpContext&& value) { m_httpContextHasBeenSet = true; m_httpContext = std::move(value); } /** *

Specifies a test HTTP authorization request.

*/ inline TestInvokeAuthorizerRequest& WithHttpContext(const HttpContext& value) { SetHttpContext(value); return *this;} /** *

Specifies a test HTTP authorization request.

*/ inline TestInvokeAuthorizerRequest& WithHttpContext(HttpContext&& value) { SetHttpContext(std::move(value)); return *this;} /** *

Specifies a test MQTT authorization request.

*/ inline const MqttContext& GetMqttContext() const{ return m_mqttContext; } /** *

Specifies a test MQTT authorization request.

*/ inline bool MqttContextHasBeenSet() const { return m_mqttContextHasBeenSet; } /** *

Specifies a test MQTT authorization request.

*/ inline void SetMqttContext(const MqttContext& value) { m_mqttContextHasBeenSet = true; m_mqttContext = value; } /** *

Specifies a test MQTT authorization request.

*/ inline void SetMqttContext(MqttContext&& value) { m_mqttContextHasBeenSet = true; m_mqttContext = std::move(value); } /** *

Specifies a test MQTT authorization request.

*/ inline TestInvokeAuthorizerRequest& WithMqttContext(const MqttContext& value) { SetMqttContext(value); return *this;} /** *

Specifies a test MQTT authorization request.

*/ inline TestInvokeAuthorizerRequest& WithMqttContext(MqttContext&& value) { SetMqttContext(std::move(value)); return *this;} /** *

Specifies a test TLS authorization request.

*/ inline const TlsContext& GetTlsContext() const{ return m_tlsContext; } /** *

Specifies a test TLS authorization request.

*/ inline bool TlsContextHasBeenSet() const { return m_tlsContextHasBeenSet; } /** *

Specifies a test TLS authorization request.

*/ inline void SetTlsContext(const TlsContext& value) { m_tlsContextHasBeenSet = true; m_tlsContext = value; } /** *

Specifies a test TLS authorization request.

*/ inline void SetTlsContext(TlsContext&& value) { m_tlsContextHasBeenSet = true; m_tlsContext = std::move(value); } /** *

Specifies a test TLS authorization request.

*/ inline TestInvokeAuthorizerRequest& WithTlsContext(const TlsContext& value) { SetTlsContext(value); return *this;} /** *

Specifies a test TLS authorization request.

*/ inline TestInvokeAuthorizerRequest& WithTlsContext(TlsContext&& value) { SetTlsContext(std::move(value)); return *this;} private: Aws::String m_authorizerName; bool m_authorizerNameHasBeenSet = false; Aws::String m_token; bool m_tokenHasBeenSet = false; Aws::String m_tokenSignature; bool m_tokenSignatureHasBeenSet = false; HttpContext m_httpContext; bool m_httpContextHasBeenSet = false; MqttContext m_mqttContext; bool m_mqttContextHasBeenSet = false; TlsContext m_tlsContext; bool m_tlsContextHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws