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.