Archer is an OpenStack-style API service that privately connects services across OpenStack Networks. Consumers pick a service from a catalog and inject it into their own network — the service becomes reachable through a private IP, without exposing either network to the other.
Archer integrates with OpenStack Keystone for authentication and OpenStack Neutron for network and port management.
Archer exposes two resource types:
policy.json access policiesarcherctl)archer-f5-agentarcher-ni-agent, using HAProxy inside Linux network namespaces; works alongside openvswitch-agent or linuxbridge-agentArcher exposes a RESTful HTTP API.
Requests and responses use JSON. POST requests must set Content-Type: application/json; responses always come back with Content-Type: application/json.
Archer uses OpenStack Keystone. Requests must include a Keystone token in the X-Auth-Token header. Because the project ID is derived from the token, project_id is not required on create requests.
List operations return a bounded number of items. Navigate the collection with URI parameters:
?limit=100&marker=1234&page_reverse=False
marker — the ID of the last item from the previous pagelimit — page size (clamped to the deployment maximum)page_reverse — reverse pagination directionResponses include atom next and previous links. The final forward page has no next; the final reverse page has no previous. Deployments advertise pagination support through the pagination capability on the API detail endpoint.
Use sort with a comma-separated list of keys, in priority order. Prefix a key with - to sort descending:
?sort=key1,-key2,key3
Sort support is advertised through the sort capability on the API detail endpoint.
Most resources (services, endpoints, …) accept tags. Archer supports four tag filters on list operations:
tags — entities that have all the given tagstags-any — entities that have any of the given tagsnot-tags — entities that do not have all of the given tagsnot-tags-any — entities that do not have any of the given tagsEach tag is limited to 64 characters. Filters can be combined:
?tags=red,blue&tags-any=green,orange
| Code | Description |
|---|---|
| 400 | Validation error |
| 401 | Unauthorized |
| 403 | Policy denies the action, or the project is over quota |
| 404 | Resource not found |
| 409 | Conflict |
| 422 | Unprocessable Entity |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
Archer supports the Proxy Protocol v2 for endpoint identification.
The Proxy Protocol is a widely used protocol for passing client connection information through a load balancer to the backend server. It is used to identify the original client IP address and port number. The Proxy Protocol v2 is a binary protocol that is more efficient than the original text-based Proxy Protocol v1.
The proxy protocol header also includes the ID of the endpoint. This information is encoded using a custom Type-Length-Value (TLV) vector as follows.
| Field | Length (Octets) | Description |
|---|---|---|
| Type | 1 | PP2_TYPE_SAPCC (0xEC) |
| Length | 2 | Length of the value (UUIDv4 is always 36 byte as ASCII string) |
| Value | 36 | ASCII UUID of the endpoint |
Returns version information in a Keystone-compatible format. The response follows the OpenStack version discovery format with versions array containing version objects with id, status, and links.
{- "versions": [
- {
- "id": "v1",
- "status": "CURRENT",
- "updated": "2018-09-30T00:00:00Z",
- "version": "1.3.0",
- "links": [
- {
- "href": "/",
- "rel": "self"
}
], - "capabilities": [
- "pagination",
- "sort"
]
}
], - "updated": "2018-09-30T00:00:00Z",
- "version": "1.3.0",
- "links": [
- {
- "href": "/",
- "rel": "self"
}
], - "capabilities": [
- "pagination",
- "sort"
]
}Services are for publishing TCP/UDP services using internal IP addresses in your private network.
| marker | string <uuid> Pagination ID of the last item in the previous list. |
| limit | integer >= 1 Sets the page size. |
| sort | string <= 256 characters Comma-separated list of sort keys, optionally prefix with - to reverse sort order. |
| page_reverse | boolean Sets the page direction. |
| tags | Array of strings[ items <= 128 characters ] Filter for tags, multiple tags are considered as logical AND. Should be provided in a comma separated list. |
| tags-any | Array of strings[ items <= 128 characters ] Filter for tags, multiple tags are considered as logical OR. Should be provided in a comma separated list. |
| not-tags | Array of strings[ items <= 128 characters ] Filter for resources not having tags, multiple not-tags are considered as logical AND. Should be provided in a comma separated list. |
| not-tags-any | Array of strings[ items <= 128 characters ] Filter for resources not having tags, multiple tags are considered as logical OR. Should be provided in a comma separated list. |
| project_id | string <= 36 characters Filter for resources belonging or accessible by a specific project. |
{- "links": [
- {
- "href": "/",
- "rel": "self"
}
], - "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "enabled": true,
- "name": "ExampleService",
- "description": "An example of an Service.",
- "ports": [
- 80
], - "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",
- "ip_addresses": [
- "1.2.3.4"
], - "status": "AVAILABLE",
- "require_approval": false,
- "visibility": "private",
- "availability_zone": "AZ-A",
- "host": "string",
- "proxy_protocol": true,
- "tags": [
- "string"
], - "provider": "tenant",
- "protocol": "HTTP",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337",
- "health_status": "ONLINE",
- "snat_pool_size": 1
}
]
}Service object that needs to be added to the catalog
| enabled | boolean Default: true Enable/disable this service. Existing endpoints are not touched by this. | ||||||
| name | string <= 64 characters Name of the service. | ||||||
| description | string <= 255 characters Description of the service. | ||||||
| ports required | Array of integers <int32> non-empty unique [ items <int32 > [ 1 .. 65535 ] ] Ports exposed by the service. | ||||||
| network_id | string or null <uuid> Network ID of the network that provides this service. Required for tenant provider, optional for cp provider. | ||||||
| ip_addresses required | Array of strings non-empty IP Addresses of the providing service (IPv4 or IPv6), multiple addresses will be round robin load balanced. | ||||||
| require_approval | boolean Default: false Require explicit project approval for the service owner. | ||||||
| visibility | string Default: "private" Enum: "private" "public" Set global visibility of the service. For | ||||||
| availability_zone | string or null <= 64 characters Availability zone of this service. If set to null, the service will be configured as a cross-AZ (cross-availability-zone) service, providing redundancy across all availability zones. Cross-AZ services are only supported in specific regions and providers that have cross-AZ agents deployed. If no cross-AZ agent is available for the requested region/provider, service creation will fail with a "No available host agent found" error. | ||||||
| proxy_protocol | boolean Default: true Proxy protocol v2 enabled for this service. | ||||||
| tags | Array of strings or null[ items <= 128 characters ] The list of tags on the resource. | ||||||
| provider | string or null Default: "tenant" Enum: "tenant" "cp" Provider type, defaults to tenant type. | ||||||
| protocol | string or null Default: "HTTP" Enum: "HTTP" "TCP" Protocol type of the service. protocol can be one of
| ||||||
| project_id | string (Project) <= 36 characters The ID of the project owning this resource. | ||||||
| snat_pool_size | integer or null <int32> [ 1 .. 8 ] Number of SNAT IP addresses allocated for this service. Increase to scale outbound port capacity. Defaults to 1 when omitted on create. The cp provider does not support custom values. |
{- "enabled": true,
- "name": "ExampleService",
- "description": "An example of an Service.",
- "ports": [
- 80
], - "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",
- "ip_addresses": [
- "1.2.3.4"
], - "require_approval": false,
- "visibility": "private",
- "availability_zone": "AZ-A",
- "proxy_protocol": true,
- "tags": [
- "string"
], - "provider": "tenant",
- "protocol": "HTTP",
- "project_id": "fa84c217f361441986a220edf9b1e337",
- "snat_pool_size": 1
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "enabled": true,
- "name": "ExampleService",
- "description": "An example of an Service.",
- "ports": [
- 80
], - "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",
- "ip_addresses": [
- "1.2.3.4"
], - "status": "AVAILABLE",
- "require_approval": false,
- "visibility": "private",
- "availability_zone": "AZ-A",
- "host": "string",
- "proxy_protocol": true,
- "tags": [
- "string"
], - "provider": "tenant",
- "protocol": "HTTP",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337",
- "health_status": "ONLINE",
- "snat_pool_size": 1
}| service_id required | string <uuid> The UUID of the service |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "enabled": true,
- "name": "ExampleService",
- "description": "An example of an Service.",
- "ports": [
- 80
], - "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",
- "ip_addresses": [
- "1.2.3.4"
], - "status": "AVAILABLE",
- "require_approval": false,
- "visibility": "private",
- "availability_zone": "AZ-A",
- "host": "string",
- "proxy_protocol": true,
- "tags": [
- "string"
], - "provider": "tenant",
- "protocol": "HTTP",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337",
- "health_status": "ONLINE",
- "snat_pool_size": 1
}| service_id required | string <uuid> The UUID of the service |
Service object that needs to be updated
| enabled | boolean or null Enable/disable this service. Existing endpoints are not touched by this. | ||||||
| name | string or null <= 64 characters Name of the service. | ||||||
| description | string or null <= 255 characters Description of the service. | ||||||
| ip_addresses | Array of strings non-empty IP Addresses of the providing service (IPv4 or IPv6), multiple addresses will be round robin load balanced. | ||||||
| ports | Array of integers <int32> >= 0 items unique [ items <int32 > [ 1 .. 65535 ] ] Ports exposed by the service. | ||||||
| require_approval | boolean or null Require explicit project approval for the service owner. | ||||||
| visibility | string or null Enum: "private" "public" Set global visibility of the service. For | ||||||
| proxy_protocol | boolean or null Proxy protocol v2 enabled for this service. | ||||||
| protocol | string or null Enum: "HTTP" "TCP" Protocol type of the service. protocol can be one of
| ||||||
| tags | Array of strings[ items <= 128 characters ] The list of tags on the resource. | ||||||
| snat_pool_size | integer or null <int32> [ 1 .. 8 ] Number of SNAT IP addresses allocated for this service. Increase to scale outbound port capacity. Omit to leave the current value unchanged. The cp provider does not support custom values. |
{- "enabled": true,
- "name": "ExampleService",
- "description": "An example of an Service.",
- "ip_addresses": [
- "1.2.3.4"
], - "ports": [
- 80
], - "require_approval": true,
- "visibility": "private",
- "proxy_protocol": true,
- "protocol": "HTTP",
- "tags": [
- "string"
], - "snat_pool_size": 1
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "enabled": true,
- "name": "ExampleService",
- "description": "An example of an Service.",
- "ports": [
- 80
], - "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",
- "ip_addresses": [
- "1.2.3.4"
], - "status": "AVAILABLE",
- "require_approval": false,
- "visibility": "private",
- "availability_zone": "AZ-A",
- "host": "string",
- "proxy_protocol": true,
- "tags": [
- "string"
], - "provider": "tenant",
- "protocol": "HTTP",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337",
- "health_status": "ONLINE",
- "snat_pool_size": 1
}Deletes this service. There must be no active associated endpoint for successfully deleting the service,
unless the cascade query parameter is set to true.
With cascade=true, all associated endpoints will be automatically set to PENDING_DELETE status
along with the service, allowing for complete cleanup without manually rejecting endpoints first.
Without cascade, active endpoints can be rejected by the service owner via the /service/{service_id}/reject_endpoints API.
| service_id required | string <uuid> The UUID of the service |
| cascade | boolean Default: false If true, automatically delete all associated endpoints along with the service. |
{- "code": 0,
- "message": "string"
}Migrates a service from its current agent to a different agent. The service will be set to PENDING_UPDATE status and all its endpoints will be re-provisioned on the new agent.
If target_host is not specified, the least-loaded agent in the same availability zone is automatically selected.
| service_id required | string <uuid> The UUID of the service |
| target_host | string Target agent hostname. If not specified, least-loaded agent is selected. |
{- "target_host": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "enabled": true,
- "name": "ExampleService",
- "description": "An example of an Service.",
- "ports": [
- 80
], - "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",
- "ip_addresses": [
- "1.2.3.4"
], - "status": "AVAILABLE",
- "require_approval": false,
- "visibility": "private",
- "availability_zone": "AZ-A",
- "host": "string",
- "proxy_protocol": true,
- "tags": [
- "string"
], - "provider": "tenant",
- "protocol": "HTTP",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337",
- "health_status": "ONLINE",
- "snat_pool_size": 1
}Provides a list of service consumers (endpoints).
This list can be used to accept or reject requests, or disable active endpoints. Rejected endpoints will be cleaned up after a specific time.
| service_id required | string <uuid> The UUID of the service |
| marker | string <uuid> Pagination ID of the last item in the previous list. |
| limit | integer >= 1 Sets the page size. |
| sort | string <= 256 characters Comma-separated list of sort keys, optionally prefix with - to reverse sort order. |
| page_reverse | boolean Sets the page direction. |
{- "links": [
- {
- "href": "/",
- "rel": "self"
}
], - "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "AVAILABLE",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}
]
}Specify a list of endpoint consumers (endpoint_ids and/or project_ids) whose endpoints should be accepted.
| service_id required | string <uuid> The UUID of the service |
Service object that needs to be updated
| endpoint_ids | Array of strings <uuid> [ items <uuid > ] |
| project_ids | Array of strings (Project) [ items <= 36 characters ] |
{- "endpoint_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "project_ids": [
- "fa84c217f361441986a220edf9b1e337"
]
}[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "AVAILABLE",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}
]Specify a list of consumers (endpoint_ids and/or project_ids) whose endpoints should be rejected.
| service_id required | string <uuid> The UUID of the service |
Service object that needs to be updated
| endpoint_ids | Array of strings <uuid> [ items <uuid > ] |
| project_ids | Array of strings (Project) [ items <= 36 characters ] |
{- "endpoint_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "project_ids": [
- "fa84c217f361441986a220edf9b1e337"
]
}[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "AVAILABLE",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}
]Endpoints are for accessing existing Services using internal IP addresses in your private network.
| marker | string <uuid> Pagination ID of the last item in the previous list. |
| limit | integer >= 1 Sets the page size. |
| sort | string <= 256 characters Comma-separated list of sort keys, optionally prefix with - to reverse sort order. |
| page_reverse | boolean Sets the page direction. |
| tags | Array of strings[ items <= 128 characters ] Filter for tags, multiple tags are considered as logical AND. Should be provided in a comma separated list. |
| tags-any | Array of strings[ items <= 128 characters ] Filter for tags, multiple tags are considered as logical OR. Should be provided in a comma separated list. |
| not-tags | Array of strings[ items <= 128 characters ] Filter for resources not having tags, multiple not-tags are considered as logical AND. Should be provided in a comma separated list. |
| not-tags-any | Array of strings[ items <= 128 characters ] Filter for resources not having tags, multiple tags are considered as logical OR. Should be provided in a comma separated list. |
| project_id | string <= 36 characters Filter for resources belonging or accessible by a specific project. |
{- "links": [
- {
- "href": "/",
- "rel": "self"
}
], - "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "name": "Example endpoint.",
- "description": "An example of an endpoint.",
- "target": {
- "network": "49b6480b-24d3-4376-a4c9-aecbb89e16d9",
- "subnet": "1fb12a1a-a1a5-4732-9a2e-635ba6ec8d3b",
- "port": "b2accf1a-1c99-4b54-9eeb-22be53f177f5"
}, - "ip_address": "1.2.3.4",
- "tags": [
- "string"
], - "status": "AVAILABLE",
- "connection_mirroring": false,
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}
]
}Service and target network to inject. Only one of target_network, target_subnet or target_port must be specified.
| service_id | string <uuid> The ID of the service. |
| name | string <= 64 characters Name of the endpoint. |
| description | string <= 255 characters Description of the endpoint. |
object Endpoint target | |
| tags | Array of strings or null[ items <= 128 characters ] The list of tags on the resource. |
| connection_mirroring | boolean Default: false Note: This option currently only affects endpoints for services with provider type Enable BIG-IP connection mirroring for high availability failover. When enabled, connection and persistence information is mirrored to the standby device in a DSC configuration. Enabling mirroring can increase latency of the endpoint. |
| project_id | string (Project) <= 36 characters The ID of the project owning this resource. |
{- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "name": "Example endpoint.",
- "description": "An example of an endpoint.",
- "target": {
- "network": "49b6480b-24d3-4376-a4c9-aecbb89e16d9",
- "subnet": "1fb12a1a-a1a5-4732-9a2e-635ba6ec8d3b",
- "port": "b2accf1a-1c99-4b54-9eeb-22be53f177f5"
}, - "tags": [
- "string"
], - "connection_mirroring": false,
- "project_id": "fa84c217f361441986a220edf9b1e337"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "name": "Example endpoint.",
- "description": "An example of an endpoint.",
- "target": {
- "network": "49b6480b-24d3-4376-a4c9-aecbb89e16d9",
- "subnet": "1fb12a1a-a1a5-4732-9a2e-635ba6ec8d3b",
- "port": "b2accf1a-1c99-4b54-9eeb-22be53f177f5"
}, - "ip_address": "1.2.3.4",
- "tags": [
- "string"
], - "status": "AVAILABLE",
- "connection_mirroring": false,
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}| endpoint_id required | string <uuid> The UUID of the endpoint |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "name": "Example endpoint.",
- "description": "An example of an endpoint.",
- "target": {
- "network": "49b6480b-24d3-4376-a4c9-aecbb89e16d9",
- "subnet": "1fb12a1a-a1a5-4732-9a2e-635ba6ec8d3b",
- "port": "b2accf1a-1c99-4b54-9eeb-22be53f177f5"
}, - "ip_address": "1.2.3.4",
- "tags": [
- "string"
], - "status": "AVAILABLE",
- "connection_mirroring": false,
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}| endpoint_id required | string <uuid> The UUID of the endpoint |
Endpoint object that needs to be updated
| tags | Array of strings or null[ items <= 128 characters ] The list of tags on the resource. |
| name | string or null <= 64 characters Name of the endpoint. |
| description | string or null <= 255 characters Description of the endpoint. |
| connection_mirroring | boolean or null Enable BIG-IP connection mirroring for high availability failover.
Note: This option currently only affects endpoints for services with provider type |
{- "tags": [
- "string"
], - "name": "Example endpoint.",
- "description": "An example of an endpoint.",
- "connection_mirroring": true
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "name": "Example endpoint.",
- "description": "An example of an endpoint.",
- "target": {
- "network": "49b6480b-24d3-4376-a4c9-aecbb89e16d9",
- "subnet": "1fb12a1a-a1a5-4732-9a2e-635ba6ec8d3b",
- "port": "b2accf1a-1c99-4b54-9eeb-22be53f177f5"
}, - "ip_address": "1.2.3.4",
- "tags": [
- "string"
], - "status": "AVAILABLE",
- "connection_mirroring": false,
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}RBAC Policies are used to provide service visibility to specific project or domains.
| marker | string <uuid> Pagination ID of the last item in the previous list. |
| limit | integer >= 1 Sets the page size. |
| sort | string <= 256 characters Comma-separated list of sort keys, optionally prefix with - to reverse sort order. |
| page_reverse | boolean Sets the page direction. |
{- "links": [
- {
- "href": "/",
- "rel": "self"
}
], - "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "target_type": "project",
- "target": "666da95112694b37b3efb0913de3f499",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}
]
}RBAC Policy
| target_type | string Default: "project" Value: "project" |
| target | string <= 36 characters The ID of the project to which the RBAC policy will be enforced. |
| service_id required | string <uuid> The ID of the service resource. |
| project_id | string (Project) <= 36 characters The ID of the project owning this resource. |
{- "target_type": "project",
- "target": "666da95112694b37b3efb0913de3f499",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "target_type": "project",
- "target": "666da95112694b37b3efb0913de3f499",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}| rbac_policy_id required | string <uuid> The UUID of the RBAC policy. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "target_type": "project",
- "target": "666da95112694b37b3efb0913de3f499",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}| rbac_policy_id required | string <uuid> The UUID of the RBAC policy. |
RBAC policy resource that needs to be updated
| target_type | string Default: "project" Value: "project" |
| target required | string <= 36 characters The ID of the project to which the RBAC policy will be enforced. |
| project_id | string (Project) <= 36 characters The ID of the project owning this resource. |
{- "target_type": "project",
- "target": "666da95112694b37b3efb0913de3f499",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "target_type": "project",
- "target": "666da95112694b37b3efb0913de3f499",
- "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "project_id": "fa84c217f361441986a220edf9b1e337"
}| project_id | string <= 36 characters The ID of the project to query. |
{- "quotas": [
- {
- "service": 5,
- "endpoint": 5,
- "in_use_service": 5,
- "in_use_endpoint": 5,
- "project_id": "fa84c217f361441986a220edf9b1e337"
}
], - "links": [
- {
- "href": "/",
- "rel": "self"
}
]
}| project_id required | string <= 36 characters The ID of the project to query. |
| service | integer <int64> >= -1 The configured service quota limit. A setting of null means it is using the deployment default quota. A setting of -1 means unlimited. |
| endpoint | integer <int64> >= -1 The configured endpoint quota limit. A setting of null means it is using the deployment default quota. A setting of -1 means unlimited. |
{- "service": 5,
- "endpoint": 5
}{- "service": 5,
- "endpoint": 5
}Lists all registered Archer agents. This is an administrative endpoint.
{- "links": [
- {
- "href": "/",
- "rel": "self"
}
], - "items": [
- {
- "host": "agent-host-01",
- "availability_zone": "AZ-A",
- "provider": "tenant",
- "enabled": true,
- "physnet": "string",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "heartbeat_at": "2023-03-31T18:37:54.581099Z",
- "services": 0
}
]
}Shows details for a specific agent.
| agent_host required | string The hostname of the agent |
{- "host": "agent-host-01",
- "availability_zone": "AZ-A",
- "provider": "tenant",
- "enabled": true,
- "physnet": "string",
- "created_at": "2023-03-31T18:37:54.581099Z",
- "updated_at": "2023-03-31T18:37:54.581099Z",
- "heartbeat_at": "2023-03-31T18:37:54.581099Z",
- "services": 0
}