1 package io.swagger.v3.oas.annotations.servers;
2
3 import io.swagger.v3.oas.annotations.extensions.Extension;
4
5 import java.lang.annotation.Inherited;
6 import java.lang.annotation.Retention;
7 import java.lang.annotation.RetentionPolicy;
8 import java.lang.annotation.Target;
9
10 /**
11  * An object representing a Server Variable for server URL template substitution.
12  **/

13 @Target({})
14 @Retention(RetentionPolicy.RUNTIME)
15 @Inherited
16 public @interface ServerVariable {
17     /**
18      * Required.  The name of this variable.
19      *
20      * @return String name
21      **/

22     String name();
23
24     /**
25      * An array of allowable values for this variable.  This field map to the enum property in the OAS schema.
26      *
27      * @return String array of allowableValues
28      **/

29     String[] allowableValues() default "";
30
31     /**
32      * Required.  The default value of this variable.
33      *
34      * @return String defaultValue
35      **/

36     String defaultValue();
37
38     /**
39      * An optional description for the server variable.
40      *
41      * @return String description
42      **/

43     String description() default "";
44
45     /**
46      * The list of optional extensions
47      *
48      * @return an optional array of extensions
49      */

50     Extension[] extensions() default {};
51
52 }
53