Skip to content

start_signing_job async

start_signing_job(
    source: Source,
    destination: Destination,
    profile_name: ProfileName,
    client_request_token: ClientRequestToken,
    *,
    config_overrides: Optional[AsyncsignerClientConfig] = None,
    profile_owner: Optional[AccountId] = None,
) -> StartSigningJobResponse

Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the ListSigningJobs operation. Note the following requirements:

  • You must create an Amazon S3 source bucket. For more information, see Creating a Bucket in the Amazon S3 Getting Started Guide.

  • Your S3 source bucket must be version enabled.

  • You must create an S3 destination bucket. AWS Signer uses your S3 destination bucket to write your signed code.

  • You specify the name of the source and destination buckets when calling the StartSigningJob operation.

  • You must ensure the S3 buckets are from the same Region as the signing profile. Cross-Region signing isn't supported.

  • You must also specify a request token that identifies your request to Signer.

You can call the DescribeSigningJob and the ListSigningJobs actions after you call StartSigningJob.

For a Java example that shows how to use this action, see StartSigningJob.

Parameters:

  • source (Source) –

    The S3 bucket that contains the object to sign or a BLOB that contains your raw code.

  • destination (Destination) –

    The S3 bucket in which to save your signed object. The destination contains the name of your bucket and an optional prefix.

  • profile_name (ProfileName) –

    The name of the signing profile.

  • client_request_token (ClientRequestToken) –

    String that identifies the signing request. All calls after the first that use this token return the same response as the first call.

  • profile_owner (Optional[AccountId], default: None ) –

    The AWS account ID of the signing profile owner.

Raises:

Source code in docs_src/capo_signer/_services/async_signer.py
async def start_signing_job(
    self,
    source: "capo_signer.types.source.Source",
    destination: "capo_signer.types.destination.Destination",
    profile_name: "capo_signer.types.profile_name.ProfileName",
    client_request_token: "capo_signer.types.client_request_token.ClientRequestToken",
    *,
    config_overrides: Optional[AsyncsignerClientConfig] = None,
    profile_owner: Optional["capo_signer.types.account_id.AccountId"] = None,
) -> "capo_signer.types.start_signing_job_response.StartSigningJobResponse":
    """<p>Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the <code>ListSigningJobs</code> operation. Note the following requirements: </p> <ul> <li> <p> You must create an Amazon S3 source bucket. For more information, see <a href="http://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html">Creating a Bucket</a> in the <i>Amazon S3 Getting Started Guide</i>. </p> </li> <li> <p>Your S3 source bucket must be version enabled.</p> </li> <li> <p>You must create an S3 destination bucket. AWS Signer uses your S3 destination bucket to write your signed code.</p> </li> <li> <p>You specify the name of the source and destination buckets when calling the <code>StartSigningJob</code> operation.</p> </li> <li> <p>You must ensure the S3 buckets are from the same Region as the signing profile. Cross-Region signing isn't supported.</p> </li> <li> <p>You must also specify a request token that identifies your request to Signer.</p> </li> </ul> <p>You can call the <a>DescribeSigningJob</a> and the <a>ListSigningJobs</a> actions after you call <code>StartSigningJob</code>.</p> <p>For a Java example that shows how to use this action, see <a href="https://docs.aws.amazon.com/signer/latest/developerguide/api-startsigningjob.html">StartSigningJob</a>.</p>

    Args:
        source: <p>The S3 bucket that contains the object to sign or a BLOB that contains your raw code.</p>
        destination: <p>The S3 bucket in which to save your signed object. The destination contains the name of your bucket and an optional prefix.</p>
        profile_name: <p>The name of the signing profile.</p>
        client_request_token: <p>String that identifies the signing request. All calls after the first that use this token return the same response as the first call.</p>
        profile_owner: <p>The AWS account ID of the signing profile owner.</p>

    Raises:
        capo_signer.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_signer.errors.internal_service_error_exception.InternalServiceErrorException: <p>An internal error occurred.</p>
        capo_signer.errors.resource_not_found_exception.ResourceNotFoundException: <p>A specified resource could not be found.</p>
        capo_signer.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p> <p>Instead of this error, <code>TooManyRequestsException</code> should be used.</p>
        capo_signer.errors.too_many_requests_exception.TooManyRequestsException: <p>The allowed number of job-signing requests has been exceeded.</p> <p>This error supersedes the error <code>ThrottlingException</code>.</p>
        capo_signer.errors.validation_exception.ValidationException: <p>You signing certificate could not be validated.</p>
        capo_signer.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_signer.types.start_signing_job_request.StartSigningJobRequest]",
    ) -> AsyncOperationResponse[
        "capo_signer.types.start_signing_job_response.StartSigningJobResponse"
    ]:
        import capo_signer._operations.wallaby_service.start_signing_job

        (
            output,
            http_response,
        ) = await capo_signer._operations.wallaby_service.start_signing_job.async_start_signing_job(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartSigningJob")
    )
    input_: capo_signer.types.start_signing_job_request.StartSigningJobRequest = {
        "source": source,
        "destination": destination,
        "profile_name": profile_name,
        "client_request_token": client_request_token,
    }
    if profile_owner is not None:
        input_["profile_owner"] = profile_owner

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output