Skip to content

Commit 5292698

Browse files
direct: Add model serving endpoints (#3890)
## Changes Adds support for model serving endpoints in direct mode with create, update, delete, and wait logic. ## Tests Added acceptance tests verifying field triggers: - Recreate tests: name, catalog_name, schema_name, table_name_prefix, route_optimized - Update tests: description, tags, served_entities
1 parent e2fdfd9 commit 5292698

File tree

74 files changed

+2856
-24
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2856
-24
lines changed

acceptance/bundle/refschema/out.fields.txt

Lines changed: 469 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
bundle:
2+
name: acc-$UNIQUE_NAME
3+
4+
resources:
5+
model_serving_endpoints:
6+
my_endpoint:
7+
name: $ENDPOINT_NAME
8+
9+
permissions:
10+
- level: CAN_VIEW
11+
user_name: [email protected]
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"plan": {
3+
"resources.model_serving_endpoints.my_endpoint": {
4+
"action": "create",
5+
"new_state": {
6+
"config": {
7+
"name": "[ENDPOINT_NAME_1]"
8+
}
9+
}
10+
},
11+
"resources.model_serving_endpoints.my_endpoint.permissions": {
12+
"depends_on": [
13+
{
14+
"node": "resources.model_serving_endpoints.my_endpoint",
15+
"label": "${resources.model_serving_endpoints.my_endpoint.endpoint_id}"
16+
}
17+
],
18+
"action": "create",
19+
"new_state": {
20+
"config": {
21+
"object_id": "",
22+
"permissions": [
23+
{
24+
"permission_level": "CAN_VIEW",
25+
"user_name": "[email protected]"
26+
},
27+
{
28+
"permission_level": "CAN_MANAGE",
29+
"service_principal_name": "[USERNAME]"
30+
}
31+
]
32+
},
33+
"vars": {
34+
"object_id": "/serving-endpoints/${resources.model_serving_endpoints.my_endpoint.endpoint_id}"
35+
}
36+
}
37+
}
38+
}
39+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"plan": {
3+
"resources.model_serving_endpoints.my_endpoint": {
4+
"action": "create"
5+
}
6+
}
7+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"method": "POST",
3+
"path": "/api/2.0/serving-endpoints",
4+
"body": {
5+
"name": "[ENDPOINT_NAME_1]"
6+
}
7+
}
8+
{
9+
"method": "PUT",
10+
"path": "/api/2.0/permissions/serving-endpoints/[ENDPOINT_ID_1]",
11+
"body": {
12+
"access_control_list": [
13+
{
14+
"permission_level": "CAN_VIEW",
15+
"user_name": "[email protected]"
16+
},
17+
{
18+
"permission_level": "CAN_MANAGE",
19+
"service_principal_name": "[USERNAME]"
20+
}
21+
]
22+
}
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"method": "POST",
3+
"path": "/api/2.0/serving-endpoints",
4+
"body": {
5+
"name": "[ENDPOINT_NAME_1]"
6+
}
7+
}
8+
{
9+
"method": "PUT",
10+
"path": "/api/2.0/permissions/serving-endpoints/[ENDPOINT_ID_1]",
11+
"body": {
12+
"access_control_list": [
13+
{
14+
"permission_level": "CAN_MANAGE",
15+
"service_principal_name": "[USERNAME]"
16+
},
17+
{
18+
"permission_level": "CAN_VIEW",
19+
"user_name": "[email protected]"
20+
}
21+
]
22+
}
23+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
"plan": {
3+
"resources.model_serving_endpoints.my_endpoint": {
4+
"action": "recreate",
5+
"new_state": {
6+
"config": {
7+
"name": "[ENDPOINT_NAME_2]"
8+
}
9+
},
10+
"changes": {
11+
"local": {
12+
"name": {
13+
"action": "recreate"
14+
}
15+
}
16+
}
17+
},
18+
"resources.model_serving_endpoints.my_endpoint.permissions": {
19+
"depends_on": [
20+
{
21+
"node": "resources.model_serving_endpoints.my_endpoint",
22+
"label": "${resources.model_serving_endpoints.my_endpoint.endpoint_id}"
23+
}
24+
],
25+
"action": "update",
26+
"new_state": {
27+
"config": {
28+
"object_id": "",
29+
"permissions": [
30+
{
31+
"permission_level": "CAN_VIEW",
32+
"user_name": "[email protected]"
33+
},
34+
{
35+
"permission_level": "CAN_MANAGE",
36+
"service_principal_name": "[USERNAME]"
37+
}
38+
]
39+
},
40+
"vars": {
41+
"object_id": "/serving-endpoints/${resources.model_serving_endpoints.my_endpoint.endpoint_id}"
42+
}
43+
},
44+
"remote_state": {
45+
"object_id": "/serving-endpoints/[ENDPOINT_ID_1]",
46+
"permissions": [
47+
{
48+
"permission_level": "CAN_VIEW",
49+
"user_name": "[email protected]"
50+
},
51+
{
52+
"permission_level": "CAN_MANAGE",
53+
"service_principal_name": "[USERNAME]"
54+
}
55+
]
56+
},
57+
"changes": {
58+
"local": {
59+
"object_id": {
60+
"action": "update"
61+
}
62+
}
63+
}
64+
}
65+
}
66+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"plan": {
3+
"resources.model_serving_endpoints.my_endpoint": {
4+
"action": "recreate"
5+
}
6+
}
7+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"method": "DELETE",
3+
"path": "/api/2.0/serving-endpoints/[ENDPOINT_NAME_1]"
4+
}
5+
{
6+
"method": "POST",
7+
"path": "/api/2.0/serving-endpoints",
8+
"body": {
9+
"name": "[ENDPOINT_NAME_2]"
10+
}
11+
}
12+
{
13+
"method": "PUT",
14+
"path": "/api/2.0/permissions/serving-endpoints/[ENDPOINT_ID_2]",
15+
"body": {
16+
"access_control_list": [
17+
{
18+
"permission_level": "CAN_VIEW",
19+
"user_name": "[email protected]"
20+
},
21+
{
22+
"permission_level": "CAN_MANAGE",
23+
"service_principal_name": "[USERNAME]"
24+
}
25+
]
26+
}
27+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"method": "PUT",
3+
"path": "/api/2.0/permissions/serving-endpoints/[ENDPOINT_ID_1]",
4+
"body": {
5+
"access_control_list": [
6+
{
7+
"permission_level": "CAN_MANAGE",
8+
"user_name": "[USERNAME]"
9+
}
10+
]
11+
}
12+
}
13+
{
14+
"method": "DELETE",
15+
"path": "/api/2.0/serving-endpoints/[ENDPOINT_NAME_1]"
16+
}
17+
{
18+
"method": "POST",
19+
"path": "/api/2.0/serving-endpoints",
20+
"body": {
21+
"name": "[ENDPOINT_NAME_2]"
22+
}
23+
}
24+
{
25+
"method": "PUT",
26+
"path": "/api/2.0/permissions/serving-endpoints/[ENDPOINT_ID_2]",
27+
"body": {
28+
"access_control_list": [
29+
{
30+
"permission_level": "CAN_MANAGE",
31+
"service_principal_name": "[USERNAME]"
32+
},
33+
{
34+
"permission_level": "CAN_VIEW",
35+
"user_name": "[email protected]"
36+
}
37+
]
38+
}
39+
}

0 commit comments

Comments
 (0)