'Modifies an existing Amazon Redshift event notification
subscription.
:type subscription_name: string
:param subscription_name: The name of the modified Amazon Redshift
event notification subscription.
:type sns_topic_arn: string
:param sns_topic_arn: The Amazon Resource Name (ARN) of the SNS topic
to be used by the event notification subscription.
:type source_type: string
:param source_type: The type of source that will be generating the
events. For example, if you want to be notified of events generated
by a cluster, you would set this parameter to cluster. If this
value is not specified, events are returned for all Amazon Redshift
objects in your AWS account. You must specify a source type in
order to specify source IDs.
Valid values: cluster, cluster-parameter-group, cluster-security-group,
and cluster-snapshot.
:type source_ids: list
:param source_ids: A list of one or more identifiers of Amazon Redshift
source objects. All of the objects must be of the same type as was
specified in the source type parameter. The event subscription will
return only events generated by the specified objects. If not
specified, then events are returned for all objects within the
source type specified.
Example: my-cluster-1, my-cluster-2
Example: my-snapshot-20131010
:type event_categories: list
:param event_categories: Specifies the Amazon Redshift event categories
to be published by the event notification subscription.
Values: Configuration, Management, Monitoring, Security
:type severity: string
:param severity: Specifies the Amazon Redshift event severity to be
published by the event notification subscription.
Values: ERROR, INFO
:type enabled: boolean
:param enabled: A Boolean value indicating if the subscription is
enabled. `True` indicates the subscription is enabled'

def modify_event_subscription(self, subscription_name, sns_topic_arn=None, source_type=None, source_ids=None, event_categories=None, severity=None, enabled=None):

    params = {'SubscriptionName': subscription_name}
    if (sns_topic_arn is not None):
        params['SnsTopicArn'] = sns_topic_arn
    if (source_type is not None):
        params['SourceType'] = source_type
    if (source_ids is not None):
        self.build_list_params(params, source_ids, 'SourceIds.member')
    if (event_categories is not None):
        self.build_list_params(params, event_categories, 'EventCategories.member')
    if (severity is not None):
        params['Severity'] = severity
    if (enabled is not None):
        params['Enabled'] = str(enabled).lower()
    return self._make_request(action='ModifyEventSubscription', verb='POST', path='/', params=params)
