Skip to content

Commit

Permalink
Add {add,update,delete,list}ServiceAccount and getServiceAccountInfo …
Browse files Browse the repository at this point in the history
…Admin APIs (#1505)
  • Loading branch information
dormanze committed Dec 2, 2023
1 parent bff98b7 commit 5c2854f
Show file tree
Hide file tree
Showing 5 changed files with 404 additions and 12 deletions.
38 changes: 38 additions & 0 deletions adminapi/src/main/java/io/minio/admin/AddServiceAccountResp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* MinIO Java SDK for Amazon S3 Compatible Cloud Storage,
* (C) 2021 MinIO, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package io.minio.admin;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.minio.credentials.Credentials;

/**
* add service account response.
*
* <p>* @see <a href=
* "https://github.com/minio/madmin-go/blob/main/user-commands.go#L388">user-commands.go</a>
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class AddServiceAccountResp {
@JsonProperty("credentials")
private Credentials credentials;

public Credentials credentials() {
return credentials;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/*
* MinIO Java SDK for Amazon S3 Compatible Cloud Storage,
* (C) 2021 MinIO, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package io.minio.admin;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
* service account info.
*
* <p>* @see <a href=
* "https://github.com/minio/madmin-go/blob/main/user-commands.go#L535">user-commands.go</a>
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class GetServiceAccountInfoResp {
@JsonProperty("parentUser")
private String parentUser;

@JsonProperty("accountStatus")
private String accountStatus;

@JsonProperty("impliedPolicy")
private boolean impliedPolicy;

@JsonProperty("policy")
private String policy;

@JsonProperty("name")
private String name;

@JsonProperty("description")
private String description;

@JsonProperty("expiration")
private String expiration;

public String parentUser() {
return parentUser;
}

public String accountStatus() {
return accountStatus;
}

public boolean impliedPolicy() {
return impliedPolicy;
}

public String description() {
return description;
}

public String name() {
return name;
}

public String expiration() {
return expiration;
}
}
49 changes: 49 additions & 0 deletions adminapi/src/main/java/io/minio/admin/ListServiceAccountResp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
* MinIO Java SDK for Amazon S3 Compatible Cloud Storage,
* (C) 2021 MinIO, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package io.minio.admin;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

/** list service account response. */
@JsonIgnoreProperties(ignoreUnknown = true)
public class ListServiceAccountResp {
@JsonProperty("accounts")
private List<ListServiceAccountInfo> accounts;

public List<ListServiceAccountInfo> accounts() {
return accounts;
}

public static class ListServiceAccountInfo {
@JsonProperty("accessKey")
private String accessKey;

@JsonProperty("expiration")
private String expiration;

public String expiration() {
return expiration;
}

public String accessKey() {
return accessKey;
}
}
}
Loading

0 comments on commit 5c2854f

Please sign in to comment.