Skip to content

Commit 418aaef

Browse files
committed
chore(resourcemanager): add examples
Signed-off-by: Alexander Dahmen <[email protected]>
1 parent 8f19d90 commit 418aaef

File tree

1 file changed

+62
-2
lines changed

1 file changed

+62
-2
lines changed

examples/resourcemanager/src/main/java/cloud/stackit/sdk/resourcemanager/examples/ResourcemanagerExample.java

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,15 @@
55
import cloud.stackit.sdk.resourcemanager.model.CreateFolderPayload;
66
import cloud.stackit.sdk.resourcemanager.model.CreateProjectPayload;
77
import 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;
814
import cloud.stackit.sdk.resourcemanager.model.Project;
915
import java.io.IOException;
16+
import java.util.Arrays;
1017
import java.util.Map;
1118
import 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

Comments
 (0)