2 * Copyright (c) 2015 Huawei Technologies and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.groupbasedpolicy.renderer.faas;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SubnetId;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.LogicalNetworks;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.MappedTenantsEntities;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.logical.networks.LogicalNetwork;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.logical.networks.LogicalNetworkKey;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.MappedEntity;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.MappedEntityKey;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.MappedTenant;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.MappedTenantKey;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.mapped.entity.MappedContract;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.mapped.entity.MappedContractKey;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.mapped.entity.MappedEndpoint;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.mapped.entity.MappedEndpointKey;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.mapped.entity.MappedSubnet;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.faas.rev151009.mapped.tenants.entities.mapped.entity.MappedSubnetKey;
28 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
30 public class FaasIidFactory {
32 public static InstanceIdentifier<LogicalNetworks> logicalNetworksIid() {
33 return InstanceIdentifier.builder(LogicalNetworks.class).build();
36 public static InstanceIdentifier<LogicalNetwork> logicalNetworkIid(EndpointGroupId consumerEpgId,
37 TenantId consumerTenantId, ContractId contractId, EndpointGroupId providerEpgId, TenantId providerTenantId) {
38 return InstanceIdentifier.builder(LogicalNetworks.class)
39 .child(LogicalNetwork.class,
40 new LogicalNetworkKey(consumerEpgId, consumerTenantId, contractId, providerEpgId, providerTenantId))
44 public static InstanceIdentifier<MappedTenantsEntities> mappedTenantsEntitiesIid() {
45 return InstanceIdentifier.builder(MappedTenantsEntities.class).build();
48 public static InstanceIdentifier<MappedSubnet> mappedSubnetIid(TenantId gbpTenantId, SubnetId subnetId) {
49 return InstanceIdentifier.builder(MappedTenantsEntities.class)
50 .child(MappedEntity.class, new MappedEntityKey(gbpTenantId))
51 .child(MappedSubnet.class, new MappedSubnetKey(subnetId))
55 public static InstanceIdentifier<MappedTenant> mappedTenantIid(TenantId gbpTenantId) {
56 return InstanceIdentifier.builder(MappedTenantsEntities.class)
57 .child(MappedTenant.class, new MappedTenantKey(gbpTenantId))
61 public static InstanceIdentifier<MappedEntity> mappedEntityIid(TenantId gbpTenantId) {
62 return InstanceIdentifier.builder(MappedTenantsEntities.class)
63 .child(MappedEntity.class, new MappedEntityKey(gbpTenantId))
67 public static InstanceIdentifier<MappedContract> mappedContractIid(TenantId gbpTenantId, ContractId contractId) {
68 return InstanceIdentifier.builder(MappedTenantsEntities.class)
69 .child(MappedEntity.class, new MappedEntityKey(gbpTenantId))
70 .child(MappedContract.class, new MappedContractKey(contractId))
74 public static InstanceIdentifier<MappedEndpoint> mappedEndpointIid(TenantId gbpTenantId,
75 MappedEndpointKey mappedEndpointKey) {
76 return InstanceIdentifier.builder(MappedTenantsEntities.class)
77 .child(MappedEntity.class, new MappedEntityKey(gbpTenantId))
78 .child(MappedEndpoint.class, mappedEndpointKey)