diff options
author | JulienBe <julien.bertozzi@intl.att.com> | 2020-09-03 17:09:46 +0200 |
---|---|---|
committer | Xue Gao <xg353y@intl.att.com> | 2020-09-07 12:18:23 +0000 |
commit | 61663b92910868a4de51c6fe9a7cef7da96da7e9 (patch) | |
tree | 86085699100a83f9de49375b635596601b55502d /test-apis-ci/src/test/resources/CI/tests/heatArtifactParameters/heatWithValidParams.yaml | |
parent | bcee4648917b2442f51a75639708bad4cd0fe4ad (diff) |
Optimize Build
Optimize the log output
Issue-ID: SDC-3232
Signed-off-by: JulienBe <julien.bertozzi@intl.att.com>
Change-Id: I50cfb7119b1e9087d3e2db56a81fe47df4ad6254
Diffstat (limited to 'test-apis-ci/src/test/resources/CI/tests/heatArtifactParameters/heatWithValidParams.yaml')
-rw-r--r-- | test-apis-ci/src/test/resources/CI/tests/heatArtifactParameters/heatWithValidParams.yaml | 787 |
1 files changed, 0 insertions, 787 deletions
diff --git a/test-apis-ci/src/test/resources/CI/tests/heatArtifactParameters/heatWithValidParams.yaml b/test-apis-ci/src/test/resources/CI/tests/heatArtifactParameters/heatWithValidParams.yaml deleted file mode 100644 index 6835485ca1..0000000000 --- a/test-apis-ci/src/test/resources/CI/tests/heatArtifactParameters/heatWithValidParams.yaml +++ /dev/null @@ -1,787 +0,0 @@ -heat_template_version: 2013-05-23 -################################# -# -# Changes in v0.2: -# - Unique availability zone for each VM -# - LAN8 and SLAN networks removed according to latest Prod/Type I diagram -# - 2 DB VMs added -# - Images corrected -# - VM start-up order: SMP->DB->BE->FE (no error handling yet) -# - Provisioning scripts placeholders -# -################################# - -description: ASC Template - -parameters: -# availability_zone_smp0: -# type: string -# default: nova -# availability_zone_smp1: -# type: string -# default: nova -# availability_zone_fe0: -# type: string -# default: nova -# availability_zone_fe1: -# type: string -# default: nova -# availability_zone_db0: -# type: string -# default: nova -# availability_zone_db1: -# type: string -# default: nova -# availability_zone_be0: -# type: string -# default: nova -# availability_zone_be1: -# type: string -# default: nova -# availability_zone_be2: -# type: string -# default: nova -# availability_zone_be3: -# type: string -# default: nova -# availability_zone_be4: -# type: string -# default: nova - - vnf_name: - type: string - description: Unique name for this VNF instance - default: This_is_the_SCP_name - vnf_id: - type: string - description: Unique ID for this VNF instance - default: This_is_ths_SCP_id - - flavor_scp_be_id: - type: string - description: flavor type - default: a1.Small - flavor_scp_fe_id: - type: string - description: flavor type - default: a1.Small - flavor_smp_id: - type: string - description: flavor type - default: a1.Small - flavor_db_id: - type: string - description: flavor type - default: a1.Small - image_scp_be_id: - type: string - description: Image use to boot a server - default: asc_base_image_be - image_scp_fe_id: - type: string - description: Image use to boot a server - default: asc_base_image_fe - image_smp_id: - type: string - description: Image use to boot a server - default: asc_base_image_smp - image_db_id: - type: string - description: Image use to boot a server - default: asc_base_image_db - - int_vscp_fe_cluster_net_id: - type: string - description: LAN2 FE Cluster/KA - int_vscp_fe_cluster_cidr: - type: string - description: Private Network2 Address (CIDR notation) - int_vscp_cluster_net_id: - type: string - description: LAN3 Cluster - int_vscp_cluster_cidr: - type: string - description: Private Network3 Address (CIDR notation) - int_vscp_db_network_net_id: - type: string - description: LAN4 DB - int_vscp_db_network_cidr: - type: string - description: Private Network4 Address (CIDR notation) - SIGNET_vrf_A1_direct_net_id: - type: string - description: Network name for SIGTRAN_A - SIGNET_vrf_B1_direct_net_id: - type: string - description: Network name for SIGTRAN_B - Cricket_OCS_protected_net_id: - type: string - description: Network name for CRICKET_OCS - OAM_direct_net_id: - type: string - description: Network name for OAM - be0_Cricket_OCS_protected_ips: - type: string - label: be0 port 5 OAM ip address - description: be0 port 5 OAM ip address - be1_Cricket_OCS_protected_ips: - type: string - label: be1 port 5 OAM ip address - description: be1 port 5 OAM ip address - be2_Cricket_OCS_protected_ips: - type: string - label: be2 port 5 OAM ip address - description: be2 port 5 OAM ip address - be3_Cricket_OCS_protected_ips: - type: string - label: be3 port 5 OAM ip address - description: be3 port 5 OAM ip address - be4_Cricket_OCS_protected_ips: - type: string - label: be4 port 5 OAM ip address - description: be4 port 5 OAM ip address - be0_OAM_direct_ips: - type: string - label: be0 port 7 OAM ip address - description: be0 port 7 OAM ip address - be1_OAM_direct_ips: - type: string - label: be1 port 7 OAM ip address - description: be1 port 7 OAM ip address - be2_OAM_direct_ips: - type: string - label: be2 port 7 OAM ip address - description: be2 port 7 OAM ip address - be3_OAM_direct_ips: - type: string - label: be3 port 7 OAM ip address - description: be3 port 7 OAM ip address - be4_OAM_direct_ips: - type: string - label: be4 port 7 OAM ip address - description: be4 port 7 OAM ip address - fe0_SIGNET_vrf_A1_direct_ips: - type: string - label: fe0 port 0 SIGTRAN ip address - description: fe0 port 0 SIGTRAN ip address - fe0_OAM_direct_ips: - type: string - label: fe0 port 7 OAM ip address - description: fe0 port 7 OAM ip address - fe1_SIGNET_vrf_B1_direct_ips: - type: string - label: fe1 port 1 SIGTRAN ip address - description: fe1 port 1 SIGTRAN ip address - fe1_OAM_direct_ips: - type: string - label: fe1 port 7 OAM ip address - description: fe1 port 7 OAM ip address - smp0_OAM_direct_ips: - type: string - label: smp0 port 7 OAM ip address - description: smp0 port 7 OAM ip address - smp1_OAM_direct_ips: - type: string - label: smp1 port 7 OAM ip address - description: smp1 port 7 OAM ip address - db0_OAM_direct_ips: - type: string - label: db0 port 7 OAM ip address - description: smp0 port 7 OAM ip address - db1_OAM_direct_ips: - type: string - label: smp1 port 7 OAM ip address - description: db1 port 7 OAM ip address - vm_scp_be0_name: - type: string - default: vSCP_BE0 - description: name of VM - vm_scp_be1_name: - type: string - default: vSCP_BE1 - description: name of VM - vm_scp_be2_name: - type: string - default: vSCP_BE2 - description: name of VM - vm_scp_be3_name: - type: string - default: vSCP_BE3 - description: name of VM - vm_scp_be4_name: - type: string - default: vSCP_BE4 - description: name of VM - vm_scp_fe0_name: - type: string - default: vSCP_FE0 - description: name of VM - vm_scp_fe1_name: - type: string - default: vSCP_FE1 - description: name of VM - vm_smp0_name: - type: string - default: vSMP0 - description: name of VM - vm_smp1_name: - type: string - default: vSMP1 - description: name of VM - vm_db0_name: - type: string - default: vDB0 - description: name of VM - vm_db1_name: - type: string - default: vDB1 - description: name of VM - -resources: -# scp_be_wait_condition: -# type: OS::Heat::WaitCondition -# properties: -# handle: { get_resource: scp_be_wait_handle } -# count: 5 -# timeout: 300 -# scp_be_wait_handle: -# type: OS::Heat::WaitConditionHandle -# -# scp_fe_wait_condition: -# type: OS::Heat::WaitCondition -# properties: -# handle: { get_resource: scp_fe_wait_handle } -# count: 2 -# timeout: 300 -# scp_fe_wait_handle: -# type: OS::Heat::WaitConditionHandle -# -# smp_wait_condition: -# type: OS::Heat::WaitCondition -# properties: -# handle: { get_resource: smp_wait_handle } -# count: 2 -# timeout: 300 -# smp_wait_handle: -# type: OS::Heat::WaitConditionHandle -# -# db_wait_condition: -# type: OS::Heat::WaitCondition -# properties: -# handle: { get_resource: db_wait_handle } -# count: 2 -# timeout: 300 -# db_wait_handle: -# type: OS::Heat::WaitConditionHandle - - FE_Affinity: - type: OS::Nova::ServerGroup - properties: - policies: ["anti-affinity"] - BE_Affinity: - type: OS::Nova::ServerGroup - properties: - policies: ["anti-affinity"] - SMP_Affinity: - type: OS::Nova::ServerGroup - properties: - policies: ["anti-affinity"] - DB_Affinity: - type: OS::Nova::ServerGroup - properties: - policies: ["anti-affinity"] - - FE_Clustering_KA: - type: OS::Contrail::VirtualNetwork - properties: - name: { get_param: int_vscp_fe_cluster_net_id } - - FE_Clustering_subnet: - type: OS::Neutron::Subnet - properties: - network_id: { get_resource: FE_Clustering_KA } - cidr: { get_param: int_vscp_fe_cluster_cidr } - - Clustering_Network: - type: OS::Contrail::VirtualNetwork - properties: - name: { get_param: int_vscp_cluster_net_id } - - Clustering_Network_subnet: - type: OS::Neutron::Subnet - properties: - network_id: { get_resource: Clustering_Network } - cidr: { get_param: int_vscp_cluster_cidr } - - DB_Network: - type: OS::Contrail::VirtualNetwork - properties: - name: { get_param: int_vscp_db_network_net_id } - - DB_Network_subnet: - type: OS::Neutron::Subnet - properties: - network_id: { get_resource: DB_Network } - cidr: { get_param: int_vscp_db_network_cidr } - - server_scp_be0: - type: OS::Nova::Server -# depends on: db_wait_condition - properties: - name: { get_param: vm_scp_be0_name } - image: { get_param: image_scp_be_id } -# availability_zone: { get_param: availability_zone_be0 } - flavor: { get_param: flavor_scp_be_id } - scheduler_hints: { group: { get_resource: BE_Affinity } } - networks: - - port: { get_resource: be0_port_3 } - - port: { get_resource: be0_port_4 } - - port: { get_resource: be0_port_5 } - - port: { get_resource: be0_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_scp_be0_name} -# wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] } - - be0_port_3: - type: OS::Neutron::Port - properties: - network_id: { get_resource: Clustering_Network } - - be0_port_4: - type: OS::Neutron::Port - properties: - network_id: { get_resource: DB_Network } - - be0_port_5: - type: OS::Neutron::Port - properties: - network: { get_param: Cricket_OCS_protected_net_id } - fixed_ips: [{"ip_address": {get_param: be0_Cricket_OCS_protected_ips}}] - - be0_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: be0_OAM_direct_ips}}] - - server_scp_be1: - type: OS::Nova::Server -# depends on: db_wait_condition - properties: - name: { get_param: vm_scp_be1_name } - image: { get_param: image_scp_be_id } -# availability_zone: { get_param: availability_zone_be1 } - flavor: { get_param: flavor_scp_be_id } - scheduler_hints: { group: { get_resource: BE_Affinity } } - networks: - - port: { get_resource: be1_port_3 } - - port: { get_resource: be1_port_4 } - - port: { get_resource: be1_port_5 } - - port: { get_resource: be1_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_scp_be1_name} -# wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] } - - be1_port_3: - type: OS::Neutron::Port - properties: - network_id: { get_resource: Clustering_Network } - - be1_port_4: - type: OS::Neutron::Port - properties: - network_id: { get_resource: DB_Network } - - be1_port_5: - type: OS::Neutron::Port - properties: - network: { get_param: Cricket_OCS_protected_net_id } - fixed_ips: [{"ip_address": {get_param: be1_Cricket_OCS_protected_ips}}] - - be1_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: be1_OAM_direct_ips}}] - - server_scp_be2: - type: OS::Nova::Server -# depends on: db_wait_condition - properties: - name: { get_param: vm_scp_be2_name } - image: { get_param: image_scp_be_id } -# availability_zone: { get_param: availability_zone_be2 } - flavor: { get_param: flavor_scp_be_id } - scheduler_hints: { group: { get_resource: BE_Affinity } } - networks: - - port: { get_resource: be2_port_3 } - - port: { get_resource: be2_port_4 } - - port: { get_resource: be2_port_5 } - - port: { get_resource: be2_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_scp_be2_name} -# wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] } - - be2_port_3: - type: OS::Neutron::Port - properties: - network_id: { get_resource: Clustering_Network } - - be2_port_4: - type: OS::Neutron::Port - properties: - network_id: { get_resource: DB_Network } - - be2_port_5: - type: OS::Neutron::Port - properties: - network: { get_param: Cricket_OCS_protected_net_id } - fixed_ips: [{"ip_address": {get_param: be2_Cricket_OCS_protected_ips}}] - - be2_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: be2_OAM_direct_ips}}] - - server_scp_be3: - type: OS::Nova::Server -# depends on: db_wait_condition - properties: - name: { get_param: vm_scp_be3_name } - image: { get_param: image_scp_be_id } -# availability_zone: { get_param: availability_zone_be3 } - flavor: { get_param: flavor_scp_be_id } - scheduler_hints: { group: { get_resource: BE_Affinity } } - networks: - - port: { get_resource: be3_port_3 } - - port: { get_resource: be3_port_4 } - - port: { get_resource: be3_port_5 } - - port: { get_resource: be3_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_scp_be3_name} -# wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] } - - be3_port_3: - type: OS::Neutron::Port - properties: - network_id: { get_resource: Clustering_Network } - - be3_port_4: - type: OS::Neutron::Port - properties: - network_id: { get_resource: DB_Network } - - be3_port_5: - type: OS::Neutron::Port - properties: - network: { get_param: Cricket_OCS_protected_net_id } - fixed_ips: [{"ip_address": {get_param: be3_Cricket_OCS_protected_ips}}] - - be3_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: be3_OAM_direct_ips}}] - - server_scp_be4: - type: OS::Nova::Server -# depends on: db_wait_condition - properties: - name: { get_param: vm_scp_be4_name } - image: { get_param: image_scp_be_id } -# availability_zone: { get_param: availability_zone_be4 } - flavor: { get_param: flavor_scp_be_id } - scheduler_hints: { group: { get_resource: BE_Affinity } } - networks: - - port: { get_resource: be4_port_3 } - - port: { get_resource: be4_port_4 } - - port: { get_resource: be4_port_5 } - - port: { get_resource: be4_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_scp_be4_name} -# wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] } - - be4_port_3: - type: OS::Neutron::Port - properties: - network_id: { get_resource: Clustering_Network } - - be4_port_4: - type: OS::Neutron::Port - properties: - network_id: { get_resource: DB_Network } - - be4_port_5: - type: OS::Neutron::Port - properties: - network: { get_param: Cricket_OCS_protected_net_id } - fixed_ips: [{"ip_address": {get_param: be4_Cricket_OCS_protected_ips}}] - - be4_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: be4_OAM_direct_ips}}] - - server_scp_fe0: - type: OS::Nova::Server -# depends on: scp_be_wait_condition - properties: - name: { get_param: vm_scp_fe0_name } - image: { get_param: image_scp_fe_id } -# availability_zone: { get_param: availability_zone_fe0 } - flavor: { get_param: flavor_scp_fe_id } - scheduler_hints: { group: { get_resource: FE_Affinity } } - networks: - - port: { get_resource: fe0_port_0 } - - port: { get_resource: fe0_port_2 } - - port: { get_resource: fe0_port_3 } - - port: { get_resource: fe0_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_scp_fe0_name} -# wc_notify: { get_attr: ['scp_fe_wait_handle', 'curl_cli'] } - - fe0_port_0: - type: OS::Neutron::Port - properties: - network: { get_param: SIGNET_vrf_A1_direct_net_id } - fixed_ips: [{"ip_address": {get_param: fe0_SIGNET_vrf_A1_direct_ips}}] - - fe0_port_2: - type: OS::Neutron::Port - properties: - network_id: { get_resource: FE_Clustering_KA } - - fe0_port_3: - type: OS::Neutron::Port - properties: - network_id: { get_resource: Clustering_Network } - - fe0_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: fe0_OAM_direct_ips}}] - - server_scp_fe1: - type: OS::Nova::Server -# depends on: scp_be_wait_condition - properties: - name: { get_param: vm_scp_fe1_name } - image: { get_param: image_scp_fe_id } -# availability_zone: { get_param: availability_zone_fe1 } - flavor: { get_param: flavor_scp_fe_id } - scheduler_hints: { group: { get_resource: FE_Affinity } } - networks: - - port: { get_resource: fe1_port_1 } - - port: { get_resource: fe1_port_2 } - - port: { get_resource: fe1_port_3 } - - port: { get_resource: fe1_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_scp_fe1_name} -# wc_notify: { get_attr: ['scp_fe_wait_handle', 'curl_cli'] } - - fe1_port_1: - type: OS::Neutron::Port - properties: - network: { get_param: SIGNET_vrf_B1_direct_net_id } - fixed_ips: [{"ip_address": {get_param: fe1_SIGNET_vrf_B1_direct_ips}}] - - fe1_port_2: - type: OS::Neutron::Port - properties: - network_id: { get_resource: FE_Clustering_KA } - - fe1_port_3: - type: OS::Neutron::Port - properties: - network_id: { get_resource: Clustering_Network } - - fe1_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: fe1_OAM_direct_ips}}] - - server_smp0: - type: OS::Nova::Server - properties: - name: { get_param: vm_smp0_name } - image: { get_param: image_smp_id } -# availability_zone: { get_param: availability_zone_smp0 } - flavor: { get_param: flavor_smp_id } - scheduler_hints: { group: { get_resource: SMP_Affinity } } - networks: - - port: { get_resource: smp0_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_smp0_name} -# wc_notify: { get_attr: ['smp_wait_handle', 'curl_cli'] } - - smp0_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: smp0_OAM_direct_ips}}] - - server_smp1: - type: OS::Nova::Server - properties: - name: { get_param: vm_smp1_name } - image: { get_param: image_smp_id } -# availability_zone: { get_param: availability_zone_smp1 } - flavor: { get_param: flavor_smp_id } - scheduler_hints: { group: { get_resource: SMP_Affinity } } - networks: - - port: { get_resource: smp1_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_smp1_name} -# wc_notify: { get_attr: ['smp_wait_handle', 'curl_cli'] } - - smp1_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: smp1_OAM_direct_ips}}] - - server_db0: - type: OS::Nova::Server -# depends_on: smp_wait_condition - properties: - name: { get_param: vm_db0_name } - image: { get_param: image_db_id } -# availability_zone: { get_param: availability_zone_db0 } - flavor: { get_param: flavor_db_id } - scheduler_hints: { group: { get_resource: DB_Affinity } } - networks: - - port: { get_resource: db0_port_4 } - - port: { get_resource: db0_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_db0_name} -# wc_notify: { get_attr: ['db_wait_handle', 'curl_cli'] } - - db0_port_4: - type: OS::Neutron::Port - properties: - network_id: { get_resource: DB_Network } - - db0_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: db0_OAM_direct_ips}}] - - server_db1: - type: OS::Nova::Server -# depends_on: smp_wait_condition - properties: - name: { get_param: vm_db1_name } - image: { get_param: image_db_id } -# availability_zone: { get_param: availability_zone_db1 } - flavor: { get_param: flavor_db_id } - scheduler_hints: { group: { get_resource: DB_Affinity } } - networks: - - port: { get_resource: db1_port_4 } - - port: { get_resource: db1_port_7 } - metadata: - vnf_id: { get_param: vnf_id } - user_data: - str_replace: - template: | - #!/bin/bash - #todo: provision $vm_name - wc_notify --data-binary '{"status": "SUCCESS"}' - params: - $vm_name: {get_param: vm_db1_name} -# wc_notify: { get_attr: ['db_wait_handle', 'curl_cli'] } - - db1_port_4: - type: OS::Neutron::Port - properties: - network_id: { get_resource: DB_Network } - - db1_port_7: - type: OS::Neutron::Port - properties: - network: { get_param: OAM_direct_net_id } - fixed_ips: [{"ip_address": {get_param: db1_OAM_direct_ips}}]
\ No newline at end of file |