Skip to content

Instantly share code, notes, and snippets.

@durzo
Created April 30, 2020 15:31
Show Gist options
  • Save durzo/2b9fe823d868ee5041ad8961da380229 to your computer and use it in GitHub Desktop.
Save durzo/2b9fe823d868ee5041ad8961da380229 to your computer and use it in GitHub Desktop.
moodle-fileconverter_librelambda IAM Role support
diff --git a/classes/converter.php b/classes/converter.php
index c2addfe..33c0826 100644
--- a/classes/converter.php
+++ b/classes/converter.php
@@ -97,11 +97,14 @@ class converter implements \core_files\converter_interface {
public function create_client($handler=null) {
$connectionoptions = array(
'version' => 'latest',
- 'region' => $this->config->api_region,
- 'credentials' => [
- 'key' => $this->config->api_key,
- 'secret' => $this->config->api_secret
- ]);
+ 'region' => $this->config->api_region
+ );
+ if (!empty($this->keyid) && !empty($this->secret)) {
+ $connectionoptions['credentials'] = array(
+ 'key' => $this->keyid,
+ 'secret' => $this->secret
+ );
+ }
// Allow handler overriding for testing.
if ($handler != null) {
@@ -154,9 +157,7 @@ class converter implements \core_files\converter_interface {
private static function is_config_set(\fileconverter_librelambda\converter $converter) {
$isset = true;
- if (empty($converter->config->api_key) ||
- empty($converter->config->api_secret) ||
- empty($converter->config->s3_input_bucket) ||
+ if (empty($converter->config->s3_input_bucket) ||
empty($converter->config->s3_output_bucket) ||
empty($converter->config->api_region)) {
$isset = false;
diff --git a/classes/provision.php b/classes/provision.php
index 42675ae..a05ae5d 100644
--- a/classes/provision.php
+++ b/classes/provision.php
@@ -147,11 +147,14 @@ class provision {
public function create_s3_client($handler=null) {
$connectionoptions = array(
'version' => 'latest',
- 'region' => $this->region,
- 'credentials' => [
- 'key' => $this->keyid,
- 'secret' => $this->secret
- ]);
+ 'region' => $this->region
+ );
+ if (!empty($this->keyid) && !empty($this->secret)) {
+ $connectionoptions['credentials'] = array(
+ 'key' => $this->keyid,
+ 'secret' => $this->secret
+ );
+ }
// Allow handler overriding for testing.
if ($handler != null) {
@@ -309,11 +312,14 @@ class provision {
public function create_cloudformation_client($handler=null) {
$connectionoptions = array(
'version' => 'latest',
- 'region' => $this->region,
- 'credentials' => [
- 'key' => $this->keyid,
- 'secret' => $this->secret
- ]);
+ 'region' => $this->region
+ );
+ if (!empty($this->keyid) && !empty($this->secret)) {
+ $connectionoptions['credentials'] = array(
+ 'key' => $this->keyid,
+ 'secret' => $this->secret
+ );
+ }
// Allow handler overriding for testing.
if ($handler != null) {
diff --git a/classes/tester.php b/classes/tester.php
index 98578e6..19c0e1d 100644
--- a/classes/tester.php
+++ b/classes/tester.php
@@ -133,11 +133,14 @@ class tester {
public function create_s3_client($handler=null) {
$connectionoptions = array(
'version' => 'latest',
- 'region' => $this->region,
- 'credentials' => [
- 'key' => $this->keyid,
- 'secret' => $this->secret
- ]);
+ 'region' => $this->region
+ );
+ if (!empty($this->keyid) && !empty($this->secret)) {
+ $connectionoptions['credentials'] = array(
+ 'key' => $this->keyid,
+ 'secret' => $this->secret
+ );
+ }
// Allow handler overriding for testing.
if ($handler != null) {
diff --git a/cli/test.php b/cli/test.php
index 4b59a53..f2be9bb 100644
--- a/cli/test.php
+++ b/cli/test.php
@@ -49,7 +49,7 @@ if ($unrecognized) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
-if ($options['help'] || !$options['keyid'] || !$options['secret'] || !$options['region']
+if ($options['help'] || !$options['region']
|| !$options['input-bucket'] || !$options['output-bucket']) {
$help = "Command line Librelmbda provision.
This command line script will provision the Librelambda environment in AWS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment