Contract
Location in GUI: Tenants
» XXX
» Contracts
» Standard
Diagram
Section titled “Diagram”Classes
Section titled “Classes”tenants (apic)
Section titled “tenants (apic)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
contracts | List | [contracts] | No |
contracts (apic.tenants)
Section titled “contracts (apic.tenants)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
name | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | Yes | |
alias | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | No | |
description | String | Regex: ^[a-zA-Z0-9\\!#$%()*,-./:;@ _{|}~?&+]{1,128}$ | No | |
scope | Choice | application-profile , tenant , context , global | No | context |
qos_class | Choice | level1 , level2 , level3 , level4 , level5 , level6 , unspecified | No | unspecified |
target_dscp | Any | Choice[CS0 , CS1 , AF11 , AF12 , AF13 , CS2 , AF21 , AF22 , AF23 , CS3 , AF31 , AF32 , AF33 , CS4 , AF41 , AF42 , AF43 , CS5 , VA , EF , CS6 , CS7 , unspecified ] or Integer[min: 0 , max: 63 ] | No | unspecified |
subjects | List | [subjects] | No |
subjects (apic.tenants.contracts)
Section titled “subjects (apic.tenants.contracts)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
name | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | Yes | |
alias | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | No | |
description | String | Regex: ^[a-zA-Z0-9\\!#$%()*,-./:;@ _{|}~?&+]{1,128}$ | No | |
qos_class | Choice | level1 , level2 , level3 , level4 , level5 , level6 , unspecified | No | unspecified |
target_dscp | Any | Choice[CS0 , CS1 , AF11 , AF12 , AF13 , CS2 , AF21 , AF22 , AF23 , CS3 , AF31 , AF32 , AF33 , CS4 , AF41 , AF42 , AF43 , CS5 , VA , EF , CS6 , CS7 , unspecified ] or Integer[min: 0 , max: 63 ] | No | unspecified |
service_graph | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | No | |
reverse_filter_ports | Boolean | true , false | No | true |
filters | List | [filters] | No | |
consumer_to_provider | Class | [consumer_to_provider] | No | |
provider_to_consumer | Class | [provider_to_consumer] | No |
filters (apic.tenants.contracts.subjects)
Section titled “filters (apic.tenants.contracts.subjects)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
filter | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | Yes | |
action | Choice | permit , deny | No | permit |
priority | Choice | default , level1 , level2 , level3 | No | default |
log | Boolean | true , false | No | false |
no_stats | Boolean | true , false | No | false |
consumer_to_provider (apic.tenants.contracts.subjects)
Section titled “consumer_to_provider (apic.tenants.contracts.subjects)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
qos_class | Choice | level1 , level2 , level3 , level4 , level5 , level6 , unspecified | No | unspecified |
target_dscp | Any | Choice[CS0 , CS1 , AF11 , AF12 , AF13 , CS2 , AF21 , AF22 , AF23 , CS3 , AF31 , AF32 , AF33 , CS4 , AF41 , AF42 , AF43 , CS5 , VA , EF , CS6 , CS7 , unspecified ] or Integer[min: 0 , max: 63 ] | No | unspecified |
service_graph | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | No | |
filters | List | [filters] | No |
provider_to_consumer (apic.tenants.contracts.subjects)
Section titled “provider_to_consumer (apic.tenants.contracts.subjects)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
qos_class | Choice | level1 , level2 , level3 , level4 , level5 , level6 , unspecified | No | unspecified |
target_dscp | Any | Choice[CS0 , CS1 , AF11 , AF12 , AF13 , CS2 , AF21 , AF22 , AF23 , CS3 , AF31 , AF32 , AF33 , CS4 , AF41 , AF42 , AF43 , CS5 , VA , EF , CS6 , CS7 , unspecified ] or Integer[min: 0 , max: 63 ] | No | unspecified |
service_graph | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | No | |
filters | List | [filters] | No |
filters (apic.tenants.contracts.subjects.consumer_to_provider)
Section titled “filters (apic.tenants.contracts.subjects.consumer_to_provider)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
filter | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | Yes | |
action | Choice | permit , deny | No | permit |
priority | Choice | default , level1 , level2 , level3 | No | default |
log | Boolean | true , false | No | false |
no_stats | Boolean | true , false | No | false |
filters (apic.tenants.contracts.subjects.provider_to_consumer)
Section titled “filters (apic.tenants.contracts.subjects.provider_to_consumer)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
filter | String | Regex: ^[a-zA-Z0-9_.:-]{1,64}$ | Yes | |
action | Choice | permit , deny | No | permit |
priority | Choice | default , level1 , level2 , level3 | No | default |
log | Boolean | true , false | No | false |
no_stats | Boolean | true , false | No | false |
Examples
Section titled “Examples”Simple example:
apic: tenants: - name: ABC contracts: - name: CON1 subjects: - name: SUB1 filters: - filter: HTTP
Full example:
apic: tenants: - name: ABC contracts: - name: CON1 alias: CON1-ALIAS description: My Desc scope: global qos_class: level3 target_dscp: AF13 subjects: - name: SUB1 alias: SUB1-ALIAS description: My Desc service_graph: TEMPLATE1 qos_class: level3 target_dscp: AF13 filters: - filter: FILTER1 action: permit priority: default log: true no_stats: false
Example of unidirectional contract:
apic: tenants: - name: ABC contracts: - name: CON1 alias: CON1-ALIAS description: My Desc scope: global subjects: - name: SUB2 alias: SUB2-ALIAS description: My Desc reverse_filter_ports: false consumer_to_provider: qos_class: level3 target_dscp: AF13 service_graph: TEMPLATE2 filters: - filter: FILTER1 action: permit priority: default log: true no_stats: false provider_to_consumer: qos_class: level3 target_dscp: AF13 service_graph: TEMPLATE2 filters: - filter: FILTER1 action: permit priority: default log: true no_stats: false