Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partially Update (PATCH) Data Center REST Endpoint #418

Open
joneubank opened this issue Aug 30, 2023 · 0 comments
Open

Partially Update (PATCH) Data Center REST Endpoint #418

joneubank opened this issue Aug 30, 2023 · 0 comments
Assignees
Labels
new-feature Request is a new feature

Comments

@joneubank
Copy link
Member

This ticket is part of the effort to add functionality of a Data Center Registry to the Program Service:
The Program Service scope is being expanded to also act as a Data Center Registry. Data Centers represent the Regional Data Processing Centers (RDPC) that ARGO will support a network of. Each program registered in the program-service must belong to a single Data Center. The Data Centers have various connection details that also need to be stored.

Add REST Endpoint to perform partial updates of a Data Center.

Detailed Description

Request

PATCH /datacenters/{datacenter_short_name}

Inputs

Parameter Type Required Value Description
datacenter_id path Yes String Short Name of a Data Center

This request accepts a JSON object in the body with the properties of the Data Center that the user wants to update. Only the provided values will be changed. If any of the properties in the provided object are immutable then the entire request should be rejected.

Resposne

JSON Object with the entire updated Data Center.

If the request body includes invalid properties then an error 400 should be returned that includes a message indicating the reason this request was invalid.

If the provided short name in the path is not found in the Data Center table, return an error 404 not found.

Auth Rules

This endpoint is restricted to DCC Admin and RDPC Admins.

DCC Admin is identified by having WRITE permission for the Program Service system scope (ie. PROGRAMSERVICE.WRITE scope).

RDPC Admin is identified by having WRITE permission for a policy formatting like RDPC-{datacenter_short_name} where the datacenter_short_name is taken from the path parameter.

@joneubank joneubank added the new-feature Request is a new feature label Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-feature Request is a new feature
Projects
None yet
Development

No branches or pull requests

2 participants