def assert_required_parameters(self, parameters, _):
    # Make sure the user has set each parameter.
    for param in self.REQUIRED_CREDENTIALS:
      if not self.has_parameter(param, parameters):
        raise AgentConfigurationException('The required parameter, {0}, was' \
          ' not specified.'.format(param))

    # Next, make sure that either the client_secrets file or the oauth2
    # credentials file exists.
    credentials_file = parameters.get(self.PARAM_SECRETS) or parameters.get(
      self.PARAM_STORAGE)
    if not os.path.exists(os.path.expanduser(credentials_file)):
      raise AgentConfigurationException('Could not find your credentials ' \
        'file at {0}'.format(credentials_file))

    # TODO: Remove this warning once service accounts have been fully tested.
    secrets_location = os.path.expanduser(parameters[self.PARAM_SECRETS])
    secrets_type = GCEAgent.get_secrets_type(secrets_location)
    if (secrets_type == CredentialTypes.SERVICE and
        not parameters[self.PARAM_TEST]):
      response = raw_input('It looks like you are using service account '
        'credentials, which are not currently supported for cloud '
        'autoscaling.\nWould you like to continue? (y/N)')
      if response.lower() not in ['y', 'yes']:
        raise AgentConfigurationException('User cancelled starting AppScale.')
Checks the given parameters to make sure that they can be used to
dataset/ETHPy150Open AppScale/appscale-tools/lib/agents/gce_agent.py/GCEAgent.assert_required_parameters