aboutsummaryrefslogtreecommitdiffstats
path: root/ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/rest/DeploymentHandlerClient.java
blob: 2599a272163b4e9075a7d3890c6e60d9e739157c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package org.onap.ccsdk.dashboard.rest;

import java.util.stream.Stream;

import org.onap.ccsdk.dashboard.exceptions.BadRequestException;
import org.onap.ccsdk.dashboard.exceptions.DeploymentNotFoundException;
import org.onap.ccsdk.dashboard.exceptions.DownstreamException;
import org.onap.ccsdk.dashboard.exceptions.ServerErrorException;
import org.onap.ccsdk.dashboard.exceptions.ServiceAlreadyExistsException;
import org.onap.ccsdk.dashboard.model.deploymenthandler.DeploymentLink;
import org.onap.ccsdk.dashboard.model.deploymenthandler.DeploymentRequest;
import org.onap.ccsdk.dashboard.model.deploymenthandler.DeploymentResponse;

public interface DeploymentHandlerClient {


	
	/**
	 * Gets a list of all service deployments known to the orchestrator.
	 * 
	 * @return Stream<String>
	 */
	public Stream<DeploymentLink> getDeployments();
	
	/**
	 * Gets a list of all service deployments known to the orchestrator, 
	 * restricted to a single service type.
	 * 
	 * @param serviceTypeId
	 * 		Service type identifier for the type whose deployments are to be listed.
	 * 
	 * @return Stream<String>
	 */
	public Stream<DeploymentLink> getDeployments(String serviceTypeId);
	
	/**
	 * Request deployment of a DCAE Service.
	 * 
	 * @param deploymentId
	 * 		Unique deployment identifier assigned by the API client.
	 * 
	 * @param deploymentRequest
	 * 		Deployment request object that contains the necessary fields for service deployment.
	 * 
	 * @return DeploymentResponse
	 * 		Response body for a PUT or DELETE to /dcae-deployments/{deploymentId}
	 *
	 */
	public DeploymentResponse putDeployment(String deploymentId, String tenant, 
	DeploymentRequest deploymentRequest) throws 
		BadRequestException,
		ServiceAlreadyExistsException,
		ServerErrorException,
		DownstreamException;
	/**
	 * Initiate update for a deployment 
	 * 
	 * @param deploymentId
	 * 		Unique deployment identifier assigned by the API client.
	 * 
	 * @param tenant
	 * 		Cloudify tenant where the deployment should be done
	 * 
	 * @param deploymentRequest
	 * 		Deployment request object that contains the necessary fields for service deployment.
	 * 
	 * @return DeploymentResponse
	 * 		Response body for a PUT or DELETE to /dcae-deployments/{deploymentId}
	 *
	 */
	public DeploymentResponse updateDeployment(String deploymentId, String tenant, 
	DeploymentRequest deploymentRequest) throws BadRequestException,
	ServiceAlreadyExistsException,
	ServerErrorException,
	DownstreamException;

	/**
	 * Uninstall the DCAE service and remove all associated data from the orchestrator.
	 * 
	 * @param deploymentId
	 * 		Unique deployment identifier assigned by the API client.
	 * 
	 */
	public void deleteDeployment(String deploymentId, String tenant) throws BadRequestException, 
															ServerErrorException,
															DownstreamException, 
															DeploymentNotFoundException;
}