Skip to content

create_node_from_template_job

create_node_from_template_job(
    template_type: TemplateType,
    output_package_name: NodePackageName,
    output_package_version: NodePackageVersion,
    node_name: NodeName,
    template_parameters: TemplateParametersMap,
    *,
    config_overrides: Optional[PanoramaClientConfig] = None,
    node_description: Optional[Description] = None,
    job_tags: Optional[JobTagsList] = None,
) -> CreateNodeFromTemplateJobResponse

Creates a camera stream node.

Parameters:

Raises:

Source code in docs_src/capo_panorama/_services/panorama.py
def create_node_from_template_job(
    self,
    template_type: "capo_panorama.types.template_type.TemplateType",
    output_package_name: "capo_panorama.types.node_package_name.NodePackageName",
    output_package_version: "capo_panorama.types.node_package_version.NodePackageVersion",
    node_name: "capo_panorama.types.node_name.NodeName",
    template_parameters: "capo_panorama.types.template_parameters_map.TemplateParametersMap",
    *,
    config_overrides: Optional[PanoramaClientConfig] = None,
    node_description: Optional[
        "capo_panorama.types.description.Description"
    ] = None,
    job_tags: Optional["capo_panorama.types.job_tags_list.JobTagsList"] = None,
) -> "capo_panorama.types.create_node_from_template_job_response.CreateNodeFromTemplateJobResponse":
    """<p>Creates a camera stream node.</p>

    Args:
        template_type: <p>The type of node.</p>
        output_package_name: <p>An output package name for the node.</p>
        output_package_version: <p>An output package version for the node.</p>
        node_name: <p>A name for the node.</p>
        node_description: <p>A description for the node.</p>
        template_parameters: <p>Template parameters for the node.</p>
        job_tags: <p>Tags for the job.</p>

    Raises:
        capo_panorama.errors.access_denied_exception.AccessDeniedException: <p>The requestor does not have permission to access the target action or resource.</p>
        capo_panorama.errors.conflict_exception.ConflictException: <p>The target resource is in use.</p>
        capo_panorama.errors.internal_server_exception.InternalServerException: <p>An internal error occurred.</p>
        capo_panorama.errors.validation_exception.ValidationException: <p>The request contains an invalid parameter value.</p>
        capo_panorama.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_panorama.types.create_node_from_template_job_request.CreateNodeFromTemplateJobRequest]",
    ) -> OperationResponse[
        "capo_panorama.types.create_node_from_template_job_response.CreateNodeFromTemplateJobResponse"
    ]:
        import capo_panorama._operations.omni_cloud_service_lambda.create_node_from_template_job

        output, http_response = (
            capo_panorama._operations.omni_cloud_service_lambda.create_node_from_template_job.create_node_from_template_job(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_panorama.types.create_node_from_template_job_request.CreateNodeFromTemplateJobRequest",
    ) -> dict[str, Any]:
        import capo_panorama.types.create_node_from_template_job_request

        return capo_panorama.types.create_node_from_template_job_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateNodeFromTemplateJob", redact_input=_redact_input),
    )
    input_: capo_panorama.types.create_node_from_template_job_request.CreateNodeFromTemplateJobRequest = {
        "template_type": template_type,
        "output_package_name": output_package_name,
        "output_package_version": output_package_version,
        "node_name": node_name,
        "template_parameters": template_parameters,
    }
    if node_description is not None:
        input_["node_description"] = node_description
    if job_tags is not None:
        input_["job_tags"] = job_tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output