Skip to main content

Device Selection Policy

Location in GUI: Tenants » XXX » Services » L4-L7 » Device Selection Policies

Diagram

Classes

services (apic.tenants)

NameTypeConstraintMandatoryDefault Value
device_selection_policiesList[device_selection_policies]No

device_selection_policies (apic.tenants.services)

NameTypeConstraintMandatoryDefault Value
contractStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
service_graph_templateStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
device_nameStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
node_nameStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
consumerClass[consumer]No
providerClass[provider]No
copy_serviceClass[copy_service]No
expected_stateClass[expected_state]No

consumer (apic.tenants.services.device_selection_policies)

NameTypeConstraintMandatoryDefault Value
l3_destinationBooleantrue, falseNotrue
permit_loggingBooleantrue, falseNofalse
logical_interfaceStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
redirect_policyClass[redirect_policy]No
bridge_domainClass[bridge_domain]No
external_endpoint_groupClass[external_endpoint_group]No
service_epg_policyStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
custom_qos_policyStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No

copy_service (apic.tenants.services.device_selection_policies)

NameTypeConstraintMandatoryDefault Value
l3_destinationBooleantrue, falseNotrue
permit_loggingBooleantrue, falseNofalse
logical_interfaceStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
service_epg_policyStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
custom_qos_policyStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No

expected_state (apic.tenants.services.device_selection_policies)

NameTypeConstraintMandatoryDefault Value
minimum_healthIntegermin: 0, max: 100No
maximum_critical_faultsIntegermin: 0No
maximum_major_faultsIntegermin: 0No
maximum_minor_faultsIntegermin: 0No

redirect_policy (apic.tenants.services.device_selection_policies.consumer)

NameTypeConstraintMandatoryDefault Value
nameStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
tenantStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No

bridge_domain (apic.tenants.services.device_selection_policies.consumer)

NameTypeConstraintMandatoryDefault Value
nameStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
tenantStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No

external_endpoint_group (apic.tenants.services.device_selection_policies.consumer)

NameTypeConstraintMandatoryDefault Value
tenantStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$No
l3outStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
nameStringRegex: ^[a-zA-Z0-9_.:-]{1,64}$Yes
redistributeClass[redistribute]No

redistribute (apic.tenants.services.device_selection_policies.consumer.external_endpoint_group)

NameTypeConstraintMandatoryDefault Value
bgpBooleantrue, falseNofalse
ospfBooleantrue, falseNofalse
connectedBooleantrue, falseNofalse
staticBooleantrue, falseNofalse

Examples

Simple example:

apic:
tenants:
- name: ABC
services:
device_selection_policies:
- contract: CON1
service_graph_template: TEMPLATE1
consumer:
redirect_policy:
name: PBR1
logical_interface: INT1
bridge_domain:
name: BD1
provider:
redirect_policy:
name: PBR1
logical_interface: INT1
bridge_domain:
name: BD1

Copy service:

apic:
tenants:
- name: ABC
services:
device_selection_policies:
- contract: CON2
service_graph_template: TEMPLATE2
copy_service:
logical_interface: INT1

Full example:

apic:
tenants:
- name: ABC
services:
device_selection_policies:
- contract: CON1
service_graph_template: TEMPLATE1
consumer:
l3_destination: true
permit_logging: false
redirect_policy:
name: PBR1
logical_interface: INT1
bridge_domain:
name: BD1
service_epg_policy: SERVICE_EPG1
custom_qos_policy: QOS_POLICY
provider:
redirect_policy:
name: PBR1
logical_interface: INT1
bridge_domain:
name: BD1
service_epg_policy: SERVICE_EPG2
custom_qos_policy: QOS_POLICY