diff --git a/pom.xml b/pom.xml
index 25d03666..3e6f6e7e 100755
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.aliyun
aliyun-java-sdk-fc
jar
- 1.8.15
+ 1.8.13.15
aliyun-java-sdk-fc
https://www.aliyun.com/product/fc
Aliyun Java SDK for FunctionCompute
diff --git a/src/main/java/com/aliyuncs/fc/client/FunctionComputeClient.java b/src/main/java/com/aliyuncs/fc/client/FunctionComputeClient.java
index b83f2854..c2d1628e 100644
--- a/src/main/java/com/aliyuncs/fc/client/FunctionComputeClient.java
+++ b/src/main/java/com/aliyuncs/fc/client/FunctionComputeClient.java
@@ -84,6 +84,17 @@ public GetAccountSettingsResponse getAccountSettings(GetAccountSettingsRequest r
return getAccountSettingsOutput;
}
+ public GetALBSettingsResponse getALBSettings(GetALBSettingsRequest request) throws ClientException, ServerException {
+
+ HttpResponse response = client.doAction(request, CONTENT_TYPE_APPLICATION_JSON, GET);
+ GetALBSettingsResponse getALBSettingsResponse = new GetALBSettingsResponse();
+ ALBSettings albSettings = GSON.fromJson(FcUtil.toDefaultCharset(response.getContent()), ALBSettings.class);
+ getALBSettingsResponse.setHeaders(response.getHeaders());
+ getALBSettingsResponse.setStatus(response.getStatus());
+ getALBSettingsResponse.setAlbSettings(albSettings);
+ return getALBSettingsResponse;
+ }
+
public DeleteServiceResponse deleteService(DeleteServiceRequest request)
throws ClientException, ServerException {
HttpResponse response = client.doAction(request, CONTENT_TYPE_APPLICATION_JSON, DELETE);
diff --git a/src/main/java/com/aliyuncs/fc/constants/Const.java b/src/main/java/com/aliyuncs/fc/constants/Const.java
index b1d51696..81357859 100644
--- a/src/main/java/com/aliyuncs/fc/constants/Const.java
+++ b/src/main/java/com/aliyuncs/fc/constants/Const.java
@@ -6,6 +6,7 @@
public class Const {
public final static String ACCOUNT_SETTING_PATH = "/%s/account-settings";
+ public final static String ALB_SETTING_PATH = "/%s/alb-settings";
public final static String SERVICE_PATH = "/%s/services";
public final static String ON_DEMAND_CONFIGS = "/%s/on-demand-configs";
public final static String PROVISION_CONFIG_PATH = "/%s/provision-configs";
diff --git a/src/main/java/com/aliyuncs/fc/model/ALBSettings.java b/src/main/java/com/aliyuncs/fc/model/ALBSettings.java
new file mode 100644
index 00000000..cd24c3a0
--- /dev/null
+++ b/src/main/java/com/aliyuncs/fc/model/ALBSettings.java
@@ -0,0 +1,24 @@
+package com.aliyuncs.fc.model;
+
+public class ALBSettings {
+
+ private String accountId;
+
+ private String[] endpoints;
+
+ public String getAccountId() {
+ return accountId;
+ }
+
+ public void setAccountId(String accountId) {
+ this.accountId = accountId;
+ }
+
+ public String[] getEndpoints() {
+ return endpoints;
+ }
+
+ public void setEndpoints(String[] endpoints) {
+ this.endpoints = endpoints;
+ }
+}
diff --git a/src/main/java/com/aliyuncs/fc/model/AccountSettings.java b/src/main/java/com/aliyuncs/fc/model/AccountSettings.java
index 5f7b02d4..067212ce 100644
--- a/src/main/java/com/aliyuncs/fc/model/AccountSettings.java
+++ b/src/main/java/com/aliyuncs/fc/model/AccountSettings.java
@@ -7,7 +7,13 @@ public class AccountSettings {
private String[] availableAZs;
+ private String[] albEndpoints;
+
public String[] getAvailableAZs() {
return availableAZs;
}
+
+ public String[] getAlbEndpoints() {
+ return albEndpoints;
+ }
}
diff --git a/src/main/java/com/aliyuncs/fc/request/GetALBSettingsRequest.java b/src/main/java/com/aliyuncs/fc/request/GetALBSettingsRequest.java
new file mode 100644
index 00000000..e1a4bd94
--- /dev/null
+++ b/src/main/java/com/aliyuncs/fc/request/GetALBSettingsRequest.java
@@ -0,0 +1,47 @@
+package com.aliyuncs.fc.request;
+
+import com.aliyuncs.fc.constants.Const;
+import com.aliyuncs.fc.exceptions.ClientException;
+import com.aliyuncs.fc.http.HttpRequest;
+import com.aliyuncs.fc.response.GetAccountSettingsResponse;
+import com.google.gson.annotations.SerializedName;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class GetALBSettingsRequest extends HttpRequest {
+
+ @SerializedName("accountId")
+ private String accountId;
+
+ public GetALBSettingsRequest() {}
+
+ public String getPath() {
+ return String.format(Const.ALB_SETTING_PATH, Const.API_VERSION, accountId);
+ }
+
+ public void validate() throws ClientException {
+ }
+
+ @Override
+ public Map getQueryParams() {
+ Map queryParams = new HashMap();
+ if (StringUtils.isNotBlank(accountId)) {
+ queryParams.put("accountId", accountId);
+ }
+ return queryParams;
+ }
+
+ public Class getResponseClass() {
+ return GetAccountSettingsResponse.class;
+ }
+
+ public String getAccountId() {
+ return accountId;
+ }
+
+ public void setAccountId(String accountId) {
+ this.accountId = accountId;
+ }
+}
diff --git a/src/main/java/com/aliyuncs/fc/response/GetALBSettingsResponse.java b/src/main/java/com/aliyuncs/fc/response/GetALBSettingsResponse.java
new file mode 100644
index 00000000..80e4ecfa
--- /dev/null
+++ b/src/main/java/com/aliyuncs/fc/response/GetALBSettingsResponse.java
@@ -0,0 +1,17 @@
+package com.aliyuncs.fc.response;
+
+import com.aliyuncs.fc.http.HttpResponse;
+import com.aliyuncs.fc.model.ALBSettings;
+
+public class GetALBSettingsResponse extends HttpResponse {
+
+ private ALBSettings albSettings;
+
+ public ALBSettings getAlbSettings() {
+ return albSettings;
+ }
+
+ public void setAlbSettings(ALBSettings albSettings) {
+ this.albSettings = albSettings;
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/aliyuncs/fc/FunctionComputeClientTest.java b/src/test/java/com/aliyuncs/fc/FunctionComputeClientTest.java
index e24acc2b..e5333393 100644
--- a/src/test/java/com/aliyuncs/fc/FunctionComputeClientTest.java
+++ b/src/test/java/com/aliyuncs/fc/FunctionComputeClientTest.java
@@ -553,6 +553,12 @@ public void testCreateNASService() throws IOException {
client.deleteService(new DeleteServiceRequest(service_name));
}
+ @Test
+ public void testGetAccountSettings() {
+ GetAccountSettingsResponse response = client.getAccountSettings(new GetAccountSettingsRequest());
+ assertTrue(response.getAccountSettings().getAvailableAZs().length > 0);
+ }
+
private void preTestProvisionConfig(String serviceName, String functionName, String aliasName) throws Exception {
// create service
createService(serviceName, false);