get_resource_access_update_status

EtlJobsApi.get_resource_access_update_status(role_id, id, projection_expression=None, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)

Get job resource access update status

Returns the latest extra resource-access grants on the job role (DatasetAccess, DomainAccess, ParameterAccess, SharedLibraries) plus Status and Message. Status is the job ResourceAccessStatus, defaulting to updated when unset (in_progress while the step function runs, failed if the last update did not complete). Caller must send a valid role_id (AUTH-1001 if missing) and have some permission on the job (AUTH-1010 if none). Unknown JobId returns IPV-1002. Query projectionExpression is accepted by API Gateway but is not applied by get_resource_access_details. Safe to retry (read-only).

Parameters:
  • role_id (str) – Amorphic role ID the request is authorized against. Must be a role the user belongs to. Returns AUTH-1001 if missing. (required)

  • id (str) – Job UUID (Jobs table Id). Unknown id returns IPV-1002. (required)

  • projection_expression (str) – Present on the method for API Gateway validation. The handler does not apply it; the full access payload is always returned.

  • _request_timeout (int, tuple(int, int), optional) – timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts.

  • _request_auth (dict, optional) – set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request.

  • _content_type (str, Optional) – force content-type for the request.

  • _headers (dict, optional) – set to override the headers for a single request; this effectively ignores the headers in the spec for a single request.

  • _host_index (int, optional) – set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request.

Return type:

GetJobResourceAccessResponse

Returns:

Returns the result object.

Request and Response Examples

HTTP: GET /jobs/{id}/resourceaccess

Parameter examples

Name

In

Example

id

path

"e4f5a6b7-c8d9-0123-4567-89abcdef0123"

Success (HTTP 200)

Current extra-resource grants and the latest access-update Status/Message.

Grants after a completed update

{
  "Status": "updated",
  "Message": "",
  "DatasetAccess": {
    "Owner": [
      {
        "DatasetId": "b1e6c2a0-9f4d-4c7a-8f2e-1a2b3c4d5e6f",
        "DatasetName": "monthly_orders",
        "Domain": "sales"
      }
    ],
    "ReadOnly": [],
    "ReadOnlyFileLevel": [
      {
        "DatasetId": "c3d8e4f2-9a6b-5c7d-0e1f-3a4b5c6d7e8f",
        "DatasetName": "landing_files",
        "Domain": "sales",
        "FileLevelTags": [
          {
            "TagKey": "pii",
            "TagValue": "masked"
          }
        ]
      }
    ]
  },
  "DomainAccess": {
    "Owner": [
      {
        "DomainName": "sales"
      }
    ],
    "ReadOnly": []
  },
  "ParameterAccess": [
    "/amorphic/sales/db_password"
  ],
  "SharedLibraries": [
    "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  ]
}

Step function still applying IAM

{
  "Status": "in_progress",
  "Message": "",
  "DatasetAccess": {
    "Owner": [],
    "ReadOnly": [],
    "ReadOnlyFileLevel": []
  },
  "DomainAccess": {
    "Owner": [],
    "ReadOnly": []
  },
  "ParameterAccess": [],
  "SharedLibraries": []
}

Errors

Documented error codes: AUTH-1001, AUTH-1010, IPV-1002, GE-1008, EMF-1001.

HTTP 400

Validation or authorization failure. Body is {“Message”: “<CODE> - <text>”}. Common codes: AUTH-1001, AUTH-1010 (no job permission), IPV-1002 (unknown JobId). Typed errors including GenericFailureException map to HTTP 400.

Missing role_id header

{
  "Message": "AUTH-1001 - Missing role information in event header"
}

User has no permission on the job

{
  "Message": "AUTH-1010 - User user1 is not authorized to perform this operation"
}

Unknown job id

{
  "Message": "IPV-1002 - Invalid JobId - e4f5a6b7-c8d9-0123-4567-89abcdef0123, resource not found."
}

HTTP 500

Unhandled backend failure. Body is {“Message”: “<CODE> - <text>”} (GE-1008 via EMF-1001).

Unexpected failure

{
  "Message": "GE-1008 - Could not complete the request. Please try again."
}