1. Fix update iroinc node traits api 2. Add export client for better reusage Change-Id: I47ef81265bb4f3a198067280f39206bb17b5fdc0
203 lines
4.7 KiB
JavaScript
203 lines
4.7 KiB
JavaScript
// Copyright 2021 99cloud
|
|
//
|
|
// 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.
|
|
|
|
import Base from '../client/base';
|
|
import { neutronBase } from '../client/constants';
|
|
|
|
export class NeutronClient extends Base {
|
|
get baseUrl() {
|
|
return neutronBase();
|
|
}
|
|
|
|
get resources() {
|
|
return [
|
|
{
|
|
key: 'networks',
|
|
responseKey: 'network',
|
|
subResources: [
|
|
{
|
|
name: 'dhcpAgents',
|
|
key: 'dhcp-agents',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
key: 'subnets',
|
|
responseKey: 'subnet',
|
|
},
|
|
{
|
|
key: 'ports',
|
|
responseKey: 'port',
|
|
},
|
|
{
|
|
key: 'routers',
|
|
responseKey: 'router',
|
|
extendOperations: [
|
|
{
|
|
name: 'addRouterInterface',
|
|
key: 'add_router_interface',
|
|
method: 'put',
|
|
},
|
|
{
|
|
name: 'removeRouterInterface',
|
|
key: 'remove_router_interface',
|
|
method: 'put',
|
|
},
|
|
{
|
|
name: 'addExtraRoutes',
|
|
key: 'add_extraroutes',
|
|
method: 'put',
|
|
},
|
|
{
|
|
name: 'removeExtraRoutes',
|
|
key: 'remove_extraroutes',
|
|
method: 'put',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
key: 'floatingips',
|
|
responseKey: 'floatingip',
|
|
subResources: [
|
|
{
|
|
name: 'portForwardings',
|
|
key: 'port_forwardings',
|
|
responseKey: 'port_forwarding',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
key: 'extensions',
|
|
responseKey: 'extensions',
|
|
},
|
|
{
|
|
key: 'agents',
|
|
responseKey: 'agent',
|
|
subResources: [
|
|
{
|
|
name: 'dhcpNetworks',
|
|
key: 'dhcp-networks',
|
|
responseKey: 'network',
|
|
},
|
|
{
|
|
name: 'l3Routers',
|
|
key: 'l3-routers',
|
|
responseKey: 'router',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'firewalls',
|
|
key: 'fwaas/firewall_groups',
|
|
responseKey: 'firewall_group',
|
|
},
|
|
{
|
|
name: 'firewallPolicies',
|
|
key: 'fwaas/firewall_policies',
|
|
responseKey: 'firewall_policy',
|
|
extendOperations: [
|
|
{
|
|
name: 'insertRule',
|
|
key: 'insert_rule',
|
|
method: 'put',
|
|
},
|
|
{
|
|
name: 'removeRule',
|
|
key: 'remove_rule',
|
|
method: 'put',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'firewallRules',
|
|
key: 'fwaas/firewall_rules',
|
|
responseKey: 'firewall_rule',
|
|
},
|
|
{
|
|
name: 'networkIpAvailabilities',
|
|
key: 'network-ip-availabilities',
|
|
},
|
|
{
|
|
name: 'azones',
|
|
key: 'availability_zones',
|
|
},
|
|
{
|
|
name: 'qosPolicies',
|
|
key: 'qos/policies',
|
|
responseKey: 'policy',
|
|
subResources: [
|
|
{
|
|
name: 'bandwidthLimitRules',
|
|
key: 'bandwidth_limit_rules',
|
|
},
|
|
{
|
|
name: 'dscpMarkingRules',
|
|
key: 'dscp_marking_rules',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'securityGroups',
|
|
key: 'security-groups',
|
|
responseKey: 'security_group',
|
|
},
|
|
{
|
|
name: 'securityGroupRules',
|
|
key: 'security-group-rules',
|
|
responseKey: 'security_group_rule',
|
|
},
|
|
{
|
|
key: 'subnets',
|
|
responseKey: 'subnet',
|
|
},
|
|
{
|
|
name: 'endpointGroups',
|
|
key: 'endpoint-groups',
|
|
responseKey: 'endpoint_group',
|
|
},
|
|
{
|
|
name: 'ikePolicies',
|
|
key: 'ikepolicies',
|
|
responseKey: 'ikepolicy',
|
|
},
|
|
{
|
|
name: 'ipsecPolicies',
|
|
key: 'ipsecpolicies',
|
|
responseKey: 'ipsecpolicy',
|
|
},
|
|
{
|
|
name: 'ipsecSiteConnections',
|
|
key: 'ipsec_site_connections',
|
|
responseKey: 'ipsec_site_connection',
|
|
},
|
|
{
|
|
key: 'vpnservices',
|
|
responseKey: 'vpnservice',
|
|
},
|
|
{
|
|
key: 'quotas',
|
|
responseKey: 'quota',
|
|
extendOperations: [
|
|
{
|
|
key: 'details',
|
|
},
|
|
],
|
|
},
|
|
];
|
|
}
|
|
}
|
|
|
|
const neutronClient = new NeutronClient();
|
|
export default neutronClient;
|