Skip to content

update_state_template async

update_state_template(
    identifier: ResourceIdentifier,
    *,
    config_overrides: Optional[AsyncIoTFleetWiseClientConfig] = None,
    description: Optional[description] = None,
    state_template_properties_to_add: Optional[StateTemplateProperties] = None,
    state_template_properties_to_remove: Optional[StateTemplateProperties] = None,
    data_extra_dimensions: Optional[StateTemplateDataExtraDimensionNodePathList] = None,
    metadata_extra_dimensions: Optional[
        StateTemplateMetadataExtraDimensionNodePathList
    ] = None,
) -> UpdateStateTemplateResponse

Updates a state template.

Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see Amazon Web Services Region and feature availability in the Amazon Web Services IoT FleetWise Developer Guide.

Parameters:

Raises:

Source code in docs_src/capo_iotfleetwise/_services/async_io_t_fleet_wise.py
async def update_state_template(
    self,
    identifier: "capo_iotfleetwise.types.resource_identifier.ResourceIdentifier",
    *,
    config_overrides: Optional[AsyncIoTFleetWiseClientConfig] = None,
    description: Optional["capo_iotfleetwise.types.description.description"] = None,
    state_template_properties_to_add: Optional[
        "capo_iotfleetwise.types.state_template_properties.StateTemplateProperties"
    ] = None,
    state_template_properties_to_remove: Optional[
        "capo_iotfleetwise.types.state_template_properties.StateTemplateProperties"
    ] = None,
    data_extra_dimensions: Optional[
        "capo_iotfleetwise.types.state_template_data_extra_dimension_node_path_list.StateTemplateDataExtraDimensionNodePathList"
    ] = None,
    metadata_extra_dimensions: Optional[
        "capo_iotfleetwise.types.state_template_metadata_extra_dimension_node_path_list.StateTemplateMetadataExtraDimensionNodePathList"
    ] = None,
) -> "capo_iotfleetwise.types.update_state_template_response.UpdateStateTemplateResponse":
    """<p>Updates a state template.</p> <important> <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p> </important>

    Args:
        identifier: <p>The unique ID of the state template.</p>
        description: <p>A brief description of the state template.</p>
        state_template_properties_to_add: <p>Add signals from which data is collected as part of the state template.</p>
        state_template_properties_to_remove: <p>Remove signals from which data is collected as part of the state template.</p>
        data_extra_dimensions: <p>A list of vehicle attributes to associate with the payload published on the state template's MQTT topic. (See <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data"> Processing last known state vehicle data using MQTT messaging</a>). For example, if you add <code>Vehicle.Attributes.Make</code> and <code>Vehicle.Attributes.Model</code> attributes, Amazon Web Services IoT FleetWise will enrich the protobuf encoded payload with those attributes in the <code>extraDimensions</code> field.</p> <p>Default: An empty array</p>
        metadata_extra_dimensions: <p>A list of vehicle attributes to associate with user properties of the messages published on the state template's MQTT topic. (See <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data"> Processing last known state vehicle data using MQTT messaging</a>). For example, if you add <code>Vehicle.Attributes.Make</code> and <code>Vehicle.Attributes.Model</code> attributes, Amazon Web Services IoT FleetWise will include these attributes as User Properties with the MQTT message.</p>

    Raises:
        capo_iotfleetwise.errors.internal_server_exception.InternalServerException: <p>The request couldn't be completed because the server temporarily failed.</p>
        capo_iotfleetwise.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient permission to perform this action.</p>
        capo_iotfleetwise.errors.invalid_signals_exception.InvalidSignalsException: <p>The request couldn't be completed because it contains signals that aren't valid.</p>
        capo_iotfleetwise.errors.limit_exceeded_exception.LimitExceededException: <p>A service quota was exceeded. </p>
        capo_iotfleetwise.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource wasn't found.</p>
        capo_iotfleetwise.errors.throttling_exception.ThrottlingException: <p>The request couldn't be completed due to throttling.</p>
        capo_iotfleetwise.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_iotfleetwise.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_iotfleetwise.types.update_state_template_request.UpdateStateTemplateRequest]",
    ) -> AsyncOperationResponse[
        "capo_iotfleetwise.types.update_state_template_response.UpdateStateTemplateResponse"
    ]:
        import capo_iotfleetwise._operations.io_t_autobahn_control_plane.update_state_template

        (
            output,
            http_response,
        ) = await capo_iotfleetwise._operations.io_t_autobahn_control_plane.update_state_template.async_update_state_template(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateStateTemplate")
    )
    input_: capo_iotfleetwise.types.update_state_template_request.UpdateStateTemplateRequest = {
        "identifier": identifier
    }
    if description is not None:
        input_["description"] = description
    if state_template_properties_to_add is not None:
        input_["state_template_properties_to_add"] = (
            state_template_properties_to_add
        )
    if state_template_properties_to_remove is not None:
        input_["state_template_properties_to_remove"] = (
            state_template_properties_to_remove
        )
    if data_extra_dimensions is not None:
        input_["data_extra_dimensions"] = data_extra_dimensions
    if metadata_extra_dimensions is not None:
        input_["metadata_extra_dimensions"] = metadata_extra_dimensions

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