Skip to content

notify_resource_deployment_status_change async

notify_resource_deployment_status_change(
    resource_arn: Arn,
    *,
    config_overrides: Optional[AsyncProtonClientConfig] = None,
    status: Optional[ResourceDeploymentStatus] = None,
    outputs: Optional[OutputsList] = None,
    deployment_id: Optional[DeploymentId] = None,
    status_message: Optional[StatusMessage] = None,
) -> NotifyResourceDeploymentStatusChangeOutput

Notify Proton of status changes to a provisioned resource when you use self-managed provisioning.

For more information, see Self-managed provisioning in the Proton User Guide.

Parameters:

  • resource_arn (Arn) –

    The provisioned resource Amazon Resource Name (ARN).

  • status (Optional[ResourceDeploymentStatus], default: None ) –

    The status of your provisioned resource.

  • outputs (Optional[OutputsList], default: None ) –

    The provisioned resource state change detail data that's returned by Proton.

  • deployment_id (Optional[DeploymentId], default: None ) –

    The deployment ID for your provisioned resource.

  • status_message (Optional[StatusMessage], default: None ) –

    The deployment status message for your provisioned resource.

Raises:

Source code in docs_src/capo_proton/_services/async_proton.py
async def notify_resource_deployment_status_change(
    self,
    resource_arn: "capo_proton.types.arn.Arn",
    *,
    config_overrides: Optional[AsyncProtonClientConfig] = None,
    status: Optional[
        "capo_proton.types.resource_deployment_status.ResourceDeploymentStatus"
    ] = None,
    outputs: Optional["capo_proton.types.outputs_list.OutputsList"] = None,
    deployment_id: Optional["capo_proton.types.deployment_id.DeploymentId"] = None,
    status_message: Optional[
        "capo_proton.types.status_message.StatusMessage"
    ] = None,
) -> "capo_proton.types.notify_resource_deployment_status_change_output.NotifyResourceDeploymentStatusChangeOutput":
    """<p>Notify Proton of status changes to a provisioned resource when you use self-managed provisioning.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-works-prov-methods.html#ag-works-prov-methods-self">Self-managed provisioning</a> in the <i>Proton User Guide</i>.</p>

    Args:
        resource_arn: <p>The provisioned resource Amazon Resource Name (ARN).</p>
        status: <p>The status of your provisioned resource.</p>
        outputs: <p>The provisioned resource state change detail data that's returned by Proton.</p>
        deployment_id: <p>The deployment ID for your provisioned resource.</p>
        status_message: <p>The deployment status message for your provisioned resource.</p>

    Raises:
        capo_proton.errors.access_denied_exception.AccessDeniedException: <p>There <i>isn't</i> sufficient access for performing this action.</p>
        capo_proton.errors.conflict_exception.ConflictException: <p>The request <i>couldn't</i> be made due to a conflicting operation or resource.</p>
        capo_proton.errors.internal_server_exception.InternalServerException: <p>The request failed to register with the service.</p>
        capo_proton.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource <i>wasn't</i> found.</p>
        capo_proton.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>A quota was exceeded. For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html">Proton Quotas</a> in the <i>Proton User Guide</i>.</p>
        capo_proton.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_proton.errors.validation_exception.ValidationException: <p>The input is invalid or an out-of-range value was supplied for the input parameter.</p>
        capo_proton.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_proton.types.notify_resource_deployment_status_change_input.NotifyResourceDeploymentStatusChangeInput]",
    ) -> AsyncOperationResponse[
        "capo_proton.types.notify_resource_deployment_status_change_output.NotifyResourceDeploymentStatusChangeOutput"
    ]:
        import capo_proton._operations.aws_proton20200720.notify_resource_deployment_status_change

        (
            output,
            http_response,
        ) = await capo_proton._operations.aws_proton20200720.notify_resource_deployment_status_change.async_notify_resource_deployment_status_change(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_proton.types.notify_resource_deployment_status_change_input.NotifyResourceDeploymentStatusChangeInput",
    ) -> dict[str, Any]:
        import capo_proton.types.notify_resource_deployment_status_change_input

        return capo_proton.types.notify_resource_deployment_status_change_input.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "NotifyResourceDeploymentStatusChange", redact_input=_redact_input
        ),
    )
    input_: capo_proton.types.notify_resource_deployment_status_change_input.NotifyResourceDeploymentStatusChangeInput = {
        "resource_arn": resource_arn
    }
    if status is not None:
        input_["status"] = status
    if outputs is not None:
        input_["outputs"] = outputs
    if deployment_id is not None:
        input_["deployment_id"] = deployment_id
    if status_message is not None:
        input_["status_message"] = status_message

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