def set_identity_pool_configuration(IdentityPoolId=None, PushSync=None,
    CognitoStreams=None):
    """
    Sets the necessary configuration for push sync.
    This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.
    See also: AWS API Documentation
    
    
    :example: response = client.set_identity_pool_configuration(
        IdentityPoolId='string',
        PushSync={
            'ApplicationArns': [
                'string',
            ],
            'RoleArn': 'string'
        },
        CognitoStreams={
            'StreamName': 'string',
            'RoleArn': 'string',
            'StreamingStatus': 'ENABLED'|'DISABLED'
        }
    )
    
    
    :type IdentityPoolId: string
    :param IdentityPoolId: [REQUIRED]
            A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool to modify.
            

    :type PushSync: dict
    :param PushSync: Options to apply to this identity pool for push synchronization.
            ApplicationArns (list) --List of SNS platform application ARNs that could be used by clients.
            (string) --
            RoleArn (string) --A role configured to allow Cognito to call SNS on behalf of the developer.
            

    :type CognitoStreams: dict
    :param CognitoStreams: Options to apply to this identity pool for Amazon Cognito streams.
            StreamName (string) -- The name of the Cognito stream to receive updates. This stream must be in the developers account and in the same region as the identity pool.
            RoleArn (string) -- The ARN of the role Amazon Cognito can assume in order to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke PutRecord on your Cognito stream.
            StreamingStatus (string) -- Status of the Cognito streams. Valid values are:ENABLED - Streaming of updates to identity pool is enabled.
            DISABLED - Streaming of updates to identity pool is disabled. Bulk publish will also fail if StreamingStatus is DISABLED.
            

    :rtype: dict
    :return: {
        'IdentityPoolId': 'string',
        'PushSync': {
            'ApplicationArns': [
                'string',
            ],
            'RoleArn': 'string'
        },
        'CognitoStreams': {
            'StreamName': 'string',
            'RoleArn': 'string',
            'StreamingStatus': 'ENABLED'|'DISABLED'
        }
    }
    
    
    :returns: 
    (string) --
    
    """
    pass
