neulab/tldr huggingface dataset:
salt.states.boto_iot.topic_rule_absent(name, ruleName, region=None, key=None, keyid=None, profile=None) Ensure topic rule with passed properties is absent.
ruleName Name of the policy.
salt.states.boto_iot.topic_rule_present(name, ruleName, sql, actions, description='', ruleDisabled=False, region=None, key=None, keyid=None, profile=None) Ensure topic rule exists.
ruleName Name of the rule.
sql    The SQL statement used to query the topic.
actions The actions associated with the rule.
description The description of the rule.
ruleDisable Specifies whether the rule is disabled.
salt.states.boto_kinesis Manage Kinesis Streams New in version 2017.7.0.
Create and destroy Kinesis streams. Be aware that this interacts with Amazon's services, and so may incur charges.
This module accepts explicit Kinesis credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More information available here.
Ensure Kinesis stream does not exist: boto_kinesis.absent: - name: new_stream - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs - region: us-east-1
Ensure Kinesis stream exists: boto_kinesis.present: - name: new_stream - retention_hours: 168 - enhanced_monitoring: ['ALL'] - num_shards: 2 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs - region: us-east-1
salt.states.boto_kinesis.absent(name, region=None, key=None, keyid=None, profile=None) Delete the kinesis stream, if it exists.
name (string) Stream name
salt.states.boto_kinesis.present(name, retention_hours=None, enhanced_monitoring=None, num_shards=None, do_reshard=True, region=None, key=None, keyid=None, profile=None) Ensure the kinesis stream is properly configured and scaled.
retention_hours (int) Retain data for this many hours.  AWS allows minimum 24 hours, maximum 168 hours.
enhanced_monitoring (list of string) Turn on enhanced monitoring for the specified shard-level metrics.  Pass in ['ALL'] or True for all metrics, [] or False for no metrics.  Turn on individual metrics by passing in a list: ['IncomingBytes', 'OutgoingBytes'] Note that if only some metrics are supplied, the remaining metrics will be turned off.
num_shards (int) Reshard stream (if necessary) to this number of shards !!!!! Resharding is expensive! Each split or merge can take up to 30 seconds, and the reshard method balances the partition space evenly.  Resharding from N to N+1 can require 2N operations.  Resharding is much faster with powers of 2 (e.g. 2^N to 2^N+1) !!!!!
do_reshard (boolean) If set to False, this script will NEVER reshard the stream, regardless of other input. Useful for testing.
salt.states.boto_kms Manage KMS keys, key policies and grants.
This module accepts explicit kms credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More information available here.
Ensure mykey key exists: boto_kms.key_present: - name: mykey - region: us-east-1
# Using a profile from pillars Ensure mykey key exists: boto_kms.key_present: - name: mykey - region: us-east-1 - profile: myprofile
# Passing in a profile Ensure mykey key exists: boto_key.key_present: - name: mykey - region: us-east-1 - profile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
salt.states.boto_kms.key_present(name, policy, description=None, key_usage=None, grants=None, manage_grants=False, key_rotation=False, enabled=True, region=None, key=None, keyid=None, profile=None) Ensure the KMS key exists. KMS keys can not be deleted, so this function must be used to ensure the key is enabled or disabled.
name   Name of the key.
policy Key usage policy.
key_usage Specifies the intended use of the key. Can only be set on creation, defaults to ENCRYPT_DECRYPT, which is also the only supported option.
grants A list of grants to apply to the key. Not currently implemented.
manage_grants Whether or not to manage grants. False by default, which will not manage any grants.
key_rotation Whether or not key rotation is enabled for the key. False by default.
enabled Whether or not the key is enabled. True by default.
salt.states.boto_lambda Manage Lambda Functions New in version 2016.3.0.
Create and destroy Lambda Functions. Be aware that this interacts with Amazon's services, and so may incur charges.
Ensure function exists: boto_lambda.function_present: - FunctionName: myfunction - Runtime: python2.7 - Role: iam_role_name - Handler: entry_function - ZipFile: code.zip - S3Bucket: bucketname - S3Key: keyname - S3ObjectVersion: version - Description: "My Lambda Function" - Timeout: 3 - MemorySize: 128 - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
salt.states.boto_lambda.alias_absent(name, FunctionName, Name, region=None, key=None, keyid=None, profile=None) Ensure alias with passed properties is absent.
FunctionName Name of the function.
Name   Name of the alias.
salt.states.boto_lambda.alias_present(name, FunctionName, Name, FunctionVersion, Description='', region=None, key=None, keyid=None, profile=None) Ensure alias exists.
FunctionName Name of the function for which you want to create an alias.
Name   The name of the alias to be created.
FunctionVersion Function version for which you are creating the alias.
Description A short, user-defined function description. Lambda does not use this value. Assign a meaningful description as you see fit.
salt.states.boto_lambda.event_source_mapping_absent(name, EventSourceArn, FunctionName, region=None, key=None, keyid=None, profile=None) Ensure event source mapping with passed properties is absent.
EventSourceArn ARN of the event source.
FunctionName Name of the lambda function.
salt.states.boto_lambda.event_source_mapping_present(name, EventSourceArn, FunctionName, StartingPosition, Enabled=True, BatchSize=100, region=None, key=None, keyid=None, profile=None) Ensure event source mapping exists.
EventSourceArn The Amazon Resource Name (ARN) of the Amazon Kinesis or the Amazon DynamoDB stream that is the event source.
FunctionName The Lambda function to invoke when AWS Lambda detects an event on the stream.
You can specify an unqualified function name (for example, "Thumbnail") or you can specify Amazon Resource Name (ARN) of the function (for example, "arn:aws:lambda:us-west-2:account-id:function:ThumbNail"). AWS Lambda also allows you to specify only the account ID qualifier (for example, "account-id:Thumbnail"). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.
StartingPosition The position in the stream where AWS Lambda should start reading.  (TRIM_HORIZON | LATEST)
Enabled Indicates whether AWS Lambda should begin polling the event source. By default, Enabled is true.
BatchSize The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function. Your function receives an event with all the retrieved records. The default is 100 records.
salt.states.boto_lambda.function_absent(name, FunctionName, region=None, key=None, keyid=None, profile=None) Ensure function with passed properties is absent.
salt.states.boto_lambda.function_present(name, FunctionName, Runtime, Role, Handler, ZipFile=None, S3Bucket=None, S3Key=None, S3ObjectVersion=None, Description='', Timeout=3, MemorySize=128, Permissions=None, RoleRetries=5, region=None, key=None, keyid=None, profile=None, VpcConfig=None, Environment=None) Ensure function exists.
FunctionName Name of the Function.
Runtime The Runtime environment for the function. One of 'nodejs', 'java8', or 'python2.7'
Role   The name or ARN of the IAM role that the function assumes when it executes your function to access any other AWS resources.
Handler The function within your code that Lambda calls to begin execution. For Node.js it is the module-name.*export* value in your function. For Java, it can be package.classname::handler or package.class-name.
ZipFile A path to a .zip file containing your deployment package. If this is specified, S3Bucket and S3Key must not be specified.
S3Bucket Amazon S3 bucket name where the .zip file containing your package is stored. If this is specified, S3Key must be specified and ZipFile must NOT be specified.
S3Key  The Amazon S3 object (the deployment package) key name you want to upload. If this is specified, S3Key must be specified and ZipFile must NOT be specified.
S3ObjectVersion The version of S3 object to use. Optional, should only be specified if S3Bucket and S3Key are specified.
Timeout The function execution time at which Lambda should terminate this function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time.  The default is 3 seconds.
MemorySize The amount of memory, in MB, your function is given. Lambda uses this memory size to infer the amount of CPU and memory allocated to your function. Your function use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.
VpcConfig If your Lambda function accesses resources in a VPC, you must provide this parameter identifying the list of security group IDs/Names and subnet IDs/Name.  These must all belong to the same VPC.  This is a dict of the form:
VpcConfig: SecurityGroupNames: - mysecgroup1 - mysecgroup2 SecurityGroupIds: - sg-abcdef1234 SubnetNames: - mysubnet1 SubnetIds: - subnet-1234abcd - subnet-abcd1234
If VpcConfig is provided at all, you MUST pass at least one security group and one subnet.
Permissions A list of permission definitions to be added to the function's policy
RoleRetries IAM Roles may take some time to propagate to all regions once created.  During that time function creation may fail; this state will atuomatically retry this number of times. The default is 5.
Environment The parent object that contains your environment's configuration settings.  This is a dictionary of the form:
salt.states.boto_lc Manage Launch Configurations
Create and destroy Launch Configurations. Be aware that this interacts with Amazon's services, and so may incur charges.
A limitation of this module is that you can not modify launch configurations once they have been created. If a launch configuration with the specified name exists, this module will always report success, even if the specified configuration doesn't match. This is due to a limitation in Amazon's launch configuration API, as it only allows launch configurations to be created and deleted.
Also note that a launch configuration that's in use by an autoscale group can not be deleted until the autoscale group is no longer using it. This may affect the way in which you want to order your states.
This module accepts explicit autoscale credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More information available here.
Credential information is shared with autoscale groups as launch configurations and autoscale groups are completely dependent on each other.
Ensure mylc exists: boto_lc.present: - name: mylc - image_id: ami-0b9c9f62 - key_name: mykey - security_groups: - mygroup - instance_type: m1.small - instance_monitoring: true - block_device_mappings: - '/dev/sda1': size: 20 volume_type: 'io1' iops: 220 delete_on_termination: true - cloud_init: boothooks: 'disable-master.sh': | #!/bin/bash echo "manual" > /etc/init/salt-master.override scripts: 'run_salt.sh': | #!/bin/bash
add-apt-repository -y ppa:saltstack/salt apt-get update apt-get install -y salt-minion salt-call state.highstate - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
# Using a profile from pillars. Ensure mylc exists: boto_lc.present: - name: mylc - image_id: ami-0b9c9f62 - profile: myprofile
# Passing in a profile. Ensure mylc exists: boto_lc.present: - name: mylc - image_id: ami-0b9c9f62 - profile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs region: us-east-1
salt.states.boto_lc.absent(name, region=None, key=None, keyid=None, profile=None) Ensure the named launch configuration is deleted.
name   Name of the launch configuration.
salt.states.boto_lc.present(name, image_id, key_name=None, vpc_id=None, vpc_name=None, security_groups=None, user_data=None, cloud_init=None, instance_type='m1.small', kernel_id=None, ramdisk_id=None, block_device_mappings=None, delete_on_termination=None, instance_monitoring=False, spot_price=None, instance_profile_name=None, ebs_optimized=False, associate_public_ip_address=None, region=None, key=None, keyid=None, profile=None) Ensure the launch configuration exists.
image_id AMI to use for instances. AMI must exist or creation of the launch configuration will fail.
key_name Name of the EC2 key pair to use for instances. Key must exist or creation of the launch configuration will fail.
vpc_id The VPC id where the security groups are defined. Only necessary when using named security groups that exist outside of the default VPC.  Mutually exclusive with vpc_name.
vpc_name Name of the VPC where the security groups are defined. Only Necessary when using named security groups that exist outside of the default VPC.  Mutually exclusive with vpc_id.
security_groups List of Names or security group id’s of the security groups with which to associate the EC2 instances or VPC instances, respectively. Security groups must exist, or creation of the launch configuration will fail.
user_data The user data available to launched EC2 instances.
cloud_init A dict of cloud_init configuration. Currently supported keys: boothooks, scripts and cloud-config.  Mutually exclusive with user_data.
instance_type The instance type. ex: m1.small.
kernel_id The kernel id for the instance.
ramdisk_id The RAM disk ID for the instance.
block_device_mappings A dict of block device mappings that contains a dict with volume_type, delete_on_termination, iops, size, encrypted, snapshot_id.
volume_type Indicates what volume type to use. Valid values are standard, io1, gp2.  Default is standard.
delete_on_termination Whether the volume should be explicitly marked for deletion when its instance is terminated (True), or left around (False).  If not provided, or None is explicitly passed, the default AWS behaviour is used, which is True for ROOT volumes of instances, and False for all others.
iops   For Provisioned IOPS (SSD) volumes only. The number of I/O operations per second (IOPS) to provision for the volume.
size   Desired volume size (in GiB).
encrypted Indicates whether the volume should be encrypted. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or an unencrypted volume from an encrypted snapshot.
instance_monitoring Whether instances in group are launched with detailed monitoring.
spot_price The spot price you are bidding. Only applies if you are building an autoscaling group with spot instances.
instance_profile_name The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. Instance profile must exist or the creation of the launch configuration will fail.
ebs_optimized Specifies whether the instance is optimized for EBS I/O (true) or not (false).
associate_public_ip_address Used for Auto Scaling groups that launch instances into an Amazon Virtual Private Cloud. Specifies whether to assign a public IP address to each instance launched in a Amazon VPC.
salt.states.boto_rds Manage RDSs New in version 2015.8.0.
Create and destroy RDS instances. Be aware that this interacts with Amazon's services, and so may incur charges.
This module accepts explicit rds credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More information available here.
Ensure myrds RDS exists: boto_rds.present: - name: myrds - allocated_storage: 5 - storage_type: standard - db_instance_class: db.t2.micro - engine: MySQL - master_username: myuser - master_user_password: mypass - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs - tags: key: value
Ensure parameter group exists: create-parameter-group: boto_rds.parameter_present: - name: myparametergroup - db_parameter_group_family: mysql5.6 - description: "parameter group family" - parameters: - binlog_cache_size: 32768 - binlog_checksum: CRC32 - region: eu-west-1
salt.states.boto_rds.absent(name, skip_final_snapshot=None, final_db_snapshot_identifier=None, tags=None, wait_for_deletion=True, timeout=180, region=None, key=None, keyid=None, profile=None) Ensure RDS instance is absent.
name   Name of the RDS instance.
skip_final_snapshot Whether a final db snapshot is created before the instance is deleted.  If True, no snapshot is created.  If False, a snapshot is created before deleting the instance.
final_db_snapshot_identifier If a final snapshot is requested, this is the identifier used for that snapshot.
tags   A dict of tags.
wait_for_deletion (bool) Wait for the RDS instance to be deleted completely before finishing the state.
timeout (in seconds) The amount of time that can pass before raising an Exception.
salt.states.boto_rds.parameter_present(name, db_parameter_group_family, description, parameters=None, apply_method='pending-reboot', tags=None, region=None, key=None, keyid=None, profile=None) Ensure DB parameter group exists and update parameters.
name   The name for the parameter group.
db_parameter_group_family The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.
description Parameter group description.
parameters The DB parameters that need to be changed of type dictionary.
apply_method The apply-immediate method can be used only for dynamic parameters; the pending-reboot method can be used with MySQL and Oracle DB instances for either dynamic or static parameters. For Microsoft SQL Server DB instances, the pending-reboot method can be used only for static parameters.
salt.states.boto_rds.present(name, allocated_storage, db_instance_class, engine, master_username, master_user_password, db_name=None, storage_type=None, db_security_groups=None, vpc_security_group_ids=None, vpc_security_groups=None, availability_zone=None, db_subnet_group_name=None, preferred_maintenance_window=None, db_parameter_group_name=None, db_cluster_identifier=None, tde_credential_arn=None, tde_credential_password=None, storage_encrypted=None, kms_keyid=None, backup_retention_period=None, preferred_backup_window=None, port=None, multi_az=None, engine_version=None, auto_minor_version_upgrade=None, license_model=None, iops=None, option_group_name=None, character_set_name=None, publicly_accessible=None, wait_status=None, tags=None, copy_tags_to_snapshot=None, region=None, domain=None, key=None, keyid=None, monitoring_interval=None, monitoring_role_arn=None, domain_iam_role_name=None, promotion_tier=None, profile=None) Ensure RDS instance exists.
name   Name of the RDS state definition.
allocated_storage The amount of storage (in gigabytes) to be initially allocated for the database instance.
db_instance_class The compute and memory capacity of the Amazon RDS DB instance.
engine The name of the database engine to be used for this instance. Supported engine types are: MySQL, mariadb, oracle-se1, oracle-se, oracle-ee, sqlserver-ee, sqlserver-se, sqlserver-ex, sqlserver-web, postgres and aurora. For more information, please see the engine argument in the Boto3 RDS create_db_instance documentation.
master_username The name of master user for the client DB instance.
master_user_password The password for the master database user. Can be any printable ASCII character except "/", '"', or "@".
db_name The meaning of this parameter differs according to the database engine you use.  See the Boto3 RDS documentation to determine the appropriate value for your configuration. https://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.create_db_instance
storage_type Specifies the storage type to be associated with the DB instance.  Options are standard, gp2 and io1. If you specify io1, you must also include a value for the Iops parameter.
db_security_groups A list of DB security groups to associate with this DB instance.
vpc_security_group_ids A list of EC2 VPC security group IDs to associate with this DB instance.
vpc_security_groups A list of EC2 VPC security groups (IDs or Name tags) to associate with this DB instance.
availability_zone The EC2 Availability Zone that the database instance will be created in.
db_subnet_group_name A DB subnet group to associate with this DB instance.
preferred_maintenance_window The weekly time range (in UTC) during which system maintenance can occur.
db_parameter_group_name A DB parameter group to associate with this DB instance.
db_cluster_identifier If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.
tde_credential_arn The ARN from the Key Store with which the instance is associated for TDE encryption.
tde_credential_password The password to use for TDE encryption if an encryption key is not used.
storage_encrypted Specifies whether the DB instance is encrypted.
kms_keyid If storage_encrypted is true, the KMS key identifier for the encrypted DB instance.
backup_retention_period The number of days for which automated backups are retained.
preferred_backup_window The daily time range during which automated backups are created if automated backups are enabled.
port   The port number on which the database accepts connections.
multi_az Specifies if the DB instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true.
engine_version The version number of the database engine to use.
auto_minor_version_upgrade Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window.
license_model License model information for this DB instance.
iops   The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.
option_group_name Indicates that the DB instance should be associated with the specified option group.
character_set_name For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.
publicly_accessible Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.
wait_status Wait for the RDS instance to reach a desired status before finishing the state. Available states: available, modifying, backing-up
copy_tags_to_snapshot Specifies whether tags are copied from the DB instance to snapshots of the DB instance.
domain The identifier of the Active Directory Domain.
key    AWS secret key to be used.
keyid  AWS access key to be used.
monitoring_interval The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.
monitoring_role_arn The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to CloudWatch Logs.
domain_iam_role_name Specify the name of the IAM role to be used when making API calls to the Directory Service.
promotion_tier A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster .
salt.states.boto_rds.replica_present(name, source, db_instance_class=None, availability_zone=None, port=None, auto_minor_version_upgrade=None, iops=None, option_group_name=None, publicly_accessible=None, tags=None, region=None, key=None, keyid=None, profile=None, db_parameter_group_name=None) Ensure RDS replica exists.
Ensure myrds replica RDS exists: boto_rds.create_replica: - name: myreplica - source: mydb
salt.states.boto_rds.subnet_group_absent(name, tags=None, region=None, key=None, keyid=None, profile=None)
salt.states.boto_rds.subnet_group_present(name, description, subnet_ids=None, subnet_names=None, tags=None, region=None, key=None, keyid=None, profile=None) Ensure DB subnet group exists.
name   The name for the DB subnet group. This value is stored as a lowercase string.
subnet_ids A list of the EC2 Subnet IDs for the DB subnet group. Either subnet_ids or subnet_names must be provided.
subnet_names A list of The EC2 Subnet names for the DB subnet group. Either subnet_ids or subnet_names must be provided.
salt.states.boto_route53 Manage Route53 records
mycnamerecord: boto_route53.present: - name: test.example.com. - value: my-elb.us-east-1.elb.amazonaws.com. - zone: example.com. - ttl: 60 - record_type: CNAME - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
# Using a profile from pillars myarecord: boto_route53.present: - name: test.example.com. - value: 1.1.1.1 - zone: example.com. - ttl: 60 - record_type: A - region: us-east-1 - profile: myprofile
# Passing in a profile myarecord: boto_route53.present: - name: test.example.com. - value: 1.1.1.1 - zone: example.com. - ttl: 60 - record_type: A - region: us-east-1 - profile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
salt.states.boto_route53.absent(name, zone, record_type, identifier=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False) Ensure the Route53 record is deleted.
name   Name of the record.
zone   The zone to delete the record from.
record_type The record type (A, NS, MX, TXT, etc.)
identifier An identifier to match for deletion.
split_dns Route53 supports a public and private DNS zone with the same names.
private_zone If using split_dns, specify if this is the private zone.
salt.states.boto_route53.hosted_zone_absent(name, domain_name=None, region=None, key=None, keyid=None, profile=None) Ensure the Route53 Hostes Zone described is absent
domain_name The FQDN (including final period) of the zone you wish absent.  If not provided, the value of name will be used.
salt.states.boto_route53.hosted_zone_present(name, domain_name=None, private_zone=False, caller_ref=None, comment='', vpc_id=None, vpc_name=None, vpc_region=None, region=None, key=None, keyid=None, profile=None) Ensure a hosted zone exists with the given attributes. Note that most things cannot be modified once a zone is created - it must be deleted and re-spun to update these attributes:
• private_zone (AWS API limitation).
• comment (the appropriate call exists in the AWS API and in boto3, but has not, as of this writing, been added to boto2).
• vpc_id (same story - we really need to rewrite this module with boto3)
• vpc_name (really just a pointer to vpc_id anyway).
• vpc_region (again, supported in boto3 but not boto2).
If you need the ability to update these attributes, please use the newer boto3_route53 module instead.
domain_name The name of the domain. This must be fully-qualified, terminating with a period.  This is the name you have registered with your domain registrar.  It is also the name you will delegate from your registrar to the Amazon Route 53 delegation servers returned in response to this request. Defaults to the value of name if not provided.
caller_ref A unique string that identifies the request and that allows create_hosted_zone() calls to be retried without the risk of executing the operation twice.  This helps ensure idempotency across state calls, but can cause issues if a zone is deleted and then an attempt is made to recreate it with the same caller_ref.  If not provided, a unique UUID will be generated at each state run, which avoids the risk of the above (transient) error.  This option is generally not needed.  Maximum length of 128.
salt.states.boto_route53.present(name, value, zone, record_type, ttl=None, identifier=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False) Ensure the Route53 record is present.
Value of the record. As a special case, you can pass in: private:<Name tag> to have the function autodetermine the private IP public:<Name tag> to have the function autodetermine the public IP
zone   The zone to create the record in.
ttl    The time to live for the record.
identifier The unique identifier to use for this record.
wait_for_sync Wait for an INSYNC change status from Route53 before returning success.
split_dns Route53 supports parallel public and private DNS zones with the same name.
salt.states.boto_route53.rr_absent(*args, **kwargs)
salt.states.boto_route53.rr_present(*args, **kwargs)
salt.states.boto_s3 Manage S3 Resources New in version 2018.3.0.
Manage S3 resources. Be aware that this interacts with Amazon's services, and so may incur charges.
Ensure s3 object exists: boto_s3.object_present: - name: s3-bucket/s3-key - source: /path/to/local/file - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs - profile: my-profile
salt.states.boto_s3.object_present(name, source=None, hash_type=None, extra_args=None, extra_args_from_pillar='boto_s3_object_extra_args', region=None, key=None, keyid=None, profile=None) Ensure object exists in S3.
name   The name of the state definition.  This will be used to determine the location of the object in S3, by splitting on the first slash and using the first part as the bucket name and the remainder as the S3 key.
source The source file to upload to S3, currently this only supports files hosted on the minion's local file system (starting with /).
hash_type Hash algorithm to use to check that the object contents are correct.  Defaults to the value of the hash_type config option.
extra_args A dictionary of extra arguments to use when uploading the file.  Note that these are only enforced if new objects are uploaded, and not modified on existing objects.  The supported args are those in the ALLOWED_UPLOAD_ARGS list at http://boto3.readthedocs.io/en/latest/reference/customizations/s3.html. However, Note that the 'ACL', 'GrantFullControl', 'GrantRead', 'GrantReadACP',  and 'GrantWriteACL' keys are currently not supported.
extra_args_from_pillar Name of pillar dict that contains extra arguments.  Extra arguments defined for this specific state will be merged over those from the pillar.
salt.states.boto_s3_bucket Manage S3 Buckets New in version 2016.3.0.
Create and destroy S3 buckets. Be aware that this interacts with Amazon's services, and so may incur charges.
Ensure bucket exists: boto_s3_bucket.present: - Bucket: mybucket - LocationConstraint: EU - ACL: - GrantRead: "uri=http://acs.amazonaws.com/groups/global/AllUsers" - CORSRules: - AllowedHeaders: [] AllowedMethods: ["GET"] AllowedOrigins: ["*"] ExposeHeaders: [] MaxAgeSeconds: 123 - LifecycleConfiguration: - Expiration: Days: 123 ID: "idstring" Prefix: "prefixstring" Status: "enabled", ID: "lc1" Transitions: - Days: 123 StorageClass: "GLACIER" NoncurrentVersionTransitions: - NoncurrentDays: 123 StorageClass: "GLACIER" NoncurrentVersionExpiration: NoncurrentDays: 123 - Logging: TargetBucket: log_bucket TargetPrefix: prefix TargetGrants: - Grantee: DisplayName: "string" EmailAddress: "string" ID: "string" Type: "AmazonCustomerByEmail" URI: "string" Permission: "READ" - NotificationConfiguration: LambdaFunctionConfiguration: - Id: "string" LambdaFunctionArn: "string" Events: - "s3:ObjectCreated:*" Filter: Key: FilterRules: - Name: "prefix" Value: "string" - Policy: Version: "2012-10-17" Statement: - Sid: "String" Effect: "Allow" Principal: AWS: "arn:aws:iam::133434421342:root" Action: "s3:PutObject" Resource: "arn:aws:s3:::my-bucket/*" - Replication: Role: myrole Rules: - ID: "string" Prefix: "string" Status: "Enabled" Destination: Bucket: "arn:aws:s3:::my-bucket" - RequestPayment: Payer: Requester - Tagging: tag_name: tag_value tag_name_2: tag_value - Versioning: Status: "Enabled" - Website: ErrorDocument: Key: "error.html" IndexDocument: Suffix: "index.html" RedirectAllRequestsTo: Hostname: "string" Protocol: "http" RoutingRules: - Condition: HttpErrorCodeReturnedEquals: "string" KeyPrefixEquals: "string" Redirect: HostName: "string" HttpRedirectCode: "string" Protocol: "http" ReplaceKeyPrefixWith: "string" ReplaceKeyWith: "string" - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
salt.states.boto_s3_bucket.absent(name, Bucket, Force=False, region=None, key=None, keyid=None, profile=None) Ensure bucket with passed properties is absent.
Bucket Name of the bucket.
Force  Empty the bucket first if necessary - Boolean.
salt.states.boto_s3_bucket.present(name, Bucket, LocationConstraint=None, ACL=None, CORSRules=None, LifecycleConfiguration=None, Logging=None, NotificationConfiguration=None, Policy=None, Replication=None, RequestPayment=None, Tagging=None, Versioning=None, Website=None, region=None, key=None, keyid=None, profile=None) Ensure bucket exists.
LocationConstraint 'EU'|'eu-west-1'|'us-west-1'|'us-west-2'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1'|'eu-central-1'
ACL    The permissions on a bucket using access control lists (ACL).
CORSRules The cors configuration for a bucket.
LifecycleConfiguration Lifecycle configuration for your bucket
Logging The logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters.
NotificationConfiguration notifications of specified events for a bucket
Policy Policy on the bucket
Replication Replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB
RequestPayment The request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download
Tagging A dictionary of tags that should be set on the bucket
Versioning The versioning state of the bucket
Website The website configuration of the bucket
salt.states.boto_secgroup Manage Security Groups New in version 2014.7.0.
Create and destroy Security Groups. Be aware that this interacts with Amazon's services, and so may incur charges.
This module accepts explicit EC2 credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More information available here.
Ensure mysecgroup exists: boto_secgroup.present: - name: mysecgroup - description: My security group - vpc_name: myvpc - rules: - ip_protocol: tcp from_port: 80 to_port: 80 cidr_ip: - 10.0.0.0/8 - 192.168.0.0/16 - ip_protocol: tcp from_port: 8080 to_port: 8090 cidr_ip: - 10.0.0.0/8 - 192.168.0.0/16 - ip_protocol: icmp from_port: -1 to_port: -1 source_group_name: mysecgroup - ip_protocol: tcp from_port: 8080 to_port: 8080 source_group_name: MyOtherSecGroup source_group_name_vpc: MyPeeredVPC - rules_egress: - ip_protocol: all from_port: -1 to_port: -1 cidr_ip: - 10.0.0.0/8 - 192.168.0.0/16 - tags: SomeTag: 'My Tag Value' SomeOtherTag: 'Other Tag Value' - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
# Using a profile from pillars Ensure mysecgroup exists: boto_secgroup.present: - name: mysecgroup - description: My security group - profile: myprofile
# Passing in a profile Ensure mysecgroup exists: boto_secgroup.present: - name: mysecgroup - description: My security group - profile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs region: us-east-1
salt.states.boto_secgroup.absent(name, vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) Ensure a security group with the specified name does not exist.
name   Name of the security group.
vpc_id The ID of the VPC to remove the security group from, if any. Exclusive with vpc_name.
vpc_name The name of the VPC to remove the security group from, if any. Exclusive with vpc_name.
salt.states.boto_secgroup.present(name, description, vpc_id=None, vpc_name=None, rules=None, rules_egress=None, delete_ingress_rules=True, delete_egress_rules=True, region=None, key=None, keyid=None, profile=None, tags=None) Ensure the security group exists with the specified rules.
description A description of this security group.
vpc_id The ID of the VPC to create the security group in, if any. Exclusive with vpc_name.
vpc_name The name of the VPC to create the security group in, if any. Exclusive with vpc_id.
rules  A list of ingress rule dicts. If not specified, rules=None, the ingress rules will be unmanaged. If set to an empty list, [], then all ingress rules will be removed.
rules_egress A list of egress rule dicts. If not specified, rules_egress=None, the egress rules will be unmanaged. If set to an empty list, [], then all egress rules will be removed.
delete_ingress_rules Some tools (EMR comes to mind) insist on adding rules on-the-fly, which salt will happily remove on the next run. Set this param to False to avoid deleting rules which were added outside of salt.
delete_egress_rules Some tools (EMR comes to mind) insist on adding rules on-the-fly, which salt will happily remove on the next run. Set this param to False to avoid deleting rules which were added outside of salt.
profile A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key, and keyid.
tags   List of key:value pairs of tags to set on the security group
salt.states.boto_sns Manage SNS Topics
Create and destroy SNS topics. Be aware that this interacts with Amazon's services, and so may incur charges.
mytopic: boto_sns.present: - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
# Using a profile from pillars mytopic: boto_sns.present: - region: us-east-1 - profile: mysnsprofile
# Passing in a profile mytopic: boto_sns.present: - region: us-east-1 - profile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
salt.states.boto_sns.absent(name, region=None, key=None, keyid=None, profile=None, unsubscribe=False) Ensure the named sns topic is deleted.
salt.states.boto_sns.present(name, subscriptions=None, region=None, key=None, keyid=None, profile=None) Ensure the SNS topic exists.
[ {'protocol': 'https', 'endpoint': 'https://www.example.com/sns-endpoint'}, {'protocol': 'sqs', 'endpoint': 'arn:aws:sqs:us-west-2:123456789012:MyQueue'} ]
salt.states.boto_sqs Manage SQS Queues
This module accepts explicit SQS credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More information available here.
myqueue: boto_sqs.present: - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs - attributes: ReceiveMessageWaitTimeSeconds: 20
# Using a profile from pillars myqueue: boto_sqs.present: - region: us-east-1 - profile: mysqsprofile
# Passing in a profile myqueue: boto_sqs.present: - region: us-east-1 - profile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
salt.states.boto_sqs.absent(name, region=None, key=None, keyid=None, profile=None) Ensure the named sqs queue is deleted.
salt.states.boto_sqs.present(name, attributes=None, region=None, key=None, keyid=None, profile=None) Ensure the SQS queue exists.
attributes A dict of key/value SQS attributes.
salt.states.boto_vpc Manage VPCs New in version 2015.8.0.
Create and destroy VPCs. Be aware that this interacts with Amazon's services, and so may incur charges.
Ensure VPC exists: boto_vpc.present: - name: myvpc - cidr_block: 10.10.11.0/24 - dns_hostnames: True - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
Ensure subnet exists: boto_vpc.subnet_present: - name: mysubnet - vpc_id: vpc-123456 - cidr_block: 10.0.0.0/16 - region: us-east-1 - profile: myprofile
{% set profile = salt['pillar.get']('aws:region:us-east-1:profile' ) %} Ensure internet gateway exists: boto_vpc.internet_gateway_present: - name: myigw - vpc_name: myvpc - profile: {{ profile }}
Ensure route table exists: boto_vpc.route_table_present: - name: my_route_table - vpc_id: vpc-123456 - routes: - destination_cidr_block: 0.0.0.0/0 instance_id: i-123456 - subnet_names: - subnet1 - subnet2 - region: us-east-1 - profile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
Request, accept and delete VPC peering connections.  VPC peering connections can be named allowing the name to be used throughout the state file. Following example shows how to request and accept a VPC peering connection.
accept the vpc peering connection: boto_vpc.accept_vpc_peering_connection: - conn_name: salt_vpc_peering - region: us-west-2 - require: - boto_vpc: request a vpc peering connection
request a vpc peering connection: boto_vpc.request_vpc_peering_connection: - requester_vpc_id: vpc-4a3d522e - peer_vpc_id: vpc-ae81e9ca - region: us-west-2 - conn_name: salt_vpc_peering
VPC peering connections need not be named. In this case the VPC peering connection ID should be used in the state file.
accept the vpc peering connection: boto_vpc.accept_vpc_peering_connection: - conn_id: pcx-1873c371 - region: us-west-2
VPC peering connections can be deleted, as shown below.
delete a named vpc peering connection: boto_vpc.delete_vpc_peering_connection: - conn_name: salt_vpc_peering
Delete also accepts a VPC peering connection id.
delete a vpc peering connection by id: boto_vpc.delete_vpc_peering_connection: - conn_id: pcx-1873c371
salt.states.boto_vpc.absent(name, tags=None, region=None, key=None, keyid=None, profile=None) Ensure VPC with passed properties is absent.
name   Name of the VPC.
tags   A list of tags. All tags must match.
salt.states.boto_vpc.accept_vpc_peering_connection(name=None, conn_id=None, conn_name=None, region=None, key=None, keyid=None, profile=None) Accept a VPC pending requested peering connection between two VPCs.
name   Name of this state
conn_id The connection ID to accept. Exclusive with conn_name. String type.
conn_name The name of the VPC peering connection to accept. Exclusive with conn_id. String type.
boto_vpc.accept_vpc_peering_connection: - conn_name: salt_peering_connection
# usage with vpc peering connection id and region boto_vpc.accept_vpc_peering_connection: - conn_id: pbx-1873d472 - region: us-west-2
salt.states.boto_vpc.delete_vpc_peering_connection(name, conn_id=None, conn_name=None, region=None, key=None, keyid=None, profile=None)
name   Name of the state
conn_id ID of the peering connection to delete.  Exclusive with conn_name.
conn_name The name of the peering connection to delete.  Exclusive with conn_id.
delete a vpc peering connection: boto_vpc.delete_vpc_peering_connection: - region: us-west-2 - conn_id: pcx-4613b12e
Connection name can be specified (instead of ID).  Specifying both conn_name and conn_id will result in an error.
delete a vpc peering connection: boto_vpc.delete_vpc_peering_connection: - conn_name: salt_vpc_peering
salt.states.boto_vpc.dhcp_options_absent(name=None, dhcp_options_id=None, region=None, key=None, keyid=None, profile=None) Ensure a set of DHCP options with the given settings exist.
name   (string) Name of the DHCP options set.
dhcp_options_id (string) Id of the DHCP options set.
key    (string) Secret key to be used.
keyid  (string) Access key to be used.
profile (various) A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid.
salt.states.boto_vpc.dhcp_options_present(name, dhcp_options_id=None, vpc_name=None, vpc_id=None, domain_name=None, domain_name_servers=None, ntp_servers=None, netbios_name_servers=None, netbios_node_type=None, tags=None, region=None, key=None, keyid=None, profile=None) Ensure a set of DHCP options with the given settings exist.  Note that the current implementation only SETS values during option set creation.  It is unable to update option sets in place, and thus merely verifies the set exists via the given name and/or dhcp_options_id param.
name   (string) Name of the DHCP options.
vpc_name (string) Name of a VPC to which the options should be associated.  Either vpc_name or vpc_id must be provided.
vpc_id (string) Id of a VPC to which the options should be associated.  Either vpc_name or vpc_id must be provided.
domain_name (string) Domain name to be assiciated with this option set.
domain_name_servers (list of strings) The IP address(es) of up to four domain name servers.
ntp_servers (list of strings) The IP address(es) of up to four desired NTP servers.
netbios_name_servers (list of strings) The IP address(es) of up to four NetBIOS name servers.
netbios_node_type (string) The NetBIOS node type (1, 2, 4, or 8).  For more information about the allowed values, see RFC 2132.  The recommended is 2 at this time (broadcast and multicast are currently not supported).
tags   (dict of key:value pairs) A set of tags to be added.
salt.states.boto_vpc.internet_gateway_absent(name, detach=False, region=None, key=None, keyid=None, profile=None) Ensure the named internet gateway is absent.
name   Name of the internet gateway.
detach First detach the internet gateway from a VPC, if attached.
salt.states.boto_vpc.internet_gateway_present(name, vpc_name=None, vpc_id=None, tags=None, region=None, key=None, keyid=None, profile=None) Ensure an internet gateway exists.
vpc_name Name of the VPC to which the internet gateway should be attached.
vpc_id Id of the VPC to which the internet_gateway should be attached.  Only one of vpc_name or vpc_id may be provided.
salt.states.boto_vpc.nat_gateway_absent(name=None, subnet_name=None, subnet_id=None, region=None, key=None, keyid=None, profile=None, wait_for_delete_retries=0) Ensure the nat gateway in the named subnet is absent.
This function requires boto3.
name   Name of the state.
subnet_name Name of the subnet within which the nat gateway should exist
subnet_id Id of the subnet within which the nat gateway should exist. Either subnet_name or subnet_id must be provided.
wait_for_delete_retries NAT gateway may take some time to be go into deleted or failed state.  During the deletion process, subsequent release of elastic IPs may fail; this state will automatically retry this number of times to ensure the NAT gateway is in deleted or failed state before proceeding. Default is set to 0 for backward compatibility.
salt.states.boto_vpc.nat_gateway_present(name, subnet_name=None, subnet_id=None, region=None, key=None, keyid=None, profile=None, allocation_id=None) Ensure a nat gateway exists within the specified subnet
boto_vpc.nat_gateway_present: - subnet_name: my-subnet
allocation_id If specified, the elastic IP address referenced by the ID is associated with the gateway. Otherwise, a new allocation_id is created and used.
salt.states.boto_vpc.present(name, cidr_block, instance_tenancy=None, dns_support=None, dns_hostnames=None, tags=None, region=None, key=None, keyid=None, profile=None) Ensure VPC exists.
cidr_block The range of IPs in CIDR format, for example: 10.0.0.0/24. Block size must be between /16 and /28 netmask.
instance_tenancy Instances launched in this VPC will be ingle-tenant or dedicated hardware.
dns_support Indicates whether the DNS resolution is supported for the VPC.
dns_hostnames Indicates whether the instances launched in the VPC get DNS hostnames.
salt.states.boto_vpc.request_vpc_peering_connection(name, requester_vpc_id=None, requester_vpc_name=None, peer_vpc_id=None, peer_vpc_name=None, conn_name=None, peer_owner_id=None, region=None, key=None, keyid=None, profile=None)
requester_vpc_id ID of the requesting VPC. Exclusive with requester_vpc_name. String type.
requester_vpc_name Name tag of the requesting VPC.  Exclusive with requester_vpc_id.  String type.