<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../includes/main.css" type="text/css">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
<title>Apache CloudStack | The Power Behind Your Cloud</title>
</head>
<body>
<div id="insidetopbg">
<div id="inside_wrapper">
<div class="uppermenu_panel">
<div class="uppermenu_box"></div>
</div>
<div id="main_master">
<div id="inside_header">
<div class="header_top">
<a class="cloud_logo" href="http://cloudstack.org"></a>
<div class="mainemenu_panel"></div>
</div>
</div>
<div id="main_content">
<div class="inside_apileftpanel">
<div class="inside_contentpanel" style="width:930px;">
<div class="api_titlebox">
<div class="api_titlebox_left">
<span>
									Apache CloudStack v4.8.0 Root Admin API Reference
								</span>
<p></p>
<h1>updateVPCOffering</h1>
<p>Updates VPC offering</p>
</div>
<div class="api_titlebox_right">
<a class="api_backbutton" href="../TOC_Root_Admin.html"></a>
</div>
</div>
<div class="api_tablepanel">
<h2>Request parameters</h2>
<table class="apitable">
<tr class="hed">
<td style="width:200px;"><strong>Parameter Name</strong></td><td style="width:500px;">Description</td><td style="width:180px;">Required</td>
</tr>
<tr>
<td style="width:200px;"><strong>id</strong></td><td style="width:500px;"><strong>the id of the VPC offering</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><i>displaytext</i></td><td style="width:500px;"><i>the display text of the VPC offering</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>name</i></td><td style="width:500px;"><i>the name of the VPC offering</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>state</i></td><td style="width:500px;"><i>update state for the VPC offering; supported states - Enabled/Disabled</i></td><td style="width:180px;"><i>false</i></td>
</tr>
</table>
</div>
<div class="api_tablepanel">
<h2>Response Tags</h2>
<table class="apitable">
<tr class="hed">
<td style="width:200px;"><strong>Response Name</strong></td><td style="width:500px;">Description</td>
</tr>
<tr>
<td style="width:200px;"><strong>id</strong></td><td style="width:500px;">the id of the vpc offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>created</strong></td><td style="width:500px;">the date this vpc offering was created</td>
</tr>
<tr>
<td style="width:200px;"><strong>displaytext</strong></td><td style="width:500px;">an alternate display text of the vpc offering.</td>
</tr>
<tr>
<td style="width:200px;"><strong>distributedvpcrouter</strong></td><td style="width:500px;"> indicates if the vpc offering supports distributed router for one-hop forwarding</td>
</tr>
<tr>
<td style="width:200px;"><strong>isdefault</strong></td><td style="width:500px;">true if vpc offering is default, false otherwise</td>
</tr>
<tr>
<td style="width:200px;"><strong>name</strong></td><td style="width:500px;">the name of the vpc offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>state</strong></td><td style="width:500px;">state of the vpc offering. Can be Disabled/Enabled</td>
</tr>
<tr>
<td style="width:200px;"><strong>supportsregionLevelvpc</strong></td><td style="width:500px;"> indicated if the offering can support region level vpc</td>
</tr>
<tr>
<td style="width:200px;"><strong>service(*)</strong></td><td style="width:500px;">the list of supported services</td>
<tr>
<td style="width:180px; padding-left:25px;"><strong>name</strong></td><td style="width:500px;">the service name</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>capability(*)</strong></td><td style="width:500px;">the list of capabilities</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">canchooseservicecapability</td><td style="width:500px;">can this service capability value can be choosable while creatine network offerings</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">name</td><td style="width:500px;">the capability name</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">value</td><td style="width:500px;">the capability value</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>provider(*)</strong></td><td style="width:500px;">the service provider name</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">id</td><td style="width:500px;">uuid of the network provider</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">canenableindividualservice</td><td style="width:500px;">true if individual services can be enabled/disabled</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">destinationphysicalnetworkid</td><td style="width:500px;">the destination physical network</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">name</td><td style="width:500px;">the provider name</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">physicalnetworkid</td><td style="width:500px;">the physical network this belongs to</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">servicelist</td><td style="width:500px;">services for this provider</td>
</tr>
<tr>
<td style="width:165px; padding-left:40px;">state</td><td style="width:500px;">state of the network provider</td>
</tr>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="comments_thread">
<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=test" async="true"></script>
<noscript>
<iframe width="930" height="500" src="https://comments.apache.org/iframe.lua?site=test&amp;page=4.2.0/rootadmin"></iframe>
</noscript>
</div>
<div id="footer_mainmaster">
<p>Copyright &copy; 2016 The Apache Software Foundation, Licensed under the
                   <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0.</a>
<br>
                Apache, CloudStack, Apache CloudStack, the Apache CloudStack logo, the CloudMonkey logo  and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</div>
</div>
</body>
</html>
