Skip to content
index.html 67.9 KiB
Newer Older
      <a href="../../testing_services/test_inventory.md" class="md-nav__link">
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
          <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_7">
            <span class="md-nav__icon md-icon"></span>
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
      <a href="../../product_model/product_spec.md" class="md-nav__link">
      <a href="../../product_model/product_catalogs.md" class="md-nav__link">
      <a href="../../product_model/product_inventory.md" class="md-nav__link">
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
          <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_8">
            <span class="md-nav__icon md-icon"></span>
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
      <a href="../../assurance_services/intro.md" class="md-nav__link">
      <a href="../../assurance_services/alarms_actions.md" class="md-nav__link">
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" checked>
          <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    Design & Architecture
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="true">
          <label class="md-nav__title" for="__nav_9">
            <span class="md-nav__icon md-icon"></span>
            Design & Architecture
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../architecture/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Architecture
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9_2" >
          <label class="md-nav__link" for="__nav_9_2" id="__nav_9_2_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    Cloud native support
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_9_2_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_9_2">
            <span class="md-nav__icon md-icon"></span>
            Cloud native support
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../CRIDGE_cloud_native_intro.md" class="md-nav__link">
      <a href="../CRIDGE/CRIDGEforDevelopers/" class="md-nav__link">
    <li class="md-nav__item">
      <a href="../messagebus/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Message bus
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../osom/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    OSOM
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../oauth/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Authentication
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9_6" checked>
          <label class="md-nav__link" for="__nav_9_6" id="__nav_9_6_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    APIs
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_9_6_label" aria-expanded="true">
          <label class="md-nav__title" for="__nav_9_6">
            <span class="md-nav__icon md-icon"></span>
            APIs
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../tmfapi/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    TMF API
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
    
  
  
  
    <li class="md-nav__item md-nav__item--active">
      
      <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
      
      
        
      
      
        <label class="md-nav__link md-nav__link--active" for="__toc">
          
  
  <span class="md-ellipsis">
    NFV API
  </span>
  

          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <a href="./" class="md-nav__link md-nav__link--active">
        
  
  <span class="md-ellipsis">
    NFV API
  </span>
  

      </a>
      
        

<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#oauth-token" class="md-nav__link">
    <span class="md-ellipsis">
      OAuth token
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#request-a-protected-api-resource" class="md-nav__link">
    <span class="md-ellipsis">
      Request a protected API resource
    </span>
  </a>
  
</li>
      
    </ul>
  
</nav>
      
    </li>
  

              
            
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
          <label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_10">
            <span class="md-nav__icon md-icon"></span>
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../contributing/developing/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Developing
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              
              <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    

<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#oauth-token" class="md-nav__link">
    <span class="md-ellipsis">
      OAuth token
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#request-a-protected-api-resource" class="md-nav__link">
    <span class="md-ellipsis">
      Request a protected API resource
    </span>
  </a>
  
</li>
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          
            <div class="md-content" data-md-component="content">
              <article class="md-content__inner md-typeset">
                
                  


<h1 id="api-interaction">API interaction</h1>
<h2 id="oauth-token">OAuth token</h2>
<p>See <a href="../oauth/">oauth</a></p>
<h2 id="request-a-protected-api-resource">Request a protected API resource</h2>
<p>Example: Get all vxfs (check the <code>Authorization:Bearer</code> to be correct)</p>
<pre><code>curl -H &quot;Authorization:Bearer eybGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbIm9wZW5hcGkiLCJhZG1pbiIsInJlYWQiLCJ3cml0ZSJdLCJvcmdhbml6YXRpb24iOiJteW9yZ2FuaXp0aW9uIiwiZXhwIjoxNTcxOTI0MjU2LCJhdXRob3JpdGllcyI6WyJST0xFX01FTlRPUiIsIlJPTEVfQURNSU4iXSwianRpIjoiNzNkZmIxODEtNTMwOS00MmExLThkOWUtOGM3YmQ0YTE1YmU0IiwiY2xpZW50X2lkIjoib3NhcGlXZWJDbGllbnRJZE91dCJ9.Pj_hxnyMGhFhN8avU_DiAw1-LlcaIz5Hp9HNqalw-X4&quot; http://localhost:13000/osapi/admin/vxfs
</code></pre>
<p>Example response:</p>
<pre><code>[
  {
    &quot;id&quot;: 1,
    &quot;owner&quot;: {
      &quot;id&quot;: 1,
      &quot;organization&quot;: &quot;ee&quot;,
      &quot;name&quot;: &quot;Portal Administrator&quot;,
      &quot;email&quot;: &quot;&quot;,
      &quot;username&quot;: &quot;admin&quot;,
      &quot;createdAt&quot;: null
    },
    &quot;uuid&quot;: &quot;a954daf2-16da-4b7e-ae42-4825936d453c&quot;,
    &quot;name&quot;: &quot;cirros_vnfd&quot;,
    &quot;iconsrc&quot;: &quot;/osapi/images/a954daf2-16da-4b7e-ae42-4825936d453c/cirros-64.png&quot;,
    &quot;shortDescription&quot;: &quot;cirros_vnfd&quot;,
    &quot;longDescription&quot;: &quot;Simple VNF example with a cirros&quot;,
    &quot;version&quot;: &quot;1.0&quot;,
    &quot;packageLocation&quot;: &quot;/osapi/packages/a954daf2-16da-4b7e-ae42-4825936d453c/cirros_vnf.tar.gz&quot;,
    &quot;dateCreated&quot;: 1568971426000,
    &quot;dateUpdated&quot;: 1568981107000,
    &quot;categories&quot;: [
      {
        &quot;id&quot;: 3,
        &quot;name&quot;: &quot;Service&quot;,
        &quot;productsCount&quot;: 1,
        &quot;appscount&quot;: 0,
        &quot;vxFscount&quot;: 1
      },
      {
        &quot;id&quot;: 2,
        &quot;name&quot;: &quot;Networking&quot;,
        &quot;productsCount&quot;: 1,
        &quot;appscount&quot;: 0,
        &quot;vxFscount&quot;: 1
      }
    ],
    &quot;extensions&quot;: [],
    &quot;validationJobs&quot;: [],
    &quot;screenshots&quot;: &quot;&quot;,
    &quot;vendor&quot;: &quot;OSM&quot;,
    &quot;published&quot;: false,
    &quot;termsOfUse&quot;: null,
    &quot;descriptor&quot;: &quot;vnfd-catalog:\n    vnfd:\n    -   connection-point:\n        -   name: eth0\n            type: VPORT\n        description: Simple VNF example with a cirros\n        id: cirros_vnfd\n        logo: cirros-64.png\n        mgmt-interface:\n            cp: eth0\n        name: cirros_vnfd\n        short-name: cirros_vnfd\n        vdu:\n        -   count: 1\n            description: cirros_vnfd-VM\n            id: cirros_vnfd-VM\n            image: cirros034\n            interface:\n            -   external-connection-point-ref: eth0\n                name: eth0\n                position: '1'\n                type: EXTERNAL\n                virtual-interface:\n                    bandwidth: '0'\n                    type: VIRTIO\n                    vpci: 0000:00:0a.0\n            name: cirros_vnfd-VM\n            vm-flavor:\n                memory-mb: 512\n                storage-gb: 1\n                vcpu-count: 1\n        vendor: OSM\n        version: '1.0'\n&quot;,
    &quot;descriptorHTML&quot;: &quot;&lt;h3&gt;cirros_vnfd&lt;/h3&gt;&lt;br&gt;&lt;b&gt;Vendor: &lt;/b&gt;OSM&lt;br&gt;&lt;b&gt;Version: &lt;/b&gt;1.0&lt;br&gt;&lt;b&gt;Description: &lt;/b&gt;Simple VNF example with a cirros&lt;br&gt;&lt;b&gt;VM Count: &lt;/b&gt;1&lt;br&gt;&lt;b&gt;vCPU Count: &lt;/b&gt;1&lt;br&gt;&lt;b&gt;Memory: &lt;/b&gt;512 MB&lt;br&gt;&lt;b&gt;Storage: &lt;/b&gt;1 GB&lt;br&gt;&quot;,
    &quot;certified&quot;: false,
    &quot;certifiedBy&quot;: null,
    &quot;validationStatus&quot;: &quot;UNDER_REVIEW&quot;,
    &quot;packagingFormat&quot;: &quot;OSMvFIVE&quot;,
    &quot;supportedMANOPlatforms&quot;: [
      {
        &quot;id&quot;: 1,
        &quot;name&quot;: &quot;osm fivee&quot;,
        &quot;version&quot;: &quot;osm fivee&quot;,
        &quot;description&quot;: &quot;osm five&quot;
      }
    ],
    &quot;vxfOnBoardedDescriptors&quot;: [],
    &quot;vfimagesVDU&quot;: [
      {
        &quot;id&quot;: 1,
        &quot;name&quot;: &quot;cirros034&quot;,
        &quot;uuid&quot;: &quot;d4549610-8abd-42ad-97f4-0a64e1c93977&quot;,
        &quot;shortDescription&quot;: &quot;Automatically created during vxf cirros_vnfd submission. Owner must update.&quot;,
        &quot;packageLocation&quot;: null,
        &quot;publicURL&quot;: null,
        &quot;dateCreated&quot;: 1568971426000,
        &quot;dateUpdated&quot;: null,
        &quot;refVxFs&quot;: [
          {
            &quot;id&quot;: 1,
            &quot;name&quot;: &quot;cirros_vnfd&quot;
          }
        ],
        &quot;owner&quot;: {
          &quot;id&quot;: 1,
          &quot;organization&quot;: &quot;ee&quot;,
          &quot;name&quot;: &quot;Portal Administrator&quot;,
          &quot;email&quot;: &quot;&quot;,
          &quot;username&quot;: &quot;admin&quot;,
          &quot;active&quot;: true,
          &quot;currentSessionID&quot;: null,
          &quot;apikey&quot;: &quot;e41c1cc4-aa56-4b7e-9f4d-64589549d768&quot;,
          &quot;createdAt&quot;: 1568711859000,
          &quot;roles&quot;: [
            &quot;ADMIN&quot;,
            &quot;MENTOR&quot;
          ]
        },
        &quot;published&quot;: false,
        &quot;termsOfUse&quot;: null,
        &quot;deployedInfrastructures&quot;: []
      }
    ]
  },
  {
    &quot;id&quot;: 2,
    &quot;owner&quot;: {
      &quot;id&quot;: 1,
      &quot;organization&quot;: &quot;ee&quot;,
      &quot;name&quot;: &quot;Portal Administrator&quot;,
      &quot;email&quot;: &quot;&quot;,
      &quot;username&quot;: &quot;admin&quot;,
      &quot;createdAt&quot;: null
    },
    &quot;uuid&quot;: &quot;4ab80095-a63e-4fe7-8598-e1c7e880706e&quot;,
    &quot;name&quot;: &quot;cirros_sriov_vnfd&quot;,
    &quot;iconsrc&quot;: null,
    &quot;shortDescription&quot;: &quot;cirros_sriov_vnf&quot;,
    &quot;longDescription&quot;: &quot;Simple VNF example with a cirros SRIOV interface&quot;,
    &quot;version&quot;: &quot;1.0&quot;,
    &quot;packageLocation&quot;: &quot;/osapi/packages/4ab80095-a63e-4fe7-8598-e1c7e880706e/cirros_sriov.tar.gz&quot;,
    &quot;dateCreated&quot;: 1568971740000,
    &quot;dateUpdated&quot;: 1568981100000,
    &quot;categories&quot;: [
      {
        &quot;id&quot;: 4,
        &quot;name&quot;: &quot;tyu&quot;,
        &quot;productsCount&quot;: 1,
        &quot;appscount&quot;: 0,
        &quot;vxFscount&quot;: 1
      },
      {
        &quot;id&quot;: 5,
        &quot;name&quot;: &quot;tyi&quot;,
        &quot;productsCount&quot;: 1,
        &quot;appscount&quot;: 0,
        &quot;vxFscount&quot;: 1
      }
    ],
    &quot;extensions&quot;: [],
    &quot;validationJobs&quot;: [],
    &quot;screenshots&quot;: &quot;&quot;,
    &quot;vendor&quot;: &quot;OSM&quot;,
    &quot;published&quot;: false,
    &quot;termsOfUse&quot;: null,
    &quot;descriptor&quot;: &quot;vnfd:vnfd-catalog:\n  vnfd:\n  - connection-point:\n    - name: eth0\n      type: VPORT\n    - name: eth1\n      type: VPORT\n    description: Simple VNF example with a cirros SRIOV interface\n    id: cirros_sriov_vnfd\n    logo: cirros-64.png\n    mgmt-interface:\n      cp: eth0\n    name: cirros_sriov_vnf\n    short-name: cirros_sriov_vnf\n    vdu:\n    - count: 1\n      description: cirros_sriov_vnfd-VM\n      guest-epa:\n        cpu-pinning-policy: DEDICATED\n        cpu-thread-pinning-policy: PREFER\n        mempage-size: SMALL\n        numa-node-policy:\n          mem-policy: STRICT\n          node:\n          - id: '1'\n          node-cnt: '1'\n      id: cirros_sriov_vnfd-VM\n      image: cirros-0.3.6-x86_64\n      interface:\n      - external-connection-point-ref: eth0\n        name: eth0\n        position: '1'\n        type: EXTERNAL\n        virtual-interface:\n          bandwidth: '0'\n          type: VIRTIO\n          vpci: 0000:00:0a.0\n      - external-connection-point-ref: eth1\n        name: eth1\n        position: '2'\n        type: EXTERNAL\n        virtual-interface:\n          type: SR-IOV\n      name: cirros_sriov_vnfd-VM\n      vm-flavor:\n        memory-mb: 4096\n        storage-gb: 10\n        vcpu-count: 4\n    vendor: OSM\n    version: '1.0'\n&quot;,
    &quot;descriptorHTML&quot;: &quot;&lt;h3&gt;cirros_sriov_vnf&lt;/h3&gt;&lt;br&gt;&lt;b&gt;Vendor: &lt;/b&gt;OSM&lt;br&gt;&lt;b&gt;Version: &lt;/b&gt;1.0&lt;br&gt;&lt;b&gt;Description: &lt;/b&gt;Simple VNF example with a cirros SRIOV interface&lt;br&gt;&lt;b&gt;VM Count: &lt;/b&gt;1&lt;br&gt;&lt;b&gt;vCPU Count: &lt;/b&gt;1&lt;br&gt;&lt;b&gt;Memory: &lt;/b&gt;4096 MB&lt;br&gt;&lt;b&gt;Storage: &lt;/b&gt;10 GB&lt;br&gt;&quot;,
    &quot;certified&quot;: false,
    &quot;certifiedBy&quot;: null,
    &quot;validationStatus&quot;: &quot;UNDER_REVIEW&quot;,
    &quot;packagingFormat&quot;: &quot;OSMvFIVE&quot;,
    &quot;supportedMANOPlatforms&quot;: [
      {
        &quot;id&quot;: 1,
        &quot;name&quot;: &quot;osm fivee&quot;,
        &quot;version&quot;: &quot;osm fivee&quot;,
        &quot;description&quot;: &quot;osm five&quot;
      }
    ],
    &quot;vxfOnBoardedDescriptors&quot;: [],
    &quot;vfimagesVDU&quot;: [
      {
        &quot;id&quot;: 2,
        &quot;name&quot;: &quot;cirros-0.3.6-x86_64&quot;,
        &quot;uuid&quot;: &quot;be121176-1d62-4a1b-a3c1-7dce2e069d22&quot;,
        &quot;shortDescription&quot;: &quot;Automatically created during vxf cirros_sriov_vnfd submission. Owner must update.&quot;,
        &quot;packageLocation&quot;: null,
        &quot;publicURL&quot;: null,
        &quot;dateCreated&quot;: 1568971740000,
        &quot;dateUpdated&quot;: null,
        &quot;refVxFs&quot;: [
          {
            &quot;id&quot;: 2,
            &quot;name&quot;: &quot;cirros_sriov_vnfd&quot;
          }
        ],
        &quot;owner&quot;: {
          &quot;id&quot;: 1,
          &quot;organization&quot;: &quot;ee&quot;,
          &quot;name&quot;: &quot;Portal Administrator&quot;,
          &quot;email&quot;: &quot;&quot;,
          &quot;username&quot;: &quot;admin&quot;,
          &quot;active&quot;: true,
          &quot;currentSessionID&quot;: null,
          &quot;apikey&quot;: &quot;e41c1cc4-aa56-4b7e-9f4d-64589549d768&quot;,
          &quot;createdAt&quot;: 1568711859000,
          &quot;roles&quot;: [
            &quot;ROLE_ADMIN&quot;,
            &quot;ROLE_MENTOR&quot;
          ]
        },
        &quot;published&quot;: false,
        &quot;termsOfUse&quot;: null,
        &quot;deployedInfrastructures&quot;: []
      }
    ]
  }
]
          
          
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
        
          <button type="button" class="md-top md-icon" data-md-component="top" hidden>
  
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
  Back to top
</button>
        
      </main>
      
        <footer class="md-footer">
  
    
      
      <nav class="md-footer__inner md-grid" aria-label="Footer" >
        
          
          <a href="../tmfapi/" class="md-footer__link md-footer__link--prev" aria-label="Previous: TMF API">
            <div class="md-footer__button md-icon">
              
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
            <div class="md-footer__title">
              <span class="md-footer__direction">
                Previous
              </span>
              <div class="md-ellipsis">
                TMF API
              </div>