def METHOD_NAME(self, cfn_client, s3_client, region):
    if not self._does_stack_exist(cfn_client, SAM_CLI_STACK_NAME):
        raise ManagedStackError("Managed stack does not exist")
    stack = boto3.resource("cloudformation", region_name=region).Stack(SAM_CLI_STACK_NAME)
    if stack.stack_status not in ["CREATE_COMPLETE", "UPDATE_COMPLETE"]:
        raise ManagedStackError("Managed stack status is not in CREATE_COMPLETE or UPDATE_COMPLETE")
    s3_bucket_name = None
    resources = stack.resource_summaries.all()
    for resource in resources:
        if resource.resource_type == "AWS::S3::Bucket":
            s3_bucket_name = resource.physical_resource_id
    if not s3_bucket_name:
        raise ManagedStackError("Managed stack does not have S3 bucket")
    s3 = boto3.resource("s3", region_name=region)
    if s3.Bucket(s3_bucket_name) not in s3.buckets.all():
        raise ManagedStackError("Managed stack S3 bucket does not exist")