mirror of
https://github.com/jbowdre/phpIPAM-for-vRA8.git
synced 2024-11-30 02:42:18 +00:00
373 lines
18 KiB
XML
373 lines
18 KiB
XML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!--
|
||
|
Copyright (c) 2020 VMware, Inc. All Rights Reserved.
|
||
|
|
||
|
This product is licensed to you under the Apache License, Version 2.0 (the "License").
|
||
|
You may not use this product except in compliance with the License.
|
||
|
|
||
|
This product may include a number of subcomponents with separate copyright notices
|
||
|
and license terms. Your use of these subcomponents is subject to the terms and
|
||
|
conditions of the subcomponent's license, as noted in the LICENSE file.
|
||
|
-->
|
||
|
|
||
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
|
xmlns="http://maven.apache.org/POM/4.0.0"
|
||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||
|
<modelVersion>4.0.0</modelVersion>
|
||
|
|
||
|
<groupId>com.vmware.cas.ipam.adapter</groupId>
|
||
|
<artifactId>sample-ipam</artifactId>
|
||
|
<version>0.0.1-SNAPSHOT</version>
|
||
|
<packaging>pom</packaging>
|
||
|
|
||
|
<properties>
|
||
|
<provider.name>phpIPAM</provider.name>
|
||
|
<provider.description>phpIPAM integration for vRA</provider.description>
|
||
|
<provider.version>0.1</provider.version>
|
||
|
|
||
|
<provider.supportsAddressSpaces>false</provider.supportsAddressSpaces>
|
||
|
<provider.supportsUpdateRecord>true</provider.supportsUpdateRecord>
|
||
|
<provider.supportsOnDemandNetworks>false</provider.supportsOnDemandNetworks>
|
||
|
|
||
|
<user.id>1000</user.id>
|
||
|
</properties>
|
||
|
<profiles>
|
||
|
<profile>
|
||
|
<id>collectDependencies</id>
|
||
|
<activation>
|
||
|
<file>
|
||
|
<missing>${basedir}/target/dependencies.collected.flag</missing>
|
||
|
</file>
|
||
|
</activation>
|
||
|
<build>
|
||
|
<plugins>
|
||
|
<plugin>
|
||
|
<groupId>io.fabric8</groupId>
|
||
|
<artifactId>docker-maven-plugin</artifactId>
|
||
|
<version>0.31.0</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>build-image</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>build</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<name>ipam-dependency-collector:latest</name>
|
||
|
<images>
|
||
|
<image>
|
||
|
<name>ipam-dependency-collector:latest</name>
|
||
|
<build>
|
||
|
<dockerFile>${project.basedir}/Dockerfile</dockerFile>
|
||
|
<filter>@</filter>
|
||
|
</build>
|
||
|
</image>
|
||
|
</images>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>start-container</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>start</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<images>
|
||
|
<image>
|
||
|
<name>ipam-dependency-collector:latest</name>
|
||
|
<run>
|
||
|
<volumes>
|
||
|
<bind>${basedir}/target:/ipam/result</bind>
|
||
|
</volumes>
|
||
|
<wait>
|
||
|
<log>Collecting-dependencies-complete</log>
|
||
|
<time>600000</time> <!-- Wait for 10 minutes to copy the dependencies into the mounted dir -->
|
||
|
</wait>
|
||
|
<user>${user.name}</user>
|
||
|
</run>
|
||
|
</image>
|
||
|
</images>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>stop-container</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>stop</goal>
|
||
|
</goals>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
<plugin>
|
||
|
<artifactId>maven-resources-plugin</artifactId>
|
||
|
<version>3.1.0</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<phase>package</phase>
|
||
|
<id>copy-dependencies-collected-flag</id>
|
||
|
<goals>
|
||
|
<goal>copy-resources</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<outputDirectory>${basedir}/target</outputDirectory>
|
||
|
<resources>
|
||
|
<resource>
|
||
|
<directory>src/main/resources</directory>
|
||
|
<includes>
|
||
|
<include>dependencies.collected.flag</include>
|
||
|
</includes>
|
||
|
</resource>
|
||
|
</resources>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
</build>
|
||
|
</profile>
|
||
|
</profiles>
|
||
|
<build>
|
||
|
<resources>
|
||
|
<resource>
|
||
|
<directory>${basedir}/src/main/resources</directory>
|
||
|
<filtering>true</filtering>
|
||
|
</resource>
|
||
|
</resources>
|
||
|
<plugins>
|
||
|
<plugin>
|
||
|
<groupId>org.codehaus.mojo</groupId>
|
||
|
<artifactId>build-helper-maven-plugin</artifactId>
|
||
|
<version>1.12</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>dynamic-set-props</id>
|
||
|
<phase>initialize</phase>
|
||
|
<goals>
|
||
|
<goal>bsh-property</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<source>skipUpdateRecord =
|
||
|
!${provider.supportsUpdateRecord};
|
||
|
excludeUpdateRecordFromAssemblyFilePattern
|
||
|
= skipUpdateRecord ? "update_record.abx"
|
||
|
: "dont-exclude"; skipOnDemandNetworks =
|
||
|
!${provider.supportsOnDemandNetworks};
|
||
|
excludeGetIpBlocksFromAssemblyFilePattern
|
||
|
= skipOnDemandNetworks ?
|
||
|
"get_ip_blocks.abx" : "dont-exclude";
|
||
|
excludeAllocateIpRangeFromAssemblyFilePattern
|
||
|
= skipOnDemandNetworks ?
|
||
|
"allocate_ip_range.abx" : "dont-exclude";
|
||
|
excludeDeallocateIpRangeFromAssemblyFilePattern
|
||
|
= skipOnDemandNetworks ?
|
||
|
"deallocate_ip_range.abx" : "dont-exclude";
|
||
|
supportsAddressSpaces
|
||
|
= ${provider.supportsAddressSpaces} ?
|
||
|
"supportsAddressSpaces: true" : "";
|
||
|
</source>
|
||
|
<properties>
|
||
|
<property>skipUpdateRecord</property>
|
||
|
<property>excludeUpdateRecordFromAssemblyFilePattern</property>
|
||
|
<property>skipOnDemandNetworks</property>
|
||
|
<property>excludeGetIpBlocksFromAssemblyFilePattern</property>
|
||
|
<property>excludeAllocateIpRangeFromAssemblyFilePattern</property>
|
||
|
<property>excludeDeallocateIpRangeFromAssemblyFilePattern</property>
|
||
|
<property>supportsAddressSpaces</property>
|
||
|
</properties>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<artifactId>maven-resources-plugin</artifactId>
|
||
|
<version>3.1.0</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>copy-scripts</id>
|
||
|
<phase>validate</phase>
|
||
|
<goals>
|
||
|
<goal>copy-resources</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<outputDirectory>${basedir}/target/python</outputDirectory>
|
||
|
<resources>
|
||
|
<resource>
|
||
|
<directory>src/main/python</directory>
|
||
|
</resource>
|
||
|
</resources>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<goals>
|
||
|
<goal>resources</goal>
|
||
|
</goals>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<groupId>org.apache.maven.plugins</groupId>
|
||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||
|
<version>2.2-beta-5</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>allocate_ip</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/python/allocate_ip.xml</descriptor>
|
||
|
<finalName>allocate_ip</finalName>
|
||
|
<outputDirectory>${project.build.directory}/actions</outputDirectory>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>deallocate_ip</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/python/deallocate_ip.xml</descriptor>
|
||
|
<finalName>deallocate_ip</finalName>
|
||
|
<outputDirectory>${project.build.directory}/actions</outputDirectory>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>get_ip_ranges</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/python/get_ip_ranges.xml</descriptor>
|
||
|
<finalName>get_ip_ranges</finalName>
|
||
|
<outputDirectory>${project.build.directory}/actions</outputDirectory>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>update_record</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/python/update_record.xml</descriptor>
|
||
|
<finalName>update_record</finalName>
|
||
|
<outputDirectory>${project.build.directory}/actions</outputDirectory>
|
||
|
<skipAssembly>${skipUpdateRecord}</skipAssembly>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>validate_endpoint</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/python/validate_endpoint.xml</descriptor>
|
||
|
<finalName>validate_endpoint</finalName>
|
||
|
<outputDirectory>${project.build.directory}/actions</outputDirectory>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>get_ip_blocks</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/python/get_ip_blocks.xml</descriptor>
|
||
|
<finalName>get_ip_blocks</finalName>
|
||
|
<outputDirectory>${project.build.directory}/actions</outputDirectory>
|
||
|
<skipAssembly>${skipOnDemandNetworks}</skipAssembly>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>allocate_ip_range</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/python/allocate_ip_range.xml</descriptor>
|
||
|
<finalName>allocate_ip_range</finalName>
|
||
|
<outputDirectory>${project.build.directory}/actions</outputDirectory>
|
||
|
<skipAssembly>${skipOnDemandNetworks}</skipAssembly>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>deallocate_ip_range</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/python/deallocate_ip_range.xml</descriptor>
|
||
|
<finalName>deallocate_ip_range</finalName>
|
||
|
<outputDirectory>${project.build.directory}/actions</outputDirectory>
|
||
|
<skipAssembly>${skipOnDemandNetworks}</skipAssembly>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>zip-actions</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/zip-actions.xml</descriptor>
|
||
|
<finalName>bundle</finalName>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>zip-provider</id>
|
||
|
<phase>package</phase>
|
||
|
<goals>
|
||
|
<goal>single</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<descriptor>src/assembly/zip-provider.xml</descriptor>
|
||
|
<finalName>${provider.name}</finalName>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<groupId>net.nicoulaj.maven.plugins</groupId>
|
||
|
<artifactId>checksum-maven-plugin</artifactId>
|
||
|
<version>1.8</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>build-ipam-package-signature</id>
|
||
|
<phase>prepare-package</phase>
|
||
|
<goals>
|
||
|
<goal>files</goal>
|
||
|
</goals>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
<configuration>
|
||
|
<fileSets>
|
||
|
<fileSet>
|
||
|
<directory>${basedir}/target/</directory>
|
||
|
<includes>
|
||
|
<include>bundle.zip</include>
|
||
|
</includes>
|
||
|
</fileSet>
|
||
|
</fileSets>
|
||
|
<algorithms>
|
||
|
<algorithm>SHA-256</algorithm>
|
||
|
</algorithms>
|
||
|
<csvSummary>false</csvSummary>
|
||
|
<shasumSummary>true</shasumSummary>
|
||
|
<shasumSummaryFile>signature</shasumSummaryFile>
|
||
|
<individualFiles>false</individualFiles>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
</build>
|
||
|
</project>
|