/*-
* ============LICENSE_START=======================================================
* SDC
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.sdcrests.vsp.rest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicRequestDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.IsValidJson;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM;
import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG;
@Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/components/{componentId}/nics")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Api(value = "Vendor Software Product Component NICs")
@Validated
public interface Nics extends VspEntities {
@GET
@Path("/")
@ApiOperation(value = "List vendor software product component NICs",
response = NicDto.class,
responseContainer = "List")
Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
@ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId,
@ApiParam(value = "Vendor software product component Id") @PathParam("componentId")
String componentId,
@NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
String user);
@POST
@Path("/")
@ApiOperation(value = "Create a vendor software product NIC")
Response create(@Valid NicRequestDto request,
@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
@ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId,
@ApiParam(value = "Vendor software product component Id")
@PathParam("componentId") String componentId,
@NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
String user);
@GET
@Path("/{nicId}")
@ApiOperation(value = "Get vendor software product NIC",
response = NicDto.class)
Response get(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId,
@ApiParam(value = "Vendor software product version Id") @PathParam("versionId") String versionId,
@ApiParam(value = "Vendor software product component Id") @PathParam("componentId")
String componentId,
@ApiParam(value = "Vendor software product NIC Id") @PathParam("nicId") String nicId,
@NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM)
String user);
@DELETE
@Path("/{nicId}")
@ApiOperation(value = "Delete vendor software product NIC")
Response delete(@ApiParam(value = "Vendor software product Id")tosca_definitions_version: tosca_simple_yaml_1_0_0
metadata:
template_name: Main
imports:
- openecomp_heat_index:
file: openecomp-heat/_index.yml
- GlobalSubstitutionTypes:
file: GlobalSubstitutionTypesServiceTemplate.yaml
topology_template:
inputs:
pd_flavor_name:
label: PD flavor name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: pd_flavor_name
type: string
description: flavor name of PD instance
default: m3.xlarge
dummy_net_name_1:
label: csb internal network name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: dummy_net_name_1
type: string
description: csb internal network name
default: mog_dummy_1
dummy_net_name_0:
label: csb internal network name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: dummy_net_name_0
type: string
description: csb internal network name
default: mog_dummy_0
dummy_net_cidr_0:
label: csb ineternal cidr
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: dummy_net_cidr_0
type: string
description: csb internal cidr
default: 169.254.1.0/24
availabilityzone_name:
label: availabilityzone name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: availabilityzone_name
type: string
description: availabilityzone name
default: nova
sl_net_floating_ip:
label: mog sl net virtual ip
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: sl_net_floating_ip
type: string
description: mog sl net virtual ip
default: 107.239.45.6
repl_net_ips:
label: repl network ips
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: repl_net_ips
type: list
description: ips of repl network
default:
- 107.239.33.57
- 107.239.33.58
entry_schema:
type: string
sl_net_name:
label: silver lining network name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: sl_net_name
type: string
description: id of the sl network
default: exn_protected_net_0
rx_net_floating_ip:
label: mog rx net virtual ip
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: rx_net_floating_ip
type: string
description: mog rx net virtual ip
default: 107.239.34.5
pd_image_name:
label: image name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: pd_image_name
type: string
description: PD image name
default: MOG_BASE_8.0
pd_server_names:
label: PD server names
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: pd_server_names
type: list
description: name of the PD instance
default:
- ZRDM1MOGX01MPD001
- ZRDM1MOGX01MPD002
entry_schema:
type: string
sm_server_names:
label: SM server names
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: sm_server_names
type: list
description: name of the SM instance
default:
- ZRDM1MOGX01MSM001
- ZRDM1MOGX01MSM002
entry_schema:
type: string
csb_net_start:
label: csb internal start
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: csb_net_start
type: string
description: csb internal start
default: 172.26.0.1
dummy_net_netmask_0:
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: dummy_net_netmask_0
type: string
description: CSB internal network subnet mask
default: 255.255.255.0
cm_image_name:
label: image name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: cm_image_name
type: string
description: CM image name
default: MOG_BASE_8.0
ran_net_floating_ip:
label: mog ran net virtual ip
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: ran_net_floating_ip
type: string
description: mog ran net virtual ip
default: 107.239.36.5
sm_flavor_name:
label: SM flavor name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: sm_flavor_name
type: string
description: flavor name of SM instance
default: m2.xlarge4
ran_net_ips:
label: RAN network ips
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: ran_net_ips
type: list
description: RAN network ip
default:
- 107.239.36.3
- 107.239.36.4
entry_schema:
type: string
ps_image_name:
label: PS image name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: ps_image_name
type: string
description: PS image name
default: MOG_BASE_8.0
dummy_net_end_0:
label: csb internal end
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: dummy_net_end_0
type: string
description: csb internal end
default: 169.254.1.254
oam_image_name:
label: image name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: oam_image_name
type: string
description: OAM image name
default: MOG_BASE_8.0
oam_server_names:
label: OAM server names
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: oam_server_names
type: list
description: name of the OAM instance
default:
- ZRDM1MOGX01OAM001
- ZRDM1MOGX01OAM002
entry_schema:
type: string
oam_net_name:
label: oam network name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: oam_net_name
type: string
description: name of the oam network
default: oam_protected_net_0
oam_net_ips:
label: internet network ips
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: oam_net_ips
type: list
description: ip of the OAM network
default:
- 107.250.172.213
- 107.250.172.214
- 107.250.172.215
- 107.250.172.216
- 107.250.172.217
entry_schema:
type: string
csb_net_cidr:
label: csb ineternal cidr
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: csb_net_cidr
type: string
description: csb internal cidr
default: 172.26.0.0/24
ran_net_name:
label: RAN network name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: ran_net_name
type: string
description: RAN network name
default: gn_direct_net_0
cm_server_names:
label: CM server names
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: cm_server_names
type: list
description: name of the CM instance
default:
- ZRDM1MOGX01MCM001
entry_schema:
type: string
sl_net_ips:
label: silver lining network ips
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: sl_net_ips
type: list
description: ips of the sl network
default:
- 107.239.45.4
- 107.239.45.5
entry_schema:
type: string
rx_net_name:
label: Rx network name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: rx_net_name
type: string
description: Rx network name
default: cor_direct_net_1
csb_net_netmask:
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: csb_net_netmask
type: string
description: CSB internal network subnet mask
default: 255.255.255.0
oam_flavor_name:
label: OAM flavor name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: oam_flavor_name
type: string
description: flavor name of OAM instance
default: m3.xlarge
repl_net_name:
label: Replication network name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: repl_net_name
type: string
description: name of the replication network
default: cor_direct_net_0
csb_net_end:
label: csb internal end
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: csb_net_end
type: string
description: csb internal end
default: 172.26.0.254
dummy_net_start_0:
label: csb internal start
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: dummy_net_start_0
type: string
description: csb internal start
default: 169.254.1.4
cm_flavor_name:
label: CM flavor name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: cm_flavor_name
type: string
description: flavor name of CM instance
default: m3.xlarge
sm_image_name:
label: image name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: sm_image_name
type: string
description: SM image name
default: MOG_BASE_8.0
csb_net_name:
label: csb internal network name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: csb_net_name
type: string
description: csb internal network name
default: int_mog_csb_net
ps_server_names:
label: PS server names
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: ps_server_names
type: list
description: name of the PS instance
default:
- ZRDM1MOGX01MPS001
- ZRDM1MOGX01MPS002
- ZRDM1MOGX01MPS003
- ZRDM1MOGX01MPS004
entry_schema:
type: string
csb_net_ips:
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: csb_net_ips
type: list
description: mog_csb_net IP addresses
default:
- 172.26.0.10
- 172.26.0.11
- 172.26.0.12
- 172.26.0.13
- 172.26.0.14
- 172.26.0.15
- 172.26.0.16
- 172.26.0.17
- 172.26.0.18
- 172.26.0.19
- 172.26.0.20
entry_schema:
type: string
ps_flavor_name:
label: PS flavor name
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: ps_flavor_name
type: string
description: flavor name of PS instance
default: m3.xlarge
rx_net_ips:
label: Rx network ips
hidden: false
immutable: false
annotations:
source:
type: org.openecomp.annotations.Source
properties:
vf_module_label:
- hot-mog-0108-bs1271
source_type: HEAT
param_name: rx_net_ips
type: list
description: Rx network ips
default:
- 107.239.34.3
- 107.239.34.4
entry_schema:
type: string
node_templates:
abstract_pd_server:
type: org.openecomp.resource.abstract.nodes.pd_server
directives:
- substitutable
properties:
compute_pd_server_availability_zone:
- get_input: availabilityzone_name
compute_pd_server_name:
- get_input:
- pd_server_names
- 0
vm_flavor_name:
get_input: pd_flavor_name
port_pd01_port_mac_requirements:
mac_count_required:
is_required: false
vm_image_name:
get_attribute:
- abstract_ps_server
- ps_server_accessIPv4
port_pd01_port_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
floating_ip_count_required:
is_required: false
- ip_version: 6
ip_count_required:
is_required: false
floating_ip_count_required:
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
port_pd01_port_subinterface_indicator:
- true
port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
substitute_service_template: Nested_pd_serverServiceTemplate.yaml
count: 1
index_value:
get_property:
- SELF
- service_template_filter
- index_value
abstract_ps_server:
type: org.openecomp.resource.abstract.nodes.ps_server
directives:
- substitutable
properties:
compute_ps_server_name:
- get_input:
- ps_server_names
- 0
compute_ps_server_availability_zone:
- get_input: availabilityzone_name
compute_ps_server_user_data_format:
- RAW
vm_flavor_name:
get_input: pd_flavor_name
port_ps01_port_subinterface_indicator:
- true
vm_image_name:
get_attribute:
- abstract_pd_server
- pd_server_accessIPv4
port_ps01_port_mac_requirements:
mac_count_required:
is_required: false
port_ps01_port_network:
- get_input: oam_net_name
port_ps01_port_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
floating_ip_count_required:
is_required: false
- ip_version: 6
ip_count_required:
is_required: false
floating_ip_count_required:
is_required: false
port_ps01_port_network_role_tag: oam
service_template_filter:
substitute_service_template: Nested_ps_serverServiceTemplate.yaml
count: 1
index_value:
get_property:
- SELF
- service_template_filter
- index_value
groups:
hot-mog-0108-bs1271_group:
type: org.openecomp.groups.heat.HeatStack
properties:
heat_file: ../Artifacts/hot-mog-0108-bs1271.yml
description: heat template that creates MOG stack
members:
- abstract_pd_server
- abstract_ps_server