diff options
12 files changed, 44 insertions, 1753 deletions
diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/CachedDataSourceFactory.java b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/CachedDataSourceFactory.java index 296fe70f..15aa7a1d 100644 --- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/CachedDataSourceFactory.java +++ b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/CachedDataSourceFactory.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2016 - 2017 ONAP * ================================================================================ + * Modifications Copyright (C) 2018 IBM. + * ================================================================================ * 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 @@ -38,7 +40,7 @@ public class CachedDataSourceFactory { if(config instanceof JDBCConfiguration) return JdbcDBCachedDataSource.createInstance(config); - return (CachedDataSource)null; + return null; } } diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBResourceManager.java b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBResourceManager.java index 9acae340..047fa297 100755 --- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBResourceManager.java +++ b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBResourceManager.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2016 - 2017 ONAP * ================================================================================ + * Modifications Copyright (C) 2018 IBM. + * ================================================================================ * 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 @@ -68,7 +70,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb transient protected long retryInterval = 10000L; transient boolean recoveryMode = true; - SortedSet<CachedDataSource> dsQueue = new ConcurrentSkipListSet<CachedDataSource>(new DataSourceComparator()); + SortedSet<CachedDataSource> dsQueue = new ConcurrentSkipListSet<>(new DataSourceComparator()); protected final Set<CachedDataSource> broken = Collections.synchronizedSet(new HashSet<CachedDataSource>()); protected final Object monitor = new Object(); protected final Properties configProps; @@ -80,6 +82,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb protected final long monitoringInitialDelay; protected final long expectedCompletionTime; protected final long unprocessedFailoverThreshold; + private static final String LOGGER_ALARM_MSG="Generated alarm: DBResourceManager.getData - No active DB connection pools are available."; public DBResourceManager(final DBLIBResourceProvider configuration) { this(configuration.getProperties()); @@ -393,7 +396,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb // test if there are any connection pools available if(this.dsQueue.isEmpty()){ - LOGGER.error("Generated alarm: DBResourceManager.getData - No active DB connection pools are available."); + LOGGER.error(LOGGER_ALARM_MSG); throw new DBLibException("No active DB connection pools are available in RequestDataWithRecovery call."); } @@ -457,7 +460,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb private CachedRowSet requestDataNoRecovery(String statement, ArrayList<Object> arguments, String preferredDS) throws SQLException { if(dsQueue.isEmpty()){ - LOGGER.error("Generated alarm: DBResourceManager.getData - No active DB connection pools are available."); + LOGGER.error(LOGGER_ALARM_MSG); throw new DBLibException("No active DB connection pools are available in RequestDataNoRecovery call."); } CachedDataSource active = this.dsQueue.first(); @@ -533,7 +536,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb private boolean writeDataNoRecovery(String statement, ArrayList<Object> arguments, String preferredDS) throws SQLException { if(dsQueue.isEmpty()){ - LOGGER.error("Generated alarm: DBResourceManager.getData - No active DB connection pools are available."); + LOGGER.error(LOGGER_ALARM_MSG); throw new DBLibException("No active DB connection pools are available in RequestDataNoRecovery call."); } diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/config/DbConfigPool.java b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/config/DbConfigPool.java index 21fdab24..fb94ea0e 100644 --- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/config/DbConfigPool.java +++ b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/config/DbConfigPool.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2016 - 2017 ONAP * ================================================================================ + * Modifications Copyright (C) 2018 IBM. + * ================================================================================ * 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 @@ -30,7 +32,7 @@ public class DbConfigPool { private final String type; - private ArrayList<BaseDBConfiguration> configurations = new ArrayList<BaseDBConfiguration>(); + private ArrayList<BaseDBConfiguration> configurations = new ArrayList<>(); public DbConfigPool(Properties properties) { LOGGER.debug("Initializing DbConfigType"); @@ -38,7 +40,6 @@ public class DbConfigPool { } public int getTimeout() { - // TODO Auto-generated method stub return 0; } diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/factory/DBConfigFactory.java b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/factory/DBConfigFactory.java index c3503576..1aa90783 100644 --- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/factory/DBConfigFactory.java +++ b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/factory/DBConfigFactory.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2016 - 2017 ONAP * ================================================================================ + * Modifications Copyright (C) 2018 IBM. + * ================================================================================ * 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 @@ -44,7 +46,7 @@ public class DBConfigFactory { static DbConfigPool getConfigparams(Properties properties) { DbConfigPool xmlConfig = new DbConfigPool(properties); - ArrayList<Properties> propertySets = new ArrayList<Properties>(); + ArrayList<Properties> propertySets = new ArrayList<>(); if ("JDBC".equalsIgnoreCase(xmlConfig.getType())) { String hosts = properties.getProperty(BaseDBConfiguration.DATABASE_HOSTS); diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/pm/PollingWorker.java b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/pm/PollingWorker.java index 4bfa058a..b44e2f89 100644 --- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/pm/PollingWorker.java +++ b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/pm/PollingWorker.java @@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicLong; public class PollingWorker implements Runnable { - private Logger LOGGER = LoggerFactory.getLogger(PollingWorker.class); + private Logger logger = LoggerFactory.getLogger(PollingWorker.class); private static PollingWorker self = null; @@ -47,17 +47,6 @@ public class PollingWorker implements Runnable { private static boolean enabled = false; private Timer timer = null; - public static void post(long starttime){ - PollingWorker temp = self; - if(temp != null && enabled) { - temp.register(new TestSample(starttime)); - } - } - - public static void createInistance(Properties props){ - self = new PollingWorker(props); - } - private PollingWorker(Properties ctxprops){ if(ctxprops==null || ctxprops.getProperty("org.onap.ccsdk.dblib.pm") == null){ enabled = false; @@ -89,6 +78,18 @@ public class PollingWorker implements Runnable { timer.schedule(new MyTimerTask(), interval*1000L, interval*1000L); } } + public static void post(long starttime){ + PollingWorker temp = self; + if(temp != null && enabled) { + temp.register(new TestSample(starttime)); + } + } + + public static void createInistance(Properties props){ + self = new PollingWorker(props); + } + + private void register(TestSample object){ try { @@ -113,12 +114,14 @@ public class PollingWorker implements Runnable { consume((TestSample)next); } else { System.out.println(next.getClass().getName()); + logger.error(next.getClass().getName()); } } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); + } } @@ -146,7 +149,7 @@ public class PollingWorker implements Runnable { } sb.append(tmp2[i].get()).append("\t"); } - LOGGER.info(sb.toString()); + logger.info(sb.toString()); } class MyTimerTask extends TimerTask{ diff --git a/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/LogFilter.java b/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/LogFilter.java index d7a599cb..4481ab90 100644 --- a/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/LogFilter.java +++ b/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/LogFilter.java @@ -5,6 +5,8 @@ * Copyright (C) 2017 AT&T Intellectual Property. All rights * reserved. * ================================================================================ + * Modifications Copyright (C) 2018 IBM. + * ================================================================================ * 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 @@ -84,6 +86,7 @@ public class LogFilter implements Filter { private static final Logger AUDIT = LoggerFactory.getLogger("org.onap.ccsdk.sli.core.filters.audit"); @Override public void destroy() { + // this method does nothing } @Override @@ -111,6 +114,7 @@ public class LogFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { + // this method does nothing } @@ -134,11 +138,7 @@ public class LogFilter implements Filter { String userName="unknown"; - /* below returning org.opendaylight.aaa.shiro.realm.TokenAuthRealm$ODLPrincipal@745dfcfe - if ( request.getUserPrincipal() != null) { - userName = request.getUserPrincipal().getName(); - } - */ + // going directly after Authorization header if (request.getHeader("Authorization") != null) { String authzHeader = request.getHeader("Authorization"); @@ -164,12 +164,8 @@ public class LogFilter implements Filter { private void post(HttpServletRequest request,HttpServletResponse response,long startTime) { - //AUDIT.info("{}|{}|{}{}",request.getRemoteHost(),request.getMethod(),request.getRequestURL().toString(),request.getQueryString()); - //AUDIT.info(request.getRemoteHost() + D + request.getMethod() + D + request.getRequestURL().toString() + D + request.getQueryString()); - //METRIC.info(request.getMethod() + D + response.getStatus() + D + request.getRequestURL().toString() + D + (System.currentTimeMillis() - startTime) + " ms"); MDC.put(BEGIN_TIMESTAMP,asIso8601(startTime)); MDC.put(END_TIMESTAMP,asIso8601(System.currentTimeMillis())); - //MDC.put(REQUEST_ID,"already done above"); MDC.put(SERVICE_NAME,request.getRequestURL().toString()); int idx = request.getPathInfo().lastIndexOf(':'); String instance = ""; @@ -179,7 +175,6 @@ public class LogFilter implements Filter { MDC.put(SERVICE_INSTANCE,instance); MDC.put(THREAD_ID,""); MDC.put(PHYSICAL_SERVER_NAME,""); - //MDC.put(PARTNER_NAME,"already done above"); if ( response.getStatus() >= 400 ) { MDC.put(STATUS_CODE,"ERROR"); } else { diff --git a/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/RequestResponseLoggingFilter.java b/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/RequestResponseLoggingFilter.java index f5510b9a..7b48a236 100644 --- a/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/RequestResponseLoggingFilter.java +++ b/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/RequestResponseLoggingFilter.java @@ -5,6 +5,8 @@ * Copyright (C) 2017 AT&T Intellectual Property. All rights * reserved. * ================================================================================ + * Modifications Copyright (C) 2018 IBM. + * ================================================================================ * 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 @@ -70,7 +72,7 @@ public class RequestResponseLoggingFilter implements Filter { @Override public void setWriteListener(WriteListener arg0) { - + //this method does nothing } } @@ -131,7 +133,7 @@ public class RequestResponseLoggingFilter implements Filter { @Override public void setReadListener(ReadListener arg0) { - + // this method does nothing } } @@ -151,7 +153,7 @@ public class RequestResponseLoggingFilter implements Filter { InputStream is = req.getInputStream(); baos = new ByteArrayOutputStream(); - byte buf[] = new byte[1024]; + byte[] buf = new byte[1024]; int letti; while ((letti = is.read(buf)) > 0) { baos.write(buf, 0, letti); @@ -180,6 +182,7 @@ public class RequestResponseLoggingFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { + //this method does nothing } @Override @@ -259,6 +262,7 @@ public class RequestResponseLoggingFilter implements Filter { @Override public void destroy() { + //this method does nothing } private String decompressGZIPByteArray(byte[] bytes) { diff --git a/sli/common/src/main/resources/crAseNetwork.sql b/sli/common/src/main/resources/crAseNetwork.sql deleted file mode 100644 index 83f1dfc8..00000000 --- a/sli/common/src/main/resources/crAseNetwork.sql +++ /dev/null @@ -1,82 +0,0 @@ ---- --- ============LICENSE_START======================================================= --- ONAP : CCSDK --- ================================================================================ --- 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========================================================= ---- - -CREATE TABLE sdnctl.ASE ( - ase_network_id INT NOT NULL, - topology VARCHAR(25), - CONSTRAINT P_ASE PRIMARY KEY(ase_network_id)); - -CREATE TABLE sdnctl.ASE_PORT ( - esm_name VARCHAR(25), - resource_emt_clli VARCHAR(25) NOT NULL, - resource_emt_ip_addr VARCHAR(25) NOT NULL, - port_action VARCHAR(25), - profile VARCHAR(25) , - port VARCHAR(15) NOT NULL, - state VARCHAR(25), - resource_mode VARCHAR(25), - speed INT, - resource_lldp VARCHAR(1), - resource_mtu VARCHAR(5), - resource_autoneg VARCHAR(10), - resource_twamp VARCHAR(10), - resource_description VARCHAR(80), - uni_circuit_id VARCHAR(45), - CONSTRAINT P_ASE_PORT PRIMARY KEY(resource_emt_clli, port)); - -CREATE TABLE sdnctl.ASE_EVC ( - esm_name VARCHAR(25), - emt_ip_addr VARCHAR(25) NOT NULL, - evc_action VARCHAR(25), - service_id VARCHAR(25), - serv_type VARCHAR(25), - evc_choice VARCHAR(25), - uni_port VARCHAR(25) NOT NULL, - lag_port VARCHAR(25), - mac_onoff VARCHAR(25), - ppcos VARCHAR(25), - cir VARCHAR(25), - cbs VARCHAR(25), - ebs VARCHAR(25), - sgos VARCHAR(25), - pe VARCHAR(25), - unit VARCHAR(25), - qinq VARCHAR(25), - interface VARCHAR(25), - evc_description VARCHAR(80), - bandwidth VARCHAR(10), - svlan VARCHAR(5), - cvlan VARCHAR(5), - routing_instance VARCHAR(25), - rd VARCHAR(25), - rt VARCHAR(25), - evc_limit VARCHAR(25), - label_block_size VARCHAR(25), - site VARCHAR(25), - int_mac_limit VARCHAR(5), - sgos_grade VARCHAR(25), - bum_rate VARCHAR(25), - uni_circuit_id VARCHAR(45), - leg INT, - CONSTRAINT P_ASE_EVC PRIMARY KEY(emt_ip_addr, uni_port,leg)); - - - diff --git a/sli/common/src/main/yang/ase-network.yang b/sli/common/src/main/yang/ase-network.yang deleted file mode 100755 index ae654ae0..00000000 --- a/sli/common/src/main/yang/ase-network.yang +++ /dev/null @@ -1,179 +0,0 @@ -module ase { - namespace "att:ase"; - prefix ase; - revision "2014-06-03" { - description "Example ASE Network Module"; - } - - container ase { - config true; - leaf ase-network-id{ - type uint32; - } - leaf topology { - type string ; // check enum - } - } - - container ase-port { - config true; - // is this really a list of cpe ports one for each uni-ckt - leaf esm-name { - type string; - } - - leaf resource-emt-clli { - type string; - } - - leaf resource-emt-ip-addr{ - type string; - } - leaf port-action { - type string; - } - leaf profile { - type string; - } - leaf port { - type string; - } - leaf state { - type string; - } - leaf resource-mode { - type string; - } - leaf speed { - type string; - } - leaf resource-lldp { - type string; - } - leaf resource-mtu { - type string; - } - leaf resource-autoneg{ - type string; - } - leaf resource-twamp { - type string; - } - leaf resource-description { - type string; - } - leaf uni-circuit-id { - type string; - } - } // ase-port container - - container ase-evc { -// Port contains a list of EVC -// EVCs are either point to point or multipoint (topology) -// EVCs are connected ? what ID is used to connected them ? (network-id) ? - config true; - leaf esm-name { - type string; - } - leaf emt-ip-addr { - type string; - } - leaf evc-action { - type string; - } - leaf service-id { - type string; - } - - leaf serv-type { - type string; - } - leaf evc-choice { - type string; - } - leaf uni-port { - type string; - } - leaf lag-port { - type string; - } - leaf mac-onoff { - type string; - } - - leaf ppcos { - type string; - } - leaf cir { - type string; - } - leaf cbs { - type string; - } - leaf ebs { - type string; - } - leaf sgos { - type string; - } -// ipag Device Data - leaf pe { - type string; - } - leaf unit { - type string; - } - leaf qinq { - type string; - } - leaf interface { - type string; - } - leaf evc-description { - type string; - } - leaf bandwidth { - type string; - } - leaf svlan { - type string; - description "Service VLAN is either outer tag or only tag depending on QinQ"; - } - leaf cvlan { - type string; - description "Customer VLAN is null if not QinQ"; - } - leaf routing-instance { - type string; - } - leaf rd { - type string; - } - leaf rt { - type string; - } - leaf limit { - type string; - } - leaf label-block-size { - type string; - } - leaf site { - type string; - } - leaf int-mac-limit { - type string; - } - leaf sgos-grade { - type string; - } - leaf bum-rate { - type string; - } - leaf uni-circuit-id { - type string; - } - } // ase-evc container - -} // module ase-network - diff --git a/sli/common/src/main/yang/ase-type.yang b/sli/common/src/main/yang/ase-type.yang deleted file mode 100755 index 2de186e6..00000000 --- a/sli/common/src/main/yang/ase-type.yang +++ /dev/null @@ -1,561 +0,0 @@ -module ase-type { - - namespace "att:ase:type"; - prefix ase-type; - - organization "AT&T ASE"; - - revision 2014-06-09 { - description - "Initial version"; - } - - ///////////////////////////////////////////////////// - // ASE Service Model Typedefs & Groupings - ///////////////////////////////////////////////////// - - typedef query-type { - type enumeration { - enum getDevicePortDetails{ - value 0; - } - enum GetServiceDetailsRequest{ - value 1; - } - } - } - - typedef uni-action-type { - type enumeration { - enum PortPreReserveRequest{ - value 0; - } - enum PortReleaseRequest{ - value 1; - } - enum PortDeProvRequest{ - value 2; - } - enum ChangePortProvRequest{ - value 3; - } - enum PortActivateRequest{ - value 4; - } - enum ChangePortActivateRequest{ - value 5; - } - enum DisconnectPortRequest{ - value 6; - } - enum getDevicePortDetails{ - value 7; - } - } - } - - typedef evc-action-type { - type enumeration { - enum ConnectionProvRequest{ - value 0; - } - enum ChangeConnectionProvRequest{ - value 1; - } - enum ConnectionDeProvrequest{ - value 2; - } - enum ConnectionActivateRequest{ - value 3; - } - enum ChangeConnectionActivateRequest{ - value 4; - } - enum DisconnectConnectionRequest{ - value 5; - } - enum GetServiceDetailsRequest{ - value 6; - } - } - } - - typedef evc-gos-type { - type enumeration { - enum "REAL-TIME"{ - value 0; - } - enum "INTERACTIVE"{ - value 1; - } - enum "BUSINESS-CRITICAL-HIGH"{ - value 2; - } - enum "BUSINESS-CRITICAL-MEDIUM"{ - value 3; - } - enum "NON-CRITICAL-HIGH"{ - value 4; - } - enum "NON-CRITICAL-LOW"{ - value 5; - } - } - } - - typedef cir-rate-type { - type enumeration { - enum "Mbps"{ - value 0; - } - enum "Gbps"{ - value 1; - } - } - } - - typedef ase-yes-no-type { - type enumeration { - enum "Y"{ - value 0; - } - enum "N"{ - value 1; - } - } - } - - typedef provisioning-indicator { - type enumeration { - enum "Y"{ - value 0; - } - enum "N"{ - value 1; - } - } - } - - typedef media-type { - type enumeration { - enum "SFP-1GE-SX"{ - value 0; - } - enum "SFP-1GE-LX"{ - value 1; - } - enum "SFP-1GE"{ - value 2; - } - enum "Ethernet-10_100_1000M"{ - value 3; - } - } - } - - typedef media-speed-type { - type enumeration { - enum "100"{ - value 0; - } - enum "1000"{ - value 1; - } - enum "10000"{ - value 2; - } - } - } - - typedef cos-category-type { - type enumeration { - enum "GOS"{ - value 0; - } - enum "PPCOS"{ - value 1; - } - } - } - - typedef uni-gos-type { - type enumeration { - enum "INTERACTIVE"{ - value 0; - } - enum "BUSINESS-CRITICAL-HIGH"{ - value 1; - } - enum "BUSINESS-CRITICAL-MEDIUM"{ - value 2; - } - enum "NON-CRITICAL-HIGH"{ - value 3; - } - } - } - - typedef uni-cir-value-type { - type enumeration { - enum "2"{ - value 0; - } - enum "4"{ - value 1; - } - enum "5"{ - value 2; - } - enum "8"{ - value 3; - } - enum "10"{ - value 4; - } - enum "20"{ - value 5; - } - enum "30"{ - value 6; - } - enum "40"{ - value 7; - } - enum "50"{ - value 8; - } - enum "60"{ - value 9; - } - enum "70"{ - value 10; - } - enum "80"{ - value 11; - } - enum "90"{ - value 12; - } - enum "100"{ - value 13; - } - enum "125"{ - value 14; - } - enum "150"{ - value 15; - } - enum "175"{ - value 16; - } - enum "200"{ - value 17; - } - enum "225"{ - value 18; - } - enum "250"{ - value 19; - } - } - } - - typedef uni-mac-limit-type { - description "MAC address limit for UNI port"; - type enumeration { - enum "Y"{ - value 0; - } - enum "N"{ - value 1; - } - } - } - - typedef port-tagging-type { - type enumeration { - enum "port-based"{ - value 0; - } - enum "vlan-based"{ - value 1; - } - } - } - - typedef port-status { - type enumeration { - enum "Available"{ - value 0; - } - enum "Reserved"{ - value 1; - } - enum "Active" { - value 2; - } - } - } - - grouping uni-common-request-hdr { - leaf request-id { - type string; - mandatory true; - } - leaf source { - description "The source system requesting action or info"; - type string; - mandatory true; - } - leaf request-action { - description "action indicator for this service instance"; - type uni-action-type; - } - leaf undo-indicator { - type provisioning-indicator; - } - leaf notification-url { - description "When this field exists, NCS will return an " - + "acknowledgement that the request is legal " - + "Once the activate is finished (or fails) NCS" - + "will utilize the URL to indicate the status"; - type string; - } - } - - grouping uni-common-return-hdr { - leaf request-action { - description "action indicator for this service instance"; - type uni-action-type; - } - leaf request-id { - description "Identifier for the request from NGO"; - type string; - - } - } - - grouping uni-common-error-format { - leaf error-code { - description "Error code"; - type int32; - } - leaf error-message { - description "Error text describing the API error occurance"; - type string; - } - } - - grouping query-common-hdr { - leaf request-id { - description "Identifier for the request from NGO"; - type string; - } - leaf request-type { - description "action indicator for this service instance"; - type query-type; - } - } - - grouping query-error-format { - leaf error-code { - description "Error code"; - type int32; - } - leaf error-message { - description "Error text describing the API error occurance"; - type string; - } - } - - grouping evc-common-request-hdr { - leaf request-id { - description "Identifier for the request from NGO"; - type string; - } - leaf source { - description "The source system requesting action or info"; - type string; - mandatory true; - } - leaf uni-order-number { - type string; - } - leaf request-action { - description "action indicator for this service instance"; - type evc-action-type; - mandatory true; - } - leaf undo-indicator { - type provisioning-indicator; - } - leaf notification-url { - description "When this field exists, NCS will return an " - + "acknowledgement that the request is legal " - + "Once the activate is finished (or fails) NCS" - + "will utilize the URL to indicate the status"; - type string; - } - leaf evc-name { - type string; - mandatory true; - } - } - - grouping evc-common-error-format { - leaf error-code { - description "Error code"; - type int32; - } - leaf error-message { - description "Error text describing the API error occurance"; - type string; - } - } - - ///////////////////////////////////////// - // UNI-PORTS table contains all circuits - ///////////////////////////////////////// - container uni-ports { - description - "UNI port container"; - list uni-port { - key "uni-circuit-id"; - leaf uni-circuit-id { - type string; - mandatory true; - } - leaf subscriber-name { - type string; - mandatory true; - } - leaf uni-order-number { - type string; - mandatory true; - } - leaf edge-device-clli { - description "Edge device (e.g. EMT) on which port " - + " reservation is needed"; - type string; - mandatory true; - } - leaf uni-location-city { - type string; - mandatory true; - } - leaf uni-location-state { - type string; - mandatory true; - } - leaf media-type { - type media-type; - mandatory true; - } - leaf media-speed { - type media-speed-type; - mandatory true; - } - leaf uni-cir-value { - description "Integer value for the CIR"; - type uni-cir-value-type; - mandatory true; - } - leaf uni-cir-units { - description "Units for the CIR"; - type cir-rate-type; - mandatory true; - } - leaf cos-category { - description "CoS Type"; - type cos-category-type; - mandatory true; - } - leaf gos-profile { - description "GoS tpye"; - type uni-gos-type; - mandatory true; - } - leaf aditional-mac-allowed { - type uni-mac-limit-type; - } - leaf port-tagging { - type port-tagging-type; - mandatory true; - } - leaf port-status { - type port-status; - } - leaf name-value-pair { - type string; - } - } - } - - /////////////////////////////////////////// - // EVCS table contains all evc associations - /////////////////////////////////////////// - container evcs { - list evc { - key "evc-name"; - leaf evc-name { - type string; - mandatory true; - } - leaf topology { - type enumeration { - enum "MultiPoint"{ - value 0; - } - enum "PointToPoint"{ - value 1; - } - } - } - list evc-leg { - key evc-access-name; - leaf evc-access-name { - type string; - } - leaf subscriber-name { - type string; - } - leaf cvlan { - type uint16 { - range "2..4090"; - } - } - leaf connection-cir-value { - type uni-cir-value-type; - } - leaf connection-cir-units-string { - type cir-rate-type; - } - leaf connection-gos-profile { - type evc-gos-type; - } - leaf connection-additional-mac-allowed { - type uni-mac-limit-type; - } - leaf connection-emc-indicator { - type enumeration { - enum "Y"{ - value 0; - } - enum "N"{ - value 1; - } - } - } - leaf connection-emc-speed-value { - type uni-cir-value-type; - } - leaf connection-emc-speed-units-string { - type cir-rate-type; - } - } - leaf name-value-pair { - type string; - } - } - } -} diff --git a/sli/common/src/main/yang/ase.yang b/sli/common/src/main/yang/ase.yang deleted file mode 100755 index 0b36a561..00000000 --- a/sli/common/src/main/yang/ase.yang +++ /dev/null @@ -1,558 +0,0 @@ -module ase { - - namespace "att:ase"; - prefix ase; - - import ase-type {prefix ase-type; revision-date "2014-06-09";} - - organization "AT&T ASE"; - - description - "This submodule contains a collection of YANG definitions for - defining the ASE service model(s) for UNI and EVC"; - - revision 2014-03-27 { - description - "Additional detail for UNI and EVC API"; - } - revision 2014-03-18 { - description - "Initial version"; - } - - - ///////////////////////////////////////////////////// - // ASE Query Actions - ///////////////////////////////////////////////////// - - //// - // Port Reserve Request - //// - rpc ase-port-reserve { - input { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - mandatory true; - } - leaf edge-device-clli { - description "Edge device (e.g. EMT) on which port " - + " reservation is needed"; - type string; - mandatory true; - } - leaf uni-cir-value { - description "Integer value for the CIR"; - type ase-type:uni-cir-value-type; - mandatory true; - } - leaf uni-cir-units { - description "Units for the CIR"; - type ase-type:cir-rate-type; - mandatory true; - } - } - output { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - } - leaf uni-port-id { - description "Allocated UNI port id"; - type string; - } - - uses ase-type:uni-common-error-format; - } - } - - //// - // Release Port Request - //// - rpc ase-release-port-request { - input { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - mandatory true; - } - } - output { - uses ase-type:uni-common-return-hdr; - uses ase-type:uni-common-error-format; - } - } - - //// - // Port Provisioning Request - //// - rpc ase-port-prov-request { - input { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - mandatory true; - } - leaf subscriber-name { - type string; - mandatory true; - } - leaf uni-order-number { - type string; - mandatory true; - } - leaf edge-device-clli { - description "Edge device (e.g. EMT) on which port " - + " reservation is needed"; - type string; - mandatory true; - } - leaf uni-location-city { - type string; - mandatory true; - } - leaf uni-location-state { - type string; - mandatory true; - } - leaf media-type { - type ase-type:media-type; - mandatory true; - } - leaf media-speed { - type ase-type:media-speed-type; - mandatory true; - } - leaf uni-cir-value { - description "Integer value for the CIR"; - type ase-type:uni-cir-value-type; - mandatory true; - } - leaf uni-cir-units { - description "Units for the CIR"; - type ase-type:cir-rate-type; - mandatory true; - } - leaf cos-category { - description "CoS Type"; - type ase-type:cos-category-type; - mandatory true; - } - leaf gos-profile { - description "GoS tpye"; - type ase-type:uni-gos-type; - mandatory true; - } - leaf aditional-mac-allowed { - type ase-type:uni-mac-limit-type; - } - leaf port-tagging { - type ase-type:port-tagging-type; - mandatory true; - } - leaf name-value-pair { - type string; - } - } - output { - uses ase-type:uni-common-return-hdr; - uses ase-type:uni-common-error-format; - } - } - - //// - // Deprovisioning Port Request - //// - rpc ase-deprov-port-request { - input { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - mandatory true; - } - } - output { - uses ase-type:uni-common-error-format; - } - } - - //// - // Change Port Provisioning Request - //// - rpc ase-change-port-prov-request { - input { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - mandatory true; - } - leaf subscriber-name { - type string; - } - leaf media-speed { - type ase-type:media-speed-type; - } - leaf uni-cir-value { - description "Integer value for the CIR"; - type ase-type:uni-cir-value-type; - } - leaf uni-cir-units { - description "Units for the CIR"; - type ase-type:cir-rate-type; - } - leaf cos-catagory { - type ase-type:cos-category-type; - } - leaf gos-profile { - type ase-type:uni-gos-type; - } - leaf additional-mac-allowed { - type ase-type:uni-mac-limit-type; - } - leaf port-tagging { - type ase-type:port-tagging-type; - mandatory true; - } - leaf name-value-pair { - type string; - } - } - output { - uses ase-type:uni-common-error-format; - } - } - - //// - // Port Activate Request - //// - rpc ase-port-activate-request { - input { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - mandatory true; - } - } - output { - uses ase-type:uni-common-error-format; - } - } - - //// - // Port Change Activation Request - //// - rpc ase-change-port-activation-request { - input { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - mandatory true; - } - } - output { - uses ase-type:uni-common-error-format; - } - } - - //// - // Port Disconnect Request - //// - rpc ase-port-disconnect-request { - input { - uses ase-type:uni-common-request-hdr; - - leaf uni-circuit-id { - type string; - mandatory true; - } - } - output { - uses ase-type:uni-common-error-format; - } - } - - ///////////////////////////////////////////////////// - // EVC API - ///////////////////////////////////////////////////// - - //// - // EVC Provision Request - //// - rpc ase-evc-activation { - input { - uses ase-type:evc-common-request-hdr; - leaf topology { - type enumeration { - enum "MultiPoint"{ - value 0; - } - enum "PointToPoint"{ - value 1; - } - } - } - list evc-leg { - key evc-access-name; - leaf evc-access-name { - type string; - } - leaf subscriber-name { - type string; - } - leaf cvlan { - type uint16 { - range "2..4090"; - } - } - leaf connection-cir-value { - type ase-type:uni-cir-value-type; - } - leaf connection-cir-units-string { - type ase-type:cir-rate-type; - } - leaf connection-gos-profile { - type ase-type:evc-gos-type; - } - leaf connection-additional-mac-allowed { - type ase-type:uni-mac-limit-type; - } - leaf connection-emc-indicator { - type enumeration { - enum "Y"{ - value 0; - } - enum "N"{ - value 1; - } - } - } - leaf connection-emc-speed-value { - type ase-type:uni-cir-value-type; - } - leaf connection-emc-speed-units-string { - type ase-type:cir-rate-type; - } - } - leaf name-value-pair { - type string; - } - } - output { - uses ase-type:evc-common-error-format; - } - } - - //// - // EVC Change Activation Request - //// - rpc ase-evc-change-activation { - input { - uses ase-type:evc-common-request-hdr; - leaf topology { - type enumeration { - enum "MultiPoint"{ - value 0; - } - enum "PointToPoint"{ - value 1; - } - } - } - list evc-leg { - key evc-access-name; - leaf evc-access-name { - type string; - } - leaf connection-cir-value { - type ase-type:uni-cir-value-type; - } - leaf connection-cir-units-string { - type ase-type:cir-rate-type; - } - leaf connection-gos-profile { - type ase-type:evc-gos-type; - } - leaf connection-additional-mac-allowed { - type ase-type:uni-mac-limit-type; - } - - } - leaf name-value-pair { - type string; - } - - } - output { - uses ase-type:evc-common-error-format; - } - } - - //// - // EVC Disconnet Connection Request - //// - rpc ase-evc-disconnect-request { - input { - uses ase-type:evc-common-request-hdr; - leaf topology { - type enumeration { - enum "MultiPoint"{ - value 0; - } - enum "PointToPoint"{ - value 1; - } - } - } - list evc-leg { - key evc-access-name; - leaf evc-access-name { - type string; - } - } - leaf name-value-pair { - type string; - } - - } - output { - uses ase-type:evc-common-error-format; - } - } - - ///////////////////////////////////////////////////// - // ASE Query Actions - ///////////////////////////////////////////////////// - - rpc find-available-ports { - description "Return a count of available ports"; - input { - uses ase-type:query-common-hdr; - leaf edge-device-clli { - type string; - mandatory true; - } - - leaf port-role { - type enumeration { - enum "NETWORK"{ - value 0; - } - enum "ACCESS"{ - value 1; - } - enum "SDN-ACCESS"{ - value 2; - } - } - mandatory true; - } - leaf port-assigned { - type string; - } - } - output { - uses ase-type:query-common-hdr; - container statuss { - leaf edge-device-clli { - type string; - } - container max-cir { - leaf cir-value { - type uint16; - } - leaf cir-type { - type ase-type:cir-rate-type; - } - } - leaf if-count { - type uint16; - } - } - uses ase-type:query-error-format; - } - } - - rpc find-evcs-in-uni { - description "Return EVC instances for a specified UNI"; - input { - uses ase-type:query-common-hdr; - - leaf uni-circuit-id { - type string; //leafref - } - leaf edge-device-clli { - description "Edge device (e.g. EMT) on which port " - + " reservation is needed"; - type string; - } - } - output { - uses ase-type:query-common-hdr; - - leaf uni-leg-name { - description "NGO-proivded named"; - type string; - } - uses ase-type:query-error-format; - } - } - - rpc find-service-details { - description "Return EVC instances for a specified UNI"; - input { - uses ase-type:query-common-hdr; - leaf uni-circuit-id { - type string; //leafref - } - leaf source { - type string; - mandatory true; - } - leaf service-name { - type string; - mandatory true; - } - leaf service-type { - type string; - mandatory true; - } - } - output { - uses ase-type:query-common-hdr; - - leaf service-name { - type string; - mandatory true; - } - leaf service-type { - type string; - mandatory true; - } - leaf service-state { - type enumeration { - enum "Active"{ - value 0; - } - enum "NotActive"{ - value 1; - } - } - } - leaf has-pending-change { - type ase-type:ase-yes-no-type; - } - leaf allowed-connection-count { - type int16; - } - uses ase-type:query-error-format; - } - } -} //module diff --git a/sli/common/src/test/resources/svclogic.xsd b/sli/common/src/test/resources/svclogic.xsd deleted file mode 100755 index 3e109c7c..00000000 --- a/sli/common/src/test/resources/svclogic.xsd +++ /dev/null @@ -1,339 +0,0 @@ -<?xml version = "1.0" encoding = "UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.onap.org/sdnc/svclogic" xmlns="http://www.onap.org/sdnc/svclogic">
-
- <xsd:simpleType name="modeType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="sync" />
- <xsd:enumeration value="async" />
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:group name="node">
- <xsd:choice>
- <xsd:element ref="block" />
- <xsd:element ref="is-available" />
- <xsd:element ref="exists" />
- <xsd:element ref="reserve" />
- <xsd:element ref="release" />
- <xsd:element ref="allocate" />
- <xsd:element ref="get-resource" />
- <xsd:element ref="configure" />
- <xsd:element ref="return" />
- <xsd:element ref="switch" />
- <xsd:element ref="record" />
- <xsd:element ref="save" />
- <xsd:element ref="for" />
- <xsd:element ref="set" />
- <xsd:element ref="execute" />
- <xsd:element ref="delete" />
- <xsd:element ref="update" />
- <xsd:element ref="call" />
- <xsd:element ref="notify" />
- <xsd:element ref="break" />
- <xsd:element ref="while" />
- <xsd:element ref="exit" />
- </xsd:choice>
- </xsd:group>
-
- <xsd:element name="service-logic">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="method" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="module" use="required" type="xsd:string" />
- <xsd:attribute name="version" use="required" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="method">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="rpc" use="required" type="xsd:string" />
- <xsd:attribute name="mode" use="optional" type="modeType" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="block">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="is-available">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="pfx" use="optional" type="xsd:string" />
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="exists">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="pfx" use="optional" type="xsd:string" />
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="required" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="outcome">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="ref" use="optional" type="xsd:string" />
- <xsd:attribute name="value" use="required" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="reserve">
- <xsd:complexType>
- <xsd:sequence>
- <!-- This node does not actually read from parameters -->
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="optional" type="xsd:string" />
- <xsd:attribute name="select" use="optional" type="xsd:string" />
- <xsd:attribute name="pfx" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="release">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="optional" type="xsd:string" />
- <xsd:attribute name="pfx" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="record">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="allocate">
- <xsd:complexType>
- <xsd:sequence>
- <!-- This node does not actually read from parameters -->
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="required" type="xsd:string" />
- <xsd:attribute name="pfx" use="required" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="get-resource">
- <xsd:complexType>
- <xsd:sequence>
- <!-- This node does not actually read from parameters -->
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="optional" type="xsd:string" />
- <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
- <xsd:attribute name="order-by" use="optional" type="xsd:string" />
- <xsd:attribute name="pfx" use="optional" type="xsd:string" />
- <!-- force is retired and does not do anything -->
- <xsd:attribute name="force" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="configure">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="adaptor" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="required" type="xsd:string" />
- <xsd:attribute name="activate" use="optional" type="xsd:boolean" />
- </xsd:complexType>
- </xsd:element>
-
-
- <xsd:element name="parameter">
- <xsd:complexType>
- <xsd:attribute name="name" use="required" type="xsd:string" />
- <xsd:attribute name="value" use="required" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
-
- <xsd:element name="return">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="status" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="switch">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="test" use="required" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="save">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="optional" type="xsd:string" />
- <xsd:attribute name="force" use="optional" type="xsd:boolean" />
- <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
- <xsd:attribute name="pfx" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="delete">
- <xsd:complexType>
- <xsd:sequence>
- <!-- This node does not actually read from parameters -->
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="optional" type="xsd:string" />
- <!-- force is retired and does not do anything -->
- <xsd:attribute name="force" use="optional" type="xsd:string" />
- <!-- local-only is retired and does not do anything -->
- <xsd:attribute name="local-only" use="optional" type="xsd:string" />
- <!-- pfx is retired and does not do anything -->
- <xsd:attribute name="pfx" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="for">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />
- <xsd:attribute name="index" use="required" type="xsd:string" />
- <xsd:attribute name="start" use="required" type="xsd:string" />
- <xsd:attribute name="end" use="required" type="xsd:string" />
- <xsd:attribute name="silentFailure" use="optional" type="xsd:boolean" default="false" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="set">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="only-if-unset" use="optional"
- type="xsd:boolean" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="execute">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="method" use="required" type="xsd:string" />
- <xsd:attribute name="emitsOutcome" use="optional" type="xsd:boolean" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="update">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="required" type="xsd:string" />
- <xsd:attribute name="resource" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="optional" type="xsd:string" />
- <xsd:attribute name="force" use="optional" type="xsd:boolean" />
- <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />
- <xsd:attribute name="pfx" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="call">
- <xsd:complexType>
- <xsd:sequence>
- <!-- This node does not actually read from parameters -->
- <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="module" use="optional" type="xsd:string" />
- <xsd:attribute name="rpc" use="required" type="xsd:string" />
- <xsd:attribute name="version" use="optional" type="xsd:string" />
- <xsd:attribute name="mode" use="required" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="notify">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="plugin" use="optional" type="xsd:string" />
- <xsd:attribute name="resource" use="optional" type="xsd:string" />
- <xsd:attribute name="action" use="required" type="xsd:string" />
- <xsd:attribute name="key" use="optional" type="xsd:string" />
- <!-- force is retired and does not do anything -->
- <xsd:attribute name="force" use="optional" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="break">
- <xsd:complexType />
- </xsd:element>
-
- <xsd:element name="exit">
- <xsd:complexType />
- </xsd:element>
-
- <xsd:element name="while">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:group ref="node" minOccurs="0" maxOccurs="100" />
- </xsd:sequence>
- <xsd:attribute name="test" use="required" type="xsd:string" />
- <xsd:attribute name="do" use="optional" type="xsd:boolean" />
- </xsd:complexType>
- </xsd:element>
-
-</xsd:schema>
|