/** * 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 #include namespace Aws { namespace ChimeSDKIdentity { namespace Model { /** */ class RegisterAppInstanceUserEndpointRequest : public ChimeSDKIdentityRequest { public: AWS_CHIMESDKIDENTITY_API RegisterAppInstanceUserEndpointRequest(); // 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 "RegisterAppInstanceUserEndpoint"; } AWS_CHIMESDKIDENTITY_API Aws::String SerializePayload() const override; /** *

The ARN of the AppInstanceUser.

*/ inline const Aws::String& GetAppInstanceUserArn() const{ return m_appInstanceUserArn; } /** *

The ARN of the AppInstanceUser.

*/ inline bool AppInstanceUserArnHasBeenSet() const { return m_appInstanceUserArnHasBeenSet; } /** *

The ARN of the AppInstanceUser.

*/ inline void SetAppInstanceUserArn(const Aws::String& value) { m_appInstanceUserArnHasBeenSet = true; m_appInstanceUserArn = value; } /** *

The ARN of the AppInstanceUser.

*/ inline void SetAppInstanceUserArn(Aws::String&& value) { m_appInstanceUserArnHasBeenSet = true; m_appInstanceUserArn = std::move(value); } /** *

The ARN of the AppInstanceUser.

*/ inline void SetAppInstanceUserArn(const char* value) { m_appInstanceUserArnHasBeenSet = true; m_appInstanceUserArn.assign(value); } /** *

The ARN of the AppInstanceUser.

*/ inline RegisterAppInstanceUserEndpointRequest& WithAppInstanceUserArn(const Aws::String& value) { SetAppInstanceUserArn(value); return *this;} /** *

The ARN of the AppInstanceUser.

*/ inline RegisterAppInstanceUserEndpointRequest& WithAppInstanceUserArn(Aws::String&& value) { SetAppInstanceUserArn(std::move(value)); return *this;} /** *

The ARN of the AppInstanceUser.

*/ inline RegisterAppInstanceUserEndpointRequest& WithAppInstanceUserArn(const char* value) { SetAppInstanceUserArn(value); return *this;} /** *

The name of the AppInstanceUserEndpoint.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the AppInstanceUserEndpoint.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the AppInstanceUserEndpoint.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the AppInstanceUserEndpoint.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the AppInstanceUserEndpoint.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the AppInstanceUserEndpoint.

*/ inline RegisterAppInstanceUserEndpointRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the AppInstanceUserEndpoint.

*/ inline RegisterAppInstanceUserEndpointRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the AppInstanceUserEndpoint.

*/ inline RegisterAppInstanceUserEndpointRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The type of the AppInstanceUserEndpoint. Supported types:

*
  • APNS: The mobile notification service for an Apple * device.

  • APNS_SANDBOX: The sandbox environment of * the mobile notification service for an Apple device.

  • * GCM: The mobile notification service for an Android device.

    *

Populate the ResourceArn value of each type as * PinpointAppArn.

*/ inline const AppInstanceUserEndpointType& GetType() const{ return m_type; } /** *

The type of the AppInstanceUserEndpoint. Supported types:

*
  • APNS: The mobile notification service for an Apple * device.

  • APNS_SANDBOX: The sandbox environment of * the mobile notification service for an Apple device.

  • * GCM: The mobile notification service for an Android device.

    *

Populate the ResourceArn value of each type as * PinpointAppArn.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the AppInstanceUserEndpoint. Supported types:

*
  • APNS: The mobile notification service for an Apple * device.

  • APNS_SANDBOX: The sandbox environment of * the mobile notification service for an Apple device.

  • * GCM: The mobile notification service for an Android device.

    *

Populate the ResourceArn value of each type as * PinpointAppArn.

*/ inline void SetType(const AppInstanceUserEndpointType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the AppInstanceUserEndpoint. Supported types:

*
  • APNS: The mobile notification service for an Apple * device.

  • APNS_SANDBOX: The sandbox environment of * the mobile notification service for an Apple device.

  • * GCM: The mobile notification service for an Android device.

    *

Populate the ResourceArn value of each type as * PinpointAppArn.

*/ inline void SetType(AppInstanceUserEndpointType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the AppInstanceUserEndpoint. Supported types:

*
  • APNS: The mobile notification service for an Apple * device.

  • APNS_SANDBOX: The sandbox environment of * the mobile notification service for an Apple device.

  • * GCM: The mobile notification service for an Android device.

    *

Populate the ResourceArn value of each type as * PinpointAppArn.

*/ inline RegisterAppInstanceUserEndpointRequest& WithType(const AppInstanceUserEndpointType& value) { SetType(value); return *this;} /** *

The type of the AppInstanceUserEndpoint. Supported types:

*
  • APNS: The mobile notification service for an Apple * device.

  • APNS_SANDBOX: The sandbox environment of * the mobile notification service for an Apple device.

  • * GCM: The mobile notification service for an Android device.

    *

Populate the ResourceArn value of each type as * PinpointAppArn.

*/ inline RegisterAppInstanceUserEndpointRequest& WithType(AppInstanceUserEndpointType&& value) { SetType(std::move(value)); return *this;} /** *

The ARN of the resource to which the endpoint belongs.

*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

The ARN of the resource to which the endpoint belongs.

*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

The ARN of the resource to which the endpoint belongs.

*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

The ARN of the resource to which the endpoint belongs.

*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

The ARN of the resource to which the endpoint belongs.

*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

The ARN of the resource to which the endpoint belongs.

*/ inline RegisterAppInstanceUserEndpointRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

The ARN of the resource to which the endpoint belongs.

*/ inline RegisterAppInstanceUserEndpointRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

The ARN of the resource to which the endpoint belongs.

*/ inline RegisterAppInstanceUserEndpointRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *

The attributes of an Endpoint.

*/ inline const EndpointAttributes& GetEndpointAttributes() const{ return m_endpointAttributes; } /** *

The attributes of an Endpoint.

*/ inline bool EndpointAttributesHasBeenSet() const { return m_endpointAttributesHasBeenSet; } /** *

The attributes of an Endpoint.

*/ inline void SetEndpointAttributes(const EndpointAttributes& value) { m_endpointAttributesHasBeenSet = true; m_endpointAttributes = value; } /** *

The attributes of an Endpoint.

*/ inline void SetEndpointAttributes(EndpointAttributes&& value) { m_endpointAttributesHasBeenSet = true; m_endpointAttributes = std::move(value); } /** *

The attributes of an Endpoint.

*/ inline RegisterAppInstanceUserEndpointRequest& WithEndpointAttributes(const EndpointAttributes& value) { SetEndpointAttributes(value); return *this;} /** *

The attributes of an Endpoint.

*/ inline RegisterAppInstanceUserEndpointRequest& WithEndpointAttributes(EndpointAttributes&& value) { SetEndpointAttributes(std::move(value)); return *this;} /** *

The unique ID assigned to the request. Use different tokens to register other * endpoints.

*/ inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } /** *

The unique ID assigned to the request. Use different tokens to register other * endpoints.

*/ inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } /** *

The unique ID assigned to the request. Use different tokens to register other * endpoints.

*/ inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } /** *

The unique ID assigned to the request. Use different tokens to register other * endpoints.

*/ inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } /** *

The unique ID assigned to the request. Use different tokens to register other * endpoints.

*/ inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } /** *

The unique ID assigned to the request. Use different tokens to register other * endpoints.

*/ inline RegisterAppInstanceUserEndpointRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} /** *

The unique ID assigned to the request. Use different tokens to register other * endpoints.

*/ inline RegisterAppInstanceUserEndpointRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} /** *

The unique ID assigned to the request. Use different tokens to register other * endpoints.

*/ inline RegisterAppInstanceUserEndpointRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} /** *

Boolean that controls whether the AppInstanceUserEndpoint is opted in to * receive messages. ALL indicates the endpoint receives all messages. * NONE indicates the endpoint receives no messages.

*/ inline const AllowMessages& GetAllowMessages() const{ return m_allowMessages; } /** *

Boolean that controls whether the AppInstanceUserEndpoint is opted in to * receive messages. ALL indicates the endpoint receives all messages. * NONE indicates the endpoint receives no messages.

*/ inline bool AllowMessagesHasBeenSet() const { return m_allowMessagesHasBeenSet; } /** *

Boolean that controls whether the AppInstanceUserEndpoint is opted in to * receive messages. ALL indicates the endpoint receives all messages. * NONE indicates the endpoint receives no messages.

*/ inline void SetAllowMessages(const AllowMessages& value) { m_allowMessagesHasBeenSet = true; m_allowMessages = value; } /** *

Boolean that controls whether the AppInstanceUserEndpoint is opted in to * receive messages. ALL indicates the endpoint receives all messages. * NONE indicates the endpoint receives no messages.

*/ inline void SetAllowMessages(AllowMessages&& value) { m_allowMessagesHasBeenSet = true; m_allowMessages = std::move(value); } /** *

Boolean that controls whether the AppInstanceUserEndpoint is opted in to * receive messages. ALL indicates the endpoint receives all messages. * NONE indicates the endpoint receives no messages.

*/ inline RegisterAppInstanceUserEndpointRequest& WithAllowMessages(const AllowMessages& value) { SetAllowMessages(value); return *this;} /** *

Boolean that controls whether the AppInstanceUserEndpoint is opted in to * receive messages. ALL indicates the endpoint receives all messages. * NONE indicates the endpoint receives no messages.

*/ inline RegisterAppInstanceUserEndpointRequest& WithAllowMessages(AllowMessages&& value) { SetAllowMessages(std::move(value)); return *this;} private: Aws::String m_appInstanceUserArn; bool m_appInstanceUserArnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; AppInstanceUserEndpointType m_type; bool m_typeHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; EndpointAttributes m_endpointAttributes; bool m_endpointAttributesHasBeenSet = false; Aws::String m_clientRequestToken; bool m_clientRequestTokenHasBeenSet = false; AllowMessages m_allowMessages; bool m_allowMessagesHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKIdentity } // namespace Aws