LB generic persistence profile
Some applications maintain state and require all relevant connections
to be sent to the same server as the application state is not
synchronized among servers. Persistence is enabled on a
LBVirtualServer by binding a persistence profile to it.
LBGenericPersistenceProfile cannot be attached to virtual server directly,
it can be specified in LB rule actions. In HTTP forwarding phase,
the profile can be specified in LBVariablePersistenceOnAction. In HTTP
response rewriting phase, the profile can be specified in
|_create_time||Timestamp of resource creation||EpochMsTimestamp||Readonly
|_create_user||ID of the user who created this resource||string||Readonly|
|_last_modified_time||Timestamp of last modification||EpochMsTimestamp||Readonly
|_last_modified_user||ID of the user who last modified this resource||string||Readonly|
|_links||References related to this resource
The server will populate this field when returing the resource. Ignored on PUT and POST.
|array of ResourceLink||Readonly|
|_protection||Indicates protection status of this resource
Protection status is one of the following:
PROTECTED - the client who retrieved the entity is not allowed
to modify it.
NOT_PROTECTED - the client who retrieved the entity is allowed
to modify it
REQUIRE_OVERRIDE - the client who retrieved the entity is a super
user and can modify it, but only when providing
the request header X-Allow-Overwrite=true.
UNKNOWN - the _protection field could not be determined for this
|_revision||Generation of this resource config
The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.
|_schema||Schema for this resource||string||Readonly|
|_self||Link to this resource||SelfResourceLink||Readonly|
|_system_owned||Indicates system owned resource||boolean||Readonly|
|children||subtree for this type within policy tree
subtree for this type within policy tree containing nested elements.
|array of ChildPolicyConfigResource
Children are not allowed for this type
|description||Description of this resource||string||Maximum length: 1024
|display_name||Identifier to use when displaying entity in logs or GUI
Defaults to ID if not set
|string||Maximum length: 255
|ha_persistence_mirroring_enabled||Mirroring enabled flag
The mirroring enabled flag is to synchronize persistence entries.
Persistence entries are not synchronized to the HA peer by default.
|id||Unique identifier of this resource||string||Sortable|
|marked_for_delete||Indicates whether the intent object is marked for deletion
Intent objects are not directly deleted from the system when a delete
is invoked on them. They are marked for deletion and only when all the
realized entities for that intent object gets deleted, the intent object
is deleted. Objects that are marked for deletion are not returned in
GET call. One can use the search API to get these objects.
|overridden||Indicates whether this object is the overridden intent object
Global intent objects cannot be modified by the user.
However, certain global intent objects can be overridden locally by use
of this property. In such cases, the overridden local values take
precedence over the globally defined values for the properties.
|parent_path||Path of its parent
Path of its parent
|path||Absolute path of this object
Absolute path of this object
|persistence_shared||Persistence shared across LBVirtualServers
Persistence shared setting indicates that all LBVirtualServers
that consume this LBPersistenceProfile should share the same
persistence mechanism when enabled. Meaning, persistence entries of
a client accessing one virtual server will also affect the same
client's connections to a different virtual server. For example, say
there are two virtual servers vip-ip1:80 and vip-ip1:8080 bound to
the same Group g1 consisting of two servers (s11:80 and s12:80). By
default, each virtual server will have its own persistence table or
cookie. So, in the earlier example, there will be two tables
(vip-ip1:80, p1) and (vip-ip1:8080, p1) or cookies. So, if a client
connects to vip1:80 and later connects to vip1:8080, the second
connection may be sent to a different server than the first. When
persistence_shared is enabled, then the second connection will always
connect to the same server as the original connection. For COOKIE
persistence type, the same cookie will be shared by multiple virtual
servers. For SOURCE_IP persistence type, the persistence table will
be shared across virtual servers. For GENERIC persistence type, the
persistence table will be shared across virtual servers which consume
the same persistence profile in LBRule actions.
|relative_path||Relative path of this object
Path relative from its parent
|resource_type||Must be set to the value LBGenericPersistenceProfile||string||Required
Enum: LBSourceIpPersistenceProfile, LBCookiePersistenceProfile, LBGenericPersistenceProfile
|tags||Opaque identifiers meaningful to the API user||array of Tag||Maximum items: 30|
|timeout||Persistence entry expiration time in seconds
When all connections complete (reference count reaches 0), persistence
entry timer is started with the expiration time.
|unique_id||A unique identifier assigned by the system
This is a UUID generated by the GM/LM to uniquely identify
entites in a federated environment. For entities that are
stretched across multiple sites, the same ID will be used
on all the stretched sites.