();
+
/**
* Responsible for sending HTTP requests to services.
*/
@@ -88,21 +92,20 @@ public abstract class AbstractBceClient {
/**
* Constructs a new AbstractBceClient with the specified client configuration and handlers.
- *
*
* The constructor will extract serviceId from the class name automatically.
* And if there is no endpoint specified in the client configuration, the constructor will create a default one.
*
- * @param config the client configuration. The constructor makes a copy of this parameter so that it is
- * safe to change the configuration after then.
- * @param responseHandlers a list of handlers for processing HTTP responses from services. See
- * {@link com.baidubce.http.BceHttpClient#execute(InternalRequest, Class, HttpResponseHandler[])}
+ * @param config the client configuration. The constructor makes a copy of this parameter so that it is
+ * safe to change the configuration after then.
+ * @param responseHandlers a list of handlers for processing HTTP responses from services. See
+ * {@link com.baidubce.http.BceHttpClient#execute(InternalRequest, Class, HttpResponseHandler[])}
* @param isHttpAsyncPutEnabled whether or not PUT method use Async manner.
- * @throws IllegalStateException if the class name does not follow the naming convention for BCE clients.
+ * @throws IllegalStateException if the class name does not follow the naming convention for BCE clients.
* @throws IllegalArgumentException if the endpoint specified in the client configuration is not a valid URI.
*/
- public AbstractBceClient(BceClientConfiguration config, HttpResponseHandler[] responseHandlers,
- boolean isHttpAsyncPutEnabled) {
+ public AbstractBceClient(BceClientConfiguration config, HttpResponseHandler[] responseHandlers,
+ boolean isHttpAsyncPutEnabled) {
this.serviceId = this.computeServiceId();
this.config = config;
this.endpoint = this.computeEndpoint();
@@ -111,7 +114,14 @@ public AbstractBceClient(BceClientConfiguration config, HttpResponseHandler[] re
}
/**
- * constructor with isHttpAsyncPutEnabled default value : false
+ * Equivalent to AbstractBceClient(config, responseHandlers, false)
+ *
+ * @param config the client configuration. The constructor makes a copy of this parameter so that it is
+ * safe to change the configuration after then.
+ * @param responseHandlers a list of handlers for processing HTTP responses from services. See
+ * {@link com.baidubce.http.BceHttpClient#execute(InternalRequest, Class, HttpResponseHandler[])}
+ * @throws IllegalStateException if the class name does not follow the naming convention for BCE clients.
+ * @throws IllegalArgumentException if the endpoint specified in the client configuration is not a valid URI.
*/
public AbstractBceClient(BceClientConfiguration config, HttpResponseHandler[] responseHandlers) {
this(config, responseHandlers, false);
@@ -119,7 +129,6 @@ public AbstractBceClient(BceClientConfiguration config, HttpResponseHandler[] re
/**
* Returns true if the target service supports regions.
- *
*
* The result will impact the construction of default service endpoint.
*
@@ -157,7 +166,6 @@ public void setClient(BceHttpClient client) {
/**
* Shuts down the client and releases all underlying resources.
- *
*
* Invoking this method is NOT a must. Once it is called, no subsequent requests should be made.
*/
@@ -167,12 +175,12 @@ public void shutdown() {
/**
* Subclasses should invoke this method for sending request to the target service.
- *
*
* This method will add "Content-Type" and "Date" to headers with default values if not present.
*
- * @param request the request to build up the HTTP request.
+ * @param request the request to build up the HTTP request.
* @param responseClass the response class.
+ * @param the type of response
* @return the final response object.
*/
protected T invokeHttpClient(InternalRequest request, Class responseClass) {
@@ -189,7 +197,6 @@ protected T invokeHttpClient(InternalRequest req
/**
* Returns the service ID based on the actual class name.
- *
*
* The class name should be in the form of "com.baidubce.services.xxx.XxxClient",
* while "xxx" is the service ID and
@@ -198,7 +205,7 @@ protected T invokeHttpClient(InternalRequest req
* @return the computed service ID.
* @throws IllegalStateException if the class name does not follow the naming convention for BCE clients.
*/
- private String computeServiceId() {
+ public String computeServiceId() {
String packageName = this.getClass().getPackage().getName();
String prefix = AbstractBceClient.class.getPackage().getName() + ".services.";
if (!packageName.startsWith(prefix)) {
@@ -206,6 +213,10 @@ private String computeServiceId() {
+ "'" + prefix + "' expected");
}
String serviceId = packageName.substring(prefix.length());
+ // Compatible with v2 version sdk.
+ if (serviceId.endsWith(".v2")) {
+ serviceId = serviceId.substring(0, serviceId.length() - 3);
+ }
if (serviceId.indexOf('.') != -1) {
throw new IllegalStateException("The client class should be put in package like " + prefix + "XXX");
}
@@ -213,9 +224,9 @@ private String computeServiceId() {
String expectedClassName =
packageName + '.' + Character.toUpperCase(serviceId.charAt(0)) + serviceId.substring(1) + "Client";
/**
- * Comment out this verification for media services, since media service is a suit of
+ * Comment out this verification for media services, since media service is a suit of
* services, the media package contains multiple Client classes.
- *
+ *
*/
// if (!className.equals(expectedClassName)) {
// throw new IllegalStateException("Invalid class name "
@@ -226,7 +237,6 @@ private String computeServiceId() {
/**
* Returns the default target service endpoint.
- *
*
* The endpoint will be in the form of "http(s)://[.].baidubce.com".
*
@@ -251,4 +261,53 @@ private URI computeEndpoint() {
throw new IllegalArgumentException("Invalid endpoint." + endpoint, e);
}
}
+
+ /**
+ * Returns the service endpoint(bucket virtual hosting) to which this client will send requests.
+ *
+ * @return the service endpoint(bucket virtual hosting) to which this client will send requests.
+ */
+ public URI getBktVirEndpoint(String bucketName) {
+ if (!bktVirEndpoint.isEmpty() && bktVirEndpoint.containsKey(bucketName)) {
+ return bktVirEndpoint.get(bucketName);
+ }
+ return null;
+ }
+
+ /**
+ * BOS
+ *
+ * Returns the bucket virtual hosting service endpoint.
+ *
+ * The endpoint will be in the form of "http(s)://[.].bcebos.com".
+ *
+ * @return the computed service endpoint
+ * @throws IllegalArgumentException if the endpoint specified in the client configuration is not a valid URI.
+ */
+ public void computeBktVirEndpoint(String bucketName) {
+ if (bucketName == null || bucketName.isEmpty()) {
+ return;
+ }
+ String host = this.endpoint.getHost();
+ String protocol = this.endpoint.getScheme();
+
+ String uri = null;
+ if (!host.contains("bcebos.com") && !host.contains("baidu-int.com")) {
+ // this means host is diy, and should not compute virtual host
+ return;
+ }
+ if (host.startsWith(bucketName) && host.split("\\.").length >= 4) {
+ uri = protocol + "://" + host;
+ } else {
+ uri = protocol + "://" + bucketName + '.' + host;
+ }
+ try {
+ if (uri != null) {
+ this.bktVirEndpoint.put(bucketName, new URI(uri));
+ }
+ } catch (URISyntaxException e) {
+ // only if the endpoint specified in the client configuration is not a valid URI, which is not expected.
+ throw new IllegalArgumentException("Invalid endpoint." + endpoint, e);
+ }
+ }
}
diff --git a/src/main/java/com/baidubce/BceClientConfiguration.java b/src/main/java/com/baidubce/BceClientConfiguration.java
old mode 100644
new mode 100755
index e100b41e..e211bad5
--- a/src/main/java/com/baidubce/BceClientConfiguration.java
+++ b/src/main/java/com/baidubce/BceClientConfiguration.java
@@ -22,8 +22,6 @@
import org.apache.http.annotation.NotThreadSafe;
import java.net.InetAddress;
-import java.net.MalformedURLException;
-import java.net.URL;
/**
* Basic client configurations for BCE clients.
@@ -157,6 +155,19 @@ public class BceClientConfiguration {
*/
private BceCredentials credentials = null;
+ /**
+ * determines whether redirects should be handled automatically
+ *
+ * @return
+ */
+ private boolean redirectsEnabled = true;
+
+ /**
+ * defalut io thread count
+ *
+ */
+ private int ioThreadCount = Runtime.getRuntime().availableProcessors();
+
// Initialize DEFAULT_USER_AGENT
static {
String language = System.getProperty("user.language");
@@ -168,10 +179,10 @@ public class BceClientConfiguration {
region = "";
}
DEFAULT_USER_AGENT = Joiner.on('/').join("bce-sdk-java", BceConstants.VERSION, System.getProperty("os.name"),
- System.getProperty("os.version"),
- System.getProperty("java.vm.name"),
- System.getProperty("java.vm.version"),
- System.getProperty("java.version"), language, region)
+ System.getProperty("os.version"),
+ System.getProperty("java.vm.name"),
+ System.getProperty("java.vm.version"),
+ System.getProperty("java.version"), language, region)
.replace(' ', '_');
}
@@ -189,6 +200,7 @@ public BceClientConfiguration() {
public BceClientConfiguration(BceClientConfiguration other) {
this.connectionTimeoutInMillis = other.connectionTimeoutInMillis;
this.maxConnections = other.maxConnections;
+ this.ioThreadCount = other.ioThreadCount;
this.retryPolicy = other.retryPolicy;
this.localAddress = other.localAddress;
this.protocol = other.protocol;
@@ -205,6 +217,7 @@ public BceClientConfiguration(BceClientConfiguration other) {
this.endpoint = other.endpoint;
this.region = other.region;
this.credentials = other.credentials;
+ this.redirectsEnabled = other.redirectsEnabled;
}
/**
@@ -212,12 +225,14 @@ public BceClientConfiguration(BceClientConfiguration other) {
* This constructor is used to create a client configuration from one SDK to another SDK. e.g. from VOD to BOS.
* In this case endpoint should be changed while other attributes keep same.
*
- * @param other the configuration to copy settings from.
+ * @param other the configuration to copy settings from.
+ * @param endpoint the endpoint
*/
public BceClientConfiguration(BceClientConfiguration other, String endpoint) {
this.endpoint = endpoint;
this.connectionTimeoutInMillis = other.connectionTimeoutInMillis;
this.maxConnections = other.maxConnections;
+ this.ioThreadCount = other.ioThreadCount;
this.retryPolicy = other.retryPolicy;
this.localAddress = other.localAddress;
this.protocol = other.protocol;
@@ -233,6 +248,7 @@ public BceClientConfiguration(BceClientConfiguration other, String endpoint) {
this.socketBufferSizeInBytes = other.socketBufferSizeInBytes;
this.region = other.region;
this.credentials = other.credentials;
+ this.redirectsEnabled = other.redirectsEnabled;
}
/**
@@ -297,6 +313,38 @@ public BceClientConfiguration withMaxConnections(int maxConnections) {
return this;
}
+ /**
+ * Returns the maximum number of io thread.
+ *
+ * @return the maximum number of io thread.
+ */
+ public int getIoThreadCount() {
+ return this.ioThreadCount;
+ }
+
+ /**
+ * Sets the maximum number of open io thread.
+ *
+ * @param ioThreadCount the maximum number of open HTTP connections.
+ * @throws IllegalArgumentException if ioThreadCount is negative.
+ */
+ public void setIoThreadCount(int ioThreadCount) {
+ checkArgument(ioThreadCount >= 0, "ioThreadCount should not be negative.");
+ this.ioThreadCount = ioThreadCount;
+ }
+
+ /**
+ * Sets the maximum number of io thread, and returns the updated configuration instance.
+ *
+ * @param ioThreadCount the maximum number of io thread.
+ * @return the updated configuration instance.
+ * @throws IllegalArgumentException if ioThreadCount is negative.
+ */
+ public BceClientConfiguration withIoThreadCount(int ioThreadCount) {
+ this.setIoThreadCount(ioThreadCount);
+ return this;
+ }
+
/**
* Returns the User-Agent header value to use when sending requests to BCE services.
*
@@ -308,7 +356,6 @@ public String getUserAgent() {
/**
* Sets the User-Agent header value to use when sending requests to BCE services.
- *
*
* If the specified value is null, DEFAULT_USER_AGENT is used. If the specified value does not end with
* DEFAULT_USER_AGENT, DEFAULT_USER_AGENT is appended.
@@ -328,7 +375,6 @@ public void setUserAgent(String userAgent) {
/**
* Sets the User-Agent header value to use when sending requests to BCE services, and returns the updated
* configuration instance.
- *
*
* If the specified value is null, DEFAULT_USER_AGENT is used. If the specified value does not end with
* DEFAULT_USER_AGENT, DEFAULT_USER_AGENT is appended.
@@ -371,6 +417,36 @@ public BceClientConfiguration withLocalAddress(InetAddress localAddress) {
return this;
}
+
+ /**
+ * Gets the flag of http redirection
+ *
+ * @return
+ */
+ public boolean isRedirectsEnabled() {
+ return redirectsEnabled;
+ }
+
+ /**
+ * Sets the flag of http redirection
+ *
+ * @param redirectsEnabled
+ */
+ public void setRedirectsEnabled(boolean redirectsEnabled) {
+ this.redirectsEnabled = redirectsEnabled;
+ }
+
+ /**
+ * Sets the flag of http redirection
+ *
+ * @param redirectsEnabled
+ * @return the updated configuration instance.
+ */
+ public BceClientConfiguration withRedirectsEnabled(boolean redirectsEnabled) {
+ this.setRedirectsEnabled(redirectsEnabled);
+ return this;
+ }
+
/**
* Returns the optional proxy host the client will connect through.
*
@@ -382,7 +458,6 @@ public String getProxyHost() {
/**
* Sets the optional proxy host the client will connect through.
- *
*
* The client will connect through the proxy only if the host is not null and the port is positive.
*
@@ -394,7 +469,6 @@ public void setProxyHost(String proxyHost) {
/**
* Sets the optional proxy host the client will connect through, and returns the updated configuration instance.
- *
*
* The client will connect through the proxy only if the host is not null and the port is positive.
*
@@ -417,7 +491,6 @@ public int getProxyPort() {
/**
* Sets the optional proxy port the client will connect through.
- *
*
* The client will connect through the proxy only if the host is not null and the port is positive.
*
@@ -429,7 +502,6 @@ public void setProxyPort(int proxyPort) {
/**
* Sets the optional proxy port the client will connect through, and returns the updated configuration instance.
- *
*
* The client will connect through the proxy only if the host is not null and the port is positive.
*
@@ -782,7 +854,6 @@ public Region getRegion() {
/**
* Sets the region of service. This value is used by the client to construct the endpoint URL automatically, and is
* ignored if endpoint is not null.
- *
*
* If the specified region is null, sets to DEFAULT_REGION.
*
@@ -795,7 +866,6 @@ public void setRegion(Region region) {
/**
* Sets the region of service, and returns the updated configuration instance. This value is used by the client to
* construct the endpoint URL automatically, and is ignored if endpoint is not null.
- *
*
* If the specified region is null, sets to DEFAULT_REGION.
*
@@ -846,15 +916,16 @@ public String toString() {
+ ", \n retryPolicy=" + retryPolicy + ", \n localAddress="
+ localAddress + ", \n protocol=" + protocol + ", \n proxyHost="
+ proxyHost + ", \n proxyPort=" + proxyPort + ", \n proxyUsername="
- + proxyUsername + ", \n proxyPassword=" + proxyPassword
+ + proxyUsername + ", \n proxyPassword=******"
+ ", \n proxyDomain=" + proxyDomain + ", \n proxyWorkstation="
+ proxyWorkstation + ", \n proxyPreemptiveAuthenticationEnabled="
+ proxyPreemptiveAuthenticationEnabled + ", \n maxConnections="
- + maxConnections + ", \n socketTimeoutInMillis="
+ + maxConnections + ", \n ioThreadCount="
+ + ioThreadCount + ", \n socketTimeoutInMillis="
+ socketTimeoutInMillis + ", \n connectionTimeoutInMillis="
+ connectionTimeoutInMillis + ", \n socketBufferSizeInBytes="
+ socketBufferSizeInBytes + ", \n endpoint=" + endpoint
+ ", \n region=" + region + ", \n credentials=" + credentials + "]\n";
}
-
+
}
\ No newline at end of file
diff --git a/src/main/java/com/baidubce/BceConstants.java b/src/main/java/com/baidubce/BceConstants.java
index 021c5b8d..ea93ffb2 100644
--- a/src/main/java/com/baidubce/BceConstants.java
+++ b/src/main/java/com/baidubce/BceConstants.java
@@ -16,5 +16,8 @@
* Common constants used by the whole SDK.
*/
public class BceConstants {
- public static final String VERSION = "0.10.17";
+ public static final String VERSION = "0.10.355";
+
+ public static final String DEFAULT_DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
+ public static final String DEFAULT_TIME_ZONE = "UTC";
}
diff --git a/src/main/java/com/baidubce/BceResponseMetadata.java b/src/main/java/com/baidubce/BceResponseMetadata.java
index c9ae84b6..56b650b5 100644
--- a/src/main/java/com/baidubce/BceResponseMetadata.java
+++ b/src/main/java/com/baidubce/BceResponseMetadata.java
@@ -12,12 +12,13 @@
*/
package com.baidubce;
+import java.io.Serializable;
import java.util.Date;
/**
* Represents additional metadata included with a response from BCE.
*/
-public class BceResponseMetadata {
+public class BceResponseMetadata implements Serializable {
private String bceRequestId;
private String bceContentSha256;
@@ -48,6 +49,18 @@ public class BceResponseMetadata {
private String location;
+ private String bucketType;
+
+ public String getSymlinkTarget() {
+ return symlinkTarget;
+ }
+
+ public void setSymlinkTarget(String symlinkTarget) {
+ this.symlinkTarget = symlinkTarget;
+ }
+
+ private String symlinkTarget;
+
public String getBceRequestId() {
return this.bceRequestId;
}
@@ -168,6 +181,14 @@ public void setTransferEncoding(String transferEncoding) {
this.transferEncoding = transferEncoding;
}
+ public String getBucketType() {
+ return bucketType;
+ }
+
+ public void setBucketType(String bucketType) {
+ this.bucketType = bucketType;
+ }
+
@Override
public String toString() {
return "BceResponseMetadata [\n bceRequestId=" + bceRequestId
diff --git a/src/main/java/com/baidubce/auth/BceV1Signer.java b/src/main/java/com/baidubce/auth/BceV1Signer.java
index 55919331..14116c0a 100644
--- a/src/main/java/com/baidubce/auth/BceV1Signer.java
+++ b/src/main/java/com/baidubce/auth/BceV1Signer.java
@@ -98,7 +98,12 @@ public void sign(InternalRequest request, BceCredentials credentials, SignOption
request.addHeader(Headers.HOST, HttpUtils.generateHostHeader(request.getUri()));
if (credentials instanceof BceSessionCredentials) {
- request.addHeader(Headers.BCE_SECURITY_TOKEN, ((BceSessionCredentials) credentials).getSessionToken());
+ if (options.getUseStsHeader()) {
+ request.addHeader(Headers.BCE_SECURITY_TOKEN, ((BceSessionCredentials) credentials).getSessionToken());
+ } else {
+ request.addParameter(Headers.BCE_SECURITY_TOKEN,
+ ((BceSessionCredentials) credentials).getSessionToken());
+ }
}
Date timestamp = options.getTimestamp();
diff --git a/src/main/java/com/baidubce/auth/SignOptions.java b/src/main/java/com/baidubce/auth/SignOptions.java
old mode 100644
new mode 100755
index aa722819..232e8cc3
--- a/src/main/java/com/baidubce/auth/SignOptions.java
+++ b/src/main/java/com/baidubce/auth/SignOptions.java
@@ -15,14 +15,14 @@
import static com.google.common.base.Preconditions.checkArgument;
import java.util.Date;
+import java.util.HashSet;
import java.util.Set;
/**
* Options for signing the request.
- *
*
* There are 3 options available:
- *
+ *
*
* | Option |
* Description |
@@ -49,7 +49,6 @@
* The time until the signature will expire, which starts from the timestamp. By default, it is set to 1800 (half an
* hour). |
*
- * *
*
*/
public class SignOptions {
@@ -81,6 +80,11 @@ public class SignOptions {
*/
private int expirationInSeconds = DEFAULT_EXPIRATION_IN_SECONDS;
+ /**
+ * The set of headers to be signed.
+ */
+ private Boolean useStsHeader = true;
+
/**
* Returns the set of headers to be signed.
*
@@ -99,6 +103,18 @@ public void setHeadersToSign(Set headersToSign) {
this.headersToSign = headersToSign;
}
+ /**
+ * Add the key of headers to be signed.
+ *
+ * @param headerKey the key of headers to be signed.
+ */
+ public void addHeadersToSign(String headerKey) {
+ if (this.headersToSign == null) {
+ headersToSign = new HashSet();
+ }
+ headersToSign.add(headerKey);
+ }
+
/**
* Returns the time when the signature was created.
*
@@ -130,17 +146,34 @@ public int getExpirationInSeconds() {
* Sets the time until the signature will expire.
*
* @param expirationInSeconds The time until the signature will expire.
- *
*/
public void setExpirationInSeconds(int expirationInSeconds) {
this.expirationInSeconds = expirationInSeconds;
}
+ /**
+ * Get the options of whether add header(x-bce-security-token)
+ *
+ * @return The set of headers to be signed.
+ */
+ public Boolean getUseStsHeader() {
+ return useStsHeader;
+ }
+
+ /**
+ * Set stsHeader options
+ *
+ * @param useStsHeader The set of headers to be signed.
+ */
+ public void setUseStsHeader(Boolean useStsHeader) {
+ this.useStsHeader = useStsHeader;
+ }
+
@Override
public String toString() {
return "SignOptions [\n headersToSign=" + headersToSign + ",\n timestamp="
+ timestamp + ",\n expirationInSeconds=" + expirationInSeconds
+ "]";
}
-
+
}
diff --git a/src/main/java/com/baidubce/auth/Signature.java b/src/main/java/com/baidubce/auth/Signature.java
new file mode 100644
index 00000000..e6940fc2
--- /dev/null
+++ b/src/main/java/com/baidubce/auth/Signature.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2020 Baidu. All Rights Reserved.
+ *
+ * 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 com.baidubce.auth;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Map;
+import java.util.TimeZone;
+import java.util.TreeSet;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.baidubce.BceConstants;
+import com.baidubce.http.Headers;
+import com.baidubce.internal.BaseRequest;
+import com.baidubce.internal.InternalRequest;
+
+/**
+ * The V1 implementation of Signature verification with the BCE signing protocol.
+ *
+ * @author chenjiayi05
+ * @date 2020/04/28
+ */
+public class Signature {
+ private static final Logger LOGGER = LoggerFactory.getLogger(Signature.class);
+
+ private static final String AUTH_PREFIX = "bce-auth-v1";
+
+ /**
+ * verify the signature with default auth header
+ *
+ * @param baseRequest origin request info
+ * @param credentials identity
+ * @return result
+ */
+ public boolean verify(BaseRequest baseRequest, BceCredentials credentials) {
+ return verify(baseRequest, credentials, Headers.AUTHORIZATION);
+ }
+
+ /**
+ * verify the signature
+ *
+ * @param baseRequest origin request info
+ * @param credentials identity
+ * @param authHeader auth header
+ * @return result
+ */
+ public boolean verify(BaseRequest baseRequest, BceCredentials credentials, String authHeader) {
+ if (baseRequest == null || credentials == null || authHeader == null) {
+ return false;
+ }
+ Map headers = baseRequest.getHeaders();
+ if (headers == null || headers.get(Headers.HOST) == null && headers.get(Headers.HOST.toLowerCase()) == null) {
+ return false;
+ }
+
+ // format: auth_prefix/ak/timestamp/expirationPeriodInSeconds/signedHeaders/signature
+ String authString = headers.get(authHeader);
+ if (authString == null) {
+ // compatibility mode
+ for (Map.Entry header : headers.entrySet()) {
+ if (header.getKey().equalsIgnoreCase(authHeader)) {
+ authString = header.getValue();
+ break;
+ }
+ }
+ }
+ if (authString == null) {
+ return false;
+ }
+
+ // verify length
+ String[] parts = authString.split("/", 6);
+ if (parts.length != 6) {
+ return false;
+ }
+
+ // verify auth_prefix
+ if (!parts[0].equals(AUTH_PREFIX)) {
+ return false;
+ }
+
+ // verify ak
+ String accessKey = parts[1];
+ if (!accessKey.equals(credentials.getAccessKeyId())) {
+ return false;
+ }
+
+ // extract timestamp
+ Date date;
+ SimpleDateFormat format = new SimpleDateFormat(BceConstants.DEFAULT_DATETIME_FORMAT);
+ format.setTimeZone(TimeZone.getTimeZone(BceConstants.DEFAULT_TIME_ZONE));
+ try {
+ date = format.parse(parts[2]);
+ } catch (ParseException e) {
+ LOGGER.error("parse timestamp error.");
+ return false;
+ }
+ SignOptions options = new SignOptions();
+ options.setTimestamp(date);
+
+ // extract expirationPeriodInSeconds
+ options.setExpirationInSeconds(Integer.parseInt(parts[3]));
+
+ // extract signedHeaders
+ if (StringUtils.isEmpty(parts[4])) {
+ // default signature
+ options = SignOptions.DEFAULT;
+ options.setTimestamp(date);
+ } else {
+ String[] signedHeaders = parts[4].split(";");
+ options.setHeadersToSign(new TreeSet(Arrays.asList(signedHeaders)));
+ }
+
+ // verify signature
+ InternalRequest request = BaseRequest.toInternalRequest(baseRequest);
+ BceV1Signer signer = new BceV1Signer();
+ request.setSignOptions(options);
+ signer.sign(request, credentials);
+ String verifiedAuth = request.getHeaders().get(Headers.AUTHORIZATION);
+
+ if (authString.split("/")[5].equals(verifiedAuth.split("/")[5])) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/common/ApiInfo.java b/src/main/java/com/baidubce/common/ApiInfo.java
new file mode 100644
index 00000000..dfca47d7
--- /dev/null
+++ b/src/main/java/com/baidubce/common/ApiInfo.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2020 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.common;
+
+import java.util.Map;
+
+import com.baidubce.http.HttpMethodName;
+
+/**
+ * Api info for v2 client to create request
+ *
+ * @author zhangquan07
+ */
+public class ApiInfo {
+ /**
+ * Api method name
+ */
+ private HttpMethodName method;
+ /**
+ * Api path, use [] to represents path variable.
+ */
+ private ApiPath path;
+ /**
+ * Api query variables.
+ */
+ private Map queries;
+ /**
+ * Api header variables.
+ */
+ private Map headers;
+
+ public HttpMethodName getMethod() {
+ return method;
+ }
+
+ public ApiPath getPath() {
+ return path;
+ }
+
+ public Map getQueries() {
+ return queries;
+ }
+
+ public Map getHeaders() {
+ return headers;
+ }
+
+ public ApiInfo(HttpMethodName method, ApiPath path, Map queries,
+ Map headers) {
+ this.method = method;
+ this.path = path;
+ this.queries = queries;
+ this.headers = headers;
+ }
+
+ public ApiInfo(ApiInfo other) {
+ this.method = other.getMethod();
+ this.path = other.getPath();
+ this.queries = other.getQueries();
+ this.headers = other.getHeaders();
+ }
+}
diff --git a/src/main/java/com/baidubce/common/ApiPath.java b/src/main/java/com/baidubce/common/ApiPath.java
new file mode 100644
index 00000000..a85e8bd1
--- /dev/null
+++ b/src/main/java/com/baidubce/common/ApiPath.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2020 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.common;
+
+/**
+ * Api path for v2 client to create request
+ *
+ * @author zhangquan07
+ */
+public class ApiPath {
+ private String path;
+
+ public ApiPath(String path) {
+ this.path = path;
+ }
+
+ public String get() {
+ return path;
+ }
+
+ public ApiPath withPathParameter(String key, String value) {
+ return new ApiPath(path.replace("[" + key + "]", value));
+ }
+}
diff --git a/src/main/java/com/baidubce/common/BaseBceClient.java b/src/main/java/com/baidubce/common/BaseBceClient.java
new file mode 100644
index 00000000..5abcc92d
--- /dev/null
+++ b/src/main/java/com/baidubce/common/BaseBceClient.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2020 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.common;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Map;
+
+import com.baidubce.AbstractBceClient;
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.auth.SignOptions;
+import com.baidubce.http.Headers;
+import com.baidubce.http.HttpMethodName;
+import com.baidubce.internal.InternalRequest;
+import com.baidubce.internal.RestartableInputStream;
+import com.baidubce.util.HttpUtils;
+import com.baidubce.util.JsonUtils;
+
+/**
+ * Base bce client
+ *
+ * @author zhangquan07
+ */
+public class BaseBceClient extends AbstractBceClient {
+ private String serviceId;
+ private HttpRequestHandler[] httpRequestHandlers;
+
+ public BaseBceClient(String serviceId, String ak, String sk, String endpoint) {
+ super(ServiceConfigFactory.getClientConfiguration(serviceId).withEndpoint(endpoint)
+ .withCredentials(new DefaultBceCredentials(ak, sk)),
+ ServiceConfigFactory.getResponseHandlers(serviceId));
+ this.httpRequestHandlers = ServiceConfigFactory.getRequestHandlers(serviceId);
+ this.serviceId = serviceId;
+ }
+
+ public BaseBceClient(BceClientConfiguration configuration) {
+ this(configuration, false);
+ }
+
+ public BaseBceClient(BceClientConfiguration configuration, boolean isHttpAsyncPutEnabled) {
+ super(configuration, ServiceConfigFactory.getDefaultResponseHandlers(), isHttpAsyncPutEnabled);
+ this.serviceId = this.computeServiceId();
+ this.httpRequestHandlers = ServiceConfigFactory.getRequestHandlers(serviceId);
+ }
+
+ /**
+ * Create internal request with path, query, header and body.
+ *
+ * @param httpMethod http method
+ * @param path path
+ * @param queries queries
+ * @param headers headers
+ * @param bceRequest bce request
+ * @return Internal request
+ */
+ protected InternalRequest createRequest(
+ HttpMethodName httpMethod,
+ String path,
+ Map queries,
+ Map headers,
+ BaseBceRequest bceRequest) {
+ URI uri = HttpUtils.appendUri(this.getEndpoint(), path);
+ InternalRequest internalRequest = new InternalRequest(httpMethod, uri);
+ SignOptions signOptions = new SignOptions();
+ signOptions.setHeadersToSign(
+ new HashSet(Arrays.asList(ServiceConfigFactory.getDefaultHeadersToSign(serviceId))));
+ internalRequest.setSignOptions(signOptions);
+ if (bceRequest == null) {
+ bceRequest = new BaseBceRequest();
+ } else {
+ internalRequest.setCredentials(bceRequest.getRequestCredentials());
+ }
+ internalRequest.setHeaders(headers);
+ internalRequest.setParameters(queries);
+
+ for (HttpRequestHandler httpRequestHandler : httpRequestHandlers) {
+ if (!httpRequestHandler.handle(internalRequest, bceRequest)) {
+ break;
+ }
+ }
+ if (internalRequest.getHttpMethod() == HttpMethodName.POST
+ || internalRequest.getHttpMethod() == HttpMethodName.PUT) {
+ String strJson = JsonUtils.toJsonString(bceRequest);
+ byte[] requestJson;
+ try {
+ requestJson = strJson.getBytes(DEFAULT_ENCODING);
+ } catch (UnsupportedEncodingException e) {
+ throw new BceClientException("Unsupported encode.", e);
+ }
+ internalRequest.addHeader(Headers.CONTENT_LENGTH, String.valueOf(requestJson.length));
+ internalRequest.addHeader(Headers.CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
+ internalRequest.setContent(RestartableInputStream.wrap(requestJson));
+ }
+ return internalRequest;
+ }
+}
diff --git a/src/main/java/com/baidubce/common/BaseBceRequest.java b/src/main/java/com/baidubce/common/BaseBceRequest.java
new file mode 100644
index 00000000..383a19cf
--- /dev/null
+++ b/src/main/java/com/baidubce/common/BaseBceRequest.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2020 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.common;
+
+import org.apache.http.annotation.NotThreadSafe;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+
+/**
+ * Base class for all BCE web service request objects.
+ *
+ * @author zhangquan07
+ */
+@NotThreadSafe
+public class BaseBceRequest extends AbstractBceRequest {
+
+ public BaseBceRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/common/BaseBceResponse.java b/src/main/java/com/baidubce/common/BaseBceResponse.java
new file mode 100644
index 00000000..6e3639df
--- /dev/null
+++ b/src/main/java/com/baidubce/common/BaseBceResponse.java
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2020 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.common;
+
+import com.baidubce.model.AbstractBceResponse;
+
+/**
+ * Base bce response
+ *
+ * @author zhangquan07
+ */
+public class BaseBceResponse extends AbstractBceResponse {
+}
diff --git a/src/main/java/com/baidubce/common/BceRegion.java b/src/main/java/com/baidubce/common/BceRegion.java
new file mode 100644
index 00000000..1f8a8b70
--- /dev/null
+++ b/src/main/java/com/baidubce/common/BceRegion.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2020 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.common;
+
+/**
+ * Bce region
+ *
+ * @author zhangquan07
+ */
+public enum BceRegion {
+ DEFAULT, // 默认
+ BJ, // 华北-北京
+ BD, // 华北-保定
+ HBFSG, // 华北-度小满金融专区
+ SU, // 华东-苏州
+ GZ, // 华南-广州
+ FSH, // 金融华东-上海
+ FWH, // 金融华中-武汉
+ HKG, // 香港
+ SIN // 新加坡
+}
\ No newline at end of file
diff --git a/src/main/java/com/baidubce/common/HttpRequestHandler.java b/src/main/java/com/baidubce/common/HttpRequestHandler.java
new file mode 100644
index 00000000..dfaa8f35
--- /dev/null
+++ b/src/main/java/com/baidubce/common/HttpRequestHandler.java
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2020 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.common;
+
+import com.baidubce.internal.InternalRequest;
+
+/**
+ * Responsible for handling an HTTP request.
+ *
+ * @author zhangquan07
+ */
+public interface HttpRequestHandler {
+
+ boolean handle(InternalRequest internalRequest, BaseBceRequest bceRequest);
+}
diff --git a/src/main/java/com/baidubce/common/ServiceConfigFactory.java b/src/main/java/com/baidubce/common/ServiceConfigFactory.java
new file mode 100644
index 00000000..46f38f49
--- /dev/null
+++ b/src/main/java/com/baidubce/common/ServiceConfigFactory.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2020 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.common;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.http.handler.BceErrorResponseHandler;
+import com.baidubce.http.handler.BceJsonResponseHandler;
+import com.baidubce.http.handler.BceMetadataResponseHandler;
+import com.baidubce.http.handler.HttpResponseHandler;
+
+/**
+ * Service config of service.
+ *
+ * @author zhangquan07
+ */
+public class ServiceConfigFactory {
+ /**
+ * Service client configuration.
+ */
+ private static final BceClientConfiguration DEFAULT_CONFIGURATION = new BceClientConfiguration();
+
+ /**
+ * Default headers to sign.
+ */
+ private static final String[] DEFAULT_HEADERS_TO_SIGN = {"host", "x-bce-date"};
+
+ /**
+ * Responsible for handling httpRequest from all service calls.
+ */
+ private static final HttpRequestHandler[] DEFAULT_REQUEST_HANDLERS = new HttpRequestHandler[0];
+
+ /**
+ * Responsible for handling httpResponses from all service calls.
+ */
+ private static final HttpResponseHandler[] DEFAULT_RESPONSE_HANDLERS = new HttpResponseHandler[] {
+ new BceMetadataResponseHandler(),
+ new BceErrorResponseHandler(),
+ new BceJsonResponseHandler()
+ };
+
+ public static BceClientConfiguration getClientConfiguration(String serviceName) {
+ return DEFAULT_CONFIGURATION;
+ }
+
+ public static String[] getDefaultHeadersToSign(String serviceName) {
+ return DEFAULT_HEADERS_TO_SIGN;
+ }
+
+ public static HttpResponseHandler[] getResponseHandlers(String serviceName) {
+ return DEFAULT_RESPONSE_HANDLERS;
+ }
+
+ public static HttpRequestHandler[] getRequestHandlers(String serviceName) {
+ return DEFAULT_REQUEST_HANDLERS;
+ }
+
+ public static HttpResponseHandler[] getDefaultResponseHandlers() {
+ return DEFAULT_RESPONSE_HANDLERS;
+ }
+
+}
diff --git a/src/main/java/com/baidubce/examples/acl/ExampleAclList.java b/src/main/java/com/baidubce/examples/acl/ExampleAclList.java
new file mode 100644
index 00000000..c07e4948
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/acl/ExampleAclList.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.acl;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.acl.AclClient;
+import com.baidubce.services.acl.AclClientConfiguration;
+import com.baidubce.services.acl.model.GetAclResponse;
+
+public class ExampleAclList {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ AclClientConfiguration config = new AclClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AclClient aclClient = new AclClient(config); // 初始化AclClient
+
+ try {
+ GetAclResponse response = aclClient.getAcl("vpc-b9ycwxxisrb7");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/acl/ExampleAddAclRule.java b/src/main/java/com/baidubce/examples/acl/ExampleAddAclRule.java
new file mode 100644
index 00000000..62cfc6e5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/acl/ExampleAddAclRule.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.acl;
+
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.acl.AclClient;
+import com.baidubce.services.acl.AclClientConfiguration;
+import com.baidubce.services.acl.model.AclRule;
+import com.google.common.collect.Lists;
+
+public class ExampleAddAclRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ AclClientConfiguration config = new AclClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AclClient aclClient = new AclClient(config); // 初始化AclClient
+
+ AclRule aclRule = new AclRule();
+ aclRule.setSubnetId("sbn-6ha6gp1vczuv"); // acl规则的子网Id
+ aclRule.setAction("allow"); // 规则允许或者拒绝访问
+ aclRule.setDescription("acl rule"); // 描述
+ aclRule.setDirection("ingress"); // 规则的方向
+ aclRule.setName("acl_name"); // 规则名称
+ aclRule.setPosition(9000); // 规则的端口
+ aclRule.setProtocol("all"); // acl规则的协议
+ aclRule.setDestinationIpAddress("192.168.0.8"); // acl规则目的地址
+ aclRule.setDestinationPort("80"); // acl规则目地端口
+ aclRule.setSourceIpAddress("all"); // acl规则源地址
+ aclRule.setSourcePort("90"); // acl规则源端口
+
+ List aclRules = Lists.newArrayList(aclRule);
+ try {
+ aclClient.createAcl(aclRules);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/acl/ExampleDeleteAclRule.java b/src/main/java/com/baidubce/examples/acl/ExampleDeleteAclRule.java
new file mode 100644
index 00000000..6de90d98
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/acl/ExampleDeleteAclRule.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.acl;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.acl.AclClient;
+import com.baidubce.services.acl.AclClientConfiguration;
+
+public class ExampleDeleteAclRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ AclClientConfiguration config = new AclClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AclClient aclClient = new AclClient(config); // 初始化AclClient
+
+ try {
+ aclClient.deleteAcl("ar-ynf9u87ppu1x");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/acl/ExampleMarkerListAcl.java b/src/main/java/com/baidubce/examples/acl/ExampleMarkerListAcl.java
new file mode 100644
index 00000000..35df4ade
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/acl/ExampleMarkerListAcl.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.acl;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.acl.AclClient;
+import com.baidubce.services.acl.AclClientConfiguration;
+import com.baidubce.services.acl.model.ListAclRequest;
+import com.baidubce.services.acl.model.ListAclResponse;
+
+public class ExampleMarkerListAcl {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ AclClientConfiguration config = new AclClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AclClient aclClient = new AclClient(config); // 初始化AclClient
+
+ ListAclRequest listAclRequest = new ListAclRequest();
+ listAclRequest.setSubnetId("sbn-6ha6gp1vczuv"); // 查询该子网的acl规则
+ listAclRequest.setMaxKeys(20); // 本次查询最多20条
+ try {
+ ListAclResponse response = aclClient.listAclRules(listAclRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/acl/ExampleUpdateAclRule.java b/src/main/java/com/baidubce/examples/acl/ExampleUpdateAclRule.java
new file mode 100644
index 00000000..5226edc6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/acl/ExampleUpdateAclRule.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.acl;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.acl.AclClient;
+import com.baidubce.services.acl.AclClientConfiguration;
+import com.baidubce.services.acl.model.ModifyAclRuleAttributesRequest;
+
+public class ExampleUpdateAclRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ AclClientConfiguration config = new AclClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AclClient aclClient = new AclClient(config); // 初始化AclClient
+
+ ModifyAclRuleAttributesRequest modifyAclRuleAttributesRequest = new ModifyAclRuleAttributesRequest();
+ modifyAclRuleAttributesRequest.setAclRuleId("ar-ynf9u87ppu1x");
+ modifyAclRuleAttributesRequest.setDescription("new_desc");
+ modifyAclRuleAttributesRequest.setName("name");
+ modifyAclRuleAttributesRequest.setDestinationPort("9090");
+ modifyAclRuleAttributesRequest.setSourcePort("8080");
+ try {
+ aclClient.modifyAclRuleAttributes(modifyAclRuleAttributesRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleAppDetails.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleAppDetails.java
new file mode 100644
index 00000000..e0a5b384
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleAppDetails.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.AppDetailsRequest;
+import com.baidubce.services.aihc.model.inference.AppDetailsResponse;
+
+public class ExampleAppDetails {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ AppDetailsRequest request = new AppDetailsRequest();
+ request.setAppId("test");
+ try {
+ AppDetailsResponse response = client.appDetails(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleBlockPod.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleBlockPod.java
new file mode 100644
index 00000000..d7b3892f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleBlockPod.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.BlockPodRequest;
+import com.baidubce.services.aihc.model.inference.BlockPodResponse;
+
+public class ExampleBlockPod {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ BlockPodRequest request = new BlockPodRequest();
+ request.setAppId("test");
+ request.setInsID("test");
+ request.setBlock(true);
+
+ try {
+ BlockPodResponse response = client.blockPod(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleChangeDetail.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleChangeDetail.java
new file mode 100644
index 00000000..da969624
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleChangeDetail.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.AppChangeDetailRequest;
+import com.baidubce.services.aihc.model.inference.AppChangeDetailResponse;
+
+public class ExampleChangeDetail {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ AppChangeDetailRequest request = new AppChangeDetailRequest();
+ request.setChangeId("test");
+
+ try {
+ AppChangeDetailResponse response = client.appChangeDetail(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleCreateApp.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleCreateApp.java
new file mode 100644
index 00000000..bb03922f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleCreateApp.java
@@ -0,0 +1,85 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.CreateAppRequest;
+import com.baidubce.services.aihc.model.inference.CreateAppResponse;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ExampleCreateApp {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ CreateAppRequest request = new CreateAppRequest();
+
+ request.setAppName("test");
+ request.setChipType("test");
+ request.setInsCount(1);
+
+ request.setResPool(new CreateAppRequest.ResPoolConf("test", "test"));
+
+ List volumns = new ArrayList<>();
+ volumns.add(new CreateAppRequest.VolumnConf("", "",
+ new CreateAppRequest.PFSConfig(""),
+ new CreateAppRequest.HostPathConfig("")));
+ request.setStorage(new CreateAppRequest.StorageConf(16, volumns));
+
+ request.setAccess(new CreateAppRequest.AccessConf(false, ""));
+
+ request.setLog(new CreateAppRequest.LogConf(true));
+
+ request.setDeploy(new CreateAppRequest.DeployConf(new CreateAppRequest.CanaryStrategyConf(25, 25)));
+
+ Map podLabels = new HashMap();
+ podLabels.put("test", "");
+ request.setMisc(new CreateAppRequest.Misc(podLabels, null));
+
+ List runCmd = new ArrayList();
+ runCmd.add("/bin/sh");
+ runCmd.add("-c");
+ runCmd.add("test");
+
+ Map env = new HashMap<>();
+ env.put("test", "test");
+
+ List containers = new ArrayList<>();
+ List volumeMounts = new ArrayList<>();
+ volumeMounts.add(new CreateAppRequest.VolumnMountConf("", "", true));
+
+ List command = new ArrayList<>();
+ command.add("/bin/sh");
+
+ containers.add(new CreateAppRequest.ContainerConf("inference", 1, 16, 1, runCmd, null, null, env,
+ new CreateAppRequest.ImageConf(2, "registry.baidubce.com/test/test:test", "", ""),
+ volumeMounts,
+ new CreateAppRequest.ProbeConf(1,1,1,1,1, new CreateAppRequest.ProbeHandlerConf(
+ new CreateAppRequest.ExecAction(command), new CreateAppRequest.HTTPGetAction("", 2000), new CreateAppRequest.TCPSocketAction(2000)
+ )),
+ null, null));
+
+ request.setContainers(containers);
+
+ try {
+ CreateAppResponse response = client.createApp(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleDeleteApp.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleDeleteApp.java
new file mode 100644
index 00000000..fafdcedc
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleDeleteApp.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.DeleteAppRequest;
+import com.baidubce.services.aihc.model.inference.DeleteAppResponse;
+
+public class ExampleDeleteApp {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ DeleteAppRequest request = new DeleteAppRequest();
+ request.setAppId("test");
+
+ try {
+ DeleteAppResponse response = client.deleteApp(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleDeletePod.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleDeletePod.java
new file mode 100644
index 00000000..f3c71121
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleDeletePod.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.DeletePodRequest;
+import com.baidubce.services.aihc.model.inference.DeletePodResponse;
+
+public class ExampleDeletePod {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ DeletePodRequest request = new DeletePodRequest();
+ request.setAppId("test");
+ request.setInsID("test");
+
+ try {
+ DeletePodResponse response = client.deletePod(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleListApp.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListApp.java
new file mode 100644
index 00000000..c51003fd
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListApp.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.ListAppRequest;
+import com.baidubce.services.aihc.model.inference.ListAppResponse;
+
+public class ExampleListApp {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ ListAppRequest request = new ListAppRequest();
+ request.setPageNo(1);
+ request.setPageSize(10);
+ request.setKeyword("test");
+ request.setOrder("desc");
+ request.setOrderBy("ctime");
+ try {
+ ListAppResponse response = client.listApp(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleListChange.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListChange.java
new file mode 100644
index 00000000..0acd1612
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListChange.java
@@ -0,0 +1,38 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.ListChangeRequest;
+import com.baidubce.services.aihc.model.inference.ListChangeResponse;
+
+public class ExampleListChange {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ ListChangeRequest request = new ListChangeRequest();
+ request.setAppId("test");
+ request.setOrder("desc");
+ request.setOrderBy("ctime");
+ request.setPageNo(1);
+ request.setPageSize(10);
+ request.setChangeType(1);
+ try {
+ ListChangeResponse response = client.listChange(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleListPod.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListPod.java
new file mode 100644
index 00000000..c59ea7cb
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListPod.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.ListPodRequest;
+import com.baidubce.services.aihc.model.inference.ListPodResponse;
+
+public class ExampleListPod {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ ListPodRequest request = new ListPodRequest();
+ request.setAppId("test");
+
+ try {
+ ListPodResponse response = client.listPod(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleListResPoolBrief.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListResPoolBrief.java
new file mode 100644
index 00000000..9dae0203
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListResPoolBrief.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.ListResPoolBriefRequest;
+import com.baidubce.services.aihc.model.inference.ListResPoolBriefResponse;
+
+public class ExampleListResPoolBrief {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ ListResPoolBriefRequest request = new ListResPoolBriefRequest();
+
+ request.setPageNo(1);
+ request.setPageSize(10);
+ try {
+ ListResPoolBriefResponse response = client.listResPoolBrief(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleListStat.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListStat.java
new file mode 100644
index 00000000..51b12d20
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleListStat.java
@@ -0,0 +1,39 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.ListStatsRequest;
+import com.baidubce.services.aihc.model.inference.ListStatsResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExampleListStat {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ ListStatsRequest request = new ListStatsRequest();
+
+ List appIds = new ArrayList();
+ appIds.add("test");
+ request.setAppIds(appIds);
+ try {
+ ListStatsResponse response = client.listStats(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExamplePubAccess.java b/src/main/java/com/baidubce/examples/aihc/inference/ExamplePubAccess.java
new file mode 100644
index 00000000..41b17add
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExamplePubAccess.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.PubAccessRequest;
+import com.baidubce.services.aihc.model.inference.PubAccessResponse;
+
+public class ExamplePubAccess {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ PubAccessRequest request = new PubAccessRequest();
+ request.setAppId("test");
+ request.setPublicAccess(true);
+ request.setEip("test");
+
+ try {
+ PubAccessResponse response = client.pubAccess(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleResPoolDetail.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleResPoolDetail.java
new file mode 100644
index 00000000..d8a6c3b3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleResPoolDetail.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.ResPoolDetailRequest;
+import com.baidubce.services.aihc.model.inference.ResPoolDetailResponse;
+
+public class ExampleResPoolDetail {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ ResPoolDetailRequest request = new ResPoolDetailRequest();
+
+ request.setResPoolId("test");
+ try {
+ ResPoolDetailResponse response = client.resPoolDetail(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleScaleApp.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleScaleApp.java
new file mode 100644
index 00000000..e6aba14d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleScaleApp.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.ScaleAppRequest;
+import com.baidubce.services.aihc.model.inference.ScaleAppResponse;
+
+public class ExampleScaleApp {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ ScaleAppRequest request = new ScaleAppRequest();
+ request.setAppId("test");
+ request.setInsCount(1);
+
+ try {
+ ScaleAppResponse response = client.scaleApp(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/aihc/inference/ExampleUpdateApp.java b/src/main/java/com/baidubce/examples/aihc/inference/ExampleUpdateApp.java
new file mode 100644
index 00000000..db07a6f4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/aihc/inference/ExampleUpdateApp.java
@@ -0,0 +1,88 @@
+package com.baidubce.examples.aihc.inference;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.aihc.AihcInferenceClient;
+import com.baidubce.services.aihc.model.inference.CreateAppRequest;
+import com.baidubce.services.aihc.model.inference.UpdateAppRequest;
+import com.baidubce.services.aihc.model.inference.UpdateAppResponse;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ExampleUpdateApp {
+ public static void main(String[] args) {
+ String ak = "Your AK";
+ String sk = "Your SK";
+ String endpoint = "aihc.baidubce.com";
+ String region = "bj";
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ config.setProtocol(Protocol.HTTPS);
+ AihcInferenceClient client = new AihcInferenceClient(config);
+
+ UpdateAppRequest request = new UpdateAppRequest();
+ request.setAppId("test");
+ request.setShortDesc("test");
+
+ request.setAppName("test");
+ request.setChipType("test");
+ request.setInsCount(1);
+
+ request.setResPool(new CreateAppRequest.ResPoolConf("test", "test"));
+
+ List volumns = new ArrayList<>();
+ volumns.add(new CreateAppRequest.VolumnConf("", "",
+ new CreateAppRequest.PFSConfig(""),
+ new CreateAppRequest.HostPathConfig("")));
+ request.setStorage(new CreateAppRequest.StorageConf(16, volumns));
+
+ request.setAccess(new CreateAppRequest.AccessConf(false, ""));
+
+ request.setLog(new CreateAppRequest.LogConf(true));
+
+ request.setDeploy(new CreateAppRequest.DeployConf(new CreateAppRequest.CanaryStrategyConf(25, 25)));
+
+ Map podLabels = new HashMap();
+ podLabels.put("test", "");
+ request.setMisc(new CreateAppRequest.Misc(podLabels, null));
+
+ List runCmd = new ArrayList();
+ runCmd.add("/bin/sh");
+ runCmd.add("-c");
+ runCmd.add("test");
+
+ Map env = new HashMap<>();
+ env.put("test", "test");
+
+ List containers = new ArrayList<>();
+ List volumeMounts = new ArrayList<>();
+ volumeMounts.add(new CreateAppRequest.VolumnMountConf("", "", true));
+
+ List command = new ArrayList<>();
+ command.add("/bin/sh");
+
+ containers.add(new CreateAppRequest.ContainerConf("inference", 1, 16, 1, runCmd, null, null, env,
+ new CreateAppRequest.ImageConf(2, "registry.baidubce.com/test/test:test", "", ""),
+ volumeMounts,
+ new CreateAppRequest.ProbeConf(1,1,1,1,1, new CreateAppRequest.ProbeHandlerConf(
+ new CreateAppRequest.ExecAction(command), new CreateAppRequest.HTTPGetAction("", 2000), new CreateAppRequest.TCPSocketAction(2000)
+ )),
+ null, null));
+
+ request.setContainers(containers);
+
+ try {
+ UpdateAppResponse response = client.updateApp(request, region);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/bbc/ExampleBindReservedToTags.java b/src/main/java/com/baidubce/examples/bbc/ExampleBindReservedToTags.java
new file mode 100644
index 00000000..d42cc3e9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/bbc/ExampleBindReservedToTags.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.bbc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bbc.BbcClient;
+import com.baidubce.services.bbc.BbcClientConfiguration;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.bcc.model.reversed.ReservedTagsRequest;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class ExampleBindReservedToTags {
+ public static void main(String[] args) {
+ // 设置您的ak、sk和要访问的endpoint
+ String endpoint = "bbc.bj.baidubce.com";
+ String ak = "ak";
+ String sk = "sk";
+ // 设置默认配置
+ BceClientConfiguration bbcClientConfiguration = new BbcClientConfiguration()
+ .withProtocol(Protocol.HTTP)
+ .withCredentials(new DefaultBceCredentials(ak, sk))
+ .withEndpoint(endpoint);
+ // 创建bbc client
+ BbcClient bbcClient = new BbcClient(bbcClientConfiguration);
+
+ ReservedTagsRequest reservedTagsRequest = new ReservedTagsRequest();
+ // 标签列表
+ List changeTags = new ArrayList();
+ TagModel tagModel = new TagModel().withTagKey("Key").withTagValue("Value");
+ changeTags.add(tagModel);
+ reservedTagsRequest.setChangeTags(changeTags);
+ // 实例券ID列表,最多支持100个
+ reservedTagsRequest.withInstanceIds(Arrays.asList("r-oFpMXKhv", "r-HrztSVk0"));
+
+ bbcClient.bindReservedInstanceToTags(reservedTagsRequest);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/bbc/ExampleUnbindReservedFromTags.java b/src/main/java/com/baidubce/examples/bbc/ExampleUnbindReservedFromTags.java
new file mode 100644
index 00000000..8fd28b02
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/bbc/ExampleUnbindReservedFromTags.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.bbc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bbc.BbcClient;
+import com.baidubce.services.bbc.BbcClientConfiguration;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.bcc.model.reversed.ReservedTagsRequest;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class ExampleUnbindReservedFromTags {
+ public static void main(String[] args) {
+ // 设置您的ak、sk和要访问的endpoint
+ String endpoint = "bbc.bj.baidubce.com";
+ String ak = "ak";
+ String sk = "sk";
+ // 设置默认配置
+ BceClientConfiguration bbcClientConfiguration = new BbcClientConfiguration()
+ .withProtocol(Protocol.HTTP)
+ .withCredentials(new DefaultBceCredentials(ak, sk))
+ .withEndpoint(endpoint);
+ // 创建bbc client
+ BbcClient bbcClient = new BbcClient(bbcClientConfiguration);
+
+ ReservedTagsRequest reservedTagsRequest = new ReservedTagsRequest();
+ // 标签列表
+ List changeTags = new ArrayList();
+ TagModel tagModel = new TagModel().withTagKey("Key***").withTagValue("Value***");
+ changeTags.add(tagModel);
+ reservedTagsRequest.setChangeTags(changeTags);
+ // 预留实例券ID列表,最多支持100个
+ reservedTagsRequest.withInstanceIds(Arrays.asList("r-oFpMXKhv", "r-HrztSVk0"));
+
+ bbcClient.unbindReservedInstanceFromTags(reservedTagsRequest);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/bcc/ExampleBindReservedToTags.java b/src/main/java/com/baidubce/examples/bcc/ExampleBindReservedToTags.java
new file mode 100644
index 00000000..cf39ddb5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/bcc/ExampleBindReservedToTags.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.bcc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.bcc.model.reversed.ReservedTagsRequest;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class ExampleBindReservedToTags {
+ public static void main(String[] args) {
+ // 设置您的ak、sk和要访问的endpoint
+ String endpoint = "bcc.bj.baidubce.com";
+ String ak = "ak";
+ String sk = "sk";
+ // 设置默认配置
+ BceClientConfiguration bccClientConfiguration = new BccClientConfiguration()
+ .withProtocol(Protocol.HTTP)
+ .withCredentials(new DefaultBceCredentials(ak, sk))
+ .withEndpoint(endpoint);
+ // 创建bcc client
+ BccClient bccClient = new BccClient(bccClientConfiguration);
+
+ ReservedTagsRequest reservedTagsRequest = new ReservedTagsRequest();
+ // 标签列表
+ List changeTags = new ArrayList();
+ TagModel tagModel = new TagModel().withTagKey("Key***").withTagValue("Value***");
+ changeTags.add(tagModel);
+ reservedTagsRequest.setChangeTags(changeTags);
+ // 实例券ID列表,最多支持100个
+ reservedTagsRequest.withInstanceIds(Arrays.asList("r-oFpMXKhv", "r-HrztSVk0"));
+
+ bccClient.bindReservedInstanceToTags(reservedTagsRequest);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/bcc/ExampleCreateReservedInstance.java b/src/main/java/com/baidubce/examples/bcc/ExampleCreateReservedInstance.java
new file mode 100644
index 00000000..91f86879
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/bcc/ExampleCreateReservedInstance.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.bcc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.bcc.model.reversed.CreateReservedInstanceResponse;
+import com.baidubce.services.bcc.model.reversed.CreateReservedInstancesRequest;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Collections;
+
+@Slf4j
+public class ExampleCreateReservedInstance {
+ public static void main(String[] args) {
+ // 设置您的ak、sk和要访问的endpoint
+ String endpoint = "bcc.bj.baidubce.com";
+ String ak = "ak";
+ String sk = "sk";
+
+ // 设置默认配置
+ BceClientConfiguration bccClientConfiguration = new BccClientConfiguration()
+ .withProtocol(Protocol.HTTP)
+ .withCredentials(new DefaultBceCredentials(ak, sk))
+ .withEndpoint(endpoint);
+
+ // 创建bcc client
+ BccClient bccClient = new BccClient(bccClientConfiguration);
+
+ CreateReservedInstancesRequest request = new CreateReservedInstancesRequest();
+ request.setReservedInstanceName("bj-test");
+ request.setScope("AZ");
+ request.setZoneName("cn-bj-a");
+ request.setSpec("bcc.c5.c2m8");
+ request.setOfferingType("FullyPrepay");
+ request.setInstanceCount(1);
+ request.setReservedInstanceCount(1);
+ request.setReservedInstanceTime(1);
+ request.setReservedInstanceTimeUnit("month");
+ request.setAutoRenewTimeUnit("month");
+ request.setAutoRenewTime(1);
+ request.setAutoRenew(true);
+
+ TagModel tagModel = new TagModel();
+ tagModel.setTagKey("testKey");
+ tagModel.setTagValue("testValue");
+ request.setTags(Collections.singletonList(tagModel));
+
+ CreateReservedInstanceResponse response = bccClient.createReservedInstances(request);
+ log.debug("CreateReservedInstanceResponse: {}", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/bcc/ExampleModifyReservedInstances.java b/src/main/java/com/baidubce/examples/bcc/ExampleModifyReservedInstances.java
new file mode 100644
index 00000000..be65235c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/bcc/ExampleModifyReservedInstances.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.bcc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.reversed.ModifyReservedInstancesResponse;
+import com.baidubce.services.bcc.model.reversed.ModifyReservedInstancesRequest;
+import com.baidubce.services.bcc.model.reversed.ModifyReservedInstancesRequest.ReservedInstance;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Collections;
+
+@Slf4j
+public class ExampleModifyReservedInstances {
+
+ public static void main(String[] args) {
+ // 设置您的ak、sk和要访问的endpoint
+ String endpoint = "bcc.bj.baidubce.com";
+ String ak = "ak";
+ String sk = "sk";
+
+ // 设置默认配置
+ BceClientConfiguration bccClientConfiguration = new BccClientConfiguration()
+ .withProtocol(Protocol.HTTP)
+ .withCredentials(new DefaultBceCredentials(ak, sk))
+ .withEndpoint(endpoint);
+
+ // 创建bcc client
+ BccClient bccClient = new BccClient(bccClientConfiguration);
+
+ ModifyReservedInstancesRequest request = new ModifyReservedInstancesRequest();
+
+ // 修改名称
+ ReservedInstance modifyName = new ReservedInstance();
+ modifyName.setReservedInstanceId("r-qt4ItfUP");
+ modifyName.setReservedInstanceName("update-reserved-instance");
+ request.setReservedInstances(Collections.singletonList(modifyName));
+
+ ModifyReservedInstancesResponse response = bccClient.modifyReservedInstances(request);
+ log.debug("ModifyReservedInstancesResponse:{}", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/bcc/ExampleUnbindReservedFromTags.java b/src/main/java/com/baidubce/examples/bcc/ExampleUnbindReservedFromTags.java
new file mode 100644
index 00000000..7eb10f2d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/bcc/ExampleUnbindReservedFromTags.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.bcc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.bcc.model.reversed.ReservedTagsRequest;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class ExampleUnbindReservedFromTags {
+ public static void main(String[] args) {
+ // 设置您的ak、sk和要访问的endpoint
+ String endpoint = "bcc.bj.baidubce.com";
+ String ak = "ak";
+ String sk = "sk";
+ // 设置默认配置
+ BceClientConfiguration bccClientConfiguration = new BccClientConfiguration()
+ .withProtocol(Protocol.HTTP)
+ .withCredentials(new DefaultBceCredentials(ak, sk))
+ .withEndpoint(endpoint);
+ // 创建bcc client
+ BccClient bccClient = new BccClient(bccClientConfiguration);
+
+ ReservedTagsRequest reservedTagsRequest = new ReservedTagsRequest();
+ // 标签列表
+ List changeTags = new ArrayList();
+ TagModel tagModel = new TagModel().withTagKey("Key***").withTagValue("Value***");
+ changeTags.add(tagModel);
+ reservedTagsRequest.setChangeTags(changeTags);
+ // 预留实例券ID列表,最多支持100个
+ reservedTagsRequest.withInstanceIds(Arrays.asList("r-oFpMXKhv", "r-HrztSVk0"));
+
+ bccClient.unbindReservedInstanceFromTags(reservedTagsRequest);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleAppBlbDetail.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleAppBlbDetail.java
new file mode 100644
index 00000000..c4a9ebe0
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleAppBlbDetail.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbDetailRequest;
+import com.baidubce.services.blb.model.BlbInstance;
+
+public class ExampleAppBlbDetail {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbDetailRequest blbDetailRequest = new BlbDetailRequest();
+ blbDetailRequest.setBlbId("lb-9629aac9"); // 要查询的LoadBalancer的标识符
+
+ try {
+ BlbInstance blbInstance = appBlbClient.blbDetail(blbDetailRequest);
+ System.out.println(blbInstance);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleBindEsg.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleBindEsg.java
new file mode 100644
index 00000000..8b424f66
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleBindEsg.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.EsgOperateRequest;
+
+public class ExampleBindEsg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ EsgOperateRequest esgOperateRequest = new EsgOperateRequest();
+ esgOperateRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ List enterpriseSecurityGroupIds = new ArrayList(); // 绑定的企业安全组ID列表
+ enterpriseSecurityGroupIds.add("esg-tv9jcdnyz5ap"); // 绑定的企业安全组ID
+ esgOperateRequest.setEnterpriseSecurityGroupIds(enterpriseSecurityGroupIds);
+
+ try {
+ appBlbClient.bindEsg(esgOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleBindSg.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleBindSg.java
new file mode 100644
index 00000000..55fedc97
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleBindSg.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.SgOperateRequest;
+
+public class ExampleBindSg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ SgOperateRequest sgOperateRequest = new SgOperateRequest();
+ sgOperateRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ List securityGroupIds = new ArrayList(); // 绑定的普通安全组ID列表
+ securityGroupIds.add("g-msrvz0w5kvuz"); // 绑定的普通安全组ID
+ sgOperateRequest.setSecurityGroupIds(securityGroupIds);
+
+ try {
+ appBlbClient.bindSg(sgOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppBlb.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppBlb.java
new file mode 100644
index 00000000..46b05b31
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppBlb.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.CreateBlbRequest;
+import com.baidubce.services.blb.model.CreateBlbResponse;
+
+public class ExampleCreateAppBlb {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ CreateBlbRequest createBlbRequest = new CreateBlbRequest();
+ createBlbRequest.setName("blb_1204_1"); // LoadBalancer的名称
+ createBlbRequest.setDesc("desc info"); // LoadBalancer实例的描述
+ createBlbRequest.setVpcId("vpc-syx4vuhy9z0f"); // LoadBalancer实例所属VPC的ID
+ createBlbRequest.setSubnetId("sbn-xgbjx1ecjf22"); // LoadBalancer实例所属子网的ID
+
+ try {
+ CreateBlbResponse createBlbResponse = appBlbClient.createBlb(createBlbRequest);
+ System.out.println(createBlbResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppHttpListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppHttpListener.java
new file mode 100644
index 00000000..68ce4cde
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppHttpListener.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateAppHttpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType("HTTP"); // 监听器类型
+ blbListenerRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(90); // 监听器的监听端口
+ blbListenerRequest.setScheduler("RoundRobin"); // 负载均衡算法
+
+ try {
+ appBlbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppHttpsListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppHttpsListener.java
new file mode 100644
index 00000000..83eb9fa4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppHttpsListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateAppHttpsListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType("HTTPS"); // 监听器类型
+ blbListenerRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(22); // 监听器的监听端口
+ blbListenerRequest.setScheduler("RoundRobin"); // 负载均衡算法
+ blbListenerRequest.setCertIds(Arrays.asList("cert-btq9faddgkpb")); // 监听器要加载的证书链
+
+ try {
+ appBlbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppServerGroup.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppServerGroup.java
new file mode 100644
index 00000000..84689ef3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppServerGroup.java
@@ -0,0 +1,45 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.AppBackendServer;
+import com.baidubce.services.blb.model.AppSgResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleCreateAppServerGroup {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ List backendServerList = new ArrayList();
+ AppBackendServer appBackendServer = new AppBackendServer();
+ appBackendServer.setInstanceId("i-mWyp1Bjd"); // 后端服务器实例ID
+ appBackendServer.setWeight(100); // 后端服务器权重
+ backendServerList.add(appBackendServer);
+ try {
+ AppSgResponse response =
+ appBlbClient.createAppServerGroup("lb-99fa2577", "appSg", "", backendServerList);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppServerGroupPort.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppServerGroupPort.java
new file mode 100644
index 00000000..81afb5aa
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppServerGroupPort.java
@@ -0,0 +1,42 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.AppSgPortRequest;
+import com.baidubce.services.blb.model.AppSgPortResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleCreateAppServerGroupPort {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ AppSgPortRequest request = new AppSgPortRequest();
+ request.setBlbId("lb-99fa2577"); // 负载均衡实例ID
+ request.setSgId("sg-9153c2d9"); // 应用服务器组ID
+ request.setPort(90); // 端口号
+ request.setType("HTTP"); // 协议类型
+ request.setHealthCheck("HTTP"); // 健康检查类型
+ try {
+ AppSgPortResponse response = appBlbClient.createAppServerGroupPort(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppSslListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppSslListener.java
new file mode 100644
index 00000000..597e3965
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppSslListener.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateAppSslListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType("SSL"); // 监听器类型
+ blbListenerRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(32); // 监听器的监听端口
+ blbListenerRequest.setScheduler("RoundRobin"); // 负载均衡算法
+ blbListenerRequest.setCertIds(Arrays.asList("cert-btq9faddgkpb")); // 监听器要加载的证书链
+
+ try {
+ appBlbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppTcpListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppTcpListener.java
new file mode 100644
index 00000000..61dfb25d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppTcpListener.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateAppTcpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType("TCP"); // 监听器类型
+ blbListenerRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(81); // 监听器的监听端口
+ blbListenerRequest.setScheduler("Hash"); // 负载均衡算法
+
+ try {
+ appBlbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppUdpListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppUdpListener.java
new file mode 100644
index 00000000..93a4dab6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateAppUdpListener.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateAppUdpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType("UDP"); // 监听器协议类型
+ blbListenerRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(82); // 监听器的监听端口
+ blbListenerRequest.setScheduler("Hash"); // 负载均衡算法
+ blbListenerRequest.setHealthCheckString("\\00"); // 健康检查发送的请求字符串
+
+ try {
+ appBlbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateBlbRs.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateBlbRs.java
new file mode 100644
index 00000000..25d17620
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreateBlbRs.java
@@ -0,0 +1,42 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.AppBackendServer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleCreateBlbRs {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ List backendServerList = new ArrayList(); // 后端服务器列表
+ AppBackendServer appBackendServer = new AppBackendServer();
+ appBackendServer.setInstanceId("i-mWyp1Bjd"); // 后端服务器实例ID
+ appBackendServer.setWeight(100); // 后端服务器权重
+ backendServerList.add(appBackendServer);
+ try {
+ appBlbClient.createBlbRs("lb-99fa2577", "sg-0bf84edc", backendServerList);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreatePolicys.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreatePolicys.java
new file mode 100644
index 00000000..2db405e5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleCreatePolicys.java
@@ -0,0 +1,53 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.AppPolicy;
+import com.baidubce.services.blb.model.AppRule;
+import com.baidubce.services.blb.model.CreateAppPolicyResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleCreatePolicys {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ List appPolicyVos = new ArrayList(); // 创建策略列表
+ AppPolicy appPolicy = new AppPolicy();
+ appPolicyVos.add(appPolicy);
+ appPolicy.setPriority(7); // 策略优先级
+ List ruleList = new ArrayList(); // 策略规则列表
+ AppRule appRule = new AppRule();
+ appRule.setKey("*"); // 策略规则类型
+ appRule.setValue("*"); // 策略规则值
+ ruleList.add(appRule);
+ appPolicy.setRuleList(ruleList);
+ appPolicy.setAppServerGroupId("sg-1fd8a838"); // 服务器组ID
+ appPolicy.setBackendPort(90); // 后端端口
+ try {
+ CreateAppPolicyResponse response =
+ appBlbClient.createPolicys("lb-2986ed03", 80, null, appPolicyVos);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppBlb.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppBlb.java
new file mode 100644
index 00000000..6b3bb464
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppBlb.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+public class ExampleDeleteAppBlb {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ String blbId = "lb-9629aac9"; // 待释放的LoadBalancer的ID
+
+ try {
+ appBlbClient.deleteBlb(blbId);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppListeners.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppListeners.java
new file mode 100644
index 00000000..1855a05d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppListeners.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+import java.util.Arrays;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDeleteAppListeners {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ appBlbClient.deleteListener("lb-99fa2577", Arrays.asList(81, 82));
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppServerGroup.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppServerGroup.java
new file mode 100644
index 00000000..7539da72
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppServerGroup.java
@@ -0,0 +1,30 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDeleteAppServerGroup {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ appBlbClient.deleteAppServerGroup("lb-99fa2577", "sg-c2eac39c");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppServerGroupPort.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppServerGroupPort.java
new file mode 100644
index 00000000..216028be
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteAppServerGroupPort.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+import java.util.Arrays;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDeleteAppServerGroupPort {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ appBlbClient.deleteAppServerGroupPort("lb-99fa2577", "sg-9153c2d9", Arrays.asList("port-2b68dae3"));
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteBlbRs.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteBlbRs.java
new file mode 100644
index 00000000..f7e2be40
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeleteBlbRs.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+import java.util.Arrays;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDeleteBlbRs {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ appBlbClient.deleteBlbRs("lb-99fa2577", "sg-9153c2d9", Arrays.asList("i-mWyp1Bjd"));
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeletePolicys.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeletePolicys.java
new file mode 100644
index 00000000..758fe986
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDeletePolicys.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+import java.util.Arrays;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDeletePolicys {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ appBlbClient.deletePolicys("lb-99fa2577", 90, Arrays.asList("policy-01940c30"));
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppAllListeners.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppAllListeners.java
new file mode 100644
index 00000000..f5081cae
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppAllListeners.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.AllListener;
+import com.baidubce.services.blb.model.ListListenerResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeAppAllListeners {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListListenerResponse response = appBlbClient.listAllListener("lb-1ef11a87");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppHTTPListeners.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppHTTPListeners.java
new file mode 100644
index 00000000..707ed574
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppHTTPListeners.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.HttpListener;
+import com.baidubce.services.blb.model.ListListenerResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeAppHTTPListeners {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListListenerResponse response = appBlbClient.listHttpListener("lb-b69cd42f");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppHTTPSListeners.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppHTTPSListeners.java
new file mode 100644
index 00000000..d2f69630
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppHTTPSListeners.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.HttpsListener;
+import com.baidubce.services.blb.model.ListListenerResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeAppHTTPSListeners {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListListenerResponse response = appBlbClient.listHttpsListener("lb-1ef11a87");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppSSLListeners.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppSSLListeners.java
new file mode 100644
index 00000000..1cfbde6a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppSSLListeners.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListListenerResponse;
+import com.baidubce.services.blb.model.SslListener;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeAppSSLListeners {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListListenerResponse response = appBlbClient.listSslListener("lb-1ef11a87");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppServerGroup.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppServerGroup.java
new file mode 100644
index 00000000..ffdf2a0d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppServerGroup.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListAppSgResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeAppServerGroup {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListAppSgResponse response = appBlbClient.listAppServerGroup("lb-99fa2577", "ccqSg");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppTCPListeners.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppTCPListeners.java
new file mode 100644
index 00000000..93e51e4b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppTCPListeners.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListListenerResponse;
+import com.baidubce.services.blb.model.TcpListener;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeAppTCPListeners {
+
+ public static void main(String[] args) {
+
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListListenerResponse response = appBlbClient.listTcpListener("lb-b69cd42f");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppUDPListeners.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppUDPListeners.java
new file mode 100644
index 00000000..c61f6e63
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeAppUDPListeners.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListListenerResponse;
+import com.baidubce.services.blb.model.UdpListener;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeAppUDPListeners {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListListenerResponse response = appBlbClient.listUdpListener("lb-1ef11a87");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeBlbRs.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeBlbRs.java
new file mode 100644
index 00000000..dabef8d6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeBlbRs.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListAppRsResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeBlbRs {
+
+ public static void main(String[] args) {
+
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListAppRsResponse response = appBlbClient.listBlbRs("lb-b69cd42f", "sg-b8221879");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribePolicys.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribePolicys.java
new file mode 100644
index 00000000..14671b8a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribePolicys.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListAppPolicyResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribePolicys {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListAppPolicyResponse response = appBlbClient.listPolicys("lb-1ef11a87", 80);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeRsMount.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeRsMount.java
new file mode 100644
index 00000000..43b53e6f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeRsMount.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListAppRsMountResponse;
+
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeRsMount {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListAppRsMountResponse response = appBlbClient.listBlbRsMount("lb-b69cd42f", "sg-b8221879");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeRsUnMount.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeRsUnMount.java
new file mode 100644
index 00000000..a19e6e57
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleDescribeRsUnMount.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListAppRsUnMountResponse;
+
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleDescribeRsUnMount {
+
+ public static void main(String[] args) {
+
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ try {
+ ListAppRsUnMountResponse response = appBlbClient.listBlbRsUnMount("lb-b69cd42f", "sg-b8221879");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbEsg.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbEsg.java
new file mode 100644
index 00000000..cc29635b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbEsg.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBlbEsgResponse;
+import com.baidubce.services.blb.model.ListBlbSgRequest;
+
+public class ExampleListAppBlbEsg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ ListBlbSgRequest listBlbSgRequest = new ListBlbSgRequest();
+ listBlbSgRequest.setBlbId("lb-166d3dbe"); // 要查询的LoadBalancer的标识符
+
+ try {
+ ListBlbEsgResponse listBlbEsgResponse = appBlbClient.listBlbEsg(listBlbSgRequest);
+ System.out.println(listBlbEsgResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbSg.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbSg.java
new file mode 100644
index 00000000..7e4d7476
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbSg.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBlbSgRequest;
+import com.baidubce.services.blb.model.ListBlbSgResponse;
+
+public class ExampleListAppBlbSg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ ListBlbSgRequest listBlbSgRequest = new ListBlbSgRequest();
+ listBlbSgRequest.setBlbId("lb-166d3dbe"); // 要查询的LoadBalancer的标识符
+
+ try {
+ ListBlbSgResponse listBlbSgResponse = appBlbClient.listBlbSg(listBlbSgRequest);
+ System.out.println(listBlbSgResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbs.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbs.java
new file mode 100644
index 00000000..84df1d05
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleListAppBlbs.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBlbRequest;
+import com.baidubce.services.blb.model.ListBlbResponse;
+
+public class ExampleListAppBlbs {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ ListBlbRequest listBlbRequest = new ListBlbRequest();
+ listBlbRequest.setName("blb_1204_1_1"); // 要查询的LoadBalancer名称
+
+ try {
+ ListBlbResponse response = appBlbClient.listBlbs(listBlbRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleModifyAppBlbAttributes.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleModifyAppBlbAttributes.java
new file mode 100644
index 00000000..11c43ceb
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleModifyAppBlbAttributes.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ModifyBlbAttributesRequest;
+
+public class ExampleModifyAppBlbAttributes {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ ModifyBlbAttributesRequest modifyBlbAttributesRequest = new ModifyBlbAttributesRequest();
+ modifyBlbAttributesRequest.setBlbId("lb-9629aac9"); // 待更新的LoadBalancer的ID
+ modifyBlbAttributesRequest.setName("blb_1204_1_1"); // LoadBalancer的名称
+
+ try {
+ appBlbClient.modifyBlbAttributes(modifyBlbAttributesRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUnBindEsg.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUnBindEsg.java
new file mode 100644
index 00000000..eff65a46
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUnBindEsg.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.EsgOperateRequest;
+
+public class ExampleUnBindEsg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ EsgOperateRequest esgOperateRequest = new EsgOperateRequest();
+ esgOperateRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ List enterpriseSecurityGroupIds = new ArrayList(); // 解绑的企业安全组ID列表
+ enterpriseSecurityGroupIds.add("esg-tv9jcdnyz5ap"); // 解绑的企业安全组ID
+ esgOperateRequest.setEnterpriseSecurityGroupIds(enterpriseSecurityGroupIds);
+
+ try {
+ appBlbClient.unBindEsg(esgOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUnBindSg.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUnBindSg.java
new file mode 100644
index 00000000..e7d4c1d9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUnBindSg.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.SgOperateRequest;
+
+public class ExampleUnBindSg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ SgOperateRequest sgOperateRequest = new SgOperateRequest();
+ sgOperateRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ List securityGroupIds = new ArrayList(); // 解绑的普通安全组ID列表
+ securityGroupIds.add("g-msrvz0w5kvuz"); // 解绑的普通安全组ID
+ sgOperateRequest.setSecurityGroupIds(securityGroupIds);
+
+ try {
+ appBlbClient.unBindSg(sgOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppHTTPSListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppHTTPSListener.java
new file mode 100644
index 00000000..42dabc20
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppHTTPSListener.java
@@ -0,0 +1,39 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleUpdateAppHTTPSListener {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest request = new BlbListenerRequest();
+ request.setType("HTTPS"); // 监听器协议类型
+ request.setBlbId("lb-99fa2577"); // 负载均衡器ID
+ request.setListenerPort(22); // 监听器端口
+ request.setScheduler("LeastConnection"); // 调度算法
+ try {
+ appBlbClient.modifyListenerAttributes(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppHttpListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppHttpListener.java
new file mode 100644
index 00000000..bfb4642d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppHttpListener.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleUpdateAppHttpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType("HTTP"); // 监听器类型
+ blbListenerRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(90); // 监听器的监听端口
+ blbListenerRequest.setScheduler("Hash"); // 负载均衡算法
+
+ try {
+ appBlbClient.modifyListenerAttributes(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppSSLListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppSSLListener.java
new file mode 100644
index 00000000..e18336fb
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppSSLListener.java
@@ -0,0 +1,39 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleUpdateAppSSLListener {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest request = new BlbListenerRequest();
+ request.setType("SSL"); // 监听器类型
+ request.setBlbId("lb-99fa2577"); // 负载均衡器ID
+ request.setListenerPort(23); // 监听器端口
+ request.setScheduler("LeastConnection"); // 调度算法
+ try {
+ appBlbClient.modifyListenerAttributes(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppServerGroup.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppServerGroup.java
new file mode 100644
index 00000000..470465ec
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppServerGroup.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleUpdateAppServerGroup {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+ try {
+ appBlbClient.modifyAppServerGroupAttributes("lb-99fa2577", "sg-9153c2d9", "ccqSg", "ccqSgDesc");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppServerGroupPort.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppServerGroupPort.java
new file mode 100644
index 00000000..922ddc09
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppServerGroupPort.java
@@ -0,0 +1,40 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.AppSgPortRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleUpdateAppServerGroupPort {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ AppSgPortRequest request = new AppSgPortRequest();
+ request.setBlbId("lb-99fa2577"); // 负载均衡器ID
+ request.setSgId("sg-9153c2d9"); // 应用服务器组ID
+ request.setPortId("port-2b68dae3"); // 应用服务器组端口ID
+ request.setHealthCheck("HTTP"); // 健康检查协议
+ request.setHealthCheckTimeoutInSecond(50); // 健康检查超时时间
+ try {
+ appBlbClient.modifyAppServerGroupPortAttributes(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppTcpListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppTcpListener.java
new file mode 100644
index 00000000..93aeddb8
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppTcpListener.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleUpdateAppTcpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType("TCP"); // 监听器类型
+ blbListenerRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(81); // 监听器的监听端口
+ blbListenerRequest.setScheduler("RoundRobin"); // 负载均衡算法
+
+ try {
+ appBlbClient.modifyListenerAttributes(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppUdpListener.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppUdpListener.java
new file mode 100644
index 00000000..81ba7ab3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateAppUdpListener.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.appblb;
+
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleUpdateAppUdpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType("UDP"); // 监听器类型
+ blbListenerRequest.setBlbId("lb-166d3dbe"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(82); // 监听器的监听端口
+ blbListenerRequest.setScheduler("RoundRobin"); // 负载均衡算法
+
+ try {
+ appBlbClient.modifyListenerAttributes(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateBlbRs.java b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateBlbRs.java
new file mode 100644
index 00000000..b0978596
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/appblb/ExampleUpdateBlbRs.java
@@ -0,0 +1,42 @@
+package com.baidubce.examples.blb.appblb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.AppBlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.AppBackendServer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleUpdateBlbRs {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ AppBlbClient appBlbClient = new AppBlbClient(config); // 初始化AppBlbClient
+
+ List backendServerList = new ArrayList(); // 后端服务器列表
+ AppBackendServer appBackendServer = new AppBackendServer();
+ appBackendServer.setInstanceId("i-mWyp1Bjd"); // 后端服务器实例ID
+ appBackendServer.setWeight(50); // 权重
+ backendServerList.add(appBackendServer);
+ try {
+ appBlbClient.modifyBlbRs("lb-99fa2577", "sg-0bf84edc", backendServerList);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleAddBackendServers.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleAddBackendServers.java
new file mode 100644
index 00000000..6beb48bc
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleAddBackendServers.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BackendServer;
+
+public class ExampleAddBackendServers {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ String blbId = "lb-081b7605"; // 所属LoadBalancer的标识符
+ List backendServerList = new ArrayList();
+ BackendServer backendServer = new BackendServer();
+ backendServer.setInstanceId("i-VfM3kz2D"); // 后端服务器标识符
+ backendServer.setWeight(50); // 后端服务器权重
+ backendServerList.add(backendServer);
+
+ try {
+ blbClient.addBackendServers(blbId, backendServerList);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleBindEsg.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleBindEsg.java
new file mode 100644
index 00000000..473b276d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleBindEsg.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.EsgOperateRequest;
+
+public class ExampleBindEsg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ EsgOperateRequest esgOperateRequest = new EsgOperateRequest();
+ esgOperateRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ List enterpriseSecurityGroupIds = new ArrayList(); // 绑定的企业安全组ID列表
+ enterpriseSecurityGroupIds.add("esg-tv9jcdnyz5ap"); // 绑定的企业安全组ID
+ esgOperateRequest.setEnterpriseSecurityGroupIds(enterpriseSecurityGroupIds);
+
+ try {
+ blbClient.bindEsg(esgOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleBindSg.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleBindSg.java
new file mode 100644
index 00000000..2525decf
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleBindSg.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.SgOperateRequest;
+
+public class ExampleBindSg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ SgOperateRequest sgOperateRequest = new SgOperateRequest();
+ sgOperateRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ List securityGroupIds = new ArrayList(); // 绑定的普通安全组ID列表
+ securityGroupIds.add("g-msrvz0w5kvuz"); // 绑定的普通安全组ID
+ sgOperateRequest.setSecurityGroupIds(securityGroupIds);
+
+ try {
+ blbClient.bindSg(sgOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleBlbDetail.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleBlbDetail.java
new file mode 100644
index 00000000..d136ff3a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleBlbDetail.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbDetailRequest;
+import com.baidubce.services.blb.model.BlbInstance;
+
+public class ExampleBlbDetail {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbDetailRequest blbDetailRequest = new BlbDetailRequest();
+ blbDetailRequest.setBlbId("lb-77d58dc4"); // 要查询的LoadBalancer的标识符
+
+ try {
+ BlbInstance blbInstance = blbClient.blbDetail(blbDetailRequest);
+ System.out.println(blbInstance);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateBlb.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateBlb.java
new file mode 100644
index 00000000..5ce7fa72
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateBlb.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.CreateBlbRequest;
+import com.baidubce.services.blb.model.CreateBlbResponse;
+
+public class ExampleCreateBlb {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ CreateBlbRequest createBlbRequest = new CreateBlbRequest();
+ createBlbRequest.setName("blb_1130_1"); // LoadBalancer的名称
+ createBlbRequest.setDesc("desc info"); // LoadBalancer实例的描述
+ createBlbRequest.setVpcId("vpc-syx4vuhy9z0f"); // LoadBalancer实例所属VPC的ID
+ createBlbRequest.setSubnetId("sbn-xgbjx1ecjf22"); // LoadBalancer实例所属子网的ID
+
+ try {
+ CreateBlbResponse response = blbClient.createBlb(createBlbRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateHttpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateHttpListener.java
new file mode 100644
index 00000000..27393605
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateHttpListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.HTTP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateHttpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(HTTP_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(90); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(90); // 后端服务器的监听端口
+ blbListenerRequest.setScheduler("RoundRobin"); // 负载均衡算法
+
+ try {
+ blbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateHttpsListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateHttpsListener.java
new file mode 100644
index 00000000..386700a0
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateHttpsListener.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.HTTPS_LISTENER;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateHttpsListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(HTTPS_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(22); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(22); // 后端服务器的监听端口
+ blbListenerRequest.setScheduler("RoundRobin"); // 负载均衡算法
+ blbListenerRequest.setCertIds(Arrays.asList("cert-btq9faddgkpb")); // 监听器要加载的证书链
+
+ try {
+ blbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateSslListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateSslListener.java
new file mode 100644
index 00000000..ed51d30d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateSslListener.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.SSL_LISTENER;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateSslListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(SSL_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(32); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(32); // 后端服务器的监听端口
+ blbListenerRequest.setScheduler("RoundRobin"); // 负载均衡算法
+ blbListenerRequest.setCertIds(Arrays.asList("cert-btq9faddgkpb")); // 监听器要加载的证书链
+
+ try {
+ blbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateTcpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateTcpListener.java
new file mode 100644
index 00000000..f6b417c9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateTcpListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.TCP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateTcpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(TCP_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(81); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(81); // 后端服务器的监听端口
+ blbListenerRequest.setScheduler("Hash"); // 负载均衡算法
+
+ try {
+ blbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateUdpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateUdpListener.java
new file mode 100644
index 00000000..0818a5b3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleCreateUdpListener.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.UDP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleCreateUdpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(UDP_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(82); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(82); // 后端服务器的监听端口
+ blbListenerRequest.setScheduler("Hash"); // 负载均衡算法
+ blbListenerRequest.setHealthCheckString("\\00"); // 健康检查发送的请求字符串
+
+ try {
+ blbClient.createListener(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteBackendServers.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteBackendServers.java
new file mode 100644
index 00000000..f16dbe5a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteBackendServers.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+public class ExampleDeleteBackendServers {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ String blbId = "lb-081b7605"; // 所属LoadBalancer的标识符
+ List backendServerList = new ArrayList(); // 所有待释放的后端服务器标识符
+ backendServerList.add("i-VfM3kz2D"); // 后端服务器标识符
+
+ try {
+ blbClient.deleteBackendServers(blbId, backendServerList);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteBlb.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteBlb.java
new file mode 100644
index 00000000..9bda1a6e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteBlb.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+
+public class ExampleDeleteBlb {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ String blbId = "lb-081b7605"; // 待释放的LoadBalancer的ID
+
+ try {
+ blbClient.deleteBlb(blbId);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteListeners.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteListeners.java
new file mode 100644
index 00000000..7b821a14
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleDeleteListeners.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.DeleteListenerRequest;
+
+public class ExampleDeleteListeners {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ DeleteListenerRequest deleteListenerRequest = new DeleteListenerRequest();
+ deleteListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ deleteListenerRequest.setPortList(Arrays.asList(81)); // 所有待释放的监听器的端口
+
+ try {
+ blbClient.deleteListener(deleteListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListAllListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListAllListener.java
new file mode 100644
index 00000000..a154ce3b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListAllListener.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.AllListener;
+import com.baidubce.services.blb.model.ListListenerResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleListAllListener {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ try {
+ ListListenerResponse response = blbClient.listAllListener("lb-1ef11a87");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListBackendServerStatus.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBackendServerStatus.java
new file mode 100644
index 00000000..60511de2
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBackendServerStatus.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBackendServerStatusResponse;
+
+public class ExampleListBackendServerStatus {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ String blbId = "lb-081b7605"; // 所属LoadBalancer的标识符
+ int listenerPort = 90; // 要查询的监听器端口
+
+ try {
+ ListBackendServerStatusResponse response = blbClient
+ .listBackendServerStatus(blbId, listenerPort);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListBackendServers.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBackendServers.java
new file mode 100644
index 00000000..c8750b2c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBackendServers.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBackendServerResponse;
+
+public class ExampleListBackendServers {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ String blbId = "lb-081b7605"; // 所属LoadBalancer的标识符
+
+ try {
+ ListBackendServerResponse response = blbClient.listBackendServers(blbId);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbEsg.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbEsg.java
new file mode 100644
index 00000000..db3624fc
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbEsg.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBlbEsgResponse;
+import com.baidubce.services.blb.model.ListBlbSgRequest;
+
+public class ExampleListBlbEsg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ ListBlbSgRequest listBlbSgRequest = new ListBlbSgRequest();
+ listBlbSgRequest.setBlbId("lb-081b7605"); // 要查询的LoadBalancer的标识符
+
+ try {
+ ListBlbEsgResponse listBlbEsgResponse = blbClient.listBlbEsg(listBlbSgRequest);
+ System.out.println(listBlbEsgResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbSg.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbSg.java
new file mode 100644
index 00000000..8237f76a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbSg.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBlbSgRequest;
+import com.baidubce.services.blb.model.ListBlbSgResponse;
+
+public class ExampleListBlbSg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ ListBlbSgRequest listBlbSgRequest = new ListBlbSgRequest();
+ listBlbSgRequest.setBlbId("lb-081b7605"); // 要查询的LoadBalancer的标识符
+
+ try {
+ ListBlbSgResponse listBlbSgResponse = blbClient.listBlbSg(listBlbSgRequest);
+ System.out.println(listBlbSgResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbs.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbs.java
new file mode 100644
index 00000000..9d157fe5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListBlbs.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBlbRequest;
+import com.baidubce.services.blb.model.ListBlbResponse;
+
+public class ExampleListBlbs {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ ListBlbRequest listBlbRequest = new ListBlbRequest();
+ listBlbRequest.setName("blb_1129_1"); // 要查询的LoadBalancer名称
+
+ try {
+ ListBlbResponse response = blbClient.listBlbs(listBlbRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListHttpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListHttpListener.java
new file mode 100644
index 00000000..6eef6d4a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListHttpListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.HTTP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListListenerRequest;
+import com.baidubce.services.blb.model.ListListenerResponse;
+
+public class ExampleListHttpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ ListListenerRequest listListenerRequest = new ListListenerRequest();
+ listListenerRequest.setType(HTTP_LISTENER);
+ listListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ listListenerRequest.setListenerPort(90); // 要查询的监听器端口
+
+ try {
+ ListListenerResponse listListenerResponse = blbClient.listListener(listListenerRequest);
+ System.out.println(listListenerResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListHttpsListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListHttpsListener.java
new file mode 100644
index 00000000..e0b9ac1f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListHttpsListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.HTTPS_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListListenerRequest;
+import com.baidubce.services.blb.model.ListListenerResponse;
+
+public class ExampleListHttpsListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ ListListenerRequest listListenerRequest = new ListListenerRequest();
+ listListenerRequest.setType(HTTPS_LISTENER);
+ listListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ listListenerRequest.setListenerPort(22); // 要查询的监听器端口
+
+ try {
+ ListListenerResponse listListenerResponse = blbClient.listListener(listListenerRequest);
+ System.out.println(listListenerResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListSslListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListSslListener.java
new file mode 100644
index 00000000..c7221001
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListSslListener.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListListenerResponse;
+import com.baidubce.services.blb.model.SslListener;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleListSslListener {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ try {
+ ListListenerResponse response = blbClient.listSslListener("lb-1ef11a87");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListTcpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListTcpListener.java
new file mode 100644
index 00000000..d646e2d4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListTcpListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.TCP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListListenerRequest;
+import com.baidubce.services.blb.model.ListListenerResponse;
+
+public class ExampleListTcpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ ListListenerRequest listListenerRequest = new ListListenerRequest();
+ listListenerRequest.setType(TCP_LISTENER);
+ listListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ listListenerRequest.setListenerPort(81); // 要查询的监听器端口
+
+ try {
+ ListListenerResponse listListenerResponse = blbClient.listListener(listListenerRequest);
+ System.out.println(listListenerResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleListUdpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleListUdpListener.java
new file mode 100644
index 00000000..82384a79
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleListUdpListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.UDP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListListenerRequest;
+import com.baidubce.services.blb.model.ListListenerResponse;
+
+public class ExampleListUdpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ ListListenerRequest listListenerRequest = new ListListenerRequest();
+ listListenerRequest.setType(UDP_LISTENER);
+ listListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ listListenerRequest.setListenerPort(82); // 要查询的监听器端口
+
+ try {
+ ListListenerResponse listListenerResponse = blbClient.listListener(listListenerRequest);
+ System.out.println(listListenerResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleModifyBackendServerAttributes.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleModifyBackendServerAttributes.java
new file mode 100644
index 00000000..0d4d5260
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleModifyBackendServerAttributes.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BackendServer;
+
+public class ExampleModifyBackendServerAttributes {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ String blbId = "lb-081b7605"; // 所属LoadBalancer的标识符
+ List backendServerList = new ArrayList();
+ BackendServer backendServer = new BackendServer();
+ backendServer.setInstanceId("i-VfM3kz2D"); // 后端服务器标识符
+ backendServer.setWeight(60); // 后端服务器权重
+ backendServerList.add(backendServer);
+
+ try {
+ blbClient.modifyBackendServerAttributes(blbId, backendServerList);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleModifyBlbAttributes.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleModifyBlbAttributes.java
new file mode 100644
index 00000000..7b1cd620
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleModifyBlbAttributes.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ModifyBlbAttributesRequest;
+
+public class ExampleModifyBlbAttributes {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ ModifyBlbAttributesRequest modifyBlbAttributesRequest = new ModifyBlbAttributesRequest();
+ modifyBlbAttributesRequest.setBlbId("lb-77d58dc4"); // 待更新的LoadBalancer的ID
+ modifyBlbAttributesRequest.setName("blb_1129_1_1"); // LoadBalancer的名称
+
+ try {
+ blbClient.modifyBlbAttributes(modifyBlbAttributesRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleUnBindEsg.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleUnBindEsg.java
new file mode 100644
index 00000000..8f8ebf85
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleUnBindEsg.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.EsgOperateRequest;
+
+public class ExampleUnBindEsg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ EsgOperateRequest esgOperateRequest = new EsgOperateRequest();
+ esgOperateRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ List enterpriseSecurityGroupIds = new ArrayList(); // 解绑的企业安全组ID列表
+ enterpriseSecurityGroupIds.add("esg-tv9jcdnyz5ap"); // 解绑的企业安全组ID
+ esgOperateRequest.setEnterpriseSecurityGroupIds(enterpriseSecurityGroupIds);
+
+ try {
+ blbClient.unBindEsg(esgOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleUnBindSg.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleUnBindSg.java
new file mode 100644
index 00000000..a3d0619d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleUnBindSg.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.SgOperateRequest;
+
+public class ExampleUnBindSg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ SgOperateRequest sgOperateRequest = new SgOperateRequest();
+ sgOperateRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ List securityGroupIds = new ArrayList(); // 解绑的普通安全组ID列表
+ securityGroupIds.add("g-msrvz0w5kvuz"); // 解绑的普通安全组ID
+ sgOperateRequest.setSecurityGroupIds(securityGroupIds);
+
+ try {
+ blbClient.unBindSg(sgOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateHttpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateHttpListener.java
new file mode 100644
index 00000000..e67728db
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateHttpListener.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.HTTP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleUpdateHttpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(HTTP_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(90); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(91); // 后端服务器的监听端口
+
+ try {
+ blbClient.modifyListenerAttributes(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateHttpsListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateHttpsListener.java
new file mode 100644
index 00000000..ed578d08
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateHttpsListener.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.HTTPS_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleUpdateHttpsListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(HTTPS_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(22); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(23); // 后端服务器的监听端口
+
+ try {
+ blbClient.modifyListenerAttributes(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateLoadBalancerAcl.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateLoadBalancerAcl.java
new file mode 100644
index 00000000..850c1b43
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateLoadBalancerAcl.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.UpdateLoadBalancerAclRequest;
+
+public class ExampleUpdateLoadBalancerAcl {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ UpdateLoadBalancerAclRequest updateLoadBalancerAclRequest = new UpdateLoadBalancerAclRequest();
+ updateLoadBalancerAclRequest.setBlbId("lb-d20d573f"); // 待更新的LoadBalancer的ID
+ updateLoadBalancerAclRequest.setSupportAcl(true); // 是否支持ACL
+
+ try {
+ blbClient.updateLoadBalancerAcl(updateLoadBalancerAclRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateSslListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateSslListener.java
new file mode 100644
index 00000000..5255effc
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateSslListener.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.SSL_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleUpdateSslListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(SSL_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(32); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(33); // 后端服务器的监听端口
+
+ try {
+ blbClient.modifyListenerAttributes(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateTcpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateTcpListener.java
new file mode 100644
index 00000000..9a0d23cd
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateTcpListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.TCP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleUpdateTcpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(TCP_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(81); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(82); // 后端服务器的监听端口
+ blbListenerRequest.setScheduler("Hash"); // 负载均衡算法
+
+ try {
+ blbClient.modifyListenerAttributes(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateUdpListener.java b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateUdpListener.java
new file mode 100644
index 00000000..7a64b100
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/blb/ExampleUpdateUdpListener.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.blb.blb;
+
+import static com.baidubce.services.blb.model.ListenerConstant.UDP_LISTENER;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.BlbListenerRequest;
+
+public class ExampleUpdateUdpListener {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.su.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
+ blbListenerRequest.setType(UDP_LISTENER);
+ blbListenerRequest.setBlbId("lb-081b7605"); // 所属LoadBalancer的标识符
+ blbListenerRequest.setListenerPort(82); // 监听器的监听端口
+ blbListenerRequest.setBackendPort(83); // 后端服务器的监听端口
+ blbListenerRequest.setScheduler("Hash"); // 负载均衡算法
+
+ try {
+ blbClient.modifyListenerAttributes(blbListenerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/blb/ipv6blb/ExampleCreateIpv6Blb.java b/src/main/java/com/baidubce/examples/blb/ipv6blb/ExampleCreateIpv6Blb.java
new file mode 100644
index 00000000..aea0af95
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/ipv6blb/ExampleCreateIpv6Blb.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.blb.ipv6blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.CreateBlbResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleCreateIpv6Blb {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ try {
+ CreateBlbResponse response = blbClient.createIpv6Blb("ipv6blb-test",
+ "ipv6blb-desc", "vpc-gg92ixpgmpw7", "sbn-ej7r34w74p69");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/blb/ipv6blb/ExampleListIpv6Blb.java b/src/main/java/com/baidubce/examples/blb/ipv6blb/ExampleListIpv6Blb.java
new file mode 100644
index 00000000..e69b7f76
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/blb/ipv6blb/ExampleListIpv6Blb.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.blb.ipv6blb;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.blb.BlbClient;
+import com.baidubce.services.blb.BlbClientConfiguration;
+import com.baidubce.services.blb.model.ListBlbResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/28
+ */
+public class ExampleListIpv6Blb {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BlbClientConfiguration config = new BlbClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BlbClient blbClient = new BlbClient(config); // 初始化BlbClient
+
+ try {
+ ListBlbResponse response = blbClient.listIpv6Blbs("", "", "", "");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleAttachInstance.java b/src/main/java/com/baidubce/examples/csn/ExampleAttachInstance.java
new file mode 100644
index 00000000..82353c38
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleAttachInstance.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.AttachInstanceRequest;
+
+import java.util.UUID;
+
+public class ExampleAttachInstance {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnId = "csn-b65m2hez6h60iwa1"; // 云智能网ID
+ String instanceAccountId = "Your Instance Account ID"; // 跨账号加载网络实例场景下,网络实例所属账号的ID
+ AttachInstanceRequest attachInstanceRequest = AttachInstanceRequest.builder()
+ .instanceType("vpc") // 加载的实例类型,取值 [vpc|channel|bec_vpc],分别表示私有网络、专线通道、边缘网络
+ .instanceId("vpc-33ajnsvj41r6") // 加载的实例ID
+ .instanceRegion("bj") // 加载的实例所属的region
+ .instanceAccountId(instanceAccountId)
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.attachInstance(csnId, attachInstanceRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleBindCsnBp.java b/src/main/java/com/baidubce/examples/csn/ExampleBindCsnBp.java
new file mode 100644
index 00000000..895e79b8
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleBindCsnBp.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.BindCsnBpRequest;
+
+import java.util.UUID;
+
+public class ExampleBindCsnBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-jm5sb75yz4j8"; // 带宽包的ID
+ BindCsnBpRequest bindCsnBpRequest = BindCsnBpRequest.builder()
+ .csnId("csn-b65m2hez6h60iwa1") // 云智能网ID
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.bindCsnBp(csnBpId, bindCsnBpRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleCreateAssociation.java b/src/main/java/com/baidubce/examples/csn/ExampleCreateAssociation.java
new file mode 100644
index 00000000..33bbd3d3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleCreateAssociation.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.CreateAssociationRequest;
+
+import java.util.UUID;
+
+public class ExampleCreateAssociation {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-szxfb2vcr62x41ui"; // 云智能网路由表的ID
+ CreateAssociationRequest createAssociationRequest = CreateAssociationRequest.builder()
+ .attachId("tgwAttach-s8bcrz57d3mpv6x8") // 网络实例在云智能网中的身份ID
+ .description("create csn association description.") // 描述
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.createAssociation(csnRtId, createAssociationRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleCreateCsn.java b/src/main/java/com/baidubce/examples/csn/ExampleCreateCsn.java
new file mode 100644
index 00000000..6dd193a5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleCreateCsn.java
@@ -0,0 +1,43 @@
+package com.baidubce.examples.csn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.CreateCsnRequest;
+import com.baidubce.services.csn.model.CreateCsnResponse;
+import com.baidubce.services.tag.model.Tag;
+import com.google.common.collect.Lists;
+
+public class ExampleCreateCsn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ CreateCsnRequest request = new CreateCsnRequest();
+ request.setName("javaSdkTest"); // 云智能网的名称
+ request.setDescription("java sdk test"); // 云智能网的描述
+
+ Tag tag = new Tag();
+ tag.setTagKey("tagKey");
+ tag.setTagValue("tagValue");
+ request.setTags(Lists.newArrayList(tag)); // 云智能网的标签
+
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ CreateCsnResponse response = csnClient.createCsn(request, clientToken);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleCreateCsnBp.java b/src/main/java/com/baidubce/examples/csn/ExampleCreateCsnBp.java
new file mode 100644
index 00000000..39b21fb3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleCreateCsnBp.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.CreateCsnBpRequest;
+import com.baidubce.services.csn.model.CreateCsnBpResponse;
+import com.baidubce.services.tag.model.Tag;
+import com.google.common.collect.Lists;
+
+import java.util.UUID;
+
+public class ExampleCreateCsnBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ // 预付费购买csnBp
+ // 保留信息,支付方式为后付费时不需要设置,预付费时必须设置
+ CreateCsnBpRequest.Billing.Reservation reservation = CreateCsnBpRequest.Billing.Reservation.builder()
+ .reservationTimeUnit("month") // 时间单位,当前仅支持按月,取值month
+ .reservationLength(1) // 时长,[1,2,3,4,5,6,7,8,9,12,24,36]
+ .build();
+ CreateCsnBpRequest.Billing prepaidBilling = CreateCsnBpRequest.Billing.builder()
+ .paymentTiming("Prepaid") // 付款时间,预支付(Prepaid)和后支付(Postpaid)
+ .reservation(reservation) // 保留信息
+ .build();
+ // 带宽包的互通类型,取值 [ center | center-edge | edge-edge ],分别表示云间互通、云边互通、边边互通,默认为云间互通
+ String interWorkType = "center";
+ CreateCsnBpRequest prepaidCreateCsnBpRequest = CreateCsnBpRequest.builder()
+ .name("prepaidCsnBpTest") // 带宽包的名称,不能为空
+ .bandwidth(100) // 带宽包的带宽值,最大值为10000
+ .geographicA("China") // 网络实例所属的区域。取值 [ China | Asia-Pacific ],分别表示中国大陆、亚太区域
+ .geographicB("China") // 另一个网络实例所属的区域。取值 [ China | Asia-Pacific ],分别表示中国大陆、亚太区域
+ .interworkType(interWorkType) // 带宽包的互通类型
+ .billing(prepaidBilling) // 计费信息
+ .tags(Lists.newArrayList(new Tag().withTagKey("test").withTagValue("test"))) // 标签信息,可为空
+ .build();
+ String prepaidClientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ CreateCsnBpResponse prepaidCsnBp = csnClient.createCsnBp(prepaidCreateCsnBpRequest, prepaidClientToken);
+ System.out.println("prepaidCsnBp = " + prepaidCsnBp);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ // 后付费购买csnBp
+ CreateCsnBpRequest.Billing postpaidBilling = CreateCsnBpRequest.Billing.builder()
+ .paymentTiming("Postpaid") // 付款时间,预支付(Prepaid)和后支付(Postpaid)
+ .build();
+ CreateCsnBpRequest postpaidCreateCsnBpRequest = CreateCsnBpRequest.builder()
+ .name("postpaidCsnBpTest") // 带宽包的名称,不能为空
+ .bandwidth(100) // 带宽包的带宽值,最大值为10000
+ .geographicA("China") // 网络实例所属的区域。取值 [ China | Asia-Pacific ],分别表示中国大陆、亚太区域
+ .geographicB("China") // 另一个网络实例所属的区域。取值 [ China | Asia-Pacific ],分别表示中国大陆、亚太区域
+ .interworkType(interWorkType) // 带宽包的互通类型
+ .billing(postpaidBilling)
+ .tags(Lists.newArrayList(new Tag().withTagKey("test").withTagValue("test"))) // 标签信息,可为空
+ .build();
+ String postpaidClientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ CreateCsnBpResponse postpaidCsnBp = csnClient.createCsnBp(postpaidCreateCsnBpRequest, postpaidClientToken);
+ System.out.println("postpaidCsnBp = " + postpaidCsnBp);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleCreateCsnBpLimit.java b/src/main/java/com/baidubce/examples/csn/ExampleCreateCsnBpLimit.java
new file mode 100644
index 00000000..ae00d22f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleCreateCsnBpLimit.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.CreateCsnBpLimitRequest;
+
+import java.util.UUID;
+
+public class ExampleCreateCsnBpLimit {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-jm5sb75yz4j8"; // 带宽包的ID
+ CreateCsnBpLimitRequest createCsnBpLimitRequest = CreateCsnBpLimitRequest.builder()
+ .localRegion("bj") // 地域带宽的本端region,云边互通场景中表示云端region
+ .peerRegion("bd") // 地域带宽的对端region,云边互通场景中表示边缘region
+ .bandwidth(10) // 地域带宽的带宽值
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.createCsnBpLimit(csnBpId, createCsnBpLimitRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleCreatePropagation.java b/src/main/java/com/baidubce/examples/csn/ExampleCreatePropagation.java
new file mode 100644
index 00000000..4e7acbc6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleCreatePropagation.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.CreatePropagationRequest;
+
+public class ExampleCreatePropagation {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-bhnis7ubpgnmyk5f"; // 云智能网路由表的ID
+ CreatePropagationRequest createPropagationRequest = new CreatePropagationRequest();
+ createPropagationRequest.setAttachId("tgwAttach-5ttgra63p7v4q69z"); // 网络实例在云智能网中的身份的ID
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.createPropagation(csnRtId, createPropagationRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleCreateRouteRule.java b/src/main/java/com/baidubce/examples/csn/ExampleCreateRouteRule.java
new file mode 100644
index 00000000..2abc87b0
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleCreateRouteRule.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.CreateRouteRuleRequest;
+
+public class ExampleCreateRouteRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-bhnis7ubpgnmyk5f"; // 云智能网路由表的ID
+ CreateRouteRuleRequest createRouteRuleRequest = new CreateRouteRuleRequest();
+ createRouteRuleRequest.setAttachId("tgwAttach-5ttgra63p7v4q69z"); // 网络实例在云智能网中的身份的ID
+ createRouteRuleRequest.setDestAddress("0.0.0.0/0"); // 路由的目的地址
+ createRouteRuleRequest.setRouteType("custom"); // 路由类型
+ String clientToken = UUID.randomUUID().toString();
+
+ try {
+ csnClient.createRouteRule(csnRtId, createRouteRuleRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleCsnBpPrice.java b/src/main/java/com/baidubce/examples/csn/ExampleCsnBpPrice.java
new file mode 100644
index 00000000..c116d3b3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleCsnBpPrice.java
@@ -0,0 +1,45 @@
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.CreateCsnBpRequest;
+import com.baidubce.services.csn.model.CsnBpPriceRequest;
+import com.baidubce.services.csn.model.CsnBpPriceResponse;
+
+public class ExampleCsnBpPrice {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ CsnBpPriceRequest request = new CsnBpPriceRequest();
+ request.setName("test_prepay");
+ request.setBandwidth(10);
+ request.setGeographicA("China");
+ request.setGeographicB("China");
+
+ CreateCsnBpRequest.Billing.Reservation reservation = CreateCsnBpRequest.Billing.Reservation.builder()
+ .reservationTimeUnit("month") // 时间单位,当前仅支持按月,取值month
+ .reservationLength(1) // 时长,[1,2,3,4,5,6,7,8,9,12,24,36]
+ .build();
+ CreateCsnBpRequest.Billing billing = CreateCsnBpRequest.Billing.builder()
+ .paymentTiming("Prepaid") // 付款时间,预支付(Prepaid)和后支付(Postpaid)
+ .billingMethod("ByBandwidth") // 计费方式
+ .reservation(reservation) // 保留信息
+ .build();
+ request.setBilling(billing);
+
+ try {
+ CsnBpPriceResponse response = csnClient.csnBpPrice(request); // 获取价格
+ System.out.println("price = " + response);
+ } catch (Exception e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleDeleteAssociation.java b/src/main/java/com/baidubce/examples/csn/ExampleDeleteAssociation.java
new file mode 100644
index 00000000..d8ed06f5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleDeleteAssociation.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+
+import java.util.UUID;
+
+public class ExampleDeleteAssociation {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-szxfb2vcr62x41ui"; // 云智能网路由表的ID
+ String attachId = "tgwAttach-s8bcrz57d3mpv6x8"; // 网络实例在云智能网中的身份ID
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.deleteAssociation(csnRtId, attachId, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsn.java b/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsn.java
new file mode 100644
index 00000000..62a3f996
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsn.java
@@ -0,0 +1,30 @@
+package com.baidubce.examples.csn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+
+public class ExampleDeleteCsn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+ String csnId = "csn-2jssjbhvyd8v1gxn"; // 云智能网ID
+
+ try {
+ csnClient.deleteCsn(csnId, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsnBp.java b/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsnBp.java
new file mode 100644
index 00000000..b8486c39
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsnBp.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+
+import java.util.UUID;
+
+public class ExampleDeleteCsnBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-59i18xrv382t"; // 带宽包的ID
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.deleteCsnBp(csnBpId, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsnBpLimit.java b/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsnBpLimit.java
new file mode 100644
index 00000000..2be49d21
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleDeleteCsnBpLimit.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.DeleteCsnBpLimitRequest;
+
+import java.util.UUID;
+
+public class ExampleDeleteCsnBpLimit {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-jm5sb75yz4j8"; // 带宽包的ID
+ DeleteCsnBpLimitRequest deleteCsnBpLimitRequest = DeleteCsnBpLimitRequest.builder()
+ .localRegion("bj") // 地域带宽的本端region
+ .peerRegion("bd") // 地域带宽的对端region
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.deleteCsnBpLimit(csnBpId, deleteCsnBpLimitRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleDeletePropagation.java b/src/main/java/com/baidubce/examples/csn/ExampleDeletePropagation.java
new file mode 100644
index 00000000..60a6388b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleDeletePropagation.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+
+public class ExampleDeletePropagation {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-bhnis7ubpgnmyk5f"; // 云智能网路由表的ID
+ String attachId = "tgwAttach-5ttgra63p7v4q69z"; // 网络实例在云智能网中的身份的ID
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.deletePropagation(csnRtId, attachId, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleDeleteRouteRule.java b/src/main/java/com/baidubce/examples/csn/ExampleDeleteRouteRule.java
new file mode 100644
index 00000000..c934e5d7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleDeleteRouteRule.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+
+public class ExampleDeleteRouteRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-bhnis7ubpgnmyk5f"; // 路由表的ID
+ String csnRtRuleId = "bfe6294f-1058-421c-8759-0973589a4442"; // 路由条目的ID
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.deleteRouteRule(csnRtId, csnRtRuleId, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleDetachInstance.java b/src/main/java/com/baidubce/examples/csn/ExampleDetachInstance.java
new file mode 100644
index 00000000..fce161c3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleDetachInstance.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.DetachInstanceRequest;
+
+import java.util.UUID;
+
+public class ExampleDetachInstance {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnId = "csn-b65m2hez6h60iwa1"; // 云智能网ID
+ String instanceAccountId = "Your Instance Account ID"; // 跨账号卸载网络实例场景下,网络实例所属账号的ID
+ DetachInstanceRequest detachInstanceRequest = DetachInstanceRequest.builder()
+ .instanceType("vpc") // 卸载的实例类型,取值 [vpc|channel|bec_vpc],分别表示私有网络、专线通道、边缘网络
+ .instanceId("vpc-33ajnsvj41r6") // 卸载的实例ID
+ .instanceRegion("bj") // 卸载的实例所属的region
+ .instanceAccountId(instanceAccountId)
+ .build();
+ String clientToken = UUID.randomUUID().toString();
+
+ try {
+ csnClient.detachInstance(csnId, detachInstanceRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleGetCsn.java b/src/main/java/com/baidubce/examples/csn/ExampleGetCsn.java
new file mode 100644
index 00000000..cb1fb58b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleGetCsn.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.GetCsnResponse;
+
+public class ExampleGetCsn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnId = "csn-b65m2hez6h60iwa1"; // 云智能网ID
+
+ try {
+ GetCsnResponse getCsnResponse = csnClient.getCsn(csnId);
+ System.out.println("getCsnResponse = " + getCsnResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleGetCsnBp.java b/src/main/java/com/baidubce/examples/csn/ExampleGetCsnBp.java
new file mode 100644
index 00000000..27a0e579
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleGetCsnBp.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.GetCsnBpResponse;
+
+public class ExampleGetCsnBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-0wehdvzn9hid"; // 带宽包的ID
+
+ try {
+ GetCsnBpResponse csnBpDetail = csnClient.getCsnBp(csnBpId);
+ System.out.println("csnBpDetail = " + csnBpDetail);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListAssociation.java b/src/main/java/com/baidubce/examples/csn/ExampleListAssociation.java
new file mode 100644
index 00000000..cd173b1b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListAssociation.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListAssociationResponse;
+
+public class ExampleListAssociation {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-bhnis7ubpgnmyk5f"; // 云智能网路由表的ID
+
+ try {
+ ListAssociationResponse response = csnClient.listAssociation(csnRtId);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListCsn.java b/src/main/java/com/baidubce/examples/csn/ExampleListCsn.java
new file mode 100644
index 00000000..5827d030
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListCsn.java
@@ -0,0 +1,30 @@
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListCsnResponse;
+
+public class ExampleListCsn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String marker = "csn-2jssjbhvyd8v1gxn"; // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ int maxKeys = 10; // 每页包含的最大数量,最大数量不超过1000,缺省值为1000
+
+ try {
+ ListCsnResponse response = csnClient.listCsn(marker, maxKeys);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListCsnBp.java b/src/main/java/com/baidubce/examples/csn/ExampleListCsnBp.java
new file mode 100644
index 00000000..40a5b317
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListCsnBp.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListCsnBpResponse;
+
+public class ExampleListCsnBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String marker = ""; // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ Integer maxKeys = 10; // 每页包含的最大数量,最大数量不超过1000,缺省值为1000
+
+ try {
+ ListCsnBpResponse listCsnBpResponse = csnClient.listCsnBp(marker, maxKeys);
+ System.out.println("listCsnBpResponse = " + listCsnBpResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListCsnBpLimit.java b/src/main/java/com/baidubce/examples/csn/ExampleListCsnBpLimit.java
new file mode 100644
index 00000000..a95b5dc3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListCsnBpLimit.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListCsnBpLimitResponse;
+
+public class ExampleListCsnBpLimit {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-jm5sb75yz4j8"; // 带宽包的ID
+
+ try {
+ ListCsnBpLimitResponse listCsnBpLimitResponse = csnClient.listCsnBpLimit(csnBpId);
+ System.out.println("listCsnBpLimitResponse = " + listCsnBpLimitResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListCsnBpLimitByCsnId.java b/src/main/java/com/baidubce/examples/csn/ExampleListCsnBpLimitByCsnId.java
new file mode 100644
index 00000000..5dbd027c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListCsnBpLimitByCsnId.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListCsnBpLimitByCsnIdResponse;
+
+public class ExampleListCsnBpLimitByCsnId {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnId = "csn-b65m2hez6h60iwa1"; // 云智能网的ID
+
+ try {
+ ListCsnBpLimitByCsnIdResponse listCsnBpLimitByCsnIdResponse = csnClient.listCsnBpLimitByCsnId(csnId);
+ System.out.println("listCsnBpLimitByCsnIdResponse = " + listCsnBpLimitByCsnIdResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListInstance.java b/src/main/java/com/baidubce/examples/csn/ExampleListInstance.java
new file mode 100644
index 00000000..8124937c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListInstance.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListInstanceResponse;
+
+public class ExampleListInstance {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String testCsnId = "csn-b65m2hez6h60iwa1";
+ String marker = ""; // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ Integer maxKeys = 10; // 每页包含的最大数量,最大数量不超过1000,缺省值为1000
+
+ try {
+ ListInstanceResponse listInstanceResponse = csnClient.listInstance(testCsnId, marker, maxKeys);
+ System.out.println("listInstanceResponse = " + listInstanceResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListPropagation.java b/src/main/java/com/baidubce/examples/csn/ExampleListPropagation.java
new file mode 100644
index 00000000..07a24d45
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListPropagation.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListPropagationResponse;
+
+public class ExampleListPropagation {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-bhnis7ubpgnmyk5f"; // 云智能网路由表的ID
+
+ try {
+ ListPropagationResponse response = csnClient.listPropagation(csnRtId);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListRouteRule.java b/src/main/java/com/baidubce/examples/csn/ExampleListRouteRule.java
new file mode 100644
index 00000000..2e65ef22
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListRouteRule.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListRouteRuleResponse;
+
+public class ExampleListRouteRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnRtId = "csnRt-bhnis7ubpgnmyk5f"; // 云智能网路由表的ID
+ String marker = ""; // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ Integer maxKeys = 10; // 每页包含的最大数量,最大数量不超过1000,缺省值为1000
+
+ try {
+ ListRouteRuleResponse response = csnClient.listRouteRule(csnRtId, marker, maxKeys);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListRouteTable.java b/src/main/java/com/baidubce/examples/csn/ExampleListRouteTable.java
new file mode 100644
index 00000000..3043b8f1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListRouteTable.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListRouteTableResponse;
+
+public class ExampleListRouteTable {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnId = "csn-2qi3430b3vqbcfgd"; // 云智能网的ID
+ String marker = ""; // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ Integer maxKeys = 10; // 每页包含的最大数量,最大数量不超过1000,缺省值为1000
+
+ try {
+ ListRouteTableResponse response = csnClient.listRouteTable(csnId, marker, maxKeys);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListTgw.java b/src/main/java/com/baidubce/examples/csn/ExampleListTgw.java
new file mode 100644
index 00000000..101d04ac
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListTgw.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListTgwResponse;
+
+public class ExampleListTgw {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnId = "csn-2qi3430b3vqbcfgd"; // 云智能网的ID
+ String marker = ""; // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ Integer maxKeys = 10; // 每页包含的最大数量,最大数量不超过1000,缺省值为1000
+
+ try {
+ ListTgwResponse response = csnClient.listTgw(csnId, marker, maxKeys);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleListTgwRule.java b/src/main/java/com/baidubce/examples/csn/ExampleListTgwRule.java
new file mode 100644
index 00000000..d6b2cd63
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleListTgwRule.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ListTgwRuleResponse;
+
+public class ExampleListTgwRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnId = "csn-2qi3430b3vqbcfgd"; // 云智能网的ID
+ String tgwId = "tgw-5yvyjar8bi32dwru"; // TGW的ID
+ String marker = ""; // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ Integer maxKeys = 10; // 每页包含的最大数量,最大数量不超过1000,缺省值为1000
+
+ try {
+ ListTgwRuleResponse response = csnClient.listTgwRule(csnId, tgwId, marker, maxKeys);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleResizeCsnBp.java b/src/main/java/com/baidubce/examples/csn/ExampleResizeCsnBp.java
new file mode 100644
index 00000000..4ac75dd2
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleResizeCsnBp.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.ResizeCsnBpRequest;
+
+import java.util.UUID;
+
+public class ExampleResizeCsnBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-jm5sb75yz4j8"; // 带宽包的ID
+ ResizeCsnBpRequest resizeCsnBpRequest = ResizeCsnBpRequest.builder()
+ .bandwidth(50) // 升降级的带宽值,最大值为10000
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.resizeCsnBp(csnBpId, resizeCsnBpRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleUnbindCsnBp.java b/src/main/java/com/baidubce/examples/csn/ExampleUnbindCsnBp.java
new file mode 100644
index 00000000..dd5f4475
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleUnbindCsnBp.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.UnbindCsnBpRequest;
+
+import java.util.UUID;
+
+public class ExampleUnbindCsnBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-jm5sb75yz4j8"; // 带宽包的ID
+ UnbindCsnBpRequest unbindCsnBpRequest = UnbindCsnBpRequest.builder()
+ .csnId("csn-b65m2hez6h60iwa1") // 云智能网ID
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.unbindCsnBp(csnBpId, unbindCsnBpRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsn.java b/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsn.java
new file mode 100644
index 00000000..43dc11c1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsn.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.csn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.UpdateCsnRequest;
+
+public class ExampleUpdateCsn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ UpdateCsnRequest request = new UpdateCsnRequest();
+ request.setName("javaSdkTest"); // 云智能网的名称
+ request.setDescription("java sdk test"); // 云智能网的描述
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+ String csnId = "csn-2jssjbhvyd8v1gxn"; // 云智能网ID
+
+ try {
+ csnClient.updateCsn(csnId, request, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsnBp.java b/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsnBp.java
new file mode 100644
index 00000000..f8ca9818
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsnBp.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.UpdateCsnBpRequest;
+
+import java.util.UUID;
+
+public class ExampleUpdateCsnBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-0wehdvzn9hid"; // 带宽包的ID
+ UpdateCsnBpRequest updateCsnBpRequest = UpdateCsnBpRequest.builder()
+ .name("updateNameCsnBpTest") // 带宽包名称
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.updateCsnBp(csnBpId, updateCsnBpRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsnBpLimit.java b/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsnBpLimit.java
new file mode 100644
index 00000000..f342e064
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleUpdateCsnBpLimit.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.UpdateCsnBpLimitRequest;
+
+import java.util.UUID;
+
+public class ExampleUpdateCsnBpLimit {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnBpId = "csnBp-jm5sb75yz4j8"; // 带宽包的ID
+ UpdateCsnBpLimitRequest updateCsnBpLimitRequest = UpdateCsnBpLimitRequest.builder()
+ .localRegion("bj") // 地域带宽的本端region,该值不能改变
+ .peerRegion("gz") // 地域带宽的对端region,该值不能改变
+ .bandwidth(15) // 更新的地域带宽的带宽值
+ .build();
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.updateCsnBpLimit(csnBpId, updateCsnBpLimitRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/csn/ExampleUpdateTgw.java b/src/main/java/com/baidubce/examples/csn/ExampleUpdateTgw.java
new file mode 100644
index 00000000..17035dd8
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/csn/ExampleUpdateTgw.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.csn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.csn.CsnClient;
+import com.baidubce.services.csn.model.UpdateTgwRequest;
+
+public class ExampleUpdateTgw {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "csn.baidubce.com"; // CSN服务对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ CsnClient csnClient = new CsnClient(config); // 初始化CsnClient
+
+ String csnId = "csn-2qi3430b3vqbcfgd"; // 云智能网的ID
+ String tgwId = "tgw-5yvyjar8bi32dwru"; // TGW实例的ID
+ UpdateTgwRequest updateTgwRequest = new UpdateTgwRequest();
+ updateTgwRequest.setName("tgw_1"); // TGW的名称
+ updateTgwRequest.setDescription("desc"); // TGW的描述信息
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+
+ try {
+ csnClient.updateTgw(csnId, tgwId, updateTgwRequest, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleAddLineGroup.java b/src/main/java/com/baidubce/examples/dns/ExampleAddLineGroup.java
new file mode 100644
index 00000000..454f5b90
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleAddLineGroup.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.AddLineGroupRequest;
+
+import java.util.Arrays;
+
+public class ExampleAddLineGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ AddLineGroupRequest request = new AddLineGroupRequest();
+ request.setName("ccqLine"); // 线路组名称
+ request.setLines(Arrays.asList("yunnan.ct", "henan.ct")); // 解析线路
+
+
+ try {
+ dnsClient.addLineGroup(request, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleAddRecordOnZone.java b/src/main/java/com/baidubce/examples/dns/ExampleAddRecordOnZone.java
new file mode 100644
index 00000000..a511f5ed
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleAddRecordOnZone.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.CreateRecordRequest;
+
+public class ExampleAddRecordOnZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String zoneName = "javaSdk.com"; // 域名名称
+ CreateRecordRequest request = new CreateRecordRequest();
+ request.setRr("www"); // 主机记录
+ request.setType("A"); // 解析记录类型
+ request.setValue("1.1.1.1"); // 记录值
+
+ try {
+ dnsClient.createRecord(zoneName, request, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleCreatePaidZone.java b/src/main/java/com/baidubce/examples/dns/ExampleCreatePaidZone.java
new file mode 100644
index 00000000..2165355c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleCreatePaidZone.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.CreatePaidZoneRequest;
+
+import java.util.Arrays;
+
+public class ExampleCreatePaidZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ CreatePaidZoneRequest request = new CreatePaidZoneRequest();
+ CreatePaidZoneRequest.Billing billing = new CreatePaidZoneRequest.Billing();
+ billing.setPaymentTiming("Prepaid"); // 计费方式,预付费
+ CreatePaidZoneRequest.Billing.Reservation reservation = new CreatePaidZoneRequest.Billing.Reservation();
+ reservation.setReservationLength(1); // 计费时长
+ billing.setReservation(reservation);
+ request.setNames(Arrays.asList("javaSdkPaid.com")); // 域名名称
+ request.setBilling(billing);
+ request.setProductVersion("discount"); // 购买的产品版本,普惠版(“discount”)、企业版(“flagship”)
+
+ try {
+ dnsClient.createPaidZone(request, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleCreateZone.java b/src/main/java/com/baidubce/examples/dns/ExampleCreateZone.java
new file mode 100644
index 00000000..e3011d6e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleCreateZone.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.CreateZoneRequest;
+
+public class ExampleCreateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ CreateZoneRequest request = new CreateZoneRequest();
+ request.setName("javaSdk.com"); // 域名名称
+
+ try {
+ dnsClient.createZone(request, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleDeleteLineGroup.java b/src/main/java/com/baidubce/examples/dns/ExampleDeleteLineGroup.java
new file mode 100644
index 00000000..09cd231a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleDeleteLineGroup.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+
+public class ExampleDeleteLineGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String lineId = "6166"; // 线路的id
+
+ try {
+ dnsClient.deleteLineGroup(lineId, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleDeleteRecordOfZone.java b/src/main/java/com/baidubce/examples/dns/ExampleDeleteRecordOfZone.java
new file mode 100644
index 00000000..76653db2
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleDeleteRecordOfZone.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+
+public class ExampleDeleteRecordOfZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String zoneName = "javaSdk.com"; // 域名名称
+ String recordId = "48554"; // 记录的id
+
+ try {
+ dnsClient.deleteRecord(zoneName, recordId, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleDeleteZone.java b/src/main/java/com/baidubce/examples/dns/ExampleDeleteZone.java
new file mode 100644
index 00000000..4242bf7c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleDeleteZone.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+
+public class ExampleDeleteZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String zoneName = "javasdk.com"; // 域名名称
+
+ try {
+ dnsClient.deleteZone(zoneName, null);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleDisableRecordOfZone.java b/src/main/java/com/baidubce/examples/dns/ExampleDisableRecordOfZone.java
new file mode 100644
index 00000000..d27d7eb0
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleDisableRecordOfZone.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+
+public class ExampleDisableRecordOfZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String zoneName = "javaSdk.com"; // 域名名称
+ String recordId = "48554"; // 记录的id
+
+ try {
+ dnsClient.updateRecordDisable(zoneName, recordId, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleEnableRecordOfZone.java b/src/main/java/com/baidubce/examples/dns/ExampleEnableRecordOfZone.java
new file mode 100644
index 00000000..f24111d4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleEnableRecordOfZone.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+
+public class ExampleEnableRecordOfZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String zoneName = "javaSdk.com"; // 域名名称
+ String recordId = "48554"; // 记录的id
+
+ try {
+ dnsClient.updateRecordEnable(zoneName, recordId, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleListLineGroup.java b/src/main/java/com/baidubce/examples/dns/ExampleListLineGroup.java
new file mode 100644
index 00000000..2dca8544
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleListLineGroup.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.ListLineGroupResponse;
+
+public class ExampleListLineGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ try {
+ ListLineGroupResponse response = dnsClient.listLineGroup("", 10);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleListRecordOfZone.java b/src/main/java/com/baidubce/examples/dns/ExampleListRecordOfZone.java
new file mode 100644
index 00000000..53f5ef54
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleListRecordOfZone.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.ListRecordResponse;
+
+public class ExampleListRecordOfZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String zoneName = "javaSdk.com"; // 域名名称
+
+ try {
+ ListRecordResponse response = dnsClient.listRecord(zoneName, "", "", "", 10);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleListZone.java b/src/main/java/com/baidubce/examples/dns/ExampleListZone.java
new file mode 100644
index 00000000..b4487294
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleListZone.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.ListZoneResponse;
+
+public class ExampleListZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ try {
+ ListZoneResponse response = dnsClient.listZone("", "", 100);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleRenewZone.java b/src/main/java/com/baidubce/examples/dns/ExampleRenewZone.java
new file mode 100644
index 00000000..80ef01cb
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleRenewZone.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.RenewZoneRequest;
+
+public class ExampleRenewZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String zoneName = "javaSdk.com"; // 域名名称
+ RenewZoneRequest request = new RenewZoneRequest();
+ RenewZoneRequest.Billing billing = new RenewZoneRequest.Billing();
+ RenewZoneRequest.Billing.Reservation reservation = new RenewZoneRequest.Billing.Reservation();
+ reservation.setReservationLength(1); // 续费时长
+ billing.setReservation(reservation);
+ request.setBilling(billing);
+
+ try {
+ dnsClient.renewZone(zoneName, request, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleUpdateLineGroup.java b/src/main/java/com/baidubce/examples/dns/ExampleUpdateLineGroup.java
new file mode 100644
index 00000000..770bdb5c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleUpdateLineGroup.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.UpdateLineGroupRequest;
+
+import java.util.Arrays;
+
+public class ExampleUpdateLineGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String lineId = "6166"; // 线路的id
+ UpdateLineGroupRequest request = new UpdateLineGroupRequest();
+ request.setName("ccqLine1"); // 线路组名称
+ request.setLines(Arrays.asList("yunnan.ct")); // 解析线路
+
+ try {
+ dnsClient.updateLineGroup(lineId, request, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleUpdateRecordOfZone.java b/src/main/java/com/baidubce/examples/dns/ExampleUpdateRecordOfZone.java
new file mode 100644
index 00000000..ebfe0b65
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleUpdateRecordOfZone.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.UpdateRecordRequest;
+
+public class ExampleUpdateRecordOfZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ String zoneName = "javaSdk.com"; // 域名名称
+ String recordId = "48554"; // 记录的id
+ UpdateRecordRequest request = new UpdateRecordRequest();
+ request.setRr("www"); // 主机记录
+ request.setType("A"); // 解析记录类型
+ request.setValue("1.1.1.2"); // 记录值
+
+ try {
+ dnsClient.updateRecord(zoneName, recordId, request, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/dns/ExampleUpgradeZone.java b/src/main/java/com/baidubce/examples/dns/ExampleUpgradeZone.java
new file mode 100644
index 00000000..a7326c37
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/dns/ExampleUpgradeZone.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.dns;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.dns.DnsClient;
+import com.baidubce.services.dns.model.UpgradeZoneRequest;
+
+import java.util.Arrays;
+
+public class ExampleUpgradeZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "dns.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ DnsClient dnsClient = new DnsClient(config); // 初始化DnsClient
+
+ UpgradeZoneRequest request = new UpgradeZoneRequest();
+ UpgradeZoneRequest.Billing billing = new UpgradeZoneRequest.Billing();
+ billing.setPaymentTiming("Prepaid"); // 计费方式,预付费
+ UpgradeZoneRequest.Billing.Reservation reservation = new UpgradeZoneRequest.Billing.Reservation();
+ reservation.setReservationLength(1); // 计费时长
+ billing.setReservation(reservation);
+ request.setNames(Arrays.asList("javaSdk.com")); // 域名名称
+ request.setBilling(billing);
+
+ try {
+ dnsClient.upgradeZone(request, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleAutoRenewEip.java b/src/main/java/com/baidubce/examples/eip/ExampleAutoRenewEip.java
new file mode 100644
index 00000000..c32d598c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleAutoRenewEip.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.AutoRenewEipRequest;
+
+public class ExampleAutoRenewEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ AutoRenewEipRequest request = new AutoRenewEipRequest();
+ request.setEip("100.88.11.128"); // eip地址
+ request.setAutoRenewTimeUnit("month"); // 自动续费时间单位
+ request.setAutoRenewTime(1); // 自动续费时长
+
+ try {
+ eipClient.startAutoRenew(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleBindEip.java b/src/main/java/com/baidubce/examples/eip/ExampleBindEip.java
new file mode 100644
index 00000000..7ad6b22f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleBindEip.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.BindEipRequest;
+
+public class ExampleBindEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ BindEipRequest request = new BindEipRequest();
+ request.setEip("10.107.245.97"); // eip地址
+ request.setInstanceId("i-VPKFiIGz"); // eip要绑定的实例id
+ request.setInstanceIp("192.169.0.9"); // eip要绑定的实例中的ip,可选字段,如绑定BCC主网卡中辅助ip或者ipv6可以用这个
+ request.setInstanceType("BCC"); // eip要绑定的实例类型
+
+ try {
+ eipClient.bindEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleCreateEip.java b/src/main/java/com/baidubce/examples/eip/ExampleCreateEip.java
new file mode 100644
index 00000000..668728c9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleCreateEip.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.eip.model.CreateEipRequest;
+import com.baidubce.services.eip.model.CreateEipResponse;
+import com.google.common.collect.Lists;
+
+public class ExampleCreateEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ CreateEipRequest request = new CreateEipRequest();
+ request.setBandwidthInMbps(1); // eip带宽
+ request.setName("cdhTest"); // eip名称
+ Billing billing = new Billing();
+ billing.setPaymentTiming("postpaid"); // eip计费方式。预付费或后付费
+ billing.setBillingMethod("ByBandwidth"); // eip后付费具体计费方案
+ request.setBilling(billing);
+
+ request.setResourceGroupId("RESG-J7PdULjguvB"); // eip要绑定的资源组
+
+ TagModel tagModel = new TagModel();
+ tagModel.setTagKey("tagK");
+ tagModel.setTagValue("tagV");
+ request.setTags(Lists.newArrayList(tagModel)); // eip要绑定的标签
+
+ try {
+ CreateEipResponse response = eipClient.createEip(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleDirectEip.java b/src/main/java/com/baidubce/examples/eip/ExampleDirectEip.java
new file mode 100644
index 00000000..bba8c3c6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleDirectEip.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.DirectEipRequest;
+
+public class ExampleDirectEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ DirectEipRequest request = new DirectEipRequest();
+ request.setEip("100.88.11.128"); // eip地址
+
+ try {
+ eipClient.directEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleListEip.java b/src/main/java/com/baidubce/examples/eip/ExampleListEip.java
new file mode 100644
index 00000000..2af38100
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleListEip.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.ListEipsRequest;
+import com.baidubce.services.eip.model.ListEipsResponse;
+
+public class ExampleListEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ ListEipsRequest request = new ListEipsRequest();
+ try {
+ ListEipsResponse response = eipClient.listEips(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleListRecycleEips.java b/src/main/java/com/baidubce/examples/eip/ExampleListRecycleEips.java
new file mode 100644
index 00000000..31cc7124
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleListRecycleEips.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.ListRecycleEipsRequest;
+import com.baidubce.services.eip.model.ListRecycleEipsResponse;
+
+public class ExampleListRecycleEips {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ ListRecycleEipsRequest request = new ListRecycleEipsRequest();
+ try {
+ ListRecycleEipsResponse response = eipClient.listRecycleEips(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleOptionalReleaseEip.java b/src/main/java/com/baidubce/examples/eip/ExampleOptionalReleaseEip.java
new file mode 100644
index 00000000..94e0fb66
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleOptionalReleaseEip.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.OptionalReleaseEipRequest;
+
+public class ExampleOptionalReleaseEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ OptionalReleaseEipRequest request = new OptionalReleaseEipRequest();
+ request.setEip("100.88.7.75"); // eip地址
+ request.setReleaseToRecycle(true);
+ try {
+ eipClient.optionalReleaseEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleReleaseEip.java b/src/main/java/com/baidubce/examples/eip/ExampleReleaseEip.java
new file mode 100644
index 00000000..9c532a78
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleReleaseEip.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.OptionalReleaseEipRequest;
+import com.baidubce.services.eip.model.ReleaseEipRequest;
+
+public class ExampleReleaseEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ ReleaseEipRequest request = new ReleaseEipRequest();
+ request.setEip("10.107.245.112"); // eip地址
+
+ try {
+ // 直接删除eip
+ eipClient.releaseEip(request);
+
+ // 将eip移入回收站
+ OptionalReleaseEipRequest releaseEipRequest = new OptionalReleaseEipRequest();
+ releaseEipRequest.setEip("106.13.244.190"); // eip地址
+ releaseEipRequest.setReleaseToRecycle(true); // true:将eip移入回收站;false:直接删除eip
+ eipClient.optionalReleaseEip(releaseEipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleReleaseEipFromRecycle.java b/src/main/java/com/baidubce/examples/eip/ExampleReleaseEipFromRecycle.java
new file mode 100644
index 00000000..3cd3dc9c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleReleaseEipFromRecycle.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.RecycleOperateEipRequest;
+
+public class ExampleReleaseEipFromRecycle {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ RecycleOperateEipRequest request = new RecycleOperateEipRequest();
+ request.setEip("100.88.7.75"); // eip地址
+ try {
+ eipClient.releaseEipFromRecycle(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleRenewEip.java b/src/main/java/com/baidubce/examples/eip/ExampleRenewEip.java
new file mode 100644
index 00000000..3139a65f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleRenewEip.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.eip.model.PurchaseReservedEipRequest;
+
+public class ExampleRenewEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ PurchaseReservedEipRequest request = new PurchaseReservedEipRequest();
+ request.setEip("10.107.245.97"); // eip地址
+ Billing billing = new Billing();
+ Billing.Reservation reservation = new Billing.Reservation();
+ reservation.setReservationLength(1); // eip续费时长
+ reservation.setReservationTimeUnit("Month"); // eip续费时间单位
+ billing.setReservation(reservation);
+ try {
+ eipClient.purchaseReservedEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleResizeEip.java b/src/main/java/com/baidubce/examples/eip/ExampleResizeEip.java
new file mode 100644
index 00000000..b12f58df
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleResizeEip.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.ResizeEipRequest;
+
+public class ExampleResizeEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ ResizeEipRequest request = new ResizeEipRequest();
+ request.setEip("10.107.245.112"); // eip地址
+ request.setNewBandwidthInMbps(2); // eip要变配的带宽
+
+ try {
+ eipClient.resizeEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleRestoreEipFromRecycle.java b/src/main/java/com/baidubce/examples/eip/ExampleRestoreEipFromRecycle.java
new file mode 100644
index 00000000..a3373670
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleRestoreEipFromRecycle.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.RecycleOperateEipRequest;
+
+public class ExampleRestoreEipFromRecycle {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ RecycleOperateEipRequest request = new RecycleOperateEipRequest();
+ request.setEip("100.88.7.75"); // eip地址
+ try {
+ eipClient.restoreEipFromRecycle(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleStopAutoRenewEip.java b/src/main/java/com/baidubce/examples/eip/ExampleStopAutoRenewEip.java
new file mode 100644
index 00000000..bcfe453b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleStopAutoRenewEip.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.StopAutoRenewEipRequest;
+
+public class ExampleStopAutoRenewEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ StopAutoRenewEipRequest request = new StopAutoRenewEipRequest();
+ request.setEip("100.88.11.128"); // eip地址
+
+ try {
+ eipClient.stopAutoRenew(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleUnBindEip.java b/src/main/java/com/baidubce/examples/eip/ExampleUnBindEip.java
new file mode 100644
index 00000000..01e5f43f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleUnBindEip.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.UnbindEipRequest;
+
+public class ExampleUnBindEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ UnbindEipRequest request = new UnbindEipRequest();
+ request.setEip("10.107.245.97"); // eip地址
+
+ try {
+ eipClient.unbindEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eip/ExampleUnDirectEip.java b/src/main/java/com/baidubce/examples/eip/ExampleUnDirectEip.java
new file mode 100644
index 00000000..965056ed
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eip/ExampleUnDirectEip.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eip;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.EipClient;
+import com.baidubce.services.eip.model.DirectEipRequest;
+
+public class ExampleUnDirectEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipClient eipClient = new EipClient(config); // 初始化EipClient
+
+ DirectEipRequest request = new DirectEipRequest();
+ request.setEip("100.88.11.128"); // eip地址
+
+ try {
+ eipClient.unDirectEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipbp/ExampleCreateEipBp.java b/src/main/java/com/baidubce/examples/eipbp/ExampleCreateEipBp.java
new file mode 100644
index 00000000..a29ea471
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipbp/ExampleCreateEipBp.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipbp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.eipbp.EipBpClient;
+import com.baidubce.services.eipbp.model.CreateEipBpRequest;
+import com.baidubce.services.eipbp.model.CreateEipBpResponse;
+import com.google.common.collect.Lists;
+
+public class ExampleCreateEipBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipBpClient eipBpClient = new EipBpClient(config); // 初始化EipBpClient
+
+ CreateEipBpRequest request = new CreateEipBpRequest();
+ request.setEip("192.168.4.252"); // 带宽包要绑定的eip实例的ip地址
+ request.setBandwidthInMbps(10); // 带宽包带宽值
+ request.setName("test"); // 带宽包名称
+ request.setResourceGroupId("RESG-J7PdULjguvB"); // 带宽包要绑定的资源组
+
+ TagModel tagModel = new TagModel();
+ tagModel.setTagKey("tagK");
+ tagModel.setTagValue("tagV");
+ request.setTags(Lists.newArrayList(tagModel)); // 带宽包要绑定的标签
+
+ try {
+ CreateEipBpResponse response = eipBpClient.createEipBp(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipbp/ExampleGetEipBpDetail.java b/src/main/java/com/baidubce/examples/eipbp/ExampleGetEipBpDetail.java
new file mode 100644
index 00000000..30b216f1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipbp/ExampleGetEipBpDetail.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipbp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipbp.EipBpClient;
+import com.baidubce.services.eipbp.model.EipBpDetailResponse;
+import com.baidubce.services.eipbp.model.GetEipBpRequest;
+
+public class ExampleGetEipBpDetail {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipBpClient eipBpClient = new EipBpClient(config); // 初始化EipBpClient
+
+ GetEipBpRequest request = new GetEipBpRequest();
+ request.setId("bw-2ede9df3"); // 带宽包id
+
+ try {
+ EipBpDetailResponse eipBpDetailResponse = eipBpClient.getEipBpDetail(request);
+ System.out.println(eipBpDetailResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eipbp/ExampleListEipBps.java b/src/main/java/com/baidubce/examples/eipbp/ExampleListEipBps.java
new file mode 100644
index 00000000..9ead8764
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipbp/ExampleListEipBps.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipbp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipbp.EipBpClient;
+import com.baidubce.services.eipbp.model.ListEipBpsRequest;
+import com.baidubce.services.eipbp.model.ListEipBpsResponse;
+
+public class ExampleListEipBps {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipBpClient eipBpClient = new EipBpClient(config); // 初始化EipBpClient
+
+ ListEipBpsRequest request = new ListEipBpsRequest();
+ request.setId("bw-2ede9df3"); // 要查询的带宽包id
+ request.setName("test-name"); // 要查询的带宽包名称
+ request.setBindType("eip"); // 要查询的带宽包所绑定的资源的类型,"eip"(弹性公网EIP)或"eipgroup"(共享带宽)
+ request.setType("BandwidthPackage"); // 带宽包的类型,包括BandwidthPackage(带宽包)和AccelerationPackage(跨境加速包),默认全选
+ request.setMarker("bw-IyWRnII7"); // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ request.setMaxKeys(10); // 每页包含的最大数量,最大数量不超过1000。缺省值为1000
+
+ try {
+ ListEipBpsResponse listEipBpsResponse = eipBpClient.listEipBps(request);
+ System.out.println(listEipBpsResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eipbp/ExampleReleaseEipBp.java b/src/main/java/com/baidubce/examples/eipbp/ExampleReleaseEipBp.java
new file mode 100644
index 00000000..b2c45c12
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipbp/ExampleReleaseEipBp.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipbp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipbp.EipBpClient;
+import com.baidubce.services.eipbp.model.ReleaseEipBpRequest;
+
+public class ExampleReleaseEipBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipBpClient eipBpClient = new EipBpClient(config); // 初始化EipBpClient
+
+ ReleaseEipBpRequest request = new ReleaseEipBpRequest();
+ request.setId("bw-2ede9df3"); // 带宽包id
+
+ try {
+ eipBpClient.releaseEipBp(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eipbp/ExampleRenameEipBp.java b/src/main/java/com/baidubce/examples/eipbp/ExampleRenameEipBp.java
new file mode 100644
index 00000000..ee417396
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipbp/ExampleRenameEipBp.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipbp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipbp.EipBpClient;
+import com.baidubce.services.eipbp.model.UpdateEipBpNameRequest;
+
+public class ExampleRenameEipBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipBpClient eipBpClient = new EipBpClient(config); // 初始化EipBpClient
+
+ UpdateEipBpNameRequest request = new UpdateEipBpNameRequest();
+ request.setId("bw-2ede9df3"); // 带宽包id
+ request.setName("newname"); // 更新后带宽包的名称
+
+ try {
+ eipBpClient.renameEipBp(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eipbp/ExampleResizeEipBp.java b/src/main/java/com/baidubce/examples/eipbp/ExampleResizeEipBp.java
new file mode 100644
index 00000000..2bc487ca
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipbp/ExampleResizeEipBp.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipbp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipbp.EipBpClient;
+import com.baidubce.services.eipbp.model.ResizeEipBpRequest;
+
+public class ExampleResizeEipBp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipBpClient eipBpClient = new EipBpClient(config); // 初始化EipBpClient
+
+ ResizeEipBpRequest request = new ResizeEipBpRequest();
+ request.setId("bw-2ede9df3"); // 带宽包实例id
+ request.setBandwidthInMbps(20); // 带宽包要变配的带宽值
+
+ try {
+ eipBpClient.resizeEipBp(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipbp/ExampleUpdateEipBpAutoReleaseTime.java b/src/main/java/com/baidubce/examples/eipbp/ExampleUpdateEipBpAutoReleaseTime.java
new file mode 100644
index 00000000..dcc5a52b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipbp/ExampleUpdateEipBpAutoReleaseTime.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipbp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipbp.EipBpClient;
+import com.baidubce.services.eipbp.model.UpdateEipBpAutoReleaseTimeRequest;
+
+public class ExampleUpdateEipBpAutoReleaseTime {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipBpClient eipBpClient = new EipBpClient(config); // 初始化EipBpClient
+
+ UpdateEipBpAutoReleaseTimeRequest request = new UpdateEipBpAutoReleaseTimeRequest();
+ request.setId("bw-2ede9df3"); // 带宽包id
+ request.setAutoReleaseTime("2020-07-23T12:00:00Z"); // 更新后带宽包的自动释放时间
+
+ try {
+ eipBpClient.updateAutoReleaseTime(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleCreateEipGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleCreateEipGroup.java
new file mode 100644
index 00000000..51c2b8e8
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleCreateEipGroup.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.CreateEipGroupRequest;
+import com.baidubce.services.eipgroup.model.IdResponse;
+import com.google.common.collect.Lists;
+
+public class ExampleCreateEipGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ CreateEipGroupRequest request = new CreateEipGroupRequest();
+ Billing.Reservation reservation = new Billing.Reservation();
+ reservation.setReservationLength(1); // eipGroup购买时长
+ reservation.setReservationTimeUnit("Month"); // eipGroup购买时间单位
+ Billing billing = new Billing();
+ billing.setPaymentTiming("Prepaid"); // eipGroup购买计费方式,预付费或后付费
+ billing.setReservation(reservation);
+ request.setBilling(billing);
+ request.setName("EipGroupTest"); // eipGroup的名称
+ request.setEipCount(2); // eipGroup内ip数量
+ request.setBandwidthInMbps(10); // eipGroup的带宽
+ request.setResourceGroupId("RESG-J7PdULjguvB"); // eipGroup要绑定的资源组
+
+ TagModel tagModel = new TagModel();
+ tagModel.setTagKey("tagK");
+ tagModel.setTagValue("tagV");
+ request.setTags(Lists.newArrayList(tagModel)); // eipGroup要绑定的标签
+
+ try {
+ IdResponse response = eipGroupClient.createEipGroup(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleDetailEipGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleDetailEipGroup.java
new file mode 100644
index 00000000..f46d219e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleDetailEipGroup.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.GetEipGroupRequest;
+import com.baidubce.services.eipgroup.model.GetEipGroupResponse;
+
+public class ExampleDetailEipGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ GetEipGroupRequest request = new GetEipGroupRequest();
+ request.setId("eg-7e358ead"); // eipgroup实例id
+
+ try {
+ GetEipGroupResponse response = eipGroupClient.getEipGroup(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleListEipGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleListEipGroup.java
new file mode 100644
index 00000000..ebaae354
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleListEipGroup.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.ListEipGroupRequest;
+import com.baidubce.services.eipgroup.model.ListEipGroupResponse;
+
+public class ExampleListEipGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ ListEipGroupRequest request = new ListEipGroupRequest();
+
+ try {
+ ListEipGroupResponse response = eipGroupClient.listEipGroup(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleMoveEipIntoGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleMoveEipIntoGroup.java
new file mode 100644
index 00000000..b2982e67
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleMoveEipIntoGroup.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.MoveInRequest;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class ExampleMoveEipIntoGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ MoveInRequest request = new MoveInRequest();
+ request.setId("eg-8yxeMV47"); // eipgroup实例id
+ List eips = Arrays.asList("100.88.9.177"); // 要移入的eip的ip地址
+ request.setEips(eips);
+ try {
+ eipGroupClient.moveInEips(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleMoveOutEipFromGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleMoveOutEipFromGroup.java
new file mode 100644
index 00000000..0366b91a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleMoveOutEipFromGroup.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.MoveOutRequest;
+
+import java.util.Arrays;
+
+public class ExampleMoveOutEipFromGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ MoveOutRequest request = new MoveOutRequest();
+ request.setId("eg-8yxeMV47"); // eipgroup的实例id
+ MoveOutRequest.EipMoveOutModel moveOutModel = new MoveOutRequest.EipMoveOutModel();
+ moveOutModel.setEip("100.88.9.177"); // 要移出的eip地址
+ moveOutModel.setBandwidthInMbps(100); // 要移出的eip带宽
+ Billing billing = new Billing();
+ billing.setPaymentTiming("Postpaid"); // 要移出的eip指定为后付费
+ billing.setBillingMethod("ByTraffic"); // 要移出的eip指定为按流量计费
+ moveOutModel.setBilling(billing);
+ request.setMoveOutEips(Arrays.asList(moveOutModel));
+ try {
+ eipGroupClient.moveOutEips(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleReleaseEipGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleReleaseEipGroup.java
new file mode 100644
index 00000000..4c2974e2
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleReleaseEipGroup.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.EipGroupOperateRequest;
+
+public class ExampleReleaseEipGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ EipGroupOperateRequest request = new EipGroupOperateRequest();
+ request.setId("eg-aXT5LIDG"); // eipgroup的实例id
+ try {
+ eipGroupClient.releaseEipGroup(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleRenameEipGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleRenameEipGroup.java
new file mode 100644
index 00000000..5e9a1919
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleRenameEipGroup.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.EipNameRequest;
+
+public class ExampleRenameEipGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ EipNameRequest request = new EipNameRequest();
+ request.setId("eg-7e358ead"); // eipgroup实例id
+ request.setName("updateName"); // eipgroup的新名称
+
+ try {
+ eipGroupClient.update(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleRenewEipGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleRenewEipGroup.java
new file mode 100644
index 00000000..f86f8136
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleRenewEipGroup.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.PurchaseReservedEipGroupRequest;
+
+public class ExampleRenewEipGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ PurchaseReservedEipGroupRequest request = new PurchaseReservedEipGroupRequest();
+ request.setId("eg-7e358ead"); // eipgroup实例id
+ Billing billing = new Billing();
+ Billing.Reservation reservation = new Billing.Reservation();
+ reservation.setReservationLength(1); // eipgroup续费时长
+ reservation.setReservationTimeUnit("Month"); // eipgroup续费时间单位
+ billing.setReservation(reservation);
+ request.setBilling(billing);
+
+ try {
+ eipGroupClient.purchaseReservedEipGroup(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleResizeBandwidthEipGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleResizeBandwidthEipGroup.java
new file mode 100644
index 00000000..b6bb1457
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleResizeBandwidthEipGroup.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.BandwidthInMbpsRequest;
+
+public class ExampleResizeBandwidthEipGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ BandwidthInMbpsRequest request = new BandwidthInMbpsRequest();
+ request.setBandwidthInMbps(20); // eipgroup要变配的带宽值
+ request.setId("eg-7e358ead"); // eipgroup实例id
+
+ try {
+ eipGroupClient.resizeBandwidth(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eipgroup/ExampleResizeIpNumEipGroup.java b/src/main/java/com/baidubce/examples/eipgroup/ExampleResizeIpNumEipGroup.java
new file mode 100644
index 00000000..ab27da2a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eipgroup/ExampleResizeIpNumEipGroup.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eipgroup.EipGroupClient;
+import com.baidubce.services.eipgroup.EipGroupClientConfiguration;
+import com.baidubce.services.eipgroup.model.EipCountRequest;
+
+public class ExampleResizeIpNumEipGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EipGroupClientConfiguration config = new EipGroupClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipGroupClient eipGroupClient = new EipGroupClient(config); // 初始化EipGroupClient
+
+ EipCountRequest request = new EipCountRequest();
+ request.setId("eg-7e358ead"); // eipgroup实例id
+ request.setEipAddCount(2); // eipgroup增加的ip数量
+
+ try {
+ eipGroupClient.addCount(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eiptp/ExampleCreateEipTp.java b/src/main/java/com/baidubce/examples/eiptp/ExampleCreateEipTp.java
new file mode 100644
index 00000000..b87ec245
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eiptp/ExampleCreateEipTp.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eiptp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eiptp.EipTpClient;
+import com.baidubce.services.eiptp.model.CreateEipTpRequest;
+import com.baidubce.services.eiptp.model.CreateEipTpResponse;
+
+public class ExampleCreateEipTp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipTpClient eipTpClient = new EipTpClient(config); // 初始化EipTpClient
+
+ CreateEipTpRequest createEipTpRequest = new CreateEipTpRequest();
+ createEipTpRequest.setReservationLength(1); // 共享流量包有效期(单位:月)
+ createEipTpRequest.setCapacity("10G"); // 共享流量包容量
+
+ try {
+ CreateEipTpResponse response = eipTpClient.createEipTp(createEipTpRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eiptp/ExampleGetEipTpDetail.java b/src/main/java/com/baidubce/examples/eiptp/ExampleGetEipTpDetail.java
new file mode 100644
index 00000000..177fa879
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eiptp/ExampleGetEipTpDetail.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eiptp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eiptp.EipTpClient;
+import com.baidubce.services.eiptp.model.EipTpDetailResponse;
+
+public class ExampleGetEipTpDetail {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipTpClient eipTpClient = new EipTpClient(config); // 初始化EipTpClient
+
+ String eipTpId = "tp-c7pdMpkpbB"; // 共享流量包id
+
+ try {
+ EipTpDetailResponse response = eipTpClient.getEipTpDetail(eipTpId);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eiptp/ExampleListEipTps.java b/src/main/java/com/baidubce/examples/eiptp/ExampleListEipTps.java
new file mode 100644
index 00000000..b7938cb6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eiptp/ExampleListEipTps.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eiptp;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eiptp.EipTpClient;
+import com.baidubce.services.eiptp.model.ListEipTpsRequest;
+import com.baidubce.services.eiptp.model.ListEipTpsResponse;
+
+public class ExampleListEipTps {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "eip.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EipTpClient eipTpClient = new EipTpClient(config); // 初始化EipTpClient
+
+ ListEipTpsRequest listEipTpsRequest = new ListEipTpsRequest();
+ listEipTpsRequest.setMarker(""); // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ listEipTpsRequest.setMaxKeys(10); // 每页包含的最大数量,最大数量不超过1000,缺省值为1000
+
+ try {
+ ListEipTpsResponse response = eipTpClient.listEipTps(listEipTpsRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/endpoint/ExampleCreateEndpoint.java b/src/main/java/com/baidubce/examples/endpoint/ExampleCreateEndpoint.java
new file mode 100644
index 00000000..69ad68b9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/endpoint/ExampleCreateEndpoint.java
@@ -0,0 +1,41 @@
+package com.baidubce.examples.endpoint;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.model.Billing;
+import com.baidubce.services.endpoint.EndpointClient;
+import com.baidubce.services.endpoint.EndpointClientConfiguration;
+import com.baidubce.services.endpoint.model.CreateEndpointRequest;
+import com.baidubce.services.endpoint.model.CreateEndpointResponse;
+
+public class ExampleCreateEndpoint {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EndpointClientConfiguration config = new EndpointClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EndpointClient endpointClient = new EndpointClient(config); // 初始化EndpointClient
+
+ CreateEndpointRequest request = new CreateEndpointRequest();
+ request.setName("sdk-1"); // 服务网卡的名称,大小写字母、数字以及-_/.特殊字符、中文,必须以字母开头,长度1-65
+ request.setVpcId("vpc-va6hhmx62vyp"); // 所属vpc的id
+ request.setSubnetId("sbn-1rmebtrbxxn6"); // 所在子网的id
+ request.setService("www.test.com"); // 挂载的服务域名
+ request.setDescription("sdk create"); // 服务网卡描述
+ request.setIpAddress("192.168.0.1"); // 指定服务网卡ip地址,不传自动分配ip地址
+ Billing billing = new Billing();
+ billing.setPaymentTiming("Postpaid"); // 计费信息
+ request.setBilling(billing);
+ try {
+ CreateEndpointResponse response = endpointClient.createEndpoint(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/endpoint/ExampleDeleteEndpoint.java b/src/main/java/com/baidubce/examples/endpoint/ExampleDeleteEndpoint.java
new file mode 100644
index 00000000..2e96dc52
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/endpoint/ExampleDeleteEndpoint.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.endpoint;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.endpoint.EndpointClient;
+import com.baidubce.services.endpoint.EndpointClientConfiguration;
+import com.baidubce.services.endpoint.model.ReleaseEndpointRequest;
+
+public class ExampleDeleteEndpoint {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EndpointClientConfiguration config = new EndpointClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EndpointClient endpointClient = new EndpointClient(config); // 初始化EndpointClient
+
+ ReleaseEndpointRequest request = new ReleaseEndpointRequest();
+ request.setEndpointId("endpoint-11b09ce6"); // 服务网卡的id
+ try {
+ endpointClient.releaseEndpoint(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/endpoint/ExampleGetEndpoint.java b/src/main/java/com/baidubce/examples/endpoint/ExampleGetEndpoint.java
new file mode 100644
index 00000000..2ec680df
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/endpoint/ExampleGetEndpoint.java
@@ -0,0 +1,26 @@
+package com.baidubce.examples.endpoint;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.endpoint.EndpointClient;
+import com.baidubce.services.endpoint.EndpointClientConfiguration;
+
+public class ExampleGetEndpoint {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EndpointClientConfiguration config = new EndpointClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EndpointClient endpointClient = new EndpointClient(config); // 初始化EndpointClient
+
+ try {
+ endpointClient.getEndpoint("endpoint-11b09ce6"); // 服务网卡的id
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/endpoint/ExampleGetPublicServices.java b/src/main/java/com/baidubce/examples/endpoint/ExampleGetPublicServices.java
new file mode 100644
index 00000000..64d057da
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/endpoint/ExampleGetPublicServices.java
@@ -0,0 +1,28 @@
+package com.baidubce.examples.endpoint;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.endpoint.EndpointClient;
+import com.baidubce.services.endpoint.EndpointClientConfiguration;
+import com.baidubce.services.endpoint.model.ServiceResponse;
+
+public class ExampleGetPublicServices {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EndpointClientConfiguration config = new EndpointClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EndpointClient endpointClient = new EndpointClient(config); // 初始化EndpointClient
+
+ try {
+ ServiceResponse serviceResponse = endpointClient.listService(); // 查询可挂载的公共服务
+ System.out.println(serviceResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/endpoint/ExampleListEndpoint.java b/src/main/java/com/baidubce/examples/endpoint/ExampleListEndpoint.java
new file mode 100644
index 00000000..558b8054
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/endpoint/ExampleListEndpoint.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.endpoint;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.endpoint.EndpointClient;
+import com.baidubce.services.endpoint.EndpointClientConfiguration;
+import com.baidubce.services.endpoint.model.ListEndpointRequest;
+import com.baidubce.services.endpoint.model.ListEndpointResponse;
+
+public class ExampleListEndpoint {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EndpointClientConfiguration config = new EndpointClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EndpointClient endpointClient = new EndpointClient(config); // 初始化EndpointClient
+
+ ListEndpointRequest listEndpointRequest = new ListEndpointRequest();
+ listEndpointRequest.setVpcId("vpc-va6hhmx62vyp"); // 服务网卡所属VPC
+ try {
+ ListEndpointResponse listEndpointResponse = endpointClient.listEndpoint(listEndpointRequest);
+ System.out.println(listEndpointResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEndpoint.java b/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEndpoint.java
new file mode 100644
index 00000000..100ac059
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEndpoint.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.endpoint;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.endpoint.EndpointClient;
+import com.baidubce.services.endpoint.EndpointClientConfiguration;
+import com.baidubce.services.endpoint.model.ModifyEndpointRequest;
+
+public class ExampleUpdateEndpoint {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EndpointClientConfiguration config = new EndpointClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EndpointClient endpointClient = new EndpointClient(config); // 初始化EndpointClient
+
+ String endpointId = "endpoint-11b09ce6"; // 服务网卡的id
+ ModifyEndpointRequest request = new ModifyEndpointRequest();
+ request.setEndpointId(endpointId);
+ request.setName("sdk-update-2"); // 服务网卡名称,长度不超过65个字符,可由数字,字符,下划线、中文组成
+ try {
+ endpointClient.modifyEndpoint(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEndpointSecurityGroup.java b/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEndpointSecurityGroup.java
new file mode 100644
index 00000000..5d23cf2a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEndpointSecurityGroup.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.endpoint;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.endpoint.EndpointClient;
+import com.baidubce.services.endpoint.EndpointClientConfiguration;
+import com.baidubce.services.endpoint.model.UpdateSecurityGroups;
+
+public class ExampleUpdateEndpointSecurityGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EndpointClientConfiguration config = new EndpointClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EndpointClient endpointClient = new EndpointClient(config); // 初始化EndpointClient
+
+ UpdateSecurityGroups updateSecurityGroups = new UpdateSecurityGroups();
+ updateSecurityGroups.setEndpointId("endpoint-daa07eb2");
+ updateSecurityGroups.setSecurityGroupIds(Arrays.asList("g-6r0ds9xbxwes"));
+
+ try {
+ endpointClient.updateSecurityGroups(updateSecurityGroups);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEnterpriseSecurityGroup.java b/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEnterpriseSecurityGroup.java
new file mode 100644
index 00000000..dd0188e9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/endpoint/ExampleUpdateEnterpriseSecurityGroup.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.endpoint;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.endpoint.EndpointClient;
+import com.baidubce.services.endpoint.EndpointClientConfiguration;
+import com.baidubce.services.endpoint.model.UpdateEnterpriseSecurityGroups;
+
+public class ExampleUpdateEnterpriseSecurityGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EndpointClientConfiguration config = new EndpointClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EndpointClient endpointClient = new EndpointClient(config); // 初始化EndpointClient
+
+ UpdateEnterpriseSecurityGroups updateSecurityGroups = new UpdateEnterpriseSecurityGroups();
+ updateSecurityGroups.setEndpointId("endpoint-daa07eb2");
+ updateSecurityGroups.setEnterpriseSecurityGroupIds(Arrays.asList("esg-6q04xad5xmh6"));
+
+ try {
+ endpointClient.updateEnterpriseSecurityGroups(updateSecurityGroups);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleCreateEni.java b/src/main/java/com/baidubce/examples/eni/ExampleCreateEni.java
new file mode 100644
index 00000000..aec2768d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleCreateEni.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.CreateEniRequest;
+import com.baidubce.services.eni.model.CreateEniResponse;
+import com.baidubce.services.eni.model.PrivateIp;
+import com.google.common.collect.Lists;
+
+public class ExampleCreateEni {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ CreateEniRequest request = new CreateEniRequest();
+ request.setSubnetId("sbn-6ha6gp1vczuv"); // eni所属的子网Id
+ request.setDescription("desc"); // eni的描述
+ request.setName("testEni"); // eni的名称
+ request.setSecurityGroupIds(Arrays.asList("g-vs94kdqxw078")); // eni的安全组列表
+ request.setNetworkInterfaceTrafficMode("standard");
+ List privateIpSet = Lists.newArrayList(); // Eni的Ip列表
+ PrivateIp ip = new PrivateIp();
+ ip.setPrimary(true); // 设置为主IP
+ ip.setPrivateIpAddress("192.168.0.9"); // eni的内网IP
+ privateIpSet.add(ip);
+
+ request.setPrivateIpSet(privateIpSet);
+ try {
+ CreateEniResponse response = eniClient.createEni(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleDeleteEni.java b/src/main/java/com/baidubce/examples/eni/ExampleDeleteEni.java
new file mode 100644
index 00000000..4e97f311
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleDeleteEni.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+
+public class ExampleDeleteEni {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ try {
+ eniClient.deleteEni("eni-nm4dx9vtnh3p");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniAddPrivateIp.java b/src/main/java/com/baidubce/examples/eni/ExampleEniAddPrivateIp.java
new file mode 100644
index 00000000..83b99a54
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniAddPrivateIp.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniPrivateIpOperateRequest;
+
+public class ExampleEniAddPrivateIp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniPrivateIpOperateRequest eniPrivateIpOperateRequest = new EniPrivateIpOperateRequest();
+ eniPrivateIpOperateRequest.setEniId("eni-nm4dx9vtnh3p");
+ eniPrivateIpOperateRequest.setPrivateIpAddress("192.168.0.10");
+ try {
+ eniClient.addPrivateIp(eniPrivateIpOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniAttachVm.java b/src/main/java/com/baidubce/examples/eni/ExampleEniAttachVm.java
new file mode 100644
index 00000000..6f477ffa
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniAttachVm.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniInstanceOperateRequest;
+
+public class ExampleEniAttachVm {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniInstanceOperateRequest eniInstanceOperateRequest = new EniInstanceOperateRequest();
+ eniInstanceOperateRequest.setInstanceId("i-PSCezwEn"); // eniId
+ eniInstanceOperateRequest.setEniId("eni-nm4dx9vtnh3p"); // 虚机Id
+
+ try {
+ eniClient.attachEniInstance(eniInstanceOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniBatchAddPrivateIp.java b/src/main/java/com/baidubce/examples/eni/ExampleEniBatchAddPrivateIp.java
new file mode 100644
index 00000000..30c2e9e8
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniBatchAddPrivateIp.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniPrivateIpBatchAddRequest;
+
+public class ExampleEniBatchAddPrivateIp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniPrivateIpBatchAddRequest eniPrivateIpBatchAddRequest = new EniPrivateIpBatchAddRequest();
+ eniPrivateIpBatchAddRequest.setEniId("eni-nm4dx9vtnh3p");
+ eniPrivateIpBatchAddRequest.setPrivateIpAddressCount(2); // 自动分配2个Ip
+
+ try {
+ eniClient.batchAddPrivateIp(eniPrivateIpBatchAddRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniBatchDelPrivateIp.java b/src/main/java/com/baidubce/examples/eni/ExampleEniBatchDelPrivateIp.java
new file mode 100644
index 00000000..ec9eead9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniBatchDelPrivateIp.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniPrivateIpBatchOperateRequest;
+
+public class ExampleEniBatchDelPrivateIp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniPrivateIpBatchOperateRequest eniPrivateIpBatchOperateRequest = new EniPrivateIpBatchOperateRequest();
+ eniPrivateIpBatchOperateRequest.setEniId("eni-nm4dx9vtnh3p");
+ eniPrivateIpBatchOperateRequest.setPrivateIpAddresses(Arrays.asList("192.168.0.5", "192.168.0.6"));
+
+ try {
+ eniClient.batchDeletePrivateIp(eniPrivateIpBatchOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniBindEip.java b/src/main/java/com/baidubce/examples/eni/ExampleEniBindEip.java
new file mode 100644
index 00000000..5db6ff6e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniBindEip.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniBindEipRequest;
+
+public class ExampleEniBindEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniBindEipRequest eniBindEipRequest = new EniBindEipRequest();
+ eniBindEipRequest.setEniId("eni-nm4dx9vtnh3p");
+ eniBindEipRequest.setPrivateIpAddress("192.168.0.9");
+ eniBindEipRequest.setPublicIpAddress("100.88.11.97");
+
+ try {
+ eniClient.bindEniPublicIp(eniBindEipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniDelPrivateIp.java b/src/main/java/com/baidubce/examples/eni/ExampleEniDelPrivateIp.java
new file mode 100644
index 00000000..262a4433
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniDelPrivateIp.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniPrivateIpOperateRequest;
+
+public class ExampleEniDelPrivateIp {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniPrivateIpOperateRequest eniPrivateIpOperateRequest = new EniPrivateIpOperateRequest();
+ eniPrivateIpOperateRequest.setEniId("eni-nm4dx9vtnh3p");
+ eniPrivateIpOperateRequest.setPrivateIpAddress("192.168.0.10");
+ try {
+ eniClient.deletePrivateIp(eniPrivateIpOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniDetail.java b/src/main/java/com/baidubce/examples/eni/ExampleEniDetail.java
new file mode 100644
index 00000000..d6300338
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniDetail.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniDetail;
+import com.baidubce.services.eni.model.GetEniDetailRequest;
+
+public class ExampleEniDetail {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ GetEniDetailRequest request = new GetEniDetailRequest();
+ request.setEniId("eni-nm4dx9vtnh3p");
+
+ try {
+ EniDetail response = eniClient.getEniDetail(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniDettachVm.java b/src/main/java/com/baidubce/examples/eni/ExampleEniDettachVm.java
new file mode 100644
index 00000000..9f3ad12a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniDettachVm.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniInstanceOperateRequest;
+
+public class ExampleEniDettachVm {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniInstanceOperateRequest eniInstanceOperateRequest = new EniInstanceOperateRequest();
+ eniInstanceOperateRequest.setEniId("eni-nm4dx9vtnh3p"); // eniId
+ eniInstanceOperateRequest.setInstanceId("i-PSCezwEn"); // 虚机Id
+
+ try {
+ eniClient.detachEniInstance(eniInstanceOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniUnBindEip.java b/src/main/java/com/baidubce/examples/eni/ExampleEniUnBindEip.java
new file mode 100644
index 00000000..406b9f5e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniUnBindEip.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniUnBindEipRequest;
+
+public class ExampleEniUnBindEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniUnBindEipRequest eniUnBindEipRequest = new EniUnBindEipRequest();
+ eniUnBindEipRequest.setEniId("eni-nm4dx9vtnh3p"); // 弹性网卡Id
+ eniUnBindEipRequest.setPublicIpAddress("100.88.11.97"); // 解绑的eip
+
+ try {
+ eniClient.unBindEniPublicIp(eniUnBindEipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniUpdateEnterpriseSecurityGroups.java b/src/main/java/com/baidubce/examples/eni/ExampleEniUpdateEnterpriseSecurityGroups.java
new file mode 100644
index 00000000..a7ed4583
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniUpdateEnterpriseSecurityGroups.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniUpdateEnterpriseSecurityGroupRequest;
+
+public class ExampleEniUpdateEnterpriseSecurityGroups {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniUpdateEnterpriseSecurityGroupRequest eniUpdateEnterpriseSecurityGroupRequest =
+ new EniUpdateEnterpriseSecurityGroupRequest();
+ eniUpdateEnterpriseSecurityGroupRequest.setEniId("eni-nm4dx9vtnh3p");
+ eniUpdateEnterpriseSecurityGroupRequest.setEnterpriseSecurityGroupIds(Arrays.asList("esg-6q04xad5xmh6"));
+
+ try {
+ eniClient.updateEniEnterpriseSecurityGroup(eniUpdateEnterpriseSecurityGroupRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleEniUpdateSecurityGroups.java b/src/main/java/com/baidubce/examples/eni/ExampleEniUpdateSecurityGroups.java
new file mode 100644
index 00000000..f5366898
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleEniUpdateSecurityGroups.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniUpdateSecurityGroupRequest;
+
+public class ExampleEniUpdateSecurityGroups {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniUpdateSecurityGroupRequest eniUpdateSecurityGroupRequest = new EniUpdateSecurityGroupRequest();
+ eniUpdateSecurityGroupRequest.setEniId("eni-nm4dx9vtnh3p");
+ eniUpdateSecurityGroupRequest.setSecurityGroupIds(Arrays.asList("g-vs94kdqxw078"));
+
+ try {
+ eniClient.updateEniSecurityGroup(eniUpdateSecurityGroupRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleGetEniStatus.java b/src/main/java/com/baidubce/examples/eni/ExampleGetEniStatus.java
new file mode 100644
index 00000000..fbbc4da9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleGetEniStatus.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniStatusResponse;
+
+public class ExampleGetEniStatus {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+
+ try {
+ EniStatusResponse response = eniClient.getEniStatus("eni-wjz6683jaswn");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleListEni.java b/src/main/java/com/baidubce/examples/eni/ExampleListEni.java
new file mode 100644
index 00000000..6e2043d7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleListEni.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.ListEniRequest;
+import com.baidubce.services.eni.model.ListEniResponse;
+
+public class ExampleListEni {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ ListEniRequest listEniRequest = new ListEniRequest();
+ listEniRequest.setVpcId("vpc-b9ycwxxisrb7");
+
+ try {
+ ListEniResponse response = eniClient.listEni(listEniRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/eni/ExampleUpdateEni.java b/src/main/java/com/baidubce/examples/eni/ExampleUpdateEni.java
new file mode 100644
index 00000000..d88a8a85
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/eni/ExampleUpdateEni.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.eni;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eni.EniClient;
+import com.baidubce.services.eni.EniClientConfiguration;
+import com.baidubce.services.eni.model.EniUpdateRequest;
+
+public class ExampleUpdateEni {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EniClientConfiguration config = new EniClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EniClient eniClient = new EniClient(config); // 初始化EniClient
+
+ EniUpdateRequest eniUpdateRequest = new EniUpdateRequest();
+ eniUpdateRequest.setEniId("eni-nm4dx9vtnh3p");
+ eniUpdateRequest.setName("name1");
+ eniUpdateRequest.setDescription("desc");
+
+ try {
+ eniClient.updateEni(eniUpdateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/esg/ExampleAddEsgRule.java b/src/main/java/com/baidubce/examples/esg/ExampleAddEsgRule.java
new file mode 100644
index 00000000..c0273ae7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/esg/ExampleAddEsgRule.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.esg;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.esg.EsgClient;
+import com.baidubce.services.esg.EsgClientConfiguration;
+import com.baidubce.services.esg.model.EnterpriseSecurityGroupRule;
+import com.baidubce.services.esg.model.EsgRuleOperateRequest;
+
+public class ExampleAddEsgRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EsgClientConfiguration config = new EsgClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EsgClient esgClient = new EsgClient(config); // 初始化EsgClient
+
+ EnterpriseSecurityGroupRule enterpriseSecurityGroupRule = new EnterpriseSecurityGroupRule(); // esg规则
+ enterpriseSecurityGroupRule.setSourceIp("all"); // 规则源IP
+ enterpriseSecurityGroupRule.setDestIp("all"); // 规则目的IP
+ enterpriseSecurityGroupRule.setAction("allow"); // 规则允许
+ enterpriseSecurityGroupRule.setDirection("ingress"); // 规则的方向
+ enterpriseSecurityGroupRule.setPriority(100); // 规则优先级
+ enterpriseSecurityGroupRule.setProtocol("tcp"); // 规则协议
+ enterpriseSecurityGroupRule.setPortRange("2000-3000"); // 规则端口范围
+ enterpriseSecurityGroupRule.setEthertype("IPv4"); // 规则IPv4版本
+
+ EsgRuleOperateRequest esgRuleOperateRequest = new EsgRuleOperateRequest();
+ esgRuleOperateRequest.setEnterpriseSecurityGroupId("esg-cza4aa7z2wtd");
+ esgRuleOperateRequest.setRules(Arrays.asList(enterpriseSecurityGroupRule));
+ try {
+ esgClient.authorizeEsgRule(esgRuleOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/esg/ExampleCreateEsg.java b/src/main/java/com/baidubce/examples/esg/ExampleCreateEsg.java
new file mode 100644
index 00000000..16c08f46
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/esg/ExampleCreateEsg.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.esg;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.esg.EsgClient;
+import com.baidubce.services.esg.EsgClientConfiguration;
+import com.baidubce.services.esg.model.CreateEsgRequest;
+import com.baidubce.services.esg.model.CreateEsgResponse;
+import com.baidubce.services.esg.model.EnterpriseSecurityGroupRule;
+
+public class ExampleCreateEsg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EsgClientConfiguration config = new EsgClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EsgClient esgClient = new EsgClient(config); // 初始化EsgClient
+
+ CreateEsgRequest createEsgRequest = new CreateEsgRequest();
+ createEsgRequest.setName("esgName"); // esg名称
+ createEsgRequest.setDesc("desc"); // esg描述
+ EnterpriseSecurityGroupRule enterpriseSecurityGroupRule = new EnterpriseSecurityGroupRule(); // esg规则
+ enterpriseSecurityGroupRule.setSourceIp("all"); // 规则源IP
+ enterpriseSecurityGroupRule.setDestIp("all"); // 规则目的IP
+ enterpriseSecurityGroupRule.setAction("allow"); // 规则允许
+ enterpriseSecurityGroupRule.setDirection("ingress"); // 规则的方向
+ enterpriseSecurityGroupRule.setPriority(100); // 规则优先级
+ enterpriseSecurityGroupRule.setProtocol("tcp"); // 规则协议
+ enterpriseSecurityGroupRule.setPortRange("1000-3000"); // 规则端口范围
+ enterpriseSecurityGroupRule.setEthertype("IPv4"); // 规则IPv4版本
+
+ createEsgRequest.setRules(Arrays.asList(enterpriseSecurityGroupRule));
+ try {
+ CreateEsgResponse response = esgClient.createEsg(createEsgRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/esg/ExampleDeleteEsg.java b/src/main/java/com/baidubce/examples/esg/ExampleDeleteEsg.java
new file mode 100644
index 00000000..920a1735
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/esg/ExampleDeleteEsg.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.esg;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.esg.EsgClient;
+import com.baidubce.services.esg.EsgClientConfiguration;
+
+public class ExampleDeleteEsg {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EsgClientConfiguration config = new EsgClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EsgClient esgClient = new EsgClient(config); // 初始化EsgClient
+
+ try {
+ esgClient.deleteEsg("esg-6q04xad5xmh6");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/esg/ExampleDeleteEsgRule.java b/src/main/java/com/baidubce/examples/esg/ExampleDeleteEsgRule.java
new file mode 100644
index 00000000..3f24a9a6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/esg/ExampleDeleteEsgRule.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.esg;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.esg.EsgClient;
+import com.baidubce.services.esg.EsgClientConfiguration;
+
+public class ExampleDeleteEsgRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EsgClientConfiguration config = new EsgClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EsgClient esgClient = new EsgClient(config); // 初始化EsgClient
+
+ try {
+ esgClient.deleteEsgRule("esgr-ghwpcwxv3v1x");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/esg/ExampleEsgList.java b/src/main/java/com/baidubce/examples/esg/ExampleEsgList.java
new file mode 100644
index 00000000..45e81d6b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/esg/ExampleEsgList.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.esg;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.esg.EsgClient;
+import com.baidubce.services.esg.EsgClientConfiguration;
+import com.baidubce.services.esg.model.ListEsgRequest;
+import com.baidubce.services.esg.model.ListEsgResponse;
+
+public class ExampleEsgList {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EsgClientConfiguration config = new EsgClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EsgClient esgClient = new EsgClient(config); // 初始化EsgClient
+
+ ListEsgRequest listEsgRequest = new ListEsgRequest();
+ listEsgRequest.setMaxKeys(100); // 最大返回数量
+ try {
+ ListEsgResponse response = esgClient.listEsg(listEsgRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/esg/ExampleUpdateEsgRule.java b/src/main/java/com/baidubce/examples/esg/ExampleUpdateEsgRule.java
new file mode 100644
index 00000000..d558bf3c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/esg/ExampleUpdateEsgRule.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.esg;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.esg.EsgClient;
+import com.baidubce.services.esg.EsgClientConfiguration;
+import com.baidubce.services.esg.model.UpdateEsgRuleRequest;
+
+public class ExampleUpdateEsgRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EsgClientConfiguration config = new EsgClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EsgClient esgClient = new EsgClient(config); // 初始化EsgClient
+
+ UpdateEsgRuleRequest updateEsgRuleRequest = new UpdateEsgRuleRequest();
+ updateEsgRuleRequest.setEnterpriseSecurityGroupRuleId("esgr-ghwpcwxv3v1x");
+ updateEsgRuleRequest.setSourceIp("all"); // 规则源IP
+ updateEsgRuleRequest.setDestIp("all"); // 规则目的IP
+ updateEsgRuleRequest.setAction("allow"); // 规则允许
+ updateEsgRuleRequest.setDirection("ingress"); // 规则的方向
+ updateEsgRuleRequest.setPriority(300); // 规则优先级
+ updateEsgRuleRequest.setProtocol("tcp"); // 规则协议
+ updateEsgRuleRequest.setPortRange("1000-3000"); // 规则端口范围
+ updateEsgRuleRequest.setEthertype("IPv4"); // 规则IPv4版本
+
+ try {
+ esgClient.updateEsgRule(updateEsgRuleRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/et/ExampleApplyForEt.java b/src/main/java/com/baidubce/examples/et/ExampleApplyForEt.java
new file mode 100644
index 00000000..3b74f346
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleApplyForEt.java
@@ -0,0 +1,40 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.ApplyForEtRequest;
+import com.baidubce.services.et.model.ApplyForEtResponse;
+
+public class ExampleApplyForEt {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ ApplyForEtRequest request = new ApplyForEtRequest();
+ request.setName("NewJavaSdkTestET"); // ET名称
+ request.setDescription("New Java sdk test ET"); // ET描述
+ request.setIsp("ISP_CMCC"); // 运营商
+ request.setIntfType("1G"); // 物理端口规格
+ request.setApType("BAIDU"); // 线路类型,百度内部用户:BAIDU,外部用户:SINGLE
+ request.setApAddr("BB"); // 接入点
+ request.setUserIdc("北京|市辖区|东城区|东单"); // 对端地址
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ ApplyForEtResponse response = etClient.applyForEt(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleAssociateEtChannel.java b/src/main/java/com/baidubce/examples/et/ExampleAssociateEtChannel.java
new file mode 100644
index 00000000..5aea169e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleAssociateEtChannel.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.et;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.AssociateEtChannelRequest;
+
+public class ExampleAssociateEtChannel {
+
+ /**
+ * 关联专线通道测试函数
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ AssociateEtChannelRequest request = new AssociateEtChannelRequest();
+ request.setEtId("dcphy-zzdark9nuk1g");
+ request.setEtChannelId("dedicatedconn-hzf4aigzqttd");
+ request.setExtraChannelId("dedicatedconn-i05sdfw25kqz");
+
+ try {
+ etClient.associateEtChannel(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleCreateEtChannel.java b/src/main/java/com/baidubce/examples/et/ExampleCreateEtChannel.java
new file mode 100644
index 00000000..0d985623
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleCreateEtChannel.java
@@ -0,0 +1,42 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.CreateEtChannelRequest;
+import com.baidubce.services.et.model.CreateEtChannelResponse;
+import com.google.common.collect.Lists;
+
+public class ExampleCreateEtChannel {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ CreateEtChannelRequest request = new CreateEtChannelRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-6vtqgw1fk3mj"); // ET ID
+ request.setAuthorizedUsers(Lists.newArrayList("1beb4ad4762746db96941a5ad253ac8c")); // 分配对象
+ request.setDescription("Java sdk test ET channel"); // 专线通道描述
+ request.setBaiduAddress("192.168.0.2/24"); // 云端网络互联IP
+ request.setName("JavaSdkTestEtChannel"); // 通道名称
+ request.setCustomerAddress("192.168.0.3/24"); // IDC互联IP
+ request.setRouteType("static-route"); // 路由协议,当前支持”static-route“(静态)和”bgp“(动态)
+ request.setVlanId(2); // VLAN ID,取值范围:0, 2-4009
+
+ try {
+ CreateEtChannelResponse response = etClient.createEtChannel(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleCreateEtChannelRouteRule.java b/src/main/java/com/baidubce/examples/et/ExampleCreateEtChannelRouteRule.java
new file mode 100644
index 00000000..a8beadf7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleCreateEtChannelRouteRule.java
@@ -0,0 +1,40 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.CreateEtChannelRouteResponse;
+import com.baidubce.services.et.model.CreateEtChannelRouteRuleRequest;
+
+public class ExampleCreateEtChannelRouteRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ CreateEtChannelRouteRuleRequest request = new CreateEtChannelRouteRuleRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-axibreesn6af"); // ET ID
+ request.setEtChannelId("dedicatedconn-nezh65s7z325"); // 专线通道ID
+ request.setIpVersion(4); // IP协议类型,取值[4 | 6],默认为4
+ request.setDestAddress("192.168.0.9/32"); // 目标网段
+ request.setNexthopType("etChannel"); // 下一跳类型,取值["etGateway" | "etChannel"],分别表示专线网关、专线通道
+ request.setNexthopId("dedicatedconn-nezh65s7z325"); // 下一跳实例ID
+ request.setDescription("Java SDK test"); // 描述
+
+ try {
+ CreateEtChannelRouteResponse response = etClient.createEtChannelRouteRule(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleDeleteEtChannel.java b/src/main/java/com/baidubce/examples/et/ExampleDeleteEtChannel.java
new file mode 100644
index 00000000..4da4b0ef
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleDeleteEtChannel.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.EtChannelIdRequest;
+
+public class ExampleDeleteEtChannel {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ EtChannelIdRequest request = new EtChannelIdRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-axibreesn6af"); // ET ID
+ request.setEtChannelId("dedicatedconn-tkki3g71vr09"); // 专线通道ID
+ try {
+ etClient.deleteEtChannel(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleDeleteEtRouteRule.java b/src/main/java/com/baidubce/examples/et/ExampleDeleteEtRouteRule.java
new file mode 100644
index 00000000..fb981d50
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleDeleteEtRouteRule.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.EtChannelRouteRuleIdRequest;
+
+public class ExampleDeleteEtRouteRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ EtChannelRouteRuleIdRequest request = new EtChannelRouteRuleIdRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-axibreesn6af"); // ET ID
+ request.setEtChannelId("dedicatedconn-nezh65s7z325"); // 专线通道ID
+ request.setRouteRuleId("dcrr-bf5545b8-de8"); // 专线通道路由规则ID
+
+ try {
+ etClient.deleteEtRouteRule(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleDisableEtChannelIpv6.java b/src/main/java/com/baidubce/examples/et/ExampleDisableEtChannelIpv6.java
new file mode 100644
index 00000000..662f4d61
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleDisableEtChannelIpv6.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.EtChannelIdRequest;
+
+public class ExampleDisableEtChannelIpv6 {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ EtChannelIdRequest request = new EtChannelIdRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-bjrtsp6ar5ug"); // ET ID
+ request.setEtChannelId("dedicatedconn-xdzaphpgcqfn"); // 专线通道ID
+
+ try {
+ etClient.disableEtChannelIpv6(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleDisassociateEtChannel.java b/src/main/java/com/baidubce/examples/et/ExampleDisassociateEtChannel.java
new file mode 100644
index 00000000..8f32fa46
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleDisassociateEtChannel.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.et;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.DisassociateEtChannelRequest;
+
+public class ExampleDisassociateEtChannel {
+
+ /**
+ * 解关联专线通道测试函数
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ DisassociateEtChannelRequest request = new DisassociateEtChannelRequest();
+ request.setEtId("dcphy-zzdark9nuk1g");
+ request.setEtChannelId("dedicatedconn-hzf4aigzqttd");
+ request.setExtraChannelId("dedicatedconn-i05sdfw25kqz");
+
+ try {
+ etClient.disassociateEtChannel(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleEnableEtChannelIpv6.java b/src/main/java/com/baidubce/examples/et/ExampleEnableEtChannelIpv6.java
new file mode 100644
index 00000000..a1f60b48
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleEnableEtChannelIpv6.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.EnableEtChannelIpv6Request;
+
+public class ExampleEnableEtChannelIpv6 {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ EnableEtChannelIpv6Request request = new EnableEtChannelIpv6Request();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-bjrtsp6ar5ug"); // ET ID
+ request.setEtChannelId("dedicatedconn-xdzaphpgcqfn"); // 专线通道ID
+ request.setBaiduIpv6Address("2400:DA00:E003:0000:016A:0400:0000:100/127"); // 云端网络侧IPv6互联地址
+ request.setCustomerIpv6Address("2400:DA00:E003:0000:016A:0400:0000:101/127"); // IDC侧IPv6互联地址
+
+ try {
+ etClient.enableEtChannelIpv6(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleGetEtDetail.java b/src/main/java/com/baidubce/examples/et/ExampleGetEtDetail.java
new file mode 100644
index 00000000..c608ac71
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleGetEtDetail.java
@@ -0,0 +1,27 @@
+package com.baidubce.examples.et;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.Et;
+
+public class ExampleGetEtDetail {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ try {
+ Et et = etClient.getEtDetail("dcphy-t6ewxjaekkt2"); // 获取对应ET ID的ET详情
+ System.out.println(et);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleListEtChannelRouteRules.java b/src/main/java/com/baidubce/examples/et/ExampleListEtChannelRouteRules.java
new file mode 100644
index 00000000..8c0f1b35
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleListEtChannelRouteRules.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.et;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.ListEtChannelRouteRulesRequest;
+import com.baidubce.services.et.model.ListEtChannelRouteRulesResponse;
+
+public class ExampleListEtChannelRouteRules {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ ListEtChannelRouteRulesRequest request = new ListEtChannelRouteRulesRequest();
+ request.setEtId("dcphy-axibreesn6af"); // ET ID
+ request.setEtChannelId("dedicatedconn-nezh65s7z325"); // 专线通道ID
+ request.setDestAddress("192.168.0.9/32"); // 目标网段
+
+ try {
+ ListEtChannelRouteRulesResponse response = etClient.listEtChannelRouteRules(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleListEtChannels.java b/src/main/java/com/baidubce/examples/et/ExampleListEtChannels.java
new file mode 100644
index 00000000..f7ac7212
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleListEtChannels.java
@@ -0,0 +1,27 @@
+package com.baidubce.examples.et;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.ListEtChannelsResponse;
+
+public class ExampleListEtChannels {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ try {
+ ListEtChannelsResponse response = etClient.listEtChannels("dcphy-axibreesn6af"); // 获取对应ET ID下的通道
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleListEts.java b/src/main/java/com/baidubce/examples/et/ExampleListEts.java
new file mode 100644
index 00000000..ccae46c1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleListEts.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.et;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.ListEtRequest;
+import com.baidubce.services.et.model.ListEtResponse;
+
+public class ExampleListEts {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ ListEtRequest request = new ListEtRequest();
+ request.setMarker("dcphy-t6ewxjaekkt2"); // 批量获取列表的查询的起始位置,ET ID标记
+ request.setMaxKeys(5); // 每页包含的最大数量,最大数量通常不超过1000,缺省值为1000
+ request.setStatus("ack-wait");
+ try {
+ ListEtResponse response = etClient.listEts(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleResubmitEtChannel.java b/src/main/java/com/baidubce/examples/et/ExampleResubmitEtChannel.java
new file mode 100644
index 00000000..0b5dc587
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleResubmitEtChannel.java
@@ -0,0 +1,41 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.ResubmitEtChannelRequest;
+import com.google.common.collect.Lists;
+
+public class ExampleResubmitEtChannel {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ ResubmitEtChannelRequest request = new ResubmitEtChannelRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-axibreesn6af"); // ET ID
+ request.setEtChannelId("dedicatedconn-3nv9cus8geaf"); // 专线通道ID
+ request.setAuthorizedUsers(Lists.newArrayList("1beb4ad4762746db96941a5ad253ac8c")); // 分配对象
+ request.setDescription("Java sdk test ET channel"); // 专线通道描述
+ request.setBaiduAddress("192.168.1.1/24"); // 云端网络互联IP
+ request.setName("JavaSdkTestEtChannel"); // 通道名称
+ request.setCustomerAddress("192.168.1.2/24"); // IDC互联IP
+ request.setRouteType("static-route"); // 路由协议,当前支持”static-route“(静态)和”bgp“(动态)
+ request.setVlanId(2); // VLAN ID,取值范围:0, 2-4009
+
+ try {
+ etClient.resubmitEtChannel(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleUpdateEt.java b/src/main/java/com/baidubce/examples/et/ExampleUpdateEt.java
new file mode 100644
index 00000000..d6867426
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleUpdateEt.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.UpdateEtRequest;
+
+public class ExampleUpdateEt {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ UpdateEtRequest request = new UpdateEtRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-t6ewxjaekkt2"); // ET ID
+ request.setName("JavaSdkTestETUpdate"); // ET 更新名字
+ request.setDescription("Java sdk test ET update"); // ET 更新描述
+
+ try {
+ etClient.updateEt(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleUpdateEtChannel.java b/src/main/java/com/baidubce/examples/et/ExampleUpdateEtChannel.java
new file mode 100644
index 00000000..5a764438
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleUpdateEtChannel.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.UpdateEtChannelRequest;
+
+public class ExampleUpdateEtChannel {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ UpdateEtChannelRequest request = new UpdateEtChannelRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-axibreesn6af"); // ET ID
+ request.setEtChannelId("dedicatedconn-kd1ff138ypnm"); // 专线通道ID
+ request.setDescription("Java sdk test ET channel update"); // 专线通道描述
+ request.setName("JavaSdkTestEtChannelUpdate"); // 通道名称
+
+ try {
+ etClient.updateEtChannel(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/et/ExampleUpdateEtChannelRouteRule.java b/src/main/java/com/baidubce/examples/et/ExampleUpdateEtChannelRouteRule.java
new file mode 100644
index 00000000..f3a94c37
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/et/ExampleUpdateEtChannelRouteRule.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.et;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.et.EtClient;
+import com.baidubce.services.et.EtClientConfiguration;
+import com.baidubce.services.et.model.UpdateEtChannelRouteRuleRequest;
+
+public class ExampleUpdateEtChannelRouteRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // ET服务对应的域名
+
+ EtClientConfiguration config = new EtClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtClient etClient = new EtClient(config); // 初始化ET client
+
+ UpdateEtChannelRouteRuleRequest request = new UpdateEtChannelRouteRuleRequest();
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ request.setEtId("dcphy-axibreesn6af"); // ET ID
+ request.setEtChannelId("dedicatedconn-nezh65s7z325"); // 专线通道ID
+ request.setRouteRuleId("dcrr-bf5545b8-de8"); // 专线通道路由规则ID
+ request.setDescription("Java SDK test update"); // 描述信息
+
+ try {
+ etClient.updateEtChannelRouteRule(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/etgateway/ExampleBindEtChannel.java b/src/main/java/com/baidubce/examples/etgateway/ExampleBindEtChannel.java
new file mode 100644
index 00000000..8989ad27
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/etgateway/ExampleBindEtChannel.java
@@ -0,0 +1,39 @@
+package com.baidubce.examples.etgateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.etgateway.EtGatewayClient;
+import com.baidubce.services.etgateway.EtGatewayClientConfiguration;
+import com.baidubce.services.etgateway.model.BindEtChannelRequest;
+import com.google.common.collect.Lists;
+
+import java.util.UUID;
+
+public class ExampleBindEtChannel {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EtGatewayClientConfiguration config = new EtGatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtGatewayClient etGatewayClient = new EtGatewayClient(config); // 初始化Client
+
+ BindEtChannelRequest bindEtChannelRequest = new BindEtChannelRequest();
+ bindEtChannelRequest.setEtGatewayId("dcgw-9pwwq206xj58"); // 专线网关的id
+ bindEtChannelRequest.setEtId("dcphy-ejtn7ffk9rnd"); // 绑定的物理专线的id,etId和channelId必须同时存在
+ bindEtChannelRequest.setChannelId("dedicatedconn-xzxm902fvz9d"); // 绑定的专线通道的id
+
+ // 专线网关的云端网络,用户可以选本vpc网段或自定义一个或多个网段
+ bindEtChannelRequest.setLocalCidrs(Lists.newArrayList("192.168.0.0/20"));
+
+ bindEtChannelRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ etGatewayClient.bindEtChannel(bindEtChannelRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/etgateway/ExampleCreateEtGateway.java b/src/main/java/com/baidubce/examples/etgateway/ExampleCreateEtGateway.java
new file mode 100644
index 00000000..da44d05f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/etgateway/ExampleCreateEtGateway.java
@@ -0,0 +1,47 @@
+package com.baidubce.examples.etgateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.etgateway.EtGatewayClient;
+import com.baidubce.services.etgateway.EtGatewayClientConfiguration;
+import com.baidubce.services.etgateway.model.CreateEtGatewayRequest;
+import com.baidubce.services.etgateway.model.CreateEtGatewayResponse;
+import com.google.common.collect.Lists;
+
+import java.util.UUID;
+
+public class ExampleCreateEtGateway {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EtGatewayClientConfiguration config = new EtGatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtGatewayClient etGatewayClient = new EtGatewayClient(config); // 初始化Client
+
+ CreateEtGatewayRequest createEtGatewayRequest = new CreateEtGatewayRequest();
+
+ // 专线网关的名称,由大小写字母、数字以及-_ /.特殊字符组成,必须以字母开头,长度1-65
+ createEtGatewayRequest.setName("java_sdk_test_et_gw1");
+
+ createEtGatewayRequest.setVpcId("vpc-63b9cr90g5zn"); // 专线网关所属vpc的id
+ createEtGatewayRequest.setSpeed(100); // 专线网关带宽的限速值,单位为Mbps。限制为为2~10000之间的整数
+ createEtGatewayRequest.setDescription("java sdk test et gateway."); // 专线网关的描述,不超过200字符
+ createEtGatewayRequest.setEtId("dcphy-ejtn7ffk9rnd"); // 绑定的物理专线的id,etId和channelId必须同时存在
+ createEtGatewayRequest.setChannelId("dedicatedconn-xzxm902fvz9d"); // 绑定的专线通道的id,etId和channelId必须同时存在
+
+ // 专线网关的云端网络,用户可以选本vpc网段或自定义一个或多个网段,仅当参数etId和channelId存在时可以设置
+ createEtGatewayRequest.setLocalCidrs(Lists.newArrayList("192.168.0.0/20"));
+
+ createEtGatewayRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ CreateEtGatewayResponse createEtGatewayResponse = etGatewayClient.createEtGateway(createEtGatewayRequest);
+ System.out.println("createEtGatewayResponse = " + createEtGatewayResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/etgateway/ExampleCreateEtGatewayHealthCheck.java b/src/main/java/com/baidubce/examples/etgateway/ExampleCreateEtGatewayHealthCheck.java
new file mode 100644
index 00000000..84a61958
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/etgateway/ExampleCreateEtGatewayHealthCheck.java
@@ -0,0 +1,42 @@
+package com.baidubce.examples.etgateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.etgateway.EtGatewayClient;
+import com.baidubce.services.etgateway.EtGatewayClientConfiguration;
+import com.baidubce.services.etgateway.model.CreateEtGatewayHealthCheckRequest;
+
+import java.util.UUID;
+
+public class ExampleCreateEtGatewayHealthCheck {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EtGatewayClientConfiguration config = new EtGatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtGatewayClient etGatewayClient = new EtGatewayClient(config); // 初始化Client
+
+ CreateEtGatewayHealthCheckRequest createEtGatewayHealthCheckRequest = new CreateEtGatewayHealthCheckRequest();
+ createEtGatewayHealthCheckRequest.setEtGatewayId("dcgw-9pwwq206xj58"); // 专线网关的id
+ createEtGatewayHealthCheckRequest.setHealthCheckSourceIp(""); // 若不传该参数,系统会自动分配一个IP
+ createEtGatewayHealthCheckRequest.setHealthCheckType("ICMP"); // 参数可取值为"ICMP",默认为"ICMP"
+ createEtGatewayHealthCheckRequest.setHealthCheckPort(8000); // 健康检查的端口
+ createEtGatewayHealthCheckRequest.setHealthCheckInterval(40); // 健康检查的间隔,1-60之间的整数,单位s
+ createEtGatewayHealthCheckRequest.setHealthThreshold(2); // 健康检查阈值,2-5之间的整数
+ createEtGatewayHealthCheckRequest.setUnhealthThreshold(4); // 不健康检查阈值,2-5之间的整数
+
+ // 是否自动生成探测路由,默认开启。如需关闭,选择false。
+ createEtGatewayHealthCheckRequest.setAutoGenerateRouteRule(false);
+
+ createEtGatewayHealthCheckRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ etGatewayClient.createEtGatewayHealthCheck(createEtGatewayHealthCheckRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/etgateway/ExampleDeleteEtGateway.java b/src/main/java/com/baidubce/examples/etgateway/ExampleDeleteEtGateway.java
new file mode 100644
index 00000000..1e705327
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/etgateway/ExampleDeleteEtGateway.java
@@ -0,0 +1,40 @@
+package com.baidubce.examples.etgateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.etgateway.EtGatewayClient;
+import com.baidubce.services.etgateway.EtGatewayClientConfiguration;
+
+import java.util.UUID;
+
+public class ExampleDeleteEtGateway {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EtGatewayClientConfiguration config = new EtGatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtGatewayClient etGatewayClient = new EtGatewayClient(config); // 初始化Client
+
+ String etGatewayId = "dcgw-9pwwq206xj58"; // 需要释放的专线网关的id
+
+ // 方式一
+ try {
+ // 没设置幂等,自动加上幂等参数
+ etGatewayClient.deleteEtGateway(etGatewayId);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ // 方式二
+ String clientToken = UUID.randomUUID().toString(); // 幂等性Token
+ try {
+ etGatewayClient.deleteEtGateway(etGatewayId, clientToken);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/etgateway/ExampleGetEtGateway.java b/src/main/java/com/baidubce/examples/etgateway/ExampleGetEtGateway.java
new file mode 100644
index 00000000..5d28f1a6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/etgateway/ExampleGetEtGateway.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.etgateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.etgateway.EtGatewayClient;
+import com.baidubce.services.etgateway.EtGatewayClientConfiguration;
+import com.baidubce.services.etgateway.model.GetEtGatewayResponse;
+
+public class ExampleGetEtGateway {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EtGatewayClientConfiguration config = new EtGatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtGatewayClient etGatewayClient = new EtGatewayClient(config); // 初始化Client
+
+ String etGatewayId = "dcgw-9pwwq206xj58"; // 专线网关的id
+
+ try {
+ GetEtGatewayResponse getEtGatewayResponse = etGatewayClient.getEtGateway(etGatewayId);
+ System.out.println("getEtGatewayResponse = " + getEtGatewayResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/etgateway/ExampleListEtGateways.java b/src/main/java/com/baidubce/examples/etgateway/ExampleListEtGateways.java
new file mode 100644
index 00000000..b050e5eb
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/etgateway/ExampleListEtGateways.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.etgateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.etgateway.EtGatewayClient;
+import com.baidubce.services.etgateway.EtGatewayClientConfiguration;
+import com.baidubce.services.etgateway.model.ListEtGatewayRequest;
+import com.baidubce.services.etgateway.model.ListEtGatewayResponse;
+
+public class ExampleListEtGateways {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EtGatewayClientConfiguration config = new EtGatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtGatewayClient etGatewayClient = new EtGatewayClient(config); // 初始化Client
+
+ ListEtGatewayRequest listEtGatewayRequest = new ListEtGatewayRequest();
+ listEtGatewayRequest.setVpcId("vpc-63b9cr90g5zn"); // vpc的id
+ listEtGatewayRequest.setEtGatewayId(""); // 专线网关的id
+ listEtGatewayRequest.setName("java_sdk"); // 专线网关的名称,支持模糊查询
+ listEtGatewayRequest.setStatus("running"); // 专线网关的状态
+ listEtGatewayRequest.setMarker(""); // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ listEtGatewayRequest.setMaxKeys(10); // 每页包含的最大数量,最大数量不超过1000。缺省值为1000
+
+
+ try {
+ ListEtGatewayResponse listEtGatewayResponse = etGatewayClient.listEtGateways(listEtGatewayRequest);
+ System.out.println("listEtGatewayResponse = " + listEtGatewayResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/etgateway/ExampleUnbindEtChannel.java b/src/main/java/com/baidubce/examples/etgateway/ExampleUnbindEtChannel.java
new file mode 100644
index 00000000..19051e58
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/etgateway/ExampleUnbindEtChannel.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.etgateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.etgateway.EtGatewayClient;
+import com.baidubce.services.etgateway.EtGatewayClientConfiguration;
+import com.baidubce.services.etgateway.model.UnbindEtChannelRequest;
+
+import java.util.UUID;
+
+public class ExampleUnbindEtChannel {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EtGatewayClientConfiguration config = new EtGatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtGatewayClient etGatewayClient = new EtGatewayClient(config); // 初始化Client
+
+ UnbindEtChannelRequest unbindEtChannelRequest = new UnbindEtChannelRequest();
+ unbindEtChannelRequest.setEtGatewayId("dcgw-9pwwq206xj58"); // 专线网关的id
+ unbindEtChannelRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ etGatewayClient.unbindEtChannel(unbindEtChannelRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/etgateway/ExampleUpdateEtGateway.java b/src/main/java/com/baidubce/examples/etgateway/ExampleUpdateEtGateway.java
new file mode 100644
index 00000000..cfc2b815
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/etgateway/ExampleUpdateEtGateway.java
@@ -0,0 +1,48 @@
+package com.baidubce.examples.etgateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.etgateway.EtGatewayClient;
+import com.baidubce.services.etgateway.EtGatewayClientConfiguration;
+import com.baidubce.services.etgateway.model.UpdateEtGatewayRequest;
+import com.google.common.collect.Lists;
+
+import java.util.UUID;
+
+public class ExampleUpdateEtGateway {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ EtGatewayClientConfiguration config = new EtGatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ EtGatewayClient etGatewayClient = new EtGatewayClient(config); // 初始化Client
+
+ UpdateEtGatewayRequest updateEtGatewayRequest = new UpdateEtGatewayRequest();
+ updateEtGatewayRequest.setEtGatewayId("dcgw-9pwwq206xj58"); // 专线网关的id
+
+ // 专线网关的名称,由大小写字母、数字以及-_ /.特殊字符组成,必须以字母开头,长度1-65
+ updateEtGatewayRequest.setName("java_sdk_et_gw_update");
+
+ updateEtGatewayRequest.setSpeed(200); // 专线网关带宽的限速值,单位为Mbps。限制为2~100000之间的整数
+ updateEtGatewayRequest.setDescription("java sdk test update et gateway."); // 专线网关的描述,不超过200字符
+
+ // 专线网关的IPv4云端网络,用户可以选本vpc网段或自定义一个或多个网段
+ updateEtGatewayRequest.setLocalCidrs(Lists.newArrayList("192.168.0.0/20"));
+
+ updateEtGatewayRequest.setEnableIpv6(1); // IPv6功能是否开启,1是0否,IPv6为白名单功能
+
+ // 专线网关的IPv6云端网络,用户可以选本vpc网段或自定义一个或多个IPv6网段
+ updateEtGatewayRequest.setIpv6LocalCidrs(Lists.newArrayList("240c:4085:0:6a02::/80"));
+
+ updateEtGatewayRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ etGatewayClient.updateEtGateway(updateEtGatewayRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleCreateHaVip.java b/src/main/java/com/baidubce/examples/havip/ExampleCreateHaVip.java
new file mode 100644
index 00000000..9402f23c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleCreateHaVip.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.CreateHaVipRequest;
+import com.baidubce.services.havip.model.CreateHaVipResponse;
+
+public class ExampleCreateHaVip {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+ CreateHaVipRequest createHaVipRequest = new CreateHaVipRequest();
+ createHaVipRequest.setSubnetId(""); // 子网ID
+ createHaVipRequest.setDescription("desc"); // 描述
+ createHaVipRequest.setName("havip"); // havip名字
+ createHaVipRequest.setPrivateIpAddress(""); // 指定havip IP地址
+
+ try {
+ CreateHaVipResponse createHaVipResponse = haVipClient.createHaVip(createHaVipRequest);
+ System.out.println(createHaVipResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleDeleteHaVip.java b/src/main/java/com/baidubce/examples/havip/ExampleDeleteHaVip.java
new file mode 100644
index 00000000..30023f5f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleDeleteHaVip.java
@@ -0,0 +1,30 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.DeleteHaVipRequest;
+
+public class ExampleDeleteHaVip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+
+ DeleteHaVipRequest deleteHaVipRequest = new DeleteHaVipRequest();
+ deleteHaVipRequest.setHaVipId("havip-w2d4kgc3x0y1"); // 高可用虚拟IP的ID
+
+ try {
+ haVipClient.deleteHaVip(deleteHaVipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleGetHaVip.java b/src/main/java/com/baidubce/examples/havip/ExampleGetHaVip.java
new file mode 100644
index 00000000..44804a7f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleGetHaVip.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.HaVipResponse;
+
+public class ExampleGetHaVip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+
+ String haVipId = "havip-w2d4kgc3x0y1"; // 高可用虚拟IP的ID
+
+ try {
+ HaVipResponse haVip = haVipClient.getHaVip(haVipId);
+ System.out.println(haVip);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleHaVipBindEip.java b/src/main/java/com/baidubce/examples/havip/ExampleHaVipBindEip.java
new file mode 100644
index 00000000..87522a74
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleHaVipBindEip.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.BindEipRequest;
+
+public class ExampleHaVipBindEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+
+ BindEipRequest bindEipRequest = new BindEipRequest();
+ bindEipRequest.setHaVipId("havip-w2d4kgc3x0y1"); // 高可用虚拟IP的ID
+ bindEipRequest.setPublicIpAddress("180.76.245.166"); // 公网IP
+
+
+ try {
+ haVipClient.bindEip(bindEipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleHaVipBindInstance.java b/src/main/java/com/baidubce/examples/havip/ExampleHaVipBindInstance.java
new file mode 100644
index 00000000..23befb35
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleHaVipBindInstance.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.BindInstanceRequest;
+
+import java.util.Arrays;
+
+public class ExampleHaVipBindInstance {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+
+ BindInstanceRequest bindInstanceRequest = new BindInstanceRequest();
+ bindInstanceRequest.setHaVipId("havip-w2d4kgc3x0y1"); // 高可用虚拟IP的ID
+ bindInstanceRequest.setInstanceType("ENI"); // 绑定的实例类型,"SERVER"表示云服务器(BCC/BBC/DCC),"ENI"表示弹性网卡
+ bindInstanceRequest.setInstanceIds(Arrays.asList("eni-w2d4kgc3x0y1")); // 绑定的实例ID列表,列表长度不大于5
+
+
+ try {
+ haVipClient.bindInstance(bindInstanceRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleHaVipUnbindEip.java b/src/main/java/com/baidubce/examples/havip/ExampleHaVipUnbindEip.java
new file mode 100644
index 00000000..4ceb03f5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleHaVipUnbindEip.java
@@ -0,0 +1,30 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.UnBindEipRequest;
+
+public class ExampleHaVipUnbindEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+
+ UnBindEipRequest unBindEipRequest = new UnBindEipRequest();
+ unBindEipRequest.setHaVipId("havip-w2d4kgc3x0y1"); // 高可用虚拟IP的ID
+
+ try {
+ haVipClient.unBindEip(unBindEipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleHaVipUnbindInstance.java b/src/main/java/com/baidubce/examples/havip/ExampleHaVipUnbindInstance.java
new file mode 100644
index 00000000..3f4f7a75
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleHaVipUnbindInstance.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.UnBindInstanceRequest;
+
+import java.util.Arrays;
+
+public class ExampleHaVipUnbindInstance {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+
+ UnBindInstanceRequest unBindInstanceRequest = new UnBindInstanceRequest();
+ unBindInstanceRequest.setHaVipId("havip-w2d4kgc3x0y1"); // 高可用虚拟IP的ID
+ unBindInstanceRequest.setInstanceType("ENI"); // 解绑的实例类型,"SERVER"表示云服务器(BCC/BBC/DCC),"ENI"表示弹性网卡
+ unBindInstanceRequest.setInstanceIds(Arrays.asList("eni-w2d4kgc3x0y1")); // 解绑的实例ID列表,列表长度不大于5
+
+
+ try {
+ haVipClient.unBindInstance(unBindInstanceRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleListHaVip.java b/src/main/java/com/baidubce/examples/havip/ExampleListHaVip.java
new file mode 100644
index 00000000..7d1fd8a2
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleListHaVip.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.ListHaVipResponse;
+
+public class ExampleListHaVip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+
+ String vpcId = "vpc-r625rqw3wuer"; // 高可用虚拟IP所属的VPC ID
+
+ try {
+ ListHaVipResponse listHaVipResponse = haVipClient.listHaVip(vpcId);
+ System.out.println(listHaVipResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/havip/ExampleUpdateHaVip.java b/src/main/java/com/baidubce/examples/havip/ExampleUpdateHaVip.java
new file mode 100644
index 00000000..ee4b63cf
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/havip/ExampleUpdateHaVip.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.havip;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.havip.HaVipClient;
+import com.baidubce.services.havip.HaVipClientConfiguration;
+import com.baidubce.services.havip.model.UpdateHaVipRequest;
+
+public class ExampleUpdateHaVip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ HaVipClientConfiguration config = new HaVipClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ HaVipClient haVipClient = new HaVipClient(config); // 初始化Client
+
+ UpdateHaVipRequest updateHaVipRequest = new UpdateHaVipRequest();
+ updateHaVipRequest.setHaVipId("havip-w2d4kgc3x0y1"); // 高可用虚拟IP的ID
+ updateHaVipRequest.setDescription("desc"); // 高可用虚拟IP的描述
+ updateHaVipRequest.setName("name"); // 高可用虚拟IP的名称
+
+ try {
+ haVipClient.updateHaVip(updateHaVipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleBindIpSet.java b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleBindIpSet.java
new file mode 100644
index 00000000..7b043e95
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleBindIpSet.java
@@ -0,0 +1,41 @@
+package com.baidubce.examples.ipcollection.ipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipgroup.BindIpSetRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExampleBindIpSet {
+
+ /**
+ * ExampleBindIpSet main method
+ *
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ BindIpSetRequest request = new BindIpSetRequest();
+ request.setIpGroupId("ipg-p40bmsaw3aad");
+ List ipSetIds = new ArrayList<>();
+ ipSetIds.add("ips-zmbp03b6wz8a");
+ ipSetIds.add("ips-vqkhe16ex5vb");
+ request.setIpSetIds(ipSetIds);
+ try {
+ ipCollectionClient.bindIpSet(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleCreateIpAddressGroup.java b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleCreateIpAddressGroup.java
new file mode 100644
index 00000000..1df00a4b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleCreateIpAddressGroup.java
@@ -0,0 +1,40 @@
+package com.baidubce.examples.ipcollection.ipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipgroup.CreateIpAddressGroupRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExampleCreateIpAddressGroup {
+ /**
+ * ExampleCreateIpAddressGroup main method
+ *
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ CreateIpAddressGroupRequest request = new CreateIpAddressGroupRequest();
+ request.setName("ipGroupByCode");
+ request.setIpVersion("IPv4");
+ request.setDescription("test description");
+ List ipSetList = new ArrayList<>();
+ ipSetList.add("ips-xwnu2mdjcxfy");
+ request.setIpSetIds(ipSetList);
+ try {
+ ipCollectionClient.createIpAddressGroup(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleDeleteIpGroup.java b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleDeleteIpGroup.java
new file mode 100644
index 00000000..5137d994
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleDeleteIpGroup.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.ipcollection.ipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipgroup.DeleteIpGroupRequest;
+
+public class ExampleDeleteIpGroup {
+ /**
+ * ExampleDeleteIpGroup main method
+ *
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ DeleteIpGroupRequest request = new DeleteIpGroupRequest();
+ request.setIpGroupId("ipg-8mnay8wgvd1i");
+ try {
+ ipCollectionClient.deleteIpGroup(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleQueryIpGroupDetail.java b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleQueryIpGroupDetail.java
new file mode 100644
index 00000000..268c2be7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleQueryIpGroupDetail.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.ipcollection.ipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipgroup.QueryIpGroupDetailRequest;
+import com.baidubce.services.ipcollection.model.ipgroup.QueryIpGroupDetailResponse;
+
+public class ExampleQueryIpGroupDetail {
+ /**
+ * ExampleQueryIpGroupDetail main method
+ *
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ QueryIpGroupDetailRequest request = new QueryIpGroupDetailRequest();
+ request.setIpGroupId("ipg-p40bmsaw3aad");
+ try {
+ QueryIpGroupDetailResponse response = ipCollectionClient.queryIpGroupDetail(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleQueryIpGroupList.java b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleQueryIpGroupList.java
new file mode 100644
index 00000000..90e19103
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleQueryIpGroupList.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.ipcollection.ipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipgroup.QueryIpGroupListRequest;
+import com.baidubce.services.ipcollection.model.ipgroup.QueryIpGroupListResponse;
+
+public class ExampleQueryIpGroupList {
+ /**
+ * ExampleQueryIpGroupList main method
+ *
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ QueryIpGroupListRequest request = new QueryIpGroupListRequest();
+ request.setIpVersion("IPv4");
+ request.setMaxKeys(10);
+ request.setMarker("ipg-de165m88ipiz");
+ try {
+ QueryIpGroupListResponse response = ipCollectionClient.queryIpGroupList(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleUnBindIpSet.java b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleUnBindIpSet.java
new file mode 100644
index 00000000..45db2ddf
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleUnBindIpSet.java
@@ -0,0 +1,39 @@
+package com.baidubce.examples.ipcollection.ipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipgroup.UnBindIpSetRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExampleUnBindIpSet {
+ /**
+ * ExampleUnBindIpSet main method
+ *
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ UnBindIpSetRequest request = new UnBindIpSetRequest();
+ request.setIpGroupId("ipg-p40bmsaw3aad");
+ List ipSetIds = new ArrayList<>();
+ ipSetIds.add("ips-zmbp03b6wz8a");
+ ipSetIds.add("ips-vqkhe16ex5vb");
+ request.setIpSetIds(ipSetIds);
+ try {
+ ipCollectionClient.unBindIpSet(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleUpdateIpGroup.java b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleUpdateIpGroup.java
new file mode 100644
index 00000000..ff0586d3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipgroup/ExampleUpdateIpGroup.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.ipcollection.ipgroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipgroup.UpdateIpGroupRequest;
+
+public class ExampleUpdateIpGroup {
+ /**
+ * ExampleUpdateIpGroup main method
+ *
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ UpdateIpGroupRequest request = new UpdateIpGroupRequest();
+ request.setIpGroupId("ipg-p40bmsaw3aad");
+ request.setName("ipGroupByCode_Update");
+ request.setDescription("test description update");
+ try {
+ ipCollectionClient.updateIpGroup(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleAddIpAddressToIpSet.java b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleAddIpAddressToIpSet.java
new file mode 100644
index 00000000..c4150186
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleAddIpAddressToIpSet.java
@@ -0,0 +1,43 @@
+package com.baidubce.examples.ipcollection.ipset;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipset.AddIpAddressToIpSetRequest;
+import com.baidubce.services.ipcollection.model.TemplateIpAddressInfo;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+public class ExampleAddIpAddressToIpSet {
+ /**
+ * ExampleAddIpAddressToIpSet main method
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ AddIpAddressToIpSetRequest request = new AddIpAddressToIpSetRequest();
+ request.setClientToken(UUID.randomUUID().toString());
+ request.setIpSetId("ips-zmbp03b6wz8a");
+ List ipAddressInfo = new ArrayList<>();
+ TemplateIpAddressInfo templateIpAddressInfo = new TemplateIpAddressInfo();
+ templateIpAddressInfo.setIpAddress("192.168.35.0");
+ templateIpAddressInfo.setDescription("test ip address");
+ ipAddressInfo.add(templateIpAddressInfo);
+ request.setIpAddressInfo(ipAddressInfo);
+ try {
+ ipCollectionClient.addIpAddressToIpSet(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleCreateIpAddressSet.java b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleCreateIpAddressSet.java
new file mode 100644
index 00000000..2ceec2a0
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleCreateIpAddressSet.java
@@ -0,0 +1,45 @@
+package com.baidubce.examples.ipcollection.ipset;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipset.CreateIpAddressSetRequest;
+import com.baidubce.services.ipcollection.model.TemplateIpAddressInfo;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+public class ExampleCreateIpAddressSet {
+ /**
+ * ExampleCreateIpAddressSet main method
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ CreateIpAddressSetRequest createIpAddressGroupRequest = new CreateIpAddressSetRequest();
+ createIpAddressGroupRequest.setClientToken(UUID.randomUUID().toString());
+ createIpAddressGroupRequest.setName("ipSet_name");
+ createIpAddressGroupRequest.setIpVersion("IPv4");
+ List ipAddressInfo = new ArrayList<>();
+ TemplateIpAddressInfo templateIpAddressInfo = new TemplateIpAddressInfo();
+ templateIpAddressInfo.setIpAddress("192.168.33.0");
+ templateIpAddressInfo.setDescription("ipAddress description");
+ ipAddressInfo.add(templateIpAddressInfo);
+ createIpAddressGroupRequest.setIpAddressInfo(ipAddressInfo);
+ createIpAddressGroupRequest.setDescription("ipSet description");
+ try {
+ ipCollectionClient.createIpAddressSet(createIpAddressGroupRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleDeleteIpSet.java b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleDeleteIpSet.java
new file mode 100644
index 00000000..27ba6f23
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleDeleteIpSet.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.ipcollection.ipset;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipset.DeleteIpSetRequest;
+
+import java.util.UUID;
+
+public class ExampleDeleteIpSet {
+ /**
+ * ExampleDeleteIpSet main method
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ DeleteIpSetRequest deleteIpSetRequest = new DeleteIpSetRequest();
+ deleteIpSetRequest.setClientToken(UUID.randomUUID().toString());
+ deleteIpSetRequest.setIpSetId("ips-vc9utvvvhrqb");
+ try {
+ ipCollectionClient.deleteIpSet(deleteIpSetRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleQueryIpSetDetail.java b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleQueryIpSetDetail.java
new file mode 100644
index 00000000..598fce39
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleQueryIpSetDetail.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.ipcollection.ipset;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipset.QueryIpSetDetailRequest;
+import com.baidubce.services.ipcollection.model.ipset.QueryIpSetDetailResponse;
+
+public class ExampleQueryIpSetDetail {
+ /**
+ * ExampleQueryIpSetDetail main method
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ QueryIpSetDetailRequest request = new QueryIpSetDetailRequest();
+ request.setIpSetId("ips-xwnu2mdjcxfy");
+ try {
+ QueryIpSetDetailResponse queryIpSetDetailResponse = ipCollectionClient.queryIpSetDetail(request);
+ System.out.println(queryIpSetDetailResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleQueryIpSetList.java b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleQueryIpSetList.java
new file mode 100644
index 00000000..b4f06a5e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleQueryIpSetList.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.ipcollection.ipset;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipset.QueryIpSetListRequest;
+import com.baidubce.services.ipcollection.model.ipset.QueryIpSetListResponse;
+
+public class ExampleQueryIpSetList {
+
+ /**
+ * ExampleQueryIpSetList main method
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ QueryIpSetListRequest request = new QueryIpSetListRequest();
+ request.setIpVersion("IPv4");
+ request.setMaxKeys(10);
+ request.setMarker("ips-xwnu2mdjcxfy");
+ try {
+ QueryIpSetListResponse response = ipCollectionClient.queryIpSetList(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleRemoveIpAddressFromIpSet.java b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleRemoveIpAddressFromIpSet.java
new file mode 100644
index 00000000..2d95f34a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleRemoveIpAddressFromIpSet.java
@@ -0,0 +1,41 @@
+package com.baidubce.examples.ipcollection.ipset;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipset.RemoveIpAddressFromIpSetRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+public class ExampleRemoveIpAddressFromIpSet {
+
+ /**
+ * ExampleRemoveIpAddressFromIpSet main method
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ RemoveIpAddressFromIpSetRequest request = new RemoveIpAddressFromIpSetRequest();
+ request.setClientToken(UUID.randomUUID().toString());
+ request.setIpSetId("ips-zmbp03b6wz8a");
+ List ipAddressInfo = new ArrayList<>();
+ ipAddressInfo.add("192.168.34.0");
+ ipAddressInfo.add("192.168.35.0");
+ request.setIpAddressInfo(ipAddressInfo);
+ try {
+ ipCollectionClient.removeIpAddressFromIpSet(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleUpdateIpSet.java b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleUpdateIpSet.java
new file mode 100644
index 00000000..699e7459
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipcollection/ipset/ExampleUpdateIpSet.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.ipcollection.ipset;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipcollection.IpCollectionClient;
+import com.baidubce.services.ipcollection.IpCollectionClientConfiguration;
+import com.baidubce.services.ipcollection.model.ipset.UpdateIpSetRequest;
+
+import java.util.UUID;
+
+public class ExampleUpdateIpSet {
+
+ /**
+ * ExampleUpdateIpSet main method
+ * @param args
+ */
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ IpCollectionClientConfiguration config = new IpCollectionClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ IpCollectionClient ipCollectionClient = new IpCollectionClient(config);
+
+ UpdateIpSetRequest updateIpSetRequest = new UpdateIpSetRequest();
+ updateIpSetRequest.setClientToken(UUID.randomUUID().toString());
+ updateIpSetRequest.setDescription("description update");
+ updateIpSetRequest.setIpSetId("ips-zmbp03b6wz8a");
+ updateIpSetRequest.setName("test update ipSet");
+ try {
+ ipCollectionClient.updateIpSet(updateIpSetRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6Gateway.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6Gateway.java
new file mode 100644
index 00000000..fa91468e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6Gateway.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+
+public class ExampleCreateIpv6Gateway {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+ String vpcId = "vpc-g7cufa91auif"; // vpc的ID
+ String name = "testIpv6"; // IPv6网关的名称
+ Integer bandwidthInMbps = 20; // 带宽
+
+ // 计费信息,目前只支持后付费,默认封装
+
+ try {
+ ipv6GatewayClient.createIpv6Gateway(vpcId, name, bandwidthInMbps);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6GatewayEgressOnlyRule.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6GatewayEgressOnlyRule.java
new file mode 100644
index 00000000..5a728043
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6GatewayEgressOnlyRule.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+import com.baidubce.services.ipv6Gateway.model.CreateEgressOnlyRuleRequest;
+import com.baidubce.services.ipv6Gateway.model.CreateEgressOnlyRuleResponse;
+
+public class ExampleCreateIpv6GatewayEgressOnlyRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+ CreateEgressOnlyRuleRequest request = new CreateEgressOnlyRuleRequest();
+ request.setGatewayId("gw-5af4eb65"); // IPv6网关的Id
+ request.setCidr("2400:da00:e003:400::2/128"); // 只出不进策略的CIDR
+ try {
+ CreateEgressOnlyRuleResponse egressOnlyRule = ipv6GatewayClient.createEgressOnlyRule(request);
+ System.out.println(egressOnlyRule);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6GatewayRateLimitRule.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6GatewayRateLimitRule.java
new file mode 100644
index 00000000..05b4de21
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleCreateIpv6GatewayRateLimitRule.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+import com.baidubce.services.ipv6Gateway.model.CreateRateLimitRuleRequest;
+import com.baidubce.services.ipv6Gateway.model.RateLimitRuleResponse;
+
+public class ExampleCreateIpv6GatewayRateLimitRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+ CreateRateLimitRuleRequest request = new CreateRateLimitRuleRequest();
+ request.setEgressBandwidthInMbps(10); // 限速策略的出向带宽
+ request.setGatewayId(""); // IPv6网关的Id
+ request.setIngressBandwidthInMbps(20); // 限速策略的入向带宽
+ request.setIpv6Address("2400:da00:e003:400::1"); // Ipv6的地址
+
+ try {
+ RateLimitRuleResponse rateLimitRule = ipv6GatewayClient.createRateLimitRule(request);
+ System.out.println(rateLimitRule);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6Gateway.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6Gateway.java
new file mode 100644
index 00000000..b8dcdb59
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6Gateway.java
@@ -0,0 +1,28 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+
+public class ExampleDeleteIpv6Gateway {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+ String ipv6GatewayId = "gw-5af4eb65"; // IPv6网关的Id
+ try {
+ ipv6GatewayClient.deleteIpv6Gateway(ipv6GatewayId);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6GatewayEgressOnlyRule.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6GatewayEgressOnlyRule.java
new file mode 100644
index 00000000..1f0ee5f9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6GatewayEgressOnlyRule.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+
+public class ExampleDeleteIpv6GatewayEgressOnlyRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+
+ String ipv6GatewayId = "gw-5af4eb65"; // IPv6网关的Id
+ String egressOnlyRuleId = "pv6_seg-c9e3b428"; // 只出不进策略的Id
+ try {
+ ipv6GatewayClient.deleteIpv6GatewayEgressOnlyRule(ipv6GatewayId, egressOnlyRuleId);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6GatewayRateLimitRule.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6GatewayRateLimitRule.java
new file mode 100644
index 00000000..0b4690fb
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleDeleteIpv6GatewayRateLimitRule.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+
+public class ExampleDeleteIpv6GatewayRateLimitRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+
+ String ipv6GatewayId = "gw-5af4eb65"; // IPv6网关的Id
+ String rateLimitRuleId = "ipv6_qos-0b56ec38"; // 限速策略的Id
+ try {
+ ipv6GatewayClient.deleteIpv6GatewayRateLimitRule(ipv6GatewayId, rateLimitRuleId);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleGetIpv6Gateway.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleGetIpv6Gateway.java
new file mode 100644
index 00000000..2a48a4b3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleGetIpv6Gateway.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+import com.baidubce.services.ipv6Gateway.model.Ipv6GatewayResponse;
+
+public class ExampleGetIpv6Gateway {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+ String vpcId = "vpcId=g7cufa91auif"; // IPv6网关所属的vpc的Id
+
+ try {
+ Ipv6GatewayResponse ipv6Gateway = ipv6GatewayClient.getIpv6Gateway(vpcId);
+ System.out.println(ipv6Gateway);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleListIpv6GatewayEgressOnlyRule.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleListIpv6GatewayEgressOnlyRule.java
new file mode 100644
index 00000000..f7329e01
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleListIpv6GatewayEgressOnlyRule.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+import com.baidubce.services.ipv6Gateway.model.ListEgressOnlyRuleResponse;
+
+public class ExampleListIpv6GatewayEgressOnlyRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+ String ipv6GatewayId = "gw-5af4eb65"; // IPv6网关的Id
+
+ try {
+ ListEgressOnlyRuleResponse listEgressOnlyRuleResponse = ipv6GatewayClient.listEgressOnlyRule(ipv6GatewayId);
+ System.out.println(listEgressOnlyRuleResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleListIpv6GatewayRateLimitRule.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleListIpv6GatewayRateLimitRule.java
new file mode 100644
index 00000000..daf7241f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleListIpv6GatewayRateLimitRule.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+import com.baidubce.services.ipv6Gateway.model.ListRateLimitRuleResponse;
+
+public class ExampleListIpv6GatewayRateLimitRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+
+ String ipv6GatewayId = "gw-5af4eb65"; // IPv6网关的Id
+
+ try {
+ ListRateLimitRuleResponse listRateLimitRuleResponse = ipv6GatewayClient.listRateLimitRule(ipv6GatewayId);
+ System.out.println(listRateLimitRuleResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleResizeIpv6Gateway.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleResizeIpv6Gateway.java
new file mode 100644
index 00000000..0bf044a6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleResizeIpv6Gateway.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+
+public class ExampleResizeIpv6Gateway {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+ String ipv6GatewayId ="gw-5af4eb65"; // IPv6网关的Id
+ int newBandwidthInMbps = 20; // 更新后的IPv6网关的带宽
+
+ try {
+ ipv6GatewayClient.resizeIpv6Gateway(ipv6GatewayId, newBandwidthInMbps);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/ipv6gateway/ExampleUpdateIpv6GatewayRateLimitRule.java b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleUpdateIpv6GatewayRateLimitRule.java
new file mode 100644
index 00000000..4571ee65
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/ipv6gateway/ExampleUpdateIpv6GatewayRateLimitRule.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.ipv6gateway;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClient;
+import com.baidubce.services.ipv6Gateway.Ipv6GatewayClientConfiguration;
+import com.baidubce.services.ipv6Gateway.model.UpdateRateLimitRuleRequest;
+
+public class ExampleUpdateIpv6GatewayRateLimitRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ Ipv6GatewayClientConfiguration config = new Ipv6GatewayClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ Ipv6GatewayClient ipv6GatewayClient = new Ipv6GatewayClient(config); // 初始化Client
+
+ UpdateRateLimitRuleRequest updateRateLimitRule = new UpdateRateLimitRuleRequest();
+ updateRateLimitRule.setGatewayId("gw-5af4eb65"); // IPv6网关的Id
+ updateRateLimitRule.setEgressBandwidthInMbps(8); // 限速策略的出向带宽
+ updateRateLimitRule.setIngressBandwidthInMbps(6); // 限速策略的入向带宽
+ updateRateLimitRule.setRateLimitRuleId("ipv6_qos-0b56ec38"); // 限速策略的Id
+
+ try {
+ ipv6GatewayClient.updateRateLimitRule(updateRateLimitRule);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/lbdc/ExampleCreateLbdc.java b/src/main/java/com/baidubce/examples/lbdc/ExampleCreateLbdc.java
new file mode 100644
index 00000000..3cf3a58b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/lbdc/ExampleCreateLbdc.java
@@ -0,0 +1,48 @@
+package com.baidubce.examples.lbdc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.lbdc.LbdcClient;
+import com.baidubce.services.lbdc.model.CreateLbdcRequest;
+import com.baidubce.services.lbdc.model.CreateLbdcResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleCreateLbdc {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LbdcClient lbdcClient = new LbdcClient(config); // 初始化LbdcClient
+
+ CreateLbdcRequest createLbdcRequest = new CreateLbdcRequest();
+ createLbdcRequest.setName("lbdcName"); // 创建的lbdc名称
+ createLbdcRequest.setType("4Layer"); // 创建的lbdc类型,4Layer或7Layer
+ createLbdcRequest.setCcuCount(2); // 创建的lbdc的ccu数量 (ccu代表集群的性能容量单位)
+ CreateLbdcRequest.BillingForCreate billingForCreate = new CreateLbdcRequest.BillingForCreate();
+ billingForCreate.setPaymentTiming("Prepaid"); // 创建的lbdc的计费方式,Prepaid表示预付费
+ CreateLbdcRequest.Reservation reservation = new CreateLbdcRequest.Reservation();
+ reservation.setReservationLength(3); // 创建的lbdc的预付费时长的长度,单位为月
+ billingForCreate.setReservation(reservation);
+ createLbdcRequest.setRenewReservation(reservation); // 创建的lbdc的续费时长的长度,单位为月
+ createLbdcRequest.setBilling(billingForCreate);
+
+ try {
+ CreateLbdcResponse response = lbdcClient.createLbdc(createLbdcRequest, "");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/lbdc/ExampleGetBoundBlBListOfLbdc.java b/src/main/java/com/baidubce/examples/lbdc/ExampleGetBoundBlBListOfLbdc.java
new file mode 100644
index 00000000..b77050e8
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/lbdc/ExampleGetBoundBlBListOfLbdc.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.lbdc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.lbdc.LbdcClient;
+import com.baidubce.services.lbdc.model.GetBoundBlBListOfLbdcResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleGetBoundBlBListOfLbdc {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LbdcClient lbdcClient = new LbdcClient(config); // 初始化LbdcClient
+
+ try {
+ GetBoundBlBListOfLbdcResponse response = lbdcClient.getBoundBlBListOfLbdc("bgw_group-f632f4bb");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/lbdc/ExampleGetLbdc.java b/src/main/java/com/baidubce/examples/lbdc/ExampleGetLbdc.java
new file mode 100644
index 00000000..180290dc
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/lbdc/ExampleGetLbdc.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.lbdc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.lbdc.LbdcClient;
+import com.baidubce.services.lbdc.model.GetLbdcResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleGetLbdc {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LbdcClient lbdcClient = new LbdcClient(config); // 初始化LbdcClient
+
+ try {
+ GetLbdcResponse response = lbdcClient.getLbdc("bgw_group-1f1b6e17");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/lbdc/ExampleListLbdc.java b/src/main/java/com/baidubce/examples/lbdc/ExampleListLbdc.java
new file mode 100644
index 00000000..a769c6bc
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/lbdc/ExampleListLbdc.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.lbdc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.lbdc.LbdcClient;
+import com.baidubce.services.lbdc.model.ListLbdcResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleListLbdc {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LbdcClient lbdcClient = new LbdcClient(config); // 初始化LbdcClient
+
+ try {
+ ListLbdcResponse response = lbdcClient.listLbdc(null, null);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/lbdc/ExampleRenewLbdc.java b/src/main/java/com/baidubce/examples/lbdc/ExampleRenewLbdc.java
new file mode 100644
index 00000000..8483ad8b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/lbdc/ExampleRenewLbdc.java
@@ -0,0 +1,41 @@
+package com.baidubce.examples.lbdc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.lbdc.LbdcClient;
+import com.baidubce.services.lbdc.model.RenewLbdcRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleRenewLbdc {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LbdcClient lbdcClient = new LbdcClient(config); // 初始化LbdcClient
+
+ RenewLbdcRequest renewLbdcRequest = new RenewLbdcRequest();
+ RenewLbdcRequest.BillingForRenew billingForRenew = new RenewLbdcRequest.BillingForRenew();
+ RenewLbdcRequest.BillingForRenew.Reservation reservation = new RenewLbdcRequest.BillingForRenew.Reservation();
+ reservation.setReservationLength(5); // 续费时长,单位为月
+ billingForRenew.setReservation(reservation);
+ renewLbdcRequest.setBilling(billingForRenew);
+
+ try {
+ lbdcClient.renewLbdc("bgw_group-1f1b6e17", renewLbdcRequest, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/lbdc/ExampleUpdateLbdc.java b/src/main/java/com/baidubce/examples/lbdc/ExampleUpdateLbdc.java
new file mode 100644
index 00000000..d32df02d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/lbdc/ExampleUpdateLbdc.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.lbdc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.lbdc.LbdcClient;
+import com.baidubce.services.lbdc.model.UpdateLbdcRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleUpdateLbdc {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LbdcClient lbdcClient = new LbdcClient(config); // 初始化LbdcClient
+
+ UpdateLbdcRequest updateLbdcRequest = new UpdateLbdcRequest();
+ updateLbdcRequest.setDesc("updateDesc"); // 修改描述
+
+ try {
+ lbdcClient.updateLbdc("bgw_group-1f1b6e17", updateLbdcRequest, null);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/lbdc/ExampleUpgradeLbdc.java b/src/main/java/com/baidubce/examples/lbdc/ExampleUpgradeLbdc.java
new file mode 100644
index 00000000..4aa3b03e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/lbdc/ExampleUpgradeLbdc.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.lbdc;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.lbdc.LbdcClient;
+import com.baidubce.services.lbdc.model.UpgradeLbdcRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleUpgradeLbdc {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LbdcClient lbdcClient = new LbdcClient(config); // 初始化LbdcClient
+
+ UpgradeLbdcRequest upgradeLbdcRequest = new UpgradeLbdcRequest();
+ upgradeLbdcRequest.setCcuCount(8); // 升级后CCU数量
+
+ try {
+ lbdcClient.upgradeLbdc("bgw_group-1f1b6e17", upgradeLbdcRequest, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleBatchCreateDnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleBatchCreateDnatRule.java
new file mode 100644
index 00000000..d1eda6c6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleBatchCreateDnatRule.java
@@ -0,0 +1,40 @@
+package com.baidubce.examples.nat;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.BatchAddDnatRulesRequest;
+import com.baidubce.services.nat.model.CreateDnatRule;
+
+public class ExampleBatchCreateDnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ BatchAddDnatRulesRequest batchAddDnatRulesRequest = new BatchAddDnatRulesRequest();
+ batchAddDnatRulesRequest.setNatId("nat-bmnbjkvm8h24");
+ CreateDnatRule createDnatRule = new CreateDnatRule();
+ createDnatRule.setRuleName("aa");
+ createDnatRule.setProtocol("TCP");
+ createDnatRule.setPrivatePort(8990);
+ createDnatRule.setPrivateIpAddress("192.168.0.25");
+ createDnatRule.setPublicIpAddress("100.88.10.213");
+ createDnatRule.setPublicPort(8991);
+ batchAddDnatRulesRequest.setRules(Arrays.asList(createDnatRule));
+ try {
+ natClient.batchAddDnatRules(batchAddDnatRulesRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleBatchCreateSnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleBatchCreateSnatRule.java
new file mode 100644
index 00000000..8a6eaf2a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleBatchCreateSnatRule.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.nat;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.BatchAddSnatRuleRequest;
+
+public class ExampleBatchCreateSnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ BatchAddSnatRuleRequest batchAddSnatRuleRequest = new BatchAddSnatRuleRequest();
+ batchAddSnatRuleRequest.setNatId("nat-bmnbjkvm8h24");
+ BatchAddSnatRuleRequest.CreateSnatRule createSnatRule = new BatchAddSnatRuleRequest.CreateSnatRule();
+ createSnatRule.setRuleName("name");
+ createSnatRule.setSourceCIDR("192.168.0.0/24");
+ createSnatRule.setPublicIpsAddress(Arrays.asList("100.88.0.51"));
+ batchAddSnatRuleRequest.setSnatRules(Arrays.asList(createSnatRule));
+ try {
+ natClient.batchAddSnatRules(batchAddSnatRuleRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleBindDnatEip.java b/src/main/java/com/baidubce/examples/nat/ExampleBindDnatEip.java
new file mode 100644
index 00000000..8184edf8
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleBindDnatEip.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.BindDnatEipRequest;
+
+import java.util.Arrays;
+
+public class ExampleBindDnatEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ BindDnatEipRequest request = new BindDnatEipRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要绑定dnat EIP的nat
+ request.setDnatEips(Arrays.asList("180.76.186.174")); // 公网IP
+ try {
+ natClient.bindDnatEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleBindSnatEip.java b/src/main/java/com/baidubce/examples/nat/ExampleBindSnatEip.java
new file mode 100644
index 00000000..6c1b88b4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleBindSnatEip.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.BindEipRequest;
+
+import java.util.Arrays;
+
+public class ExampleBindSnatEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ BindEipRequest request = new BindEipRequest();
+ request.setEips(Arrays.asList("180.76.186.174")); // 需要绑定的EIP
+ request.setNatId("nat-b58rnkn1g98h"); // 需要绑定EIP的natId
+
+ try {
+ natClient.bindEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleCreateDnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleCreateDnatRule.java
new file mode 100644
index 00000000..5711368a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleCreateDnatRule.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.CreateDnatRuleRequest;
+
+public class ExampleCreateDnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ CreateDnatRuleRequest request = new CreateDnatRuleRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // natID
+ request.setRuleName("ruleTest"); // 名称,由大小写字母、数字以及-_ /.特殊字符组成,必须以字母开头,长度1-65
+ request.setPublicIpAddress("180.76.186.174"); // 公网IP,关联在NAT网关DNAT上的EIP或共享带宽中的IP
+ request.setPrivateIpAddress("192.168.1.1"); // 内网IP
+ request.setProtocol("all"); // 协议,支持TCP、UDP、all
+
+ try {
+ natClient.createDnatRule(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleCreateNat.java b/src/main/java/com/baidubce/examples/nat/ExampleCreateNat.java
new file mode 100644
index 00000000..dceb30d9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleCreateNat.java
@@ -0,0 +1,55 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.model.Billing;
+import com.baidubce.services.bcc.model.Reservation;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.CreateNatRequest;
+import com.baidubce.services.nat.model.CreateNatResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExampleCreateNat {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ CreateNatRequest request = new CreateNatRequest(); // 创建NAT 请求参数
+ Reservation reservation = new Reservation(); // 保留信息,支付方式为后支付时不需要设置,预支付时必须设置
+ reservation.setReservationLength(1); // 时长
+ reservation.setReservationTimeUnit("month"); // 单位
+ Billing billing = new Billing();
+ billing.setPaymentTiming("Prepaid"); // 预付费(Prepaid)和后付费(Postpaid)
+ billing.setReservation(reservation);
+ request.setBilling(billing);
+ request.setName("NatTest"); // nat名字
+ // NAT网关的大小,
+ // 有small(最多支持绑定5个公网IP)、
+ // medium(最多支持绑定10个公网IP)、
+ // large(最多支持绑定15个公网IP)三种;该参数和cuNum只能二选一
+// request.setSpec("small");
+ request.setCuNum(2); // NAT网关的CU数量,该参数和spec只能二选一
+ request.setVpcId("vpc-a4sg6vsfzbra"); // 创建nat网关所在的vpcId
+ List tags = new ArrayList(); // 标签信息
+ tags.add(new TagModel().withTagKey("testKey").withTagValue("testValue"));
+ request.setTags(tags);
+
+ try {
+ CreateNatResponse createNatResponse = natClient.createNat(request);
+ System.out.println(createNatResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleCreateSnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleCreateSnatRule.java
new file mode 100644
index 00000000..0909a23d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleCreateSnatRule.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.CreateSnatRuleRequest;
+
+import java.util.Arrays;
+
+public class ExampleCreateSnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ CreateSnatRuleRequest request = new CreateSnatRuleRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要创建snat 的nat
+ request.setRuleName("rule2"); // 名称,由大小写字母、数字以及-_ /.特殊字符组成,必须以字母开头,长度1-65
+ request.setSourceCIDR("192.168.1.0/24"); // 内网IP/网段
+ request.setPublicIpsAddress(Arrays.asList("180.76.186.174")); // 公网IPs,关联在NAT网关SNAT上的EIP或共享带宽中的IPs
+
+ try {
+ natClient.createSnatRule(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleDeleteDnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleDeleteDnatRule.java
new file mode 100644
index 00000000..b9feec5e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleDeleteDnatRule.java
@@ -0,0 +1,30 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.DeleteNatRuleRequest;
+
+public class ExampleDeleteDnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ DeleteNatRuleRequest request = new DeleteNatRuleRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // dnat所属nat
+ request.setRuleId("rule-zrsaybxm7nrn"); // 需要删除的dnat规则ID
+
+ try {
+ natClient.deleteDnatRule(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleDeleteNat.java b/src/main/java/com/baidubce/examples/nat/ExampleDeleteNat.java
new file mode 100644
index 00000000..dc7c7f2e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleDeleteNat.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.ReleaseNatRequest;
+
+public class ExampleDeleteNat {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ ReleaseNatRequest request = new ReleaseNatRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要删除的natId
+
+ try {
+ natClient.releaseNat(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleDeleteSnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleDeleteSnatRule.java
new file mode 100644
index 00000000..9019899d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleDeleteSnatRule.java
@@ -0,0 +1,30 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.DeleteNatRuleRequest;
+
+public class ExampleDeleteSnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ DeleteNatRuleRequest request = new DeleteNatRuleRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要删除snat 的nat
+ request.setRuleId("rule-zrsaybxm7nrn"); // 需要删除的snat规则ID
+
+ try {
+ natClient.deleteSnatRule(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleGetNat.java b/src/main/java/com/baidubce/examples/nat/ExampleGetNat.java
new file mode 100644
index 00000000..6d7870e4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleGetNat.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.GetNatResponse;
+
+public class ExampleGetNat {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+
+ try {
+ GetNatResponse response = natClient.getNat("nat-b58rnkn1g98h"); // 需要查看详情的natId
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleListDnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleListDnatRule.java
new file mode 100644
index 00000000..e9394c9f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleListDnatRule.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.ListDnatRuleResponse;
+import com.baidubce.services.nat.model.ListNatRuleRequest;
+
+public class ExampleListDnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ ListNatRuleRequest request = new ListNatRuleRequest();
+ request.setMaxKeys(10);
+ request.setNatId("nat-b58rnkn1g98h"); // 需要查询dnat规则的natId
+
+ try {
+ ListDnatRuleResponse listDnatRuleResponse = natClient.listDnatRule(request);
+ System.out.println(listDnatRuleResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleListNat.java b/src/main/java/com/baidubce/examples/nat/ExampleListNat.java
new file mode 100644
index 00000000..7b74af7d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleListNat.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.ListNatRequest;
+import com.baidubce.services.nat.model.ListNatResponse;
+
+public class ExampleListNat {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ ListNatRequest request = new ListNatRequest();
+ request.setVpcId("vpcId"); // 根据vpcId查询vpc下面的nat列表
+
+ try {
+ ListNatResponse response = natClient.listNat(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleListSnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleListSnatRule.java
new file mode 100644
index 00000000..d3a5338c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleListSnatRule.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.ListNatRuleRequest;
+import com.baidubce.services.nat.model.ListSnatRuleResponse;
+
+public class ExampleListSnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ ListNatRuleRequest request = new ListNatRuleRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要查询snat 的nat
+
+
+ try {
+ ListSnatRuleResponse listSnatRuleResponse = natClient.listSnatRule(request);
+ System.out.println(listSnatRuleResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleRenewNat.java b/src/main/java/com/baidubce/examples/nat/ExampleRenewNat.java
new file mode 100644
index 00000000..65229606
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleRenewNat.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.model.Billing;
+import com.baidubce.services.bcc.model.Reservation;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.PurchaseReservedNatRequest;
+
+public class ExampleRenewNat {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ PurchaseReservedNatRequest request = new PurchaseReservedNatRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要续费的natId, 只有预付费nat才能续费
+ Billing billing = new Billing(); // 续费信息
+ Reservation reservation = new Reservation();
+ reservation.setReservationLength(1); // 续费时长
+ reservation.setReservationTimeUnit("month"); // 续费单位
+ billing.setReservation(reservation);
+ request.setBilling(billing);
+
+ try {
+ natClient.purchaseReservedNat(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleUnbindDnatEip.java b/src/main/java/com/baidubce/examples/nat/ExampleUnbindDnatEip.java
new file mode 100644
index 00000000..ccf90f1b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleUnbindDnatEip.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.BindDnatEipRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExampleUnbindDnatEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ BindDnatEipRequest request = new BindDnatEipRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要解绑dnat EIP的nat
+ List dnatEips = new ArrayList();
+ dnatEips.add("180.76.186.174"); // 公网IP
+ request.setDnatEips(dnatEips);
+
+ try {
+ natClient.unbindDnatEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleUnbindSnatEip.java b/src/main/java/com/baidubce/examples/nat/ExampleUnbindSnatEip.java
new file mode 100644
index 00000000..a3794a37
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleUnbindSnatEip.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.BindEipRequest;
+
+import java.util.Arrays;
+
+public class ExampleUnbindSnatEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ BindEipRequest request = new BindEipRequest();
+ request.setEips(Arrays.asList("180.76.186.174")); // 需要解绑的SNAT EIP
+ request.setNatId("nat-b58rnkn1g98h"); // natID
+
+ try {
+ natClient.unbindEip(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleUpdateDnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleUpdateDnatRule.java
new file mode 100644
index 00000000..d2fa2901
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleUpdateDnatRule.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.UpdateDnatRuleRequest;
+
+public class ExampleUpdateDnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ UpdateDnatRuleRequest request = new UpdateDnatRuleRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // dnat所属natId
+ request.setRuleId(""); // dnat的规则ID
+ request.setRuleName("rule2"); // DNAT规则名字
+ request.setProtocol("UDP"); // 协议,支持TCP、UDP、all
+ request.setPrivatePort(80); // 公网端口
+ request.setPublicPort(80); // 内网端口
+ request.setPrivateIpAddress("172.16.0.101"); // 内网IP
+
+ try {
+ natClient.updateDnatRule(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleUpdateNat.java b/src/main/java/com/baidubce/examples/nat/ExampleUpdateNat.java
new file mode 100644
index 00000000..ecd03889
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleUpdateNat.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.ModifyNatRequest;
+
+public class ExampleUpdateNat {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ ModifyNatRequest request = new ModifyNatRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要修改的natID
+ request.setName("name"); // 修改的名字
+
+ try {
+ natClient.modifyNat(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+
+}
diff --git a/src/main/java/com/baidubce/examples/nat/ExampleUpdateSnatRule.java b/src/main/java/com/baidubce/examples/nat/ExampleUpdateSnatRule.java
new file mode 100644
index 00000000..616601ba
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/nat/ExampleUpdateSnatRule.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.nat;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.nat.NatClient;
+import com.baidubce.services.nat.NatClientConfiguration;
+import com.baidubce.services.nat.model.UpdateSnatRuleRequest;
+
+import java.util.Arrays;
+
+public class ExampleUpdateSnatRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ NatClientConfiguration config = new NatClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ NatClient natClient = new NatClient(config); // 初始化Client
+
+ UpdateSnatRuleRequest request = new UpdateSnatRuleRequest();
+ request.setNatId("nat-b58rnkn1g98h"); // 需要更新snat 的nat
+ request.setRuleId("rule-zrsaybxm7nrn"); // 需要更新的snat规则ID
+ request.setRuleName("rule2"); // // 名称,由大小写字母、数字以及-_ /.特殊字符组成,必须以字母开头,长度1-65
+ request.setSourceCIDR("192.168.1.0/24"); // 内网IP/网段
+ request.setPublicIpsAddress(Arrays.asList("180.76.186.174")); // 公网IPs,关联在NAT网关SNAT上的EIP或共享带宽中的IPs
+
+ try {
+ natClient.updateSnatRule(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleCloseSyncDns.java b/src/main/java/com/baidubce/examples/peerconn/ExampleCloseSyncDns.java
new file mode 100644
index 00000000..f8a58a28
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleCloseSyncDns.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.SyncDnsRequest;
+
+import java.util.UUID;
+
+public class ExampleCloseSyncDns {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ SyncDnsRequest syncDnsRequest = new SyncDnsRequest();
+ syncDnsRequest.setPeerConnId("peerconn-dtska37u3eih"); // 已开启同步dns记录的对等连接
+ syncDnsRequest.setRole("initiator"); // 发起端"initiator" 接收端"acceptor"
+ syncDnsRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.closeSyncDns(syncDnsRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleCreatePeerConn.java b/src/main/java/com/baidubce/examples/peerconn/ExampleCreatePeerConn.java
new file mode 100644
index 00000000..5ed4ed16
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleCreatePeerConn.java
@@ -0,0 +1,59 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.CreatePeerConnRequest;
+import com.baidubce.services.peerconn.model.CreatePeerConnResponse;
+import com.google.common.collect.Lists;
+
+import java.util.List;
+import java.util.UUID;
+
+public class ExampleCreatePeerConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ CreatePeerConnRequest createPeerConnRequest = new CreatePeerConnRequest();
+ createPeerConnRequest.setBandwidthInMbps(500); // 对等连接的带宽
+ createPeerConnRequest.setDescription("java sdk test peer conn."); // 对等连接的备注
+ createPeerConnRequest.setLocalIfName("peer_conn_local"); // 本端接口名称
+ createPeerConnRequest.setLocalVpcId("vpc-nteqxm76n65t"); // 本端VPC的ID
+ createPeerConnRequest.setPeerAccountId("PeerAccountId"); // 对端账户ID,只有在建立跨账号的对等连接时需要该字段
+ createPeerConnRequest.setPeerVpcId("vpc-z9new983u7ne"); // 对等连接对端VPC的ID
+ createPeerConnRequest.setPeerRegion("su"); // 对等连接的对端区域
+ createPeerConnRequest.setPeerIfName("peer_conn_peer"); // 对等连接对端接口名称,只有本账号的对等连接才允许设置该字段
+ createPeerConnRequest.setDeleteProtect(true); // 对等连接是否开启释放保护
+
+ // 计费信息
+ Billing.Reservation reservation = new Billing.Reservation();
+ reservation.setReservationLength(1);
+ reservation.setReservationTimeUnit("month");
+ Billing billing = new Billing();
+ billing.setPaymentTiming("Prepaid");
+ billing.setReservation(reservation);
+ createPeerConnRequest.setBilling(billing);
+
+ // 待创建的标签键值对列表。
+ List tags = Lists.newArrayList(new TagModel().withTagKey("testKey").withTagValue("testValue"));
+ createPeerConnRequest.setTags(tags);
+
+ createPeerConnRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+ try {
+ CreatePeerConnResponse createPeerConnResponse = peerConnClient.createPeerConn(createPeerConnRequest);
+ System.out.println("createPeerConnResponse = " + createPeerConnResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleDeletePeerConn.java b/src/main/java/com/baidubce/examples/peerconn/ExampleDeletePeerConn.java
new file mode 100644
index 00000000..ced8e168
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleDeletePeerConn.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.PeerConnIdRequest;
+
+import java.util.UUID;
+
+public class ExampleDeletePeerConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ PeerConnIdRequest peerConnIdRequest = new PeerConnIdRequest();
+ peerConnIdRequest.setPeerConnId("id"); // 对等连接的ID
+ peerConnIdRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.release(peerConnIdRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleGetPeerConn.java b/src/main/java/com/baidubce/examples/peerconn/ExampleGetPeerConn.java
new file mode 100644
index 00000000..c75e50bf
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleGetPeerConn.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.GetPeerConnRequest;
+import com.baidubce.services.peerconn.model.GetPeerConnResponse;
+
+public class ExampleGetPeerConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ GetPeerConnRequest getPeerConnRequest = new GetPeerConnRequest();
+ getPeerConnRequest.setPeerConnId("peerconn-dtska37u3eih"); // 对等连接的ID
+
+ // "initiator"表示发起端"acceptor"表示接受端,同region的对等连接可以据此进行详情查询。
+ // 若不设置该参数,同region则随机返回一端信息。
+ getPeerConnRequest.setRole("initiator");
+
+ try {
+ GetPeerConnResponse getPeerConnResponse = peerConnClient.getPeerConn(getPeerConnRequest);
+ System.out.println("getPeerConnResponse = " + getPeerConnResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleListPeerConn.java b/src/main/java/com/baidubce/examples/peerconn/ExampleListPeerConn.java
new file mode 100644
index 00000000..fe3aada7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleListPeerConn.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.ListPeerConnRequest;
+import com.baidubce.services.peerconn.model.ListPeerConnResponse;
+
+public class ExampleListPeerConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ ListPeerConnRequest listPeerConnRequest = new ListPeerConnRequest();
+ listPeerConnRequest.setVpcId("vpc-0pyknh7t2cgn"); // vpc的ID
+ listPeerConnRequest.setMarker(""); // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ listPeerConnRequest.setMaxKeys(10); // 每页包含的最大数量,最大数量不超过1000。缺省值为1000
+
+ try {
+ ListPeerConnResponse listPeerConnResponse = peerConnClient.listPeerConn(listPeerConnRequest);
+ System.out.println("listPeerConnResponse = " + listPeerConnResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleModifyBandwith.java b/src/main/java/com/baidubce/examples/peerconn/ExampleModifyBandwith.java
new file mode 100644
index 00000000..7c6fce8e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleModifyBandwith.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.ModifyBandwidthRequest;
+
+import java.util.UUID;
+
+public class ExampleModifyBandwith {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ ModifyBandwidthRequest modifyBandwidthRequest = new ModifyBandwidthRequest();
+ modifyBandwidthRequest.setPeerConnId("peerconn-dtska37u3eih"); // 待升降配的对等连接ID
+ modifyBandwidthRequest.setNewBandwidthInMbps(400); // 升降级的带宽
+ modifyBandwidthRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.modifyBandwith(modifyBandwidthRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleModifyPeerConn.java b/src/main/java/com/baidubce/examples/peerconn/ExampleModifyPeerConn.java
new file mode 100644
index 00000000..f4c7f451
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleModifyPeerConn.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.ModifyPeerConnRequest;
+
+import java.util.UUID;
+
+public class ExampleModifyPeerConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ ModifyPeerConnRequest modifyPeerConnRequest = new ModifyPeerConnRequest();
+ modifyPeerConnRequest.setPeerConnId("peerconn-dtska37u3eih"); // 对等连接的ID
+ modifyPeerConnRequest.setLocalIfId("qpif-v305m2suuzmq"); // 对等连接的接口ID 不可更改
+ modifyPeerConnRequest.setLocalIfName("peer_conn_local_update"); // 本端接口名称
+ modifyPeerConnRequest.setDescription("update peer conn description"); // 备注
+ modifyPeerConnRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.modifyPeerConn(modifyPeerConnRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleOpenSyncDns.java b/src/main/java/com/baidubce/examples/peerconn/ExampleOpenSyncDns.java
new file mode 100644
index 00000000..135704c0
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleOpenSyncDns.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.SyncDnsRequest;
+
+import java.util.UUID;
+
+public class ExampleOpenSyncDns {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ SyncDnsRequest syncDnsRequest = new SyncDnsRequest();
+ syncDnsRequest.setPeerConnId("peerconn-dtska37u3eih"); // 开启同步dns记录的对等连接
+ syncDnsRequest.setRole("initiator"); // 发起端"initiator" 接收端"acceptor"
+ syncDnsRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.openSyncDns(syncDnsRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleProcessPeerConnApply.java b/src/main/java/com/baidubce/examples/peerconn/ExampleProcessPeerConnApply.java
new file mode 100644
index 00000000..936caa77
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleProcessPeerConnApply.java
@@ -0,0 +1,44 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.PeerConnIdRequest;
+
+import java.util.UUID;
+
+public class ExampleProcessPeerConnApply {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ // 接收对等连接申请
+ PeerConnIdRequest peerConnIdRequest = new PeerConnIdRequest();
+ peerConnIdRequest.setPeerConnId("peerconn-4pj6d45dv79n"); // 对等连接的ID
+ peerConnIdRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.accept(peerConnIdRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ // 拒绝对等连接申请
+ PeerConnIdRequest peerConnIdRequest1 = new PeerConnIdRequest();
+ peerConnIdRequest1.setPeerConnId("peerconn-2a2p0cftceg5"); // 对等连接的ID
+ peerConnIdRequest1.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.reject(peerConnIdRequest1);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExamplePurchaseReserved.java b/src/main/java/com/baidubce/examples/peerconn/ExamplePurchaseReserved.java
new file mode 100644
index 00000000..749b67a3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExamplePurchaseReserved.java
@@ -0,0 +1,43 @@
+package com.baidubce.examples.peerconn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.PurchaseReservedPeerConnRequest;
+
+import java.util.UUID;
+
+public class ExamplePurchaseReserved {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ PurchaseReservedPeerConnRequest purchaseReservedPeerConnRequest = new PurchaseReservedPeerConnRequest();
+ purchaseReservedPeerConnRequest.setPeerConnId("peerconn-wchhrady3my3"); // 续费的对等连接
+
+ // 订单信息
+ Billing.Reservation reservation = new Billing.Reservation();
+ reservation.setReservationLength(1);
+ reservation.setReservationTimeUnit("month");
+
+ Billing billing = new Billing();
+ billing.setReservation(reservation);
+ purchaseReservedPeerConnRequest.setBilling(billing);
+
+ purchaseReservedPeerConnRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.purchaseReserved(purchaseReservedPeerConnRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/peerconn/ExampleSwitchDeleteProtect.java b/src/main/java/com/baidubce/examples/peerconn/ExampleSwitchDeleteProtect.java
new file mode 100644
index 00000000..67883c6a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/peerconn/ExampleSwitchDeleteProtect.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.peerconn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.peerconn.PeerConnClient;
+import com.baidubce.services.peerconn.PeerConnClientConfiguration;
+import com.baidubce.services.peerconn.model.SwitchPeerConnDeleteProtectRequest;
+
+public class ExampleSwitchDeleteProtect {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ PeerConnClientConfiguration config = new PeerConnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ PeerConnClient peerConnClient = new PeerConnClient(config); // 初始化Client
+
+ SwitchPeerConnDeleteProtectRequest request = new SwitchPeerConnDeleteProtectRequest();
+ request.setPeerConnId("peerconn-ptvh4hbi6285"); // 对等连接的ID
+ request.setDeleteProtect(false); // 开启释放保护
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ peerConnClient.switchDeleteProtect(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleAddRecordOnPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleAddRecordOnPrivateZone.java
new file mode 100644
index 00000000..9ab7d2d6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleAddRecordOnPrivateZone.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+import com.baidubce.services.localdns.model.AddRecordRequest;
+import com.baidubce.services.localdns.model.AddRecordResponse;
+
+public class ExampleAddRecordOnPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String zoneId = "zone-eej8ps6qp5ic"; // 要添加解析记录的privateZone的id
+ AddRecordRequest addRecordRequest = new AddRecordRequest();
+ addRecordRequest.setRr("www"); // 主机记录
+ addRecordRequest.setType("A"); // 记录类型
+ addRecordRequest.setValue("1.1.1.1"); // 记录值
+ try {
+ AddRecordResponse response = ldClient.addRecord(zoneId, addRecordRequest, "");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleBindVpcOnPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleBindVpcOnPrivateZone.java
new file mode 100644
index 00000000..c725e27a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleBindVpcOnPrivateZone.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+import com.baidubce.services.localdns.model.BindVpcRequest;
+
+import java.util.Arrays;
+
+public class ExampleBindVpcOnPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String zoneId = "zone-eej8ps6qp5ic"; // 要关联的privateZone的id
+ BindVpcRequest bindVpcRequest = new BindVpcRequest();
+ bindVpcRequest.setRegion("bj"); // 关联的vpc所在区域
+ bindVpcRequest.setVpcIds(Arrays.asList("vpc-4kzjwxgvx4fi")); // 关联的vpc的id列表
+
+ try {
+ ldClient.bindVpc(zoneId, bindVpcRequest, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleCreatePrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleCreatePrivateZone.java
new file mode 100644
index 00000000..e7fb6801
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleCreatePrivateZone.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+import com.baidubce.services.localdns.model.CreatePrivateZoneRequest;
+import com.baidubce.services.localdns.model.CreatePrivateZoneResponse;
+
+public class ExampleCreatePrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ CreatePrivateZoneRequest createZoneRequest = new CreatePrivateZoneRequest();
+ createZoneRequest.setZoneName("javaSdk.com"); // privateZone的名称
+
+ try {
+ CreatePrivateZoneResponse response = ldClient.createPrivateZone(createZoneRequest, "");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleDeletePrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleDeletePrivateZone.java
new file mode 100644
index 00000000..d0714072
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleDeletePrivateZone.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+
+public class ExampleDeletePrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String zoneId = "zone-a15wns86jnff"; // privateZone的id
+
+ try {
+ ldClient.deletePrivateZone(zoneId, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleDeleteRecordOnPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleDeleteRecordOnPrivateZone.java
new file mode 100644
index 00000000..1a3389d1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleDeleteRecordOnPrivateZone.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+
+public class ExampleDeleteRecordOnPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String recordId = "rc-byx2936gep0s"; // 要删除的记录id
+
+ try {
+ ldClient.deleteRecord(recordId, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleDetailPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleDetailPrivateZone.java
new file mode 100644
index 00000000..6033bef2
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleDetailPrivateZone.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+import com.baidubce.services.localdns.model.GetPrivateZoneResponse;
+
+public class ExampleDetailPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String zoneId = "zone-eej8ps6qp5ic"; // 查询的privateZone id
+
+ try {
+ GetPrivateZoneResponse response = ldClient.getPrivateZone(zoneId);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleDisableRecordOnPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleDisableRecordOnPrivateZone.java
new file mode 100644
index 00000000..2f59fc47
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleDisableRecordOnPrivateZone.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+
+public class ExampleDisableRecordOnPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String recordId = "rc-byx2936gep0s"; // 要暂停的记录id
+
+ try {
+ ldClient.disableRecord(recordId, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleEnableRecordOnPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleEnableRecordOnPrivateZone.java
new file mode 100644
index 00000000..397a2ec5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleEnableRecordOnPrivateZone.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+
+public class ExampleEnableRecordOnPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String recordId = "rc-byx2936gep0s"; // 要开启的记录id
+
+ try {
+ ldClient.enableRecord(recordId, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleListPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleListPrivateZone.java
new file mode 100644
index 00000000..660d64ba
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleListPrivateZone.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+import com.baidubce.services.localdns.model.ListPrivateZoneResponse;
+
+public class ExampleListPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String marker = ""; // 查询的marker
+ Integer maxKeys = 1000; // 查询的maxKeys
+
+ try {
+ ListPrivateZoneResponse response = ldClient.listPrivateZone(marker, maxKeys);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleListRecordsOfPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleListRecordsOfPrivateZone.java
new file mode 100644
index 00000000..44b81280
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleListRecordsOfPrivateZone.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+import com.baidubce.services.localdns.model.ListRecordResponse;
+
+public class ExampleListRecordsOfPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String zoneId = "zone-nqa0uqyse51z"; // privateZone的id
+
+ try {
+ ListRecordResponse response = ldClient.listRecord(zoneId);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleUnBindVpcFromPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleUnBindVpcFromPrivateZone.java
new file mode 100644
index 00000000..c853afc7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleUnBindVpcFromPrivateZone.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+import com.baidubce.services.localdns.model.UnbindVpcRequest;
+
+import java.util.Arrays;
+
+public class ExampleUnBindVpcFromPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String zoneId = "zone-eej8ps6qp5ic"; // 要解关联的privateZone的id
+ UnbindVpcRequest unbindVpcRequest = new UnbindVpcRequest();
+ unbindVpcRequest.setRegion("bj"); // 解关联的vpc所在区域
+ unbindVpcRequest.setVpcIds(Arrays.asList("vpc-4kzjwxgvx4fi")); // 解关联的vpc的id列表
+
+ try {
+ ldClient.unbindVpc(zoneId, unbindVpcRequest, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/privatezone/ExampleUpdateRecordOnPrivateZone.java b/src/main/java/com/baidubce/examples/privatezone/ExampleUpdateRecordOnPrivateZone.java
new file mode 100644
index 00000000..f5ebfadd
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/privatezone/ExampleUpdateRecordOnPrivateZone.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.privatezone;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.localdns.LdClient;
+import com.baidubce.services.localdns.model.UpdateRecordRequest;
+
+public class ExampleUpdateRecordOnPrivateZone {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ LdClient ldClient = new LdClient(config); // 初始化LdClient
+
+ String recordId = "rc-byx2936gep0s"; // 要修改的记录id
+ UpdateRecordRequest updateRecordRequest = new UpdateRecordRequest();
+ updateRecordRequest.setRr("www"); // 主机记录
+ updateRecordRequest.setType("A"); // 记录类型
+ updateRecordRequest.setValue("1.1.1.2"); // 记录值
+ try {
+ ldClient.updateRecord(recordId, updateRecordRequest, "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/probe/ExampleCreateProbe.java b/src/main/java/com/baidubce/examples/probe/ExampleCreateProbe.java
new file mode 100644
index 00000000..1fc1f264
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/probe/ExampleCreateProbe.java
@@ -0,0 +1,45 @@
+package com.baidubce.examples.probe;
+
+import java.util.Arrays;
+import java.util.UUID;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.probe.ProbeClient;
+import com.baidubce.services.probe.model.CreateProbeRequest;
+import com.baidubce.services.probe.model.CreateProbeResponse;
+
+public class ExampleCreateProbe {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ ProbeClient probeClient = new ProbeClient(config); // 初始化ProbeClient
+
+ CreateProbeRequest createProbeRequest = new CreateProbeRequest();
+ createProbeRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token,是一个长度不超过64位的ASCII字符串
+ createProbeRequest.setName("test"); // 网络探测名称,长度不超过65个字符,可由数字、字符、下划线组成
+ createProbeRequest.setDescription("desc"); // 网络探测描述,不超过200字符
+ createProbeRequest.setVpcId("vpc-sf52s4f7s1d"); // 网络探测所属VPC ID
+ createProbeRequest.setSubnetId("sbn-dtzcawikg1g2"); // 网络探测所属子网ID
+ createProbeRequest.setProtocol("UDP"); // 探测类型。目前支持ICMP、TCP、UDP、DNS
+ createProbeRequest.setFrequency(10); // 探测频率取值为10、20、30
+ createProbeRequest.setSourceIps(Arrays.asList("192.168.0.1")); // 探测源IP列表
+ createProbeRequest.setSourceIpNum(2); // 探测源IP个数,当个数大于IP列表长度时,多出的IP会自动分配
+ createProbeRequest.setDestIp("10.0.5.8"); // 探测目的IP
+ createProbeRequest.setDestPort(80); // 探测目的端口,TCP、UDP和DNS类型的需要
+ createProbeRequest.setPayload("udp_probe"); // UDP类型的探测字符串和DNS类型的探测域名
+
+ try {
+ CreateProbeResponse probe = probeClient.createProbe(createProbeRequest);
+ System.out.println(probe);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/probe/ExampleDeleteProbe.java b/src/main/java/com/baidubce/examples/probe/ExampleDeleteProbe.java
new file mode 100644
index 00000000..70109590
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/probe/ExampleDeleteProbe.java
@@ -0,0 +1,24 @@
+package com.baidubce.examples.probe;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.probe.ProbeClient;
+
+public class ExampleDeleteProbe {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ ProbeClient probeClient = new ProbeClient(config); // 初始化ProbeClient
+
+ try {
+ probeClient.deleteProbe("probe-25sd634a4xasd"); // 网络探测的ID
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/probe/ExampleGetProbe.java b/src/main/java/com/baidubce/examples/probe/ExampleGetProbe.java
new file mode 100644
index 00000000..c52003b3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/probe/ExampleGetProbe.java
@@ -0,0 +1,26 @@
+package com.baidubce.examples.probe;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.probe.ProbeClient;
+import com.baidubce.services.probe.model.GetProbeResponse;
+
+public class ExampleGetProbe {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ ProbeClient probeClient = new ProbeClient(config); // 初始化ProbeClient
+
+ try {
+ GetProbeResponse probe = probeClient.getProbe("probe-25sd634a4xasd"); // 网络探测的ID
+ System.out.println(probe);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/probe/ExampleListProbe.java b/src/main/java/com/baidubce/examples/probe/ExampleListProbe.java
new file mode 100644
index 00000000..41c367ac
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/probe/ExampleListProbe.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.probe;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.probe.ProbeClient;
+import com.baidubce.services.probe.model.ListProbeRequest;
+import com.baidubce.services.probe.model.ListProbeResponse;
+
+public class ExampleListProbe {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ ProbeClient probeClient = new ProbeClient(config); // 初始化ProbeClient
+
+ ListProbeRequest listProbeRequest = new ListProbeRequest();
+ listProbeRequest.setMaxKeys(10); // 每页包含的最大数量。最大数量通常不超过1000,缺省值为1000
+ listProbeRequest.setMarker("marker"); // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+
+ try {
+ ListProbeResponse listProbeResponse = probeClient.listProbes(listProbeRequest);
+ System.out.println(listProbeResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/probe/ExampleUpdateProbe.java b/src/main/java/com/baidubce/examples/probe/ExampleUpdateProbe.java
new file mode 100644
index 00000000..b1c8ede4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/probe/ExampleUpdateProbe.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.probe;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.probe.ProbeClient;
+import com.baidubce.services.probe.model.GetProbeResponse;
+import com.baidubce.services.probe.model.UpdateProbeRequest;
+
+public class ExampleUpdateProbe {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ ProbeClient probeClient = new ProbeClient(config); // 初始化ProbeClient
+
+ UpdateProbeRequest updateProbeRequest = new UpdateProbeRequest();
+ updateProbeRequest.setProbeId("probe-25sd634a4xasd"); // 需要更新的网络探测的ID
+ updateProbeRequest.setName("name-update"); // 网络探测的name
+ probeClient.updateProbe(updateProbeRequest);
+
+ try {
+ GetProbeResponse probe = probeClient.getProbe(updateProbeRequest.getProbeId());
+ System.out.println(probe);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/RdsUtil.java b/src/main/java/com/baidubce/examples/rds/RdsUtil.java
new file mode 100644
index 00000000..86f68759
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/RdsUtil.java
@@ -0,0 +1,46 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.util.JsonUtils;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
+public class RdsUtil {
+ public static T readJson(String file, Class clazz) {
+ URL resource = clazz.getClassLoader().getResource(file);
+ if (resource != null) {
+ try (InputStream inputStream = resource.openStream()) {
+ return new ObjectMapper().readValue(inputStream, clazz);
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to read JSON from file: " + file, e);
+ }
+ }
+ return null;
+ }
+ public static RdsClient createRdsClient() {
+ String endPoint = "rds.bj.baidubce.com";
+ String accessKey = "ak";
+ String secretAccessKy = "sk";
+ BceClientConfiguration config =
+ new BceClientConfiguration()
+ .withCredentials(new DefaultBceCredentials(accessKey, secretAccessKy))
+ .withEndpoint(endPoint);
+ RdsClient rdsClient = new RdsClient(config);
+ return rdsClient;
+ }
+
+ public static void print(String method, Object obj) {
+ try {
+ String json = JsonUtils.toJsonPrettyString(obj);
+ System.out.println(json);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestAutoRenew.java b/src/main/java/com/baidubce/examples/rds/TestAutoRenew.java
new file mode 100644
index 00000000..4dc5b547
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestAutoRenew.java
@@ -0,0 +1,17 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsAutoRenewRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.readJson;
+
+
+public class TestAutoRenew {
+ public static void main(String[] args) {
+ RdsClient rdsClient= createRdsClient();
+ RdsAutoRenewRequest request = readJson("rds/json/TestAutoRenew.json", RdsAutoRenewRequest.class);
+ AbstractBceResponse response = rdsClient.autoRenew(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestBindingTags.java b/src/main/java/com/baidubce/examples/rds/TestBindingTags.java
new file mode 100644
index 00000000..79c7072a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestBindingTags.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsBindingTagsRequest;
+import com.baidubce.services.rds.model.RdsTag;
+import com.baidubce.services.rds.model.Resource;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+
+public class TestBindingTags {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsBindingTagsRequest request = new RdsBindingTagsRequest();
+ RdsTag tag = new RdsTag();
+ tag.setTagValue("testValue");
+ tag.setTagKey("testKey");
+ List tags = new ArrayList<>();
+ tags.add(tag);
+ String instanceId = "rds-lZIdjcC3";
+ Resource resource = new Resource(instanceId, tags);
+ List resources = new ArrayList<>();
+ resources.add(resource);
+ request.setResources(resources);
+ AbstractBceResponse response = rdsClient.bindingTags(request);
+ print("bindingTags", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestChangeDatabasePort.java b/src/main/java/com/baidubce/examples/rds/TestChangeDatabasePort.java
new file mode 100644
index 00000000..e44a6996
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestChangeDatabasePort.java
@@ -0,0 +1,18 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsChangeDatabasePortRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestChangeDatabasePort {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsChangeDatabasePortRequest request = new RdsChangeDatabasePortRequest();
+ request.setInstanceId("rds-Ml7QDBqz");
+ request.setEntryPort(13206);
+ AbstractBceResponse response = rdsClient.changeDatabasePort(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestClusterStatusCheck.java b/src/main/java/com/baidubce/examples/rds/TestClusterStatusCheck.java
new file mode 100644
index 00000000..1784f880
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestClusterStatusCheck.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsClusterStatusCheckRequest;
+import com.baidubce.services.rds.model.RdsClusterStatusCheckResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestClusterStatusCheck {
+ public static void main(String[] args) {
+ RdsClient rdsClient= createRdsClient();
+
+ RdsClusterStatusCheckRequest request = new RdsClusterStatusCheckRequest();
+ request.setInstanceId("rds-k1dffnQn");
+ RdsClusterStatusCheckResponse response = rdsClient.clusterStatusCheck(request);
+ print("clusterStatusCheck", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestCreateAccount.java b/src/main/java/com/baidubce/examples/rds/TestCreateAccount.java
new file mode 100644
index 00000000..18379fbe
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestCreateAccount.java
@@ -0,0 +1,39 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.DatabasePrivilege;
+import com.baidubce.services.rds.model.RdsAccountType;
+import com.baidubce.services.rds.model.RdsCreateAccountRequest;
+
+import java.security.GeneralSecurityException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+public class TestCreateAccount {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsCreateAccountRequest createAccountRequest = new RdsCreateAccountRequest();
+ createAccountRequest.setInstanceId("rds-nr2GCznE");
+ createAccountRequest.setAccountName("test_acc");
+ createAccountRequest.setPassword("rds_passwordKJH");
+ createAccountRequest.setAccountType(RdsAccountType.Common);
+ DatabasePrivilege privilege = new DatabasePrivilege();
+ privilege.setDbName("test");
+ privilege.setAuthType("ReadOnly");
+ List privileges = new ArrayList<>();
+ privileges.add(privilege);
+ createAccountRequest.setDatabasePrivileges(privileges);
+ createAccountRequest.setDesc("rds_sdk_created_createAccount_test");
+ createAccountRequest.setType("OnlyMaster");
+ try {
+ AbstractBceResponse accountResponse = rdsClient.createAccount(createAccountRequest);
+ print("createAccount", accountResponse);
+ } catch (GeneralSecurityException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestCreateDatabase.java b/src/main/java/com/baidubce/examples/rds/TestCreateDatabase.java
new file mode 100644
index 00000000..4ce73d2c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestCreateDatabase.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsAccountPrivileges;
+import com.baidubce.services.rds.model.RdsCharacterSet;
+import com.baidubce.services.rds.model.RdsCreateDatabaseRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestCreateDatabase {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsCreateDatabaseRequest request = new RdsCreateDatabaseRequest();
+ request.setInstanceId("rds-Qk2LpXBj");
+ request.setCharacterSetName(RdsCharacterSet.UTF8);
+ request.setDbName("testMysqlDatabase");
+ request.setRemark("testRemark");
+ RdsAccountPrivileges privileges = new RdsAccountPrivileges();
+ privileges.setAccountName("rdsroot1");
+ privileges.setAuthType("ReadWrite");
+ List privilegesList = new ArrayList<>();
+ privilegesList.add(privileges);
+ request.setAccountPrivileges(privilegesList);
+ request.setCtype("zh_CN.utf-8");
+ request.setCollate("zh_CN.utf-8");
+ request.setOwner("rdsroot1");
+ AbstractBceResponse response = rdsClient.createDatabase(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestCreateInstance.java b/src/main/java/com/baidubce/examples/rds/TestCreateInstance.java
new file mode 100644
index 00000000..379a3110
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestCreateInstance.java
@@ -0,0 +1,75 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsBilling;
+import com.baidubce.services.rds.model.RdsCreateInstanceRequest;
+import com.baidubce.services.rds.model.RdsCreateInstanceResponse;
+import com.baidubce.services.rds.model.RdsEngine;
+import com.baidubce.services.rds.model.RdsPaymentTiming;
+import com.baidubce.services.rds.model.RdsRenewTimeUnit;
+import com.baidubce.services.rds.model.RdsReservation;
+import com.baidubce.services.rds.model.RdsSubnet;
+import com.baidubce.services.rds.model.RdsTag;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestCreateInstance {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsCreateInstanceRequest request = new RdsCreateInstanceRequest();
+ RdsBilling billing = new RdsBilling();
+ RdsPaymentTiming rdsPaymentTiming = RdsPaymentTiming.create("Prepaid");
+ RdsReservation reservation = new RdsReservation();
+ reservation.setReservationLength(1);
+ billing.setPaymentTiming(rdsPaymentTiming);
+ billing.setReservation(reservation);
+ request.setBilling(billing);
+
+ RdsRenewTimeUnit renewTimeUnit = RdsRenewTimeUnit.create("year");
+ request.setAutoRenewTimeUnit(renewTimeUnit);
+ request.setAutoRenewTime(1);
+
+ request.setPurchaseCount(1);
+ request.setInstanceName("rds-010");
+
+ request.setEngine(RdsEngine.MySQL);
+ request.setEngineVersion("5.6");
+ request.setCharacterSetName("utf8mb4");
+ request.setCpuCount(1);
+ request.setMemoryCapacity(2);
+ request.setVolumeCapacity(5);
+ request.setDiskIoType("normal_io");
+
+ List zoneNames = new ArrayList<>();
+ zoneNames.add("cn-bj-d");
+ request.setZoneNames(zoneNames);
+
+ request.setVpcId("vpc-70pxg3pmv8rv");
+ request.setIsDirectPay(true);
+ RdsSubnet subnet = new RdsSubnet();
+ subnet.setSubnetId("sbn-dqafncqsy3y4");
+ subnet.setZoneName("cn-bj-d");
+
+ List subnets = new ArrayList<>();
+ subnets.add(subnet);
+
+ request.setSubnets(subnets);
+
+ RdsTag tag = new RdsTag();
+ tag.setTagKey("goods_type");
+ tag.setTagValue("music");
+
+ List tags = new ArrayList<>();
+ tags.add(tag);
+ request.setTags(tags);
+
+ print("request is ", request);
+ RdsCreateInstanceResponse instanceResponse = rdsClient.createInstance(request);
+ print("createInstance", instanceResponse);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestCreateProxyInstance.java b/src/main/java/com/baidubce/examples/rds/TestCreateProxyInstance.java
new file mode 100644
index 00000000..25104f24
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestCreateProxyInstance.java
@@ -0,0 +1,51 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsBilling;
+import com.baidubce.services.rds.model.RdsCreateInstanceResponse;
+import com.baidubce.services.rds.model.RdsCreateProxyInstance;
+import com.baidubce.services.rds.model.RdsPaymentTiming;
+import com.baidubce.services.rds.model.RdsSubnet;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestCreateProxyInstance {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsCreateProxyInstance proxyInstance = new RdsCreateProxyInstance();
+
+ RdsBilling billing = new RdsBilling();
+ RdsPaymentTiming rdsPaymentTiming = RdsPaymentTiming.create("Postpaid");
+ billing.setPaymentTiming(rdsPaymentTiming);
+
+ proxyInstance.setSourceInstanceId("rds-tKEPFelh");
+ proxyInstance.setInstanceName("mysql80");
+
+ proxyInstance.setNodeAmount(2);
+
+ List zoneNames = new ArrayList<>();
+ zoneNames.add("cn-bj-d");
+ proxyInstance.setZoneNames(zoneNames);
+
+ proxyInstance.setVpcId("vpc-70pxg3pmv8rv");
+
+ RdsSubnet subnet = new RdsSubnet();
+ subnet.setSubnetId("sbn-dqafncqsy3y4");
+ subnet.setZoneName("cn-bj-d");
+
+ proxyInstance.setIsDirectPay(false);
+
+ subnet.setZoneName("cn-bj-d");
+ List subnets = new ArrayList<>();
+ subnets.add(subnet);
+ proxyInstance.setSubnets(subnets);
+
+ RdsCreateInstanceResponse response = rdsClient.createInstanceProxy(proxyInstance);
+ print("createProxyInstance", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestCreateReadableInstance.java b/src/main/java/com/baidubce/examples/rds/TestCreateReadableInstance.java
new file mode 100644
index 00000000..a8e439d4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestCreateReadableInstance.java
@@ -0,0 +1,59 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsBilling;
+import com.baidubce.services.rds.model.RdsCreateInstanceResponse;
+import com.baidubce.services.rds.model.RdsCreateReadableInstance;
+import com.baidubce.services.rds.model.RdsPaymentTiming;
+import com.baidubce.services.rds.model.RdsReservation;
+import com.baidubce.services.rds.model.RdsSubnet;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestCreateReadableInstance {
+ public static void main(String[] args) {
+
+ RdsClient rdsClient = createRdsClient();
+
+ RdsCreateReadableInstance createReadableInstance = new RdsCreateReadableInstance();
+
+ RdsBilling billing = new RdsBilling();
+ RdsPaymentTiming rdsPaymentTiming = RdsPaymentTiming.create("Postpaid");
+ RdsReservation reservation = new RdsReservation();
+ reservation.setReservationLength(1);
+ billing.setPaymentTiming(rdsPaymentTiming);
+ billing.setReservation(reservation);
+ createReadableInstance.setBilling(billing);
+
+ createReadableInstance.setInstanceName("rds-oKFG");
+ createReadableInstance.setCpuCount(1);
+ createReadableInstance.setMemoryCapacity(2);
+ createReadableInstance.setVolumeCapacity(50);
+ createReadableInstance.setDiskIoType("normal_io");
+ createReadableInstance.setIsDirectPay(false);
+ createReadableInstance.setPurchaseCount(1);
+ createReadableInstance.setInstanceName("rds-019");
+ String sourceInstanceId = "rds-tKEPFelh";
+ createReadableInstance.setSourceInstanceId(sourceInstanceId);
+ String zoneName = "cn-bj-d";
+ List zoneNames = new ArrayList<>();
+ zoneNames.add(zoneName);
+ createReadableInstance.setZoneNames(zoneNames);
+ createReadableInstance.setVpcId("vpc-70pxg3pmv8rv");
+
+ RdsSubnet subnet = new RdsSubnet();
+ subnet.setSubnetId("sbn-dqafncqsy3y4");
+ subnet.setZoneName("cn-bj-d");
+ List subnets = new ArrayList<>();
+ subnets.add(subnet);
+ createReadableInstance.setSubnets(subnets);
+ createReadableInstance.setEntryPort(3306);
+
+ RdsCreateInstanceResponse response = rdsClient.createInstanceReadableReplica(createReadableInstance);
+ print("createReadableInstance", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestDeleteAccount.java b/src/main/java/com/baidubce/examples/rds/TestDeleteAccount.java
new file mode 100644
index 00000000..1c586252
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestDeleteAccount.java
@@ -0,0 +1,18 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsDeleteAccountRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestDeleteAccount {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsDeleteAccountRequest request = new RdsDeleteAccountRequest();
+ request.setInstanceId("rds-RhmXpFKn");
+ request.setAccountName("delaccount");
+ AbstractBceResponse response = rdsClient.deleteAccount(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestDeleteDatabase.java b/src/main/java/com/baidubce/examples/rds/TestDeleteDatabase.java
new file mode 100644
index 00000000..dbf8723f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestDeleteDatabase.java
@@ -0,0 +1,18 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsDeleteDatabaseRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestDeleteDatabase {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsDeleteDatabaseRequest request = new RdsDeleteDatabaseRequest();
+ request.setInstanceId("rds-Qk2LpXBj");
+ request.setDbName("testMysqlDatabase");
+ AbstractBceResponse response = rdsClient.deleteDatabase(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestDeleteTheSpecifiedBackupSet.java b/src/main/java/com/baidubce/examples/rds/TestDeleteTheSpecifiedBackupSet.java
new file mode 100644
index 00000000..a1f596bf
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestDeleteTheSpecifiedBackupSet.java
@@ -0,0 +1,21 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsDeleteSpecifiedBackUpRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestDeleteTheSpecifiedBackupSet {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsDeleteSpecifiedBackUpRequest request = new RdsDeleteSpecifiedBackUpRequest();
+ request.setInstanceId("rdsmsn17thg0i4p");
+ request.setSnapshotId("1720671279584629601");
+ AbstractBceResponse response = rdsClient.deleteTheSpecifiedBackupSet(request);
+ print("deleteTheSpecifiedBackupSet", response);
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestDialingTest.java b/src/main/java/com/baidubce/examples/rds/TestDialingTest.java
new file mode 100644
index 00000000..0e2b788b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestDialingTest.java
@@ -0,0 +1,18 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsDialingTestRequest;
+import com.baidubce.services.rds.model.RdsDialingTestResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+public class TestDialingTest {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsDialingTestRequest request = new RdsDialingTestRequest();
+ request.setInstanceId("rds-6QCusckC");
+ RdsDialingTestResponse response = rdsClient.dialingTest(request);
+ print("dialingTest", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetAccountList.java b/src/main/java/com/baidubce/examples/rds/TestGetAccountList.java
new file mode 100644
index 00000000..b35c53cd
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetAccountList.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsAccountListRequest;
+import com.baidubce.services.rds.model.RdsAccountListResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetAccountList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsAccountListRequest listRequest = new RdsAccountListRequest();
+ listRequest.setInstanceId("rds-jHqrZCEk");
+ RdsAccountListResponse listResponse = rdsClient.getAccountList(listRequest);
+ print("getAccountList", listResponse);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetAutoConfigForSpecified.java b/src/main/java/com/baidubce/examples/rds/TestGetAutoConfigForSpecified.java
new file mode 100644
index 00000000..9ed9d25a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetAutoConfigForSpecified.java
@@ -0,0 +1,18 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetAutoConfigForSpecifiedRequest;
+import com.baidubce.services.rds.model.RdsGetAutoConfigForSpecifiedResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+public class TestGetAutoConfigForSpecified {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetAutoConfigForSpecifiedRequest request = new RdsGetAutoConfigForSpecifiedRequest();
+ request.setInstanceId("rds-7xabvFUH");
+ RdsGetAutoConfigForSpecifiedResponse response = rdsClient.getAutoConfigForSpecified(request);
+ print("testGetAutoConfigForSpecified", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetBinLogInfo.java b/src/main/java/com/baidubce/examples/rds/TestGetBinLogInfo.java
new file mode 100644
index 00000000..1e0b55f7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetBinLogInfo.java
@@ -0,0 +1,21 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetBinLogInfoRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetBinLogInfo {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetBinLogInfoRequest request = new RdsGetBinLogInfoRequest();
+ request.setInstanceId("rds-1Cm4tVAO");
+ request.setLogId("1720685193973036601");
+ request.setDownloadValidTimeInSec("1800");
+ AbstractBceResponse response = rdsClient.getBinLogInfo(request);
+ print("getBinLogInfo", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetBinLogList.java b/src/main/java/com/baidubce/examples/rds/TestGetBinLogList.java
new file mode 100644
index 00000000..67952353
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetBinLogList.java
@@ -0,0 +1,20 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetBinLogListRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetBinLogList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetBinLogListRequest request = new RdsGetBinLogListRequest();
+ request.setInstanceId("rds-1Cm4tVAO");
+ request.setDatetime("2024-07-11T06:48:29Z");
+ AbstractBceResponse response = rdsClient.getBinLogList(request);
+ print("getBinLogList", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetDatabaseList.java b/src/main/java/com/baidubce/examples/rds/TestGetDatabaseList.java
new file mode 100644
index 00000000..b519cb50
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetDatabaseList.java
@@ -0,0 +1,17 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetDatabaseListRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestGetDatabaseList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetDatabaseListRequest request = new RdsGetDatabaseListRequest();
+ request.setInstanceId("rds-Ml7QDBqz");
+ AbstractBceResponse response = rdsClient.getDatabaseList(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetInstanceDetail.java b/src/main/java/com/baidubce/examples/rds/TestGetInstanceDetail.java
new file mode 100644
index 00000000..5c21afdf
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetInstanceDetail.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsInstanceDetailRequest;
+import com.baidubce.services.rds.model.RdsInstanceDetailResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetInstanceDetail {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsInstanceDetailRequest detailRequest = new RdsInstanceDetailRequest();
+ detailRequest.setInstanceId("");
+ RdsInstanceDetailResponse detailResponse = rdsClient.getRdsInstanceDetail(detailRequest);
+ print("getInstanceDetail", detailResponse);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetNewPurchasePrice.java b/src/main/java/com/baidubce/examples/rds/TestGetNewPurchasePrice.java
new file mode 100644
index 00000000..f1fd5ef4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetNewPurchasePrice.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.rds;
+
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetNewPurchasePriceRequest;
+import com.baidubce.services.rds.model.RdsGetNewPurchasePriceResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetNewPurchasePrice {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetNewPurchasePriceRequest request = new RdsGetNewPurchasePriceRequest();
+ request.setDuration(1);
+ RdsGetNewPurchasePriceRequest.Instance instances = new RdsGetNewPurchasePriceRequest.Instance();
+ instances.setEngine("MySQL");
+ instances.setCpuCount(1);
+ instances.setAllocatedMemoryInGB(1);
+ instances.setAllocatedStorageInGB(50);
+ instances.setDiskIoType("cloud_high");
+ request.setInstance(instances);
+ request.setNumber(1);
+ request.setProductType("postpay");
+ RdsGetNewPurchasePriceResponse response = rdsClient.getNewPurchasePrice(request);
+ print("getNewPurchasePrice", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetOrderStatus.java b/src/main/java/com/baidubce/examples/rds/TestGetOrderStatus.java
new file mode 100644
index 00000000..de4e53fb
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetOrderStatus.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetOrderStatusRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetOrderStatus {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetOrderStatusRequest request = new RdsGetOrderStatusRequest();
+ request.setOrderId("0fa2f32386184e7aa47233446b9614dd");
+ AbstractBceResponse response = rdsClient.getOrderStatus(request);
+ print("getOrderStatus", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetPGList.java b/src/main/java/com/baidubce/examples/rds/TestGetPGList.java
new file mode 100644
index 00000000..6722e4c5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetPGList.java
@@ -0,0 +1,20 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetPGListRequest;
+import com.baidubce.services.rds.model.RdsGetPGListResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetPGList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetPGListRequest request = new RdsGetPGListRequest();
+ request.setInstanceId("rds-jHqrZCEk");
+ request.setDate("2023-06-14");
+ RdsGetPGListResponse response = rdsClient.getPGList(request);
+ print("getPGList", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetPGLogDetails.java b/src/main/java/com/baidubce/examples/rds/TestGetPGLogDetails.java
new file mode 100644
index 00000000..980f6222
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetPGLogDetails.java
@@ -0,0 +1,21 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetPGLogDetailsRequest;
+import com.baidubce.services.rds.model.RdsGetPGLogDetailsResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetPGLogDetails {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetPGLogDetailsRequest request = new RdsGetPGLogDetailsRequest();
+ request.setInstanceId("rds-jHqrZCEk");
+ request.setPglogId("postgresql-2024-07-11_000000.log");
+ request.setDownloadValidTimeInSec(3600);
+ RdsGetPGLogDetailsResponse response = rdsClient.getPGLogDetails(request);
+ print("getPGLogDetails", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetPriceDifference.java b/src/main/java/com/baidubce/examples/rds/TestGetPriceDifference.java
new file mode 100644
index 00000000..133ec763
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetPriceDifference.java
@@ -0,0 +1,23 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsGetPriceDifferenceRequest;
+import com.baidubce.services.rds.model.RdsGetPriceDifferenceResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetPriceDifference {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsGetPriceDifferenceRequest request = new RdsGetPriceDifferenceRequest();
+ request.setInstanceId("rds-6QCusckC");
+ request.setCpuCount(1);
+ request.setAllocatedMemoryInGB(1);
+ request.setAllocatedStorageInGB(50);
+ request.setDiskIoType("cloud_high");
+ RdsGetPriceDifferenceResponse response = rdsClient.getPriceDifference(request);
+ print("getPriceDifference", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetRdsInstanceList.java b/src/main/java/com/baidubce/examples/rds/TestGetRdsInstanceList.java
new file mode 100644
index 00000000..20ffb3ba
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetRdsInstanceList.java
@@ -0,0 +1,16 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsInstanceListRequest;
+import com.baidubce.services.rds.model.RdsInstanceListResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestGetRdsInstanceList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsInstanceListRequest request = new RdsInstanceListRequest();
+ RdsInstanceListResponse rdsInstanceList = rdsClient.getRdsInstanceList(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetSlowLogErrorLogDownloadDetails.java b/src/main/java/com/baidubce/examples/rds/TestGetSlowLogErrorLogDownloadDetails.java
new file mode 100644
index 00000000..f9cbaea1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetSlowLogErrorLogDownloadDetails.java
@@ -0,0 +1,20 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsSlowLogErrorLogDownloadDetailsRequest;
+import com.baidubce.services.rds.model.RdsSlowLogErrorLogDownloadDetailsResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetSlowLogErrorLogDownloadDetails {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+ RdsSlowLogErrorLogDownloadDetailsRequest request = new RdsSlowLogErrorLogDownloadDetailsRequest();
+ request.setInstanceId("rds-1AfwpHXs");
+ request.setLogId("postgresql-2024-07-11_000000.log");
+ request.setDownloadValidTimeInSec(1090);
+ RdsSlowLogErrorLogDownloadDetailsResponse response = rdsClient.getSlowLogErrorLogDownloadDetails(request);
+ print("getSlowLogErrorLogDownloadDetails", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetSlowLogGetErrorLogDetails.java b/src/main/java/com/baidubce/examples/rds/TestGetSlowLogGetErrorLogDetails.java
new file mode 100644
index 00000000..426543fe
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetSlowLogGetErrorLogDetails.java
@@ -0,0 +1,24 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsSlowLogGetErrorLogDetailsRequest;
+import com.baidubce.services.rds.model.RdsSlowLogGetErrorLogDetailsResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetSlowLogGetErrorLogDetails {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsSlowLogGetErrorLogDetailsRequest request = new RdsSlowLogGetErrorLogDetailsRequest();
+ request.setInstanceId("rds-b3VFCjMA");
+ request.setStartTime("2024-07-10T16:00:00Z");
+ request.setEndTime("2024-07-10T16:00:05Z");
+ request.setPageNo("1");
+ request.setPageSize("10");
+ request.setKeyWord("Logging");
+ RdsSlowLogGetErrorLogDetailsResponse response = rdsClient.getSlowLogGetErrorLogDetails(request);
+ print("getSlowLogGetErrorLogDetails", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetSpecificAccountInfo.java b/src/main/java/com/baidubce/examples/rds/TestGetSpecificAccountInfo.java
new file mode 100644
index 00000000..d914bef5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetSpecificAccountInfo.java
@@ -0,0 +1,21 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsAccount;
+import com.baidubce.services.rds.model.RdsAccountInfoRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetSpecificAccountInfo {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsAccountInfoRequest infoRequest = new RdsAccountInfoRequest();
+ infoRequest.setInstanceId("rds-jHqrZCEk");
+ infoRequest.setAccountName("test_account123");
+ RdsAccount accountInfo = rdsClient.getSpecificAccountInfo(infoRequest);
+ print("getSpecificAccountInfo", accountInfo);
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetSubnetList.java b/src/main/java/com/baidubce/examples/rds/TestGetSubnetList.java
new file mode 100644
index 00000000..95637428
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetSubnetList.java
@@ -0,0 +1,18 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsSubnetRequest;
+import com.baidubce.services.rds.model.RdsSubnetResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestGetSubnetList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsSubnetRequest request = new RdsSubnetRequest();
+ RdsSubnetResponse subnetResponse = rdsClient.getSubnetList(request);
+ print("getSubnetList", subnetResponse);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestGetZoneList.java b/src/main/java/com/baidubce/examples/rds/TestGetZoneList.java
new file mode 100644
index 00000000..2236bc91
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestGetZoneList.java
@@ -0,0 +1,15 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsZoneResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+public class TestGetZoneList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsZoneResponse zoneResponse = rdsClient.getZoneList();
+ print("getZoneList", zoneResponse);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestManuallyInitiateFullPhysicalBackup.java b/src/main/java/com/baidubce/examples/rds/TestManuallyInitiateFullPhysicalBackup.java
new file mode 100644
index 00000000..fadd3674
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestManuallyInitiateFullPhysicalBackup.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsFullPhysicalBackupRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestManuallyInitiateFullPhysicalBackup {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsFullPhysicalBackupRequest request = new RdsFullPhysicalBackupRequest();
+ request.setInstanceId("rds-5WIldjI3");
+ AbstractBceResponse response = rdsClient.manuallyInitiateFullPhysicalBackup(request);
+ print("manuallyInitiateFullPhysicalBackup", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestModifyAccountPassword.java b/src/main/java/com/baidubce/examples/rds/TestModifyAccountPassword.java
new file mode 100644
index 00000000..ef8aacd9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestModifyAccountPassword.java
@@ -0,0 +1,23 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsModifyAccountPasswordRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestModifyAccountPassword {
+ public static void main(String[] args) {
+ try {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsModifyAccountPasswordRequest request = new RdsModifyAccountPasswordRequest();
+ request.setInstanceId("rds-tXjFULZA");
+ request.setAccountName("nosuper");
+ request.setPassword("123jklMN");
+ AbstractBceResponse response = rdsClient.modifyAccountPassword(request);
+ } catch (Throwable t) {
+ System.exit(1);
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestModifyAccountPermissions.java b/src/main/java/com/baidubce/examples/rds/TestModifyAccountPermissions.java
new file mode 100644
index 00000000..a897cee4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestModifyAccountPermissions.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.DatabasePrivilege;
+import com.baidubce.services.rds.model.RdsModifyAccountPermissionRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestModifyAccountPermissions {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsModifyAccountPermissionRequest request = new RdsModifyAccountPermissionRequest();
+
+ request.setInstanceId("rds-tXjFULZA");
+ request.setAccountName("nosuper");
+
+ DatabasePrivilege privilege = new DatabasePrivilege();
+ privilege.setAuthType("ReadOnly");
+ privilege.setDbName("nosuperdb");
+
+ List privileges = new ArrayList<>();
+ privileges.add(privilege);
+ request.setDatabasePrivileges(privileges);
+ AbstractBceResponse response =rdsClient.modifyAccountPermissions(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestModifyAccountRemark.java b/src/main/java/com/baidubce/examples/rds/TestModifyAccountRemark.java
new file mode 100644
index 00000000..14c6d127
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestModifyAccountRemark.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsModifyAccountRemarksRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestModifyAccountRemark {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsModifyAccountRemarksRequest request = new RdsModifyAccountRemarksRequest();
+ request.setInstanceId("rds-jHqrZCEk");
+ request.setRemark("remark1111111944499994");
+ request.setAccountName("test_account123");
+ AbstractBceResponse response = rdsClient.modifyAccountRemark(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestModifyDatabaseDescription.java b/src/main/java/com/baidubce/examples/rds/TestModifyDatabaseDescription.java
new file mode 100644
index 00000000..41d810f6
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestModifyDatabaseDescription.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsModifyDatabaseDescriptionRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestModifyDatabaseDescription {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsModifyDatabaseDescriptionRequest request = new RdsModifyDatabaseDescriptionRequest();
+ request.setInstanceId("rds-1a6K6qX8");
+ request.setDbName("dbfakfl");
+ request.setRemark("testRemark");
+ AbstractBceResponse response = rdsClient.modifyDatabaseDescription(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestRdsRenewal.java b/src/main/java/com/baidubce/examples/rds/TestRdsRenewal.java
new file mode 100644
index 00000000..aa3eb2c1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestRdsRenewal.java
@@ -0,0 +1,25 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsRenewalRequest;
+import com.baidubce.services.rds.model.RdsRenewalResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestRdsRenewal {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsRenewalRequest request = new RdsRenewalRequest();
+ request.setDuration("1");
+ List id = new ArrayList<>();
+ id.add("rds-6f17R5R3");
+ request.setInstanceIds(id);
+ RdsRenewalResponse response = rdsClient.rdsRenewal(request);
+ print("rdsRenewal", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestRdsRestart.java b/src/main/java/com/baidubce/examples/rds/TestRdsRestart.java
new file mode 100644
index 00000000..cf1e7305
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestRdsRestart.java
@@ -0,0 +1,18 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsRestartRequest;
+
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+
+public class TestRdsRestart {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsRestartRequest request = new RdsRestartRequest();
+ request.setInstanceId("rds-6QCusckC");
+ AbstractBceResponse response = rdsClient.rdsRestart(request);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestRdsUpdateTimeWindow.java b/src/main/java/com/baidubce/examples/rds/TestRdsUpdateTimeWindow.java
new file mode 100644
index 00000000..a7a60f54
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestRdsUpdateTimeWindow.java
@@ -0,0 +1,22 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsUpdateTimeWindowRequest;
+
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestRdsUpdateTimeWindow {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsUpdateTimeWindowRequest request = new RdsUpdateTimeWindowRequest();
+ request.setInstanceId("rds-7xabvFUH");
+ request.setMaintainDuration(1);
+ request.setMaintainStartTime("01:00:00");
+ AbstractBceResponse response = rdsClient.rdsUpdateTimeWindow(request);
+ print("rdsUpdateTimeWindow", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestRecoverForBackUpSet.java b/src/main/java/com/baidubce/examples/rds/TestRecoverForBackUpSet.java
new file mode 100644
index 00000000..c01c33e9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestRecoverForBackUpSet.java
@@ -0,0 +1,44 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsRecoverForBackUpSetRequest;
+import com.baidubce.services.rds.model.RecoveryToSourceInstanceModel;
+import com.baidubce.services.rds.model.RecoveryToSourceInstanceTableModel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestRecoverForBackUpSet {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsRecoverForBackUpSetRequest request = new RdsRecoverForBackUpSetRequest();
+ request.setInstanceId("rds-JC7L0yFI");
+ request.setSourceInstanceId("rds-1Cm4tVAO");
+ request.setTargetInstanceId("rds-1Cm4tVAO");
+ request.setSnapshotId("1720637060912738501");
+ List datas = new ArrayList<>();
+ RecoveryToSourceInstanceModel data = new RecoveryToSourceInstanceModel();
+
+ List tables = new ArrayList<>();
+ RecoveryToSourceInstanceTableModel table = new RecoveryToSourceInstanceTableModel();
+
+ table.setTableName("newcxtest");
+ table.setNewTablename("cxtest");
+
+ data.setDbName("newdeadlock");
+ data.setNewDbname("deadlock");
+ data.setRestoreMode("table");
+ data.setTables(tables);
+
+ datas.add(data);
+ request.setData(datas);
+
+ AbstractBceResponse response = rdsClient.recoverForBackUpSet(request);
+ print("recoverForBackUpSet", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestRecoverForTimeNode.java b/src/main/java/com/baidubce/examples/rds/TestRecoverForTimeNode.java
new file mode 100644
index 00000000..7f015423
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestRecoverForTimeNode.java
@@ -0,0 +1,47 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsRecoverForTimeNodeRequest;
+import com.baidubce.services.rds.model.RecoveryToSourceInstanceModel;
+import com.baidubce.services.rds.model.RecoveryToSourceInstanceTableModel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+
+public class TestRecoverForTimeNode {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsRecoverForTimeNodeRequest request = new RdsRecoverForTimeNodeRequest();
+ request.setInstanceId("rds-1Cm4tVAO");
+ request.setSourceInstanceId("rds-1Cm4tVAO");
+ request.setTargetInstanceId("rds-1Cm4tVAO");
+ request.setDatetime("2024-07-10T18:36:46Z");
+
+ List datas = new ArrayList<>();
+ RecoveryToSourceInstanceModel data = new RecoveryToSourceInstanceModel();
+
+ List tables = new ArrayList<>();
+ RecoveryToSourceInstanceTableModel table = new RecoveryToSourceInstanceTableModel();
+
+ table.setTableName("deadlock");
+ table.setNewTablename("newdeadlock");
+ tables.add(table);
+
+ data.setDbName("cxtest");
+ data.setNewDbname("newcxtest");
+ data.setRestoreMode("table");
+ data.setTables(tables);
+
+
+ datas.add(data);
+ request.setData(datas);
+ AbstractBceResponse response = rdsClient.recoverForTimeNode(request);
+ print("recoverForTimeNode", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestReleaseInstance.java b/src/main/java/com/baidubce/examples/rds/TestReleaseInstance.java
new file mode 100644
index 00000000..fd343149
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestReleaseInstance.java
@@ -0,0 +1,25 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsReleaseInstanceRequest;
+import com.baidubce.services.rds.model.RdsReleaseInstanceResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestReleaseInstance {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsReleaseInstanceRequest request = new RdsReleaseInstanceRequest();
+ String instanceId = "rds-v1JOe6Di";
+ List instanceIds = new ArrayList<>();
+ instanceIds.add(instanceId);
+ request.setInstanceIds(instanceIds);
+ RdsReleaseInstanceResponse response = rdsClient.releaseInstance(request);
+ print("releaseInstance", response);;
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestResizeInstance.java b/src/main/java/com/baidubce/examples/rds/TestResizeInstance.java
new file mode 100644
index 00000000..a66bbd41
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestResizeInstance.java
@@ -0,0 +1,22 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsInstanceResizeRequest;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestResizeInstance {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsInstanceResizeRequest resizeRequest = new RdsInstanceResizeRequest();
+ resizeRequest.setInstanceId("rds-EzZEzrYA");
+ resizeRequest.setVolumeCapacity(10);
+ resizeRequest.setIsDirectPay(true);
+ AbstractBceResponse resizeResponse = rdsClient.resizeInstance(resizeRequest);
+ print("resizeInstance", resizeResponse);
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestSlowLogGetErrorLogList.java b/src/main/java/com/baidubce/examples/rds/TestSlowLogGetErrorLogList.java
new file mode 100644
index 00000000..409ceab1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestSlowLogGetErrorLogList.java
@@ -0,0 +1,20 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsSlowLogGetErrorLogListRequest;
+import com.baidubce.services.rds.model.RdsSlowLogGetErrorLogListResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestSlowLogGetErrorLogList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsSlowLogGetErrorLogListRequest request = new RdsSlowLogGetErrorLogListRequest();
+ request.setInstanceId("rds-jHqrZCEk");
+ request.setDatetime("2024-07-11 00:00:00");
+ RdsSlowLogGetErrorLogListResponse response = rdsClient.slowLogGetErrorLogList(request);
+ print("slowLogGetErrorLogList", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestSupportEnableAutoExpansion.java b/src/main/java/com/baidubce/examples/rds/TestSupportEnableAutoExpansion.java
new file mode 100644
index 00000000..14d4edd5
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestSupportEnableAutoExpansion.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsSupportEnableAutoExpansionRequest;
+import com.baidubce.services.rds.model.RdsSupportEnableAutoExpansionResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestSupportEnableAutoExpansion {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsSupportEnableAutoExpansionRequest request = new RdsSupportEnableAutoExpansionRequest();
+ request.setInstanceId("rds-k1dffnQn");
+ RdsSupportEnableAutoExpansionResponse response = rdsClient.supportEnableAutoExpansion(request);
+ print("supportEnableAutoExpansion", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestSupportHotSwapping.java b/src/main/java/com/baidubce/examples/rds/TestSupportHotSwapping.java
new file mode 100644
index 00000000..49aa35ac
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestSupportHotSwapping.java
@@ -0,0 +1,26 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsSupportHotSwappingRequest;
+import com.baidubce.services.rds.model.RdsSupportHotSwappingResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestSupportHotSwapping {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsSupportHotSwappingRequest request = new RdsSupportHotSwappingRequest();
+ request.setInstanceId("rds-6QCusckC");
+ request.setBackupAzone("cn-bj-d");
+ request.setAllocatedMemoryInMB(1024);
+ request.setAllocatedStorageInGB(50);
+ request.setCpuCount(1);
+ request.setMasterAzone("cn-bj-d");
+ request.setSubnetId("sbn-dqafncqsy3y4");
+ RdsSupportHotSwappingResponse response = rdsClient.supportHotSwapping(request);
+ print("supportHotSwapping", response);
+ }
+
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestUpdateRdsConnectionInformation.java b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsConnectionInformation.java
new file mode 100644
index 00000000..b4ebd2bd
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsConnectionInformation.java
@@ -0,0 +1,21 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsConnInformationRequest;
+
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestUpdateRdsConnectionInformation {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsConnInformationRequest request = new RdsConnInformationRequest();
+ request.setInstanceId("rds-6f17R5R3");
+ request.setAddress("fkajsdlk");
+ AbstractBceResponse response = rdsClient.updateRdsConnectionInformation(request);
+ print("updateRdsConnectionInformation", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestUpdateRdsName.java b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsName.java
new file mode 100644
index 00000000..d4472b01
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsName.java
@@ -0,0 +1,21 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsUpdateNameRequest;
+
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestUpdateRdsName {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsUpdateNameRequest request = new RdsUpdateNameRequest();
+ request.setInstanceId("rds-17JzX6Wm");
+ request.setInstanceName("gaojianPGSQL");
+ AbstractBceResponse response = rdsClient.updateRdsName(request);
+ print("updateRdsName", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestUpdateRdsPublicNetworkAccessStatus.java b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsPublicNetworkAccessStatus.java
new file mode 100644
index 00000000..9db6a38b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsPublicNetworkAccessStatus.java
@@ -0,0 +1,21 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsNetworkStatusRequest;
+
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestUpdateRdsPublicNetworkAccessStatus {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsNetworkStatusRequest request = new RdsNetworkStatusRequest();
+ request.setInstanceId("rds-17JzX6Wm");
+ request.setPublicAccess(false);
+ AbstractBceResponse response = rdsClient.updateRdsPublicNetworkAccessStatus(request);
+ print("updateRdsPublicNetworkAccessStatus", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestUpdateRdsStorageAutoExpansionConfig.java b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsStorageAutoExpansionConfig.java
new file mode 100644
index 00000000..cf5fd334
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsStorageAutoExpansionConfig.java
@@ -0,0 +1,20 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsUpdateStorageAutoExpansionConfigRequest;
+import com.baidubce.services.rds.model.RdsUpdateStorageAutoExpansionConfigResPonse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestUpdateRdsStorageAutoExpansionConfig {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsUpdateStorageAutoExpansionConfigRequest request = new RdsUpdateStorageAutoExpansionConfigRequest();
+ request.setInstanceId("rds-lZIdjcC3");
+ request.setAction("close");
+ RdsUpdateStorageAutoExpansionConfigResPonse response = rdsClient.updateRdsStorageAutoExpansionConfig(request);
+ print("updateRdsStorageAutoExpansionConfig", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestUpdateRdsSyncMode.java b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsSyncMode.java
new file mode 100644
index 00000000..2ad3089d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestUpdateRdsSyncMode.java
@@ -0,0 +1,21 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsSyncModeRequest;
+
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestUpdateRdsSyncMode {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsSyncModeRequest request = new RdsSyncModeRequest();
+ request.setSyncMode("async");
+ request.setInstanceId("rds-17JzX6Wm");
+ AbstractBceResponse response = rdsClient.updateRdsSyncMode(request);
+ print("updateRdsSyncMode", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestUpdateWriteList.java b/src/main/java/com/baidubce/examples/rds/TestUpdateWriteList.java
new file mode 100644
index 00000000..eb175a4b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestUpdateWriteList.java
@@ -0,0 +1,24 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsUpdateWriteListResquest;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestUpdateWriteList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsUpdateWriteListResquest resquest = new RdsUpdateWriteListResquest();
+ resquest.setInstanceId("rds-5WIldjI3");
+ List ips = Arrays.asList("%");
+ resquest.setSecurityIps(ips);
+ AbstractBceResponse response =rdsClient.updateWriteList(resquest);
+ print("updateWriteList", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/rds/TestViewWriteList.java b/src/main/java/com/baidubce/examples/rds/TestViewWriteList.java
new file mode 100644
index 00000000..7b7b7921
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/rds/TestViewWriteList.java
@@ -0,0 +1,19 @@
+package com.baidubce.examples.rds;
+
+import com.baidubce.services.rds.RdsClient;
+import com.baidubce.services.rds.model.RdsViewWriteListRequest;
+import com.baidubce.services.rds.model.RdsViewWriteListResponse;
+
+import static com.baidubce.examples.rds.RdsUtil.createRdsClient;
+import static com.baidubce.examples.rds.RdsUtil.print;
+
+public class TestViewWriteList {
+ public static void main(String[] args) {
+ RdsClient rdsClient = createRdsClient();
+
+ RdsViewWriteListRequest request = new RdsViewWriteListRequest();
+ request.setInstanceId("rds-5WIldjI3");
+ RdsViewWriteListResponse response = rdsClient.viewWriteList(request);
+ print("viewWriteList", response);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/route/ExampleCreateRouteRule.java b/src/main/java/com/baidubce/examples/route/ExampleCreateRouteRule.java
new file mode 100644
index 00000000..9d4063ef
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/route/ExampleCreateRouteRule.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.route;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.route.RouteClient;
+import com.baidubce.services.route.RouteClientConfiguration;
+import com.baidubce.services.route.model.CreateRouteRequest;
+import com.baidubce.services.route.model.CreateRouteResponse;
+
+public class ExampleCreateRouteRule {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ RouteClientConfiguration config = new RouteClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ RouteClient routeClient = new RouteClient(config); // 初始化VpcClient
+
+ CreateRouteRequest createRouteRequest = new CreateRouteRequest();
+ createRouteRequest.setRouteTableId("rt-s3qmp80vq02q"); // 路由表Id
+ createRouteRequest.setSourceAddress("2400:da00:e003:9b00::/88"); // 路由源地址
+ createRouteRequest.setDestinationAddress("::/0"); // 路由目的地址
+ createRouteRequest.setNexthopType("enic"); // 路由下一跳
+ createRouteRequest.setNexthopId("eni-wjz6683jaswn"); // 路由类型
+ createRouteRequest.setDescription("desc"); // 路由描述
+ createRouteRequest.setIpVersion(6); // 路由 ipversion 4或者6 默认是4
+
+ try {
+ CreateRouteResponse response = routeClient.createRoute(createRouteRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/route/ExampleDeleteRouteRule.java b/src/main/java/com/baidubce/examples/route/ExampleDeleteRouteRule.java
new file mode 100644
index 00000000..652759b4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/route/ExampleDeleteRouteRule.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.route;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.route.RouteClient;
+import com.baidubce.services.route.RouteClientConfiguration;
+
+public class ExampleDeleteRouteRule {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ RouteClientConfiguration config = new RouteClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ RouteClient routeClient = new RouteClient(config); // 初始化VpcClient
+
+ try {
+ routeClient.deleteRouteRule("rr-vvhz3aiv0gz2");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/route/ExampleListRouteRule.java b/src/main/java/com/baidubce/examples/route/ExampleListRouteRule.java
new file mode 100644
index 00000000..be4a5e0b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/route/ExampleListRouteRule.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.route;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.route.RouteClient;
+import com.baidubce.services.route.RouteClientConfiguration;
+import com.baidubce.services.route.model.GetRouteResponse;
+
+public class ExampleListRouteRule {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ RouteClientConfiguration config = new RouteClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ RouteClient routeClient = new RouteClient(config); // 初始化VpcClient
+
+ try {
+ GetRouteResponse response = routeClient.getRoute("rt-s3qmp80vq02q", null);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/route/ExampleMarkerListRouteRule.java b/src/main/java/com/baidubce/examples/route/ExampleMarkerListRouteRule.java
new file mode 100644
index 00000000..1f618515
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/route/ExampleMarkerListRouteRule.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.route;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.route.RouteClient;
+import com.baidubce.services.route.RouteClientConfiguration;
+import com.baidubce.services.route.model.ListRouteRuleReq;
+import com.baidubce.services.route.model.ListRouteRuleResponse;
+
+public class ExampleMarkerListRouteRule {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ RouteClientConfiguration config = new RouteClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ RouteClient routeClient = new RouteClient(config); // 初始化VpcClient
+
+
+ ListRouteRuleReq listRouteRuleReq = new ListRouteRuleReq();
+ listRouteRuleReq.setRouteTableId("rt-s3qmp80vq02q");
+ try {
+ ListRouteRuleResponse response = routeClient.listRouteRule(listRouteRuleReq);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/route/ExampleRouteRuleSwithHa.java b/src/main/java/com/baidubce/examples/route/ExampleRouteRuleSwithHa.java
new file mode 100644
index 00000000..d40bdddd
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/route/ExampleRouteRuleSwithHa.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.route;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.route.RouteClient;
+import com.baidubce.services.route.RouteClientConfiguration;
+
+public class ExampleRouteRuleSwithHa {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ RouteClientConfiguration config = new RouteClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ RouteClient routeClient = new RouteClient(config); // 初始化VpcClient
+
+ try {
+ routeClient.switchRouteHa("rr-jcr3w2xryq2g");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/route/ExampleUpdateRouteRule.java b/src/main/java/com/baidubce/examples/route/ExampleUpdateRouteRule.java
new file mode 100644
index 00000000..09670218
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/route/ExampleUpdateRouteRule.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.route;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.route.RouteClient;
+import com.baidubce.services.route.RouteClientConfiguration;
+import com.baidubce.services.route.model.UpdateRouteRuleRequest;
+
+public class ExampleUpdateRouteRule {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ RouteClientConfiguration config = new RouteClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ RouteClient routeClient = new RouteClient(config); // 初始化VpcClient
+
+ UpdateRouteRuleRequest updateRouteRuleRequest = new UpdateRouteRuleRequest();
+ updateRouteRuleRequest.setRouteRuleId("rr-jcr3w2xryq2g");
+ updateRouteRuleRequest.setDescription("desc_new");
+
+ try {
+ routeClient.updateRouteRule(updateRouteRuleRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/securitygroup/ExampleAddSecurityGroupRule.java b/src/main/java/com/baidubce/examples/securitygroup/ExampleAddSecurityGroupRule.java
new file mode 100644
index 00000000..4bb21675
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/securitygroup/ExampleAddSecurityGroupRule.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.securitygroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.SecurityGroupRuleModel;
+import com.baidubce.services.bcc.model.securitygroup.SecurityGroupRuleOperateRequest;
+
+public class ExampleAddSecurityGroupRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BccClientConfiguration config = new BccClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BccClient bccClient = new BccClient(config); // 初始化SecurityGroupClient
+
+ SecurityGroupRuleOperateRequest securityGroupRuleOperateRequest = new SecurityGroupRuleOperateRequest();
+ securityGroupRuleOperateRequest.setSecurityGroupId("g-z7e2nm72eezs");
+
+ SecurityGroupRuleModel securityGroupRuleModel = new SecurityGroupRuleModel();
+ securityGroupRuleModel.setSourceIp("all"); // 规则源IP
+ securityGroupRuleModel.setDestIp("all"); // 规则目的IP
+ securityGroupRuleModel.setDirection("ingress"); // 规则的方向
+ securityGroupRuleModel.setProtocol("tcp"); // 规则协议
+ securityGroupRuleModel.setPortRange("1000-3000"); // 规则端口范围
+ securityGroupRuleModel.setEthertype("IPv4"); // 规则IPv4版本
+
+ securityGroupRuleOperateRequest.setRule(securityGroupRuleModel);
+ try {
+ bccClient.authorizeSecurityGroupRule(securityGroupRuleOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/securitygroup/ExampleCreateSecurityGroup.java b/src/main/java/com/baidubce/examples/securitygroup/ExampleCreateSecurityGroup.java
new file mode 100644
index 00000000..85d51bc2
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/securitygroup/ExampleCreateSecurityGroup.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.securitygroup;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.SecurityGroupRuleModel;
+import com.baidubce.services.bcc.model.securitygroup.CreateSecurityGroupRequest;
+import com.baidubce.services.bcc.model.securitygroup.CreateSecurityGroupResponse;
+
+public class ExampleCreateSecurityGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BccClientConfiguration config = new BccClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BccClient bccClient = new BccClient(config); // 初始化SecurityGroupClient
+
+ CreateSecurityGroupRequest createSecurityGroupRequest = new CreateSecurityGroupRequest();
+ createSecurityGroupRequest.setName("sgName"); // sg名称
+ createSecurityGroupRequest.setDesc("desc"); // sg描述
+ createSecurityGroupRequest.setVpcId("vpc-b9ycwxxisrb7"); // sg所属VPC
+ SecurityGroupRuleModel securityGroupRuleModel = new SecurityGroupRuleModel();
+ securityGroupRuleModel.setSourceIp("all"); // 规则源IP
+ securityGroupRuleModel.setDestIp("all"); // 规则目的IP
+ securityGroupRuleModel.setDirection("ingress"); // 规则的方向
+ securityGroupRuleModel.setProtocol("tcp"); // 规则协议
+ securityGroupRuleModel.setPortRange("1000-3000"); // 规则端口范围
+ securityGroupRuleModel.setEthertype("IPv4"); // 规则IPv4版本
+
+ createSecurityGroupRequest.setRules(Arrays.asList(securityGroupRuleModel));
+ try {
+ CreateSecurityGroupResponse response = bccClient.createSecurityGroup(createSecurityGroupRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/securitygroup/ExampleDeleteSecurityGroup.java b/src/main/java/com/baidubce/examples/securitygroup/ExampleDeleteSecurityGroup.java
new file mode 100644
index 00000000..e82bc8ba
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/securitygroup/ExampleDeleteSecurityGroup.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.securitygroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+
+public class ExampleDeleteSecurityGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BccClientConfiguration config = new BccClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BccClient bccClient = new BccClient(config); // 初始化SecurityGroupClient
+ try {
+ bccClient.deleteSecurityGroup("g-jnh9zaurh5s6");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/securitygroup/ExampleDeleteSecurityGroupRule.java b/src/main/java/com/baidubce/examples/securitygroup/ExampleDeleteSecurityGroupRule.java
new file mode 100644
index 00000000..9bed398b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/securitygroup/ExampleDeleteSecurityGroupRule.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.securitygroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.securitygroup.ListSecurityGroupsRequest;
+
+public class ExampleDeleteSecurityGroupRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BccClientConfiguration config = new BccClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BccClient bccClient = new BccClient(config); // 初始化SecurityGroupClient
+
+ ListSecurityGroupsRequest listSecurityGroupsRequest = new ListSecurityGroupsRequest();
+ listSecurityGroupsRequest.setVpcId("vpc-b9ycwxxisrb7");
+ try {
+ bccClient.deleteSecurityGroupRule("r-2guv5ze6yx48");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/securitygroup/ExampleGetSecurityGroup.java b/src/main/java/com/baidubce/examples/securitygroup/ExampleGetSecurityGroup.java
new file mode 100644
index 00000000..051093ab
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/securitygroup/ExampleGetSecurityGroup.java
@@ -0,0 +1,27 @@
+package com.baidubce.examples.securitygroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.SecurityGroupModel;
+
+public class ExampleGetSecurityGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BccClientConfiguration config = new BccClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BccClient bccClient = new BccClient(config); // 初始化SecurityGroupClient
+
+ try {
+ SecurityGroupModel response = bccClient.getSecurityGroup("g-zhc4yv5aw2i9");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/securitygroup/ExampleListSecurityGroup.java b/src/main/java/com/baidubce/examples/securitygroup/ExampleListSecurityGroup.java
new file mode 100644
index 00000000..dc35e806
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/securitygroup/ExampleListSecurityGroup.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.securitygroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.securitygroup.ListSecurityGroupsRequest;
+import com.baidubce.services.bcc.model.securitygroup.ListSecurityGroupsResponse;
+
+public class ExampleListSecurityGroup {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BccClientConfiguration config = new BccClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BccClient bccClient = new BccClient(config); // 初始化SecurityGroupClient
+
+ ListSecurityGroupsRequest listSecurityGroupsRequest = new ListSecurityGroupsRequest();
+ listSecurityGroupsRequest.setVpcId("vpc-b9ycwxxisrb7"); // 安全组的vpcId
+
+ try {
+ ListSecurityGroupsResponse response = bccClient.listSecurityGroups(listSecurityGroupsRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/securitygroup/ExampleRevokeSecurityGroupRule.java b/src/main/java/com/baidubce/examples/securitygroup/ExampleRevokeSecurityGroupRule.java
new file mode 100644
index 00000000..1af238b9
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/securitygroup/ExampleRevokeSecurityGroupRule.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.securitygroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.SecurityGroupRuleModel;
+import com.baidubce.services.bcc.model.securitygroup.SecurityGroupRuleOperateRequest;
+
+public class ExampleRevokeSecurityGroupRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BccClientConfiguration config = new BccClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BccClient bccClient = new BccClient(config); // 初始化SecurityGroupClient
+ SecurityGroupRuleOperateRequest securityGroupRuleOperateRequest = new SecurityGroupRuleOperateRequest();
+ securityGroupRuleOperateRequest.setSecurityGroupId("g-unsf3zrpb80u");
+
+ SecurityGroupRuleModel securityGroupRuleModel = new SecurityGroupRuleModel(); // 要删除的规则对象
+ securityGroupRuleModel.setSourceIp("all"); // 规则源IP
+ securityGroupRuleModel.setDestIp("all"); // 规则目的IP
+ securityGroupRuleModel.setDirection("ingress"); // 规则的方向
+ securityGroupRuleModel.setProtocol("tcp"); // 规则协议
+ securityGroupRuleModel.setPortRange("1000-3000"); // 规则端口范围
+ securityGroupRuleModel.setEthertype("IPv4"); // 规则IPv4版本
+ securityGroupRuleOperateRequest.setRule(securityGroupRuleModel);
+ try {
+ bccClient.revokeSecurityGroupRule(securityGroupRuleOperateRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/securitygroup/ExampleUpdateSecurityGroupRule.java b/src/main/java/com/baidubce/examples/securitygroup/ExampleUpdateSecurityGroupRule.java
new file mode 100644
index 00000000..54307a4c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/securitygroup/ExampleUpdateSecurityGroupRule.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.securitygroup;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.securitygroup.UpdateSecurityGroupRuleRequest;
+
+public class ExampleUpdateSecurityGroupRule {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BccClientConfiguration config = new BccClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ BccClient bccClient = new BccClient(config); // 初始化SecurityGroupClient
+
+ UpdateSecurityGroupRuleRequest updateSecurityGroupRuleRequest = new UpdateSecurityGroupRuleRequest();
+ updateSecurityGroupRuleRequest.setSecurityGroupRuleId("r-icyc1fkct9wk");
+ updateSecurityGroupRuleRequest.setRemark("desc");
+ try {
+ bccClient.updateSecurityGroupRule(updateSecurityGroupRuleRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/subnet/ExampleCreateIpReserve.java b/src/main/java/com/baidubce/examples/subnet/ExampleCreateIpReserve.java
new file mode 100644
index 00000000..7420f82f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/subnet/ExampleCreateIpReserve.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.subnet;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.subnet.SubnetClient;
+import com.baidubce.services.subnet.SubnetClientConfiguration;
+import com.baidubce.services.subnet.model.CreateIpReservedReq;
+import com.baidubce.services.subnet.model.CreateIpReservedResponse;
+
+public class ExampleCreateIpReserve {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ SubnetClientConfiguration config = new SubnetClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ SubnetClient subnetClient = new SubnetClient(config); // 初始化SubnetClient
+
+ CreateIpReservedReq createIpReservedReq = new CreateIpReservedReq();
+ createIpReservedReq.setSubnetId("sbn-6ha6gp1vczuv");
+ createIpReservedReq.setIpCidr("192.168.0.0/30");
+ createIpReservedReq.setDescription("aaa");
+
+ try {
+ CreateIpReservedResponse createIpReservedResponse = subnetClient.createIpReserved(createIpReservedReq);
+ System.out.println(createIpReservedResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/subnet/ExampleCreateSubnet.java b/src/main/java/com/baidubce/examples/subnet/ExampleCreateSubnet.java
new file mode 100644
index 00000000..55b3cd5c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/subnet/ExampleCreateSubnet.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.subnet;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.subnet.SubnetClient;
+import com.baidubce.services.subnet.SubnetClientConfiguration;
+import com.baidubce.services.subnet.model.CreateSubnetRequest;
+import com.baidubce.services.subnet.model.CreateSubnetResponse;
+import com.baidubce.services.tag.model.Tag;
+import com.google.common.collect.Lists;
+
+public class ExampleCreateSubnet {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ SubnetClientConfiguration config = new SubnetClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ SubnetClient subnetClient = new SubnetClient(config); // 初始化SubnetClient
+
+ CreateSubnetRequest createSubnetRequest = new CreateSubnetRequest();
+ createSubnetRequest.setVpcId("vpc-6fykvyb927mk");
+ createSubnetRequest.setCidr("10.0.0.0/28");
+ createSubnetRequest.setName("testSubnet");
+ createSubnetRequest.setZoneName("cn-bj-a");
+ createSubnetRequest.setVpcSecondaryCidr("10.0.0.0/24");
+
+ Tag tag = new Tag();
+ tag.setTagKey("tagKey");
+ tag.setTagValue("tagValue");
+ createSubnetRequest.setTags(Lists.newArrayList(tag));
+
+ try {
+ CreateSubnetResponse createSubnetResponse = subnetClient.createSubnet(createSubnetRequest);
+ System.out.println(createSubnetResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/subnet/ExampleDeleteIpReserve.java b/src/main/java/com/baidubce/examples/subnet/ExampleDeleteIpReserve.java
new file mode 100644
index 00000000..cb2a9f06
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/subnet/ExampleDeleteIpReserve.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.subnet;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.subnet.SubnetClient;
+import com.baidubce.services.subnet.SubnetClientConfiguration;
+
+public class ExampleDeleteIpReserve {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ SubnetClientConfiguration config = new SubnetClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ SubnetClient subnetClient = new SubnetClient(config); // 初始化SubnetClient
+
+ try {
+ subnetClient.deleteIpReserve("ipr-zemfd9sursiw");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/subnet/ExampleDeleteSubnet.java b/src/main/java/com/baidubce/examples/subnet/ExampleDeleteSubnet.java
new file mode 100644
index 00000000..03f8c2b3
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/subnet/ExampleDeleteSubnet.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.subnet;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.subnet.SubnetClient;
+import com.baidubce.services.subnet.SubnetClientConfiguration;
+
+public class ExampleDeleteSubnet {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ SubnetClientConfiguration config = new SubnetClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ SubnetClient subnetClient = new SubnetClient(config); // 初始化SubnetClient
+
+ try {
+ subnetClient.deleteSubnet("sbn-tzm673arie6j");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/subnet/ExampleGetSubnet.java b/src/main/java/com/baidubce/examples/subnet/ExampleGetSubnet.java
new file mode 100644
index 00000000..f2257082
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/subnet/ExampleGetSubnet.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.subnet;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.subnet.SubnetClient;
+import com.baidubce.services.subnet.SubnetClientConfiguration;
+import com.baidubce.services.subnet.model.GetSubnetDetailResponse;
+
+public class ExampleGetSubnet {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ SubnetClientConfiguration config = new SubnetClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ SubnetClient subnetClient = new SubnetClient(config); // 初始化SubnetClient
+
+
+ try {
+ GetSubnetDetailResponse getSubnetDetailResponse = subnetClient.getSubnetDetail("sbn-qz55vemw0n40");
+ System.out.println(getSubnetDetailResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/subnet/ExampleListIpReserve.java b/src/main/java/com/baidubce/examples/subnet/ExampleListIpReserve.java
new file mode 100644
index 00000000..59ffdcf1
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/subnet/ExampleListIpReserve.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.subnet;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.subnet.SubnetClient;
+import com.baidubce.services.subnet.SubnetClientConfiguration;
+import com.baidubce.services.subnet.model.ListIpReserveResponse;
+
+public class ExampleListIpReserve {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ SubnetClientConfiguration config = new SubnetClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ SubnetClient subnetClient = new SubnetClient(config); // 初始化SubnetClient
+ try {
+ ListIpReserveResponse listIpReserveResponse = subnetClient.listIpReserve();
+ System.out.println(listIpReserveResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/subnet/ExampleListSubnet.java b/src/main/java/com/baidubce/examples/subnet/ExampleListSubnet.java
new file mode 100644
index 00000000..3603db84
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/subnet/ExampleListSubnet.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.subnet;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.subnet.SubnetClient;
+import com.baidubce.services.subnet.SubnetClientConfiguration;
+import com.baidubce.services.subnet.model.ListSubnetsResponse;
+
+public class ExampleListSubnet {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ SubnetClientConfiguration config = new SubnetClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ SubnetClient subnetClient = new SubnetClient(config); // 初始化SubnetClient
+
+ try {
+ ListSubnetsResponse listSubnets = subnetClient.listSubnets();
+ System.out.println(listSubnets);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/subnet/ExampleUpdateSubnet.java b/src/main/java/com/baidubce/examples/subnet/ExampleUpdateSubnet.java
new file mode 100644
index 00000000..4a64ef68
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/subnet/ExampleUpdateSubnet.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.subnet;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.subnet.SubnetClient;
+import com.baidubce.services.subnet.SubnetClientConfiguration;
+
+public class ExampleUpdateSubnet {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ SubnetClientConfiguration config = new SubnetClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ SubnetClient subnetClient = new SubnetClient(config); // 初始化SubnetClient¬
+
+ try {
+ subnetClient.modifySubnetAttributes("sbn-6ha6gp1vczuv", "name1");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/tag/ExampleBindTagsBatchByResourceType.java b/src/main/java/com/baidubce/examples/tag/ExampleBindTagsBatchByResourceType.java
new file mode 100644
index 00000000..794b2336
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/tag/ExampleBindTagsBatchByResourceType.java
@@ -0,0 +1,40 @@
+package com.baidubce.examples.tag;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.model.ResourceType;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.bcc.model.TagsOperationRequest;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class ExampleBindTagsBatchByResourceType {
+ public static void main(String[] args) {
+ // 设置您的ak、sk和要访问的endpoint
+ String endpoint = "bcc.bj.baidubce.com";
+ String ak = "ak";
+ String sk = "sk";
+ // 设置默认配置
+ BceClientConfiguration bccClientConfiguration = new BccClientConfiguration()
+ .withProtocol(Protocol.HTTP)
+ .withCredentials(new DefaultBceCredentials(ak, sk))
+ .withEndpoint(endpoint);
+ // 创建bcc client
+ BccClient bccClient = new BccClient(bccClientConfiguration);
+ TagsOperationRequest tagsOperationRequest = new TagsOperationRequest();
+ // 标签列表
+ List changeTags = new ArrayList();
+ TagModel tagModel = new TagModel().withTagKey("Key-example").withTagValue("Value");
+ changeTags.add(tagModel);
+ tagsOperationRequest.setTags(changeTags);
+ // 预留实例券ID列表
+ tagsOperationRequest.setResourceIds(Arrays.asList("r-oFpMXKhv", "r-HrztSVk0"));
+
+ tagsOperationRequest.setResourceType(ResourceType.bccri.name());
+ bccClient.bindTagsBatchByResourceType(tagsOperationRequest);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/tag/ExampleUnbindTagsBatchByResourceType.java b/src/main/java/com/baidubce/examples/tag/ExampleUnbindTagsBatchByResourceType.java
new file mode 100644
index 00000000..67f65357
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/tag/ExampleUnbindTagsBatchByResourceType.java
@@ -0,0 +1,40 @@
+package com.baidubce.examples.tag;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.Protocol;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.model.ResourceType;
+import com.baidubce.services.bcc.BccClient;
+import com.baidubce.services.bcc.BccClientConfiguration;
+import com.baidubce.services.bcc.model.TagModel;
+import com.baidubce.services.bcc.model.TagsOperationRequest;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class ExampleUnbindTagsBatchByResourceType {
+ public static void main(String[] args) {
+ // 设置您的ak、sk和要访问的endpoint
+ String endpoint = "bcc.bj.baidubce.com";
+ String ak = "ak";
+ String sk = "sk";
+ // 设置默认配置
+ BceClientConfiguration bccClientConfiguration = new BccClientConfiguration()
+ .withProtocol(Protocol.HTTP)
+ .withCredentials(new DefaultBceCredentials(ak, sk))
+ .withEndpoint(endpoint);
+ // 创建bcc client
+ BccClient bccClient = new BccClient(bccClientConfiguration);
+ TagsOperationRequest tagsOperationRequest = new TagsOperationRequest();
+ // 标签列表
+ List changeTags = new ArrayList();
+ TagModel tagModel = new TagModel().withTagKey("Key-example").withTagValue("Value");
+ changeTags.add(tagModel);
+ tagsOperationRequest.setTags(changeTags);
+ // 预留实例券ID列表,最多支持100个
+ tagsOperationRequest.setResourceIds(Arrays.asList("r-oFpMXKhv", "r-HrztSVk0"));
+
+ tagsOperationRequest.setResourceType(ResourceType.bccri.name());
+ bccClient.unbindTagsBatchByResourceType(tagsOperationRequest);
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleAddAuth.java b/src/main/java/com/baidubce/examples/userservice/ExampleAddAuth.java
new file mode 100644
index 00000000..5ca48bed
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleAddAuth.java
@@ -0,0 +1,46 @@
+package com.baidubce.examples.userservice;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+import com.baidubce.services.userservice.model.AddAuthRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleAddAuth {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ AddAuthRequest addAuthRequest = new AddAuthRequest();
+ List authList = new ArrayList(); // 添加的权限列表
+ AddAuthRequest.Auth auth = new AddAuthRequest.Auth();
+ auth.setAuth("allow"); // 权限类型,取值为allow和deny
+ auth.setUid("7cc5aff841ff4b648028d80b84e1917e"); // 用户ID
+ authList.add(auth);
+ addAuthRequest.setAuthList(authList);
+
+ try {
+ userserviceClient.addAuth("testService.uservice-9fbf1146.beijing.baidubce.com",
+ addAuthRequest, null);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleBindInstance.java b/src/main/java/com/baidubce/examples/userservice/ExampleBindInstance.java
new file mode 100644
index 00000000..e518befb
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleBindInstance.java
@@ -0,0 +1,38 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+import com.baidubce.services.userservice.model.BindInstanceRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleBindInstance {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ BindInstanceRequest bindInstanceRequest = new BindInstanceRequest();
+ bindInstanceRequest.setInstanceId("lb-b69cd42f"); // 绑定的实例ID
+
+ try {
+ userserviceClient.bindInstance("testService.uservice-9fbf1146.beijing.baidubce.com",
+ bindInstanceRequest, null);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleCreateUserService.java b/src/main/java/com/baidubce/examples/userservice/ExampleCreateUserService.java
new file mode 100644
index 00000000..fdbeadae
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleCreateUserService.java
@@ -0,0 +1,51 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+import com.baidubce.services.userservice.model.CreateUserServiceRequest;
+import com.baidubce.services.userservice.model.CreateUserServiceResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleCreateUserService {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ CreateUserServiceRequest createUserServiceRequest = new CreateUserServiceRequest();
+ createUserServiceRequest.setName("name"); // 服务发布点名称
+ createUserServiceRequest.setDescription("desc"); // 描述
+ createUserServiceRequest.setServiceName("testService"); // 服务名称
+ createUserServiceRequest.setInstanceId("lb-b69cd42f"); // 绑定的实例id
+ List authList = new ArrayList(); // 权限列表
+ CreateUserServiceRequest.Auth auth = new CreateUserServiceRequest.Auth();
+ auth.setAuth("allow"); // 权限类型,取值为allow和deny
+ auth.setUid("*"); // 用户id
+ authList.add(auth);
+ createUserServiceRequest.setAuthList(authList);
+
+ try {
+ CreateUserServiceResponse response = userserviceClient.createUserService(createUserServiceRequest, "");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleDeleteUserService.java b/src/main/java/com/baidubce/examples/userservice/ExampleDeleteUserService.java
new file mode 100644
index 00000000..bb3f7d09
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleDeleteUserService.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleDeleteUserService {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ try {
+ userserviceClient.deleteUserService("testService.uservice-9fbf1146.beijing.baidubce.com", "");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleEditAuth.java b/src/main/java/com/baidubce/examples/userservice/ExampleEditAuth.java
new file mode 100644
index 00000000..160ade39
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleEditAuth.java
@@ -0,0 +1,46 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+import com.baidubce.services.userservice.model.EditAuthRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleEditAuth {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ EditAuthRequest editAuthRequest = new EditAuthRequest();
+ List authList = new ArrayList(); // 添加的权限列表
+ EditAuthRequest.Auth auth = new EditAuthRequest.Auth();
+ auth.setAuth("deny"); // 权限类型,取值为allow和deny
+ auth.setUid("7cc5aff841ff4b648028d80b84e1917e"); // 用户uid
+ authList.add(auth);
+ editAuthRequest.setAuthList(authList);
+
+ try {
+ userserviceClient.editAuth("testService.uservice-9fbf1146.beijing.baidubce.com",
+ editAuthRequest, null);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleGetUserService.java b/src/main/java/com/baidubce/examples/userservice/ExampleGetUserService.java
new file mode 100644
index 00000000..b02c218b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleGetUserService.java
@@ -0,0 +1,36 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+import com.baidubce.services.userservice.model.GetUserServiceResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleGetUserService {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ try {
+ GetUserServiceResponse response =
+ userserviceClient.getUserService("testService.uservice-9fbf1146.beijing.baidubce.com");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleListUserService.java b/src/main/java/com/baidubce/examples/userservice/ExampleListUserService.java
new file mode 100644
index 00000000..6d3da55f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleListUserService.java
@@ -0,0 +1,35 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+import com.baidubce.services.userservice.model.ListUserServiceResponse;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleListUserService {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ try {
+ ListUserServiceResponse response = userserviceClient.listUserService(null, null);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleRemoveAuth.java b/src/main/java/com/baidubce/examples/userservice/ExampleRemoveAuth.java
new file mode 100644
index 00000000..2156ec8d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleRemoveAuth.java
@@ -0,0 +1,43 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+import com.baidubce.services.userservice.model.RemoveAuthRequest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleRemoveAuth {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ RemoveAuthRequest removeAuthRequest = new RemoveAuthRequest();
+ List uidList = new ArrayList(); // 要移除的用户uid列表
+ uidList.add("7cc5aff841ff4b648028d80b84e1917e"); // 用户uid
+ removeAuthRequest.setUidList(uidList);
+
+ try {
+ userserviceClient.removeAuth("testService.uservice-9fbf1146.beijing.baidubce.com",
+ removeAuthRequest, null);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleUnbindInstance.java b/src/main/java/com/baidubce/examples/userservice/ExampleUnbindInstance.java
new file mode 100644
index 00000000..f9f2ae33
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleUnbindInstance.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleUnbindInstance {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ try {
+ userserviceClient.unbindInstance("testService.uservice-9fbf1146.beijing.baidubce.com",
+ null);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/userservice/ExampleUpdateUserService.java b/src/main/java/com/baidubce/examples/userservice/ExampleUpdateUserService.java
new file mode 100644
index 00000000..4bbd951a
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/userservice/ExampleUpdateUserService.java
@@ -0,0 +1,39 @@
+package com.baidubce.examples.userservice;
+
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.userservice.UserserviceClient;
+import com.baidubce.services.userservice.model.UpdateUserServiceRequest;
+
+/**
+ * @author chenchangquan
+ * @date 2023/11/27
+ */
+public class ExampleUpdateUserService {
+
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "blb.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ BceClientConfiguration config = new BceClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ UserserviceClient userserviceClient = new UserserviceClient(config); // 初始化UserserviceClient
+
+ UpdateUserServiceRequest updateUserServiceRequest = new UpdateUserServiceRequest();
+ updateUserServiceRequest.setName("updateName1"); // 修改后的服务名称
+ updateUserServiceRequest.setDescription("updateDesc"); // 修改后的描述
+
+ try {
+ userserviceClient.updateUserService("testService.uservice-9fbf1146.beijing.baidubce.com",
+ updateUserServiceRequest, null);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+
+
+}
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleCreateVpc.java b/src/main/java/com/baidubce/examples/vpc/ExampleCreateVpc.java
new file mode 100644
index 00000000..62fda3e7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleCreateVpc.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.tag.model.Tag;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+import com.baidubce.services.vpc.model.CreateVpcRequest;
+import com.baidubce.services.vpc.model.CreateVpcResponse;
+import com.google.common.collect.Lists;
+
+public class ExampleCreateVpc {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ CreateVpcRequest createVpcRequest = new CreateVpcRequest();
+ createVpcRequest.setName("vpcTest"); // vpc名称
+ createVpcRequest.setCidr("192.168.0.0/16"); // vpc cidr
+ createVpcRequest.setDescription("desc"); // vpc描述
+ createVpcRequest.setEnableIpv6(false); // 是否分配IPv6网段
+
+ Tag tag = new Tag();
+ tag.setTagKey("tagKey");
+ tag.setTagValue("tagValue");
+ createVpcRequest.setTags(Lists.newArrayList(tag)); // 设置vpc标签
+
+ try {
+ CreateVpcResponse response = vpcClient.createVpc(createVpcRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleDeleteVpc.java b/src/main/java/com/baidubce/examples/vpc/ExampleDeleteVpc.java
new file mode 100644
index 00000000..66792fc2
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleDeleteVpc.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+
+public class ExampleDeleteVpc {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ try {
+ vpcClient.deleteVpc("vpc-xysha3j7gce1");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleGetVpc.java b/src/main/java/com/baidubce/examples/vpc/ExampleGetVpc.java
new file mode 100644
index 00000000..a361f1c4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleGetVpc.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+import com.baidubce.services.vpc.model.GetVpcResponse;
+
+public class ExampleGetVpc {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ try {
+ GetVpcResponse response = vpcClient.getVpc("vpc-xysha3j7gce1");
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleGetVpcPrivateIpAddressInfo.java b/src/main/java/com/baidubce/examples/vpc/ExampleGetVpcPrivateIpAddressInfo.java
new file mode 100644
index 00000000..73709c1f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleGetVpcPrivateIpAddressInfo.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+import com.baidubce.services.vpc.model.GetVpcPrivateAddressInfoResponse;
+import com.baidubce.services.vpc.model.GetVpcPrivateIpAddressInfoRequest;
+
+public class ExampleGetVpcPrivateIpAddressInfo {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ GetVpcPrivateIpAddressInfoRequest getVpcPrivateIpAddressInfoRequest = new GetVpcPrivateIpAddressInfoRequest();
+ getVpcPrivateIpAddressInfoRequest.setVpcId("vpc-xysha3j7gce1"); // vpcId
+ getVpcPrivateIpAddressInfoRequest.setPrivateIpRange("192.168.0.0-192.168.0.80"); // 查询该ip区间内Ip的使用信息
+
+ try {
+ GetVpcPrivateAddressInfoResponse response =
+ vpcClient.getVpcPrivateIpAddressInfo(getVpcPrivateIpAddressInfoRequest);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleGetVpcResourceIpInfo.java b/src/main/java/com/baidubce/examples/vpc/ExampleGetVpcResourceIpInfo.java
new file mode 100644
index 00000000..9222f5a8
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleGetVpcResourceIpInfo.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+import com.baidubce.services.vpc.model.GetVpcResourceIpRequest;
+import com.baidubce.services.vpc.model.GetVpcResourceIpResponse;
+
+public class ExampleGetVpcResourceIpInfo {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ GetVpcResourceIpRequest request = new GetVpcResourceIpRequest();
+ request.setVpcId("vpc-xysha3j7gce1"); // vpc id
+ request.setSubnetId("sbn-iz20ee97p4u8"); // subnet id
+
+ try {
+ GetVpcResourceIpResponse response = vpcClient.getVpcResourceIpInfo(request);
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleListVpc.java b/src/main/java/com/baidubce/examples/vpc/ExampleListVpc.java
new file mode 100644
index 00000000..4dcf90df
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleListVpc.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+import com.baidubce.services.vpc.model.ListVpcResponse;
+
+public class ExampleListVpc {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ try {
+ ListVpcResponse response = vpcClient.listVpcs();
+ System.out.println(response);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleOpenVpcRelay.java b/src/main/java/com/baidubce/examples/vpc/ExampleOpenVpcRelay.java
new file mode 100644
index 00000000..ca62d6e7
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleOpenVpcRelay.java
@@ -0,0 +1,25 @@
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+
+public class ExampleOpenVpcRelay {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ try {
+ vpcClient.openVpcRelay("vpc-k88jn6i2acgx");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleShutDownVpcRelay.java b/src/main/java/com/baidubce/examples/vpc/ExampleShutDownVpcRelay.java
new file mode 100644
index 00000000..96d96c9b
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleShutDownVpcRelay.java
@@ -0,0 +1,25 @@
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+
+public class ExampleShutDownVpcRelay {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ try {
+ vpcClient.shutDownVpcRelay("vpc-k88jn6i2acgx");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpc/ExampleUpdateVpc.java b/src/main/java/com/baidubce/examples/vpc/ExampleUpdateVpc.java
new file mode 100644
index 00000000..504078bf
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpc/ExampleUpdateVpc.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Baidu, Inc. All Rights Reserved.
+ */
+package com.baidubce.examples.vpc;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpc.VpcClient;
+import com.baidubce.services.vpc.VpcClientConfiguration;
+
+public class ExampleUpdateVpc {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpcClientConfiguration config = new VpcClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpcClient vpcClient = new VpcClient(config); // 初始化VpcClient
+
+ try {
+ vpcClient.modifyInstanceAttributes("vpcName", "vpc-xysha3j7gce1");
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+
+ }
+}
+
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleBatchCreateSslVpnUser.java b/src/main/java/com/baidubce/examples/vpn/ExampleBatchCreateSslVpnUser.java
new file mode 100644
index 00000000..50b577c4
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleBatchCreateSslVpnUser.java
@@ -0,0 +1,50 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.BatchCreateSslVpnUserRequest;
+import com.baidubce.services.vpn.model.BatchCreateSslVpnUserResponse;
+import com.baidubce.services.vpn.model.SslVpnUser;
+
+import java.util.Arrays;
+import java.util.UUID;
+
+public class ExampleBatchCreateSslVpnUser {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ BatchCreateSslVpnUserRequest batchCreateSslVpnUserRequest = new BatchCreateSslVpnUserRequest();
+ batchCreateSslVpnUserRequest.setVpnId("vpn-b1z6gjrhm1an"); // VPN的ID
+
+ // SSL-VPN用户列表
+ SslVpnUser sslVpnUser1 = new SslVpnUser();
+ sslVpnUser1.setUserName("user1"); // 用户名,大小写字母、数字以及-_/.特殊字符,必须以字母开头,长度1-65
+ sslVpnUser1.setPassword("qwe123Test.1"); // 密码,8~17位字符,英文、数字和符号必须同时存在,符号仅限!@#$%^*(_
+ sslVpnUser1.setDescription("desc user1"); // 描述
+
+ SslVpnUser sslVpnUser2 = new SslVpnUser();
+ sslVpnUser2.setUserName("user2");
+ sslVpnUser2.setPassword("qwe123Test.2");
+ sslVpnUser2.setDescription("desc user2");
+ batchCreateSslVpnUserRequest.setSslVpnUsers(Arrays.asList(sslVpnUser1, sslVpnUser2));
+
+ batchCreateSslVpnUserRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ BatchCreateSslVpnUserResponse batchCreateSslVpnUserResponse
+ = vpnClient.batchCreateSslVpnUser(batchCreateSslVpnUserRequest);
+ System.out.println("batchCreateSslVpnUserResponse = " + batchCreateSslVpnUserResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleBindEip.java b/src/main/java/com/baidubce/examples/vpn/ExampleBindEip.java
new file mode 100644
index 00000000..a828d360
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleBindEip.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.BindEipRequest;
+
+import java.util.UUID;
+
+public class ExampleBindEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ BindEipRequest bindEipRequest = new BindEipRequest();
+ bindEipRequest.setVpnId("vpn-bwc4p652n57b"); // vpn的ID
+ bindEipRequest.setEip("100.89.0.221"); // 需要绑定的eip
+ bindEipRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.bindEip(bindEipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleCreateSslVpnServer.java b/src/main/java/com/baidubce/examples/vpn/ExampleCreateSslVpnServer.java
new file mode 100644
index 00000000..8dbfd748
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleCreateSslVpnServer.java
@@ -0,0 +1,47 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.CreateSslVpnServerRequest;
+import com.baidubce.services.vpn.model.CreateSslVpnServerResponse;
+import com.google.common.collect.Lists;
+
+import java.util.UUID;
+
+public class ExampleCreateSslVpnServer {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ CreateSslVpnServerRequest createSslVpnServerRequest = new CreateSslVpnServerRequest();
+ createSslVpnServerRequest.setVpnId("vpn-b1z6gjrhm1an"); // VPN的ID
+
+ // SSL-VPN服务端实例名称,大小写字母、数字以及-_/.特殊字符,必须以字母开头,长度1-65
+ createSslVpnServerRequest.setSslVpnServerName("java_sdk_test_ssl_vpn_server");
+
+ // SSL-VPN服务端接口类型。取值[tap, tun],默认为 tap
+ createSslVpnServerRequest.setInterfaceType("tap");
+
+ createSslVpnServerRequest.setLocalSubnets(Lists.newArrayList("192.168.50.0/24")); // 本端网络CIDR列表
+ createSslVpnServerRequest.setRemoteSubnet("192.168.10.0/24"); // 客户端网络CIDR
+ createSslVpnServerRequest.setClientDns("100.88.0.83"); // 客户端的DNS地址
+
+ createSslVpnServerRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ CreateSslVpnServerResponse createSslVpnServerResponse
+ = vpnClient.createSslVpnServer(createSslVpnServerRequest);
+ System.out.println("createSslVpnServerResponse = " + createSslVpnServerResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleCreateVpn.java b/src/main/java/com/baidubce/examples/vpn/ExampleCreateVpn.java
new file mode 100644
index 00000000..635cc284
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleCreateVpn.java
@@ -0,0 +1,50 @@
+package com.baidubce.examples.vpn;
+
+import java.util.Arrays;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.tag.model.Tag;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.CreateVpnRequest;
+import com.baidubce.services.vpn.model.CreateVpnResponse;
+
+public class ExampleCreateVpn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ CreateVpnRequest createVpnRequest = new CreateVpnRequest();
+ createVpnRequest.setVpcId("vpc-8gc432kidqqb"); // 所属VPC的ID
+ createVpnRequest.setVpnName("VpnJavaSdkTest"); // VPN的名称,大小写字母、数字以及-_/.特殊字符,必须以字母开头,长度1-65
+ createVpnRequest.setSubnetId("sbn-ptb45cw0icpk"); // 所属子网的ID
+ createVpnRequest.setType("SSL"); // VPN的类型
+ createVpnRequest.setMaxConnection(20); // SSL-VPN最大客户端连接数
+ Billing billing = new Billing();
+ billing.setPaymentTiming("Postpaid"); // 计费信息
+ createVpnRequest.setBilling(billing);
+ createVpnRequest.setDescription("this is a desc"); // 描述信息
+
+ Tag tag = new Tag();
+ tag.setTagKey("tagKey");
+ tag.setTagValue("tagValue");
+ createVpnRequest.setTags(Arrays.asList(tag)); // 标签信息
+ createVpnRequest.setResourceGroupId("RESG-xyfmAVnHGzK"); // 资源组ID
+ createVpnRequest.setDeleteProtect(true); // 是否开启释放保护
+
+ try {
+ CreateVpnResponse vpn = vpnClient.createVpn(createVpnRequest);
+ System.out.println(vpn);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleCreateVpnConn.java b/src/main/java/com/baidubce/examples/vpn/ExampleCreateVpnConn.java
new file mode 100644
index 00000000..4c48d2cc
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleCreateVpnConn.java
@@ -0,0 +1,63 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.CreateVpnConnRequest;
+import com.baidubce.services.vpn.model.CreateVpnConnResponse;
+import com.baidubce.services.vpn.model.IkeConfig;
+import com.baidubce.services.vpn.model.IpsecConfig;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+public class ExampleCreateVpnConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ CreateVpnConnRequest createVpnConnRequest = new CreateVpnConnRequest();
+ createVpnConnRequest.setVpnId("vpn-bwc4p652n57b"); // vpn的ID
+
+ // 共享秘钥,8~17位字符,英文、数字和符号必须同时存在,符号仅限!@#$%^*()_
+ createVpnConnRequest.setSecretKey("abc123456!");
+
+ List localSubnets = new ArrayList();
+ localSubnets.add("192.168.16.0/20");
+ createVpnConnRequest.setLocalSubnets(localSubnets); // 本端网络cidr列表
+
+ createVpnConnRequest.setRemoteIp("180.76.121.25"); // 对端VPN网关公网IP
+
+ List remoteSubnets = new ArrayList();
+ remoteSubnets.add("192.168.50.0/24");
+ createVpnConnRequest.setRemoteSubnets(remoteSubnets); // 对端网络cidr列表
+
+ // VPN隧道名称,大小写字母、数字以及-_/.特殊字符,必须以字母开头,长度1-65
+ createVpnConnRequest.setVpnConnName("java_sdk_test_conn");
+
+ // IKE配置
+ IkeConfig ikeConfig = new IkeConfig();
+ createVpnConnRequest.setIkeConfig(ikeConfig);
+
+ // IPSec配置
+ IpsecConfig ipsecConfig = new IpsecConfig();
+ createVpnConnRequest.setIpsecConfig(ipsecConfig);
+
+ createVpnConnRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ CreateVpnConnResponse createVpnConnResponse = vpnClient.createVpnConn(createVpnConnRequest);
+ System.out.println("createVpnConnResponse = " + createVpnConnResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleDeleteSslVpnServer.java b/src/main/java/com/baidubce/examples/vpn/ExampleDeleteSslVpnServer.java
new file mode 100644
index 00000000..804c9ffa
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleDeleteSslVpnServer.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.DeleteSslVpnServerRequest;
+
+import java.util.UUID;
+
+public class ExampleDeleteSslVpnServer {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ DeleteSslVpnServerRequest deleteSslVpnServerRequest = new DeleteSslVpnServerRequest();
+ deleteSslVpnServerRequest.setVpnId("vpn-b1z6gjrhm1an"); // VPN的ID
+ deleteSslVpnServerRequest.setSslVpnServerId("sslvpn-2746vp5u7jvf"); // SSL-VPN服务端ID
+ deleteSslVpnServerRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.deleteSslVpnServer(deleteSslVpnServerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleDeleteSslVpnUser.java b/src/main/java/com/baidubce/examples/vpn/ExampleDeleteSslVpnUser.java
new file mode 100644
index 00000000..a4a1f808
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleDeleteSslVpnUser.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.DeleteSslVpnUserRequest;
+
+import java.util.UUID;
+
+public class ExampleDeleteSslVpnUser {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ DeleteSslVpnUserRequest deleteSslVpnUserRequest = new DeleteSslVpnUserRequest();
+ deleteSslVpnUserRequest.setVpnId("vpn-b1z6gjrhm1an"); // VPN的ID
+ deleteSslVpnUserRequest.setUserId("vpn-ssl-user-s6uiuv9wdf1j"); // SSL-VPN用户ID
+ deleteSslVpnUserRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.deleteSslVpnUser(deleteSslVpnUserRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleDeleteVpn.java b/src/main/java/com/baidubce/examples/vpn/ExampleDeleteVpn.java
new file mode 100644
index 00000000..37bd6e6c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleDeleteVpn.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.DeleteVpnRequest;
+
+public class ExampleDeleteVpn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ DeleteVpnRequest deleteVpnRequest = new DeleteVpnRequest();
+ deleteVpnRequest.setVpnId("vpn-ku4cxya6nisq"); // 需要删除的vpnId
+
+ try {
+ vpnClient.deleteVpn(deleteVpnRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleDeleteVpnConn.java b/src/main/java/com/baidubce/examples/vpn/ExampleDeleteVpnConn.java
new file mode 100644
index 00000000..b44c0b1e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleDeleteVpnConn.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.DeleteVpnConnRequest;
+
+import java.util.UUID;
+
+public class ExampleDeleteVpnConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ DeleteVpnConnRequest deleteVpnConnRequest = new DeleteVpnConnRequest();
+ deleteVpnConnRequest.setVpnConnId("vpnconn-c2ugxt6evfkm"); // vpn隧道的ID
+ deleteVpnConnRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.deleteVpnConn(deleteVpnConnRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleGetSslVpnServer.java b/src/main/java/com/baidubce/examples/vpn/ExampleGetSslVpnServer.java
new file mode 100644
index 00000000..ae355edc
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleGetSslVpnServer.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.GetSslVpnServerResponse;
+
+public class ExampleGetSslVpnServer {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ String vpnId = "vpn-b1z6gjrhm1an"; // VPN的ID
+
+ try {
+ GetSslVpnServerResponse getSslVpnServerResponse = vpnClient.getSslVpnServer(vpnId);
+ System.out.println("getSslVpnServerResponse = " + getSslVpnServerResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleGetSslVpnUser.java b/src/main/java/com/baidubce/examples/vpn/ExampleGetSslVpnUser.java
new file mode 100644
index 00000000..68ad7246
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleGetSslVpnUser.java
@@ -0,0 +1,34 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.ListSslVpnUserRequest;
+import com.baidubce.services.vpn.model.ListSslVpnUserResponse;
+
+public class ExampleGetSslVpnUser {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ ListSslVpnUserRequest listSslVpnUserRequest = new ListSslVpnUserRequest();
+ listSslVpnUserRequest.setVpnId("vpn-b1z6gjrhm1an"); // SSL-VPN的ID
+ listSslVpnUserRequest.setMarker(""); // 批量获取列表的查询起始位置,是一个由系统生成的字符串
+ listSslVpnUserRequest.setMaxKeys(10); // 每页包含的最大数量,最大数量通常不超过1000,缺省值为1000
+ listSslVpnUserRequest.setUserName("user1"); // SSL-VPN用户名称
+
+ try {
+ ListSslVpnUserResponse listSslVpnUserResponse = vpnClient.getSslVpnUser(listSslVpnUserRequest);
+ System.out.println("listSslVpnUserResponse = " + listSslVpnUserResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleGetVpn.java b/src/main/java/com/baidubce/examples/vpn/ExampleGetVpn.java
new file mode 100644
index 00000000..09e93478
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleGetVpn.java
@@ -0,0 +1,29 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.GetVpnResponse;
+
+public class ExampleGetVpn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ String vpnId = "vpn-bwc4p652n57b"; // vpn的ID
+
+ try {
+ GetVpnResponse getVpnResponse = vpnClient.getVpn(vpnId);
+ System.out.println("getVpnResponse = " + getVpnResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleListVpn.java b/src/main/java/com/baidubce/examples/vpn/ExampleListVpn.java
new file mode 100644
index 00000000..9653bf1d
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleListVpn.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.ListVpnRequest;
+import com.baidubce.services.vpn.model.ListVpnResponse;
+
+public class ExampleListVpn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ ListVpnRequest listVpnRequest = new ListVpnRequest();
+ listVpnRequest.setVpcId("vpc-ut211bnd95cg"); // VPN所属VPC ID
+ listVpnRequest.setMarker(""); // 批量获取列表的查询的起始位置,是一个由系统生成的字符串
+ listVpnRequest.setMaxKeys(10); // 每页包含的最大数量,最大数量通常不超过1000,缺省值为1000
+ listVpnRequest.setEip("100.89.0.221"); // VPN绑定的eip地址
+
+ // VPN网关类型,值“IPSec”返回IPsec-VPN网关,值“SSL”返回SSL-VPN网关,默认为空,返回所有类型的VPN网关
+ listVpnRequest.setType("IPSec");
+
+ try {
+ ListVpnResponse listVpnResponse = vpnClient.listVpns(listVpnRequest);
+ System.out.println("listVpnResponse = " + listVpnResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleListVpnConn.java b/src/main/java/com/baidubce/examples/vpn/ExampleListVpnConn.java
new file mode 100644
index 00000000..21dc0a35
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleListVpnConn.java
@@ -0,0 +1,31 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.ListVpnConnRequest;
+import com.baidubce.services.vpn.model.ListVpnConnResponse;
+
+public class ExampleListVpnConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ ListVpnConnRequest listVpnConnRequest = new ListVpnConnRequest();
+ listVpnConnRequest.setVpnId("vpn-bwc4p652n57b"); // vpn的ID
+
+ try {
+ ListVpnConnResponse listVpnConnResponse = vpnClient.listVpnConns(listVpnConnRequest);
+ System.out.println("listVpnConnResponse = " + listVpnConnResponse);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleRenewVpn.java b/src/main/java/com/baidubce/examples/vpn/ExampleRenewVpn.java
new file mode 100644
index 00000000..41a8257e
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleRenewVpn.java
@@ -0,0 +1,43 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.eip.model.Billing;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.RenewVpnRequest;
+
+import java.util.UUID;
+
+public class ExampleRenewVpn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ RenewVpnRequest renewVpnRequest = new RenewVpnRequest();
+ renewVpnRequest.setVpnId("vpn-biqctbbdzrz2");
+
+ // 订单信息
+ Billing billing = new Billing();
+ billing.setPaymentTiming("Prepaid"); // 付款时间,预支付(Prepaid)和后支付(Postpaid)
+ Billing.Reservation reservation = new Billing.Reservation(); // 保留信息,支付方式为后支付时不需要设置,预支付时必须设置
+ reservation.setReservationLength(1); // 时长,[1,2,3,4,5,6,7,8,9,12,24,36]
+ reservation.setReservationTimeUnit("month"); // 时间单位,month,当前仅支持按月
+ billing.setReservation(reservation);
+ renewVpnRequest.setBilling(billing);
+
+ renewVpnRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.renewVpn(renewVpnRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleSwitchVpnDeleteProtect.java b/src/main/java/com/baidubce/examples/vpn/ExampleSwitchVpnDeleteProtect.java
new file mode 100644
index 00000000..18b55d9c
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleSwitchVpnDeleteProtect.java
@@ -0,0 +1,33 @@
+package com.baidubce.examples.vpn;
+
+import java.util.UUID;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.SwitchVpnDeleteProtectRequest;
+
+public class ExampleSwitchVpnDeleteProtect {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ SwitchVpnDeleteProtectRequest request = new SwitchVpnDeleteProtectRequest();
+ request.setVpnId("vpn-9c875b4065b5"); // vpn的ID
+ request.setDeleteProtect(true); // 开启释放保护
+ request.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.switchDeleteProtect(request);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleUnBindEip.java b/src/main/java/com/baidubce/examples/vpn/ExampleUnBindEip.java
new file mode 100644
index 00000000..6b333589
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleUnBindEip.java
@@ -0,0 +1,32 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.UnBindEipRequest;
+
+import java.util.UUID;
+
+public class ExampleUnBindEip {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ UnBindEipRequest unBindEipRequest = new UnBindEipRequest();
+ unBindEipRequest.setVpnId("vpn-bwc4p652n57b"); // vpn的ID
+ unBindEipRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.unBindEip(unBindEipRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleUpdateSslVpnServer.java b/src/main/java/com/baidubce/examples/vpn/ExampleUpdateSslVpnServer.java
new file mode 100644
index 00000000..b33827af
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleUpdateSslVpnServer.java
@@ -0,0 +1,41 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.UpdateSslVpnServerRequest;
+import com.google.common.collect.Lists;
+
+import java.util.UUID;
+
+public class ExampleUpdateSslVpnServer {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ UpdateSslVpnServerRequest updateSslVpnServerRequest = new UpdateSslVpnServerRequest();
+ updateSslVpnServerRequest.setVpnId("vpn-b1z6gjrhm1an"); // VPN的ID
+ updateSslVpnServerRequest.setSslVpnServerId("sslvpn-2746vp5u7jvf"); // SSL-VPN服务端ID
+
+ // SSL-VPN服务端实例名称,大小写字母、数字以及-_/.特殊字符,必须以字母开头,长度1-65
+ updateSslVpnServerRequest.setSslVpnServerName("testServer-update");
+
+ updateSslVpnServerRequest.setLocalSubnets(Lists.newArrayList("192.168.40.0/24"));
+ updateSslVpnServerRequest.setRemoteSubnet("192.168.100.0/24");
+ updateSslVpnServerRequest.setClientDns("100.88.0.83"); // 客户端的DNS地址
+ updateSslVpnServerRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.updateSslVpnServer(updateSslVpnServerRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleUpdateSslVpnUser.java b/src/main/java/com/baidubce/examples/vpn/ExampleUpdateSslVpnUser.java
new file mode 100644
index 00000000..79de19cd
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleUpdateSslVpnUser.java
@@ -0,0 +1,38 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.UpdateSslVpnUserRequest;
+
+import java.util.UUID;
+
+public class ExampleUpdateSslVpnUser {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ UpdateSslVpnUserRequest updateSslVpnUserRequest = new UpdateSslVpnUserRequest();
+ updateSslVpnUserRequest.setVpnId("vpn-b1z6gjrhm1an"); // VPN的ID
+ updateSslVpnUserRequest.setUserId("vpn-ssl-user-s6uiuv9wdf1j"); // SSL-VPN用户ID
+
+ // 密码,8~17位字符,英文、数字和符号必须同时存在,符号仅限!@#$%^*(_
+ updateSslVpnUserRequest.setPassword("1234567abc!");
+
+ updateSslVpnUserRequest.setDescription("description-update"); // 描述
+ updateSslVpnUserRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.updateSslVpnUser(updateSslVpnUserRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleUpdateVpn.java b/src/main/java/com/baidubce/examples/vpn/ExampleUpdateVpn.java
new file mode 100644
index 00000000..5ea1fa5f
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleUpdateVpn.java
@@ -0,0 +1,37 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.UpdateVpnRequest;
+
+import java.util.UUID;
+
+public class ExampleUpdateVpn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ UpdateVpnRequest updateVpnRequest = new UpdateVpnRequest();
+ updateVpnRequest.setVpnId("vpn-bwc4p652n57b"); // vpn的ID
+
+ // VPN名称,不能取值"default",长度不超过65个字符,可由数字,字符,下划线组成
+ updateVpnRequest.setVpnName("java_sdk_test_update_vpn");
+
+ updateVpnRequest.setDescription("test update vpn description."); // vpn的描述,不超过200字符
+ updateVpnRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.updateVpn(updateVpnRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/examples/vpn/ExampleUpdateVpnConn.java b/src/main/java/com/baidubce/examples/vpn/ExampleUpdateVpnConn.java
new file mode 100644
index 00000000..7d0c6210
--- /dev/null
+++ b/src/main/java/com/baidubce/examples/vpn/ExampleUpdateVpnConn.java
@@ -0,0 +1,64 @@
+package com.baidubce.examples.vpn;
+
+import com.baidubce.BceClientException;
+import com.baidubce.auth.DefaultBceCredentials;
+import com.baidubce.services.vpn.VpnClient;
+import com.baidubce.services.vpn.VpnClientConfiguration;
+import com.baidubce.services.vpn.model.IkeConfig;
+import com.baidubce.services.vpn.model.IpsecConfig;
+import com.baidubce.services.vpn.model.UpdateVpnConnRequest;
+import com.google.common.collect.Lists;
+
+import java.util.List;
+import java.util.UUID;
+
+public class ExampleUpdateVpnConn {
+ public static void main(String[] args) {
+ String ak = "Your Ak";
+ String sk = "Your Sk";
+ String endpoint = "bcc.bj.baidubce.com"; // 请求的服务region对应的域名
+
+ VpnClientConfiguration config = new VpnClientConfiguration();
+ config.setCredentials(new DefaultBceCredentials(ak, sk));
+ config.setEndpoint(endpoint);
+ VpnClient vpnClient = new VpnClient(config); // 初始化Client
+
+ UpdateVpnConnRequest updateVpnConnRequest = new UpdateVpnConnRequest();
+ updateVpnConnRequest.setVpnConnId("vpnconn-c2ugxt6evfkm"); // vpn隧道的ID
+ updateVpnConnRequest.setVpnId("vpn-bwc4p652n57b"); // vpn隧道所属vpn的ID
+
+ // 共享秘钥,8~17位字符,英文、数字和符号必须同时存在,符号仅限!@#$%^*()_
+ updateVpnConnRequest.setSecretKey("abc123456!");
+
+ // 本端网络cidr列表
+ List localSubnets = Lists.newArrayList("192.168.0.0/20");
+ updateVpnConnRequest.setLocalSubnets(localSubnets);
+
+ updateVpnConnRequest.setRemoteIp("180.76.121.30"); // 对端VPN网关公网IP
+
+ // 对端网络cidr列表
+ List remoteSubnets = Lists.newArrayList("192.168.100.0/24");
+ updateVpnConnRequest.setRemoteSubnets(remoteSubnets);
+
+ // VPN隧道名称,大小写字母、数字以及-_/.特殊字符,必须以字母开头,长度1-65
+ updateVpnConnRequest.setVpnConnName("test_vpn_conn_update");
+
+ updateVpnConnRequest.setDescription("update vpn conn description."); // 描述
+
+ // IKE配置
+ IkeConfig ikeConfig = new IkeConfig();
+ updateVpnConnRequest.setIkeConfig(ikeConfig);
+
+ // IPSec配置
+ IpsecConfig ipsecConfig = new IpsecConfig();
+ updateVpnConnRequest.setIpsecConfig(ipsecConfig);
+
+ updateVpnConnRequest.setClientToken(UUID.randomUUID().toString()); // 幂等性Token
+
+ try {
+ vpnClient.updateVpnConn(updateVpnConnRequest);
+ } catch (BceClientException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/baidubce/http/BceHttpClient.java b/src/main/java/com/baidubce/http/BceHttpClient.java
old mode 100644
new mode 100755
index fe304962..84bf2830
--- a/src/main/java/com/baidubce/http/BceHttpClient.java
+++ b/src/main/java/com/baidubce/http/BceHttpClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014 Baidu, Inc.
+ * Copyright 2014-2019 Baidu, 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
@@ -16,13 +16,13 @@
import com.baidubce.BceClientConfiguration;
import com.baidubce.BceClientException;
-import com.baidubce.BceServiceException;
import com.baidubce.Protocol;
import com.baidubce.auth.BceCredentials;
import com.baidubce.auth.Signer;
import com.baidubce.http.handler.HttpResponseHandler;
import com.baidubce.internal.InternalRequest;
import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.bos.model.GetObjectResponse;
import com.baidubce.util.HttpUtils;
import org.apache.http.HttpEntity;
@@ -39,6 +39,7 @@
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpHead;
+import org.apache.http.client.methods.HttpPatch;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.client.methods.HttpRequestBase;
@@ -81,6 +82,7 @@
import java.io.InputStream;
import java.security.NoSuchAlgorithmException;
import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Future;
@ThreadSafe
@@ -102,7 +104,12 @@ public class BceHttpClient {
* Internal client for sending HTTP requests
*/
protected CloseableHttpClient httpClient;
-
+
+ /**
+ * Internal async client for sending HTTP requests
+ */
+ protected CloseableHttpAsyncClient httpAsyncClient;
+
/**
* Client configuration options, such as proxy settings, max retries, etc.
*/
@@ -111,6 +118,7 @@ public class BceHttpClient {
protected Signer signer;
private HttpClientConnectionManager connectionManager;
+ private NHttpClientConnectionManager nioConnectionManager;
private RequestConfig.Builder requestConfigBuilder;
private CredentialsProvider credentialsProvider;
@@ -118,13 +126,20 @@ public class BceHttpClient {
private boolean isHttpAsyncPutEnabled = false;
+ // Maintain a single instance with endpoint
+ private static ConcurrentHashMap asyncClientMap =
+ new ConcurrentHashMap();
+
+ private static ConcurrentHashMap managerMap =
+ new ConcurrentHashMap();
+
/**
* Constructs a new BCE client using the specified client configuration options (ex: max retry attempts, proxy
* settings, etc), and request metric collector.
*
* @param config Configuration options specifying how this client will communicate with BCE (ex: proxy settings,
* retry count, etc.).
- *
+ * @param signer signer used to sign http requests
* @throws java.lang.IllegalArgumentException If config or signer is null.
*/
public BceHttpClient(BceClientConfiguration config, Signer signer) {
@@ -139,6 +154,7 @@ public BceHttpClient(BceClientConfiguration config, Signer signer) {
this.requestConfigBuilder = RequestConfig.custom();
this.requestConfigBuilder.setConnectTimeout(config.getConnectionTimeoutInMillis());
this.requestConfigBuilder.setStaleConnectionCheckEnabled(true);
+ this.requestConfigBuilder.setRedirectsEnabled(config.isRedirectsEnabled());
if (config.getLocalAddress() != null) {
this.requestConfigBuilder.setLocalAddress(config.getLocalAddress());
}
@@ -164,28 +180,42 @@ public BceHttpClient(BceClientConfiguration config, Signer signer) {
/**
* Constructs a new BCE Http Client with httpAsyncPutEnabled.
- * @param config Configuration options specifying how this client will communicate with BCE (ex: proxy settings,
- * retry count, etc.).
+ *
+ * @param config Configuration options specifying how this client will communicate with BCE (ex: proxy settings,
+ * retry count, etc.).
+ * @param signer signer used to sign http requests
* @param isHttpAsyncPutEnabled whether use Async for PUT method.
*/
public BceHttpClient(BceClientConfiguration config, Signer signer, boolean isHttpAsyncPutEnabled) {
this(config, signer);
- this.isHttpAsyncPutEnabled = isHttpAsyncPutEnabled;
+ if (isHttpAsyncPutEnabled) {
+ try {
+ this.nioConnectionManager = this.createNHttpClientConnectionManager();
+ this.httpAsyncClient = this.createHttpAsyncClient(this.nioConnectionManager);
+ this.httpAsyncClient.start();
+ this.isHttpAsyncPutEnabled = true;
+ } catch (IOReactorException e) {
+ this.isHttpAsyncPutEnabled = false;
+ }
+ } else {
+ this.isHttpAsyncPutEnabled = false;
+ }
}
/**
* Executes the request and returns the result.
*
+ * @param The type of response
* @param request The BCE request to send to the remote server
* @param responseClass A response handler to accept a successful response from the remote server
* @param responseHandlers A response handler to accept an unsuccessful response from the remote server
- *
+ * @return The response from the remote server
* @throws com.baidubce.BceClientException If any errors are encountered on the client while making the
- * request or handling the response.
+ * request or handling the response.
* @throws com.baidubce.BceServiceException If any errors occurred in BCE while processing the request.
*/
public T execute(InternalRequest request, Class responseClass,
- HttpResponseHandler[] responseHandlers) {
+ HttpResponseHandler[] responseHandlers) {
// Apply whatever request options we know how to handle, such as user-agent.
request.addHeader(Headers.USER_AGENT, this.config.getUserAgent());
BceCredentials credentials = config.getCredentials();
@@ -193,16 +223,16 @@ public T execute(InternalRequest request, Class<
credentials = request.getCredentials();
}
long delayForNextRetryInMillis = 0;
- for (int attempt = 1; ; ++attempt) {
+ boolean isBosHead404 = false;
+ for (int attempt = 1; ; ++attempt) {
HttpRequestBase httpRequest = null;
CloseableHttpResponse httpResponse = null;
- CloseableHttpAsyncClient httpAsyncClient = null;
try {
// Sign the request if credentials were provided
if (credentials != null) {
this.signer.sign(request, credentials);
}
-
+
requestLogger.debug("Sending Request: {}", request);
httpRequest = this.createHttpRequest(request);
@@ -210,19 +240,18 @@ public T execute(InternalRequest request, Class<
HttpContext httpContext = this.createHttpContext(request);
if (this.isHttpAsyncPutEnabled && httpRequest.getMethod().equals("PUT")) {
- httpAsyncClient = this.createHttpAsyncClient(this.createNHttpClientConnectionManager());
- httpAsyncClient.start();
Future future = httpAsyncClient.execute(HttpAsyncMethods.create(httpRequest),
- new BasicAsyncResponseConsumer(),
- httpContext, null);
+ new BasicAsyncResponseConsumer(),
+ httpContext, null);
httpResponse = new BceCloseableHttpResponse(future.get());
} else {
httpResponse = this.httpClient.execute(httpRequest, httpContext);
}
- HttpUtils.printRequest(httpRequest);
+ HttpUtils.printRequest(httpRequest);
BceHttpResponse bceHttpResponse = new BceHttpResponse(httpResponse);
T response = responseClass.newInstance();
+ isBosHead404 = HttpMethodName.HEAD.equals(request.getHttpMethod()) && response instanceof GetObjectResponse && bceHttpResponse.getStatusCode() == 404;
for (HttpResponseHandler handler : responseHandlers) {
if (handler.handle(bceHttpResponse, response)) {
break;
@@ -232,7 +261,7 @@ public T execute(InternalRequest request, Class<
// everything is ok
return response;
} catch (Exception e) {
- if (logger.isInfoEnabled()) {
+ if (logger.isInfoEnabled() && !isBosHead404) {
logger.info("Unable to execute HTTP request", e);
}
@@ -276,14 +305,6 @@ public T execute(InternalRequest request, Class<
}
}
}
- } finally {
- try {
- if (httpAsyncClient != null) {
- httpAsyncClient.close();
- }
- } catch (IOException e) {
- logger.debug("Fail to close HttpAsyncClient", e);
- }
}
}
}
@@ -295,20 +316,47 @@ public T execute(InternalRequest request, Class<
*/
public void shutdown() {
IdleConnectionReaper.removeConnectionManager(this.connectionManager);
+ try {
+ this.httpClient.close();
+ } catch (IOException e) {
+ logger.debug("Fail to close httpClient", e);
+ }
this.connectionManager.shutdown();
}
+ /**
+ * The difference between shutdown() is that releasing all resources including nio and idle.
+ */
+ public void shutdownClean() {
+ shutdown();
+ IdleConnectionReaper.shutdown();
+ if (this.httpAsyncClient != null) {
+ try {
+ this.httpAsyncClient.close();
+ } catch (IOException e) {
+ logger.debug("Fail to close httpAsyncClient", e);
+ }
+ }
+ if (this.nioConnectionManager != null) {
+ try {
+ this.nioConnectionManager.shutdown();
+ } catch (IOException e) {
+ logger.debug("Fail to shutdown nioConnectionManager", e);
+ }
+ }
+ }
+
/**
* Get delay time before next retry.
*
- * @param method The current HTTP method being executed.
- * @param exception The client/service exception from the failed request.
- * @param attempt The number of times the current request has been attempted.
+ * @param method The current HTTP method being executed.
+ * @param exception The client/service exception from the failed request.
+ * @param attempt The number of times the current request has been attempted.
* @param retryPolicy The retryPolicy being used.
* @return The deley time before next retry.
*/
protected long getDelayBeforeNextRetryInMillis(HttpRequestBase method, BceClientException exception, int attempt,
- RetryPolicy retryPolicy) {
+ RetryPolicy retryPolicy) {
int retries = attempt - 1;
int maxErrorRetry = retryPolicy.getMaxErrorRetry();
@@ -361,15 +409,21 @@ private HttpClientConnectionManager createHttpClientConnectionManager() {
* Create connection manager for asynchronous http client.
*
* @return Connection manager for asynchronous http client.
- * @throws IOReactorException
+ * @throws IOReactorException in case if a non-recoverable I/O error.
*/
protected NHttpClientConnectionManager createNHttpClientConnectionManager() throws IOReactorException {
+ if (managerMap.containsKey(config.getEndpoint())) {
+ return managerMap.get(config.getEndpoint());
+ }
ConnectingIOReactor ioReactor =
new DefaultConnectingIOReactor(IOReactorConfig.custom()
+ .setSoReuseAddress(true)
+ .setIoThreadCount(this.config.getIoThreadCount())
.setSoTimeout(this.config.getSocketTimeoutInMillis()).setTcpNoDelay(true).build());
PoolingNHttpClientConnectionManager connectionManager = new PoolingNHttpClientConnectionManager(ioReactor);
connectionManager.setDefaultMaxPerRoute(this.config.getMaxConnections());
connectionManager.setMaxTotal(this.config.getMaxConnections());
+ managerMap.putIfAbsent(config.getEndpoint(), connectionManager);
return connectionManager;
}
@@ -398,7 +452,10 @@ private CloseableHttpClient createHttpClient(HttpClientConnectionManager connect
* @param connectionManager Asynchronous http client connection manager.
* @return Asynchronous http client based on connection manager.
*/
- protected CloseableHttpAsyncClient createHttpAsyncClient (NHttpClientConnectionManager connectionManager) {
+ protected CloseableHttpAsyncClient createHttpAsyncClient(NHttpClientConnectionManager connectionManager) {
+ if (asyncClientMap.containsKey(config.getEndpoint())) {
+ return asyncClientMap.get(config.getEndpoint());
+ }
HttpAsyncClientBuilder builder = HttpAsyncClients.custom().setConnectionManager(connectionManager);
int socketBufferSizeInBytes = this.config.getSocketBufferSizeInBytes();
@@ -406,7 +463,9 @@ protected CloseableHttpAsyncClient createHttpAsyncClient (NHttpClientConnectionM
builder.setDefaultConnectionConfig(
ConnectionConfig.custom().setBufferSize(socketBufferSizeInBytes).build());
}
- return builder.build();
+ CloseableHttpAsyncClient client = builder.build();
+ asyncClientMap.putIfAbsent(config.getEndpoint(), client);
+ return client;
}
/**
@@ -448,12 +507,17 @@ protected HttpRequestBase createHttpRequest(InternalRequest request) {
httpRequest = new HttpDelete(uri);
} else if (request.getHttpMethod() == HttpMethodName.HEAD) {
httpRequest = new HttpHead(uri);
+ } else if (request.getHttpMethod() == HttpMethodName.PATCH) {
+ HttpPatch patchMethod = new HttpPatch(uri);
+ httpRequest = patchMethod;
+ if (request.getContent() != null) {
+ patchMethod.setEntity(new InputStreamEntity(request.getContent(), contentLength));
+ }
} else {
throw new BceClientException("Unknown HTTP method name: " + request.getHttpMethod());
}
httpRequest.addHeader(Headers.HOST, HttpUtils.generateHostHeader(request.getUri()));
-
// Copy over any other headers already in our request
for (Entry entry : request.getHeaders().entrySet()) {
/*
@@ -480,8 +544,15 @@ protected HttpRequestBase createHttpRequest(InternalRequest request) {
*/
protected HttpClientContext createHttpContext(InternalRequest request) {
HttpClientContext context = HttpClientContext.create();
- context.setRequestConfig(this.requestConfigBuilder.setExpectContinueEnabled(request.isExpectContinueEnabled())
- .build());
+ this.requestConfigBuilder.setExpectContinueEnabled(request.isExpectContinueEnabled())
+ .setSocketTimeout(this.config.getSocketTimeoutInMillis());
+ if (request.isRedirectsEnabled() != null) {
+ // redirect set by user
+ this.requestConfigBuilder
+ .setMaxRedirects(request.getMaxRedirects())
+ .setRedirectsEnabled(request.isRedirectsEnabled().booleanValue());
+ }
+ context.setRequestConfig(this.requestConfigBuilder.build());
if (this.credentialsProvider != null) {
context.setCredentialsProvider(this.credentialsProvider);
}
diff --git a/src/main/java/com/baidubce/http/Headers.java b/src/main/java/com/baidubce/http/Headers.java
index 43ff887a..cd48d650 100644
--- a/src/main/java/com/baidubce/http/Headers.java
+++ b/src/main/java/com/baidubce/http/Headers.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014 Baidu, Inc.
+ * Copyright 2014-2019 Baidu, Inc. All Rights Reserved.
*
* 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
@@ -64,6 +64,10 @@ public interface Headers {
public static final String BCE_ACL = "x-bce-acl";
+ public static final String BCE_ACL_GRANT_READ = "x-bce-grant-read";
+
+ public static final String BCE_ACL_GRANT_FULL_CONTROL = "x-bce-grant-full-control";
+
public static final String BCE_CONTENT_SHA256 = "x-bce-content-sha256";
public static final String BCE_COPY_METADATA_DIRECTIVE = "x-bce-metadata-directive";
@@ -80,18 +84,26 @@ public interface Headers {
public static final String BCE_USER_METADATA_PREFIX = "x-bce-meta-";
+ public static final String BCE_CONTENT_CRC32 = "x-bce-content-crc32";
+
/*
* BOS HTTP Headers
*/
public static final String BCE_COPY_SOURCE = "x-bce-copy-source";
+ public static final String BCE_COPY_SOURCE_RANGE = "x-bce-copy-source-range";
+
public static final String BCE_COPY_SOURCE_IF_MODIFIED_SINCE = "x-bce-copy-source-if-modified-since";
public static final String BCE_COPY_SOURCE_IF_NONE_MATCH = "x-bce-copy-source-if-none-match";
public static final String BCE_COPY_SOURCE_IF_UNMODIFIED_SINCE = "x-bce-copy-source-if-unmodified-since";
+ public static final String BCE_FETCH_SOURCE = "x-bce-fetch-source";
+
+ public static final String BCE_FETCH_MODE = "x-bce-fetch-mode";
+
public static final String BCE_DEBUG_ID = "x-bce-debug-id";
public static final String BCE_NEXT_APPEND_OFFSET = "x-bce-next-append-offset";
@@ -100,4 +112,50 @@ public interface Headers {
public static final String BCE_STORAGE_CLASS = "x-bce-storage-class";
+ public static final String BCE_RESTORE_TIER = "x-bce-restore-tier";
+
+ public static final String BCE_RESTORE_DAYS = "x-bce-restore-days";
+
+ public static final String BCE_SYMLINK_TARGET = "x-bce-symlink-target";
+
+ public static final String BCE_FORBID_OVERWRITE = "x-bce-forbid-overwrite";
+
+ public static final String BCE_RESTORE = "x-bce-restore";
+
+ public static final String BOS_TRAFFIC_LIMIT = "x-bce-traffic-limit";
+
+ public static final String BOS_PROCESS = "x-bce-process";
+
+ public static final String BCE_TAG_LIST = "x-bce-tag-list";
+
+ public static final String BCE_REFERER = "referer";
+
+ public static final String BCE_FETCH_USER_AGENT = "x-bce-fetch-user-agent";
+
+ public static final String BCE_FETCH_CALLBACK_ADDRESS = "x-bce-callback-address";
+
+ public static final String BCE_BUCKET_TYPE = "x-bce-bucket-type";
+
+ public static final String BCE_DELETE_RECURSIVE = "x-bce-delete-recursive";
+
+ public static final String BCE_DELETE_TOKEN = "x-bce-delete-token";
+
+ public static final String BCE_CONTENT_CRC32C = "x-bce-content-crc32c";
+
+ public static final String BCE_CONTENT_CRC32C_FLAG = "x-bce-content-crc32c-flag";
+
+ public static final String BCE_CONSISTENCY_VIEW = "x-bce-consistency-view";
+
+ public static final String BCE_LIST_WITH_EXT_META = "x-bce-list-with-ext-meta";
+
+ public static final String BCE_VERSIONING = "x-bce-versioning";
+
+ public static final String BCE_VERSION_ID = "x-bce-version-id";
+
+ /*
+ * CFC HTTP Headers
+ */
+
+ public static final String BCE_LOG_RESULT = "X-Bce-Log-Result";
+
}
diff --git a/src/main/java/com/baidubce/http/HttpMethodName.java b/src/main/java/com/baidubce/http/HttpMethodName.java
index f71fb398..1fd3639b 100644
--- a/src/main/java/com/baidubce/http/HttpMethodName.java
+++ b/src/main/java/com/baidubce/http/HttpMethodName.java
@@ -16,5 +16,5 @@
* The name of http method.
*/
public enum HttpMethodName {
- GET, POST, PUT, DELETE, HEAD;
+ GET, POST, PUT, DELETE, HEAD, TRACE, PATCH, CONNECT, OPTIONS, ANY;
}
diff --git a/src/main/java/com/baidubce/http/IdleConnectionReaper.java b/src/main/java/com/baidubce/http/IdleConnectionReaper.java
old mode 100644
new mode 100755
index e1c12234..d1533411
--- a/src/main/java/com/baidubce/http/IdleConnectionReaper.java
+++ b/src/main/java/com/baidubce/http/IdleConnectionReaper.java
@@ -23,16 +23,13 @@
/**
* Daemon thread to periodically check connection pools for idle connections.
- *
*
* Connections sitting around idle in the HTTP connection pool for too long will eventually be terminated by the BCE end
* of the connection, and will go into CLOSE_WAIT. If this happens, sockets will sit around in CLOSE_WAIT, still using
* resources on the client side to manage that socket. Many sockets stuck in CLOSE_WAIT can prevent the OS from creating
* new connections.
- *
*
* This class closes idle connections before they can move into the CLOSE_WAIT state.
- *
*
* This thread is important because by default, we disable Apache HttpClient's stale connection checking, so without
* this thread running in the background, cleaning up old/inactive HTTP connections, we'd see more IO exceptions when
@@ -77,6 +74,7 @@ private IdleConnectionReaper() {
/**
* Registers the given connection manager with this reaper;
*
+ * @param connectionManager the connection manager to be registered.
* @return true if the connection manager has been successfully registered; false otherwise.
*/
public static synchronized boolean registerConnectionManager(HttpClientConnectionManager connectionManager) {
@@ -90,6 +88,7 @@ public static synchronized boolean registerConnectionManager(HttpClientConnectio
* Removes the given connection manager from this reaper, and shutting down the reaper if there is zero connection
* manager left.
*
+ * @param connectionManager the connection manager to be registered.
* @return true if the connection manager has been successfully removed; false otherwise.
*/
public static synchronized boolean removeConnectionManager(HttpClientConnectionManager connectionManager) {
@@ -132,7 +131,6 @@ public void run() {
/**
* Shuts down the thread, allowing the class and instance to be collected.
- *
*
* Since this is a daemon thread, its running will not prevent JVM shutdown. It will, however, prevent this class
* from being unloaded or garbage collected, in the context of a long-running application, until it is interrupted.
diff --git a/src/main/java/com/baidubce/http/handler/BceMetadataResponseHandler.java b/src/main/java/com/baidubce/http/handler/BceMetadataResponseHandler.java
index fca8b38a..03af27bb 100644
--- a/src/main/java/com/baidubce/http/handler/BceMetadataResponseHandler.java
+++ b/src/main/java/com/baidubce/http/handler/BceMetadataResponseHandler.java
@@ -36,6 +36,8 @@ public boolean handle(BceHttpResponse httpResponse, AbstractBceResponse response
metadata.setContentType(httpResponse.getHeader(Headers.CONTENT_TYPE));
metadata.setDate(httpResponse.getHeaderAsRfc822Date(Headers.DATE));
metadata.setTransferEncoding(httpResponse.getHeader(Headers.TRANSFER_ENCODING));
+ metadata.setSymlinkTarget(httpResponse.getHeader(Headers.BCE_SYMLINK_TARGET));
+ metadata.setBucketType(httpResponse.getHeader(Headers.BCE_BUCKET_TYPE));
String eTag = httpResponse.getHeader(Headers.ETAG);
if (eTag != null) {
metadata.setETag(CharMatcher.is('"').trimFrom(eTag));
diff --git a/src/main/java/com/baidubce/internal/BaseRequest.java b/src/main/java/com/baidubce/internal/BaseRequest.java
new file mode 100644
index 00000000..9de87bd0
--- /dev/null
+++ b/src/main/java/com/baidubce/internal/BaseRequest.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright (c) 2020 Baidu. All Rights Reserved.
+ *
+ * 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 com.baidubce.internal;
+
+import java.net.URI;
+import java.util.Map;
+
+import com.baidubce.http.Headers;
+import com.baidubce.http.HttpMethodName;
+import com.google.common.collect.Maps;
+
+/**
+ * Represents a base request being sent to a BCE Service, including the
+ * parameters being sent as part of the request, the endpoint to which the
+ * request should be sent, etc.
+ *
+ * @author chenjiayi05
+ * @date 2020/04/28
+ */
+public class BaseRequest {
+
+ /**
+ * The default protocol to construct URI
+ */
+ private static final String DEFAULT_PROTOCOL_PREFIX = "http://";
+
+ /**
+ * The HTTP method to use when sending this request.
+ */
+ private HttpMethodName httpMethod;
+
+ /**
+ * The path to which this request should be sent
+ */
+ private String path;
+
+ /**
+ * Map of the parameters being sent as part of this request.
+ */
+ private Map parameters = Maps.newHashMap();
+
+ /**
+ * Map of the headers included in this request
+ */
+ private Map headers = Maps.newHashMap();
+
+ public void addHeader(String name, String value) {
+ this.headers.put(name, value);
+ }
+
+ public Map getHeaders() {
+ return this.headers;
+ }
+
+ public void addParameter(String name, String value) {
+ this.parameters.put(name, value);
+ }
+
+ public Map getParameters() {
+ return this.parameters;
+ }
+
+ public HttpMethodName getHttpMethod() {
+ return this.httpMethod;
+ }
+
+ public void setHttpMethod(HttpMethodName httpMethod) {
+ this.httpMethod = httpMethod;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ public void setHeaders(Map headers) {
+ this.headers.clear();
+ this.headers.putAll(headers);
+ }
+
+ public void setParameters(Map parameters) {
+ this.parameters.clear();
+ this.parameters.putAll(parameters);
+ }
+
+ public BaseRequest(HttpMethodName httpMethod, String path, Map parameters,
+ Map headers) {
+ this.httpMethod = httpMethod;
+ this.path = path;
+ this.parameters = parameters;
+ this.headers = headers;
+ }
+
+ /**
+ * transfer from base request to internal request
+ *
+ * @param request base request
+ * @return internal request
+ */
+ public static InternalRequest toInternalRequest(BaseRequest request) {
+ Map headers = request.getHeaders();
+ String host;
+
+ // deal with the default header "Host"
+ if (headers.containsKey(Headers.HOST)) {
+ host = headers.get(Headers.HOST);
+ } else {
+ host = headers.get(Headers.HOST.toLowerCase());
+ headers.remove(Headers.HOST.toLowerCase());
+ }
+
+ URI uri = URI.create(DEFAULT_PROTOCOL_PREFIX + host + request.getPath());
+ InternalRequest res = new InternalRequest(request.getHttpMethod(), uri);
+ res.setParameters(request.getParameters());
+ res.setHeaders(headers);
+ return res;
+ }
+}
diff --git a/src/main/java/com/baidubce/internal/InternalRequest.java b/src/main/java/com/baidubce/internal/InternalRequest.java
index 17ecaab3..07883a9d 100644
--- a/src/main/java/com/baidubce/internal/InternalRequest.java
+++ b/src/main/java/com/baidubce/internal/InternalRequest.java
@@ -62,6 +62,20 @@ public class InternalRequest {
private boolean expectContinueEnabled;
+ /**
+ * determines whether redirects should be handled automatically
+ *
+ * @return
+ */
+ private Boolean redirectsEnabled = null;
+
+ /**
+ * determines the redirects times.
+ *
+ * @return
+ */
+ private int maxRedirects = 1;
+
public InternalRequest(HttpMethodName httpMethod, URI uri) {
this.httpMethod = httpMethod;
this.uri = uri;
@@ -133,6 +147,43 @@ public void setExpectContinueEnabled(boolean expectContinueEnabled) {
this.expectContinueEnabled = expectContinueEnabled;
}
+ /**
+ * Gets the flag of redirection times
+ *
+ * @return
+ */
+ public int getMaxRedirects() {
+ return this.maxRedirects;
+ }
+
+ /**
+ * Sets the flag of redirection times
+ *
+ * @param maxRedirects
+ */
+ public void setMaxRedirects(int maxRedirects) {
+ this.maxRedirects = maxRedirects;
+ }
+
+ /**
+ * Gets the flag of http redirection
+ *
+ * @return
+ */
+ public Boolean isRedirectsEnabled() {
+ return redirectsEnabled;
+ }
+
+ /**
+ * Sets the flag of http redirection
+ *
+ * @param redirectsEnabled
+ */
+ public void setRedirectsEnabled(boolean redirectsEnabled) {
+ this.redirectsEnabled = redirectsEnabled;
+ }
+
+
@Override
public String toString() {
return "InternalRequest [httpMethod=" + this.httpMethod + ", uri=" + this.uri + ", "
diff --git a/src/main/java/com/baidubce/internal/RestartableFileInputStream.java b/src/main/java/com/baidubce/internal/RestartableFileInputStream.java
index e2b6c848..1ffe5137 100644
--- a/src/main/java/com/baidubce/internal/RestartableFileInputStream.java
+++ b/src/main/java/com/baidubce/internal/RestartableFileInputStream.java
@@ -20,6 +20,7 @@
import java.io.IOException;
import com.baidubce.BceClientException;
+import com.baidubce.services.bos.model.BosProgressCallback;
/**
* Restartable File InputStream extends Restartable InputStream.
@@ -36,11 +37,17 @@ public RestartableFileInputStream(File file) throws FileNotFoundException {
this.input = new FileInputStream(file);
}
+ public RestartableFileInputStream(File file, BosProgressCallback progressCallback) throws FileNotFoundException {
+ this(file);
+ super.setProgressCallback(progressCallback);
+ }
+
@Override
public void restart() {
try {
this.input.close();
this.input = new FileInputStream(this.file);
+ super.restartProgressCallback();
} catch (IOException e) {
throw new BceClientException("Fail to restart.", e);
}
@@ -48,12 +55,23 @@ public void restart() {
@Override
public int read(byte[] b, int off, int len) throws IOException {
- return this.input.read(b, off, len);
+ int count = this.input.read(b, off, len);
+ if (count < 0) {
+ return count;
+ }
+ super.doProgressCallback(count);
+
+ return count;
}
@Override
public int read() throws IOException {
- return this.input.read();
+ int count = this.input.read();
+ if (count < 0) {
+ return count;
+ }
+ super.doProgressCallback(1);
+ return count;
}
@Override
diff --git a/src/main/java/com/baidubce/internal/RestartableInputStream.java b/src/main/java/com/baidubce/internal/RestartableInputStream.java
index abb1da62..31925110 100644
--- a/src/main/java/com/baidubce/internal/RestartableInputStream.java
+++ b/src/main/java/com/baidubce/internal/RestartableInputStream.java
@@ -12,6 +12,8 @@
*/
package com.baidubce.internal;
+import com.baidubce.services.bos.model.BosProgressCallback;
+
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -19,6 +21,8 @@
* Abstract class Restartable InputStream extends InputStream.
*/
public abstract class RestartableInputStream extends InputStream {
+ private BosProgressCallback progressCallback = null;
+
public abstract void restart();
public static RestartableInputStream wrap(byte[] b) {
@@ -26,4 +30,20 @@ public static RestartableInputStream wrap(byte[] b) {
input.mark(b.length);
return new RestartableResettableInputStream(input);
}
+
+ public void setProgressCallback(BosProgressCallback progressCallback) {
+ this.progressCallback = progressCallback;
+ }
+
+ public void doProgressCallback(int count) {
+ if (progressCallback != null) {
+ progressCallback.addCurrentSize(count);
+ }
+ }
+
+ public void restartProgressCallback() {
+ if (progressCallback != null) {
+ progressCallback.setCurrentSize(0);
+ }
+ }
}
diff --git a/src/main/java/com/baidubce/internal/RestartableMultiByteArrayInputStream.java b/src/main/java/com/baidubce/internal/RestartableMultiByteArrayInputStream.java
index 0b40d8ab..5a119855 100644
--- a/src/main/java/com/baidubce/internal/RestartableMultiByteArrayInputStream.java
+++ b/src/main/java/com/baidubce/internal/RestartableMultiByteArrayInputStream.java
@@ -12,6 +12,8 @@
*/
package com.baidubce.internal;
+import com.baidubce.services.bos.model.BosProgressCallback;
+
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -53,6 +55,12 @@ public RestartableMultiByteArrayInputStream(List byteArrayList, long len
this.length = length;
}
+ public RestartableMultiByteArrayInputStream(List byteArrayList, long length,
+ BosProgressCallback progressCallback) {
+ this(byteArrayList, length);
+ super.setProgressCallback(progressCallback);
+ }
+
@Override
public void restart() {
this.pos = 0;
@@ -82,6 +90,8 @@ public int read(byte[] b, int off, int len) throws IOException {
len -= copyLength;
count += copyLength;
}
+ super.doProgressCallback(count);
+
return count;
}
@@ -93,6 +103,7 @@ public int read() {
int index = (int) (this.pos / this.blockSize);
int offset = (int) (this.pos % this.blockSize);
++this.pos;
+ super.doProgressCallback(1);
return this.byteArrayList.get(index)[offset] & 0xff;
}
}
diff --git a/src/main/java/com/baidubce/internal/RestartableNonResettableInputStream.java b/src/main/java/com/baidubce/internal/RestartableNonResettableInputStream.java
index 569df535..2e978ae4 100644
--- a/src/main/java/com/baidubce/internal/RestartableNonResettableInputStream.java
+++ b/src/main/java/com/baidubce/internal/RestartableNonResettableInputStream.java
@@ -13,6 +13,7 @@
package com.baidubce.internal;
import com.baidubce.BceClientException;
+import com.baidubce.services.bos.model.BosProgressCallback;
import java.io.IOException;
import java.io.InputStream;
@@ -55,12 +56,20 @@ public RestartableNonResettableInputStream(InputStream input, int bufferSize) {
}
}
+ public RestartableNonResettableInputStream(InputStream input, int bufferSize,
+ BosProgressCallback progressCallback) {
+ this(input, bufferSize);
+ super.setProgressCallback(progressCallback);
+ }
+
+
@Override
public void restart() {
if (this.buffer == null) {
throw new IllegalStateException("Fail to restart. Input buffer exhausted.");
}
this.offset = 0;
+ super.restartProgressCallback();
}
@Override
@@ -79,6 +88,7 @@ public int read(byte[] b, int off, int len) throws IOException {
}
System.arraycopy(this.buffer, this.offset, b, off, copyLength);
this.offset += copyLength;
+ super.doProgressCallback(copyLength);
return copyLength;
}
if (this.eof) {
@@ -90,13 +100,16 @@ public int read(byte[] b, int off, int len) throws IOException {
return -1;
}
this.buffer = null;
+ super.doProgressCallback(result);
return result;
}
@Override
public int read() throws IOException {
if (this.offset < this.length) {
- return this.buffer[this.offset++] & 0xff;
+ int result = this.buffer[this.offset++] & 0xff;
+ super.doProgressCallback(1);
+ return result;
}
if (this.eof) {
return -1;
@@ -107,6 +120,7 @@ public int read() throws IOException {
return -1;
}
this.buffer = null;
+ super.doProgressCallback(1);
return result;
}
diff --git a/src/main/java/com/baidubce/internal/RestartableResettableInputStream.java b/src/main/java/com/baidubce/internal/RestartableResettableInputStream.java
index 764ecd65..6e1290c0 100644
--- a/src/main/java/com/baidubce/internal/RestartableResettableInputStream.java
+++ b/src/main/java/com/baidubce/internal/RestartableResettableInputStream.java
@@ -13,6 +13,7 @@
package com.baidubce.internal;
import com.baidubce.BceClientException;
+import com.baidubce.services.bos.model.BosProgressCallback;
import java.io.IOException;
import java.io.InputStream;
@@ -32,10 +33,16 @@ public RestartableResettableInputStream(InputStream input) {
this.input = input;
}
+ public RestartableResettableInputStream(InputStream input, BosProgressCallback progressCallback) {
+ this(input);
+ super.setProgressCallback(progressCallback);
+ }
+
@Override
public void restart() {
try {
this.input.reset();
+ super.restartProgressCallback();
} catch (IOException e) {
throw new BceClientException("Fail to reset the underlying input stream.", e);
}
@@ -43,12 +50,23 @@ public void restart() {
@Override
public int read(byte[] b, int off, int len) throws IOException {
- return this.input.read(b, off, len);
+ int count = this.input.read(b, off, len);
+ if (count < 0) {
+ return count;
+ }
+ super.doProgressCallback(count);
+
+ return count;
}
@Override
public int read() throws IOException {
- return this.input.read();
+ int count = this.input.read();
+ if (count < 0) {
+ return count;
+ }
+ super.doProgressCallback(1);
+ return count;
}
@Override
diff --git a/src/main/java/com/baidubce/model/AbstractBceResponse.java b/src/main/java/com/baidubce/model/AbstractBceResponse.java
index 5825c532..9b1f62ad 100644
--- a/src/main/java/com/baidubce/model/AbstractBceResponse.java
+++ b/src/main/java/com/baidubce/model/AbstractBceResponse.java
@@ -14,12 +14,15 @@
import com.baidubce.BceResponseMetadata;
+import java.io.Serializable;
+
/**
* Represents the response from an BCE service, including the result payload and any response metadata. BCE response
* metadata consists primarily of the BCE request ID, which can be used for debugging purposes when services aren't
* acting as expected.
*/
-public class AbstractBceResponse {
+public class AbstractBceResponse implements Serializable {
+
protected BceResponseMetadata metadata = new BceResponseMetadata();
public BceResponseMetadata getMetadata() {
diff --git a/src/main/java/com/baidubce/model/ListRequest.java b/src/main/java/com/baidubce/model/ListRequest.java
new file mode 100644
index 00000000..33372d65
--- /dev/null
+++ b/src/main/java/com/baidubce/model/ListRequest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.model;
+
+/**
+ * Container for the parameters of the list operation.
+ */
+public abstract class ListRequest extends AbstractBceRequest {
+
+ /**
+ * The optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ *
+ * Together with the marker, specifies the list result which listing should begin.
+ *
+ * If the marker is not specified, the list result will listing from the first one.
+ *
+ */
+ private String marker;
+
+ /**
+ * The optional parameter to specifies the max number of list result to return.
+ */
+ private int maxKeys = -1;
+
+ /**
+ * Returning the optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ *
+ * @return The optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ */
+ public String getMarker() {
+ return marker;
+ }
+
+ /**
+ * Setting the optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ *
+ * @param marker The optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ */
+ public void setMarker(String marker) {
+ this.marker = marker;
+ }
+
+ /**
+ * Configure the request with specified marker.
+ *
+ * @param marker The optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ * @return ListRequest with specified marker.
+ */
+ public ListRequest withMarker(String marker) {
+ this.marker = marker;
+ return this;
+ }
+
+ /**
+ * Returning the optional parameter that specifies the max number of list result to return .
+ *
+ * @return The optional parameter in the original request to specifies the max number of list result to return .
+ */
+ public int getMaxKeys() {
+ return maxKeys;
+ }
+
+ /**
+ * Setting the optional parameter to specifies the max number of list result to return
+ *
+ * @param maxKeys The optional parameter in the original request to specifies the max number of list result to return .
+ */
+ public void setMaxKeys(int maxKeys) {
+ this.maxKeys = maxKeys;
+ }
+
+ /**
+ * Configure the request with specified maxKeys.
+ *
+ * @param maxKeys The optional parameter to specifies the max number of list result to return.
+ * The default value is 1000.
+ * @return ListRequest with specified maxKeys.
+ */
+ public ListRequest withMaxKeys(int maxKeys) {
+ this.maxKeys = maxKeys;
+ return this;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/baidubce/model/ListResponse.java b/src/main/java/com/baidubce/model/ListResponse.java
new file mode 100644
index 00000000..67ccfc12
--- /dev/null
+++ b/src/main/java/com/baidubce/model/ListResponse.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.model;
+
+/**
+ * The base response contains the base information about list operation.
+ */
+public abstract class ListResponse extends AbstractBceResponse {
+
+ /**
+ * The optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ */
+ private String marker;
+
+ /**
+ * Indicates if the listing is truncated, and additional requests need to be
+ * made to get more results.
+ */
+ private boolean isTruncated;
+
+ /**
+ * If this listing is truncated, this is the next marker that should be
+ * used in the next request to get the next page of results.
+ */
+ private String nextMarker;
+
+ /**
+ * The optional parameter in the original request to specifies the max number of list result to return .
+ */
+ private Integer maxKeys;
+
+ /**
+ * Returning the optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ *
+ * @return The optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ */
+ public String getMarker() {
+ return marker;
+ }
+
+ /**
+ * Setting the optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ *
+ * @param marker The optional parameter marker specified in the original request to specify
+ * where in the results to begin listing.
+ */
+ public void setMarker(String marker) {
+ this.marker = marker;
+ }
+
+ /**
+ * Returning false to indicate that there is not more result in the next page,
+ * otherwise returning true meaning there is more result in next page.
+ *
+ * @return Returning false to indicate that there is not more result in the next page,
+ * otherwise returning true meaning there is more result in next page.
+ */
+ public boolean getIsTruncated() {
+ return isTruncated;
+ }
+
+ /**
+ * Setting the boolean value to indicate that there is not more result in the next page.
+ *
+ * Setting false to indicate that there is not more result in the next page,
+ * Setting true meaning there is more result in next page.
+ *
+ * @param isTruncated The boolean value to indicate that there is not more result in the next page.
+ */
+ public void setIsTruncated(boolean isTruncated) {
+ this.isTruncated = isTruncated;
+ }
+
+ /**
+ * Returns the next marker that should be used in the next request to
+ * get the next page of results. This value is only valid if
+ * isTruncated indicates this listing is truncated.
+ *
+ * @return the next key marker that should be used in the next request to
+ * get the next page of results. This value is only valid if
+ * isTruncated() indicates this listing is truncated.
+ */
+ public String getNextMarker() {
+ return nextMarker;
+ }
+
+ /**
+ * Sets the next marker that should be used in the next request to get
+ * the next page of results.
+ *
+ * @param nextMarker The next marker that should be used in the next request to
+ * get the next page of results.
+ */
+ public void setNextMarker(String nextMarker) {
+ this.nextMarker = nextMarker;
+ }
+
+ /**
+ * Returning the optional parameter in the original request to specifies the max number of list result to return .
+ *
+ * @return The optional parameter in the original request to specifies the max number of list result to return .
+ */
+ public Integer getMaxKeys() {
+ return maxKeys;
+ }
+
+ /**
+ * Setting the optional parameter in the original request to specifies the max number of list result to return
+ *
+ * @param maxKeys The optional parameter in the original request to specifies the max number of list result to return .
+ */
+ public void setMaxKeys(Integer maxKeys) {
+ this.maxKeys = maxKeys;
+ }
+
+}
diff --git a/src/main/java/com/baidubce/model/ResourceType.java b/src/main/java/com/baidubce/model/ResourceType.java
new file mode 100644
index 00000000..f5826fac
--- /dev/null
+++ b/src/main/java/com/baidubce/model/ResourceType.java
@@ -0,0 +1,5 @@
+package com.baidubce.model;
+
+public enum ResourceType {
+ bcc, cds, image, snapshotchain, bccri
+}
diff --git a/src/main/java/com/baidubce/model/User.java b/src/main/java/com/baidubce/model/User.java
old mode 100644
new mode 100755
index bfdf07f1..bba75eba
--- a/src/main/java/com/baidubce/model/User.java
+++ b/src/main/java/com/baidubce/model/User.java
@@ -30,7 +30,7 @@ public User() {
/**
* Constructs a new user with the specified ID and display name.
*
- * @param id The ID for the user.
+ * @param id The ID for the user.
* @param displayName The display name for the user.
*/
public User(String id, String displayName) {
@@ -60,6 +60,7 @@ public void setId(String id) {
* Sets the ID of the user.
*
* @param id The ID of the user.
+ * @return this object
*/
public User withId(String id) {
this.setId(id);
@@ -88,6 +89,7 @@ public void setDisplayName(String displayName) {
* Sets the display name of the user.
*
* @param displayName The display name of the user.
+ * @return this object
*/
public User withDisplayName(String displayName) {
this.setDisplayName(displayName);
diff --git a/src/main/java/com/baidubce/services/acl/AclClient.java b/src/main/java/com/baidubce/services/acl/AclClient.java
new file mode 100644
index 00000000..ccaa3c60
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/AclClient.java
@@ -0,0 +1,305 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl;
+
+import static com.baidubce.util.Validate.checkStringNotEmpty;
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import com.baidubce.AbstractBceClient;
+import com.baidubce.BceClientException;
+import com.baidubce.http.Headers;
+import com.baidubce.http.HttpMethodName;
+import com.baidubce.http.handler.BceErrorResponseHandler;
+import com.baidubce.http.handler.BceJsonResponseHandler;
+import com.baidubce.http.handler.BceMetadataResponseHandler;
+import com.baidubce.http.handler.HttpResponseHandler;
+import com.baidubce.internal.InternalRequest;
+import com.baidubce.internal.RestartableInputStream;
+import com.baidubce.model.AbstractBceRequest;
+import com.baidubce.model.AbstractBceResponse;
+import com.baidubce.services.acl.model.AclRule;
+import com.baidubce.services.acl.model.CreateAclRequest;
+import com.baidubce.services.acl.model.DeleteAclRequest;
+import com.baidubce.services.acl.model.GetAclRequest;
+import com.baidubce.services.acl.model.GetAclResponse;
+import com.baidubce.services.acl.model.ListAclRequest;
+import com.baidubce.services.acl.model.ListAclResponse;
+import com.baidubce.services.acl.model.ModifyAclRuleAttributesRequest;
+import com.baidubce.util.HttpUtils;
+import com.baidubce.util.JsonUtils;
+import com.google.common.base.Strings;
+
+/**
+ * Provides the client for accessing the Baidu Cloud network Service Access Control List (ACL).
+ */
+public class AclClient extends AbstractBceClient {
+
+ /**
+ * ACL API pathVersion
+ */
+ private static final String VERSION = "v1";
+
+ private static final String PREFIX = "acl";
+
+ private static final String RULE_PREFIX = "rule";
+
+ private static final String CLIENT_TOKEN_IDENTIFY = "clientToken";
+
+ /**
+ * Responsible for handling httpResponses from all service calls.
+ */
+ private static final HttpResponseHandler[] aclHandlers = new HttpResponseHandler[] {
+ new BceMetadataResponseHandler(),
+ new BceErrorResponseHandler(),
+ new BceJsonResponseHandler()
+ };
+
+ /**
+ * Constructs a new client to invoke service methods on network.
+ */
+ public AclClient() {
+ this(new AclClientConfiguration());
+ }
+
+ /**
+ * Constructs a new network client using the client configuration to access network.
+ *
+ * @param clientConfiguration The network client configuration options controlling how this client
+ * connects to network (e.g. proxy settings, retry counts, etc).
+ */
+ public AclClient(AclClientConfiguration clientConfiguration) {
+ super(clientConfiguration, aclHandlers);
+ }
+
+ /**
+ * Creates and initializes a new request object for the specified network resource. This method is responsible
+ * for determining the right way to address resources.
+ *
+ * @param bceRequest The original request, as created by the user.
+ * @param httpMethod The HTTP method to use when sending the request.
+ * @param pathVariables The optional variables used in the URI path.
+ *
+ * @return A new request object, populated with endpoint, resource path, ready for callers to populate
+ * any additional headers or parameters, and execute.
+ */
+ private InternalRequest createRequest(AbstractBceRequest bceRequest, HttpMethodName httpMethod,
+ String... pathVariables) {
+ List path = new ArrayList();
+
+ path.add(VERSION);
+
+ if (pathVariables != null) {
+ for (String pathVariable : pathVariables) {
+ path.add(pathVariable);
+ }
+ }
+ URI uri = HttpUtils.appendUri(this.getEndpoint(), path.toArray(new String[path.size()]));
+ InternalRequest request = new InternalRequest(httpMethod, uri);
+ request.setCredentials(bceRequest.getRequestCredentials());
+ return request;
+ }
+
+ /**
+ * the method to fill the internalRequest's content field with bceRequest
+ * only support HttpMethodName.POST or HttpMethodName.PUT
+ *
+ * @param internalRequest A request object, populated with endpoint, resource path, ready for callers to populate
+ * any additional headers or parameters, and execute.
+ * @param bceRequest The original request, as created by the user.
+ */
+ protected void fillPayload(InternalRequest internalRequest, AbstractBceRequest bceRequest) {
+ if (internalRequest.getHttpMethod() == HttpMethodName.POST
+ || internalRequest.getHttpMethod() == HttpMethodName.PUT) {
+ String strJson = JsonUtils.toJsonString(bceRequest);
+ byte[] requestJson = null;
+ try {
+ requestJson = strJson.getBytes(DEFAULT_ENCODING);
+ } catch (UnsupportedEncodingException e) {
+ throw new BceClientException("Unsupported encode.", e);
+ }
+ internalRequest.addHeader(Headers.CONTENT_LENGTH, String.valueOf(requestJson.length));
+ internalRequest.addHeader(Headers.CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
+ internalRequest.setContent(RestartableInputStream.wrap(requestJson));
+ }
+ }
+
+ /**
+ * The default method to generate the random String for clientToken if the optional parameter clientToken
+ * is not specified by the user.
+ *
+ * The default algorithm is using {@link UUID} to generate a random UUID,
+ *
+ * @return An random String generated by {@link UUID}.
+ */
+ private String generateClientToken() {
+ return UUID.randomUUID().toString();
+ }
+
+ /**
+ * Create a acl with the specified options.
+ *
+ * @param aclRules The rules of acl
+ */
+ public void createAcl(List aclRules) {
+ CreateAclRequest request = new CreateAclRequest();
+ request.setAclRules(aclRules);
+ createAcl(request);
+ }
+
+ /**
+ * Create a acl with the specified options.
+ * You must fill the field of clientToken,which is especially for keeping idempotent.
+ *
+ * @param createAclRequest The request containing all options for creating a acl.
+ */
+ public void createAcl(CreateAclRequest createAclRequest) {
+ checkNotNull(createAclRequest, "request should not be null.");
+ if (Strings.isNullOrEmpty(createAclRequest.getClientToken())) {
+ createAclRequest.setClientToken(this.generateClientToken());
+ }
+ checkNotNull(createAclRequest.getAclRules(), "aclRules should not be null.");
+ InternalRequest internalRequest =
+ this.createRequest(createAclRequest, HttpMethodName.POST, PREFIX, RULE_PREFIX);
+ internalRequest.addParameter(CLIENT_TOKEN_IDENTIFY, createAclRequest.getClientToken());
+ fillPayload(internalRequest, createAclRequest);
+ invokeHttpClient(internalRequest, AbstractBceResponse.class);
+ }
+
+ /**
+ * Return a list of aclRules owned by the specified subnet.
+ *
+ * @return The response containing a list of aclRules owned by the subnet.
+ */
+ public ListAclResponse listAclRules(String subnetId) {
+ return listAclRules(new ListAclRequest().withSubnetId(subnetId));
+ }
+
+ /**
+ * Return a list of aclRules owned by the specified subnet.
+ *
+ * @param listAclRequest The request containing all options for listing subnet's aclRule.
+ *
+ * @return The response containing a list of aclRules owned by the specified subnet.
+ */
+ public ListAclResponse listAclRules(ListAclRequest listAclRequest) {
+ checkNotNull(listAclRequest, "request should not be null.");
+ checkStringNotEmpty(listAclRequest.getSubnetId(), "request subnetId should not be null");
+ InternalRequest internalRequest = this.createRequest(listAclRequest, HttpMethodName.GET, PREFIX, RULE_PREFIX);
+ internalRequest.addParameter("subnetId", listAclRequest.getSubnetId());
+ if (listAclRequest.getMarker() != null) {
+ internalRequest.addParameter("marker", listAclRequest.getMarker());
+ }
+ if (listAclRequest.getMaxKeys() > 0) {
+ internalRequest.addParameter("maxKeys", String.valueOf(listAclRequest.getMaxKeys()));
+ }
+ return invokeHttpClient(internalRequest, ListAclResponse.class);
+ }
+
+ /**
+ * Get the detail acl information of specified vpc.
+ *
+ * @param vpcId The id of the network.
+ *
+ * @return A acl detail model for the vpcId.
+ */
+ public GetAclResponse getAcl(String vpcId) {
+ return getAcl(new GetAclRequest().withVpcId(vpcId));
+ }
+
+ /**
+ * Get the detail acl information of specified vpc.
+ *
+ * @param getAclRequest The request containing all options for getting the acl info.
+ *
+ * @return A acl detail model for the vpcId.
+ */
+ public GetAclResponse getAcl(GetAclRequest getAclRequest) {
+ checkNotNull(getAclRequest, "request should not be null.");
+ checkStringNotEmpty(getAclRequest.getVpcId(), "request vpcId should not be null");
+ InternalRequest internalRequest = this.createRequest(getAclRequest, HttpMethodName.GET, PREFIX);
+ internalRequest.addParameter("vpcId", getAclRequest.getVpcId());
+ return invokeHttpClient(internalRequest, GetAclResponse.class);
+ }
+
+ /**
+ * Delete the specified aclRule.
+ *
+ *
+ * @param aclRuleId The id of the aclRule to delete.
+ */
+ public void deleteAcl(String aclRuleId) {
+ deleteAcl(new DeleteAclRequest().withAclRuleId(aclRuleId));
+ }
+
+ /**
+ * Delete the specified aclRule.
+ *
+ *
+ * @param deleteAclRequest The request containing all options for deleting aclRule.
+ */
+ public void deleteAcl(DeleteAclRequest deleteAclRequest) {
+ checkNotNull(deleteAclRequest, "request should not be null.");
+ checkStringNotEmpty(deleteAclRequest.getAclRuleId(), "request aclRuleId should not be null.");
+ if (Strings.isNullOrEmpty(deleteAclRequest.getClientToken())) {
+ deleteAclRequest.setClientToken(this.generateClientToken());
+ }
+ InternalRequest internalRequest =
+ this.createRequest(deleteAclRequest, HttpMethodName.DELETE, PREFIX, RULE_PREFIX,
+ deleteAclRequest.getAclRuleId());
+ internalRequest.addParameter(CLIENT_TOKEN_IDENTIFY, deleteAclRequest.getClientToken());
+ invokeHttpClient(internalRequest, AbstractBceResponse.class);
+ }
+
+ /**
+ * Modifying the special attribute to new aclRule owned by the user.
+ *
+ * @param aclRuleId The id of the aclRule
+ * @param aclRule the aclRule after modifying
+ */
+ public void modifyAclRuleAttributes(String aclRuleId, AclRule aclRule) {
+ ModifyAclRuleAttributesRequest request =
+ new ModifyAclRuleAttributesRequest().withAclRuleId(aclRuleId).withDescription
+ (aclRule.getDescription()).withProtocol(aclRule.getProtocol()).withSourceIpAddress(aclRule
+ .getSourceIpAddress()).withDestinationIpAddress(aclRule.getDestinationIpAddress())
+ .withSourcePort(aclRule.getSourcePort()).withDestinationPort(aclRule.getDestinationPort())
+ .withPosition(aclRule.getPosition()).withAction(aclRule.getAction());
+ modifyAclRuleAttributes(request);
+ }
+
+ /**
+ * Modifying the special attribute to new aclRule owned by the user.
+ *
+ *
+ * @param modifyAclRuleAttributesRequest The request containing all options for modifying own's aclRule.
+ */
+ public void modifyAclRuleAttributes(ModifyAclRuleAttributesRequest modifyAclRuleAttributesRequest) {
+ checkNotNull(modifyAclRuleAttributesRequest, "request should not be null.");
+ checkStringNotEmpty(modifyAclRuleAttributesRequest.getAclRuleId(), "request aclRuleId should not be null.");
+ if (Strings.isNullOrEmpty(modifyAclRuleAttributesRequest.getClientToken())) {
+ modifyAclRuleAttributesRequest.setClientToken(this.generateClientToken());
+ }
+ InternalRequest internalRequest =
+ this.createRequest(modifyAclRuleAttributesRequest, HttpMethodName.PUT, PREFIX, RULE_PREFIX,
+ modifyAclRuleAttributesRequest.getAclRuleId());
+ internalRequest.addParameter(CLIENT_TOKEN_IDENTIFY, modifyAclRuleAttributesRequest.getClientToken());
+ fillPayload(internalRequest, modifyAclRuleAttributesRequest);
+ invokeHttpClient(internalRequest, AbstractBceResponse.class);
+ }
+
+}
diff --git a/src/main/java/com/baidubce/services/acl/AclClientConfiguration.java b/src/main/java/com/baidubce/services/acl/AclClientConfiguration.java
new file mode 100644
index 00000000..0ff8c06e
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/AclClientConfiguration.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl;
+
+import com.baidubce.BceClientConfiguration;
+
+/**
+ * Extended client configuration for bcc service.
+ */
+public class AclClientConfiguration extends BceClientConfiguration {
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/AclEntry.java b/src/main/java/com/baidubce/services/acl/model/AclEntry.java
new file mode 100644
index 00000000..28239898
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/AclEntry.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+import java.util.List;
+
+/**
+ * acl detail info model
+ */
+public class AclEntry {
+
+ /**
+ * the subnetId of the acl
+ */
+ private String subnetId;
+
+ /**
+ * the subnetName of the acl
+ */
+ private String subnetName;
+
+ /**
+ * the subnetCidr of the acl
+ */
+ private String subnetCidr;
+
+ /**
+ * the rules of the acl
+ */
+ private List aclRules;
+
+ public String getSubnetId() {
+ return subnetId;
+ }
+
+ public void setSubnetId(String subnetId) {
+ this.subnetId = subnetId;
+ }
+
+ public String getSubnetName() {
+ return subnetName;
+ }
+
+ public void setSubnetName(String subnetName) {
+ this.subnetName = subnetName;
+ }
+
+ public String getSubnetCidr() {
+ return subnetCidr;
+ }
+
+ public void setSubnetCidr(String subnetCidr) {
+ this.subnetCidr = subnetCidr;
+ }
+
+ public List getAclRules() {
+ return aclRules;
+ }
+
+ public void setAclRules(List aclRules) {
+ this.aclRules = aclRules;
+ }
+
+ @Override
+ public String toString() {
+ return "AclEntry{" +
+ "subnetId='" + subnetId + '\'' +
+ ", subnetName='" + subnetName + '\'' +
+ ", subnetCidr='" + subnetCidr + '\'' +
+ ", aclRules=" + aclRules +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/AclRule.java b/src/main/java/com/baidubce/services/acl/model/AclRule.java
new file mode 100644
index 00000000..d3c580f8
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/AclRule.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+/**
+ * aclRule detail info model
+ */
+public class AclRule {
+
+ /**
+ * the id of the aclRule
+ */
+ private String id;
+
+ /**
+ * the subnet id of the aclRule
+ */
+ private String subnetId;
+
+ /**
+ * the name of the aclRule
+ */
+ private String name;
+
+ /**
+ * the option param to describe the aclRule
+ */
+ private String description;
+
+ /**
+ * the protocol of the aclRule
+ * contains "all", "tcp", "udp", "icmp"
+ */
+ private String protocol;
+
+ /**
+ * the source ip address of the aclRule
+ * can be a specific ip or value "all"
+ */
+ private String sourceIpAddress;
+
+ /**
+ * the destination ip address of the aclRule
+ * can be a specific ip or value "all"
+ */
+ private String destinationIpAddress;
+
+ /**
+ * the source port of the aclRule
+ */
+ private String sourcePort;
+
+ /**
+ * the destination port of the aclRule
+ */
+ private String destinationPort;
+
+ /**
+ * the position of the aclRule
+ * the value can only be one of 1-5000
+ * aclRule's priority is higher with the smaller position value
+ */
+ private Integer position;
+
+ /**
+ * the direction of the aclRule
+ * value contains "ingress" and "egress"
+ */
+ private String direction;
+
+ /**
+ * the strategy of the aclRule
+ * value contains "allow" and "deny"
+ */
+ private String action;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getSubnetId() {
+ return subnetId;
+ }
+
+ public void setSubnetId(String subnetId) {
+ this.subnetId = subnetId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getProtocol() {
+ return protocol;
+ }
+
+ public void setProtocol(String protocol) {
+ this.protocol = protocol;
+ }
+
+ public String getSourceIpAddress() {
+ return sourceIpAddress;
+ }
+
+ public void setSourceIpAddress(String sourceIpAddress) {
+ this.sourceIpAddress = sourceIpAddress;
+ }
+
+ public String getDestinationIpAddress() {
+ return destinationIpAddress;
+ }
+
+ public void setDestinationIpAddress(String destinationIpAddress) {
+ this.destinationIpAddress = destinationIpAddress;
+ }
+
+ public String getSourcePort() {
+ return sourcePort;
+ }
+
+ public void setSourcePort(String sourcePort) {
+ this.sourcePort = sourcePort;
+ }
+
+ public String getDestinationPort() {
+ return destinationPort;
+ }
+
+ public void setDestinationPort(String destinationPort) {
+ this.destinationPort = destinationPort;
+ }
+
+ public Integer getPosition() {
+ return position;
+ }
+
+ public void setPosition(Integer position) {
+ this.position = position;
+ }
+
+ public String getDirection() {
+ return direction;
+ }
+
+ public void setDirection(String direction) {
+ this.direction = direction;
+ }
+
+ public String getAction() {
+ return action;
+ }
+
+ public void setAction(String action) {
+ this.action = action;
+ }
+
+ @Override
+ public String toString() {
+ return "AclRule{" +
+ "id='" + id + '\'' +
+ ", subnetId='" + subnetId + '\'' +
+ ", name='" + name + '\'' +
+ ", description='" + description + '\'' +
+ ", protocol='" + protocol + '\'' +
+ ", sourceIpAddress='" + sourceIpAddress + '\'' +
+ ", destinationIpAddress='" + destinationIpAddress + '\'' +
+ ", sourcePort='" + sourcePort + '\'' +
+ ", destinationPort='" + destinationPort + '\'' +
+ ", position=" + position +
+ ", direction='" + direction + '\'' +
+ ", action='" + action + '\'' +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/CreateAclRequest.java b/src/main/java/com/baidubce/services/acl/model/CreateAclRequest.java
new file mode 100644
index 00000000..9a569158
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/CreateAclRequest.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+import java.util.List;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/**
+ * The request for create acl
+ */
+public class CreateAclRequest extends AbstractBceRequest {
+
+ /**
+ * An ASCII string whose length is less than 64.
+ *
+ * The request will be idempotent if clientToken is provided.
+ * If the clientToken is not specified by the user, a random String generated by default algorithm will be used.
+ * See more detail at
+ *
+ * BCE API doc
+ */
+ @JsonIgnore
+ private String clientToken;
+
+ /**
+ * aclRules detail info to create
+ */
+ private List aclRules;
+
+ private CreateAclRequest withAclRules(List aclRules) {
+ this.setAclRules(aclRules);
+ return this;
+ }
+
+ private CreateAclRequest withClientToken(String clientToken) {
+ this.setClientToken(clientToken);
+ return this;
+ }
+
+ public String getClientToken() {
+ return clientToken;
+ }
+
+ public void setClientToken(String clientToken) {
+ this.clientToken = clientToken;
+ }
+
+ public List getAclRules() {
+ return aclRules;
+ }
+
+ public void setAclRules(List aclRules) {
+ this.aclRules = aclRules;
+ }
+
+ @Override
+ public CreateAclRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/DeleteAclRequest.java b/src/main/java/com/baidubce/services/acl/model/DeleteAclRequest.java
new file mode 100644
index 00000000..f0f77e7b
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/DeleteAclRequest.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/**
+ * The request for delete acl
+ */
+public class DeleteAclRequest extends AbstractBceRequest {
+
+ /**
+ * An ASCII string whose length is less than 64.
+ *
+ * The request will be idempotent if clientToken is provided.
+ * If the clientToken is not specified by the user, a random String generated by default algorithm will be used.
+ * See more detail at
+ *
+ * BCE API doc
+ */
+ @JsonIgnore
+ private String clientToken;
+
+ /**
+ * the aclRule id
+ */
+ private String aclRuleId;
+
+ public String getClientToken() {
+ return clientToken;
+ }
+
+ public void setClientToken(String clientToken) {
+ this.clientToken = clientToken;
+ }
+
+ /**
+ * Configure optional client token for the request. The request will be idempotent if client token is provided.
+ * If the clientToken is not specified by the user, a random String generated by default algorithm will be used.
+ *
+ * @param clientToken An ASCII string whose length is less than 64.
+ * See more detail at
+ *
+ * BCE API doc
+ *
+ * @return DeleteSubnetRequest with specific clientToken
+ */
+ public DeleteAclRequest withClientToken(String clientToken) {
+ this.setClientToken(clientToken);
+ return this;
+ }
+
+ public DeleteAclRequest withAclRuleId(String aclRuleId) {
+ this.aclRuleId = aclRuleId;
+ return this;
+ }
+
+ public String getAclRuleId() {
+ return aclRuleId;
+ }
+
+ public void setAclRuleId(String aclRuleId) {
+ this.aclRuleId = aclRuleId;
+ }
+
+ @Override
+ public DeleteAclRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/GetAclRequest.java b/src/main/java/com/baidubce/services/acl/model/GetAclRequest.java
new file mode 100644
index 00000000..30eb3d5c
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/GetAclRequest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+
+/**
+ * The request for getting acl
+ */
+public class GetAclRequest extends AbstractBceRequest {
+
+ /**
+ * The id of vpc
+ */
+ private String vpcId;
+
+ public String getVpcId() {
+ return vpcId;
+ }
+
+ public void setVpcId(String vpcId) {
+ this.vpcId = vpcId;
+ }
+
+ public GetAclRequest withVpcId(String vpcId) {
+ this.vpcId = vpcId;
+ return this;
+ }
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return GetSubnetRequest with credentials.
+ */
+ @Override
+ public GetAclRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/GetAclResponse.java b/src/main/java/com/baidubce/services/acl/model/GetAclResponse.java
new file mode 100644
index 00000000..60c3687a
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/GetAclResponse.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+import java.util.List;
+
+import com.baidubce.model.AbstractBceResponse;
+
+/**
+ * The response for GetAclRequest.
+ */
+public class GetAclResponse extends AbstractBceResponse {
+
+ /**
+ * the vpc id of the acl
+ */
+ private String vpcId;
+
+ /**
+ * the vpc name of the acl
+ */
+ private String vpcName;
+
+ /**
+ * the vpc cidr of the acl
+ */
+ private String vpcCidr;
+
+ /**
+ * the acl entry detail info
+ */
+ private List aclEntrys;
+
+ public String getVpcId() {
+ return vpcId;
+ }
+
+ public void setVpcId(String vpcId) {
+ this.vpcId = vpcId;
+ }
+
+ public String getVpcName() {
+ return vpcName;
+ }
+
+ public void setVpcName(String vpcName) {
+ this.vpcName = vpcName;
+ }
+
+ public String getVpcCidr() {
+ return vpcCidr;
+ }
+
+ public void setVpcCidr(String vpcCidr) {
+ this.vpcCidr = vpcCidr;
+ }
+
+ public List getAclEntrys() {
+ return aclEntrys;
+ }
+
+ public void setAclEntrys(List aclEntrys) {
+ this.aclEntrys = aclEntrys;
+ }
+
+ @Override
+ public String toString() {
+ return "GetAclResponse{" +
+ "vpcId='" + vpcId + '\'' +
+ ", vpcName='" + vpcName + '\'' +
+ ", vpcCidr='" + vpcCidr + '\'' +
+ ", aclEntrys=" + aclEntrys +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/ListAclRequest.java b/src/main/java/com/baidubce/services/acl/model/ListAclRequest.java
new file mode 100644
index 00000000..a0d55690
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/ListAclRequest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.ListRequest;
+
+/**
+ * The request for list acl
+ */
+public class ListAclRequest extends ListRequest {
+
+ /**
+ * the subnet id of the acl
+ */
+ private String subnetId;
+
+ public String getSubnetId() {
+ return subnetId;
+ }
+
+ public void setSubnetId(String subnetId) {
+ this.subnetId = subnetId;
+ }
+
+ public ListAclRequest withSubnetId(String subnetId) {
+ this.subnetId = subnetId;
+ return this;
+ }
+
+ @Override
+ public ListAclRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/ListAclResponse.java b/src/main/java/com/baidubce/services/acl/model/ListAclResponse.java
new file mode 100644
index 00000000..e15a690b
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/ListAclResponse.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+import java.util.List;
+
+import com.baidubce.model.ListResponse;
+
+/**
+ * The response for ListAclRequest.
+ */
+public class ListAclResponse extends ListResponse {
+
+ /**
+ * List of acl rules.
+ */
+ private List aclRules;
+
+ public List getAclRules() {
+ return aclRules;
+ }
+
+ public void setAclRules(List aclRules) {
+ this.aclRules = aclRules;
+ }
+
+ @Override
+ public String toString() {
+ return "ListAclResponse{" +
+ "marker= " + getMarker() + "," +
+ "maxKeys= " + getMaxKeys() + "," +
+ "isTruncated= " + getIsTruncated() + "," +
+ "aclRules=" + aclRules +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/acl/model/ModifyAclRuleAttributesRequest.java b/src/main/java/com/baidubce/services/acl/model/ModifyAclRuleAttributesRequest.java
new file mode 100644
index 00000000..5e6e6fc6
--- /dev/null
+++ b/src/main/java/com/baidubce/services/acl/model/ModifyAclRuleAttributesRequest.java
@@ -0,0 +1,276 @@
+/*
+ * Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
+ *
+ * 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 com.baidubce.services.acl.model;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/**
+ * The request for modify aclRuleAttributes
+ */
+public class ModifyAclRuleAttributesRequest extends AbstractBceRequest {
+
+ /**
+ * An ASCII string whose length is less than 64.
+ *
+ * The request will be idempotent if clientToken is provided.
+ * If the clientToken is not specified by the user, a random String generated by default algorithm will be used.
+ * See more detail at
+ *
+ * BCE API doc
+ */
+ @JsonIgnore
+ private String clientToken;
+
+ /**
+ * the id of aclRule modified.
+ */
+ @JsonIgnore
+ private String aclRuleId;
+
+ /**
+ * the id of the aclRule
+ */
+ private String id;
+
+ /**
+ * the subnet id of the aclRule
+ */
+ private String subnetId;
+
+ /**
+ * the name of the aclRule
+ */
+ private String name;
+
+ /**
+ * the option param to describe the aclRule
+ */
+ private String description;
+
+ /**
+ * the protocol of the aclRule
+ * contains "all", "tcp", "udp", "icmp"
+ */
+ private String protocol;
+
+ /**
+ * the source ip address of the aclRule
+ * can be a specific ip or value "all"
+ */
+ private String sourceIpAddress;
+
+ /**
+ * the destination ip address of the aclRule
+ * can be a specific ip or value "all"
+ */
+ private String destinationIpAddress;
+
+ /**
+ * the source port of the aclRule
+ */
+ private String sourcePort;
+
+ /**
+ * the destination port of the aclRule
+ */
+ private String destinationPort;
+
+ /**
+ * the position of the aclRule
+ * the value can only be one of 1-5000
+ * aclRule's priority is higher with the smaller position value
+ */
+ private Integer position;
+
+ /**
+ * the direction of the aclRule
+ * value contains "ingress" and "egress"
+ */
+ private String direction;
+
+ /**
+ * the strategy of the aclRule
+ * value contains "allow" and "deny"
+ */
+ private String action;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getSubnetId() {
+ return subnetId;
+ }
+
+ public void setSubnetId(String subnetId) {
+ this.subnetId = subnetId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getProtocol() {
+ return protocol;
+ }
+
+ public void setProtocol(String protocol) {
+ this.protocol = protocol;
+ }
+
+ public String getSourceIpAddress() {
+ return sourceIpAddress;
+ }
+
+ public void setSourceIpAddress(String sourceIpAddress) {
+ this.sourceIpAddress = sourceIpAddress;
+ }
+
+ public String getDestinationIpAddress() {
+ return destinationIpAddress;
+ }
+
+ public void setDestinationIpAddress(String destinationIpAddress) {
+ this.destinationIpAddress = destinationIpAddress;
+ }
+
+ public String getSourcePort() {
+ return sourcePort;
+ }
+
+ public void setSourcePort(String sourcePort) {
+ this.sourcePort = sourcePort;
+ }
+
+ public String getDestinationPort() {
+ return destinationPort;
+ }
+
+ public void setDestinationPort(String destinationPort) {
+ this.destinationPort = destinationPort;
+ }
+
+ public Integer getPosition() {
+ return position;
+ }
+
+ public void setPosition(Integer position) {
+ this.position = position;
+ }
+
+ public String getDirection() {
+ return direction;
+ }
+
+ public void setDirection(String direction) {
+ this.direction = direction;
+ }
+
+ public String getAction() {
+ return action;
+ }
+
+ public void setAction(String action) {
+ this.action = action;
+ }
+
+ public String getClientToken() {
+ return clientToken;
+ }
+
+ public void setClientToken(String clientToken) {
+ this.clientToken = clientToken;
+ }
+
+ public String getAclRuleId() {
+ return aclRuleId;
+ }
+
+ public void setAclRuleId(String aclRuleId) {
+ this.aclRuleId = aclRuleId;
+ }
+
+ public ModifyAclRuleAttributesRequest withClientToken(String clientToken) {
+ this.setClientToken(clientToken);
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withAclRuleId(String aclRuleId) {
+ this.aclRuleId = aclRuleId;
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withDescription(String description) {
+ this.setDescription(description);
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withProtocol(String protocol) {
+ this.setProtocol(protocol);
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withSourceIpAddress(String sourceIpAddress) {
+ this.setSourceIpAddress(sourceIpAddress);
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withDestinationIpAddress(String destinationIpAddress) {
+ this.setDestinationIpAddress(destinationIpAddress);
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withSourcePort(String sourcePort) {
+ this.setSourcePort(sourcePort);
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withDestinationPort(String destinationPort) {
+ this.setDestinationPort(destinationPort);
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withPosition(int position) {
+ this.setPosition(position);
+ return this;
+ }
+
+ public ModifyAclRuleAttributesRequest withAction(String action) {
+ this.setAction(action);
+ return this;
+ }
+
+ @Override
+ public AbstractBceRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/AihcInferenceClient.java b/src/main/java/com/baidubce/services/aihc/AihcInferenceClient.java
new file mode 100644
index 00000000..9deb68e9
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/AihcInferenceClient.java
@@ -0,0 +1,456 @@
+package com.baidubce.services.aihc;
+
+import com.baidubce.AbstractBceClient;
+import com.baidubce.BceClientConfiguration;
+import com.baidubce.BceClientException;
+import com.baidubce.http.Headers;
+import com.baidubce.http.HttpMethodName;
+import com.baidubce.http.handler.BceErrorResponseHandler;
+import com.baidubce.http.handler.BceJsonResponseHandler;
+import com.baidubce.http.handler.BceMetadataResponseHandler;
+import com.baidubce.http.handler.HttpResponseHandler;
+import com.baidubce.internal.InternalRequest;
+import com.baidubce.internal.RestartableInputStream;
+import com.baidubce.model.AbstractBceRequest;
+
+import com.baidubce.services.aihc.model.inference.AppChangeDetailRequest;
+import com.baidubce.services.aihc.model.inference.AppChangeDetailResponse;
+import com.baidubce.services.aihc.model.inference.AppDetailsRequest;
+import com.baidubce.services.aihc.model.inference.AppDetailsResponse;
+import com.baidubce.services.aihc.model.inference.BlockPodRequest;
+import com.baidubce.services.aihc.model.inference.BlockPodResponse;
+import com.baidubce.services.aihc.model.inference.CreateAppRequest;
+import com.baidubce.services.aihc.model.inference.CreateAppResponse;
+import com.baidubce.services.aihc.model.inference.DeleteAppRequest;
+import com.baidubce.services.aihc.model.inference.DeleteAppResponse;
+import com.baidubce.services.aihc.model.inference.DeletePodRequest;
+import com.baidubce.services.aihc.model.inference.DeletePodResponse;
+import com.baidubce.services.aihc.model.inference.ListAppRequest;
+import com.baidubce.services.aihc.model.inference.ListAppResponse;
+import com.baidubce.services.aihc.model.inference.ListChangeRequest;
+import com.baidubce.services.aihc.model.inference.ListChangeResponse;
+import com.baidubce.services.aihc.model.inference.ListPodRequest;
+import com.baidubce.services.aihc.model.inference.ListPodResponse;
+import com.baidubce.services.aihc.model.inference.ListResPoolBriefRequest;
+import com.baidubce.services.aihc.model.inference.ListResPoolBriefResponse;
+import com.baidubce.services.aihc.model.inference.ListStatsRequest;
+import com.baidubce.services.aihc.model.inference.ListStatsResponse;
+import com.baidubce.services.aihc.model.inference.PubAccessRequest;
+import com.baidubce.services.aihc.model.inference.PubAccessResponse;
+import com.baidubce.services.aihc.model.inference.ResPoolDetailRequest;
+import com.baidubce.services.aihc.model.inference.ResPoolDetailResponse;
+import com.baidubce.services.aihc.model.inference.ScaleAppRequest;
+import com.baidubce.services.aihc.model.inference.ScaleAppResponse;
+import com.baidubce.services.aihc.model.inference.UpdateAppRequest;
+import com.baidubce.services.aihc.model.inference.UpdateAppResponse;
+import com.baidubce.util.HttpUtils;
+import com.baidubce.util.JsonUtils;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.baidubce.util.Validate.checkNotNull;
+import static com.baidubce.util.Validate.checkStringNotEmpty;
+
+public class AihcInferenceClient extends AbstractBceClient {
+
+ /**
+ * aihc inference API pathVersion
+ */
+ private static final String APPPREFIX = "api/aihcpom/app";
+ private static final String PODPREFIX = "api/aihcpom/pod";
+ private static final String RESPOOLPREFIX = "api/aihcpom/respool";
+
+ private static final String VERSION = "v1";
+
+ /**
+ * Responsible for handling httpResponses from all service calls.
+ */
+ private static HttpResponseHandler[] aihcInferenceHandlers = new HttpResponseHandler[] {
+ new BceMetadataResponseHandler(),
+ new BceErrorResponseHandler(),
+ new BceJsonResponseHandler()
+ };
+
+ public AihcInferenceClient() {
+ this(new BceClientConfiguration());
+ }
+
+ /**
+ * Constructs a new InstanceClient to invoke service methods on eip instance.
+ *
+ * @param clientConfiguration The BCE client configuration options.
+ */
+ public AihcInferenceClient(BceClientConfiguration clientConfiguration) {
+ super(clientConfiguration, aihcInferenceHandlers);
+ }
+
+ /**
+ * the method to fill the internalRequest's content field with bceRequest
+ * only support HttpMethodName.POST or HttpMethodName.PUT
+ *
+ * @param internalRequest A request object, populated with endpoint, resource path, ready for callers to populate
+ * any additional headers or parameters, and execute.
+ * @param bceRequest The original request, as created by the user.
+ */
+ protected void fillPayload(InternalRequest internalRequest, AbstractBceRequest bceRequest) {
+ if (internalRequest.getHttpMethod() == HttpMethodName.POST
+ || internalRequest.getHttpMethod() == HttpMethodName.PUT) {
+ String strJson = JsonUtils.toJsonString(bceRequest);
+ byte[] requestJson = null;
+ try {
+ requestJson = strJson.getBytes(DEFAULT_ENCODING);
+ } catch (UnsupportedEncodingException e) {
+ throw new BceClientException("Unsupported encode.", e);
+ }
+ internalRequest.addHeader(Headers.CONTENT_LENGTH, String.valueOf(requestJson.length));
+ internalRequest.addHeader(Headers.CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
+ internalRequest.setContent(RestartableInputStream.wrap(requestJson));
+ }
+ }
+
+ /**
+ * Creates and initializes a new request object for the specified resource.
+ *
+ * @param bceRequest The original BCE request created by the user.
+ * @param httpMethod The HTTP method to use when sending the request.
+ * @param region The region.
+ * @param prefix The prefix of URI.
+ * @param pathVariables The optional variables used in the URI path.
+ * @return A new request object populated with endpoint, resource path and specific
+ * parameters to send.
+ */
+ private InternalRequest createRequest(
+ AbstractBceRequest bceRequest, HttpMethodName httpMethod, String region, String prefix, String... pathVariables) {
+ List path = new ArrayList();
+ path.add(prefix);
+ path.add(VERSION);
+
+ if (pathVariables != null) {
+ for (String pathVariable : pathVariables) {
+ path.add(pathVariable);
+ }
+ }
+
+ URI uri = HttpUtils.appendUri(this.getEndpoint(), path.toArray(new String[path.size()]));
+ InternalRequest request = new InternalRequest(httpMethod, uri);
+ request.setCredentials(bceRequest.getRequestCredentials());
+ request.addHeader("X-Region", region);
+
+ return request;
+ }
+
+ /**
+ * Create an app with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for creating an app.
+ * @return created appId
+ */
+ public CreateAppResponse createApp(CreateAppRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST, region, APPPREFIX, "create");
+ checkNotNull(request.getAppName(), "appName should not be null");
+ checkNotNull(request.getChipType(), "chipType should not be null");
+ if (request.getInsCount() <= 0) {
+ throw new IllegalArgumentException("insCount should be > 0");
+ }
+ checkNotNull(request.getResPool(), "resPool should not be null");
+ checkNotNull(request.getContainers(), "containers should not be null");
+ checkNotNull(request.getAccess(), "access should not be null");
+ checkNotNull(request.getLog(), "log should not be null");
+ checkNotNull(request.getDeploy(), "deploy should not be null");
+
+ fillPayload(internalRequest, request);
+ return invokeHttpClient(internalRequest, CreateAppResponse.class);
+ }
+
+ /**
+ * List apps with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for list an app.
+ * @return apps info
+ */
+ public ListAppResponse listApp(ListAppRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, region, APPPREFIX, "list");
+ if (request.getKeyword() != null) {
+ internalRequest.addParameter("keyword", request.getKeyword());
+ }
+ if (request.getPageNo() < 0) {
+ throw new IllegalArgumentException("pageNo should be > 0");
+ }
+ if (request.getPageNo() > 0) {
+ internalRequest.addParameter("pageNo", String.valueOf(request.getPageNo()));
+ }
+ if (request.getPageSize() < 0) {
+ throw new IllegalArgumentException("pageSize should be > 0");
+ }
+ if (request.getPageSize() > 0) {
+ internalRequest.addParameter("pageSize", String.valueOf(request.getPageSize()));
+ }
+ if (request.getOrderBy() != null && request.getOrder() != null) {
+ internalRequest.addParameter("orderBy", request.getOrderBy());
+ internalRequest.addParameter("order", request.getOrder());
+ }
+
+ return invokeHttpClient(internalRequest, ListAppResponse.class);
+ }
+
+ /**
+ * List app stats with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for list app stats.
+ * @return apps stats info
+ */
+ public ListStatsResponse listStats(ListStatsRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, region, APPPREFIX, "stats");
+ if (request.getAppIds().isEmpty()) {
+ throw new IllegalArgumentException("appId should not be null");
+ }
+
+ String appIds = String.join("#", request.getAppIds());
+ internalRequest.addParameter("appIds", appIds);
+ return invokeHttpClient(internalRequest, ListStatsResponse.class);
+ }
+
+ /**
+ * The details of app with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for app details.
+ * @return app details info
+ */
+ public AppDetailsResponse appDetails(AppDetailsRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, region, APPPREFIX, "details");
+ checkStringNotEmpty(request.getAppId(), "appId should not be empty");
+ internalRequest.addParameter("appId", request.getAppId());
+ return invokeHttpClient(internalRequest, AppDetailsResponse.class);
+ }
+
+ /**
+ * Update app with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for update app.
+ * @return app Id
+ */
+ public UpdateAppResponse updateApp(UpdateAppRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST, region, APPPREFIX, "update");
+ checkNotNull(request.getAppId(), "appId should not be null");
+
+ internalRequest.addParameter("appId", request.getAppId());
+ if (request.getShortDesc() != null) {
+ internalRequest.addParameter("shortDesc", request.getShortDesc());
+ }
+ fillPayload(internalRequest, request);
+ return invokeHttpClient(internalRequest, UpdateAppResponse.class);
+ }
+
+ /**
+ * Scale app with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for scale app.
+ * @return
+ */
+ public ScaleAppResponse scaleApp(ScaleAppRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST, region, APPPREFIX, "scale");
+ checkNotNull(request.getAppId(), "appId should not be null");
+ if (request.getInsCount() < 0) {
+ throw new IllegalArgumentException("insCount should be >= 0");
+ }
+
+ internalRequest.addParameter("appId", request.getAppId());
+ internalRequest.addParameter("insCount", String.valueOf(request.getInsCount()));
+ fillPayload(internalRequest, request);
+ return invokeHttpClient(internalRequest, ScaleAppResponse.class);
+ }
+
+ /**
+ * Operate the public network with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for operate the public network.
+ * @return
+ */
+ public PubAccessResponse pubAccess(PubAccessRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST, region, APPPREFIX, "pubaccess");
+ checkNotNull(request.getAppId(), "appId should not be null");
+ internalRequest.addParameter("appId", request.getAppId());
+ internalRequest.addParameter("publicAccess", String.valueOf(request.isPublicAccess()));
+ if (request.getEip() != null) {
+ internalRequest.addParameter("eip", request.getEip());
+ }
+
+ fillPayload(internalRequest, request);
+
+ return invokeHttpClient(internalRequest, PubAccessResponse.class);
+ }
+
+ /**
+ * List change with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for list change.
+ * @return change list info
+ */
+ public ListChangeResponse listChange(ListChangeRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, region, APPPREFIX, "listchange");
+ checkNotNull(request.getAppId(), "appId should not be null");
+ internalRequest.addParameter("appId", request.getAppId());
+ internalRequest.addParameter("changeType", String.valueOf(request.getChangeType()));
+
+ if (request.getOrder() != null) {
+ internalRequest.addParameter("order", request.getOrder());
+ }
+ if (request.getPageNo() < 0) {
+ throw new IllegalArgumentException("pageNo should be > 0");
+ }
+ if (request.getPageNo() > 0) {
+ internalRequest.addParameter("pageNo", String.valueOf(request.getPageNo()));
+ }
+ if (request.getPageSize() < 0) {
+ throw new IllegalArgumentException("pageSize should be > 0");
+ }
+ if (request.getPageSize() > 0) {
+ internalRequest.addParameter("pageSize", String.valueOf(request.getPageSize()));
+ }
+ if (request.getOrderBy() != null && request.getOrder() != null) {
+ internalRequest.addParameter("orderBy", request.getOrderBy());
+ internalRequest.addParameter("order", request.getOrder());
+ }
+
+ return invokeHttpClient(internalRequest, ListChangeResponse.class);
+ }
+
+ /**
+ * change detail with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for change detail.
+ * @return change detail info
+ */
+ public AppChangeDetailResponse appChangeDetail(AppChangeDetailRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, region, APPPREFIX, "changedetail");
+ checkNotNull(request.getChangeId(), "changeId should not be null");
+ internalRequest.addParameter("changeId", request.getChangeId());
+
+ return invokeHttpClient(internalRequest, AppChangeDetailResponse.class);
+ }
+
+ /**
+ * delete app with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for delete app.
+ * @return
+ */
+ public DeleteAppResponse deleteApp(DeleteAppRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST, region, APPPREFIX, "delete");
+ checkNotNull(request.getAppId(), "appId should not be null");
+
+ internalRequest.addParameter("appId", request.getAppId());
+ fillPayload(internalRequest, request);
+
+ return invokeHttpClient(internalRequest, DeleteAppResponse.class);
+ }
+
+ /**
+ * List pod with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for list pod.
+ * @return pod info
+ */
+ public ListPodResponse listPod(ListPodRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, region, PODPREFIX, "list");
+ checkNotNull(request.getAppId(), "appId should not be null");
+ internalRequest.addParameter("appId", request.getAppId());
+
+ return invokeHttpClient(internalRequest, ListPodResponse.class);
+ }
+
+ /**
+ * block pod with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for block pod.
+ * @return
+ */
+ public BlockPodResponse blockPod(BlockPodRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST, region, PODPREFIX, "block");
+ checkNotNull(request.getAppId(), "appId should not be null");
+ checkNotNull(request.getInsID(), "insID should not be null");
+
+ internalRequest.addParameter("appId", request.getAppId());
+ internalRequest.addParameter("insID", request.getInsID());
+ internalRequest.addParameter("block", String.valueOf(request.isBlock()));
+
+ fillPayload(internalRequest, request);
+
+ return invokeHttpClient(internalRequest, BlockPodResponse.class);
+ }
+
+ /**
+ * delete pod with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for delete pod.
+ * @return
+ */
+ public DeletePodResponse deletePod(DeletePodRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST, region, PODPREFIX, "delete");
+ checkNotNull(request.getAppId(), "appId should not be null");
+ checkNotNull(request.getInsID(), "insID should not be null");
+
+ internalRequest.addParameter("appId", request.getAppId());
+ internalRequest.addParameter("insID", request.getInsID());
+ fillPayload(internalRequest, request);
+
+ return invokeHttpClient(internalRequest, DeletePodResponse.class);
+ }
+
+ /**
+ * list resPool brief info with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for list resPool brief info.
+ * @return list resPool brief info
+ */
+ public ListResPoolBriefResponse listResPoolBrief(ListResPoolBriefRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, region, RESPOOLPREFIX, "listbrief");
+ if (request.getPageNo() < 0) {
+ throw new IllegalArgumentException("pageNo should be > 0");
+ }
+ if (request.getPageNo() > 0) {
+ internalRequest.addParameter("pageNo", String.valueOf(request.getPageNo()));
+ }
+ if (request.getPageSize() < 0) {
+ throw new IllegalArgumentException("pageSize should be > 0");
+ }
+ if (request.getPageSize() > 0) {
+ internalRequest.addParameter("pageSize", String.valueOf(request.getPageSize()));
+ }
+
+ return invokeHttpClient(internalRequest, ListResPoolBriefResponse.class);
+ }
+
+ /**
+ * list resPool brief info with the specified options.
+ * This is an asynchronous interface
+ *
+ * @param request The request containing all options for list resPool brief info.
+ * @return list resPool brief info
+ */
+ public ResPoolDetailResponse resPoolDetail(ResPoolDetailRequest request, String region) {
+ InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, region, RESPOOLPREFIX, "detail");
+ checkNotNull(request.getResPoolId(), "resPoolId should not be null");
+
+ internalRequest.addParameter("resPoolId", request.getResPoolId());
+
+ return invokeHttpClient(internalRequest, ResPoolDetailResponse.class);
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/AppChangeDetailRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/AppChangeDetailRequest.java
new file mode 100644
index 00000000..7950333e
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/AppChangeDetailRequest.java
@@ -0,0 +1,24 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class AppChangeDetailRequest extends AbstractBceRequest {
+
+ private String changeId;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return AppDetailsRequest with credentials.
+ */
+ public AppChangeDetailRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/AppChangeDetailResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/AppChangeDetailResponse.java
new file mode 100644
index 00000000..bc2d476e
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/AppChangeDetailResponse.java
@@ -0,0 +1,47 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+public class AppChangeDetailResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+ private String changeId;
+ private String prev;
+ private int changeType;
+ private String shortDesc;
+ private String creator;
+ private int ctime;
+ private String snapshot;
+ }
+
+ @Override
+ public String toString() {
+ return "AppChangeDetailResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ "\t data = " + data + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/AppDetailsRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/AppDetailsRequest.java
new file mode 100644
index 00000000..6f38caf3
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/AppDetailsRequest.java
@@ -0,0 +1,24 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class AppDetailsRequest extends AbstractBceRequest {
+
+ private String appId;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return AppDetailsRequest with credentials.
+ */
+ public AppDetailsRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/AppDetailsResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/AppDetailsResponse.java
new file mode 100644
index 00000000..190dd082
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/AppDetailsResponse.java
@@ -0,0 +1,283 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+import java.util.Map;
+
+@Getter
+@Setter
+public class AppDetailsResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+ private AppConf app;
+ private AppStatus status;
+ private String creator;
+ private int ctime;
+ private int mtime;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class AppConf {
+ private String appName;
+ private String chipType;
+ private int insCount;
+ private ResPoolConf resPool;
+ private StorageConf storage;
+ private List containers;
+ private AccessConf access;
+ private LogConf log;
+ private DeployConf deploy;
+ private Misc misc;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ResPoolConf {
+ private String resPoolId;
+ private String resPoolName;
+ private String queue;
+ private String subnetID;
+ private String vpcID;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class StorageConf {
+ private int shmSize;
+ private List volumns;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ContainerConf {
+ private String name;
+ private int cpus;
+ private int memory;
+ private int cards;
+ private List runCmd;
+ private List runArgs;
+ private List ports;
+ private Map env;
+ private ImageConf image;
+ private List volumeMounts;
+ private ProbeConf startupsProbe;
+ private ProbeConf readinessProbe;
+ private ProbeConf livenessProbe;
+ private LifecycleHandlerConf postStart;
+ private LifecycleHandlerConf preStop;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class PortConf {
+ private String protocol;
+ private String name;
+ private int port;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ImageConf {
+ private int imageType;
+ private String imageAddr;
+ private String imagePullUser;
+ private String imagePullPass;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ProbeConf {
+ private int initialDelaySeconds;
+ private int timeoutSeconds;
+ private int periodSeconds;
+ private int successThreshold;
+ private int failureThreshold;
+ private ProbeHandlerConf handler;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ProbeHandlerConf {
+ private ExecAction exec;
+ private HTTPGetAction httpGet;
+ private TCPSocketAction tcpSocketAction;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class LifecycleHandlerConf {
+ private ExecAction exec;
+ private HTTPGetAction httpGet;
+ private TCPSocketAction tcpSocket;
+ private int sleepSec;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ExecAction {
+ private List command;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class HTTPGetAction {
+ private String path;
+ private int port;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class TCPSocketAction {
+ private int port;
+ }
+
+
+ @Getter
+ @Setter
+ @ToString
+ public static class VolumnMountConf {
+ private String volumnName;
+ private String dstPath;
+ private boolean readOnly;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class VolumnConf {
+ private String volumeType;
+ private String volumnName;
+ private PFSConfig pfs;
+ private HostPathConfig hostpath;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class PFSConfig {
+ private String instanceId;
+ private String instanceType;
+ private String hostMountPath;
+ private String posixMountTargets;
+ private String clusterIP;
+ private String clientID;
+ private String clusterPort;
+ private String srcPath;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class HostPathConfig {
+ @JsonProperty("SrcPath")
+ private String srcPath;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class AppStatus {
+ private AccessIPConf accessIPs;
+ private List accessPorts;
+ private String blbShortId;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class AccessIPConf {
+ private String internal;
+ private String external;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class AccessPortConf {
+ private String name;
+ private long containerPort;
+ private long servicePort;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class AccessConf {
+ private boolean publicAccess;
+ private String eip;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class LogConf {
+ private boolean persistent;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class DeployConf {
+ private CanaryStrategyConf canaryStrategy;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class CanaryStrategyConf {
+ private int maxSurge;
+ private int maxUnavailable;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Misc {
+ private Map podLabels;
+ private Map podAnnotations;
+ private long gracePeriodSec;
+ }
+
+ @Override
+ public String toString() {
+ return "AppDetailsResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ "\t data = " + data + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/BlockPodRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/BlockPodRequest.java
new file mode 100644
index 00000000..d26e3e8b
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/BlockPodRequest.java
@@ -0,0 +1,26 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class BlockPodRequest extends AbstractBceRequest {
+
+ private String appId;
+ private String insID;
+ private boolean block;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return BlockPodRequest with credentials.
+ */
+ public BlockPodRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/BlockPodResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/BlockPodResponse.java
new file mode 100644
index 00000000..ff967880
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/BlockPodResponse.java
@@ -0,0 +1,28 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class BlockPodResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+
+ @Override
+ public String toString() {
+ return "BlockPodResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/CreateAppRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/CreateAppRequest.java
new file mode 100644
index 00000000..2f80fd62
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/CreateAppRequest.java
@@ -0,0 +1,317 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+import java.util.Map;
+
+@Getter
+@Setter
+@ToString
+public class CreateAppRequest extends AbstractBceRequest {
+ private String appName;
+ private String chipType;
+ private int insCount;
+ private ResPoolConf resPool;
+ private StorageConf storage;
+ private List containers;
+ private AccessConf access;
+ private LogConf log;
+ private DeployConf deploy;
+ private Misc misc;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ResPoolConf {
+ private String resPoolId;
+ private String queue;
+
+ public ResPoolConf(String resPoolId, String queue) {
+ this.resPoolId = resPoolId;
+ this.queue = queue;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class StorageConf {
+ private int shmSize;
+ private List volumns;
+
+ public StorageConf(int shmSize, List volumns) {
+ this.shmSize = shmSize;
+ this.volumns = volumns;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class VolumnConf {
+ private String volumeType;
+ private String volumnName;
+ private PFSConfig pfs;
+ private HostPathConfig hostpath;
+
+ public VolumnConf(String volumeType, String volumnName, PFSConfig pfs, HostPathConfig hostpath) {
+ this.volumeType = volumeType;
+ this.volumnName = volumnName;
+ this.pfs = pfs;
+ this.hostpath = hostpath;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class PFSConfig {
+ private String srcPath;
+
+ public PFSConfig(String srcPath) {
+ this.srcPath = srcPath;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class HostPathConfig {
+ @JsonProperty("SrcPath")
+ private String srcPath;
+
+ public HostPathConfig(String srcPath) {
+ this.srcPath = srcPath;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class AccessConf {
+ private boolean publicAccess;
+ private String eip;
+
+ public AccessConf(boolean publicAccess, String eip) {
+ this.publicAccess = publicAccess;
+ this.eip = eip;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class LogConf {
+ private boolean persistent;
+
+ public LogConf(boolean persistent) {
+ this.persistent = persistent;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class DeployConf {
+ private CanaryStrategyConf canaryStrategy;
+
+ public DeployConf(CanaryStrategyConf canaryStrategy) {
+ this.canaryStrategy = canaryStrategy;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class CanaryStrategyConf {
+ private int maxSurge;
+ private int maxUnavailable;
+
+ public CanaryStrategyConf(int maxSurge, int maxUnavailable) {
+ this.maxSurge = maxSurge;
+ this.maxUnavailable = maxUnavailable;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Misc {
+ private Map podLabels;
+ private Map podAnnotations;
+
+ public Misc(Map podLabels, Map podAnnotations) {
+ this.podLabels = podLabels;
+ this.podAnnotations = podAnnotations;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ContainerConf {
+ private String name;
+ private int cpus;
+ private int memory;
+ private int cards;
+ private List runCmd;
+ private List runArgs;
+ private List ports;
+ private Map env;
+ private ImageConf image;
+ private List volumeMounts;
+ private ProbeConf startupsProbe;
+ private ProbeConf readinessProbe;
+ private ProbeConf livenessProbe;
+
+ public ContainerConf(String name, int cpus, int memory, int cards, List runCmd, List runArgs, List ports
+ , Map env, ImageConf image, List volumeMounts, ProbeConf startupsProbe, ProbeConf readinessProbe
+ , ProbeConf livenessProbe) {
+ this.name = name;
+ this.cpus = cpus;
+ this.memory = memory;
+ this.cards = cards;
+ this.runCmd = runCmd;
+ this.runArgs = runArgs;
+ this.ports = ports;
+ this.env = env;
+ this.image = image;
+ this.volumeMounts = volumeMounts;
+ this.startupsProbe = startupsProbe;
+ this.readinessProbe = readinessProbe;
+ this.livenessProbe = livenessProbe;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class PortConf {
+ private int port;
+
+ public PortConf(int port) {
+ this.port = port;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ImageConf {
+ private int imageType;
+ private String imageAddr;
+ private String imagePullUser;
+ private String imagePullPass;
+
+ public ImageConf(int imageType, String imageAddr, String imagePullUser, String imagePullPass) {
+ this.imageType = imageType;
+ this.imageAddr = imageAddr;
+ this.imagePullUser = imagePullUser;
+ this.imagePullPass = imagePullPass;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class VolumnMountConf {
+ private String volumnName;
+ private String dstPath;
+ private boolean readOnly;
+
+ public VolumnMountConf(String volumnName, String dstPath, boolean readOnly) {
+ this.volumnName = volumnName;
+ this.dstPath = dstPath;
+ this.readOnly = readOnly;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ProbeConf {
+ private int initialDelaySeconds;
+ private int timeoutSeconds;
+ private int periodSeconds;
+ private int successThreshold;
+ private int failureThreshold;
+ private ProbeHandlerConf handler;
+
+ public ProbeConf(int initialDelaySeconds, int timeoutSeconds, int periodSeconds, int successThreshold, int failureThreshold, ProbeHandlerConf handler) {
+ this.initialDelaySeconds = initialDelaySeconds;
+ this.timeoutSeconds = timeoutSeconds;
+ this.periodSeconds = periodSeconds;
+ this.successThreshold = successThreshold;
+ this.failureThreshold = failureThreshold;
+ this.handler = handler;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ProbeHandlerConf {
+ private ExecAction exec;
+ private HTTPGetAction httpGet;
+ private TCPSocketAction tcpSocketAction;
+
+ public ProbeHandlerConf(ExecAction exec, HTTPGetAction httpGet, TCPSocketAction tcpSocketAction) {
+ this.exec = exec;
+ this.httpGet = httpGet;
+ this.tcpSocketAction = tcpSocketAction;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ExecAction {
+ private List command;
+
+ public ExecAction(List command) {
+ this.command = command;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class HTTPGetAction {
+ private String path;
+ private int port;
+
+ public HTTPGetAction(String path, int port) {
+ this.path = path;
+ this.port = port;
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class TCPSocketAction {
+ private int port;
+
+ public TCPSocketAction(int port) {
+ this.port = port;
+ }
+ }
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return CreateAppRequest with credentials.
+ */
+ public CreateAppRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/CreateAppResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/CreateAppResponse.java
new file mode 100644
index 00000000..3d79f29b
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/CreateAppResponse.java
@@ -0,0 +1,41 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+public class CreateAppResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+ private String appId;
+ }
+
+ @Override
+ public String toString() {
+ return "CreateAppResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ "\t data = " + data + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/DeleteAppRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/DeleteAppRequest.java
new file mode 100644
index 00000000..f39b48ec
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/DeleteAppRequest.java
@@ -0,0 +1,24 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class DeleteAppRequest extends AbstractBceRequest {
+
+ private String appId;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return DeleteAppRequest with credentials.
+ */
+ public DeleteAppRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/DeleteAppResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/DeleteAppResponse.java
new file mode 100644
index 00000000..9030ff0e
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/DeleteAppResponse.java
@@ -0,0 +1,28 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class DeleteAppResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+
+ @Override
+ public String toString() {
+ return "DeleteAppResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/DeletePodRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/DeletePodRequest.java
new file mode 100644
index 00000000..f431904e
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/DeletePodRequest.java
@@ -0,0 +1,25 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class DeletePodRequest extends AbstractBceRequest {
+
+ private String appId;
+ private String insID;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return DeletePodRequest with credentials.
+ */
+ public DeletePodRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/DeletePodResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/DeletePodResponse.java
new file mode 100644
index 00000000..aa48cd58
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/DeletePodResponse.java
@@ -0,0 +1,28 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class DeletePodResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+
+ @Override
+ public String toString() {
+ return "DeletePodResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListAppRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListAppRequest.java
new file mode 100644
index 00000000..901e438c
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListAppRequest.java
@@ -0,0 +1,29 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+
+import lombok.Setter;
+import lombok.Getter;
+
+@Getter
+@Setter
+public class ListAppRequest extends AbstractBceRequest {
+
+ private int pageNo;
+ private int pageSize;
+ private String keyword;
+ private String order;
+ private String orderBy;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return ListAppRequest with credentials.
+ */
+ public ListAppRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListAppResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListAppResponse.java
new file mode 100644
index 00000000..f9fac042
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListAppResponse.java
@@ -0,0 +1,82 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.util.List;
+
+@Getter
+@Setter
+public class ListAppResponse extends AbstractBceResponse {
+
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+ /*
+ * 应用个数
+ */
+ private int count;
+ /*
+ * 应用列表具体内容
+ */
+ private List list;
+ }
+
+ @Getter
+ @Setter
+ public static class AppModel {
+ private String appId;
+ private String appName;
+ private String creator;
+ private int ctime;
+ private int mtime;
+ private boolean publicAccess;
+ private String region;
+ private String resPoolId;
+ private String resPoolName;
+ private String resQueue;
+
+ @Override
+ public String toString() {
+ return "AppModel{" + "\n" +
+ "\t\t appId = " + appId + "\n" +
+ "\t\t appName = " + appName + "\n" +
+ "\t\t creator = " + creator + "\n" +
+ "\t\t ctime = " + ctime + "\n" +
+ "\t\t mtime = " + mtime + "\n" +
+ "\t\t publicAccess = " + publicAccess + "\n" +
+ "\t\t region = " + region + "\n" +
+ "\t\t resPoolId = " + resPoolId + "\n" +
+ "\t\t resPoolName = " + resPoolName + "\n" +
+ "\t\t resQueue = " + resQueue + "\n" +
+ "\t }";
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "LisAppResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ "\t data = " + data + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListChangeRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListChangeRequest.java
new file mode 100644
index 00000000..803883f4
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListChangeRequest.java
@@ -0,0 +1,29 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ListChangeRequest extends AbstractBceRequest {
+
+ private String appId;
+ private int changeType;
+ private String order;
+ private String orderBy;
+ private int pageNo;
+ private int pageSize;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return ListChangeRequest with credentials.
+ */
+ public ListChangeRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListChangeResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListChangeResponse.java
new file mode 100644
index 00000000..42f9e7d5
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListChangeResponse.java
@@ -0,0 +1,73 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+
+@Getter
+@Setter
+public class ListChangeResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+ /*
+ * 应用个数
+ */
+ private int count;
+ /*
+ * 应用列表具体内容
+ */
+ private List list;
+ }
+
+ @Getter
+ @Setter
+ public static class AppChangeRecord {
+ private String changeId;
+ private String prev;
+ private int changeType;
+ private String shortDesc;
+ private String creator;
+ private int ctime;
+
+ @Override
+ public String toString() {
+ return "AppChangeRecord{" + "\n" +
+ "\t\t changeId = " + changeId + "\n" +
+ "\t\t prev = " + prev + "\n" +
+ "\t\t changeType = " + changeType + "\n" +
+ "\t\t shortDesc = " + shortDesc + "\n" +
+ "\t\t creator = " + creator + "\n" +
+ "\t\t ctime = " + ctime + "\n" +
+ "\t }";
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "ListChangeResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ "\t data = " + data + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListPodRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListPodRequest.java
new file mode 100644
index 00000000..36c6bf91
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListPodRequest.java
@@ -0,0 +1,24 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ListPodRequest extends AbstractBceRequest {
+
+ private String appId;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return ListPodRequest with credentials.
+ */
+ public ListPodRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListPodResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListPodResponse.java
new file mode 100644
index 00000000..9093958e
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListPodResponse.java
@@ -0,0 +1,228 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+import java.util.Map;
+
+@Getter
+@Setter
+public class ListPodResponse extends AbstractBceResponse {
+
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+// private String resPoolId;
+// private String resPoolName;
+// private String queue;
+ private List list;
+ }
+
+ @Getter
+ @Setter
+ public static class InsInfo {
+ private String insID;
+ private List containers;
+ private InsStatus status;
+
+ @Override
+ public String toString() {
+ return "InsInfo{" + "\n" +
+ "\t\t insID = " + insID + "\n" +
+ "\t\t containers = " + containers + "\n" +
+ "\t\t status = " + status + "\n" +
+ "\t }";
+ }
+ }
+
+ @Getter
+ @Setter
+ public static class ContainerInfo {
+ private String containerId;
+ private ContainerConf container;
+ private ContainerStatus status;
+
+ @Override
+ public String toString() {
+ return "ContainerInfo{" + "\n" +
+ "\t\t\t containerId = " + containerId + "\n" +
+ "\t\t\t container = " + container + "\n" +
+ "\t\t\t status = " + status + "\n" +
+ "\t\t }";
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ContainerConf {
+ private String name;
+ private int cpus;
+ private int memory;
+ private int cards;
+ private List runCmd;
+ private List runArgs;
+ private List ports;
+ private Map env;
+ private ImageConf image;
+ private List volumeMounts;
+ private ProbeConf startupsProbe;
+ private ProbeConf readinessProbe;
+ private ProbeConf livenessProbe;
+ private LifecycleHandlerConf postStart;
+ private LifecycleHandlerConf preStop;
+
+ @Override
+ public String toString() {
+ return "ContainerConf{" + "\n" +
+ "\t\t\t\t name = " + name + "\n" +
+ "\t\t\t\t cpus = " + cpus + "\n" +
+ "\t\t\t\t memory = " + memory + "\n" +
+ "\t\t\t\t cards = " + cards + "\n" +
+ "\t\t\t\t runCmd = " + runCmd + "\n" +
+ "\t\t\t\t runArgs = " + runArgs + "\n" +
+ "\t\t\t\t ports = " + ports + "\n" +
+ "\t\t\t\t env = " + env + "\n" +
+ "\t\t\t\t image = " + image + "\n" +
+ "\t\t\t\t volumeMounts = " + volumeMounts + "\n" +
+ "\t\t\t\t startupsProbe = " + startupsProbe + "\n" +
+ "\t\t\t\t readinessProbe = " + readinessProbe + "\n" +
+ "\t\t\t\t volumeMounts = " + livenessProbe + "\n" +
+ "\t\t\t\t startupsProbe = " + postStart + "\n" +
+ "\t\t\t\t readinessProbe = " + preStop + "\n" +
+ "\t\t\t }";
+ }
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class PortConf {
+ private String protocol;
+ private String name;
+ private int port;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ImageConf {
+ private int imageType;
+ private String imageAddr;
+ private String imagePullUser;
+ private String imagePullPass;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class VolumnMountConf {
+ private String volumnName;
+ private String dstPath;
+ private boolean readOnly;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ProbeConf {
+ private int initialDelaySeconds;
+ private int timeoutSeconds;
+ private int periodSeconds;
+ private int successThreshold;
+ private int failureThreshold;
+ private ProbeHandlerConf handler;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ProbeHandlerConf {
+ private ExecAction exec;
+ private HTTPGetAction httpGet;
+ private TCPSocketAction tcpSocketAction;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class LifecycleHandlerConf {
+ private ExecAction exec;
+ private HTTPGetAction httpGet;
+ private TCPSocketAction tcpSocket;
+ private int sleepSec;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ExecAction {
+ private List command;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class HTTPGetAction {
+ private String path;
+ private int port;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class TCPSocketAction {
+ private int port;
+ }
+
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ContainerStatus {
+ private String containerStatus;
+ private int ctime;
+ private String reason;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class InsStatus {
+ private boolean blocked;
+ private String insStatus;
+ private int ctime;
+ private int availableContainers;
+ private int totalContainers;
+ private String podIP;
+ private String nodeIP;
+ }
+
+ @Override
+ public String toString() {
+ return "ListPodResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ "\t data = " + data + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListResPoolBriefRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListResPoolBriefRequest.java
new file mode 100644
index 00000000..4541ab5f
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListResPoolBriefRequest.java
@@ -0,0 +1,25 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ListResPoolBriefRequest extends AbstractBceRequest {
+
+ private int pageNo;
+ private int pageSize;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return ListResPoolBriefRequest with credentials.
+ */
+ public ListResPoolBriefRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListResPoolBriefResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListResPoolBriefResponse.java
new file mode 100644
index 00000000..651fca2c
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListResPoolBriefResponse.java
@@ -0,0 +1,78 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+
+@Getter
+@Setter
+public class ListResPoolBriefResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+ private List resPools;
+
+ @Getter
+ @Setter
+ public static class ResPoolBriefInfo {
+ private String resPoolId;
+ private String resPoolName;
+ private String associatedPfsID;
+ @JsonProperty("ClusterType")
+ private String clusterType;
+ @JsonProperty("Description")
+ private String description;
+ @JsonProperty("ForbidDelete")
+ private boolean forbidDelete;
+ @JsonProperty("K8sVersion")
+ private String k8sVersion;
+ private String createdAt;
+ private String updatedAt;
+ private String phase;
+
+ @Override
+ public String toString() {
+ return "ResPoolBriefInfo{" + "\n" +
+ "\t\t resPoolId = " + resPoolId + "\n" +
+ "\t\t resPoolName = " + resPoolName + "\n" +
+ "\t\t associatedPfsID = " + associatedPfsID + "\n" +
+ "\t\t ClusterType = " + clusterType + "\n" +
+ "\t\t Description = " + description + "\n" +
+ "\t\t ForbidDelete = " + forbidDelete + "\n" +
+ "\t\t K8sVersion = " + k8sVersion + "\n" +
+ "\t\t createdAt = " + createdAt + "\n" +
+ "\t\t updatedAt = " + updatedAt + "\n" +
+ "\t\t phase = " + phase + "\n" +
+ "\t }";
+ }
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "ListResPoolBriefResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ "\t data = " + data + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListStatsRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListStatsRequest.java
new file mode 100644
index 00000000..8a69018d
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListStatsRequest.java
@@ -0,0 +1,26 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+@Setter
+@Getter
+public class ListStatsRequest extends AbstractBceRequest {
+
+ private List appIds;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return ListStatsRequest with credentials.
+ */
+ public ListStatsRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ListStatsResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/ListStatsResponse.java
new file mode 100644
index 00000000..a1b5f69b
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ListStatsResponse.java
@@ -0,0 +1,60 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.Map;
+
+@Getter
+@Setter
+public class ListStatsResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+ private Map apps;
+ }
+
+ @Getter
+ @Setter
+ public static class StatsModel {
+ private int status;
+ private int availableIns;
+ private int totalIns;
+
+ @Override
+ public String toString() {
+ return "StatsModel{" + "\n" +
+ "\t\t status = " + status + "\n" +
+ "\t\t availableIns = " + availableIns + "\n" +
+ "\t\t totalIns = " + totalIns + "\n" +
+ "\t }";
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "ListStatsResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ "\t data = " + data + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/PubAccessRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/PubAccessRequest.java
new file mode 100644
index 00000000..16938150
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/PubAccessRequest.java
@@ -0,0 +1,27 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class PubAccessRequest extends AbstractBceRequest {
+
+ private String appId;
+ private boolean publicAccess;
+ private String eip;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return PubAccessRequest with credentials.
+ */
+ public PubAccessRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/PubAccessResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/PubAccessResponse.java
new file mode 100644
index 00000000..a36e0ebd
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/PubAccessResponse.java
@@ -0,0 +1,28 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class PubAccessResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+
+ @Override
+ public String toString() {
+ return "PubAccessResponse{" + "\n" +
+ "\t errno = " + errno + "," + "\n" +
+ "\t request_id = " + requestId + "," + "\n" +
+ '}';
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ResPoolDetailRequest.java b/src/main/java/com/baidubce/services/aihc/model/inference/ResPoolDetailRequest.java
new file mode 100644
index 00000000..50d84961
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ResPoolDetailRequest.java
@@ -0,0 +1,24 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.auth.BceCredentials;
+import com.baidubce.model.AbstractBceRequest;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ResPoolDetailRequest extends AbstractBceRequest {
+
+ private String resPoolId;
+
+ /**
+ * Configure request credential for the request.
+ *
+ * @param credentials a valid instance of BceCredentials.
+ * @return ResPoolDetailRequest with credentials.
+ */
+ public ResPoolDetailRequest withRequestCredentials(BceCredentials credentials) {
+ this.setRequestCredentials(credentials);
+ return this;
+ }
+}
diff --git a/src/main/java/com/baidubce/services/aihc/model/inference/ResPoolDetailResponse.java b/src/main/java/com/baidubce/services/aihc/model/inference/ResPoolDetailResponse.java
new file mode 100644
index 00000000..3d233750
--- /dev/null
+++ b/src/main/java/com/baidubce/services/aihc/model/inference/ResPoolDetailResponse.java
@@ -0,0 +1,113 @@
+package com.baidubce.services.aihc.model.inference;
+
+import com.baidubce.model.AbstractBceResponse;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+import java.util.Map;
+
+@Getter
+@Setter
+public class ResPoolDetailResponse extends AbstractBceResponse {
+ /*
+ * 错误码
+ */
+ private int errno;
+ /*
+ * 访问id
+ */
+ @JsonProperty("request_id")
+ private String requestId;
+ /*
+ * data数据
+ */
+ private Data data;
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Data {
+ private ResPoolInfo resPool;
+ private List resQueue;
+ }
+
+ @Getter
+ @Setter
+ @ToString
+ public static class ResQueueInfo {
+ private String name;
+ private String nameSpace;
+ private String parentQueue;
+ private String queueType;
+ private String state;
+ private boolean reclaimable;
+ private boolean preemptable;
+ private Map