Skip to content

Commit

Permalink
Add firewall sequence number when adding relations
Browse files Browse the repository at this point in the history
Change-Id: I026b5288b56c926c06ebe332c332ae65e56658d6
Closes-Bug: #1781621
  • Loading branch information
magdalena-zaremba committed Aug 3, 2018
1 parent fba436c commit 1df4958
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 1 deletion.
Expand Up @@ -117,7 +117,9 @@ val customAddReference = setOf(
pair<FloatingIp, VirtualMachineInterface>(),
pair<VirtualNetwork, NetworkPolicy>(),
pair<ServiceHealthCheck, ServiceInstance>(),
pair<VirtualNetwork, NetworkIpam>()
pair<VirtualNetwork, NetworkIpam>(),
pair<FirewallPolicy, FirewallRule>(),
pair<ApplicationPolicySet, FirewallPolicy>()
)

val customRemoveReference = setOf(
Expand Down
@@ -0,0 +1,10 @@
var policies = item.getFirewallPolicy();
var count = 0;
if (policies){
count = policies.length;
}
var sequence = new ContrailFirewallSequence(count.toString());

item.addFirewallPolicy(child, sequence);

item.update();
@@ -0,0 +1,10 @@
var rules = item.getFirewallRule();
var count = 0;
if (rules){
count = rules.length;
}
var sequence = new ContrailFirewallSequence(count.toString());

item.addFirewallRule(child, sequence);

item.update();
@@ -0,0 +1,34 @@
/*
* Copyright (c) 2018 Juniper Networks, Inc. All rights reserved.
*/

package net.juniper.contrail.vro.workflows.custom

import net.juniper.contrail.api.types.ApplicationPolicySet
import net.juniper.contrail.api.types.FirewallPolicy
import net.juniper.contrail.vro.config.constants.child
import net.juniper.contrail.vro.config.constants.item
import net.juniper.contrail.vro.schema.Schema
import net.juniper.contrail.vro.workflows.dsl.WorkflowDefinition
import net.juniper.contrail.vro.workflows.dsl.parentConnection
import net.juniper.contrail.vro.workflows.model.reference
import net.juniper.contrail.vro.workflows.util.childDescriptionInCreateRelation
import net.juniper.contrail.vro.workflows.util.parentDescriptionInCreateRelation

internal fun addFirewallPolicyToAPS(schema: Schema): WorkflowDefinition {

val workflowName = "Add firewall policy to application policy set"

return customWorkflow<ApplicationPolicySet>(workflowName).withScriptFile("addFirewallPolicyToAPS") {
parameter(item, reference<ApplicationPolicySet>()) {
description = schema.parentDescriptionInCreateRelation<ApplicationPolicySet, FirewallPolicy>()
mandatory = true
browserRoot = child.parentConnection
}
parameter(child, reference<FirewallPolicy>()) {
description = schema.childDescriptionInCreateRelation<ApplicationPolicySet, FirewallPolicy>()
mandatory = true
browserRoot = item.parentConnection
}
}
}
@@ -0,0 +1,34 @@
/*
* Copyright (c) 2018 Juniper Networks, Inc. All rights reserved.
*/

package net.juniper.contrail.vro.workflows.custom

import net.juniper.contrail.api.types.FirewallPolicy
import net.juniper.contrail.api.types.FirewallRule
import net.juniper.contrail.vro.config.constants.child
import net.juniper.contrail.vro.config.constants.item
import net.juniper.contrail.vro.schema.Schema
import net.juniper.contrail.vro.workflows.dsl.WorkflowDefinition
import net.juniper.contrail.vro.workflows.dsl.parentConnection
import net.juniper.contrail.vro.workflows.model.reference
import net.juniper.contrail.vro.workflows.util.childDescriptionInCreateRelation
import net.juniper.contrail.vro.workflows.util.parentDescriptionInCreateRelation

internal fun addFirewallRuleToFirewallPolicy(schema: Schema): WorkflowDefinition {

val workflowName = "Add firewall rule to firewall policy"

return customWorkflow<FirewallPolicy>(workflowName).withScriptFile("addFirewallRuleToFirewallPolicy") {
parameter(item, reference<FirewallPolicy>()) {
description = schema.parentDescriptionInCreateRelation<FirewallPolicy, FirewallRule>()
mandatory = true
browserRoot = child.parentConnection
}
parameter(child, reference<FirewallRule>()) {
description = schema.childDescriptionInCreateRelation<FirewallPolicy, FirewallRule>()
mandatory = true
browserRoot = item.parentConnection
}
}
}

0 comments on commit 1df4958

Please sign in to comment.