Chaffelson / nipyapi

A convenient Python wrapper for Apache NiFi
Other
245 stars 76 forks source link

Error "Invalid keys in `parameter_sensitivities`" after calling get_parameter_providers #325

Open provotor opened 1 year ago

provotor commented 1 year ago

Description

There is an error with getting parameter providers list with EnvironmentParameterProvider: Invalid keys in parameter_sensitivities [... MY_ENVIRONMENT_VARIABLES ...], must be a subset of [SENSITIVE, NON_SENSITIVE] Looks like in ParameterGroupConfigurationEntity.parameter_sensitivities.setter validation mixed up keys and values. After editing the line if not set(parameter_sensitivities.keys()).issubset(set(allowed_values)): on if not set(parameter_sensitivities.values()).issubset(set(allowed_values)): the error is gone.

What I Did

After calling nipyapi.nifi.FlowApi().get_parameter_providers() I have error Invalid keys inparameter_sensitivities[ENV_PARAM1, ENV_PARAM2], must be a subset of [SENSITIVE, NON_SENSITIVE]

Stacktrace: File "\nipyapi\nifi\apis\flow_api.py", line 2988, in get_parameter_providers (data) = self.get_parameter_providers_with_http_info(kwargs) File "\nipyapi\nifi\apis\flow_api.py", line 3049, in get_parameter_providers_with_http_info return self.api_client.call_api('/flow/parameter-providers', 'GET', File "\nipyapi\nifi\api_client.py", line 330, in call_api return self.call_api(resource_path, method, File "\nipyapi\nifi\api_client.py", line 163, in __call_api return_data = self.deserialize(response_data, response_type) File "\nipyapi\nifi\api_client.py", line 244, in deserialize return self.deserialize(data, response_type) File "\nipyapi\nifi\api_client.py", line 287, in deserialize return self.deserialize_model(data, klass) File "\nipyapi\nifi\api_client.py", line 656, in deserialize_model deserialized_value = self.deserialize(value, attr_type) File "\nipyapi\nifi\api_client.py", line 264, in deserialize return [self.deserialize(sub_data, sub_kls) File "\nipyapi\nifi\api_client.py", line 264, in return [self.deserialize(sub_data, sub_kls) File "\nipyapi\nifi\api_client.py", line 287, in deserialize return self.deserialize_model(data, klass) File "\nipyapi\nifi\api_client.py", line 663, in __deserialize_model kwargs[attr] = self.deserialize(value, attr_type) File "\nipyapi\nifi\api_client.py", line 287, in deserialize return self.deserialize_model(data, klass) File "\nipyapi\nifi\api_client.py", line 656, in deserialize_model deserialized_value = self.deserialize(value, attr_type) File "\nipyapi\nifi\api_client.py", line 264, in deserialize return [self.deserialize(sub_data, sub_kls) File "\nipyapi\nifi\api_client.py", line 264, in return [self.__deserialize(sub_data, sub_kls) File "\nipyapi\nifi\api_client.py", line 287, in deserialize return self.deserialize_model(data, klass) File "\nipyapi\nifi\api_client.py", line 665, in __deserialize_model instance = klass(kwargs) File "\nipyapi\nifi\models\parameter_group_configuration_entity.py", line 62, in init self.parameter_sensitivities = parameter_sensitivities File "\nipyapi\nifi\models\parameter_group_configuration_entity.py", line 134, in parameter_sensitivities raise ValueError( ValueError: Invalid keys in parameter_sensitivities [ENV_PARAM1, ENV_PARAM2], must be a subset of [SENSITIVE, NON_SENSITIVE]

Urgency

I don't think it's super urgent because it didn't get released.

michaelarnauts commented 3 months ago

It seems to be released by now, since I get this issue with the latest version of nipyapi.

michaelarnauts commented 3 months ago

The swagger json contains this:

        "parameterSensitivities" : {
          "type" : "object",
          "description" : "All fetched parameter names that should be applied.",
          "additionalProperties" : {
            "type" : "string",
            "enum" : [ "SENSITIVE", "NON_SENSITIVE" ]
          }
        }

That should be correct, but the swagger-codegen isn't handling this correctly it seems.

See https://github.com/swagger-api/swagger-codegen/issues/9138