'Gets the list containing the information about service types from the
applications deployed on a node in a Service Fabric cluster.
Gets the list containing the information about service types from the
applications deployed on a node in a Service Fabric cluster. The
response includes the name of the service type, its registration
status, the code package that registered it and activation id of the
service package.
:param node_name: The name of the node.
:type node_name: str
:param application_id: The identity of the application. This is
typically the full name of the application without the \'fabric:\' URI
scheme.
:type application_id: str
:param service_manifest_name: The name of the service manifest to
filter the list of deployed service type information. If specified,
the response will only contain the information about service types
that are defined in this service manifest.
:type service_manifest_name: str
:param timeout: The server timeout for performing the operation in
seconds. This specifies the time duration that the client is willing
to wait for the requested operation to complete. The default value
for this parameter is 60 seconds.
:type timeout: long
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:param operation_config: :ref:`Operation configuration
overrides<msrest:optionsforoperations>`.
:rtype: list of :class:`DeployedServiceTypeInfo
<azure.servicefabric.models.DeployedServiceTypeInfo>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
:raises:
:class:`FabricErrorException<azure.servicefabric.models.FabricErrorException>`'

def get_deployed_service_type_info_list(self, node_name, application_id, service_manifest_name=None, timeout=60, custom_headers=None, raw=False, **operation_config):

    api_version = '3.0'
    url = '/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes'
    path_format_arguments = {'nodeName': self._serialize.url('node_name', node_name, 'str'), 'applicationId': self._serialize.url('application_id', application_id, 'str', skip_quote=True)}
    url = self._client.format_url(url, **path_format_arguments)
    query_parameters = {}
    query_parameters['api-version'] = self._serialize.query('api_version', api_version, 'str')
    if (service_manifest_name is not None):
        query_parameters['ServiceManifestName'] = self._serialize.query('service_manifest_name', service_manifest_name, 'str')
    if (timeout is not None):
        query_parameters['timeout'] = self._serialize.query('timeout', timeout, 'long', maximum=4294967295, minimum=1)
    header_parameters = {}
    header_parameters['Content-Type'] = 'application/json;    charset=utf-8'
    if custom_headers:
        header_parameters.update(custom_headers)
    request = self._client.get(url, query_parameters)
    response = self._client.send(request, header_parameters, **operation_config)
    if (response.status_code not in [200]):
        raise models.FabricErrorException(self._deserialize, response)
    deserialized = None
    if (response.status_code == 200):
        deserialized = self._deserialize('[DeployedServiceTypeInfo]', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized
