From 0add1698d5ab56d56a2cf605f2abbcb2a327b44f Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 5 Apr 2017 19:35:42 +0200 Subject: [PATCH] =?UTF-8?q?Annotate=20Vault=E2=80=A6Properties=20with=20@V?= =?UTF-8?q?alidated=20to=20enable=20property=20validation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes gh-96. --- .../cloud/vault/config/aws/VaultAwsProperties.java | 8 +++++--- .../cloud/vault/config/consul/VaultConsulProperties.java | 6 ++++-- .../vault/config/databases/VaultCassandraProperties.java | 8 +++++--- .../vault/config/databases/VaultMongoProperties.java | 8 +++++--- .../vault/config/databases/VaultMySqlProperties.java | 6 ++++-- .../vault/config/databases/VaultPostgreSqlProperties.java | 8 +++++--- .../vault/config/rabbitmq/VaultRabbitMqProperties.java | 8 +++++--- .../cloud/vault/config/VaultGenericBackendProperties.java | 2 ++ .../cloud/vault/config/VaultProperties.java | 2 ++ 9 files changed, 37 insertions(+), 19 deletions(-) diff --git a/spring-cloud-vault-config-aws/src/main/java/org/springframework/cloud/vault/config/aws/VaultAwsProperties.java b/spring-cloud-vault-config-aws/src/main/java/org/springframework/cloud/vault/config/aws/VaultAwsProperties.java index 2152c07a..5caba82c 100644 --- a/spring-cloud-vault-config-aws/src/main/java/org/springframework/cloud/vault/config/aws/VaultAwsProperties.java +++ b/spring-cloud-vault-config-aws/src/main/java/org/springframework/cloud/vault/config/aws/VaultAwsProperties.java @@ -15,11 +15,12 @@ */ package org.springframework.cloud.vault.config.aws; +import lombok.Data; import org.hibernate.validator.constraints.NotEmpty; + import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.cloud.vault.config.VaultSecretBackendDescriptor; - -import lombok.Data; +import org.springframework.validation.annotation.Validated; /** * Configuration properties for Vault using the AWS integration. @@ -28,6 +29,7 @@ import lombok.Data; */ @ConfigurationProperties("spring.cloud.vault.aws") @Data +@Validated public class VaultAwsProperties implements VaultSecretBackendDescriptor { /** @@ -57,4 +59,4 @@ public class VaultAwsProperties implements VaultSecretBackendDescriptor { */ @NotEmpty private String secretKeyProperty = "cloud.aws.credentials.secretKey"; -} \ No newline at end of file +} diff --git a/spring-cloud-vault-config-consul/src/main/java/org/springframework/cloud/vault/config/consul/VaultConsulProperties.java b/spring-cloud-vault-config-consul/src/main/java/org/springframework/cloud/vault/config/consul/VaultConsulProperties.java index 7a98e0d3..682b197c 100644 --- a/spring-cloud-vault-config-consul/src/main/java/org/springframework/cloud/vault/config/consul/VaultConsulProperties.java +++ b/spring-cloud-vault-config-consul/src/main/java/org/springframework/cloud/vault/config/consul/VaultConsulProperties.java @@ -15,11 +15,12 @@ */ package org.springframework.cloud.vault.config.consul; +import lombok.Data; import org.hibernate.validator.constraints.NotEmpty; + import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.cloud.vault.config.VaultSecretBackendDescriptor; - -import lombok.Data; +import org.springframework.validation.annotation.Validated; /** * Configuration properties for HashiCorp Consul. @@ -28,6 +29,7 @@ import lombok.Data; */ @ConfigurationProperties("spring.cloud.vault.consul") @Data +@Validated public class VaultConsulProperties implements VaultSecretBackendDescriptor { /** diff --git a/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultCassandraProperties.java b/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultCassandraProperties.java index 549aa68c..446aff22 100644 --- a/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultCassandraProperties.java +++ b/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultCassandraProperties.java @@ -15,10 +15,11 @@ */ package org.springframework.cloud.vault.config.databases; -import org.hibernate.validator.constraints.NotEmpty; -import org.springframework.boot.context.properties.ConfigurationProperties; - import lombok.Data; +import org.hibernate.validator.constraints.NotEmpty; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.validation.annotation.Validated; /** * Configuration properties for Vault using the Apache Cassandra integration. @@ -27,6 +28,7 @@ import lombok.Data; */ @ConfigurationProperties("spring.cloud.vault.cassandra") @Data +@Validated public class VaultCassandraProperties implements DatabaseSecretProperties { /** diff --git a/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultMongoProperties.java b/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultMongoProperties.java index b8d5742a..25c9da69 100644 --- a/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultMongoProperties.java +++ b/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultMongoProperties.java @@ -15,10 +15,11 @@ */ package org.springframework.cloud.vault.config.databases; -import org.hibernate.validator.constraints.NotEmpty; -import org.springframework.boot.context.properties.ConfigurationProperties; - import lombok.Data; +import org.hibernate.validator.constraints.NotEmpty; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.validation.annotation.Validated; /** * Configuration properties for Vault using the MongoDB integration. @@ -27,6 +28,7 @@ import lombok.Data; */ @ConfigurationProperties("spring.cloud.vault.mongodb") @Data +@Validated public class VaultMongoProperties implements DatabaseSecretProperties { /** diff --git a/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultMySqlProperties.java b/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultMySqlProperties.java index 78e1b310..958b1413 100644 --- a/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultMySqlProperties.java +++ b/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultMySqlProperties.java @@ -1,10 +1,11 @@ package org.springframework.cloud.vault.config.databases; +import lombok.Data; import org.hibernate.validator.constraints.NotEmpty; + import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.cloud.vault.config.VaultSecretBackendDescriptor; - -import lombok.Data; +import org.springframework.validation.annotation.Validated; /** * Configuration properties for Vault using the MySQL integration. @@ -13,6 +14,7 @@ import lombok.Data; */ @ConfigurationProperties("spring.cloud.vault.mysql") @Data +@Validated public class VaultMySqlProperties implements DatabaseSecretProperties, VaultSecretBackendDescriptor { diff --git a/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultPostgreSqlProperties.java b/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultPostgreSqlProperties.java index 49a51a82..d962870a 100644 --- a/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultPostgreSqlProperties.java +++ b/spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultPostgreSqlProperties.java @@ -15,10 +15,11 @@ */ package org.springframework.cloud.vault.config.databases; -import org.hibernate.validator.constraints.NotEmpty; -import org.springframework.boot.context.properties.ConfigurationProperties; - import lombok.Data; +import org.hibernate.validator.constraints.NotEmpty; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.validation.annotation.Validated; /** * Configuration properties for Vault using the PostgreSQL integration. @@ -27,6 +28,7 @@ import lombok.Data; */ @ConfigurationProperties("spring.cloud.vault.postgresql") @Data +@Validated public class VaultPostgreSqlProperties implements DatabaseSecretProperties { /** diff --git a/spring-cloud-vault-config-rabbitmq/src/main/java/org/springframework/cloud/vault/config/rabbitmq/VaultRabbitMqProperties.java b/spring-cloud-vault-config-rabbitmq/src/main/java/org/springframework/cloud/vault/config/rabbitmq/VaultRabbitMqProperties.java index cd84e60f..4fec288c 100644 --- a/spring-cloud-vault-config-rabbitmq/src/main/java/org/springframework/cloud/vault/config/rabbitmq/VaultRabbitMqProperties.java +++ b/spring-cloud-vault-config-rabbitmq/src/main/java/org/springframework/cloud/vault/config/rabbitmq/VaultRabbitMqProperties.java @@ -15,11 +15,12 @@ */ package org.springframework.cloud.vault.config.rabbitmq; +import lombok.Data; import org.hibernate.validator.constraints.NotEmpty; + import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.cloud.vault.config.VaultSecretBackendDescriptor; - -import lombok.Data; +import org.springframework.validation.annotation.Validated; /** * Configuration properties for Vault using the RabbitMQ integration. @@ -28,6 +29,7 @@ import lombok.Data; */ @ConfigurationProperties("spring.cloud.vault.rabbitmq") @Data +@Validated public class VaultRabbitMqProperties implements VaultSecretBackendDescriptor { /** @@ -57,4 +59,4 @@ public class VaultRabbitMqProperties implements VaultSecretBackendDescriptor { */ @NotEmpty private String passwordProperty = "spring.rabbitmq.password"; -} \ No newline at end of file +} diff --git a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultGenericBackendProperties.java b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultGenericBackendProperties.java index 5c650103..7610d12d 100644 --- a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultGenericBackendProperties.java +++ b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultGenericBackendProperties.java @@ -23,6 +23,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.EnvironmentAware; import org.springframework.core.env.Environment; import org.springframework.util.StringUtils; +import org.springframework.validation.annotation.Validated; /** * Configuration properties for Vault using the generic backend. @@ -31,6 +32,7 @@ import org.springframework.util.StringUtils; */ @ConfigurationProperties("spring.cloud.vault.generic") @Data +@Validated public class VaultGenericBackendProperties implements EnvironmentAware { /** diff --git a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultProperties.java b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultProperties.java index 598276c4..f7018409 100644 --- a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultProperties.java +++ b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/VaultProperties.java @@ -26,6 +26,7 @@ import org.springframework.context.EnvironmentAware; import org.springframework.core.env.Environment; import org.springframework.core.io.Resource; import org.springframework.util.StringUtils; +import org.springframework.validation.annotation.Validated; /** * @author Spencer Gibb @@ -33,6 +34,7 @@ import org.springframework.util.StringUtils; */ @ConfigurationProperties("spring.cloud.vault") @Data +@Validated public class VaultProperties implements EnvironmentAware { /**