Merge of new rebased code
[appc.git] / appc-adapters / appc-iaas-adapter / appc-iaas-adapter-bundle / src / main / java / org / openecomp / appc / adapter / iaas / provider / operation / api / IProviderOperation.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * openECOMP : APP-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                              reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.openecomp.appc.adapter.iaas.provider.operation.api;
23
24 import org.openecomp.appc.adapter.iaas.impl.ProviderCache;
25 import org.openecomp.appc.exceptions.APPCException;
26 import com.att.cdp.zones.model.ModelObject;
27 import org.openecomp.sdnc.sli.SvcLogicContext;
28
29 import java.util.Map;
30
31 /**
32  * @since September 26, 2016
33  */
34 public interface IProviderOperation {
35
36     /**
37      * perform specific provider operation
38      * @param params
39      * @param context
40      * @return Object represents Stack, Server Or Image
41      */
42     ModelObject doOperation(Map<String,String> params, SvcLogicContext context) throws APPCException;
43
44     /**
45      * sets a cache of providers that are predefined.
46      * @param providerCache
47      */
48     void setProviderCache(Map<String /* provider name */, ProviderCache> providerCache);
49
50     /**
51      * should be initialized by user
52      * @param defaultUser
53      */
54     void setDefaultUser(String defaultUser);
55
56     /**
57      * should be initialized by user
58      * @param defaultPass
59      */
60     void setDefaultPass(String defaultPass);
61 }