Archer is an API service that can privately connect services from one private OpenStack Network to another. Consumers can select a service from a service catalog and inject it to their network, which means making this service available via a private ip address.
Archer implements an OpenStack like API and integrates with OpenStack Keystone and OpenStack Neutron.
There are two types of resources: services and endpoints
policy.json access policy supportThis section describes properties of the Archer API. It uses a ReSTful HTTP API.
The Archer API only accepts requests with the JSON data serialization format. The Content-Type header for POST requests is always expected to be application/json.
The Archer API always response with JSON data serialization format. The Content-Type header is always Content-Type: application/json.
The Archer API uses the OpenStack Identity service as the default authentication service. When Keystone is enabled, users that submit requests to the OpenStack Networking service must provide an authentication token in X-Auth-Token request header.
You obtain the token by authenticating to the Keystone endpoint.
When Keystone is enabled, the project_id attribute is not required in create requests because the project ID is derived from the authentication token.
To reduce load on the service, list operations will return a maximum number of items at a time. To navigate the collection, the parameters limit, marker and page_reverse can be set in the URI. For example:
?limit=100&marker=1234&page_reverse=False
The marker parameter is the ID of the last item in the previous list. The limit parameter sets the page size. The page_reverse parameter sets the page direction.
These parameters are optional.
If the client requests a limit beyond the maximum limit configured by the deployment, the server returns the maximum limit number of items.
For convenience, list responses contain atom next links and previous links. The last page in the list requested with page_reverse=False will not contain next link, and the last page in the list requested with page_reverse=True will not contain previous link.
To determine if pagination is supported, a user can check whether the pagination capability is available through the Archer API detail endpoint.
You can use the sort parameter to sort the results of list operations.
The sort parameter contains a comma-separated list of sort keys, in order of the sort priority. Each sort key can be optionally prepended with a minus - character to reverse default sort direction (ascending).
For example:
?sort=key1,-key2,key3
key1 is the first key (ascending order), key2 is the second key (descending order) and key3 is the third key in ascending order.
To determine if sorting is supported, a user can check whether the sort capability is available through the Archer API detail endpoint.
Most resources (e.g. service and endpoint) support adding tags to the resource attributes. Archer supports advanced filtering using these tags for list operations. The following tag filters are supported by the Archer API:
tags - Return the list of entities that have this tag or tags.tags-any - Return the list of entities that have one or more of the given tags.not-tags - Return the list of entities that do not have one or more of the given tags.not-tags-any - Return the list of entities that do not have at least one of the given tags.Each tag supports a maximum amount of 64 characters.
For example to get a list of resources having both, red and blue tags:
?tags=red,blue
To get a list of resourcing having either, red or blue tags:
?tags-any=red,blue
Tag filters can also be combined in the same request:
?tags=red,blue&tags-any=green,orange
| Code | Description |
|---|---|
| 400 | Validation Error |
| 401 | Unauthorized |
| 403 | Policy does not allow current user to do this The project is over quota for the request |
| 404 | Not Found Resource not found |
| 409 | Conflict |
| 422 | Unprocessable Entity |
| 429 | You have reached maximum request limit |
| 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"
}
]
}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 <ipv4> non-empty [ items <ipv4 > ] IP Addresses of the providing service, 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. |
{- "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"
}{- "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"
}| 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"
}| 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 <ipv4> non-empty [ items <ipv4 > ] IP Addresses of the providing service, 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. |
{- "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"
]
}{- "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"
}Deletes this service. There must be no active associated endpoint for successfully deleting the service.
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 |
{- "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"
}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
}