--- /dev/null
+/*
+ *
+ * * ============LICENSE_START=======================================================
+ * * org.onap.dcae
+ * * ================================================================================
+ * * Copyright (c) 2021 Nokia. All rights reserved.
+ * * ================================================================================
+ * * Licensed under the Apache License, Version 2.0 (the "License");
+ * * you may not use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License.
+ * * ============LICENSE_END=========================================================
+ *
+ *
+ */
+package org.onap.blueprintgenerator.model.componentspec.common;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@JsonInclude(value = JsonInclude.Include.NON_NULL)
+@EqualsAndHashCode
+public class ConfigVolume {
+
+ private String name;
+
+}
* * org.onap.dcae
* * ================================================================================
* * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+ * * Copyright (c) 2021 Nokia. All rights reserved.
* * ================================================================================
* * Licensed under the Apache License, Version 2.0 (the "License");
* * you may not use this file except in compliance with the License.
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
private Host host;
+ @JsonProperty("config_volume")
+ private ConfigVolume configVolume;
+
private String type;
private String name;
* * org.onap.dcae
* * ================================================================================
* * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+ * * Copyright (c) 2021 Nokia. All rights reserved.
* * ================================================================================
* * Licensed under the Apache License, Version 2.0 (the "License");
* * you may not use this file except in compliance with the License.
import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
assertNotNull(
type + " Blueprint:NodeTemplates:DockerConfig:LiveHealthcheck Section is NULL",
onapVolumes);
+ assertNotNull(type + " Blueprint:NodeTemplates:DockerConfig:Volumes:ConfigVolume:GetName Section is NULL", Arrays.stream(onapVolumes)
+ .filter(c -> c.getConfigVolume() != null)
+ .filter(c -> c.getName() != null)
+ .filter(c -> c.equals("myConfig"))
+ .findAny());
}
/**
"host": {
"path": "/opt/logs/DCAE/VESCollector/etc"
}
+ },
+ {
+ "container": { "bind": "/opt/app/etc/config" },
+ "config_volume": { "name":"myConfig" }
}
],
"ports": [
"type": "array",
"items": {
"type": "object",
- "properties": {
- "host":{
- "type":"object",
- "path": {"type": "string"}
- },
- "container":{
- "type":"object",
- "bind": { "type": "string"},
- "mode": { "type": "string"}
- }
- }
+ "oneOf": [
+ { "$ref": "#/definitions/host_path_volume" },
+ { "$ref": "#/definitions/config_map_volume" }
+ ]
}
}
},
],
"additionalProperties": false
},
+ "host_path_volume": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "object",
+ "path": {
+ "type": "string"
+ }
+ },
+ "container": {
+ "type": "object",
+ "bind": {
+ "type": "string"
+ },
+ "mode": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "config_map_volume": {
+ "type": "object",
+ "properties": {
+ "config_volume": {
+ "type": "object",
+ "name": {
+ "type": "string"
+ }
+ },
+ "container": {
+ "type": "object",
+ "bind": {
+ "type": "string"
+ },
+ "mode": {
+ "type": "string"
+ }
+ }
+ }
+ },
"docker_healthcheck_http": {
"properties": {
"type": {
bind: /opt/app/vcc/archive/data
host:
path: /opt/data/DCAE/helloworldpm/vcc-archive
+ - container:
+ bind: /opt/app/etc/config
+ config_volume:
+ name: myConfig
image:
get_input: image
location_id:
"host": {
"path": "/opt/data/DCAE/helloworldpm/vcc-archive"
}
- }
+ },
+ {
+ "container": { "bind": "/opt/app/etc/config" },
+ "config_volume": { "name":"myConfig" }
+ }
]
},