summaryrefslogtreecommitdiffstats
path: root/appc-adapters/appc-ansible-adapter/appc-ansible-example-server/README
blob: a7a1c20a0898878a7d27d88dc2157c2ac26babbd (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
'''
/*-
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property.  All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* =============================================================================
* 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.
* 
* ECOMP is a trademark and service mark of AT&T Intellectual Property.
* ============LICENSE_END=========================================================
*/
'''

============
NOTE:
============

the files have been moved to CCSDK/distribution/ansible-server Repo
t .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
<service-logic
    xmlns='http://www.onap.org/sdnc/svclogic'
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='A1-ADAPTER-API' version='${project.version}'>
    <method rpc='getPolicyInstance' mode='sync'>
        <block atomic='true'>
            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                <parameter name="level" value="info" />
                <parameter name="field1" value="Get Policy Instance details associated with Near RT RIC ID and Policy Type ID"/>
                <parameter name="field2" value="`$get-policy-instance-input.near-rt-ric-id`"/>
                <parameter name="field3" value="`$get-policy-instance-input.policy-type-id`"/>
                <parameter name="field4" value="`$get-policy-instance-input.policy-instance-id`"/>
            </record>
            <set>
                <parameter name='response-code' value='200' />
                <parameter name='response-message' value='getPolicyInstance executed successfully' />
            </set>
            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
                <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
                <parameter name='contextPrefix' value='prop' />
            </execute>
            <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
                <outcome value='true'>
                    <block atomic='true'>
                        <block atomic='true'>
                            <set>
                                <parameter name="tmp.near-rt-ric-id" value="`$get-policy-instance-input.near-rt-ric-id`"/>
                                <parameter name="tmp.policy-type-id" value="`$get-policy-instance-input.policy-type-id`"/>
                                <parameter name="tmp.policy-instance-id" value="`$get-policy-instance-input.policy-instance-id`"/>
                            </set>
                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                                <parameter name="level" value="info" />
                                <parameter name="field1" value="Setting variables for A1 Adapter Get Policy Instance."/>
                                <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
                                <parameter name="field3" value="`$tmp.policy-type-id`"/>
                                <parameter name="field4" value="`$tmp.policy-instance-id`"/>
                            </record>
                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                <parameter name="source" value="`$prop.restapi.policy`"/>
                                <parameter name="outputPath" value="tmp.restapi.policyinstance-url"/>
                                <parameter name="target" value="{policy_type_id}"/>
                                <parameter name="replacement" value="`$tmp.policy-type-id`"/>
                            </execute>
                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
                                <parameter name="source" value="`$tmp.restapi.policyinstance-url`"/>
                                <parameter name="outputPath" value="tmp.restapi.policyinstance-url"/>
                                <parameter name="target" value="{policy_instance_id}"/>
                                <parameter name="replacement" value="`$tmp.policy-instance-id`"/>
                            </execute>
                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                                <parameter name="level" value="info" />
                                <parameter name="field1" value="Setting variables for A1 Adapter Get Policy Instance."/>
                                <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
                                <parameter name="field3" value="`$tmp.policy-type-id`"/>
                                <parameter name="field4" value="`$tmp.policy-instance-id`"/>
                                <parameter name="field5" value="`$tmp.restapi.policyinstance-url`"/>
                            </record>
                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                <parameter name="restapiUrl" value="`$prop.a1Mediator.url + '/' + $tmp.restapi.policyinstance-url`"/>
                                <parameter name="format" value="json"/>
                                <parameter name="httpMethod" value="GET"/>
                                <parameter name="responsePrefix" value="a1MediatorRsp"/>
                                <parameter name='contentType' value='application/json' />
                                <parameter name='accept' value='application/json' />
                                <parameter name="convertResponse" value="true"/>
                                <outcome value='success'>
                                    <block>
                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                                            <parameter name="level" value="info" />
                                            <parameter name="field1" value="Details of A1 Policy Instance "/>
                                            <parameter name="field2" value="`$a1MediatorRsp`"/>
                                        </record>
                                    </block>
                                </outcome>
                                <outcome value='failure'>
                                    <block>
                                        <set>
                                            <parameter name='response-code' value='500'/>
                                            <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
                                        </set>
                                        <return status='failure'>
                                            <parameter name='ack-final' value='Y'/>
                                            <parameter name="response-code" value="500" />
                                            <parameter name="response-message" value="Error in Getting A1 Policy Instances. Aborting" />
                                        </return>
                                        <block atomic='true'>
                                            <set>
                                                <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstance'/>
                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
                                                <parameter name='tmp.a1Policy-dmaap-resp.payload' value="Working On it" />
                                            </set>
                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                                                <parameter name="level" value="info" />
                                                <parameter name="field1" value="__TIMESTAMP__"/>
                                                <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
                                                <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
                                                <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
                                                <parameter name='field5' value="Status Code and Status Value to be published" />
                                                <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
                                                <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
                                                <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
                                                <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
                                                <parameter name='field10' value="RPC Name" />
                                                <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
                                            </record>
                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
                                                <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
                                                <parameter name='format' value='json' />
                                                <parameter name='httpMethod' value='POST' />
                                                <parameter name='contentType' value='application/json' />
                                                <parameter name='responsePrefix' value='dmaap' />
                                                <outcome value='failure'>
                                                    <block>
                                                        <return status='failure'>
                                                            <parameter name='ack-final' value='Y'/>
                                                            <parameter name="response-code" value="500" />
                                                            <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
                                                        </return>
                                                    </block>
                                                </outcome>
                                                <outcome value='success'>
                                                    <block>
                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                                                            <parameter name="level" value="info" />
                                                            <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
                                                        </record>
                                                    </block>
                                                </outcome>
                                            </execute>
                                        </block>
                                    </block>
                                </outcome>
                            </execute>
                        </block>
                    </block>
                </outcome>
                <outcome value='false'>
                    <block>
                        <set>
                            <parameter name='response-code' value='500'/>
                            <parameter name='response-message' value='A1 Mediator Not Deployed'/>
                        </set>
                        <block atomic='true'>
                            <set>
                                <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstance'/>
                                <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
                                <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
                                <parameter name='tmp.a1Policy-dmaap-resp.payload' value="Working On it" />
                            </set>
                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                                <parameter name="level" value="info" />
                                <parameter name="field1" value="__TIMESTAMP__"/>
                                <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
                                <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
                                <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
                                <parameter name='field5' value="Status Code and Status Value to be published" />
                                <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
                                <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
                                <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
                                <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
                                <parameter name='field10' value="RPC Name" />
                                <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
                            </record>
                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
                                <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
                                <parameter name='format' value='json' />
                                <parameter name='httpMethod' value='POST' />
                                <parameter name='contentType' value='application/json' />
                                <parameter name='responsePrefix' value='dmaap' />
                                <outcome value='failure'>
                                    <block>
                                        <return status='failure'>
                                            <parameter name='ack-final' value='Y'/>
                                            <parameter name="response-code" value="500" />
                                            <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
                                        </return>
                                    </block>
                                </outcome>
                                <outcome value='success'>
                                    <block>
                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                                            <parameter name="level" value="info" />
                                            <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
                                        </record>
                                    </block>
                                </outcome>
                            </execute>
                        </block>
                        <return status='failure'>
                            <parameter name='ack-final' value='Y'/>
                            <parameter name="response-code" value="500" />
                            <parameter name="response-message" value="Error in Getting A1 Policy Instance. Aborting" />
                        </return>
                    </block>
                </outcome>
            </switch>
            <block>
                <block atomic='true'>
                    <set>
                        <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstance'/>
                        <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
                        <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
                        <parameter name='tmp.a1Policy-dmaap-resp.payload' value="Working On it" />
                    </set>
                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                        <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                        <parameter name="level" value="info" />
                        <parameter name="field1" value="__TIMESTAMP__"/>
                        <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
                        <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
                        <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
                        <parameter name='field5' value="Status Code and Status Value to be published" />
                        <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
                        <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
                        <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
                        <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
                        <parameter name='field10' value="RPC Name" />
                        <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
                    </record>
                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                        <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
                        <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
                        <parameter name='format' value='json' />
                        <parameter name='httpMethod' value='POST' />
                        <parameter name='contentType' value='application/json' />
                        <parameter name='responsePrefix' value='dmaap' />
                        <outcome value='failure'>
                            <block>
                                <return status='failure'>
                                    <parameter name='ack-final' value='Y'/>
                                    <parameter name="response-code" value="500" />
                                    <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
                                </return>
                            </block>
                        </outcome>
                        <outcome value='success'>
                            <block>
                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
                                    <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
                                    <parameter name="level" value="info" />
                                    <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
                                </record>
                            </block>
                        </outcome>
                    </execute>
                </block>
                <return status='success'>
                    <parameter name="ack-final-indicator" value="Y" />
                    <parameter name="error-code" value="200" />
                    <parameter name="error-message" value="`$error-message`" />
                    <parameter name='response-code' value='200' />
                    <parameter name='response-message' value='getPolicyInstance executed successfully'/>
                    <parameter name='ack-final' value='Y'/>
                </return>
            </block>
        </block>
    </method>
</service-logic>