diff --git a/apps/docs/spec/api_v1_openapi.json b/apps/docs/spec/api_v1_openapi.json index 5b95dd2847..cc2b8f09d9 100644 --- a/apps/docs/spec/api_v1_openapi.json +++ b/apps/docs/spec/api_v1_openapi.json @@ -1920,7 +1920,7 @@ "200": { "description": "", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/JitAccessResponse" } } + "application/json": { "schema": { "$ref": "#/components/schemas/JitStateResponse" } } } }, "401": { "description": "Unauthorized" }, @@ -1964,7 +1964,7 @@ "200": { "description": "", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/JitAccessResponse" } } + "application/json": { "schema": { "$ref": "#/components/schemas/JitStateResponse" } } } }, "401": { "description": "Unauthorized" }, @@ -8306,44 +8306,33 @@ "required": ["custom_hostname"], "example": { "custom_hostname": "docs.example.com" } }, - "JitAccessResponse": { - "type": "object", - "properties": { - "user_id": { "type": "string", "format": "uuid" }, - "user_roles": { - "type": "array", - "items": { - "type": "object", - "properties": { - "role": { "type": "string", "minLength": 1 }, - "expires_at": { "type": "number" }, - "allowed_networks": { - "type": "object", - "properties": { - "allowed_cidrs": { - "type": "array", - "items": { - "type": "object", - "properties": { "cidr": { "type": "string" } }, - "required": ["cidr"] - } - }, - "allowed_cidrs_v6": { - "type": "array", - "items": { - "type": "object", - "properties": { "cidr": { "type": "string" } }, - "required": ["cidr"] - } - } - } - } - }, - "required": ["role"] - } + "JitStateResponse": { + "discriminator": { "propertyName": "state" }, + "oneOf": [ + { + "type": "object", + "properties": { + "state": { "type": "string", "enum": ["enabled", "disabled"] }, + "appliedSuccessfully": { "type": "boolean" } + }, + "required": ["state"] + }, + { + "type": "object", + "properties": { + "state": { "type": "string", "enum": ["unavailable"] }, + "unavailableReason": { + "type": "string", + "enum": [ + "manual_migration_required", + "postgres_upgrade_required", + "temporarily_unavailable" + ] + } + }, + "required": ["state", "unavailableReason"] } - }, - "required": ["user_id", "user_roles"] + ] }, "JitAccessRequestRequest": { "type": "object", @@ -10674,6 +10663,45 @@ "properties": { "message": { "type": "string" } }, "required": ["message"] }, + "JitAccessResponse": { + "type": "object", + "properties": { + "user_id": { "type": "string", "format": "uuid" }, + "user_roles": { + "type": "array", + "items": { + "type": "object", + "properties": { + "role": { "type": "string", "minLength": 1 }, + "expires_at": { "type": "number" }, + "allowed_networks": { + "type": "object", + "properties": { + "allowed_cidrs": { + "type": "array", + "items": { + "type": "object", + "properties": { "cidr": { "type": "string" } }, + "required": ["cidr"] + } + }, + "allowed_cidrs_v6": { + "type": "array", + "items": { + "type": "object", + "properties": { "cidr": { "type": "string" } }, + "required": ["cidr"] + } + } + } + } + }, + "required": ["role"] + } + } + }, + "required": ["user_id", "user_roles"] + }, "AuthorizeJitAccessBody": { "type": "object", "properties": { diff --git a/apps/docs/spec/transforms/api_v1_openapi_deparsed.json b/apps/docs/spec/transforms/api_v1_openapi_deparsed.json index 00c7f0fa7a..5e546fc394 100644 --- a/apps/docs/spec/transforms/api_v1_openapi_deparsed.json +++ b/apps/docs/spec/transforms/api_v1_openapi_deparsed.json @@ -5380,59 +5380,42 @@ "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "user_id": { - "type": "string", - "format": "uuid" - }, - "user_roles": { - "type": "array", - "items": { - "type": "object", - "properties": { - "role": { - "type": "string", - "minLength": 1 - }, - "expires_at": { - "type": "number" - }, - "allowed_networks": { - "type": "object", - "properties": { - "allowed_cidrs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cidr": { - "type": "string" - } - }, - "required": ["cidr"] - } - }, - "allowed_cidrs_v6": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cidr": { - "type": "string" - } - }, - "required": ["cidr"] - } - } - } - } - }, - "required": ["role"] - } - } + "discriminator": { + "propertyName": "state" }, - "required": ["user_id", "user_roles"] + "oneOf": [ + { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["enabled", "disabled"] + }, + "appliedSuccessfully": { + "type": "boolean" + } + }, + "required": ["state"] + }, + { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["unavailable"] + }, + "unavailableReason": { + "type": "string", + "enum": [ + "manual_migration_required", + "postgres_upgrade_required", + "temporarily_unavailable" + ] + } + }, + "required": ["state", "unavailableReason"] + } + ] } } } @@ -5512,59 +5495,42 @@ "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "user_id": { - "type": "string", - "format": "uuid" - }, - "user_roles": { - "type": "array", - "items": { - "type": "object", - "properties": { - "role": { - "type": "string", - "minLength": 1 - }, - "expires_at": { - "type": "number" - }, - "allowed_networks": { - "type": "object", - "properties": { - "allowed_cidrs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cidr": { - "type": "string" - } - }, - "required": ["cidr"] - } - }, - "allowed_cidrs_v6": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cidr": { - "type": "string" - } - }, - "required": ["cidr"] - } - } - } - } - }, - "required": ["role"] - } - } + "discriminator": { + "propertyName": "state" }, - "required": ["user_id", "user_roles"] + "oneOf": [ + { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["enabled", "disabled"] + }, + "appliedSuccessfully": { + "type": "boolean" + } + }, + "required": ["state"] + }, + { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["unavailable"] + }, + "unavailableReason": { + "type": "string", + "enum": [ + "manual_migration_required", + "postgres_upgrade_required", + "temporarily_unavailable" + ] + } + }, + "required": ["state", "unavailableReason"] + } + ] } } } @@ -24010,60 +23976,43 @@ "custom_hostname": "docs.example.com" } }, - "JitAccessResponse": { - "type": "object", - "properties": { - "user_id": { - "type": "string", - "format": "uuid" - }, - "user_roles": { - "type": "array", - "items": { - "type": "object", - "properties": { - "role": { - "type": "string", - "minLength": 1 - }, - "expires_at": { - "type": "number" - }, - "allowed_networks": { - "type": "object", - "properties": { - "allowed_cidrs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cidr": { - "type": "string" - } - }, - "required": ["cidr"] - } - }, - "allowed_cidrs_v6": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cidr": { - "type": "string" - } - }, - "required": ["cidr"] - } - } - } - } - }, - "required": ["role"] - } - } + "JitStateResponse": { + "discriminator": { + "propertyName": "state" }, - "required": ["user_id", "user_roles"] + "oneOf": [ + { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["enabled", "disabled"] + }, + "appliedSuccessfully": { + "type": "boolean" + } + }, + "required": ["state"] + }, + { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["unavailable"] + }, + "unavailableReason": { + "type": "string", + "enum": [ + "manual_migration_required", + "postgres_upgrade_required", + "temporarily_unavailable" + ] + } + }, + "required": ["state", "unavailableReason"] + } + ] }, "JitAccessRequestRequest": { "type": "object", @@ -28501,6 +28450,61 @@ }, "required": ["message"] }, + "JitAccessResponse": { + "type": "object", + "properties": { + "user_id": { + "type": "string", + "format": "uuid" + }, + "user_roles": { + "type": "array", + "items": { + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 + }, + "expires_at": { + "type": "number" + }, + "allowed_networks": { + "type": "object", + "properties": { + "allowed_cidrs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "cidr": { + "type": "string" + } + }, + "required": ["cidr"] + } + }, + "allowed_cidrs_v6": { + "type": "array", + "items": { + "type": "object", + "properties": { + "cidr": { + "type": "string" + } + }, + "required": ["cidr"] + } + } + } + } + }, + "required": ["role"] + } + } + }, + "required": ["user_id", "user_roles"] + }, "AuthorizeJitAccessBody": { "type": "object", "properties": {