diff --git a/cloud-runtimes-api/pom.xml b/cloud-runtimes-api/pom.xml
index 9aa622b..1c2d45b 100644
--- a/cloud-runtimes-api/pom.xml
+++ b/cloud-runtimes-api/pom.xml
@@ -23,7 +23,7 @@
group.rxcloud
cloud-runtimes
- 1.17.RELEASE
+ 1.18.RELEASE
cloud-runtimes-api
diff --git a/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/NativeProtocolCloudRuntimes.java b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/NativeProtocolCloudRuntimes.java
index 19b134f..ee26d17 100644
--- a/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/NativeProtocolCloudRuntimes.java
+++ b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/NativeProtocolCloudRuntimes.java
@@ -21,9 +21,13 @@
import group.rxcloud.cloudruntimes.domain.nativeproto.NativeSqlRuntimes;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.DeleteObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.DeleteObjectOutput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.IsObjectExistInput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.IsObjectExistOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.GetObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.GetObjectOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.InitRequest;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.ListObjectsInput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.ListObjectsOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.PutObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.PutObjectOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.redis.geo.GeoRadiusResponse;
@@ -611,4 +615,14 @@ default Mono getObject(GetObjectInput getObjectInput) {
default Mono deleteObject(DeleteObjectInput deleteObjectInput) {
throw new UnsupportedOperationException("CloudRuntimes Operate Unsupported.");
}
+
+ @Override
+ default Mono listObjects(ListObjectsInput listObjectsInput) {
+ throw new UnsupportedOperationException("CloudRuntimes Operate Unsupported.");
+ }
+
+ @Override
+ default Mono isObjectExist(IsObjectExistInput isObjectExistInput) {
+ throw new UnsupportedOperationException("CloudRuntimes Operate Unsupported.");
+ }
}
diff --git a/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/NativeAwsS3Runtimes.java b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/NativeAwsS3Runtimes.java
index 39ece05..d7dec29 100644
--- a/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/NativeAwsS3Runtimes.java
+++ b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/NativeAwsS3Runtimes.java
@@ -18,9 +18,13 @@
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.DeleteObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.DeleteObjectOutput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.IsObjectExistInput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.IsObjectExistOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.GetObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.GetObjectOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.InitRequest;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.ListObjectsInput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.ListObjectsOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.PutObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.PutObjectOutput;
import reactor.core.publisher.Mono;
@@ -60,4 +64,18 @@ public interface NativeAwsS3Runtimes {
* @return mono of result
*/
Mono deleteObject(DeleteObjectInput deleteObjectInput);
+
+ /**
+ * List objects from oss.
+ * @param listObjectsInput
+ * @return
+ */
+ Mono listObjects(ListObjectsInput listObjectsInput);
+
+ /**
+ * Check if an object exists.
+ * @param isObjectExistInput
+ * @return
+ */
+ Mono isObjectExist(IsObjectExistInput isObjectExistInput);
}
diff --git a/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/IsObjectExistInput.java b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/IsObjectExistInput.java
new file mode 100644
index 0000000..b242bff
--- /dev/null
+++ b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/IsObjectExistInput.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 group.rxcloud.cloudruntimes.domain.nativeproto.awss3;
+
+/**
+ * Check if an object exists.
+ */
+public class IsObjectExistInput {
+ /**
+ * Required. The bucket name containing the object.
+ */
+ private String bucket;
+ /**
+ * Required. Key of the object to get.
+ */
+ private String key;
+
+ public String getBucket() {
+ return bucket;
+ }
+
+ public void setBucket(String bucket) {
+ this.bucket = bucket;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+}
diff --git a/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/IsObjectExistOutput.java b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/IsObjectExistOutput.java
new file mode 100644
index 0000000..8f82508
--- /dev/null
+++ b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/IsObjectExistOutput.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 group.rxcloud.cloudruntimes.domain.nativeproto.awss3;
+
+/**
+ * Check if an object exists
+ */
+public class IsObjectExistOutput {
+ /**
+ * Object exist or not.
+ */
+ private Boolean fileExist;
+
+ public Boolean getFileExist() {
+ return fileExist;
+ }
+
+ public void setFileExist(Boolean fileExist) {
+ this.fileExist = fileExist;
+ }
+}
diff --git a/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/ListObjectsInput.java b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/ListObjectsInput.java
new file mode 100644
index 0000000..e4cebf0
--- /dev/null
+++ b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/ListObjectsInput.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 group.rxcloud.cloudruntimes.domain.nativeproto.awss3;
+
+/**
+ * List objects from oss by bucket name
+ */
+public class ListObjectsInput {
+ /**
+ * Sets the maximum number of keys returned in the response. By default the action
+ * returns up to 1,000 key names. The response might contain fewer keys but will
+ * never contain more.
+ */
+ private Integer maxKeys;
+ /**
+ * Marker is where you want Amazon S3 to start listing from. Amazon S3 starts
+ * listing after this specified key. Marker can be any key in the bucket.
+ */
+ private String marker ;
+ /**
+ * Bucket name.
+ */
+ private String bucket;
+
+ /**
+ * Limits the response to keys that begin with the specified prefix.
+ */
+ private String prefix;
+
+ public Integer getMaxKeys() {
+ return maxKeys;
+ }
+
+ public void setMaxKeys(Integer maxKeys) {
+ this.maxKeys = maxKeys;
+ }
+
+ public String getMarker() {
+ return marker;
+ }
+
+ public void setMarker(String marker) {
+ this.marker = marker;
+ }
+
+ public String getBucket() {
+ return bucket;
+ }
+
+ public void setBucket(String bucket) {
+ this.bucket = bucket;
+ }
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+}
diff --git a/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/ListObjectsOutput.java b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/ListObjectsOutput.java
new file mode 100644
index 0000000..6fcb7a9
--- /dev/null
+++ b/cloud-runtimes-api/src/main/java/group/rxcloud/cloudruntimes/domain/nativeproto/awss3/ListObjectsOutput.java
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 group.rxcloud.cloudruntimes.domain.nativeproto.awss3;
+
+import java.util.List;
+
+/**
+ * List objects from oss by bucket name
+ */
+public class ListObjectsOutput {
+ /**
+ * Key List.
+ */
+ private List contents;
+ /**
+ * A flag that indicates whether Amazon S3 returned all of the results that satisfied the search criteria.
+ */
+ private Boolean isTruncated;
+
+ /**
+ * Indicates where in the bucket listing begins. Marker is included in the response
+ * if it was sent with the request.
+ */
+ private String marker;
+
+ /**
+ * When response is truncated (the IsTruncated element value in the response is
+ * true), you can use the key name in this field as marker in the subsequent
+ * request to get next set of objects.
+ */
+ private String nextMarker;
+
+ /**
+ * Keys that begin with the indicated prefix.
+ */
+ private String prefix;
+
+ /**
+ * The maximum number of keys returned in the response body.
+ */
+ private Integer maxKeys;
+
+ /**
+ * The bucket name.
+ */
+ private String name;
+
+ public List getContents() {
+ return contents;
+ }
+
+ public void setContents(List contents) {
+ this.contents = contents;
+ }
+
+ public Boolean getTruncated() {
+ return isTruncated;
+ }
+
+ public void setTruncated(Boolean truncated) {
+ isTruncated = truncated;
+ }
+
+ public String getMarker() {
+ return marker;
+ }
+
+ public void setMarker(String marker) {
+ this.marker = marker;
+ }
+
+ public String getNextMarker() {
+ return nextMarker;
+ }
+
+ public void setNextMarker(String nextMarker) {
+ this.nextMarker = nextMarker;
+ }
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+
+ public Integer getMaxKeys() {
+ return maxKeys;
+ }
+
+ public void setMaxKeys(Integer maxKeys) {
+ this.maxKeys = maxKeys;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
diff --git a/cloud-runtimes-capa/pom.xml b/cloud-runtimes-capa/pom.xml
index 7077726..c36f134 100644
--- a/cloud-runtimes-capa/pom.xml
+++ b/cloud-runtimes-capa/pom.xml
@@ -23,7 +23,7 @@
cloud-runtimes
group.rxcloud
- 1.17.RELEASE
+ 1.18.RELEASE
cloud-runtimes-capa
diff --git a/cloud-runtimes-capa/src/main/java/group/rxcloud/cloudruntimes/capa/CapaCloudRuntimesClient.java b/cloud-runtimes-capa/src/main/java/group/rxcloud/cloudruntimes/capa/CapaCloudRuntimesClient.java
index ba02704..caee068 100644
--- a/cloud-runtimes-capa/src/main/java/group/rxcloud/cloudruntimes/capa/CapaCloudRuntimesClient.java
+++ b/cloud-runtimes-capa/src/main/java/group/rxcloud/cloudruntimes/capa/CapaCloudRuntimesClient.java
@@ -62,9 +62,13 @@
import group.rxcloud.cloudruntimes.domain.enhanced.lock.UnlockResponse;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.DeleteObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.DeleteObjectOutput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.IsObjectExistInput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.IsObjectExistOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.GetObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.GetObjectOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.InitRequest;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.ListObjectsInput;
+import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.ListObjectsOutput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.PutObjectInput;
import group.rxcloud.cloudruntimes.domain.nativeproto.awss3.PutObjectOutput;
import group.rxcloud.cloudruntimes.utils.TypeRef;
@@ -559,4 +563,14 @@ public Mono getObject(GetObjectInput getObjectInput) {
public Mono deleteObject(DeleteObjectInput deleteObjectInput) {
return DefaultCloudRuntimesClient.super.deleteObject(deleteObjectInput);
}
+
+ @Override
+ public Mono listObjects(ListObjectsInput listObjectsInput) {
+ return DefaultCloudRuntimesClient.super.listObjects(listObjectsInput);
+ }
+
+ @Override
+ public Mono isObjectExist(IsObjectExistInput isObjectExistInput) {
+ return DefaultCloudRuntimesClient.super.isObjectExist(isObjectExistInput);
+ }
}
diff --git a/cloud-runtimes-dapr/pom.xml b/cloud-runtimes-dapr/pom.xml
index 5398567..da46889 100644
--- a/cloud-runtimes-dapr/pom.xml
+++ b/cloud-runtimes-dapr/pom.xml
@@ -23,7 +23,7 @@
cloud-runtimes
group.rxcloud
- 1.17.RELEASE
+ 1.18.RELEASE
cloud-runtimes-dapr
diff --git a/cloud-runtimes-layotto/pom.xml b/cloud-runtimes-layotto/pom.xml
index c28eb2a..b447fb5 100644
--- a/cloud-runtimes-layotto/pom.xml
+++ b/cloud-runtimes-layotto/pom.xml
@@ -23,7 +23,7 @@
cloud-runtimes
group.rxcloud
- 1.17.RELEASE
+ 1.18.RELEASE
cloud-runtimes-layotto
diff --git a/pom.xml b/pom.xml
index 2225765..c7a183b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
group.rxcloud
cloud-runtimes
pom
- 1.17.RELEASE
+ 1.18.RELEASE
cloud-runtimes-jvm
Cloud Runtimes Specification for the JVM.