Page tree
Skip to end of metadata
Go to start of metadata

The topics in this section describe the following Pod and Container Management (PCM) functions that you can perform from the BMC Network Automation command line interface that are related to BMC Cloud Lifecycle Management:

To import and export PCM components

Unable to render {include} The included page could not be found.

To manage containers using a script

This topic contains information about the container utilities script  that is used to test a new container blueprint that you created before you use the container blueprint to create containers in BMC Cloud Lifecycle Management and examples of using these scripts.

Note

Use the BMC Cloud Lifecycle Management utilities to create, configure, or delete containers and provision or decommission Network Interface Controllers (NICs).

About the container utilities script

The container utilities script can be used to provision, modify, and deprovision a container and add or remove a NIC, without involving BMC Cloud Lifecycle Management. This can be helpful when testing out a new container blueprint.

The container utilities are installed with BMC Network Automation. Before using them, expand the BCAN_HOME\public\bmc\bca-networks\extras\bcan-pcm-utility-8.6.00.zip file into any convenient directory. For consistency with other utilities, expand the file into the BCAN_DATA directory.

Expanding this file creates a bcan-pcm-utility subdirectory structure. The utility scripts are:

  • (Windows) bcan-pcm-utility\bin\container-util.bat
  • (Linux) bcan-pcm-utility/bin/container-util.sh

These scripts have the options listed in the following table.

Note

Arguments must be enclosed in quotation marks (") if they contain one or more spaces, for example, -zoneName "Zone 1". Quotation marks are optional.

 Click here to view the Container utility script options.

Option

Description

-?

Displays Help

-accessSwitchName arg

Specifies the hypervisor switch node name

-additionalParams

 Specifies a list of additional  parameters in name:value pairs format separated by a comma delimiter. For example, transactionId:asdasd-5465-fghfg,nicId:1,hostname:server1

-attachPointName arg

Specifies the attach point name

-containerBlueprintName arg

Specifies the container blueprint name

-containerName arg

Specifies the container name

-deleteOnFailureFlag arg

Indicates whether to remove a container when a failure occurs during container deprovisioning

Valid values: true, false (default)

-externalNetworkSegmentOverrides arg

Specifies the external network segment overrides, which are of the format: componentname:flag (true or false) with pairs separated by a comma delimiter. For example, ""name1:true,name2:false"

-firewallOverrides arg

Specifies the firewall overrides, which are of the format: componentname:flag (true or false) with pairs separated by a comma delimiter. For example: "name1:true,name2:false,name3:true"

-ignoreModifyErrorsFlag arg

Indicates whether to ignore errors that occur while reconfiguring devices during the attempt and update the resources in the container

Valid values: true, false (default)

-ignoreUnmodifyErrorsFlag arg

Indicates whether to ignore errors that occur while reconfiguring devices during the unmodify attempt, and update the resources in the container

Valid values: true, false (default)

-loadBalancerOverrides arg

Specifies the loadbalancer overrides, which are of the format: componentname:flag (true or false) with pairs separated by a comma delimiter

-nicAddressValue arg

Specifies the address value, which is required for the addVirtualServerNic operation

-nicName arg

Specifies the NIC name, which is required for the addVirtualServerNic and removeVirtualServerNics operations

-nicSegmentOverrides arg

Specifies the NIC segment overrides, which are of the format: componentname:flag (true or false) with pairs separated by a comma delimiter. For example, ""name1:true,name2:false".

-nicServerName arg

Specifies the NIC server name, which is required for the addVirtualServerNic and removeVirtualServerNics operations

-operation arg

Specifies the name of operation. The operation name can be one of the following strings:

  • acquire_nat_address
  • acquire_virtual_server_nic_address
  • deprovision_container
  • describe_incompatibility
  • get_compatible_blueprints
  • modify_container
  • provision_container
  • release_all_server_nic_addresses
  • release_nat_address
  • release_virtual_server_nic_address
  • reprovision_container

-password arg

Specifies the BMC Network Automation application server password corresponding to the user name parameter.

-podName arg

Specifies the pod name

-privateNatAddressValue arg

Specifies the private NAT address value, which is required for the acquireNatAddress operation

-publicNatAddressValue arg

Specifies the Public NAT address value, which is required for the releaseNatAddress operation

-registerDnsFlag

Indicates whether a DNS operation should be performed

If this option is set to true, DNS operation is performed for the acquire_virtual_server_nic_address operation.

Valid values: true, false (default)

-releaseOnFailureFlag arg

Indicates whether a NAT address should be released from a pool even when a failure occurs

Valid values: true, false (default)

-restrictedReprovisioningFlag arg

Indicates whether non-reversible content should be added during container reprovisioning. By default, only reversible content can be added during reprovisioning.

Valid values: true (default), false

-runtimeParams arg

Specifies a list of runtime parameters, which are of the format name:value with pairs separated by a comma delimiter. For example, runtime.name1:val1,runtime.name2:val2,runtime.name3:val3.

-skipIPAMOperation arg

Indicates whether BMC Network Automation should skip the actual Acquire Address or Release Address operation on the IPAM system..

Valid values: true, false (default)

This option is applicable to the following operations:

  • acquireNatAddress
  • acquireVirtualServerNicAddress
  • releaseNatAddress
  • releaseVirtualServerNicAddress
  • releaseAllServerNicAddresses

-skipUnmodifyFlag arg

Indicates whether to skip the attempt to unmodify what was modified

Valid values: true, false (default)

-url arg

Specifies the BMC Network Automation application server URL

-user arg

Specifies the BMC Network Automation application server user name

-v

Prints the detailed error stack trace

-zoneName arg

Specifies the zone name

Back to top

Examples of container utilities script

The following topics describe the usage of the container utilities script.

Run the command from the command line in the directory that contains the utility, or enter the directory as a prefix to the command.

Example

(Windows) C:\BCA-Networks-Data>bcan-pcm-utility\bin\container-util.bat -?
(Linux) hostname:/opt/bmc/bca-networks/public/bmc/bca-networks/extras/bcan-pcm-utility/bin # ./container-util.sh -?

To acquire next available NAT address - acquire_nat_address

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation acquire_nat_address -containerName name_of_container -privateNatAddressValue private_ip_address_to_be_natted -registerDnsFlag register_dns_flag –additionalParams additional_params v

Example

container-util.bat -url  https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation acquire_nat_address -containerName LargeGoldContainer1 -privateNatAddressValue 12.3.0.36  -additionalParams "transactionId:iuyuy-kklljl-9988,nicId:7"

Note

The acquire_nat_address operation does not support the DNS operation in BMC Network Automation, therefore set registerDnsFlag to false.

Back to top

To acquire a particular NAT address - acquire_nat_address

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation acquire_nat_address -containerName name_of_container -privateNatAddressValue private_ip_address_to_be_natted -publicNatAddressValue public_ip_address_to_be_natted -skipIPAMOperation skip_IPAM_operation_flag v

Example

container-util.bat -url  https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation acquire_nat_address -containerName LargeGoldContainer1 -privateNatAddressValue 172.17.10.6 -publicNatAddressValue 10.0.0.2 -skipIPAMOperation false -v

Back to top

To provision a NIC to acquire a particular IP address - acquire_virtual_server_nic_address

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation acquire_virtual_server_nic_address -containerName name_of_container -nicName nicname -nicServerName nic_server_name -attachPointName port_name -accessSwitchName container_access_node_name -nicAddressValue available_ip_address_from_pool -skipIPAMOperation skip_IPAM_operation_flag v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation acquire_virtual_server_nic_address -containerName LargeGoldContainer -nicName NIC-1 -nicServerName NICServer1 -attachPointName "Customer Port Type 1" -accessSwitchName Access -nicAddressValue 14.0.3.13 -zoneName "Zone 1" -skipIPAMOperation true -v

Back to top

To provision a NIC to acquire next available address - acquire_virtual_server_nic_address

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name –password bna_app_server_password -operation acquire_virtual_server_nic_address –containerName name_of_container -nicName nic_name -nicServerName nic_server_name -attachPointName attach_point_name -accessSwitchName container_access_node_name -registerDnsFlag register_dns_flag –additionalParams additional_params v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation acquire_virtual_server_nic_address -containerName LargeGoldContainer -nicName NIC-1 -nicServerName NICServer1 -attachPointName "Customer Port Type 1" -accessSwitchName Access -zoneName "Zone 1" -registerDnsFlag true -additionalParams "transactionId:iuyuy-kklljl-9988,nicId:7" –v

Back to top

To unconfigure and delete containers after successful container creation - deprovision_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation deprovision_container -containerName name_of_container -v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation deprovision_container -containerName LargeGoldContainer -v

Back to top

To describe incompatibilities in a given container's blueprint - describe_incompatibility

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation describe_incompatibility -podName created_pod_name -containerBlueprintName container_blueprint_to_be_check -v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation describe_incompatibility -podName LargePod -containerBlueprintName "Large Gold Container Blueprint" -v

Back to top

To get compatible blueprint(s) for given pod - get_compatible_blueprints

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation get_compatible_blueprints -podName created_pod_name -v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation get_compatible_blueprints -podName LargePod -v

Back to top

To modify container by overriding an external network segment component - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container -externalNetworkSegmentOverrides external_network_segment_name:flag_value(true or false)

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer -externalNetworkSegmentOverrides ExternalNetwork:true

Back to top

To modify container by overriding a load balancer component - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container -loadBalancerOverrides load_balancer_name:flag_value(true or false)

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer -loadBalancerOverrides LoadBalancer1:true

Back to top

To modify container by overriding a firewall component - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container -firewallOverrides firewall_name:flag_value(true or false)

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer -firewallOverrides Firewall1:true

Back to top

To modify container by overriding a NIC segment component - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container -nicSegmentOverrides nic_segment_name:flag_value(true or false)

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer -nicSegmentOverrides NIC1:true

Back to top

To modify container by overriding an address pool - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer

Do you want to override dynamic addressing components [y/N]: y
Do you want to specify address space overrides [y/N]: n
Do you want to specify address pool overrides [y/N]: y
Enter pool name (specify link id separated by '#'): Customer
*Optional if specifying DNS Info
Enter pool size (optional* see above): 24
Do you want to specify/override DNS Information? [y/N]: n
Do you want to specify address pool overrides [y/N]: n

Back to top

To modify container by overriding the DNS information for an address pool - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer

Do you want to override dynamic addressing components [y/N]: y
Do you want to specify address space overrides [y/N]: n
Do you want to specify address pool overrides [y/N]: y
Enter pool name (specify link id separated by '#'): Customer
*Optional if specifying DNS Info
Enter pool size (optional* see above):
Do you want to specify/override DNS Information? [y/N]: y
Warning:
If you are updating DNS Information for an address pool with some addresses that
are acquired and registered with a DNS, review the address pool details before
proceeding. Review the information in the Container view > Address Pool details
popup.
Do you wish to overwrite the existing DNS information? [y/N]: y
Enter primary DNS server name: 10.128.251.14
Enter reverse DNS server name: 10.128.251.14
Enter secondary DNS server name:
10.128.251.15 *Note - Primary DNS domain suffix is required for DNS registration.
Enter primary DNS domain suffix: dnsbind.com
Enter domain search order (comma separated): dnsbind.com, bind.com
Enter reverse DNS zone name: 60.10.in-addr.arpa
Do you want to specify address pool overrides [y/N]: n

Back to top

To modify container by overriding an address space - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container -v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer -v

Do you want to override dynamic addressing components [y/N]: y
Do you want to specify address space overrides [y/N]: y
*Optional if specifying DNS Info
Enter network address (optional* see above):  45.0.0.0
Enter network mask (dotted decimal/CIDR & optional* see above):  255.255.255.0
Do you want to specify public flag [y/N]: N
Do you want to specify address space name [y/N]: y
Enter address space name: Public
Do you want to specify/override DNS Information? [y/N]: N
Do you want to specify address space overrides [y/N]:n

Back to top

To modify container by overriding the DNS information for an address space - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container -v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer -v

Do you want to override dynamic addressing components [y/N]: y
Do you want to specify address space overrides [y/N]: y
*Optional if specifying DNS Info
Enter network address (optional* see above):
Enter network mask (dotted decimal/CIDR & optional* see above):
Do you want to specify public flag [y/N]: N
Do you want to specify address space name [y/N]: y
Enter address space name: Public
Do you want to specify/override DNS Information? [y/N]: y
Enter primary DNS server name: 10.128.251.12
Enter reverse DNS server name: 20.121.35.80
Enter secondary DNS server name: 10.128.251.15
*Note - Primary DNS domain suffix is required for DNS registration.

Enter primary DNS domain suffix: dnsbind.com

Enter domain search order (comma separated): dnsbind.com

Enter reverse DNS zone name: 90.in-addr.arpa

Do you want to specify address space overrides [y/N]:n

Back to top

To modify container by overriding an external network - modify_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation modify_container -containerName name_of_container

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation modify_container -containerName LargeGoldContainer

Do you want to override dynamic addressing components []: y
Do you want to specify address space overrides []: n
Do you want to specify address pool overrides []: n
Do you want to specify external network segment overrides []: y
Enter external network segment name: OUTSIDE
Enter network address: 45.0.0.0
Enter network mask (dotted decimal): 255.255.255.0

Note

You can specify runtime parameters with values and the following flags with the value true or false as needed while using the modify_container operation.

  • ignoreModifyErrorsFlag: Flags whether to ignore errors that occur while reconfiguring devices during the attempt and update the resources in the container.
  • skipUnmodifyFlag: Flags whether to skip the attempt to unmodify what was modified.
  • ignoreUnmodifyErrorsFlag: Flags whether to ignore errors that occur while reconfiguring devices during the unmodify attempt, and update the resources in the container.

Back to top

To create containers after successful pod creation - provision_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation provision_container -podName created_pod_name -containerName name_of_container -containerBlueprintName blueprint_name -v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation provision_container -podName LargePod -containerName LargeGoldContainer -containerBlueprintName "Large Gold Container Blueprint" -v

Notes

  • The container name length must not exceed the maximum allowed by the device to be configured. The API validates the container name before starting the container creation. The maximum length of the container name can be set using the BMC Network Automation global property, vdcMaxVirtualGuestFullNameLength. See Default global.properties file. If a value is not specified, the maximum length is defaulted to 32 characters.
  • When creating a container, if you want to use a round robin methodology to select a pod instead of the default capacity methodology, you must change the value of the BMC Network Automation global property, roundrobinPodNodeSelection, to true. You can also use the round robin methodology for selecting pod node pairs for a container by changing the value of the BMC Network Automation global property, roundrobinPodPairSelection, to true. See Default global.properties file.

Back to top

To decommission all NICs of a particular NIC server - release_all_server_nic_addresses

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation release_all_server_nic_addresses -containerName name_of_container -nicServerName nic_Server_Name –additionalParams additional_params -skipIPAMOperation skip_IPAM_operation_flag v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation release_all_server_nic_addresses -containerName LargeGoldContainer -nicServerName NICServer1 -v -additionalParams "transactionId:iuyuy-kklljl-9988,nicId:7" -skipIPAMOperation false -v

Back to top

To release a NAT address from a pool - release_nat_address

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation release_nat_address -containerName name_of_container -publicNatAddressValue public_ip_address_to_be_released -releaseOnFailure release_on_failure_flag –additionalParams additional_params-skipIPAMOperation skip_IPAM_operation_flag v

Example

container-util.bat-url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation release_nat_address -containerName LargeGoldContainer -publicNatAddressValue 12.2.0.3 -releaseOnFailureFlag true -additionalParams "transactionId:iuyuy-kklljl-9988,nicId:7" -skipIPAMOperation true –v

Back to top

To decommission a specified NIC - release_virtual_server_nic_address

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation release_virtual_server_nic_address -containerName name_of_container -nicName nic_name -nicServerName nic_server_name additionalParams additional_params skip_IPAM_operation_flag v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation release_virtual_server_nic_address -containerName LargeGoldContainer -nicName NIC-1 -nicServerName NICServer1 -additionalParams "transactionId:iuyuy-kklljl-9988,nicId:7" -skipIPAMOperation false -v

Back to top

To reprovision a container - reprovision_container

Use the following command:

container-util.bat -url bna_app_server_url -user bna_app_server_user_name -password bna_app_server_password -operation
reprovision_container -containerName name_of_container -containerBlueprintName name_of_container_blueprint_to_be_reprovision -restrictedReprovisioningFlag restricted_reprovisioning_flag (true or false) -v

Example

container-util.bat -url https://vw-pun-bna-pt01 -user sysadmin -password sysadmin1 -operation reprovision_container -containerName LargeGoldContainer -containerBlueprintName "Large Gold Container Blueprint" -restrictedReprovisioningFlag false -v

Note

The restrictedReprovisioningFlag only allows reversible content to be added during reprovisioning. By default, the restrictedReprovisioningFlag is set to true. For details about the restricted reprovisioning mode, see Configuring a reprovisioning operation in BMC Network Automation for network containers.

Back to top

Using the API

The BMC Network Automation Web Services API fully exposes the information in the underlying Pod and Container Management (PCM) engine model to facilitate customizations and automated testing. The structure of the BMC Network Automation API reflects the underlying PCM model structure with some concessions made for the differences between the BMC Cloud Lifecycle Management and BMC Network Automation versions of the PCM model. Those differences are masked using Selector Data Transfer Objects (DTOs), which are similar to Union data types in the C programming language. In this case, you can populate some attributes if you select objects by using the BMC Cloud Lifecycle Management paradigm, and other attributes if you select objects by using the BMC Network Automation paradigm.

The Pod and Container Management (PCM) functionality in BMC Network Automation is only available if your deployment has BMC Cloud Lifecycle Management and the Virtual Data Center (VDC) is enabled in your BMC Network Automation. See Enabling the Virtual Data Center in the BMC Network Automation online technical documentation.

The PCM services and DTOs are distributed as part of the BMC Network Automation Web Services API in the ZIP file described on the Distribution files page.

The BMC Network Automation Web Services API provides a set of PCM classes which abstract the lower-level web service functionality into a set of easy-to use classes. In addition to the service classes, the PCM portion of the API provides a set of DTO classes. DTOs are related to each service class. The firewall and zone components of the PCM model are implemented entirely as DTOs. See Using the API reference sections in the BMC Cloud Lifecycle Management online technical documentation for information about accessing the Javadoc describing the DTOs.

The following sections document the key methods in each of the PCM classes.

Note

You can find a complete list of methods along with additional details on the method return values, exceptions, and parameters in the Javadoc provided in the BMC Network Automation Web Services distribution files (BCAN_HOME\public\bmc\bca-networks\extras\bcan-ws-clientapi-v.r.mm.zip). See Using the API reference sections in the BMC Cloud Lifecycle Management online technical documentation for information about accessing the Javadoc.

AddressingService class

The AddressingService class offers methods operations acquiring and releasing addresses within a particular container.

Retrieve the WSDL for this service by using the https://server:port/bca-networks/services/AddressingService?wsdl URL.

Method
Description
acquireNatAddress()

(Deprecated in version 8.5.01) Acquires an address from the public or private address pool associated with the private address pool from which the specified private address was already acquired.

acquireNatAddress2()

Acquires an address from the public or private address pool like the acquireNatAddress() method, but with the following differences:

  • Includes registerDNS, an additional parameter to register the DNS. If this parameter and performDnsOperation, the global parameter, are set to true, the API call first acquires the IP address and then, depending on the value of the registerDNS flag, also adds a DNS record to the DNS servers.
  • Includes additionalParams, an array of NameValueDTO that can be used to pass any additional parameters to only the third-party IPAM workflows in BMC Atrium Orchestrator for further customization.

Note: This API does not support DNS registration and deregistration in BMC Network Automation version 8.5.01. Set registerDNS to false for this API.

acquirePhysicalServerNicAddress()

(Deprecated in version 8.5.01) Acquires an address for the specified physical NIC that is being provisioned to the specified attach point (physical port) in the specified physical switch.

acquirePhysicalServerNicAddress2()

Acquires an address for the specified physical NIC like the acquirePhysicalServerNicAddress() method, but with the following differences:

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

acquireRogueAddress()

Acquires the next available address from the specified address pool.

acquireSpecificNatAddress()

(Deprecated in version 8.6.00.001) Acquires a specific address from the public address pool associated with the private address pool from which the specified private address was already acquired.

acquireSpecificNatAddress2()

 

 

(Version 8.6.00.001 and later) Acquires a specific address from the public address pool associated with the private address pool from which the specified private address was already acquired, but with the following difference:

Includes skipAcquireIPAMOperation, an additional parameter that indicates whether BMC Network Automation should skip the actual Acquire Address operation on the IPAM system.

  • If this parameter is set to true, the desired address is in an "acquired" state in the IPAM system, and BMC Network Automation simply confirms that the desired address is in the "Used address list" without performing the Acquire Address operation on the IPAM system. 
  • If this parameter is set to false, BMC Network Automation performs the Acquire Address operation on the IPAM system.

acquireSpecificPhysicalServerNicAddress()

(Deprecated in version 8.6.00.001) Acquires an address for the specified physical NIC that is being provisioned to the specified attach point (physical port) in the specified physical switch.

acquireSpecificPhysicalServerNicAddress2()(Version 8.6.00.001 and later) Acquires an address for the specified physical NIC that is being provisioned to the specified attach point (physical port) in the specified physical switch, but with the following difference:

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

acquireSpecificRogueAddress()

(Deprecated in version 8.6.00.001) Acquires the specified desired address from the specified address pool.

acquireSpecificRogueAddress2()

(Version 8.6.00.001 and later) Acquires the specified desired address from the specified address pool, but with the following difference:

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

acquireSpecificVirtualServerNicAddress()

(Deprecated in version 8.6.00.001) Acquires an address for the specified virtual NIC that is being provisioned to the specified attach point (virtual port created from a virtual port type) in the specified virtual switch.

acquireSpecificVirtualServerNicAddress2()

(Version 8.6.00.001 and later) Acquires an address for the specified virtual NIC that is being provisioned to the specified attach point (virtual port created from a virtual port type) in the specified virtual switch, but with the following difference:

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

acquireVirtualServerNicAddress()

(Deprecated in version 8.5.01) Acquires an address for the specified virtual NIC that is being provisioned to the specified attach point (virtual port created from a virtual port type) in the specified virtual switch.

acquireVirtualServerNicAddress2() Acquires an address for the specified virtual NIC like the acquireVirtualServerNicAddress() method, but with the following difference:
Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods
excludeIPAddresses()(Deprecated in version 8.5.00) Excludes given IP addresses from address pools.
getDnsinfo()Retrieves the DNS information of the specified acquired address, irrespective of whether the IP address is acquired or not from an address pool.

reincludeIPAddresses()

(Deprecated in version 8.5.00) Re-includes given IP addresses (that were previously excluded) into address pools.

releaseAllServerNicAddresses()

(Deprecated in version 8.5.01) Releases the addresses previously acquired for all NICs (physical or virtual) associated with the specified server back to their address pools and removes their references from the container.

releaseAllServerNicAddresses2()

(Deprecated in version 8.6.00.001)  Releases the addresses previously acquired for all NICs like the releaseAllServerNicAddresses() method.

This method includes additionalParams, an array of NameValueDTO that can be used to pass any additional parameters to only the third-party IPAM workflows in BMC Atrium Orchestrator for further customization.
releaseAllServerNicAddresses3()

(Version 8.6.00.001 and later) Releases the addresses previously acquired for all NICs like the releaseAllServerNicAddresses2() method, but with the following difference:

Includes skipReleaseIPAMOperation, an additional parameter that indicates whether BMC Network Automation should skip the actual Release Address operation on the IPAM system.

  • If this parameter is set to true, the desired address is in a "released" state in the IPAM system, and BMC Network Automation simply removes the NIC details from its database without performing the Release Address operation on the IPAM system. 
  • If this parameter is set to false, BMC Network Automation performs the Release Address operation on the IPAM system.
releaseNatAddress()

(Deprecated in version 8.5.01) Releases the specified public NAT address back to its address pool and removes its reference from the container.

releaseNatAddress2()

(Deprecated in version 8.6.00.001)  Releases the specified public NAT address like the releaseNatAddress() method.

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

Note: This API does not support DNS registration and deregistration in BMC Network Automation version 8.5.01.

releaseNatAddress3()

(Version 8.6.00.001 and later) Releases the specified public NAT address like the releaseNatAddress2() method, but with the following difference:

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

releasePhysicalServerNicAddress()

(Deprecated in version 8.5.01) Releases an address previously acquired for the specified physical server NIC back to its address pool and removes its reference from the container.

releasePhysicalServerNicAddress2()

(Deprecated in version 8.6.00.001)  Releases an address previously acquired for the specified physical server NIC like the releasePhysicalServerNicAddress() method.

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

releasePhysicalServerNicAddress3()

(Version 8.6.00.001 and later) Releases an address previously acquired for the specified physical server NIC like the releasePhysicalServerNicAddress2() method, but with the following difference:

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

releaseRogueAddress()

(Deprecated in version 8.6.00.001) Releases a previously acquired rogue address back to its address pool and removes it reference from the container.

releaseRogueAddress2()

(Version 8.6.00.001 and later) Releases a previously acquired rogue address back to its address pool and removes it reference from the container like the releaseRogueAddress() method, but with the following difference:

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

releaseVirtualServerNicAddress()

(Deprecated in version 8.5.01) Releases an address previously acquired for the specified virtual server NIC back to its address pool and removes its reference from the container.

releaseVirtualServerNicAddress2()

(Deprecated in version 8.6.00.001)  Releases an address previously acquired for the specified virtual server NIC like the releaseVirtualServerNicAddress() method.

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

 releaseVirtualServerNicAddress3()

(Version 8.6.00.001 and later) Releases an address previously acquired for the specified virtual server NIC like the releaseVirtualServerNicAddress2() method, but with the following difference:

Unable to render {multiexcerpt-include} A multiexcerpt-include cannot reference a multiexcerpt which embeds it. Page:Virtual Data Center API classes and methods

ContainerBlueprintService class

The ContainerBlueprintService class provides container blueprint related operations.

Retrieve the WSDL for this service by using the https://server:port/bca-networks/services/ContainerBlueprintService?wsdl URL.

Method
Description
describeIncompatability()

Returns a description of the ways in which the specified container blueprint is incompatible with the specified pod.

getAllBlueprints()

(Version 8.5.01 and later) Returns information about all the container blueprints.

getAllBlueprintNames()Returns a list of all container blueprint names.
getBlueprint()Returns information about the given container blueprint.

getCompatibleBlueprintNames()

Returns a list of container blueprints compatible with the specified pod.

getRuntimeParamNames()

Returns the set of runtime parameter names in container blueprint.

isCompatible()

Returns a description of the ways in which the specified container blueprint is compatible with the specified pod.

provisionContainer()

Provisions a container on the specified pod using the specified container blueprint.

reprovisionContainer()

(Deprecated in version 8.5.00) Reprovisions a container by using an updated version of the blueprint which was used to originally provision it. Use reprovisionContainer2().

reprovisionContainer2()

Reprovisions a container by using the specified container name and blueprint name. Reprovisioning a container updates the structure of the container by using the new blueprint, which involves the following actions:

  • Adding new content that is present in the blueprint but missing from the container
  • Modifying existing content in a limited fashion

Back to top

ContainerService class

The ContainerService class provides container-related lifecycle operations.

Retrieve the WSDL for this service by using the https://server:port/bca-networks/services/ContainerService?wsdl URL.

Method
Description
connectPhysicalServerNic()

Executes a job to configure the specified attach point (port) in the physical switch to support traffic on its associated VLAN.

deprovisionContainer()Deprovisions a container.
getAllContainerNames()Returns a list of all container names.
getAllContainerNodes()Returns information about all nodes in a container.
getAllContainerPairs()Returns information about all pairs in a container.
getContainer()Returns information about the given container.
getContainerJobs()

Returns the IDs of the jobs that were executed during provision, container and deprovision of the given container.

getContainerNamesInPod()

Returns the container names associated with a given pod.

getRuntimeParamNames()

Returns the runtime parameters that would be needed if you were to modify the container to toggle
component states as specified.

modifyContainer()

Modifies the container by toggling dynamic components (NIC segments, VLBs and VFWs) as specified.

Back to top

DNSService class

The DNSService class provides methods for DNS registration and deregistration for non-BMC Network Automation containers such as Amazon Web Service (AWS) and Azure in BMC Cloud Lifecycle Management. This public API further calls the BMC Atrium Orchestrator DNS workflows, which perform DNS registration and de-registration.

Note

This API supports only IPv4 DNS records, not IPv6 DNS records.

Retrieve the WSDL for this service by using the https://server:port/bca-networks/services/DNSService?wsdl URL:

Method

Description

deregisterDNS()Deregisters the DNS by using the host name and IP address from the specified DNS server.

If a DNS record is not found in the DNS server, deregistration does not fail, instead, the API returns true.

registerDNS()

Registers the DNS by using the host name and IP address in the specified DNS server.

Back to top

IPAMService class

The IPAMService class provides IP address management-related operations.

Retrieve the WSDL for this service by using the https://server:port/bca-networks/services/IPAMService?wsdl URL:

Method

Description

acquireAddress()

Acquires the next available IP address from the pool. Once an address is acquired it cannot be acquired
again before it is released.

acquireBlock()

Acquires an entire block of addresses, including the startAddress and extending to startAddress+blockSize (exclusive).

If the range of addresses involved is not entirely free, an IllegalArgumentexception occurs.

acquireSpecificAddress()

Acquires an IP address from the pool. If the specified address is not free, an IllegalArgumentexception occurs.

createRange()

Creates a range of continuous pools of the specified size and returns the list of pool IDs.

You can specify the network and subnet mask in the dotted decimal or CIDR format.

Note: If the pools do not exist in the IP Address Management (IPAM) system, they will be automatically created as a side effect of reserving them.

deletePool()

Deletes an address pool with the specified pool ID.

deleteRange()

Frees and deletes all of the specified pools, which are assumed to comprise a particular range that was previously reserved.

excludeAddresses()

Excludes specified IP addresses with given exclusion scopes from address pools.

The input to the excludeAddresses() API is NameValueDTO where the <name> tag specifies the optional exclusion scopes and the <value> tag specifies the IP addresses to be excluded.

  • If the exclusion scope is null or empty, addresses are excluded globally. In other words, the specified addresses are excluded for use within all pods and containers.

    Note

    The exclusion scope value is not considered for the Infoblox IPAM provider. As a result, addresses are excluded at a global level.

  • If the exclusion scope has a non-null value, the specified addresses are excluded only from those subnets that have a matching exclusion scope as described below:
    • If the exclusion scope value is the same as the pod name, the address is excluded for use within the pod address ranges and pod address pools owned by the specified pod.
    • If the exclusion scope value is the same as the container.container name, the address is excluded for use within the address spaces owned by the specified container.

This API is supported for the BMC Network Automation home-grown IPAM provider and third-party IPAM providers. 

freePool()

Releases or unallocates all the addresses that are previously acquired from the pool.

getExcludedAddresses()

Returns a list of excluded IP addresses with optional matching input exclusion scope.

If exclusion scope is not specified, it fetches a list of excluded IP addresses with GLOBAL scope.

getFreeAddresses()

Returns a list of free IP addresses from address pool with specified pool id.

getPool()

Returns the address pool details of specified pool ID.

getPools()

Returns a list of address pools from the IPAM system.

getUsedAddresses()

Returns a list of used IP addresses from an address pool with a specified pool ID.

reincludeAddresses()

Reincludes specified IP addresses that were earlier excluded with given exclusion scope into address pools.

The input to the reincludeAddresses() API is NameValueDTO where the <name> tag specifies the optional exclusion scopes and the <value> tag specifies the IP addresses to be reincluded.

  • If the exclusion scope is null or empty, addresses which are excluded globally are reincluded.
  • If the exclusion scope has a non-null value, the specified addresses are reincluded only from those subnets that have a matching exclusion scope as described below:
    • If the exclusion scope value is the same as the pod name, the address, which was earlier excluded, is reincluded for use within the pod address ranges and pod address pools owned by the specified pod.
    • If the exclusion scope value is the same as the container.container name, the address, which was earlier excluded, is reincluded for use within the address spaces owned by the specified container.

This API is only supported for the BMC Network Automation home-grown IPAM provider because the operation is not supported for third-party IPAM providers.

releaseAddress()

Releases the specified IP address from the given address pool.

reservePool()

Reserves a specific pool that is not part of any particular range. You can specify the subnet mask in the dotted decimal or CIDR format.

Back to top

LoadBalancerService class

The LoadBalancerService class provides operations for administering server load balancing within a given container.

Retrieve the WSDL for this service by using the https://server:port/bca-networks/services/LoadBalancerService?wsdl URL.

Method
Description
addPool()

Executes a job to add a pool of the specified type to the specified Virtual Load Balancer (VLB) device.

Note: BMC Network Automation cannot create an LB pool and a pool entry in one request.

addPoolEntries()

Executes a job to add the specified entries to the specified pool in its associated VLB device.

disablePoolEntries()

Executes a job to disable the specified entries in the specified pool in its associated VLB device.

enablePoolEntries()

Executes a job to enable the specified entries in the specified pool in its associated VLB device.

getAllPoolNames()

Returns names of load balancer pools within the load balancer in the specified container and zone.

getPool()Returns the specified load balancer pool and all of its entries.
removePool()

Executes a job to remove the specified pool from its associated VLB device.

removePoolEntries()

Executes a job to remove the specified entries from the specified pool from its associated VLB device.

Back to top

PodService class

The PodService class provides pod-related operations.

Retrieve the WSDL for this service by using the https://server:port/bca-networks/services/PodService?wsdl URL.

Method
Description
addAddressPoolAdds an address pool with the given information to the specified pod.
addVlanPool()

Adds a VLAN pool with the given information to the specified pod.

deleteAddressPool()Deletes an address pool with the given name and given pool address from the specified pod.

deletePod()

Deletes a pod with a specified name.
deleteVlanPool()

Deletes a VLAN pool with the given name from the specified pod. If multiple VLAN pools exist with the given VLAN pool name (as can happen when they are chained from the Webapp's Limited Pod Editor of BMC Network Automation), this call deletes all the pools whose VLANs are not used.

getAllPodNames()Returns the names of all pods.
getAllPodNodes()Returns information about all the nodes in a pod.
getAllPodPairs()Returns information about all the pairs in a pod.
getPod()Returns information about a given pod.

Back to top

SecurityService class

The SecurityService class provides operations for administering firewall security within a given container.

Retrieve the WSDL for this service by using the https://server:port/bca-networks/services/SecurityService?wsdl URL.

Method
Description
addFirewallRules()

Executes a job to add rules to a particular ACL in a Virtual Firewall (VFW).

Note: Although BMC Network Automation allows you to add a disabled firewall rule, BMC Network Automation never transfers the rule to the device.

addPathRules()Adds path rules and returns FirewallAclUpdateDTO [] as a response.
addPathRules2()Adds path rules and returns PathRuleDTO[] as a response.
getAllFirewallRules()Returns all firewall rules for the specified ACL in a VFW.
getAllPathRules()

Returns all path rules for the specified container from the BMC Network Automation database.

persistExternalPathRules()

Persists high level path rules in BMC Network Automation.
removeFirewallRules()

Executes a job to remove rules from a particular ACL in a VFW (if they are present).

removePathRules()Removes path rules (if they are present).
replaceFirewallRules()Executes a job to replace rules in a particular ACL in a VFW.
Note: You can access the rules for a particular ACL either by using the name or the nameWIthinFirewall parameter of the interface. In the BMC Cloud Lifecycle Management GUI, the Network Containers > Manage Firewall Rules > Interface values map to the values in the Name or Name Within Firewall column in the Container view > VFW > Managed Interface section in the BMC Network Automation GUI.

Back to top

Viewing the javadocs for the web services

Perform the following steps to view the javadocs for the BMC Network Automation web services:

  1. Unzip the most recent BCAN_INSTALL\BCA-Networks\public\bmc\bca-networks\extras\bcan-ws-clientapi-8.6.xx.zip file.
  2. Identify the destination directory for the .zip file.
  3. Navigate to the API_Destination_Directory \bcan-ws-clientapi\apidocs directory.
  4. Open the overview-frame.html file. A page displays that provides links to the various DTOs and web service APIs.
  5. Click the com.bmc.bcan.ws.shared link. A page displays that provides links to the javadocs for the various BMC Network Automation web services.

Back to top