{"msg":"cockroach temporary directory: /var/tmp/omicron_tmp/.tmpHdUOOZ","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:08.756620677Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"cockroach: copying from seed tarball (/var/tmp/omicron_tmp/crdb-base-build/0ba558b6703680b8ede35fabd6978a943490bd8054f72957a6e548a757ea0cf2.tar) to storage directory (/var/tmp/omicron_tmp/.tmpHdUOOZ/data)","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:08.756739393Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"cockroach command line: cockroach start-single-node --insecure --http-addr=:0 --store=path=/var/tmp/omicron_tmp/.tmpHdUOOZ/data,ballast-size=0 --listen-addr [::1]:0 --listening-url-file /var/tmp/omicron_tmp/.tmpHdUOOZ/listen-url","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:08.766962032Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"cockroach environment: BUILDOMAT_JOB_ID=01HPMN2STWTAWNNTNSRX3P7732 BUILDOMAT_TASK_ID=4 CARGO=/home/build/.rustup/toolchains/1.74.1-x86_64-unknown-linux-gnu/bin/cargo CARGO_HOME=/home/build/.cargo CARGO_INCREMENTAL=0 CARGO_MANIFEST_DIR=/work/oxidecomputer/omicron/nexus/db-queries CARGO_PKG_AUTHORS= CARGO_PKG_DESCRIPTION= CARGO_PKG_HOMEPAGE= CARGO_PKG_LICENSE=MPL-2.0 CARGO_PKG_LICENSE_FILE= CARGO_PKG_NAME=nexus-db-queries CARGO_PKG_REPOSITORY= CARGO_PKG_RUST_VERSION= CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE= CI=true CRDB_SEED_TAR=/var/tmp/omicron_tmp/crdb-base-build/0ba558b6703680b8ede35fabd6978a943490bd8054f72957a6e548a757ea0cf2.tar GITHUB_BRANCH=order-next-item-subquery GITHUB_REF=refs/heads/order-next-item-subquery GITHUB_REPOSITORY=oxidecomputer/omicron GITHUB_SHA=604b19b55a25857d0a501c266b1b25941fa11b3e GOTRACEBACK=crash HOME=/home/build LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LD_LIBRARY_PATH=/work/oxidecomputer/omicron/target/debug/build/blake3-feeaa7149c3596f1/out:/work/oxidecomputer/omicron/target/debug/build/bzip2-sys-a48f149f01e13be4/out/lib:/work/oxidecomputer/omicron/target/debug/build/ring-36a1c9477f8b2f8d/out:/work/oxidecomputer/omicron/target/debug/build/ring-ba6b6ec6a6f9aa54/out:/work/oxidecomputer/omicron/target/debug/build/tofino-d74860998be2bf98/out:/work/oxidecomputer/omicron/target/debug/deps:/work/oxidecomputer/omicron/target/debug:/home/build/.rustup/toolchains/1.74.1-x86_64-unknown-linux-gnu/lib LOGNAME=build NEXTEST=1 NEXTEST_EXECUTION_MODE=process-per-test NEXTEST_LD_LIBRARY_PATH=/work/oxidecomputer/omicron/target/debug/build/blake3-feeaa7149c3596f1/out:/work/oxidecomputer/omicron/target/debug/build/bzip2-sys-a48f149f01e13be4/out/lib:/work/oxidecomputer/omicron/target/debug/build/ring-36a1c9477f8b2f8d/out:/work/oxidecomputer/omicron/target/debug/build/ring-ba6b6ec6a6f9aa54/out:/work/oxidecomputer/omicron/target/debug/build/tofino-d74860998be2bf98/out:/work/oxidecomputer/omicron/target/debug/deps:/work/oxidecomputer/omicron/target/debug:/home/build/.rustup/toolchains/1.74.1-x86_64-unknown-linux-gnu/lib NEXTEST_RUN_ID=3d3fc513-6fdb-4fb5-9570-45efa6c0d5c6 OUT_DIR=/work/oxidecomputer/omicron/target/debug/build/nexus-db-queries-fe99d87e837cdda9/out PATH=/work/oxidecomputer/omicron/out/mgd/root/opt/oxide/mgd/bin:/work/oxidecomputer/omicron/out/dendrite-stub/bin:/work/oxidecomputer/omicron/out/clickhouse:/work/oxidecomputer/omicron/out/cockroachdb/bin:/home/build/.cargo/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/ooce/bin:/opt/ooce/sbin PWD=/work/oxidecomputer/omicron RUSTC_BOOTSTRAP=1 RUSTDOCFLAGS=-D warnings RUSTFLAGS=-D warnings RUSTUP_HOME=/home/build/.rustup RUSTUP_TOOLCHAIN=1.74.1-x86_64-unknown-linux-gnu RUST_BACKTRACE=1 RUST_RECURSION_COUNT=1 SHLVL=1 SSL_CERT_DIR=/usr/lib/ssl/certs SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt TMPDIR=/var/tmp/omicron_tmp TZ=UTC USER=build __NEXTEST_ATTEMPT=1 __NEXTEST_ORIGINAL_CARGO_MANIFEST_DIR=/work/oxidecomputer/omicron/nexus/db-queries","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:08.767048687Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"cockroach pid: 22526","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:09.890928255Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"cockroach listen URL: postgresql://root@[::1]:42737/omicron?sslmode=disable","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:09.89101412Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"database connection pool","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:09.891090964Z","hostname":"ip-10-150-1-168","pid":22506,"component":"db::Pool","database_url":"postgresql://root@[::1]:42737/omicron?sslmode=disable"} {"msg":"Compatible database schema: 33.0.1","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.674402443Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.674673027Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.67472766Z","hostname":"ip-10-150-1-168","pid":22506,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.674776972Z","hostname":"ip-10-150-1-168","pid":22506,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.674825245Z","hostname":"ip-10-150-1-168","pid":22506,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.674870428Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.674957492Z","hostname":"ip-10-150-1-168","pid":22506,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.675003355Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.675037877Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.675070488Z","hostname":"ip-10-150-1-168","pid":22506,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.67511251Z","hostname":"ip-10-150-1-168","pid":22506,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.675149892Z","hostname":"ip-10-150-1-168","pid":22506,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.675187165Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.675236587Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.675305191Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676148436Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676204059Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676238271Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676282653Z","hostname":"ip-10-150-1-168","pid":22506,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676321626Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676373209Z","hostname":"ip-10-150-1-168","pid":22506,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676417911Z","hostname":"ip-10-150-1-168","pid":22506,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676477544Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676522657Z","hostname":"ip-10-150-1-168","pid":22506,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676553578Z","hostname":"ip-10-150-1-168","pid":22506,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.67659152Z","hostname":"ip-10-150-1-168","pid":22506,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676662164Z","hostname":"ip-10-150-1-168","pid":22506,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676725137Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.67677801Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676829553Z","hostname":"ip-10-150-1-168","pid":22506,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676857775Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676909077Z","hostname":"ip-10-150-1-168","pid":22506,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.676948569Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677014883Z","hostname":"ip-10-150-1-168","pid":22506,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677080867Z","hostname":"ip-10-150-1-168","pid":22506,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677130059Z","hostname":"ip-10-150-1-168","pid":22506,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677176792Z","hostname":"ip-10-150-1-168","pid":22506,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677260046Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677317119Z","hostname":"ip-10-150-1-168","pid":22506,"class":"RoleBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677370152Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677424005Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677468137Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.67750905Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677558002Z","hostname":"ip-10-150-1-168","pid":22506,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677613625Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677669698Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677723631Z","hostname":"ip-10-150-1-168","pid":22506,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677798455Z","hostname":"ip-10-150-1-168","pid":22506,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677851938Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677927632Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.677972095Z","hostname":"ip-10-150-1-168","pid":22506,"class":"UserBuiltin"} {"msg":"full Oso configuration","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.678012877Z","hostname":"ip-10-150-1-168","pid":22506,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations)\n# - silo.viewer (can read most resources within the Silo)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n\t\"modify\" if \"modify\" on \"silo_user\";\n}\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(_actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest);\nhas_permission(_actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest);\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n resource RoleBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: RoleBuiltin)\n if child.fleet = fleet;\n \n\n\n\n\n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n "} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.688224806Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.688276388Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.689555447Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"attempting to create built-in users","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.69054609Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.690586032Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.690630845Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.690665397Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created 5 built-in users","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.717476727Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.717567132Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.717616005Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.719113995Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"attempting to create built-in roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.719322317Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.71937873Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.719428812Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.719664895Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created 10 built-in roles","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.75716323Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.757214573Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.757259895Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.758953416Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"attempting to create built-in role assignments","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.759330836Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.75940131Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.759450863Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.759548128Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created 4 built-in role assignments","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.791944778Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.792002711Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.792047474Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.793657671Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"attempting to create built-in silos","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.793986408Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.794037071Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.794085574Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.794129696Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created 2 built-in silos","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.855229339Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.855322094Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.855356206Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.855914936Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.884333043Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.885190229Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.88650462Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"attempting to create built-in projects","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.888015671Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.888062023Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.888132887Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.889143421Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.889358693Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.889408636Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.889467439Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.889509141Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.890259431Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.891787303Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.892572975Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.892619488Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.89265564Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.893509346Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.896765781Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.896840395Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.897945884Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.898004767Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.89804946Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.898087172Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.898365806Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.8984256Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.898458951Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.898955158Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.906297383Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.914378667Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.914513754Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.914637381Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.915578792Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created built-in services project","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:10.94589052Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.945948723Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.946001636Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.947820904Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"attempting to create built-in VPCs","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.948042506Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.948080148Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.948112249Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.948266248Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.968202169Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.968339417Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.968899807Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.970067139Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.970204057Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.970249409Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.970278801Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.970547695Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.971522617Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.972018264Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.972075717Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.972116229Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.97288167Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.973780359Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.973837202Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.973863883Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.974299647Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.979286365Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"successful lookup of siloed resource \"Project\" using built-in user","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.979334697Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.979395631Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.979434022Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.979475525Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.979506546Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.979969651Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.9827334Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.982791013Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.982840596Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.983335582Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.984341426Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.984388048Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.984441002Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.984853974Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.985995505Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.9933488Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:10.993408064Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.993444386Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:10.993475967Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.029624619Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.029684322Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.030218551Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.047353952Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.047631277Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.047705361Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.047759394Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.048399018Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.049874147Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.049965042Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.050007725Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.050650959Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.051612601Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.051668684Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.051736818Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.052659177Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.053310272Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.058534583Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.058696641Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.05885211Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.059489184Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.068889909Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.069034677Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.069081529Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.069123112Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.069852281Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.077117751Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.077245709Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.077364925Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.078127546Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.079808896Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.080736446Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.080788809Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.080834911Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.087447477Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.08750648Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.087565903Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.087616135Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.087657088Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"attempting to create built-in VPC firewall rules","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.133815268Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.133875031Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.133932664Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.134675204Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.139946517Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.140085805Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.14074152Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.141881101Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.142846573Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.142892755Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.143574412Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.143658726Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.143715949Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.143765122Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.146732882Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.149556224Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.149629387Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.14968112Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.150936928Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.151293877Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.151357261Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.151383562Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.151951083Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.156220542Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.162630416Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.16270953Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.162741222Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.162776744Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.162818806Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.162867019Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.163285931Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.167993474Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.168072169Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.168128481Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.169548138Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.170420465Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.170492719Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.170534161Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.170909401Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.171880403Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.178078606Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.1781597Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.178217274Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.178690249Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.204967151Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.205030644Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.205081307Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.205153031Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.205708101Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.206850062Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.206923716Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.206975339Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.20755208Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.20867394Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.208727913Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.208799137Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.209204619Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.210859008Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.222238239Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.222375476Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.222466291Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.22319585Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created built-in VPC firewall rules","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.268443851Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"attempting to create built-in VPC Subnets","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.268533566Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.268577939Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.268626521Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.269408454Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.292781369Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.292891705Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.293631525Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.29484473Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.294893843Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.29540324Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.297683482Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.297958847Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.29800196Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.298033361Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.298473465Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.303558598Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.303628722Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.303668504Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.304220914Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.305682372Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.305752356Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.305793028Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.306344418Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.31549006Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.32164532Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.321769857Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.321879333Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.321933446Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.322985662Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.336641086Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.337111501Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.337171864Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.337215377Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.337681372Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.347994156Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.348085421Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.348157795Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.348579477Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.349530659Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.350226336Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.350286109Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.350324251Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.350933814Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.35867452Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.369168834Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.369241688Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.369896753Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.371208873Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.371412134Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.371558232Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.371692919Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.373477785Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.378821742Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.378881685Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.378918987Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.381476895Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.382430436Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.382481189Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.382514451Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.383045819Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.384120817Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.395099487Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.403481387Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.403552991Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.404157704Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.405186679Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.405717358Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.405771421Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.405817773Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.406254407Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.412532744Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.412620288Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.412672261Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.413268423Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.414672819Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.414728122Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.414779804Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.415209857Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.418675084Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.425232396Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created built-in services vpc subnets","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.439720435Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"created built-in services vpc","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.439860712Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.439909965Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.439951287Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.44168908Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"attempting to create silo users","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.441730193Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.441755504Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.441780095Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.442106753Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created 2 silo users","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.462256655Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"attempting to create silo user role assignments","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.462389332Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.462423384Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.462460356Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.463097961Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"created 2 silo user role assignments","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.472527338Z","hostname":"ip-10-150-1-168","pid":22506} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.472587881Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.472651904Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.473195773Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.479979568Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.480039771Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.480522747Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.495684161Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.495756725Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.495792247Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.495822249Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.496528027Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.498594438Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.500898161Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.500975836Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.501020318Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.501379538Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.528493824Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.528768649Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.528833453Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.528868935Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.529572642Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.530588267Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.532337621Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.53269783Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.532759074Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.533004627Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001, .. })"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599644318Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599696321Z","hostname":"ip-10-150-1-168","pid":22506,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599723322Z","hostname":"ip-10-150-1-168","pid":22506,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599746753Z","hostname":"ip-10-150-1-168","pid":22506,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599769465Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599796606Z","hostname":"ip-10-150-1-168","pid":22506,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599819807Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599847619Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.599890261Z","hostname":"ip-10-150-1-168","pid":22506,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.60079376Z","hostname":"ip-10-150-1-168","pid":22506,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.600844152Z","hostname":"ip-10-150-1-168","pid":22506,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.600941227Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601003051Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601085335Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601140248Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601198761Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601255224Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601298796Z","hostname":"ip-10-150-1-168","pid":22506,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601346589Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601395992Z","hostname":"ip-10-150-1-168","pid":22506,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601477206Z","hostname":"ip-10-150-1-168","pid":22506,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601534219Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.601610843Z","hostname":"ip-10-150-1-168","pid":22506,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602584806Z","hostname":"ip-10-150-1-168","pid":22506,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602619767Z","hostname":"ip-10-150-1-168","pid":22506,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602643999Z","hostname":"ip-10-150-1-168","pid":22506,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.60266646Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602687931Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602709262Z","hostname":"ip-10-150-1-168","pid":22506,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602729913Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602757325Z","hostname":"ip-10-150-1-168","pid":22506,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602782026Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602805817Z","hostname":"ip-10-150-1-168","pid":22506,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602830719Z","hostname":"ip-10-150-1-168","pid":22506,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602874181Z","hostname":"ip-10-150-1-168","pid":22506,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602903743Z","hostname":"ip-10-150-1-168","pid":22506,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602931514Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.602979737Z","hostname":"ip-10-150-1-168","pid":22506,"class":"RoleBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603022339Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603078132Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603136505Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603183918Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.60322068Z","hostname":"ip-10-150-1-168","pid":22506,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603243651Z","hostname":"ip-10-150-1-168","pid":22506,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603300564Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603359877Z","hostname":"ip-10-150-1-168","pid":22506,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603399479Z","hostname":"ip-10-150-1-168","pid":22506,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.603495665Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.60452595Z","hostname":"ip-10-150-1-168","pid":22506,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.604563312Z","hostname":"ip-10-150-1-168","pid":22506,"class":"UserBuiltin"} {"msg":"full Oso configuration","v":0,"name":"test_insert_no_instance_fails","level":30,"time":"2024-02-14T20:43:11.604587343Z","hostname":"ip-10-150-1-168","pid":22506,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations)\n# - silo.viewer (can read most resources within the Silo)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n\t\"modify\" if \"modify\" on \"silo_user\";\n}\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(_actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest);\nhas_permission(_actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest);\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n resource RoleBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: RoleBuiltin)\n if child.fleet = fleet;\n \n\n\n\n\n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n "} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.61494698Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.615050655Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.615093268Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.61513721Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.615627846Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.625964182Z","hostname":"ip-10-150-1-168","pid":22506,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.626045296Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.626100559Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.626639688Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.638045491Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.640668192Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.640735015Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.640789798Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.641144548Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.657597811Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.657688316Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.658290618Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_insert_no_instance_fails","level":10,"time":"2024-02-14T20:43:11.69330619Z","hostname":"ip-10-150-1-168","pid":22506,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.693378034Z","hostname":"ip-10-150-1-168","pid":22506,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_insert_no_instance_fails","level":20,"time":"2024-02-14T20:43:11.693977976Z","hostname":"ip-10-150-1-168","pid":22506,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007, silo_id: 001de000-5110-4000-8000-000000000000, .. })"}