Skip to content

Commit 7099d61

Browse files
OAS Update
1 parent c32a864 commit 7099d61

File tree

2 files changed

+311
-13
lines changed

2 files changed

+311
-13
lines changed

services/iaas/v2/iaas.json

Lines changed: 201 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -526,8 +526,7 @@
526526
"$ref": "#/components/schemas/GenericName"
527527
},
528528
"systemRoutes": {
529-
"default": true,
530-
"type": "boolean"
529+
"$ref": "#/components/schemas/SystemRoutes"
531530
},
532531
"updatedAt": {
533532
"allOf": [
@@ -1149,6 +1148,32 @@
11491148
],
11501149
"type": "object"
11511150
},
1151+
"CreateIsolatedNetworkPayload": {
1152+
"description": "Object that represents the request body for a single isolated network create.",
1153+
"properties": {
1154+
"dhcp": {
1155+
"allOf": [
1156+
{
1157+
"$ref": "#/components/schemas/DHCP"
1158+
}
1159+
],
1160+
"default": true
1161+
},
1162+
"ipv4": {
1163+
"$ref": "#/components/schemas/CreateNetworkIPv4"
1164+
},
1165+
"labels": {
1166+
"$ref": "#/components/schemas/Labels"
1167+
},
1168+
"name": {
1169+
"$ref": "#/components/schemas/GenericName"
1170+
}
1171+
},
1172+
"required": [
1173+
"name"
1174+
],
1175+
"type": "object"
1176+
},
11521177
"CreateKeyPairPayload": {
11531178
"description": "Object that represents the public key of an SSH keypair and its name.",
11541179
"properties": {
@@ -2236,6 +2261,24 @@
22362261
],
22372262
"type": "object"
22382263
},
2264+
"ImageFromVolumePayload": {
2265+
"description": "Object that represents the upload request of an image to a volume. Used for creating an image from a volume.",
2266+
"properties": {
2267+
"diskFormat": {
2268+
"$ref": "#/components/schemas/DiskFormat"
2269+
},
2270+
"name": {
2271+
"$ref": "#/components/schemas/GenericName"
2272+
},
2273+
"protected": {
2274+
"$ref": "#/components/schemas/VolumeUploadProtected"
2275+
}
2276+
},
2277+
"required": [
2278+
"name"
2279+
],
2280+
"type": "object"
2281+
},
22392282
"ImageList": {
22402283
"description": "A list containing image objects.",
22412284
"items": {
@@ -3850,8 +3893,7 @@
38503893
"$ref": "#/components/schemas/GenericName"
38513894
},
38523895
"systemRoutes": {
3853-
"default": true,
3854-
"type": "boolean"
3896+
"$ref": "#/components/schemas/SystemRoutes"
38553897
},
38563898
"updatedAt": {
38573899
"allOf": [
@@ -4510,6 +4552,11 @@
45104552
"example": "PUBLIC",
45114553
"type": "string"
45124554
},
4555+
"SystemRoutes": {
4556+
"default": true,
4557+
"description": "A config setting for a routing table which allows installation of automatic system routes for connectivity between projects in the same SNA.",
4558+
"type": "boolean"
4559+
},
45134560
"ThroughputInMB": {
45144561
"description": "Throughput in Megabyte per second.",
45154562
"example": 200,
@@ -4641,6 +4688,10 @@
46414688
},
46424689
"type": "object"
46434690
},
4691+
"UpdateDynamicRoutes": {
4692+
"description": "The update config setting for a routing table which allows propagation of dynamic routes to this routing table.",
4693+
"type": "boolean"
4694+
},
46444695
"UpdateImagePayload": {
46454696
"description": "Object that represents an update request body of an Image.",
46464697
"properties": {
@@ -4834,13 +4885,16 @@
48344885
"$ref": "#/components/schemas/Description"
48354886
},
48364887
"dynamicRoutes": {
4837-
"$ref": "#/components/schemas/DynamicRoutes"
4888+
"$ref": "#/components/schemas/UpdateDynamicRoutes"
48384889
},
48394890
"labels": {
48404891
"$ref": "#/components/schemas/Labels"
48414892
},
48424893
"name": {
48434894
"$ref": "#/components/schemas/GenericName"
4895+
},
4896+
"systemRoutes": {
4897+
"$ref": "#/components/schemas/UpdateSystemRoutes"
48444898
}
48454899
},
48464900
"type": "object"
@@ -4887,6 +4941,10 @@
48874941
},
48884942
"type": "object"
48894943
},
4944+
"UpdateSystemRoutes": {
4945+
"description": "The update config setting for a routing table which allows installation of automatic system routes for connectivity between projects in the same SNA.",
4946+
"type": "boolean"
4947+
},
48904948
"UpdateVolumePayload": {
48914949
"description": "Object that represents an update request body of a volume.",
48924950
"properties": {
@@ -5227,6 +5285,12 @@
52275285
"example": "ATTACHED",
52285286
"type": "string"
52295287
},
5288+
"VolumeUploadProtected": {
5289+
"default": false,
5290+
"description": "When true the created image is prevented from being deleted.",
5291+
"example": true,
5292+
"type": "boolean"
5293+
},
52305294
"errorMessage": {
52315295
"description": "An error message.",
52325296
"example": "Project not found",
@@ -5253,7 +5317,7 @@
52535317
},
52545318
"description": "This API allows you to create and modify IaaS resources.",
52555319
"termsOfService": "https://stackit.de/en/imprint",
5256-
"title": "IaaS-API",
5320+
"title": "STACKIT IaaS API",
52575321
"version": "2"
52585322
},
52595323
"openapi": "3.0.1",
@@ -5554,7 +5618,7 @@
55545618
}
55555619
],
55565620
"post": {
5557-
"description": "Create a new network area in an organization.",
5621+
"description": "Create a new network area in an organization. You can specify `\"preview/routingtables\"=\"true\"` as a label to enable the preview routing tables feature. This feature cannot be enabled or disabled afterwards.",
55585622
"operationId": "CreateNetworkArea",
55595623
"requestBody": {
55605624
"content": {
@@ -8235,6 +8299,70 @@
82358299
}
82368300
]
82378301
},
8302+
"/v2/projects/{projectId}/regions/{region}/isolated-network": {
8303+
"parameters": [
8304+
{
8305+
"$ref": "#/components/parameters/v1ProjectID"
8306+
},
8307+
{
8308+
"$ref": "#/components/parameters/v1Region"
8309+
}
8310+
],
8311+
"post": {
8312+
"description": "Creates an isolated network which is not connected to other networks in this project. We recommend using this endpoint only if you are fully aware of its purpose and the consequences of its execution.",
8313+
"operationId": "CreateIsolatedNetwork",
8314+
"requestBody": {
8315+
"content": {
8316+
"application/json": {
8317+
"schema": {
8318+
"$ref": "#/components/schemas/CreateIsolatedNetworkPayload"
8319+
}
8320+
}
8321+
},
8322+
"description": "Request a single isolated network creation.",
8323+
"required": true
8324+
},
8325+
"responses": {
8326+
"202": {
8327+
"content": {
8328+
"application/json": {
8329+
"schema": {
8330+
"$ref": "#/components/schemas/Network"
8331+
}
8332+
}
8333+
},
8334+
"description": "Isolated Network create has been accepted."
8335+
},
8336+
"400": {
8337+
"$ref": "#/components/responses/BadRequest"
8338+
},
8339+
"401": {
8340+
"$ref": "#/components/responses/Unauthorized"
8341+
},
8342+
"403": {
8343+
"$ref": "#/components/responses/Forbidden"
8344+
},
8345+
"404": {
8346+
"$ref": "#/components/responses/NotFound"
8347+
},
8348+
"409": {
8349+
"$ref": "#/components/responses/Conflict"
8350+
},
8351+
"500": {
8352+
"$ref": "#/components/responses/InternalServerError"
8353+
}
8354+
},
8355+
"summary": "Create a single isolated network.",
8356+
"x-stackit-authorization": {
8357+
"actions": [
8358+
"iaas.isolated-network.create"
8359+
],
8360+
"resource-id": "projectId",
8361+
"resource-id-type": "dynamic",
8362+
"resource-type": "project"
8363+
}
8364+
}
8365+
},
82388366
"/v2/projects/{projectId}/regions/{region}/machine-types": {
82398367
"get": {
82408368
"description": "Get a list of all machine type available in a project.",
@@ -12139,6 +12267,72 @@
1213912267
}
1214012268
}
1214112269
},
12270+
"/v2/projects/{projectId}/regions/{region}/volumes/{volumeId}/upload": {
12271+
"parameters": [
12272+
{
12273+
"$ref": "#/components/parameters/v1ProjectID"
12274+
},
12275+
{
12276+
"$ref": "#/components/parameters/v1VolumeID"
12277+
},
12278+
{
12279+
"$ref": "#/components/parameters/v1Region"
12280+
}
12281+
],
12282+
"post": {
12283+
"description": "Create an image out a a volume.",
12284+
"operationId": "ImageFromVolume",
12285+
"requestBody": {
12286+
"content": {
12287+
"application/json": {
12288+
"schema": {
12289+
"$ref": "#/components/schemas/ImageFromVolumePayload"
12290+
}
12291+
}
12292+
},
12293+
"description": "Create an image from a volume."
12294+
},
12295+
"responses": {
12296+
"201": {
12297+
"content": {
12298+
"application/json": {
12299+
"schema": {
12300+
"$ref": "#/components/schemas/Image"
12301+
}
12302+
}
12303+
},
12304+
"description": "Image creation details."
12305+
},
12306+
"400": {
12307+
"$ref": "#/components/responses/BadRequest"
12308+
},
12309+
"401": {
12310+
"$ref": "#/components/responses/Unauthorized"
12311+
},
12312+
"403": {
12313+
"$ref": "#/components/responses/Forbidden"
12314+
},
12315+
"404": {
12316+
"$ref": "#/components/responses/NotFound"
12317+
},
12318+
"409": {
12319+
"$ref": "#/components/responses/Conflict"
12320+
},
12321+
"500": {
12322+
"$ref": "#/components/responses/InternalServerError"
12323+
}
12324+
},
12325+
"summary": "Create an image out of a volume.",
12326+
"x-stackit-authorization": {
12327+
"actions": [
12328+
"iaas.volume.upload"
12329+
],
12330+
"resource-id": "projectId",
12331+
"resource-id-type": "dynamic",
12332+
"resource-type": "project"
12333+
}
12334+
}
12335+
},
1214212336
"/v2/regions/{region}/availability-zones": {
1214312337
"get": {
1214412338
"description": "Get a list of all availability zones.",

0 commit comments

Comments
 (0)