Set blessings

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

Set blessings for 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 blessings to set.

  • 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

Responses

  • The blessings were successfully set.

    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 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}/blessings
curl \
 -X PUT https://{{hostname}}/api/v1/platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings \
 -d '{"runner_ids_to_blessing":{"additionalProperty1":{"value":true},"additionalProperty2":{"value":true}}}'
Request examples
{
  "runner_ids_to_blessing": {
    "additionalProperty1": {
      "value": true
    },
    "additionalProperty2": {
      "value": 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 (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"
      ]
    }
  ]
}