Notes

When setting multiple RouterInterfaces for the same router, set depends_on: between resources of OS::Neutron::RouterInterface so that setting of RouterInterface is not done at the same time. (The italicized part of the example below is the setting of the dependency of router_interface.)

 
service_router1:
    type: OS::Neutron::Router
    properties:
      availability_zone: { get_param: az }
      name: { get_param: service_router1_name }
  service_router_interface1:
    depends_on: service_router1
    type: OS::Neutron::RouterInterface
    properties:
      router_id: { get_resource: service_router1 }
      port_id: { get_resource: gw_port1 }
  service_router_interface2:
    depends_on: [ service_router1,service_router_interface1 ]
    type: OS::Neutron::RouterInterface
    properties:
      router_id: { get_resource: service_router1 }
      port_id: { get_resource: gw_port2 }