How to get authorization description using authorization api
blackstar-baba opened this issue · 3 comments
blackstar-baba commented
Proposal:
I'am using version 6.5.0, but i can't find authorization description when using authorization api.
Current behavior:
I can't get authorization description when using authorization api.
e.g.
AuthorizationsApi authorizationsApi = adminInfluxDBClient.getAuthorizationsApi();
List<Authorization> Authorization= authorizationsApi.findAuthorizationsByOrgID("orgName");
Desired behavior:
I need authorization description.
blackstar-baba commented
Use Authorization createAuthorization(@Nonnull final Authorization authorization)
can set description
bednar commented
Hi @blackstar-baba,
thanks for using our client.
You can use something like this to create and list your authorisation:
package example;
import java.util.ArrayList;
import java.util.List;
import com.influxdb.client.AuthorizationsApi;
import com.influxdb.client.InfluxDBClient;
import com.influxdb.client.InfluxDBClientFactory;
import com.influxdb.client.domain.Authorization;
import com.influxdb.client.domain.Organization;
import com.influxdb.client.domain.Permission;
import com.influxdb.client.domain.PermissionResource;
public class PlatformExample {
public static void main(final String[] args) throws Exception {
String url = "http://localhost:9999";
String token = "my-token";
String org = "my-org";
try (InfluxDBClient client = InfluxDBClientFactory.create(url, token.toCharArray())) {
Organization organization = client.getOrganizationsApi()
.findOrganizations()
.stream()
.filter(it -> org.equals(it.getName())).findFirst()
.get();
AuthorizationsApi api = client.getAuthorizationsApi();
// create authorization to create Bucket
{
PermissionResource resource = new PermissionResource();
resource.setOrgID(organization.getId());
resource.setType(PermissionResource.TYPE_BUCKETS);
Permission createBucket = new Permission();
createBucket.setResource(resource);
createBucket.setAction(Permission.ActionEnum.WRITE);
List<Permission> permissions = new ArrayList<>();
permissions.add(createBucket);
Authorization authorization = new Authorization();
authorization.setOrgID(organization.getId());
authorization.setPermissions(permissions);
authorization.setStatus(Authorization.StatusEnum.ACTIVE);
authorization.setDescription("My new authorization");
api.createAuthorization(authorization);
}
// list all authorization
{
List<Authorization> authorization = api.findAuthorizationsByOrg(organization);
authorization
.forEach(it -> System.out.printf("Authorization: %s, description: %s%n", it.getId(), it.getDescription()));
}
}
}
}
Regards
blackstar-baba commented
@bednar thanks.