示例#1
0
func makePolicyRule(opts *policyRuleOptions) *types.PolicyRuleType {
	rule := new(types.PolicyRuleType)
	// RuleSequence
	rule.RuleUuid = uuid.NewRandom().String()
	rule.Direction = `<>`
	rule.Protocol = string(opts.protocol)
	rule.SrcAddresses = makeAddresses(opts.srcIpAddress, opts.srcNetwork)
	rule.DstAddresses = makeAddresses(opts.dstIpAddress, opts.dstNetwork)
	rule.SrcPorts = makePorts(opts.srcPort)
	rule.DstPorts = makePorts(opts.dstPort)
	if opts.actionDrop {
		rule.ActionList.SimpleAction = "drop"
	} else {
		rule.ActionList.SimpleAction = "pass"
	}
	return rule
}