# Update resources

Updates resources for a workspace.

Endpoint: PATCH /iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/resources
Version: 1.0
Security: x-api-key

## Path parameters:

  - `org` (string, required)
    Org is the organisation identifier.
    Example: "bsj"

  - `project` (string, required)
    Project is the project identifier.
    Example: "g"

  - `workspace` (string, required)
    Workspace identifier
    Example: "Aliquam facere cumque."

## Header parameters:

  - `Harness-Account` (string, required)
    Account is the internal customer account ID.
    Example: "s"

## Request fields (application/json):

  - `resources` (array, required)
    Example: [{"attributes":"Reiciendis perferendis asperiores.","drift_attributes":{"Minus nemo nobis unde.":"Consequatur eius praesentium id nihil."},"drift_status":"","mode":"Nostrum saepe repellat provident sapiente et.","module":"Fugit distinctio ullam saepe.","name":"Et ut.","path_id":"Suscipit atque est aliquam sint libero.","provider":"Voluptates nesciunt quis repellendus modi.","sensitive_attribute_paths":["Iure illo aut autem aperiam excepturi vitae.","Esse quos quos.","Eius doloribus voluptatem."],"type":"Atque nesciunt consequatur modi voluptates aliquid dolorem."},{"attributes":"Reiciendis perferendis asperiores.","drift_attributes":{"Minus nemo nobis unde.":"Consequatur eius praesentium id nihil."},"drift_status":"","mode":"Nostrum saepe repellat provident sapiente et.","module":"Fugit distinctio ullam saepe.","name":"Et ut.","path_id":"Suscipit atque est aliquam sint libero.","provider":"Voluptates nesciunt quis repellendus modi.","sensitive_attribute_paths":["Iure illo aut autem aperiam excepturi vitae.","Esse quos quos.","Eius doloribus voluptatem."],"type":"Atque nesciunt consequatur modi voluptates aliquid dolorem."},{"attributes":"Reiciendis perferendis asperiores.","drift_attributes":{"Minus nemo nobis unde.":"Consequatur eius praesentium id nihil."},"drift_status":"","mode":"Nostrum saepe repellat provident sapiente et.","module":"Fugit distinctio ullam saepe.","name":"Et ut.","path_id":"Suscipit atque est aliquam sint libero.","provider":"Voluptates nesciunt quis repellendus modi.","sensitive_attribute_paths":["Iure illo aut autem aperiam excepturi vitae.","Esse quos quos.","Eius doloribus voluptatem."],"type":"Atque nesciunt consequatur modi voluptates aliquid dolorem."}]

  - `resources.attributes` (any, required)
    Resource attributes
    Example: "Libero eveniet fuga quam."

  - `resources.drift_attributes` (object)
    Map of drifted attribute values (used when update_mode=drift)
    Example: {"Accusamus voluptas omnis error.":"Quasi dolores nihil laborum.","Accusantium tempore magnam culpa nesciunt.":"Aut expedita quis omnis est nobis.","Recusandae sint nam.":"Veniam dolorem vitae."}

  - `resources.drift_status` (string)
    Drift status of the resource (used when update_mode=drift)
    Enum: "changed", "deleted", "unchanged", ""

  - `resources.mode` (string, required)
    managed, datasource, output
    Example: "Voluptates nam rem."

  - `resources.module` (string, required)
    Module path
    Example: "Et rem omnis similique eius."

  - `resources.name` (string, required)
    Resource name
    Example: "Mollitia aspernatur delectus."

  - `resources.path_id` (string)
    path id
    Example: "At quas quia velit et."

  - `resources.provider` (string, required)
    Provider name
    Example: "Quisquam doloremque voluptates vel repellat aut nostrum."

  - `resources.sensitive_attribute_paths` (array)
    Paths to sensitive attributes
    Example: ["Hic voluptatem debitis aut minima.","Vel voluptatum voluptatem sint est minus delectus.","Velit ad et nulla minima sed dolor."]

  - `resources.type` (string, required)
    Resource type
    Example: "Harum error omnis repudiandae."

  - `session_id` (string)
    Session ID to track resource updates belongs to same operation
    Example: "03936d88-f48b-4371-95d8-c627514eec62"

  - `update_mode` (string)
    Update mode: upsert (default) updates attributes; drift updates drift columns only
    Enum: "upsert", "drift"

## Response 200 fields (application/json):

  - `results` (array, required)
    Example: [{"error":"Vel in sit rem.","mode":"Sit culpa accusantium.","module":"Est est.","name":"Illo aut.","provider":"Debitis id ipsam delectus.","status":"failed","type":"Est sit saepe."},{"error":"Vel in sit rem.","mode":"Sit culpa accusantium.","module":"Est est.","name":"Illo aut.","provider":"Debitis id ipsam delectus.","status":"failed","type":"Est sit saepe."}]

  - `results.error` (string)
    Example: "Quos assumenda sed in iusto."

  - `results.mode` (string, required)
    Example: "Vel provident sed."

  - `results.module` (string, required)
    Example: "Rerum perferendis culpa qui."

  - `results.name` (string, required)
    Example: "Aut voluptatem vero enim beatae."

  - `results.provider` (string, required)
    Example: "Est inventore earum quasi pariatur architecto."

  - `results.status` (string)
    Enum: "updated", "skipped", "failed"

  - `results.type` (string, required)
    Example: "Veritatis nesciunt."

  - `summary` (object, required)
    Summary of a resource update operation
    Example: {"failed":2666310541243318000,"skipped":6181219851663278000,"total":52926655156887060,"updated":8453620270917786000}

  - `summary.failed` (integer, required)
    Number of resources that failed to update
    Example: 2666310541243318000

  - `summary.skipped` (integer, required)
    Number of resources skipped
    Example: 6181219851663278000

  - `summary.total` (integer, required)
    Total number of resources processed
    Example: 52926655156887060

  - `summary.updated` (integer, required)
    Number of resources successfully updated
    Example: 8453620270917786000

## Response 401 fields (application/vnd.goa.error):

  - `fault` (boolean, required)
    Is the error a server-side fault?
    Example: true

  - `id` (string, required)
    ID is a unique identifier for this particular occurrence of the problem.
    Example: "123abc"

  - `message` (string, required)
    Message is a human-readable explanation specific to this occurrence of the problem.
    Example: "parameter 'p' must be an integer"

  - `name` (string, required)
    Name is the name of this class of errors.
    Example: "bad_request"

  - `temporary` (boolean, required)
    Is the error temporary?
    Example: true

  - `timeout` (boolean, required)
    Is the error a timeout?
    Example: true


