org.zodiac.autoconfigure.loadbalancer.EnableAppLoadBalancerClient Maven / Gradle / Ivy
package org.zodiac.autoconfigure.loadbalancer;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Import;
import org.springframework.core.annotation.AliasFor;
import org.zodiac.autoconfigure.bootstrap.condition.ConditionalOnSpringCloudBootstrapDisabled;
@SpringBootConfiguration
@ConditionalOnSpringCloudBootstrapDisabled
@Import(AppLoadBalancerClientConfigurationRegistrar.class)
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface EnableAppLoadBalancerClient {
/**
* Synonym for name (the name of the client).
*
* @see #name()
* @return the name of the load balancer client
*/
@AliasFor("name")
String value() default "";
/**
* The name of the load balancer client, uniquely identifying a set of client resources, including a load balancer.
*
* @return the name of the load balancer client
*/
@AliasFor("value")
String name() default "";
/**
* A custom @Configuration
for the load balancer client. Can contain override @Bean
* definition for the pieces that make up the client.
*
* @see AppLoadBalancerClientConfiguration for the defaults
* @return configuration classes for the load balancer client.
*/
Class>[] configuration() default {};
}