Add rust:1.34 runtime support to default deployments (#4461)
Co-authored-by: David Grove <dgrove-oss@users.noreply.github.com>
diff --git a/ansible/files/runtimes.json b/ansible/files/runtimes.json
index d699e14..6ad5e98 100644
--- a/ansible/files/runtimes.json
+++ b/ansible/files/runtimes.json
@@ -263,7 +263,24 @@
"attachmentType": "text/plain"
}
}
+ ],
+ "rust": [
+ {
+ "kind": "rust:1.34",
+ "default": true,
+ "image": {
+ "prefix": "openwhisk",
+ "name": "action-rust-v1.34",
+ "tag": "nightly"
+ },
+ "deprecated": false,
+ "attached": {
+ "attachmentName": "codefile",
+ "attachmentType": "text/plain"
+ }
+ }
]
+
},
"blackboxes": [
{
diff --git a/core/controller/src/main/resources/apiv1swagger.json b/core/controller/src/main/resources/apiv1swagger.json
index 4474206..e735603 100644
--- a/core/controller/src/main/resources/apiv1swagger.json
+++ b/core/controller/src/main/resources/apiv1swagger.json
@@ -1914,7 +1914,9 @@
"dotnet:3.1",
"dotnet:default",
"ballerina:0.990",
- "ballerina:default"
+ "ballerina:default",
+ "rust:1.34",
+ "rust:default"
],
"description": "the type of action"
},
diff --git a/docs/actions-rust.md b/docs/actions-rust.md
new file mode 100644
index 0000000..1990385
--- /dev/null
+++ b/docs/actions-rust.md
@@ -0,0 +1,20 @@
+<!--
+#
+# 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.
+#
+-->
+
+#TODO
diff --git a/docs/actions.md b/docs/actions.md
index d045139..fa59b8e 100644
--- a/docs/actions.md
+++ b/docs/actions.md
@@ -61,6 +61,7 @@
* [PHP](actions-php.md)
* [Python](actions-python.md)
* [Ruby](actions-ruby.md)
+* [Rust](actions-rust.md)
* [Swift](actions-swift.md)
* [.NET Core](actions-dotnet.md)
* [Docker and native binaries](actions-docker.md)
diff --git a/tests/dat/actions/unicode.tests/rust-1.34.txt b/tests/dat/actions/unicode.tests/rust-1.34.txt
new file mode 100644
index 0000000..f3bed8b
--- /dev/null
+++ b/tests/dat/actions/unicode.tests/rust-1.34.txt
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+extern crate serde_json;
+use serde_derive::{Deserialize, Serialize};
+use serde_json::{Error, Value};
+
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+struct Input {
+ delimiter: String,
+}
+
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+struct Output {
+ winter: String,
+}
+
+pub fn main(args: Value) -> Result<Value, Error> {
+ let input: Input = serde_json::from_value(args)?;
+ let msg = format!("{} {} {}", input.delimiter,'☃',input.delimiter);
+ println!("{}", msg);
+ let output = Output {
+ winter: msg,
+ };
+ serde_json::to_value(output)
+}