Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b553179

Browse files
DisplayName is always null. Replaced DisplayName by toString(), List by Map.
1 parent efb79d1 commit b553179

File tree

2 files changed

+84
-71
lines changed

2 files changed

+84
-71
lines changed

‎oci-list-instances-java/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ API calls to OCI services using the [OCI Java SDK](https://docs.cloud.oracle.com
55
It returns a list of all instances within the compartment that calls the function.
66

77
The function calls the following OCI Java SDK classes:
8-
* [InstancePrincipalsAuthenticationDetailsProvider](https://docs.cloud.oracle.com/iaas/tools/java/latest/com/oracle/bmc/auth/InstancePrincipalsAuthenticationDetailsProvider.html) to authenticate
8+
* [ResourcePrincipalAuthenticationDetailsProvider](https://docs.cloud.oracle.com/en-us/iaas/tools/java/1.12.6/com/oracle/bmc/auth/ResourcePrincipalAuthenticationDetailsProvider.html) to authenticate
99
* [ComputeClient](https://docs.cloud.oracle.com/iaas/tools/java/latest/com/oracle/bmc/core/ComputeClient.html) to interact with Compute
1010

1111
As you make your way through this tutorial, look out for this icon ![user input icon](../images/userinput.png).
@@ -123,4 +123,5 @@ e.g.
123123
```
124124
echo -n 'ocid1.compartment.oc1...2jn3htfoobar' | fn invoke myapp list-instances
125125
```
126-
Upon success, you should see the list of instances in your compartment appear on your terminal.
126+
Upon success, you should see a map of instances in your compartment appear on your terminal.
127+
Key is the OCID of the instance and value is a String representation of the Instance object.
Lines changed: 81 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,81 @@
1-
/*
2-
** ComputeInstancesList version 1.0.
3-
**
4-
** Copyright (c) 2020 Oracle, Inc.
5-
** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
6-
*/
7-
8-
package com.example.fn;
9-
10-
import com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider;
11-
import com.oracle.bmc.core.ComputeClient;
12-
import com.oracle.bmc.core.requests.ListInstancesRequest;
13-
import com.oracle.bmc.core.responses.ListInstancesResponse;
14-
15-
import java.util.Collections;
16-
import java.util.List;
17-
import java.util.stream.Collectors;
18-
19-
public class ComputeInstancesList {
20-
21-
private ComputeClient computeClient = null;
22-
final ResourcePrincipalAuthenticationDetailsProvider provider
23-
= ResourcePrincipalAuthenticationDetailsProvider.builder().build();
24-
25-
public ComputeInstancesList() {
26-
27-
//print env vars in Functions container
28-
System.err.println("OCI_RESOURCE_PRINCIPAL_VERSION " + System.getenv("OCI_RESOURCE_PRINCIPAL_VERSION"));
29-
System.err.println("OCI_RESOURCE_PRINCIPAL_REGION " + System.getenv("OCI_RESOURCE_PRINCIPAL_REGION"));
30-
System.err.println("OCI_RESOURCE_PRINCIPAL_RPST " + System.getenv("OCI_RESOURCE_PRINCIPAL_RPST"));
31-
System.err.println("OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM " + System.getenv("OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM"));
32-
33-
try {
34-
35-
computeClient = new ComputeClient(provider);
36-
37-
} catch (Throwable ex) {
38-
System.err.println("Failed to instantiate ComputeClient - " + ex.getMessage());
39-
}
40-
}
41-
42-
public List<String> handle(String compID) {
43-
44-
if (computeClient == null) {
45-
System.err.println("There was a problem creating the ComputeClient object. Please check logs...");
46-
return Collections.emptyList();
47-
}
48-
49-
List<String> names = null;
50-
try {
51-
System.err.println("Searching for compute instances in compartment " + compID);
52-
53-
ListInstancesRequest request = ListInstancesRequest.builder().compartmentId(compID).build();
54-
55-
ListInstancesResponse instances = computeClient.listInstances(request);
56-
57-
names = instances.getItems().stream()
58-
.map((instance) -> instance.getDisplayName())
59-
.collect(Collectors.toList());
60-
61-
System.err.println("No. of compute instances found in compartment " + names.size());
62-
63-
} catch (Throwable e) {
64-
System.err.println("ERROR searching for compute instances in compartment " + compID);
65-
}
66-
67-
return names;
68-
}
69-
}
1+
/*
2+
** ComputeInstancesList version 1.0.
3+
**
4+
** Copyright (c) 2020 Oracle, Inc.
5+
** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
6+
*/
7+
8+
package com.example.fn;
9+
10+
import com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider;
11+
import com.oracle.bmc.core.ComputeClient;
12+
import com.oracle.bmc.core.model.Instance;
13+
import com.oracle.bmc.core.requests.ListInstancesRequest;
14+
import com.oracle.bmc.core.responses.ListInstancesResponse;
15+
16+
import java.util.Collections;
17+
import java.util.List;
18+
import java.util.Map;
19+
import java.util.stream.Collectors;
20+
21+
22+
public class ComputeInstancesList {
23+
24+
private ComputeClient computeClient = null;
25+
final ResourcePrincipalAuthenticationDetailsProvider provider
26+
= ResourcePrincipalAuthenticationDetailsProvider.builder().build();
27+
28+
public ComputeInstancesList() {
29+
30+
//print env vars in Functions container
31+
System.err.println("OCI_RESOURCE_PRINCIPAL_VERSION " + System.getenv("OCI_RESOURCE_PRINCIPAL_VERSION"));
32+
System.err.println("OCI_RESOURCE_PRINCIPAL_REGION " + System.getenv("OCI_RESOURCE_PRINCIPAL_REGION"));
33+
System.err.println("OCI_RESOURCE_PRINCIPAL_RPST " + System.getenv("OCI_RESOURCE_PRINCIPAL_RPST"));
34+
System.err.println("OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM " + System.getenv("OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM"));
35+
36+
try {
37+
38+
computeClient = new ComputeClient(provider);
39+
40+
} catch (Throwable ex) {
41+
System.err.println("Failed to instantiate ComputeClient - " + ex.getMessage());
42+
e.printStackTrace();
43+
}
44+
}
45+
46+
public Map<String, String> handle(String compID) {
47+
48+
Map<String, String> names = Collections.emptyMap();
49+
50+
if (computeClient == null) {
51+
System.err.println("There was a problem creating the ComputeClient object. Please check logs...");
52+
return names;
53+
}
54+
55+
try {
56+
System.err.println("Searching for compute instances in compartment " + compID);
57+
58+
ListInstancesRequest request = ListInstancesRequest.builder().compartmentId(compID).build();
59+
System.err.println("ListInstancesRequest " + request);
60+
61+
ListInstancesResponse instances = computeClient.listInstances(request);
62+
System.err.println("ListInstancesResponse " + instances);
63+
64+
List<Instance> instanceList = instances.getItems();
65+
System.err.println("No. of compute instances found in compartment " + instanceList.size());
66+
67+
names = instanceList.stream()
68+
// .collect(Collectors.toMap((instance) -> instance.getId(), (instance) -> instance.toString()));
69+
.collect(Collectors.toMap(Instance::getId, Instance::toString));
70+
71+
System.err.println("Compute instances " + names);
72+
73+
} catch (Throwable e) {
74+
System.err.println("ERROR searching for compute instances in compartment " + compID);
75+
System.err.println("e.getMessage() " + e.getMessage());
76+
e.printStackTrace();
77+
}
78+
79+
return names;
80+
}
81+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /