Alkira vendor logo

Vendor

Alkira

Product

Cloud Network as a Service

OS Versions:

^3.227.0+2023.1.33

Method

REST

Category

Cloud

Project Type

Example Project


View Repository
Workflow

Alkira - Example Use Cases

Overview

This Pre-Built Automation bundle contains an example use case that is applicable when the Itential Automation Platform is integrated with Alkira Cloud Network as a Service, AWS EC2, and Itential Automation Gateway (IAG) using their respective REST API. Because every environment is different, these use cases are fully functioning examples that can be easily modified to operate in your specific environment. These workflows have been written with modularity in mind to make them easy to understand and simple to modify to suit your needs.

Example Workflows

NameOverview
Provision Cloud ApplicationGiven values provided in form input, provisions VPC and EC2 with networking in AWS, provisions and configures Palo Alto Firewall service in Alkira Cloud Network as a Service as intermediate between on prem site and cloud application, and creates AWS VPC and Internet conntectors in Alkira Cloud Network as a Service.

For further technical details on how to install and use this Example Project, please click the Technical Documentation tab.

Table of Contents

Getting Started

This section is helpful for deployments as it provides you with pertinent information on prerequisites and properties.

Helpful Background Information

Workflows and processes often include logic that varies from business to business. Our Example Projects are more complex processes that include several of our modular components to build a more complete process.

While these can be utilized, you may find more value in using them as a starting point to build around.

Prerequisites

Itential Example Projects are built and tested on particular versions of IAP. In addition, Example Projects are often dependent on external systems and as such, these Example Projects will have dependencies on these other systems. This version of Alkira - REST - Example has been tested with:

  • IAP 2023.2

External Dependencies

NameOS VersionAPI Version
AWS
Alkirav1
Itential Automation Gateway (IAG)^3.227.0+2023.1.33

Adapters

NameVersionConfiguration Notes
adapter-aws_ec2^0.7.2In order to run the workflows in this Pre-Built Automation, the adapter property xmlArrayKeys must be added to the AWS EC2 adapter configuration with value as seen below:
"xmlArrayKeys": [
  "item"
]

This will ensure all response objects will set the data type of any instance of property item to an array, even if a single element is assigned to the property.

adapter-alkira^0.1.7
adapter-automation_gateway4.29.0-2023.1.12.0

How to Install

To install the Example Project:

  • Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the Supported IAP Versions section in order to install the Example Project.
  • Import the Example Project in Admin Essentials.

Testing

Cypress is generally used to test all Itential Example Projects. While Cypress is an opensource tool, at Itential we have internal libraries that have been built around Cypress to allow us to test with a deployed IAP.

When certifying our Example Projects for a release of IAP we run these tests against the particular version of IAP and create a release branch in GitLab. If you do not see the Example Project available in your version of IAP please contact Itential.

While Itential tests this Example Project and its capabilities, it is often the case the customer environments offer their own unique circumstances. Therefore, it is our recommendation that you deploy this Example Project into a development/testing environment in which you can test the Example Project.

Using this Example Project

Example Projects contain 1 or more workflows. Each of these workflows have different inputs and outputs.

Provision Cloud Application

Given values provided in form input, provisions VPC and EC2 with networking in AWS, provisions and configures Palo Alto Firewall service in Alkira Cloud Network as a Service as intermediate between on prem site and cloud application, and creates AWS VPC and Internet conntectors in Alkira Cloud Network as a Service.

Capabilities include:

  • Provisions VPC and EC2 instance in AWS with networking
  • Provisions and configures Palo Alto Firewall service in Alkira as intermediate between on prem location and cloud application
  • Creates AWS VPC and Internet connectors in Alkira

Entry Point IAP Component

The primary IAP component to run Provision Cloud Application is listed below:

IAP Component NameIAP Component Type
Provision Cloud ApplicationOperations Manager Automation

Inputs

The following table lists the inputs for Provision Cloud Application:

NameTypeRequiredDescriptionExample Value
ingressRulesarrayyesList of rules
[
  {
    "sourceSubnetCidrMask": 32,
    "sourceIp": "199.27.253.134",
    "protocol": "TCP",
    "port": 80
  }
]
vpcSubnetstringyesThe IPv4 network range for the VPC, in CIDR notation
10.20.30.1/28
imageIdstringyesThe ID of the Amazon Machine Image (AMI) for EC2 created
ami-041feb57c611358bd
instanceTypestringyesThe EC2 instance type
t2.micro
keyNamestringnoThe name of the key pair. If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
key-name
tenantNetworkIdnumberyesThe id of the tenant network
170
customerNamestringyesName of customer
customer
internetConnectorGroupstringyesName of group to add internet connection to
inet-zone
internetConnectorAlgorithmstringyesThe type of algorithm to be used for traffic distribution
HASHING
internetConnectorKeysstringyesKeys for algorithm for traffic distribution. Values are DEFAULT or SRC_IP
DEFAULT
cxpRegionstringyesThe name of the CXP. A network is usually associated with one or more CXPs. A connector can be placed on any CXP that is associated with the network. Valid values are 'US-WEST', 'US-EAST', 'US-WEST-1', 'US-EAST-2', 'EU-WEST-1', 'EU-WEST-2', 'AP-SOUTH-1', 'EU-CENTRAL', 'AP-NORTHEAST', 'AP-SOUTHEAST', 'AP-NORTHEAST-2', 'AP-SOUTHEAST-1', 'USEAST-AZURE-2', 'USCENTRAL-AZURE-3'
US-WEST-1
awsRegionstringyesThe name of the AWS region associated with the VPC
us-west-1
awsVpcConnectorGroupstringyesName of group to add this AWS VPC connection to
PROD-AWS
awsVpcConnectorSizestringyesThe size of the AWS VPC connector. Can be 'SMALL', 'MEDIUM', 'LARGE', '2LARGE'
SMALL
usernamestringyesUsername credential for provisioning Palo Alto firewall
username
passwordstringyesPassword credential for provisioning Palo Alto firewall
password
prodAwsZonearrayyesMapping of zone name 'prod-aws-zone' to group. The groups that can be mapped to a zone MUST be of type 'EXPLICIT', 'USER_GROUP' or 'SEGMENT_RESOURCE'. To get a list of groups that can be used with zones use the Groups API.
[
  "PROD-AWS"
]
onPremZonearrayyesMapping of zone name 'on-prem-zone' to group. The groups that can be mapped to a zone MUST be of type 'EXPLICIT', 'USER_GROUP' or 'SEGMENT_RESOURCE'. To get a list of groups that can be used with zones use the Groups API.
[
  "OnPrem"
]
inetZonearrayyesMapping of zone name 'inet-zone' to group. The groups that can be mapped to a zone MUST be of type 'EXPLICIT', 'USER_GROUP' or 'SEGMENT_RESOURCE'. To get a list of groups that can be used with zones use the Groups API.
[
  "INET-Connector"
]
prodAzureZonearrayyesMapping of zone name 'prod-azure-zone' to group. The groups that can be mapped to a zone MUST be of type 'EXPLICIT', 'USER_GROUP' or 'SEGMENT_RESOURCE'. To get a list of groups that can be used with zones use the Groups API.
[
  "PROD_AZURE"
]
maxInstanceCountnumberyesThe maximum number of PAN instances that should be deployed when auto-scale is enabled
1
minInstanceCountnumberyesThe minimum number of PAN instances that should be deployed at any point of time. In case of Global Protect minInstanceCount should be same as maxInstanceCount as the auto-scale is not supported with Global Protect enabled
1
globalProtectEnabledbooleanyesIndicates if global protect feature should be supported or not for the given pan service. For global protect to work bundle must be set to 'VM_SERIES_BUNDLE_2'
false
panoramaEnabledbooleanyesThis should be set to true if Panorama is enabled
true
credentialIdstringyesAn opaque identifier which is generated when storing PAN credentials. See https://.portal.alkira.com/doc/api.html#operation/addPANCredentialsUsingPOST
alkira-credentials
tunnelProtocolstringyesSupported tunnel protocol types, 'IPSEC' and 'GRE'. For Azure regions, only IPSEC is supported
IPSEC
registrationPinstringyesPAN Registration value required for automated deployments to securely access the device certificate and other Palo Alto cloud-delivered services
2abfbad825a4233b8d1e243a07925a2c
registrationPinIdstringyesPAN Registration ID required for automated deployments to securely access the device certificate and other Palo Alto cloud-delivered services
a52685ac-1fb8-4a90-b891-18cf9b461237
expirationDatestringyesExpiration date of PAN registration PIN
2024-02-08T15:55:04.651Z
licenseTypestringyesType of license to use, values are 'BRING_YOUR_OWN' or 'PAY_AS_YOU_GO'
PAY_AS_YOU_GO
bundlestringyesThis indicates the software image bundle that would be used for PAN instance deployment. This is applicable for licenseType 'PAY_AS_YOU_GO' only. If not provided default 'PAN_VM_300_BUNDLE_2' would be used. However 'PAN_VM_300_BUNDLE_2' is legacy bundle and is no more supported on AWS. It is recommended to use 'VM_SERIES_BUNDLE_1' and 'VM_SERIES_BUNDLE_2' (supports Global Protect)
VM_SERIES_BUNDLE_1
paloAltoFirewallServiceSizestringyesThe size of the Palo Alto Firewall. Can be 'SMALL', 'MEDIUM', 'LARGE'
SMALL
versionstringyesThe version of Palo Alto firewall that should be deployed
9.1.3
segmentstringyesName of the segment to be used in segment options for the provisioned Palo Alto Firewall service. Note segment must be associated with tenant network Id chosen for this automation
CORP
awsEc2AdapterstringyesName of the adapter to use to send commands to AWS EC2
alkira
automationGatewayAdapterstringyesName of the adapter to use to send commands to Itential Automation Gateway (IAG)
alkira
alkiraAdapterstringyesName of the adapter to use to send commands to Alkira Network as a Service
alkira

Outputs

There are no outputs for Provision Cloud Application.

Query Output

There are no query output examples for Provision Cloud Application.

Example Inputs and Outputs

Example 1

Input:

{
  "formData": {
    "aws": {
      "ingressRules": [
        {
          "sourceSubnetCidrMask": 24,
          "port": 80,
          "sourceIp": "10.0.0.0",
          "protocol": "TCP"
        },
        {
          "sourceSubnetCidrMask": 24,
          "port": 443,
          "sourceIp": "10.0.0.0",
          "protocol": "TCP"
        }
      ],
      "vpcSubnet": "192.168.84.0/24",
      "imageId": "ami-05014f9776cc26f27",
      "instanceType": "t2.micro",
      "keyName": "itential-california-key"
    },
    "alkira": {
      "tenantNetworkId": 170,
      "customerName": "CustomerName",
      "internetConnectorGroup": "inet-zone",
      "internetConnectorAlgorithm": "HASHING",
      "internetConnectorKeys": "DEFAULT",
      "cxpRegion": "US-WEST-1",
      "awsRegion": "us-west-1",
      "awsVpcConnectorGroup": "PROD-AWS",
      "awsVpcConnectorSize": "SMALL"
    },
    "paloAlto": {
      "username": "username",
      "maxInstanceCount": 1,
      "minInstanceCount": 1,
      "globalProtectEnabled": false,
      "panoramaEnabled": false,
      "prodAwsZone": [
        "OnPrem"
      ],
      "onPremZone": [
        "PROD-AWS"
      ],
      "inetZone": [
        "INET-Connector"
      ],
      "prodAzureZone": [
        "PROD_AZURE"
      ],
      "credentialId": "17afa9b7-12f9-a534-1549-1adba240a130",
      "tunnelProtocol": "IPSEC",
      "registrationPin": "2abab1d825a4433b8d17223a07827f1b",
      "registrationPinId": "ba1655da-2de8-5c30-ae78-b6cf1b5168ca",
      "expirationDate": "2024-02-09T22:20:27.493Z",
      "password": "password",
      "licenseType": "PAY_AS_YOU_GO",
      "bundle": "VM_SERIES_BUNDLE_1",
      "paloAltoFirewallServiceSize": "SMALL",
      "version": "9.1.3",
      "segment": "CORP"
    },
    "iap": {
      "awsEc2Adapter": "aws-ec2",
      "automationGatewayAdapter": "automation-gateway",
      "alkiraAdapter": "alkira"
    }
  }
} 

Output:

{} 

API Links

API NameAPI Documentation LinkAPI Link Visibility
Create AWS VPC Connectorhttps://{instance_name}.portal.alkira.com/doc/api.html#operation/createAWSVPCConnectorPrivate
Create Internet Connectorhttps://{instance_name}.portal.alkira.com/doc/api.html#operation/createInternetConnectorPrivate
List all Segmentshttps://{instance_name}.portal.alkira.com/doc/api.html#operation/getsegmentsPrivate
Add Palo Alto Credentialshttps://{instance_name}.portal.alkira.com/doc/api.html#operation/addPANCredentialsUsingPOSTPrivate
Add Palo Alto Registration Credentialshttps://{instance_name}.portal.alkira.com/doc/api.html#operation/addPANRegistrationCredentialsUsingPOSTPrivate
Add Palo Alto Instance Credentialshttps://{instance_name}.portal.alkira.com/doc/api.html#operation/addPANInstanceCredentialsUsingPOSTPrivate
Create a Palo Alto Firewall Servicehttps://{instance_name}.portal.alkira.com/doc/api.html#operation/createPANFWServicePrivate
Itential Automation Gateway (IAG) Netmiko Customized Templatehttps://docs.itential.com/docs/execution-flow-by-role-type-2023-1#netmiko-customized-templatesPublic
AWS EC2 API Referencehttps://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.htmlPublic
Authorize Security Group Ingress - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AuthorizeSecurityGroupIngress.htmlPublic
Create Internet Gateway - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateInternetGateway.htmlPublic
Attach Internet Gateway - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttachInternetGateway.htmlPublic
Run Instances - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.htmlPublic
Describe Instance Status - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceStatus.htmlPublic
Create Tags - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.htmlPublic
Create Route - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateRoute.htmlPublic
Configure Route Tables - AWS EC2https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.htmlPublic
Describe Route Tables - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeRouteTables.htmlPublic
Create Security Group - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.htmlPublic
Authorize Security Group Ingress - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AuthorizeSecurityGroupIngress.htmlPublic
Create VPC - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpc.htmlPublic
Create Subnet - AWS EC2https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSubnet.htmlPublic

Additional Information

Support

Please use your Itential Customer Success account if you need support when using this Workflow Project.