Amazon Web Services (AWS) Activities are now in Public Preview
Update!
This activity is now available on the Official Stable Feed:
Description
UiPath.AmazonWebServices.Activities package offers activities for Amazon Web Services (AWS) cloud platform.
This initial set of 30+ activities enables IT Departments to easily automate important AWS S3 and AWS EC2 operations in their workflows like managing Buckets, Objects, and Instances.
S3 usage scenarios:
- Build an infrastructure hosting multimedia files and allow the clients to download them.
- Secure cloud storage for important documents (e.g. accounting reports).
- Host application installers that clients can download.
EC2 usage scenarios:
- Provision a new instance (e.g. for a new application deployment, DevOps, etc.).
- Green computing & cost control (e.g. stop EC2 Instances that shouldn’t be running 24/7 to reduce cost).
Activities List
Cloud \ AWS
Amazon Web Services Scope – Connects to Amazon Web Services (AWS) and provides a scope for other AWS activities.
Cloud \ AWS \ S3 \ Buckets
Create Bucket – Creates a new S3 bucket. All public access to this bucket will be blocked by default.
Update Bucket Properties – Updates the properties of an existing bucket.
Configure Logging for Bucket – Configures the logging settings for the bucket.
Empty Bucket – Removes all the content of a bucket.
Delete Bucket – Deletes a bucket.
Get Bucket – Gets information about a specific bucket.
Get Bucket List – Gets the list of buckets in a specific region.
Configure Public Access to Bucket – Configures the public access for a bucket.
Get Bucket Policy – Gets the bucket policy.
Set Bucket Policy – Sets the bucket policy.
Delete Bucket Policy – Deletes the current bucket policy.
Cloud \ AWS \ S3 \ Objects
Get Object – Retrieves the details of the specified object.
Delete Single Object – Deletes the specified object.
Delete Multiple Objects – Deletes multiple objects at once.
Copy Object – Copies an object to another bucket.
Upload Object from File – Uploads a file to a bucket.
Upload Objects from Folder – Uploads an entire folder to a bucket.
Download Object to File – Downloads an object to a specified file.
For Each Object in Bucket - Performs an activity or a series of activities on each object in a specified bucket.
Set Object ACL – Sets the access control list (ACL) permissions for an object.
Get Object ACL – Gets the access control list (ACL) permissions for an object.
Cloud \ AWS \ EC2 \ Instances
Create Instance – Creates a new instance.
Create Instance from Launch Template - Creates a new instance from a launch template.
Get Instance by ID – Gets the details of the specified instance.
Get Instance List - Gets the list of instances matching the filter criteria.
Start Instance – Starts an instance.
Stop Instance – Stops an instance.
Reboot Instance – Reboots an instance.
Terminate Instance – Terminates an instance.
Configure Robot - Connects the Robot from a given instance to the UiPath Orchestrator.
How to install
UiPath.AmazonWebServices.Activities package is available in the Official feed, as a prerelease. In the Official feed, check ‘Include Prerelease’, search for “UiPath.AmazonWebServices.Activities”, and install the latest version.
** Important - We must reiterate, make sure you check the ‘Include Prerelease’ checkbox
AWS Activities should be visible now in UiPath Studio, as shown below:
How to use
The sample workflows below show how to use AWS activities in practice.
Secure Cloud Storage for Accounting Reports
This UiPath process contains three workflows:
- AccountingFilesUploader : creates a new S3 bucket and uploads annual report files as objects.
- AccountingFilesDownloader : downloads the reports objects for company “company1”.
- VerifyAccountingFilesSecurity : verifies the reports objects cannot be accessed publicly if one has their Urls.
Updated UiPath process (using the Official AWS activities pack):
AWS-S3-SecureCloudStorage.zip (32.9 KB)
EC2 Instances Management
This UiPath process contains three workflows exemplifying how to create new EC2 instances, how to stop those instances which are not needed to be running 24/7 (to save money), and how to terminate instances.
- CreateInstances : creates two EC2 instances. One has tag AlwaysOn = “False” and one has AlwaysOn = “True”.
- StopInstances : stops all running instances with tag AlwaysOn = “False”.
- DeleteInstances : terminates all instances created by me, i.e. tag Creator = “oviponocluj”.
Updated UiPath process (using the Official AWS activities pack):
AWS-EC2InstancesManagement.zip (22.1 KB)
To exemplify, let’s go step by step through the process of creating the StopInstances workflow:
-
First, add Amazon Web Services Scope activity in order to connect to AWS and to provide a scope for other AWS activities. In AWS-EC2InstancesManagement.zip, Main.xaml workflow, you can see I got the values for these parameters from System Environment Variables and I passed them to StopInstances workflow. Amazon Web Services Scope activity has three mandatory input parameters:
-
AccessKeyId (String) - The access key.
-
SecretAccessKey (SecureString) - The secret key.
-
Region (String) - The AWS Region to connect to.
For more details about creating an AWS secret key, please read this article: Create an AWS access key | AWS re:Post
-
-
Then, let’s add a Get Instance List activity to obtain the list of EC2 instances which are not needed to be running 24/7. These instances have the value “False” for tag key AlwaysOn. In order to make the life of RPA developer easier, this activity allows some basic filtering options:
-
State (Enum) - Searches only for those instances having the specified state.
-
TagKey (String) - The key of the tag to filter by.
-
TagValue (String) - The value for the tag to filter by.
-
-
Finally, add a For Each activity to perform a Stop Instance for each element in ec2InstanceList (the output parameter of Get Instance List activity). The TypeArgument for this activity shall be UiPath.AmazonWebServices.Models.AWSEc2Instance. For Stop Instance activity, set the value for Instance parameter to item .
That’s all folks! Enjoy