// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`RegisterAppInstanceUserEndpoint`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`app_instance_user_arn(impl Into<String>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::app_instance_user_arn) / [`set_app_instance_user_arn(Option<String>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::set_app_instance_user_arn):<br>required: **true**<br><p>The ARN of the <code>AppInstanceUser</code>.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::set_name):<br>required: **false**<br><p>The name of the <code>AppInstanceUserEndpoint</code>.</p><br>
/// - [`r#type(AppInstanceUserEndpointType)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::type) / [`set_type(Option<AppInstanceUserEndpointType>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::set_type):<br>required: **true**<br><p>The type of the <code>AppInstanceUserEndpoint</code>. Supported types:</p> <ul> <li> <p><code>APNS</code>: The mobile notification service for an Apple device.</p></li> <li> <p><code>APNS_SANDBOX</code>: The sandbox environment of the mobile notification service for an Apple device.</p></li> <li> <p><code>GCM</code>: The mobile notification service for an Android device.</p></li> </ul> <p>Populate the <code>ResourceArn</code> value of each type as <code>PinpointAppArn</code>.</p><br>
/// - [`resource_arn(impl Into<String>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::resource_arn) / [`set_resource_arn(Option<String>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::set_resource_arn):<br>required: **true**<br><p>The ARN of the resource to which the endpoint belongs.</p><br>
/// - [`endpoint_attributes(EndpointAttributes)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::endpoint_attributes) / [`set_endpoint_attributes(Option<EndpointAttributes>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::set_endpoint_attributes):<br>required: **true**<br><p>The attributes of an <code>Endpoint</code>.</p><br>
/// - [`client_request_token(impl Into<String>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::client_request_token) / [`set_client_request_token(Option<String>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::set_client_request_token):<br>required: **true**<br><p>The unique ID assigned to the request. Use different tokens to register other endpoints.</p><br>
/// - [`allow_messages(AllowMessages)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::allow_messages) / [`set_allow_messages(Option<AllowMessages>)`](crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::set_allow_messages):<br>required: **false**<br><p>Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. <code>ALL</code> indicates the endpoint receives all messages. <code>NONE</code> indicates the endpoint receives no messages.</p><br>
/// - On success, responds with [`RegisterAppInstanceUserEndpointOutput`](crate::operation::register_app_instance_user_endpoint::RegisterAppInstanceUserEndpointOutput) with field(s):
/// - [`app_instance_user_arn(Option<String>)`](crate::operation::register_app_instance_user_endpoint::RegisterAppInstanceUserEndpointOutput::app_instance_user_arn): <p>The ARN of the <code>AppInstanceUser</code>.</p>
/// - [`endpoint_id(Option<String>)`](crate::operation::register_app_instance_user_endpoint::RegisterAppInstanceUserEndpointOutput::endpoint_id): <p>The unique identifier of the <code>AppInstanceUserEndpoint</code>.</p>
/// - On failure, responds with [`SdkError<RegisterAppInstanceUserEndpointError>`](crate::operation::register_app_instance_user_endpoint::RegisterAppInstanceUserEndpointError)
pub fn register_app_instance_user_endpoint(
&self,
) -> crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder {
crate::operation::register_app_instance_user_endpoint::builders::RegisterAppInstanceUserEndpointFluentBuilder::new(self.handle.clone())
}
}