55import cloud .stackit .sdk .resourcemanager .model .CreateFolderPayload ;
66import cloud .stackit .sdk .resourcemanager .model .CreateProjectPayload ;
77import cloud .stackit .sdk .resourcemanager .model .FolderResponse ;
8+ import cloud .stackit .sdk .resourcemanager .model .ListFoldersResponse ;
9+ import cloud .stackit .sdk .resourcemanager .model .ListProjectsResponse ;
10+ import cloud .stackit .sdk .resourcemanager .model .Member ;
11+ import cloud .stackit .sdk .resourcemanager .model .OrganizationResponse ;
12+ import cloud .stackit .sdk .resourcemanager .model .PartialUpdateFolderPayload ;
13+ import cloud .stackit .sdk .resourcemanager .model .PartialUpdateProjectPayload ;
814import cloud .stackit .sdk .resourcemanager .model .Project ;
915import java .io .IOException ;
16+ import java .util .Arrays ;
1017import java .util .Map ;
1118import java .util .UUID ;
1219
@@ -16,23 +23,76 @@ public static void main(String[] args) throws IOException {
1623 // STACKIT_SERVICE_ACCOUNT_KEY_PATH / STACKIT_SERVICE_ACCOUNT_KEY
1724 DefaultApi resourceManagerApi = new DefaultApi ();
1825
19- // replace this with something useful for real use
20- UUID containerParentId = UUID .randomUUID ();
26+ String ORGANIZATION_ID = "ORGANIZATION_ID" ; // replace with existing organization id
27+ UUID containerParentId = UUID .fromString (ORGANIZATION_ID );
28+
29+ Member member =
30+ new Member ()
31+ .role ("project.owner" )
32+ .
subject (
"[email protected] " );
// replace with an existing subject 2133
2234 try {
2335 /* create a project */
2436 Project project =
2537 resourceManagerApi .createProject (
2638 new CreateProjectPayload ()
2739 .containerParentId (containerParentId .toString ())
40+ .name ("java-test-project" )
41+ .addMembersItem (member )
2842 .labels (Map .ofEntries (Map .entry ("foo" , "bar" ))));
43+ System .out .println ("Project:\n " + project .toString ());
44+
45+ /* list projects */
46+ ListProjectsResponse responseListProject =
47+ resourceManagerApi .listProjects (ORGANIZATION_ID , null , null , null , null , null );
48+ System .out .println ("Project List:\n " + responseListProject .toString ());
2949
3050 /* create a folder */
3151 FolderResponse folder =
3252 resourceManagerApi .createFolder (
3353 new CreateFolderPayload ()
3454 .containerParentId (containerParentId .toString ())
55+ .name ("java-testing-folder" )
3556 .labels (Map .ofEntries (Map .entry ("foo" , "bar" ))));
57+ System .out .println ("Folder: \n " + folder .toString ());
58+
59+ /* list folders */
60+ ListFoldersResponse responseListFolders =
61+ resourceManagerApi .listFolders (ORGANIZATION_ID , null , null , null , null , null );
62+ System .out .println ("Folder List:\n " + responseListFolders .toString ());
63+
64+ /* delete a project label */
65+ resourceManagerApi .deleteProjectLabels (project .getContainerId (), Arrays .asList ("foo" ));
66+
67+ /* delete a folder label */
68+ resourceManagerApi .deleteFolderLabels (folder .getContainerId (), Arrays .asList ("foo" ));
69+
70+ /* update folder labels */
71+ resourceManagerApi .partialUpdateFolder (
72+ folder .getContainerId (),
73+ new PartialUpdateFolderPayload ()
74+ .labels (Map .ofEntries (Map .entry ("foo2" , "bar2" ))));
75+
76+ /* update project move to created folder */
77+ resourceManagerApi .partialUpdateProject (
78+ project .getContainerId (),
79+ new PartialUpdateProjectPayload ().containerParentId (folder .getContainerId ()));
80+
81+ /* get organization details */
82+ OrganizationResponse organizationResponse =
83+ resourceManagerApi .getOrganization (ORGANIZATION_ID );
84+ System .out .println ("Organization List:\n " + organizationResponse .toString ());
85+
86+ /* since you cannot delete a folder when a project is present we need to move the project out again */
87+ resourceManagerApi .partialUpdateProject (
88+ project .getContainerId (),
89+ new PartialUpdateProjectPayload ().containerParentId (ORGANIZATION_ID ));
90+
91+ /* delete project */
92+ resourceManagerApi .deleteProject (project .getContainerId ());
93+
94+ /* delete folder */
95+ resourceManagerApi .deleteFolder (folder .getContainerId (), true );
3696 } catch (ApiException e ) {
3797 throw new RuntimeException (e );
3898 }
0 commit comments