'This action is only used by the Amazon EC2 Container Service
agent, and it is not intended for use outside of the agent.
Sent to acknowledge that a container changed states.
:type cluster: string
:param cluster: The short name or full Amazon Resource Name (ARN) of
the cluster that hosts the container.
:type task: string
:param task: The task UUID or full Amazon Resource Name (ARN) of the
task that hosts the container.
:type container_name: string
:param container_name: The name of the container.
:type status: string
:param status: The status of the state change request.
:type exit_code: integer
:param exit_code: The exit code returned for the state change request.
:type reason: string
:param reason: The reason for the state change request.
:type network_bindings: list
:param network_bindings: The network bindings of the container.'

def submit_container_state_change(self, cluster=None, task=None, container_name=None, status=None, exit_code=None, reason=None, network_bindings=None):

    params = {}
    if (cluster is not None):
        params['cluster'] = cluster
    if (task is not None):
        params['task'] = task
    if (container_name is not None):
        params['containerName'] = container_name
    if (status is not None):
        params['status'] = status
    if (exit_code is not None):
        params['exitCode'] = exit_code
    if (reason is not None):
        params['reason'] = reason
    if (network_bindings is not None):
        self.build_complex_list_params(params, network_bindings, 'networkBindings.member', ('bindIP', 'containerPort', 'hostPort'))
    return self._make_request(action='SubmitContainerStateChange', verb='POST', path='/', params=params)
