{"record":{"id":"6c532586b02afd7e","repo":"appsmithorg/appsmith","slug":"pe-dse-5003-6c5325","errorCode":"PE-DSE-5003","errorMessage":"Appsmith S3 plugin service has failed to identify the S3 service provider type. Please reach out to Appsmith customer support to resolve this.","messagePattern":"Appsmith S3 plugin service has failed to identify the S3 service provider type\\. Please reach out to Appsmith customer support to resolve this\\.","errorType":"exception","errorClass":"AppsmithPluginException","httpStatus":500,"severity":"error","filePath":"app/server/appsmith-plugins/amazons3Plugin/src/main/java/com/external/utils/DatasourceUtils.java","lineNumber":89,"sourceCode":"        DREAM_OBJECTS(\"dream-objects\"),\n        MINIO(\"minio\"),\n        GOOGLE_CLOUD_STORAGE(\"google-cloud-storage\"),\n        OTHER(\"other\");\n\n        private String name;\n\n        S3ServiceProvider(String name) {\n            this.name = name;\n        }\n\n        public static S3ServiceProvider fromString(String name) throws AppsmithPluginException {\n            for (S3ServiceProvider s3ServiceProvider : S3ServiceProvider.values()) {\n                if (s3ServiceProvider.name.equals(name.toLowerCase())) {\n                    return s3ServiceProvider;\n                }\n            }\n\n            throw new AppsmithPluginException(\n                    AppsmithPluginError.PLUGIN_DATASOURCE_ARGUMENT_ERROR,\n                    S3ErrorMessages.S3_SERVICE_PROVIDER_IDENTIFICATION_ERROR_MSG);\n        }\n    }\n\n    /**\n     * This method builds an `AmazonS3ClientBuilder` object from the datasourceConfiguration provided by user. The\n     * `AmazonS3ClientBuilder` object can then be used to get a connection object to connect to the S3 service.\n     *\n     * @param datasourceConfiguration\n     * @return AmazonS3ClientBuilder object\n     * @throws AppsmithPluginException when (1) there is an error with parsing credentials (2) required\n     *                                 datasourceConfiguration properties are missing (3) endpoint URL is found incorrect.\n     */\n    public static AmazonS3ClientBuilder getS3ClientBuilder(DatasourceConfiguration datasourceConfiguration)\n            throws AppsmithPluginException {\n        log.debug(Thread.currentThread().getName() + \": getS3ClientBuilder action called.\");\n        DBAuth authentication = (DBAuth) datasourceConfiguration.getAuthentication();","sourceCodeStart":71,"sourceCodeEnd":107,"githubUrl":"https://github.com/appsmithorg/appsmith/blob/8cd9021c24cdbea1c3c12c966073708e83db60c2/app/server/appsmith-plugins/amazons3Plugin/src/main/java/com/external/utils/DatasourceUtils.java#L71-L107","documentation":"Thrown by S3ServiceProvider.fromString() when the supplied provider name does not match any known enum value (S3ErrorMessages.S3_SERVICE_PROVIDER_IDENTIFICATION_ERROR_MSG, code PE-DSE-5003). fromString iterates AMAZON, GOOGLE_CLOUD_STORAGE, UPCLOUD, WASABI, DIGITAL_OCEAN_SPACES, DREAM_OBJECTS, MINIO and 'other'; a name outside this set (case-insensitive) throws.","triggerScenarios":"The 'S3 Service Provider' dropdown value passed to fromString is not one of the recognized provider identifiers — e.g. a custom/typo value injected into the datasource properties, or a new provider name added to the UI that the enum does not yet know.","commonSituations":"Manually editing datasource JSON and entering an unknown provider string; a UI/plugin version mismatch where the frontend offers a provider the backend enum lacks; localization changing the stored value.","solutions":["Select a supported provider from the 'S3 Service Provider' dropdown (Amazon S3, Google Cloud Storage, Upcloud, Wasabi, DigitalOcean Spaces, Dream Objects, MinIO, or Other).","If the datasource JSON was hand-edited, reset the provider property to a valid enum name and re-save.","For a truly custom provider, choose 'Other' and supply the endpoint URL and region explicitly."],"exampleFix":"// before: unknown provider\n//   \"S3 Service Provider\": \"backblaze\"\n// after: use 'other' with explicit endpoint\n//   provider: \"other\", endpoint URL: \"https://s3.us-west-004.backblazeb2.com\"","handlingStrategy":"validation","validationCode":"// Validate the provider is one of the known enum names (case-insensitive)\nconst ALLOWED = ['amazon-s3','google-cloud-storage','upcloud','wasabi','digital-ocean','dream-objects','minio','other'];\nconst p = (this.params.serviceProvider || '').toLowerCase();\nif (!ALLOWED.includes(p)) throw new Error('Unknown S3 service provider: ' + p);","typeGuard":"function isKnownProvider(v) {\n  const ALLOWED = ['amazon-s3','google-cloud-storage','upcloud','wasabi','digital-ocean','dream-objects','minio','other'];\n  return typeof v === 'string' && ALLOWED.includes(v.toLowerCase());\n}","tryCatchPattern":null,"preventionTips":["Always pick the provider from the dropdown rather than typing it.","For custom providers, choose 'Other' and supply the endpoint explicitly.","After upgrades, re-save the datasource so the provider value matches the enum."],"tags":["java","appsmith","amazon-s3","plugin","configuration","datasource","enum"],"backgroundTag":null,"analyzedSha":"8cd9021c24cdbea1c3c12c966073708e83db60c2","analyzedAt":"2026-08-12T22:14:19.293Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}