The StackStorm AWS integration pack supplies action integration for EC2 and Route53.
You will need to add a set of AWS credentials, and default zone to the config.yaml file:
---
setup:
region: ""
aws_access_key_id: ""
aws_secret_access_key: ""
interval: 20
st2_user_data: ""
You can generate the access key and secret access key by following these directions:
http://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html#Using_CreateAccessKey
If you would like to use the IAM role assigned to the instance stackstorm is running set the key and secret to null and set the region.
---
setup:
region: "us-east-1"
aws_access_key_id: null
aws_secret_access_key: null
interval: 20
st2_user_data: ""
service_notifications_sensor.host
- Listen host for the HTTP interface.service_notifications_sensor.port
- Listen path for the HTTP interface.service_notifications_sensor.path
- Path where the events need to be sent.
Optionally, you can set the user_data to set a default file to be used during new instance creation. Put your user_data file somewhere accessible by the StackStorm user, and use the st2_user_data config option to set it.
st2_user_data: "/full/path/to/file"
This file/script will be used for all invocations of the ec2_run_instances action
This sensor exposes a HTTP interface and listens for service event notifications which are delivered via AWS SNS service using HTTP(s) endpoint.
Currently it supports event notifications generated by the S3 service - http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
Keep in mind that this sensor doesn't implement any kind of authentication.
This means that if the sensor is not behind a proxy which implements
authentication and is accessible to the outside world, you need to configure
path
setting to include a random secret which is only known to the
AWS SNS service.
This trigger is emitted for every service event notification.
Example trigger payload:
{
"source": "aws:s3",
"region": "us-west-2",
"name": "ObjectCreated:Put",
"timestamp": 123456789,
"response_elements": {
"x-amz-id-2": "blahid//4U+rk=",
"x-amz-request-id": "5FF5BB6EDE3631F8"
},
"request_parameters": {
"sourceIPAddress": "127.0.0.1"
},
"payload": {
"configurationId": "snsnotificationforput",
"object": {
"eTag": "5dfd7f29bce6d94dc5c73553f269659b",
"key": "myfile.tar.gz",
"size": 178428
},
"bucket": {
"ownerIdentity": {
"principalId": "BLAHBLAH"
},
"name": "testbucket33333",
"arn": "arn:aws:s3:::testbucket33333"
},
"s3SchemaVersion": "1.0"
}
}
source
, region
, name
and timestamp
attributes are included with
all the events, but the format and values inside the payload
attribute
different across different services and event types.
For a list of supported S3 event types see http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types
This is generic SQS Sensor using boto3 api to fetch messages from SQS queue. After receiving a message it's content is passed as payload to a trigger 'aws.sqs_new_message'
This sensor can be configured either by using config.yaml within a pack or by creating following values in datastore:
- aws.input_queues (list queues as comma separated string: first_queue,second_queue)
- aws.aws_access_key_id
- aws.aws_secret_access_key
- aws.region
- aws.max_number_of_messages (must be between 1 - 10)
For configuration in config.yaml
with config like this
setup:
aws_access_key_id:
aws_access_key_id:
region:
sqs_sensor:
input_queues:
- first_queue
- second_queue
sqs_other:
max_mumber_of_messages: 1
If any value exist in datastore it will be taken instead of any value in config.yaml
This trigger is emitted when a single message is received from a queue.
{
"queue": "first_sqs_queue",
"body": "example message body"
}
- r53_build_base_http_request
- r53_change_rrsets
- r53_close
- r53_create_health_check
- r53_create_hosted_zone
- r53_create_zone
- r53_delete_health_check
- r53_delete_hosted_zone
- r53_get_all_hosted_zones
- r53_get_all_rrsets
- r53_get_change
- r53_get_hosted_zone
- r53_get_hosted_zone_by_name
- r53_get_http_connection
- r53_get_list_health_checks
- r53_get_path
- r53_get_proxy_auth_header
- r53_get_proxy_url_with_auth
- r53_get_zone
- r53_get_zones
- r53_handle_proxy
- r53_make_request
- r53_new_http_connection
- r53_prefix_proxy_to_path
- r53_proxy_ssl
- r53_put_http_connection
- r53_server_name
- r53_set_host_header
- r53_set_request_hook
- r53_skip_proxy
- r53_zone_add_a
- r53_zone_add_cname
- r53_zone_add_mx
- r53_zone_add_record
- r53_zone_delete
- r53_zone_delete_a
- r53_zone_delete_cname
- r53_zone_delete_mx
- r53_zone_delete_record
- r53_zone_find_records
- r53_zone_get_a
- r53_zone_get_cname
- r53_zone_get_mx
- r53_zone_get_nameservers
- r53_zone_get_records
- r53_zone_update_a
- r53_zone_update_cname
- r53_zone_update_mx
- r53_zone_update_record
- ec2_allocate_address
- ec2_assign_private_ip_addresses
- ec2_associate_address
- ec2_associate_address_object
- ec2_attach_network_interface
- ec2_attach_volume
- ec2_authorize_security_group
- ec2_authorize_security_group_deprecated
- ec2_authorize_security_group_egress
- ec2_build_base_http_request
- ec2_build_complex_list_params
- ec2_build_configurations_param_list
- ec2_build_filter_params
- ec2_build_list_params
- ec2_build_tag_param_list
- ec2_bundle_instance
- ec2_cancel_bundle_task
- ec2_cancel_reserved_instances_listing
- ec2_cancel_spot_instance_requests
- ec2_close
- ec2_confirm_product_instance
- ec2_copy_image
- ec2_copy_snapshot
- ec2_create_image
- ec2_create_key_pair
- ec2_create_network_interface
- ec2_create_placement_group
- ec2_create_reserved_instances_listing
- ec2_create_security_group
- ec2_create_snapshot
- ec2_create_spot_datafeed_subscription
- ec2_create_tags
- ec2_create_volume
- ec2_delete_key_pair
- ec2_delete_network_interface
- ec2_delete_placement_group
- ec2_delete_security_group
- ec2_delete_snapshot
- ec2_delete_spot_datafeed_subscription
- ec2_delete_tags
- ec2_delete_volume
- ec2_deregister_image
- ec2_describe_account_attributes
- ec2_describe_reserved_instances_modifications
- ec2_describe_vpc_attribute
- ec2_detach_network_interface
- ec2_detach_volume
- ec2_disassociate_address
- ec2_enable_volume_io
- ec2_get_all_addresses
- ec2_get_all_bundle_tasks
- ec2_get_all_images
- ec2_get_all_instance_status
- ec2_get_all_instance_types
- ec2_get_all_instances
- ec2_get_all_kernels
- ec2_get_all_key_pairs
- ec2_get_all_network_interfaces
- ec2_get_all_placement_groups
- ec2_get_all_ramdisks
- ec2_get_all_regions
- ec2_get_all_reservations
- ec2_get_all_reserved_instances
- ec2_get_all_reserved_instances_offerings
- ec2_get_all_security_groups
- ec2_get_all_snapshots
- ec2_get_all_spot_instance_requests
- ec2_get_all_tags
- ec2_get_all_volume_status
- ec2_get_all_volumes
- ec2_get_all_zones
- ec2_get_console_output
- ec2_get_http_connection
- ec2_get_image
- ec2_get_image_attribute
- ec2_get_instance_attribute
- ec2_get_key_pair
- ec2_get_list
- ec2_get_object
- ec2_get_only_instances
- ec2_get_params
- ec2_get_password_data
- ec2_get_path
- ec2_get_proxy_auth_header
- ec2_get_proxy_url_with_auth
- ec2_get_snapshot_attribute
- ec2_get_spot_datafeed_subscription
- ec2_get_spot_price_history
- ec2_get_status
- ec2_get_utf8_value
- ec2_get_volume_attribute
- ec2_handle_proxy
- ec2_import_key_pair
- ec2_make_request
- ec2_modify_image_attribute
- ec2_modify_instance_attribute
- ec2_modify_network_interface_attribute
- ec2_modify_reserved_instances
- ec2_modify_snapshot_attribute
- ec2_modify_volume_attribute
- ec2_modify_vpc_attribute
- ec2_monitor_instance
- ec2_monitor_instances
- ec2_new_http_connection
- ec2_prefix_proxy_to_path
- ec2_proxy_ssl
- ec2_purchase_reserved_instance_offering
- ec2_put_http_connection
- ec2_reboot_instances
- ec2_register_image
- ec2_release_address
- ec2_request_spot_instances
- ec2_reset_image_attribute
- ec2_reset_instance_attribute
- ec2_reset_snapshot_attribute
- ec2_revoke_security_group
- ec2_revoke_security_group_deprecated
- ec2_revoke_security_group_egress
- ec2_run_instances
- ec2_server_name
- ec2_set_host_header
- ec2_set_request_hook
- ec2_skip_proxy
- ec2_start_instances
- ec2_stop_instances
- ec2_terminate_instances
- ec2_trim_snapshots
- ec2_unassign_private_ip_addresses
- ec2_unmonitor_instance
- ec2_unmonitor_instances
- ec2_wait_for_state
- sqs_add_permission.yaml
- sqs_build_base_http_request.yaml
- sqs_build_complex_list_params.yaml
- sqs_build_list_params.yaml
- sqs_change_message_visibility.yaml
- sqs_change_message_visibility_batch.yaml
- sqs_close.yaml
- sqs_create_queue.yaml
- sqs_delete_message.yaml
- sqs_delete_message_batch.yaml
- sqs_delete_message_from_handle.yaml
- sqs_delete_queue.yaml
- sqs_get_all_queues.yaml
- sqs_get_dead_letter_source_queues.yaml
- sqs_get_http_connection.yaml
- sqs_get_list.yaml
- sqs_get_object.yaml
- sqs_get_path.yaml
- sqs_get_proxy_auth_header.yaml
- sqs_get_proxy_url_with_auth.yaml
- sqs_get_queue.yaml
- sqs_get_queue_attributes.yaml
- sqs_get_status.yaml
- sqs_get_utf8_value.yaml
- sqs_handle_proxy.yaml
- sqs_lookup.yaml
- sqs_make_request.yaml
- sqs_new_http_connection.yaml
- sqs_prefix_proxy_to_path.yaml
- sqs_proxy_ssl.yaml
- sqs_purge_queue.yaml
- sqs_put_http_connection.yaml
- sqs_receive_message.yaml
- sqs_remove_permission.yaml
- sqs_send_message.yaml
- sqs_send_message_batch.yaml
- sqs_server_name.yaml
- sqs_set_host_header.yaml
- sqs_set_queue_attribute.yaml
- sqs_set_request_hook.yaml
- sqs_skip_proxy.yaml