private void validateVespaCloudSettings() {
        // If only one of the required Cloud params is set, throw an error
        if ((vespaCloudTenant != null && vespaCloudApplication == null) ||
            (vespaCloudTenant == null && vespaCloudApplication != null)) {
            throw new IllegalArgumentException("Both vespa_cloud_tenant and vespa_cloud_application must be specified for Vespa Cloud deployment");
        }
        
        // Validate that instance is provided if we're in Vespa Cloud mode
        if (isVespaCloud()) {
            // we default to "default", so this shouldn't happen unless the user set it to an empty string
            if (vespaCloudInstance == null || vespaCloudInstance.trim().isEmpty()) {
                throw new IllegalArgumentException("vespa_cloud_instance must be specified for Vespa Cloud deployment");
            }
            
            logger.info("Vespa Cloud mode enabled with tenant: {}, application: {}, instance: {}", 
                       vespaCloudTenant, vespaCloudApplication, vespaCloudInstance);

            if (!generateMtlsCertificates) {
                logger.info("Generating mTLS certificates for Vespa Cloud: you're very likely going to need them :)");
                generateMtlsCertificates = true;
            }
        }
    }
Validates that if one of the Vespa Cloud parameters is set, all required
parameters are also set correctly.

@throws IllegalArgumentException if validation fails
integration/logstash-plugins/logstash-output-vespa/src/main/java/org/logstashplugins/QuickStartConfig.java