79878117717650f695506d397238d0d21a63724b
[policy/clamp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2021 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.clamp.controlloop.participant.dcae.main.parameters;
22
23 import javax.validation.Valid;
24 import javax.validation.constraints.Min;
25 import javax.validation.constraints.NotBlank;
26 import javax.validation.constraints.NotNull;
27 import lombok.Getter;
28 import lombok.Setter;
29 import org.onap.policy.clamp.controlloop.participant.intermediary.parameters.ParticipantIntermediaryParameters;
30 import org.onap.policy.common.endpoints.parameters.RestClientParameters;
31 import org.onap.policy.common.parameters.validation.ParameterGroupConstraint;
32 import org.springframework.boot.context.properties.ConfigurationProperties;
33 import org.springframework.validation.annotation.Validated;
34
35 /**
36  * Class to hold all parameters needed for the participant dcae.
37  *
38  */
39 @Validated
40 @Getter
41 @Setter
42 @ConfigurationProperties(prefix = "participant")
43 public class ParticipantDcaeParameters {
44
45     @NotNull
46     @Min(10)
47     private int checkCount = 10;
48
49     @NotNull
50     @Min(1)
51     private int secCount = 10;
52
53     @NotBlank
54     private String jsonBodyConsulPath;
55
56     @NotNull
57     @Valid
58     private ClampEndPoints clampClientEndPoints;
59
60     @NotNull
61     @Valid
62     private ConsulEndPoints consulClientEndPoints;
63
64     @NotNull
65     @ParameterGroupConstraint
66     private RestClientParameters clampClientParameters;
67
68     @NotNull
69     @ParameterGroupConstraint
70     private RestClientParameters consulClientParameters;
71
72     @NotNull
73     @Valid
74     private ParticipantIntermediaryParameters intermediaryParameters;
75 }