Update role

PUT /platform/infrastructure/blueprinter/roles/{blueprinter_role_id}

Update a role.

Path parameters

Query parameters

  • version integer

    When specified, checks for conflicts against the version stored in the persistent store (returned in 'x-cloud-resource-version' of the GET request)

Body Required

The role update data.

  • id string Required

    The unique id of this role

  • auto_blessed boolean Required

    Whether runners are automatically allowed to be assigned the containers of this role.

  • containers array[object] Required

    The containers that are part of this role

    Hide containers attributes Show containers attributes object
    • name string Required

      Name of the association

    • container_set_name string Required

      The container set name (id)

    • kind string Required

      The kind of container set, should be one of 'docker', 'elasticsearch', 'kibana', or 'apm'

    • options object Required

      The container options

      Additional properties are allowed.

      Hide options attributes Show options attributes object
      • enabled boolean Required

        Whether this allocation is active and should be created.

      • auths array[object] Required

        ZooKeeper Auths associated with this allocation

        Hide auths attributes Show auths attributes object
        • scheme string Required

          Scheme identifier, usually "digest"

        • auth string Required

          Plain-text auth. For the "digest" scheme

      • acls array[object] Required

        ZooKeeper ACLs associated with this allocation

        Hide acls attributes Show acls attributes object
        • id string Required

          Identity within the provided scheme.

        • perms integer(int32) Required

          Permissions

        • scheme string Required

          Auth scheme, in Elastic Cloud this is usually "digest"

      • Secret shared between the runners that have containers in this container set allocated.

      • Secret shared between the containers that are part of this container set.

      • A named feature flag to check whether this container is enabled or not

      • Allocation-specific overrides for the allocated containers

        Additional properties are allowed.

        Hide overrides attribute Show overrides attribute object
        • Overrides for the container allocation.

          Additional properties are allowed.

          Hide container_config attributes Show container_config attributes object
          • env array[string] Required

            List of environment variables on the form KEY=value

          • Docker host config

            Additional properties are allowed.

            Hide host_config attributes Show host_config attributes object
            • extra_hosts array[string] Required

              Ports that are exposed by the container.

            • Sets the networking mode for the container.

            • cpu_period integer(int32)

              The length of a CPU period in microsecond

            • Docker behavior to apply when a container exits

              Additional properties are allowed.

              Hide restart_policy attributes Show restart_policy attributes object
              • name string Required

                Identifier for the policy.

              • maximum_retry_count integer(int32)

                Maximum number of times to re-try before giving up

            • port_bindings object Required

              Map of ports that should be exposed on the host.

              Hide port_bindings attribute Show port_bindings attribute object
              • * array[object] Additional properties
                Hide * attributes Show * attributes object
                • host_port string Required

                  Port as observed by the host.

                • host_ip string

                  IP to bind to on the host. I.e {@code 0.0.0.0}

            • binds array[string] Required

              Volume bindings for the container.

            • privileged boolean Required

              List of environment variables on the form KEY=value

Responses

  • The role was successfully updated.

    Hide response attributes Show response attributes object
    • id string Required

      The unique id of this role

    • role object Required

      The role data with metadata

      Additional properties are allowed.

      Hide role attributes Show role attributes object
      • value object Required

        The pending stages

        Additional properties are allowed.

        Hide value attributes Show value attributes object
        • id string Required

          The unique id of this role

        • auto_blessed boolean Required

          Whether runners are automatically allowed to be assigned the containers of this role.

        • containers array[object] Required

          The containers that are part of this role

          Hide containers attributes Show containers attributes object
          • name string Required

            Name of the association

          • container_set_name string Required

            The container set name (id)

          • kind string Required

            The kind of container set, should be one of 'docker', 'elasticsearch', 'kibana', or 'apm'

          • options object Required

            The container options

            Additional properties are allowed.

            Hide options attributes Show options attributes object
            • enabled boolean Required

              Whether this allocation is active and should be created.

            • auths array[object] Required

              ZooKeeper Auths associated with this allocation

              Hide auths attributes Show auths attributes object
              • scheme string Required

                Scheme identifier, usually "digest"

              • auth string Required

                Plain-text auth. For the "digest" scheme

            • acls array[object] Required

              ZooKeeper ACLs associated with this allocation

              Hide acls attributes Show acls attributes object
              • id string Required

                Identity within the provided scheme.

              • perms integer(int32) Required

                Permissions

              • scheme string Required

                Auth scheme, in Elastic Cloud this is usually "digest"

            • Secret shared between the runners that have containers in this container set allocated.

            • Secret shared between the containers that are part of this container set.

            • A named feature flag to check whether this container is enabled or not

            • Allocation-specific overrides for the allocated containers

              Additional properties are allowed.

              Hide overrides attribute Show overrides attribute object
              • Overrides for the container allocation.

                Additional properties are allowed.

                Hide container_config attributes Show container_config attributes object
                • env array[string] Required

                  List of environment variables on the form KEY=value

                • Docker host config

                  Additional properties are allowed.

                  Hide host_config attributes Show host_config attributes object
                  • extra_hosts array[string] Required

                    Ports that are exposed by the container.

                  • Sets the networking mode for the container.

                  • cpu_period integer(int32)

                    The length of a CPU period in microsecond

                  • Docker behavior to apply when a container exits

                    Additional properties are allowed.

                    Hide restart_policy attributes Show restart_policy attributes object
                    • name string Required

                      Identifier for the policy.

                    • maximum_retry_count integer(int32)

                      Maximum number of times to re-try before giving up

                  • port_bindings object Required

                    Map of ports that should be exposed on the host.

                    Hide port_bindings attribute Show port_bindings attribute object
                    • * array[object] Additional properties
                      Hide * attributes Show * attributes object
                      • host_port string Required

                        Port as observed by the host.

                      • host_ip string

                        IP to bind to on the host. I.e {@code 0.0.0.0}

                  • binds array[string] Required

                    Volume bindings for the container.

                  • privileged boolean Required

                    List of environment variables on the form KEY=value

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
    • The blessings data associated with the role

      Additional properties are allowed.

      Hide blessings attributes Show blessings attributes object
      • value object Required

        The blessings

        Additional properties are allowed.

        Hide value attribute Show value attribute object
        • runner_ids_to_blessing object Required

          A mapping of Runner Ids to whether or not they are blessed to run the associated role

          Hide runner_ids_to_blessing attribute Show runner_ids_to_blessing attribute object
          • * object Additional properties

            Whether something is blessed or not

            Additional properties are allowed.

            Hide * attribute Show * attribute object
            • value boolean Required

              Whether something is blessed or not

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
    • pending object

      The pending states data associated with the role

      Additional properties are allowed.

      Hide pending attributes Show pending attributes object
      • value object Required

        The pending stages

        Additional properties are allowed.

        Hide value attribute Show value attribute object
        • A mapping of Runner Ids to whether or not they are waiting to be blessed to run the associated role

          Hide runner_ids_to_pending_state attribute Show runner_ids_to_pending_state attribute object
          • * object Additional properties

            Pending state

            Additional properties are allowed.

            Hide * attribute Show * attribute object
            • value boolean Required

              Whether a runner is pending blessings or not

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
  • The role is currently running container sets. (code: roles.in_use)

    Hide headers attribute Show headers attribute
    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The role can't be found. (code: roles.not_found)

    Hide headers attribute Show headers attribute
    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Your request failed because the specified version does not match the persisted version. (code: roles.version_conflict)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is roles.version_conflict.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

PUT /platform/infrastructure/blueprinter/roles/{blueprinter_role_id}
curl \
 -X PUT https://{{hostname}}/api/v1/platform/infrastructure/blueprinter/roles/{blueprinter_role_id} \
 -d '{"id":"constructor","auto_blessed":true,"containers":[{"name":"string","container_set_name":"string","kind":"string","options":{"enabled":true,"auths":[{"scheme":"digest","auth":"string"}],"acls":[{"id":"string","perms":42,"scheme":"string"}],"runners_secret":"string","container_set_secret":"string","enabled_by_named_feature_flag":"string","overrides":{"container_config":{"env":["DB=localhost:4567"],"host_config":{"extra_hosts":["string"],"network_mode":"string","cpu_period":42,"restart_policy":{"name":"string","maximum_retry_count":42},"port_bindings":{"additionalProperty1":[{"host_port":"string","host_ip":"0.0.0.0"}],"additionalProperty2":[{"host_port":"string","host_ip":"0.0.0.0"}]},"binds":["string"],"privileged":true}}}}}]}'
Request examples
{
  "id": "constructor",
  "auto_blessed": true,
  "containers": [
    {
      "name": "string",
      "container_set_name": "string",
      "kind": "string",
      "options": {
        "enabled": true,
        "auths": [
          {
            "scheme": "digest",
            "auth": "string"
          }
        ],
        "acls": [
          {
            "id": "string",
            "perms": 42,
            "scheme": "string"
          }
        ],
        "runners_secret": "string",
        "container_set_secret": "string",
        "enabled_by_named_feature_flag": "string",
        "overrides": {
          "container_config": {
            "env": [
              "DB=localhost:4567"
            ],
            "host_config": {
              "extra_hosts": [
                "string"
              ],
              "network_mode": "string",
              "cpu_period": 42,
              "restart_policy": {
                "name": "string",
                "maximum_retry_count": 42
              },
              "port_bindings": {
                "additionalProperty1": [
                  {
                    "host_port": "string",
                    "host_ip": "0.0.0.0"
                  }
                ],
                "additionalProperty2": [
                  {
                    "host_port": "string",
                    "host_ip": "0.0.0.0"
                  }
                ]
              },
              "binds": [
                "string"
              ],
              "privileged": true
            }
          }
        }
      }
    }
  ]
}
Response examples (200)
{
  "id": "constructor",
  "role": {
    "value": {
      "id": "constructor",
      "auto_blessed": true,
      "containers": [
        {
          "name": "string",
          "container_set_name": "string",
          "kind": "string",
          "options": {
            "enabled": true,
            "auths": [
              {
                "scheme": "digest",
                "auth": "string"
              }
            ],
            "acls": [
              {
                "id": "string",
                "perms": 42,
                "scheme": "string"
              }
            ],
            "runners_secret": "string",
            "container_set_secret": "string",
            "enabled_by_named_feature_flag": "string",
            "overrides": {
              "container_config": {
                "env": [
                  "DB=localhost:4567"
                ],
                "host_config": {
                  "extra_hosts": [
                    "string"
                  ],
                  "network_mode": "string",
                  "cpu_period": 42,
                  "restart_policy": {
                    "name": "string",
                    "maximum_retry_count": 42
                  },
                  "port_bindings": {
                    "additionalProperty1": [
                      {
                        "host_port": "string",
                        "host_ip": "0.0.0.0"
                      }
                    ],
                    "additionalProperty2": [
                      {
                        "host_port": "string",
                        "host_ip": "0.0.0.0"
                      }
                    ]
                  },
                  "binds": [
                    "string"
                  ],
                  "privileged": true
                }
              }
            }
          }
        }
      ]
    },
    "meta": {
      "created_time": "2024-05-04T09:42:00+00:00",
      "modified_time": "2024-05-04T09:42:00+00:00",
      "version": "string"
    }
  },
  "blessings": {
    "value": {
      "runner_ids_to_blessing": {
        "additionalProperty1": {
          "value": true
        },
        "additionalProperty2": {
          "value": true
        }
      }
    },
    "meta": {
      "created_time": "2024-05-04T09:42:00+00:00",
      "modified_time": "2024-05-04T09:42:00+00:00",
      "version": "string"
    }
  },
  "pending": {
    "value": {
      "runner_ids_to_pending_state": {
        "additionalProperty1": {
          "value": true
        },
        "additionalProperty2": {
          "value": true
        }
      }
    },
    "meta": {
      "created_time": "2024-05-04T09:42:00+00:00",
      "modified_time": "2024-05-04T09:42:00+00:00",
      "version": "string"
    }
  }
}
Response examples (400)
# Headers
x-cloud-error-codes: roles.in_use

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: roles.not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (409)
# Headers
x-cloud-error-codes: roles.version_conflict

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}