Create a new registration attachment to use for uploading a file or a URL to a file. The maximum file size is 5MB and valid file extensions are PDF, JPEG and PNG. For example, many sender ID registrations require a signed “letter of authorization” (LOA) to be submitted.
Use either AttachmentUrl or AttachmentBody to upload your attachment. If both are specified then an exception is returned.
Parameters:
-
attachment_body
(Optional[AttachmentBody], default:
None
)
–
The registration file to upload. The maximum file size is 5MB and valid file extensions are PDF, JPEG and PNG.
-
attachment_url
(Optional[AttachmentUrl], default:
None
)
–
Registration files have to be stored in an Amazon S3 bucket. The URI to use when sending is in the format s3://BucketName/FileName.
-
tags
(Optional[TagList], default:
None
)
–
An array of tags (key and value pairs) to associate with the registration attachment.
-
client_token
(Optional[ClientToken], default:
None
)
–
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.
Raises:
-
AccessDeniedException
–
The request was denied because you don't have sufficient permissions to access the resource.
-
ConflictException
–
Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time or it could be that the requested action isn't valid for the current state or configuration of the resource.
-
InternalServerException
–
The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.
-
ServiceQuotaExceededException
–
The request would cause a service quota to be exceeded.
-
ThrottlingException
–
An error that occurred because too many requests were sent during a certain amount of time.
-
ValidationException
–
A validation exception for a field.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_pinpoint_sms_voice_v2/_services/async_pinpoint_sms_voice_v2.py
| async def create_registration_attachment(
self,
*,
config_overrides: Optional[AsyncPinpointSMSVoiceV2ClientConfig] = None,
attachment_body: Optional[
"capo_pinpoint_sms_voice_v2.types.attachment_body.AttachmentBody"
] = None,
attachment_url: Optional[
"capo_pinpoint_sms_voice_v2.types.attachment_url.AttachmentUrl"
] = None,
tags: Optional["capo_pinpoint_sms_voice_v2.types.tag_list.TagList"] = None,
client_token: Optional[
"capo_pinpoint_sms_voice_v2.types.client_token.ClientToken"
] = None,
) -> "capo_pinpoint_sms_voice_v2.types.create_registration_attachment_result.CreateRegistrationAttachmentResult":
"""<p>Create a new registration attachment to use for uploading a file or a URL to a file. The maximum file size is 5MB and valid file extensions are PDF, JPEG and PNG. For example, many sender ID registrations require a signed “letter of authorization” (LOA) to be submitted.</p> <p>Use either <code>AttachmentUrl</code> or <code>AttachmentBody</code> to upload your attachment. If both are specified then an exception is returned.</p>
Args:
attachment_body: <p>The registration file to upload. The maximum file size is 5MB and valid file extensions are PDF, JPEG and PNG.</p>
attachment_url: <p>Registration files have to be stored in an Amazon S3 bucket. The URI to use when sending is in the format <code>s3://BucketName/FileName</code>.</p>
tags: <p>An array of tags (key and value pairs) to associate with the registration attachment.</p>
client_token: <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.</p>
Raises:
capo_pinpoint_sms_voice_v2.errors.access_denied_exception.AccessDeniedException: <p>The request was denied because you don't have sufficient permissions to access the resource.</p>
capo_pinpoint_sms_voice_v2.errors.conflict_exception.ConflictException: <p>Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time or it could be that the requested action isn't valid for the current state or configuration of the resource.</p>
capo_pinpoint_sms_voice_v2.errors.internal_server_exception.InternalServerException: <p>The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.</p>
capo_pinpoint_sms_voice_v2.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request would cause a service quota to be exceeded.</p>
capo_pinpoint_sms_voice_v2.errors.throttling_exception.ThrottlingException: <p>An error that occurred because too many requests were sent during a certain amount of time.</p>
capo_pinpoint_sms_voice_v2.errors.validation_exception.ValidationException: <p>A validation exception for a field.</p>
capo_pinpoint_sms_voice_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_pinpoint_sms_voice_v2.types.create_registration_attachment_request.CreateRegistrationAttachmentRequest]",
) -> AsyncOperationResponse[
"capo_pinpoint_sms_voice_v2.types.create_registration_attachment_result.CreateRegistrationAttachmentResult"
]:
import capo_pinpoint_sms_voice_v2._operations.pinpoint_sms_voice_v2.create_registration_attachment
(
output,
http_response,
) = await capo_pinpoint_sms_voice_v2._operations.pinpoint_sms_voice_v2.create_registration_attachment.async_create_registration_attachment(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("CreateRegistrationAttachment")
)
input_: capo_pinpoint_sms_voice_v2.types.create_registration_attachment_request.CreateRegistrationAttachmentRequest = {}
if attachment_body is not None:
input_["attachment_body"] = attachment_body
if attachment_url is not None:
input_["attachment_url"] = attachment_url
if tags is not None:
input_["tags"] = tags
if client_token is None:
client_token = str(uuid.uuid4())
input_["client_token"] = client_token
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output
|