Avi NatPolicy Object API
CLI ``` - configure natpolicy - show natpolicy ```
Contact Info: support@avinetworks.com
Version: 20.1.9
BasePath:/api
All rights reserved
http://apache.org/licenses/LICENSE-2.0.html
Access
- HTTP Basic Authentication
[ Jump to Models ]
Table of Contents
get /natpolicy
post /natpolicy
delete /natpolicy/{uuid}
get /natpolicy/{uuid}
patch /natpolicy/{uuid}
put /natpolicy/{uuid}
(natpolicyGet)
Consumes
This API call consumes the following media types via the
Content-Type request header:
Query parameters
name (optional)
Query Parameter — object name
refers_to (optional)
Query Parameter — Filter to request all objects that refers to another Avi resource. Its syntax is refers_to=<obj_type>:<obj_uuid>. Eg. get all virtual services referring to pool p1 will be refers_to=pool:pool_p1_uuid
referred_by (optional)
Query Parameter — Filter to request all objects that are referred by another Avi resource. Its syntax is referred_by=<obj_type>:<obj_uuid>. Eg. get all pools referred_by virtual service vs1 - referred_by=virtualservice:vs_vs1_uuid
fields (optional)
Query Parameter — List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.
include_name (optional)
Query Parameter — All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.
skip_default (optional)
Query Parameter — Default values are not set.
join_subresources (optional)
Query Parameter — It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.
Return type
Example data
Content-Type: application/json
{
"next" : "aeiou",
"count" : 123,
"results" : [ {
"tenant_ref" : "aeiou",
"name" : "aeiou",
"description" : "aeiou",
"rules" : [ {
"enable" : true,
"match" : {
"destination_ip" : {
"group_refs" : [ "aeiou" ],
"match_criteria" : "aeiou",
"prefixes" : [ {
"ip_addr" : "",
"mask" : 123
} ],
"ranges" : [ "" ],
"addrs" : [ "" ]
},
"services" : {
"protocol" : {
"match_criteria" : "aeiou",
"protocol" : "aeiou"
},
"destination_port" : {
"match_criteria" : "aeiou",
"ports" : [ "" ]
},
"source_port" : ""
},
"source_ip" : ""
},
"name" : "aeiou",
"action" : {
"nat_info" : [ {
"nat_ip" : {
"addr" : "aeiou",
"type" : "aeiou"
},
"nat_ip_range" : {
"end" : "",
"begin" : ""
}
} ],
"type" : "aeiou"
},
"index" : 123,
"created_by" : "aeiou"
} ],
"markers" : [ {
"values" : [ "aeiou" ],
"key" : "aeiou"
} ],
"created_by" : "aeiou",
"uuid" : "aeiou",
"url" : "aeiou",
"_last_modified" : "aeiou",
"labels" : [ {
"value" : "aeiou",
"key" : "aeiou"
} ]
} ]
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the
Content-Type response header.
Responses
200
OK
NatPolicyApiResponse
401
log in failed
(natpolicyPost)
Consumes
This API call consumes the following media types via the
Content-Type request header:
Request body
body (required)
Body Parameter — NatPolicy object creation
Return type
Example data
Content-Type: application/json
{
"tenant_ref" : "aeiou",
"name" : "aeiou",
"description" : "aeiou",
"rules" : [ {
"enable" : true,
"match" : {
"destination_ip" : {
"group_refs" : [ "aeiou" ],
"match_criteria" : "aeiou",
"prefixes" : [ {
"ip_addr" : "",
"mask" : 123
} ],
"ranges" : [ "" ],
"addrs" : [ "" ]
},
"services" : {
"protocol" : {
"match_criteria" : "aeiou",
"protocol" : "aeiou"
},
"destination_port" : {
"match_criteria" : "aeiou",
"ports" : [ "" ]
},
"source_port" : ""
},
"source_ip" : ""
},
"name" : "aeiou",
"action" : {
"nat_info" : [ {
"nat_ip" : {
"addr" : "aeiou",
"type" : "aeiou"
},
"nat_ip_range" : {
"end" : "",
"begin" : ""
}
} ],
"type" : "aeiou"
},
"index" : 123,
"created_by" : "aeiou"
} ],
"markers" : [ {
"values" : [ "aeiou" ],
"key" : "aeiou"
} ],
"created_by" : "aeiou",
"uuid" : "aeiou",
"url" : "aeiou",
"_last_modified" : "aeiou",
"labels" : [ {
"value" : "aeiou",
"key" : "aeiou"
} ]
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the
Content-Type response header.
Responses
200
OK
NatPolicy
401
log in failed
Up
delete /natpolicy/{uuid}
(natpolicyUuidDelete)
Path parameters
uuid (required)
Path Parameter — UUID of the object to fetch
Consumes
This API call consumes the following media types via the
Content-Type request header:
Query parameters
name (optional)
Query Parameter — object name
Return type
String
Example data
Content-Type: application/json
"aeiou"
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the
Content-Type response header.
Responses
204
object deleted
String
404
not found
(natpolicyUuidGet)
Path parameters
uuid (required)
Path Parameter — UUID of the object to fetch
Consumes
This API call consumes the following media types via the
Content-Type request header:
Query parameters
name (optional)
Query Parameter — object name
fields (optional)
Query Parameter — List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.
include_name (optional)
Query Parameter — All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.
skip_default (optional)
Query Parameter — Default values are not set.
join_subresources (optional)
Query Parameter — It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.
Return type
Example data
Content-Type: application/json
{
"tenant_ref" : "aeiou",
"name" : "aeiou",
"description" : "aeiou",
"rules" : [ {
"enable" : true,
"match" : {
"destination_ip" : {
"group_refs" : [ "aeiou" ],
"match_criteria" : "aeiou",
"prefixes" : [ {
"ip_addr" : "",
"mask" : 123
} ],
"ranges" : [ "" ],
"addrs" : [ "" ]
},
"services" : {
"protocol" : {
"match_criteria" : "aeiou",
"protocol" : "aeiou"
},
"destination_port" : {
"match_criteria" : "aeiou",
"ports" : [ "" ]
},
"source_port" : ""
},
"source_ip" : ""
},
"name" : "aeiou",
"action" : {
"nat_info" : [ {
"nat_ip" : {
"addr" : "aeiou",
"type" : "aeiou"
},
"nat_ip_range" : {
"end" : "",
"begin" : ""
}
} ],
"type" : "aeiou"
},
"index" : 123,
"created_by" : "aeiou"
} ],
"markers" : [ {
"values" : [ "aeiou" ],
"key" : "aeiou"
} ],
"created_by" : "aeiou",
"uuid" : "aeiou",
"url" : "aeiou",
"_last_modified" : "aeiou",
"labels" : [ {
"value" : "aeiou",
"key" : "aeiou"
} ]
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the
Content-Type response header.
Responses
200
OK
NatPolicy
401
log in failed
Up
patch /natpolicy/{uuid}
(natpolicyUuidPatch)
Path parameters
uuid (required)
Path Parameter — UUID of the object to fetch
Consumes
This API call consumes the following media types via the
Content-Type request header:
Request body
body (required)
Body Parameter — NatPolicy object creation
Query parameters
name (optional)
Query Parameter — object name
Return type
Example data
Content-Type: application/json
{
"tenant_ref" : "aeiou",
"name" : "aeiou",
"description" : "aeiou",
"rules" : [ {
"enable" : true,
"match" : {
"destination_ip" : {
"group_refs" : [ "aeiou" ],
"match_criteria" : "aeiou",
"prefixes" : [ {
"ip_addr" : "",
"mask" : 123
} ],
"ranges" : [ "" ],
"addrs" : [ "" ]
},
"services" : {
"protocol" : {
"match_criteria" : "aeiou",
"protocol" : "aeiou"
},
"destination_port" : {
"match_criteria" : "aeiou",
"ports" : [ "" ]
},
"source_port" : ""
},
"source_ip" : ""
},
"name" : "aeiou",
"action" : {
"nat_info" : [ {
"nat_ip" : {
"addr" : "aeiou",
"type" : "aeiou"
},
"nat_ip_range" : {
"end" : "",
"begin" : ""
}
} ],
"type" : "aeiou"
},
"index" : 123,
"created_by" : "aeiou"
} ],
"markers" : [ {
"values" : [ "aeiou" ],
"key" : "aeiou"
} ],
"created_by" : "aeiou",
"uuid" : "aeiou",
"url" : "aeiou",
"_last_modified" : "aeiou",
"labels" : [ {
"value" : "aeiou",
"key" : "aeiou"
} ]
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the
Content-Type response header.
Responses
200
OK
NatPolicy
401
log in failed
(natpolicyUuidPut)
Path parameters
uuid (required)
Path Parameter — UUID of the object to fetch
Consumes
This API call consumes the following media types via the
Content-Type request header:
Request body
body (required)
Body Parameter — NatPolicy object creation
Query parameters
name (optional)
Query Parameter — object name
Return type
Example data
Content-Type: application/json
{
"tenant_ref" : "aeiou",
"name" : "aeiou",
"description" : "aeiou",
"rules" : [ {
"enable" : true,
"match" : {
"destination_ip" : {
"group_refs" : [ "aeiou" ],
"match_criteria" : "aeiou",
"prefixes" : [ {
"ip_addr" : "",
"mask" : 123
} ],
"ranges" : [ "" ],
"addrs" : [ "" ]
},
"services" : {
"protocol" : {
"match_criteria" : "aeiou",
"protocol" : "aeiou"
},
"destination_port" : {
"match_criteria" : "aeiou",
"ports" : [ "" ]
},
"source_port" : ""
},
"source_ip" : ""
},
"name" : "aeiou",
"action" : {
"nat_info" : [ {
"nat_ip" : {
"addr" : "aeiou",
"type" : "aeiou"
},
"nat_ip_range" : {
"end" : "",
"begin" : ""
}
} ],
"type" : "aeiou"
},
"index" : 123,
"created_by" : "aeiou"
} ],
"markers" : [ {
"values" : [ "aeiou" ],
"key" : "aeiou"
} ],
"created_by" : "aeiou",
"uuid" : "aeiou",
"url" : "aeiou",
"_last_modified" : "aeiou",
"labels" : [ {
"value" : "aeiou",
"key" : "aeiou"
} ]
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the
Content-Type response header.
Responses
200
OK
NatPolicy
401
log in failed
[ Jump to Methods ]
Table of Contents
IpAddr
IpAddrMatch
IpAddrPrefix
IpAddrRange
KeyValue
L4RuleProtocolMatch
NatAddrInfo
NatMatchTarget
NatPolicy
NatPolicyAction
NatPolicyApiResponse
NatRule
PortMatch
RoleFilterMatchLabel
ServiceMatch
addr
type
String Enum options - V4, DNS, V6.
addrs (optional)
group_refs (optional)
array[String] UUID of IP address group(s). It is a reference to an object of type IpAddrGroup.
match_criteria
String Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN.
prefixes (optional)
ranges (optional)
ip_addr
IpAddr Placeholder for description of property ip_addr of obj type IpAddrPrefix field type str type object
mask
Integer Number of mask. format: int32
begin
IpAddr Starting IP address of the range.
end
IpAddr Ending IP address of the range.
match_criteria
String Criterion to use for transport protocol matching. Enum options - IS_IN, IS_NOT_IN. Field introduced in 17.2.7.
protocol
String Transport protocol to match. Enum options - PROTOCOL_ICMP, PROTOCOL_TCP, PROTOCOL_UDP. Field introduced in 17.2.7.
nat_ip (optional)
IpAddr Nat IP address. Field introduced in 18.2.3.
nat_ip_range (optional)
IpAddrRange Nat IP address range. Field introduced in 18.2.3.
destination_ip (optional)
IpAddrMatch Destination IP of the packet. Field introduced in 18.2.3.
services (optional)
ServiceMatch Services like port-matching and protocol. Field introduced in 18.2.5.
source_ip (optional)
IpAddrMatch Source IP of the packet. Field introduced in 18.2.3.
_last_modified (optional)
String UNIX time since epoch in microseconds. Units(MICROSECONDS).
created_by (optional)
String Creator name. Field introduced in 18.2.3.
description (optional)
String Field introduced in 18.2.3.
labels (optional)
array[KeyValue] Key value pairs for granular object access control. Also allows for classification and tagging of similar objects. Field deprecated in 20.1.5. Field introduced in 20.1.2. Maximum of 4 items allowed.
markers (optional)
array[RoleFilterMatchLabel] List of labels to be used for granular RBAC. Field introduced in 20.1.5. Allowed in Basic edition, Essentials edition, Enterprise edition.
name (optional)
String Name of the Nat policy. Field introduced in 18.2.3.
rules (optional)
tenant_ref (optional)
String It is a reference to an object of type Tenant. Field introduced in 18.2.3.
url (optional)
uuid (optional)
String UUID of the Nat policy. Field introduced in 18.2.3.
nat_info (optional)
type
String Nat Action Type. Enum options - NAT_POLICY_ACTION_TYPE_DYNAMIC_IP_PORT. Field introduced in 18.2.5.
count
results
next (optional)
action
created_by (optional)
String Creator name. Field introduced in 18.2.3.
enable
Boolean Nat rule enable flag. Field introduced in 18.2.3.
index
Integer Nat rule Index. Field introduced in 18.2.3. format: int32
match
name
String Nat rule Name. Field introduced in 18.2.3.
match_criteria
String Criterion to use for port matching the HTTP request. Enum options - IS_IN, IS_NOT_IN.
ports (optional)
array[Integer] Listening TCP port(s). Allowed values are 1-65535. Minimum of 1 items required.
key
String Key for filter match. Field introduced in 20.1.3.
values (optional)
array[String] Values for filter match. Multiple values will be evaluated as OR. Example key = value1 OR key = value2. Behavior for match is key = * if this field is empty. Field introduced in 20.1.3.
destination_port (optional)
PortMatch Destination Port of the packet. Field introduced in 18.2.5.
protocol (optional)
L4RuleProtocolMatch Protocol to match. Supported protocols are TCP, UDP and ICMP. Field introduced in 20.1.1.
source_port (optional)
PortMatch Source Port of the packet. Field introduced in 18.2.5.