|
607 | 607 | "minimum": 24,
|
608 | 608 | "type": "integer"
|
609 | 609 | },
|
| 610 | + "AreaId": { |
| 611 | + "description": "The identifier (ID) of an area.", |
| 612 | + "oneOf": [ |
| 613 | + { |
| 614 | + "$ref": "#/components/schemas/UUID" |
| 615 | + }, |
| 616 | + { |
| 617 | + "$ref": "#/components/schemas/StaticAreaID" |
| 618 | + } |
| 619 | + ] |
| 620 | + }, |
610 | 621 | "AreaMaxPrefixLengthIPv4": {
|
611 | 622 | "description": "The maximal prefix length for networks in the network area.",
|
612 | 623 | "example": 29,
|
|
2879 | 2890 | ],
|
2880 | 2891 | "type": "object"
|
2881 | 2892 | },
|
| 2893 | + "OpenStackProjectId": { |
| 2894 | + "description": "The identifier (ID) of an OpenStack project.", |
| 2895 | + "example": "d61a8564c8dd4ffbbc15143e7d0c85ed", |
| 2896 | + "maxLength": 32, |
| 2897 | + "minLength": 32, |
| 2898 | + "pattern": "^[0-9a-f]{32}$", |
| 2899 | + "type": "string" |
| 2900 | + }, |
2882 | 2901 | "PartialUpdateNetworkAreaPayload": {
|
2883 | 2902 | "properties": {
|
2884 | 2903 | "addressFamily": {
|
|
2940 | 2959 | ],
|
2941 | 2960 | "type": "object"
|
2942 | 2961 | },
|
| 2962 | + "Project": { |
| 2963 | + "description": "Object that represents a STACKIT project.", |
| 2964 | + "properties": { |
| 2965 | + "areaId": { |
| 2966 | + "$ref": "#/components/schemas/AreaId" |
| 2967 | + }, |
| 2968 | + "createdAt": { |
| 2969 | + "allOf": [ |
| 2970 | + { |
| 2971 | + "$ref": "#/components/schemas/CreatedAt" |
| 2972 | + } |
| 2973 | + ], |
| 2974 | + "readOnly": true |
| 2975 | + }, |
| 2976 | + "internetAccess": { |
| 2977 | + "example": false, |
| 2978 | + "type": "boolean" |
| 2979 | + }, |
| 2980 | + "openstackProjectId": { |
| 2981 | + "allOf": [ |
| 2982 | + { |
| 2983 | + "$ref": "#/components/schemas/OpenStackProjectId" |
| 2984 | + } |
| 2985 | + ], |
| 2986 | + "description": "The identifier (ID) of the OpenStack project in the main region eu01.", |
| 2987 | + "readOnly": true |
| 2988 | + }, |
| 2989 | + "projectId": { |
| 2990 | + "$ref": "#/components/schemas/UUID" |
| 2991 | + }, |
| 2992 | + "state": { |
| 2993 | + "$ref": "#/components/schemas/ResourceState" |
| 2994 | + }, |
| 2995 | + "updatedAt": { |
| 2996 | + "allOf": [ |
| 2997 | + { |
| 2998 | + "$ref": "#/components/schemas/UpdatedAt" |
| 2999 | + } |
| 3000 | + ], |
| 3001 | + "readOnly": true |
| 3002 | + } |
| 3003 | + }, |
| 3004 | + "required": [ |
| 3005 | + "projectId", |
| 3006 | + "areaId", |
| 3007 | + "state" |
| 3008 | + ], |
| 3009 | + "type": "object" |
| 3010 | + }, |
2943 | 3011 | "ProjectCount": {
|
2944 | 3012 | "description": "The amount of projects currently referencing a specific area.",
|
2945 | 3013 | "example": 10,
|
|
4059 | 4127 | "description": "Shows if a security group is stateful or stateless. You can only have one type of security groups per network interface/server.",
|
4060 | 4128 | "type": "boolean"
|
4061 | 4129 | },
|
| 4130 | + "StaticAreaID": { |
| 4131 | + "description": "The identifier (ID) of a static area.", |
| 4132 | + "enum": [ |
| 4133 | + "PUBLIC", |
| 4134 | + "SCHWARZ" |
| 4135 | + ], |
| 4136 | + "example": "PUBLIC", |
| 4137 | + "type": "string" |
| 4138 | + }, |
4062 | 4139 | "ThroughputInMB": {
|
4063 | 4140 | "description": "Throughput in Megabyte per second.",
|
4064 | 4141 | "example": 200,
|
|
5891 | 5968 | }
|
5892 | 5969 | ]
|
5893 | 5970 | },
|
| 5971 | + "/v1/projects/{projectId}": { |
| 5972 | + "get": { |
| 5973 | + "description": "Get details about a STACKIT project.", |
| 5974 | + "operationId": "GetProjectDetails", |
| 5975 | + "responses": { |
| 5976 | + "200": { |
| 5977 | + "content": { |
| 5978 | + "application/json": { |
| 5979 | + "schema": { |
| 5980 | + "$ref": "#/components/schemas/Project" |
| 5981 | + } |
| 5982 | + } |
| 5983 | + }, |
| 5984 | + "description": "Show project details." |
| 5985 | + }, |
| 5986 | + "400": { |
| 5987 | + "$ref": "#/components/responses/BadRequest" |
| 5988 | + }, |
| 5989 | + "401": { |
| 5990 | + "$ref": "#/components/responses/Unauthorized" |
| 5991 | + }, |
| 5992 | + "403": { |
| 5993 | + "$ref": "#/components/responses/Forbidden" |
| 5994 | + }, |
| 5995 | + "404": { |
| 5996 | + "$ref": "#/components/responses/NotFound" |
| 5997 | + }, |
| 5998 | + "500": { |
| 5999 | + "$ref": "#/components/responses/InternalServerError" |
| 6000 | + } |
| 6001 | + }, |
| 6002 | + "summary": "Get project details.", |
| 6003 | + "x-stackit-authorization": { |
| 6004 | + "actions": [ |
| 6005 | + "iaas.project.get" |
| 6006 | + ], |
| 6007 | + "resource-id": "projectId", |
| 6008 | + "resource-id-type": "dynamic", |
| 6009 | + "resource-type": "project" |
| 6010 | + } |
| 6011 | + }, |
| 6012 | + "parameters": [ |
| 6013 | + { |
| 6014 | + "$ref": "#/components/parameters/v1ProjectID" |
| 6015 | + } |
| 6016 | + ] |
| 6017 | + }, |
5894 | 6018 | "/v1/projects/{projectId}/affinity-groups": {
|
5895 | 6019 | "get": {
|
5896 | 6020 | "description": "Get the affinity groups created in a project. Affinity groups are an indication of locality of a server relative to another group of servers. They can be either running on the same host (affinity) or on different ones (anti-affinity).",
|
|
0 commit comments