neulab/tldr huggingface dataset:
Ensure virtual network exists: azurearm_network.virtual_network_present: - name: vnet1 - resource_group: group1 - address_prefixes: - '10.0.0.0/8' - '192.168.0.0/16' - dns_servers: - '8.8.8.8' - tags: contact_name: Elmer Fudd Gantry - connection_auth: {{ profile }} - require: - azurearm_resource: Ensure resource group exists
salt.states.azurearm_resource Azure (ARM) Resource State Module
{% set profile = salt['pillar.get']('azurearm:mysubscription') %} Ensure resource group exists: azurearm_resource.resource_group_present: - name: my_rg - location: westus - tags: how_awesome: very contact_name: Elmer Fudd Gantry - connection_auth: {{ profile }}
Ensure resource group is absent: azurearm_resource.resource_group_absent: - name: other_rg - connection_auth: {{ profile }}
salt.states.azurearm_resource.policy_assignment_absent(name, scope, connection_auth=None) New in version 2019.2.0.
Ensure a policy assignment does not exist in the provided scope.
• name -- Name of the policy assignment.
connection_auth A dict with subscription and authentication parameters to be used in connecting to the Azure Resource Manager API.
salt.states.azurearm_resource.policy_assignment_present(name, scope, definition_name, display_name=None, description=None, assignment_type=None, parameters=None, connection_auth=None, **kwargs) New in version 2019.2.0.
Ensure a security policy assignment exists.
• display_name -- The display name of the policy assignment.
• description -- The policy assignment description.
• assignment_type -- The type of policy assignment.
• parameters -- Required dictionary if a parameter is used in the policy rule.
Ensure policy assignment exists: azurearm_resource.policy_assignment_present: - name: testassign - scope: /subscriptions/bc75htn-a0fhsi-349b-56gh-4fghti-f84852 - definition_name: testpolicy - display_name: Test Assignment - description: Test assignment for testing assignments. - connection_auth: {{ profile }}
salt.states.azurearm_resource.policy_definition_absent(name, connection_auth=None) New in version 2019.2.0.
Ensure a policy definition does not exist in the current subscription.
• name -- Name of the policy definition.
salt.states.azurearm_resource.policy_definition_present(name, policy_rule=None, policy_type=None, mode=None, display_name=None, description=None, metadata=None, parameters=None, policy_rule_json=None, policy_rule_file=None, template='jinja', source_hash=None, source_hash_name=None, skip_verify=False, connection_auth=None, **kwargs) New in version 2019.2.0.
Ensure a security policy definition exists.
• policy_rule -- A YAML dictionary defining the policy rule. See Azure Policy Definition documentation for details on the structure. One of policy_rule, policy_rule_json, or policy_rule_file is required, in that order of precedence for use if multiple parameters are used.
• policy_rule_json --
A text field defining the entirety of a policy definition in JSON. See Azure Policy Definition documentation for details on the structure. One of policy_rule, policy_rule_json, or policy_rule_file is required, in that order of precedence for use if multiple parameters are used. Note that the name field in the JSON will override the name parameter in the state.
• policy_rule_file --
The source of a JSON file defining the entirety of a policy definition. See Azure Policy Definition documentation for details on the structure. One of policy_rule, policy_rule_json, or policy_rule_file is required, in that order of precedence for use if multiple parameters are used. Note that the name field in the JSON will override the name parameter in the state.
• skip_verify -- Used for the policy_rule_file parameter. If True, hash verification of remote file sources (http://, https://, ftp://) will be skipped, and the source_hash argument will be ignored.
• source_hash -- This can be a source hash string or the URI of a file that contains source hash strings.
• source_hash_name -- When source_hash refers to a hash file, Salt will try to find the correct hash by matching the filename/URI associated with that hash.
• policy_type -- The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom. Only used with the policy_rule parameter.
• mode -- The policy definition mode. Possible values are NotSpecified, Indexed, and All. Only used with the policy_rule parameter.
• display_name -- The display name of the policy definition. Only used with the policy_rule parameter.
• description -- The policy definition description. Only used with the policy_rule parameter.
• metadata -- The policy definition metadata defined as a dictionary. Only used with the policy_rule parameter.
• parameters -- Required dictionary if a parameter is used in the policy rule. Only used with the policy_rule parameter.
Ensure policy definition exists: azurearm_resource.policy_definition_present: - name: testpolicy - display_name: Test Policy - description: Test policy for testing policies. - policy_rule: if: allOf: - equals: Microsoft.Compute/virtualMachines/write source: action - field: location in: - eastus - eastus2 - centralus then: effect: deny - connection_auth: {{ profile }}
salt.states.azurearm_resource.resource_group_absent(name, connection_auth=None) New in version 2019.2.0.
Ensure a resource group does not exist in the current subscription.
• name -- Name of the resource group.
salt.states.azurearm_resource.resource_group_present(name, location, managed_by=None, tags=None, connection_auth=None, **kwargs) New in version 2019.2.0.
Ensure a resource group exists.
• location -- The Azure location in which to create the resource group. This value cannot be updated once the resource group is created.
• managed_by -- The ID of the resource that manages this resource group. This value cannot be updated once the resource group is created.
• tags -- A dictionary of strings can be passed as tag metadata to the resource group object.
Ensure resource group exists: azurearm_resource.resource_group_present: - name: group1 - location: eastus - tags: contact_name: Elmer Fudd Gantry - connection_auth: {{ profile }}
salt.states.beacon Management of the Salt beacons New in version 2015.8.0.
ps: beacon.present: - save: True - enable: False - services: salt-master: running apache2: stopped
sh: beacon.present: []
load: beacon.present: - averages: 1m: - 0.0 - 2.0 5m: - 0.0 - 1.5 15m: - 0.1 - 1.0
.. versionadded:: 3000
Beginning in the 3000 release, multiple copies of a beacon can be configured using the ``beacon_module`` parameter.
inotify_infs: beacon.present: - save: True - enable: True - files: /etc/infs.conf: mask: - create - delete - modify recurse: True auto_add: True - interval: 10 - beacon_module: inotify - disable_during_state_run: True
inotify_ntp: beacon.present: - save: True - enable: True - files: /etc/ntp.conf: mask: - create - delete - modify recurse: True auto_add: True - interval: 10 - beacon_module: inotify - disable_during_state_run: True
salt.states.beacon.absent(name, save=False, **kwargs) Ensure beacon is absent.
name   The name of the beacon that is ensured absent.
save   True/False, if True the beacons.conf file be updated too. Default is False.
remove_beacon: beacon.absent: - name: ps - save: True
salt.states.beacon.disabled(name, **kwargs) Disable a beacon.
name   The name of the beacon to disable.
disable_beacon: beacon.disabled: - name: psp
salt.states.beacon.enabled(name, **kwargs) Enable a beacon.
name   The name of the beacon to enable.
enable_beacon: beacon.enabled: - name: ps
salt.states.beacon.present(name, save=False, **kwargs) Ensure beacon is configured with the included beacon data.
name   The name of the beacon to ensure is configured.
ps_beacon: beacon.present: - name: ps - save: True - enable: False - services: salt-master: running apache2: stopped
salt.states.bigip A state module designed to enforce load-balancing configurations for F5 Big-IP entities.
salt.states.bigip.add_pool_member(hostname, username, password, name, member) A function to connect to a bigip device and add a new member to an existing pool.
member The member to add to the pool
salt.states.bigip.create_monitor(hostname, username, password, monitor_type, name, **kwargs) A function to connect to a bigip device and create a monitor.
kwargs [ arg=val ] ...
salt.states.bigip.create_node(hostname, username, password, name, address) Create a new node if it does not already exist.
name   The name of the node to create
salt.states.bigip.create_pool(hostname, username, password, name, members=None, allow_nat=None, allow_snat=None, description=None, gateway_failsafe_device=None, ignore_persisted_weight=None, ip_tos_to_client=None, ip_tos_to_server=None, link_qos_to_client=None, link_qos_to_server=None, load_balancing_mode=None, min_active_members=None, min_up_members=None, min_up_members_action=None, min_up_members_checking=None, monitor=None, profiles=None, queue_depth_limit=None, queue_on_connection_limit=None, queue_time_limit=None, reselect_tries=None, service_down_action=None, slow_ramp_time=None) Create a new node if it does not already exist.
name   The name of the pool to create
members List of members to be added to the pool
salt.states.bigip.create_profile(hostname, username, password, profile_type, name, **kwargs) A function to connect to a bigip device and create a profile.
Consult F5 BIGIP user guide for specific options for each profile type.  Typically, tmsh arg names are used.
Special Characters |, , and : must be escaped using \ when used within strings.
salt.states.bigip.create_virtual(hostname, username, password, name, destination, pool=None, address_status=None, auto_lasthop=None, bwc_policy=None, cmp_enabled=None, connection_limit=None, dhcp_relay=None, description=None, fallback_persistence=None, flow_eviction_policy=None, gtm_score=None, ip_forward=None, ip_protocol=None, internal=None, twelve_forward=None, last_hop_pool=None, mask=None, mirror=None, nat64=None, persist=None, profiles=None, policies=None, rate_class=None, rate_limit=None, rate_limit_mode=None, rate_limit_dst=None, rate_limit_src=None, rules=None, related_rules=None, reject=None, source=None, source_address_translation=None, source_port=None, virtual_state=None, traffic_classes=None, translate_address=None, translate_port=None, vlans=None) A function to connect to a bigip device and create a virtual server if it does not already exists.
twelve_forward(12-forward) [yes | no]
persist [list]
profiles [none | default | list ]
policies [none | default | list ]
rate_limit-mode [destination | object | object-destination | object-source | object-source-destination | source | source-destination]
rate_limit-dst [integer]
rate_limit-src [integer]
rules  [none | list ]
related_rules [none | list ]
source_address_translation [none | snat:pool_name | lsn | automap | dictionary ]
traffic_classes [none | default | list ]
vlans  [none | default | dictionary]
vlan_ids [ list]
enabled [ true | false ]
salt.states.bigip.delete_monitor(hostname, username, password, monitor_type, name) Modify an existing monitor.  If it does exists, only the parameters specified will be enforced.
salt.states.bigip.delete_node(hostname, username, password, name) Delete an existing node.
salt.states.bigip.delete_pool(hostname, username, password, name) Delete an existing pool.
salt.states.bigip.delete_pool_member(hostname, username, password, name, member) Delete an existing pool member.
name   The name of the pool to be modified
member The name of the member to delete from the pool
salt.states.bigip.delete_profile(hostname, username, password, profile_type, name) Modify an existing profile.  If it does exists, only the parameters specified will be enforced.
salt.states.bigip.delete_virtual(hostname, username, password, name) Delete an existing virtual.
name   The name of the virtual which will be deleted
salt.states.bigip.list_monitor(hostname, username, password, monitor_type, name) A function to list an existing monitor.
monitor_type The type of monitor to list
salt.states.bigip.list_node(hostname, username, password, name) A function to connect to a bigip device and list a specific node.
name   The name of the node to list.
salt.states.bigip.list_pool(hostname, username, password, name) A function to connect to a bigip device and list a specific pool.
name   The name of the pool to list.
salt.states.bigip.list_profile(hostname, username, password, profile_type, name) A function to list an existing profile.
profile_type The type of profile to list
salt.states.bigip.list_virtual(hostname, username, password, name) A function to list a specific virtual.
name   The name of the virtual to list
salt.states.bigip.manage_monitor(hostname, username, password, monitor_type, name, **kwargs) Create a new monitor if a monitor of this type and name does not already exists.  If it does exists, only the parameters specified will be enforced.
salt.states.bigip.manage_node(hostname, username, password, name, address, connection_limit=None, description=None, dynamic_ratio=None, logging=None, monitor=None, rate_limit=None, ratio=None, session=None, node_state=None) Manages a node of a given bigip device.  If the node does not exist it will be created, otherwise, only the properties which are different than the existing will be updated.
name   The name of the node to manage.
dynam  c_ratio:        [integer]
node_state (state) [user-down | user-up ]
salt.states.bigip.manage_pool(hostname, username, password, name, allow_nat=None, allow_snat=None, description=None, gateway_failsafe_device=None, ignore_persisted_weight=None, ip_tos_to_client=None, ip_tos_to_server=None, link_qos_to_client=None, link_qos_to_server=None, load_balancing_mode=None, min_active_members=None, min_up_members=None, min_up_members_action=None, min_up_members_checking=None, monitor=None, profiles=None, queue_depth_limit=None, queue_on_connection_limit=None, queue_time_limit=None, reselect_tries=None, service_down_action=None, slow_ramp_time=None) Create a new pool if it does not already exist. Pool members are managed separately. Only the parameters specified are enforced.
salt.states.bigip.manage_pool_members(hostname, username, password, name, members) Manage the members of an existing pool.  This function replaces all current pool members.  Only the parameters specified are enforced.
members list of pool members to manage.
salt.states.bigip.manage_profile(hostname, username, password, profile_type, name, **kwargs) Create a new profile if a monitor of this type and name does not already exists.  If it does exists, only the parameters specified will be enforced.
salt.states.bigip.manage_virtual(hostname, username, password, name, destination, pool=None, address_status=None, auto_lasthop=None, bwc_policy=None, cmp_enabled=None, connection_limit=None, dhcp_relay=None, description=None, fallback_persistence=None, flow_eviction_policy=None, gtm_score=None, ip_forward=None, ip_protocol=None, internal=None, twelve_forward=None, last_hop_pool=None, mask=None, mirror=None, nat64=None, persist=None, profiles=None, policies=None, rate_class=None, rate_limit=None, rate_limit_mode=None, rate_limit_dst=None, rate_limit_src=None, rules=None, related_rules=None, reject=None, source=None, source_address_translation=None, source_port=None, virtual_state=None, traffic_classes=None, translate_address=None, translate_port=None, vlans=None) Manage a virtual server.  If a virtual does not exists it will be created, otherwise only the parameters specified will be enforced.
salt.states.bigip.modify_monitor(hostname, username, password, monitor_type, name, **kwargs) Modify an existing monitor.  If it does exists, only the parameters specified will be enforced.
salt.states.bigip.modify_node(hostname, username, password, name, connection_limit=None, description=None, dynamic_ratio=None, logging=None, monitor=None, rate_limit=None, ratio=None, session=None, node_state=None) Modify an existing node. Only a node which already exists will be modified and only the parameters specified will be enforced.
salt.states.bigip.modify_pool(hostname, username, password, name, allow_nat=None, allow_snat=None, description=None, gateway_failsafe_device=None, ignore_persisted_weight=None, ip_tos_to_client=None, ip_tos_to_server=None, link_qos_to_client=None, link_qos_to_server=None, load_balancing_mode=None, min_active_members=None, min_up_members=None, min_up_members_action=None, min_up_members_checking=None, monitor=None, profiles=None, queue_depth_limit=None, queue_on_connection_limit=None, queue_time_limit=None, reselect_tries=None, service_down_action=None, slow_ramp_time=None) Modify an existing pool. Pool members are managed separately. Only the parameters specified are enforced.
salt.states.bigip.modify_pool_member(hostname, username, password, name, member, connection_limit=None, description=None, dynamic_ratio=None, inherit_profile=None, logging=None, monitor=None, priority_group=None, profiles=None, rate_limit=None, ratio=None, session=None, member_state=None) A function to connect to a bigip device and modify a member of an existing pool.
member The member modify
member_state (state) [ user-up | user-down ]
salt.states.bigip.modify_profile(hostname, username, password, profile_type, name, **kwargs) Modify an existing profile.  If it does exists, only the parameters specified will be enforced.
salt.states.bigip.modify_virtual(hostname, username, password, name, destination, pool=None, address_status=None, auto_lasthop=None, bwc_policy=None, cmp_enabled=None, connection_limit=None, dhcp_relay=None, description=None, fallback_persistence=None, flow_eviction_policy=None, gtm_score=None, ip_forward=None, ip_protocol=None, internal=None, twelve_forward=None, last_hop_pool=None, mask=None, mirror=None, nat64=None, persist=None, profiles=None, policies=None, rate_class=None, rate_limit=None, rate_limit_mode=None, rate_limit_dst=None, rate_limit_src=None, rules=None, related_rules=None, reject=None, source=None, source_address_translation=None, source_port=None, virtual_state=None, traffic_classes=None, translate_address=None, translate_port=None, vlans=None) Modify an virtual server.  modify an existing virtual.  Only parameters specified will be enforced.
vlans  [none | default | dictionary ]
salt.states.blockdev Management of Block Devices
A state module to manage blockdevices
/dev/sda: blockdev.tuned: - read-only: True
master-data: blockdev.tuned: - name: /dev/vg/master-data - read-only: True - read-ahead: 1024
salt.states.blockdev.formatted(name, fs_type='ext4', force=False, **kwargs) Manage filesystems of partitions.
name   The name of the block device
fs_type The filesystem it should be formatted as
salt.states.blockdev.tuned(name, **kwargs) Manage options of block device
opts:
read-ahead Read-ahead buffer size
filesystem-read-ahead Filesystem Read-ahead buffer size
read-only Set Read-Only
read-write Set Read-Write
salt.states.boto3_elasticache Manage Elasticache with boto3 New in version 2017.7.0.
Create, destroy and update Elasticache clusters. Be aware that this interacts with Amazon's services, and so may incur charges.
This module uses boto3 behind the scenes - as a result it inherits any limitations it boto3's implementation of the AWS API.  It is also designed to as directly as possible leverage boto3's parameter naming and semantics.  This allows one to use http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html as an excellent source for details too involved to reiterate here.
Note:  This module is designed to be transparent ("intentionally ignorant" is the phrase I used to describe it to my boss) to new AWS / boto options - since all AWS API params are passed directly through both the state and executions modules, any new args to existing functions which become available after this documentation is written should work immediately.
Brand new API calls, of course, would still require new functions to be added :)
This module accepts explicit elasticache 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 is available here.
If IAM roles are not used you need to specify them either in a pillar file or in the minion's config file:
It's also possible to specify key, keyid and region via a profile, either passed in as a dict, or as a string to pull from pillars or minion config:
Ensure myelasticache exists: boto3_elasticache.present: - name: myelasticache - engine: redis - cache_node_type: cache.t1.micro - num_cache_nodes: 1 - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
# Using a profile from pillars Ensure myelasticache exists: boto3_elasticache.present: - name: myelasticache - engine: redis - cache_node_type: cache.t1.micro - num_cache_nodes: 1 - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic - region: us-east-1 - profile: myprofile
# Passing in a profile Ensure myelasticache exists: boto3_elasticache.present: - name: myelasticache - engine: redis - cache_node_type: cache.t1.micro - num_cache_nodes: 1 - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic - region: us-east-1 - profile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
salt.states.boto3_elasticache.cache_cluster_absent(name, wait=600, region=None, key=None, keyid=None, profile=None, **args) Ensure a given cache cluster is deleted.
name   Name of the cache cluster.
wait   Integer describing how long, in seconds, to wait for confirmation from AWS that the resource is in the desired state.  Zero meaning to return success or failure immediately of course.  Note that waiting for the cluster to become available is generally the better course, as failure to do so will often lead to subsequent failures when managing dependent resources.
CacheClusterId The node group (shard) identifier.  Note:  In general this parameter is not needed, as 'name' is used if it's not provided.
FinalSnapshotIdentifier The user-supplied name of a final cache cluster snapshot. This is the unique name that identifies the snapshot. ElastiCache creates the snapshot, and then deletes the cache cluster immediately afterward.
salt.states.boto3_elasticache.cache_cluster_present(name, wait=900, security_groups=None, region=None, key=None, keyid=None, profile=None, **args) Ensure a given cache cluster exists.
name   Name of the cache cluster (cache cluster id).
security_groups One or more VPC security groups (names and/or IDs) associated with the cache cluster.
NOTE: This is additive with any sec groups provided via the SecurityGroupIds parameter below.  Use this parameter ONLY when you are creating a cluster in a VPC.
CacheClusterId The node group (shard) identifier. This parameter is stored as a lowercase string.
Constraints:
• A name must contain from 1 to 20 alphanumeric characters or hyphens.
• The first character must be a letter.
• A name cannot end with a hyphen or contain two consecutive hyphens.
NOTE: In general this parameter is not needed, as 'name' is used if it's not provided.
ReplicationGroupId The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster is added to the specified replication group as a read replica; otherwise, the cache cluster is a standalone primary that is not part of any replication group.  If the specified replication group is Multi-AZ enabled and the Availability Zone is not specified, the cache cluster is created in Availability Zones that provide the best spread of read replicas across Availability Zones.
AZMode Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.
NOTE: This parameter is ONLY supported for Memcached cache clusters.
PreferredAvailabilityZone The EC2 Availability Zone in which the cache cluster is created.  All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.
Default:  System chosen Availability Zone.
PreferredAvailabilityZones A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important.  The number of Availability Zones listed must equal the value of NumCacheNodes.  If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.
Default:  System chosen Availability Zones.
NOTE: This option is ONLY supported on Memcached.
If you are creating your cache cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.
NumCacheNodes The initial (integer) number of cache nodes that the cache cluster has.
NOTE: For clusters running Redis, this value must be 1.
For clusters running Memcached, this value must be between 1 and 20.
CacheNodeType The compute and memory capacity of the nodes in the node group (shard).  Valid node types (and pricing for them) are exhaustively described at https://aws.amazon.com/elasticache/pricing/
NOTE: All T2 instances must be created in a VPC
Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.
Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.
Engine The name of the cache engine to be used for this cache cluster.  Valid values for this parameter are:  memcached | redis
EngineVersion The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.
NOTE: You can upgrade to a newer engine version but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cache cluster or replication group and create it anew with the earlier engine version.
CacheParameterGroupName The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.  You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.
CacheSubnetGroupName The name of the Cache Subnet Group to be used for the cache cluster.  Use this parameter ONLY when you are creating a cache cluster within a VPC.
NOTE: If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster.
CacheSecurityGroupNames A list of Cache Security Group names to associate with this cache cluster.  Use this parameter ONLY when you are creating a cache cluster outside of a VPC.
SecurityGroupIds One or more VPC security groups associated with the cache cluster.  Use this parameter ONLY when you are creating a cache cluster within a VPC.
Tags   A list of tags to be added to this resource.  Note that due to shortcomings in the AWS API for Elasticache, these can only be set during resource creation - later modification is not (currently) supported.
SnapshotArns A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas.
NOTE: This parameter is ONLY valid if the Engine parameter is redis.
SnapshotName The name of a Redis snapshot from which to restore data into the new node group (shard). The snapshot status changes to restoring while the new node group (shard) is being created.
PreferredMaintenanceWindow Specifies the weekly time range during which maintenance on the cache cluster is permitted.  It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).  The minimum maintenance window is a 60 minute period.  Valid values for ddd are:  sun, mon, tue, wed, thu, fri, sat
Example:  sun:23:00-mon:01:30
Port   The port number on which each of the cache nodes accepts connections.
Default:  6379
NotificationTopicArn The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.
NOTE: The Amazon SNS topic owner must be the same as the cache cluster owner.
AutoMinorVersionUpgrade This (boolean) parameter is currently disabled.
SnapshotRetentionLimit The number of days for which ElastiCache retains automatic snapshots before deleting them.
Default:  0 (i.e., automatic backups are disabled for this cache cluster).
SnapshotWindow The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard). If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.
Example:  05:00-09:00
AuthToken The password used to access a password protected server.
Password constraints:
• Must be only printable ASCII characters.
• Must be at least 16 characters and no more than 128 characters in length.
• Cannot contain any of the following characters: '/', '"', or "@".
CacheNodeIdsToRemove A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, etc.).  This parameter is only valid when NumCacheNodes is less than the existing number of cache nodes.  The number of cache node IDs supplied in this parameter must match the difference between the existing number of cache nodes in the cluster or pending cache nodes, whichever is greater, and the value of NumCacheNodes in the request.
NewAvailabilityZones The list of Availability Zones where the new Memcached cache nodes are created.  This parameter is only valid when NumCacheNodes in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero).  The number of Availability Zones supplied in this list must match the cache nodes being added in this request.  Note:  This option is only supported on Memcached clusters.
NotificationTopicStatus The status of the SNS notification topic.  Notifications are sent only if the status is active.
Valid values:  active | inactive
salt.states.boto3_elasticache.cache_subnet_group_absent(name, region=None, key=None, keyid=None, profile=None, **args) Ensure a given cache subnet group is deleted.
name   Name of the cache subnet group.
CacheSubnetGroupName A name for the cache subnet group.  Note:  In general this parameter is not needed, as 'name' is used if it's not provided.
salt.states.boto3_elasticache.cache_subnet_group_present(name, subnets=None, region=None, key=None, keyid=None, profile=None, **args) Ensure cache subnet group exists.
name   A name for the cache subnet group. This value is stored as a lowercase string.  Constraints:  Must contain no more than 255 alphanumeric characters or hyphens.
subnets A list of VPC subnets (IDs, Names, or a mix) for the cache subnet group.
CacheSubnetGroupName A name for the cache subnet group. This value is stored as a lowercase string.  Constraints:  Must contain no more than 255 alphanumeric characters or hyphens.  Note:  In general this parameter is not needed, as 'name' is used if it's not provided.
CacheSubnetGroupDescription A description for the cache subnet group.
SubnetIds A list of VPC subnet IDs for the cache subnet group.  This is ADDITIVE with 'subnets' above.
salt.states.boto3_elasticache.replication_group_absent(name, wait=600, region=None, key=None, keyid=None, profile=None, **args) Ensure a given replication group is deleted.
name   Name of the replication group.
ReplicationGroupId The replication group identifier.  Note:  In general this parameter is not needed, as 'name' is used if it's not provided.
RetainPrimaryCluster If set to true, all of the read replicas are deleted, but the primary node is retained.
FinalSnapshotIdentifier The name of a final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data.  After the final snapshot is taken, the replication group is immediately deleted.
salt.states.boto3_elasticache.replication_group_present(name, wait=900, security_groups=None, region=None, key=None, keyid=None, profile=None, **args) Ensure a replication group exists and is in the given state.
name   Name of replication group
ReplicationGroupId The replication group identifier. This parameter is stored as a lowercase string.
ReplicationGroupDescription A user-created description for the replication group.
PrimaryClusterId The identifier of the cache cluster that serves as the primary for this replication group.  This cache cluster must already exist and have a status of available.  This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup is specified.
AutomaticFailoverEnabled Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.  If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group.
Default:  False
NOTE: AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups.
ElastiCache Multi-AZ replication groups is not supported on:
• Redis versions earlier than 2.8.6.
• Redis (cluster mode disabled): T1 and T2 node types.
• Redis (cluster mode enabled): T2 node types.
NumCacheClusters The number of clusters this replication group initially has.  This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead.  If Multi-AZ is enabled , the value of this parameter must be at least 2.  The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas).
PreferredCacheClusterAZs A list of EC2 Availability Zones in which the replication group's cache clusters are created. The order of the Availability Zones in the list is the order in which clusters are allocated. The primary cluster is created in the first AZ in the list.  This parameter is not used if there is more than one node group (shard).  You should use NodeGroupConfiguration instead.  The number of Availability Zones listed must equal the value of NumCacheClusters.
NOTE: If you are creating your replication group in an Amazon VPC (recommended), you can only locate cache clusters in Availability Zones associated with the subnets in the selected subnet group.
NumNodeGroups An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group. For Redis (cluster mode disabled) either omit this parameter or set it to 1.
Default:  1
ReplicasPerNodeGroup An optional parameter that specifies the number of replica nodes in each node group (shard). Valid values are:  0 to 5
NodeGroupConfiguration A list of node group (shard) configuration options. Each node group (shard) configuration has the following:  Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.  If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group, you can use this parameter to configure one node group (shard) or you can omit this parameter.  For fiddly details of the expected data layout of this param, see http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html?#ElastiCache.Client.create_replication_group
CacheNodeType The compute and memory capacity of the nodes in the node group (shard).  See https://aws.amazon.com/elasticache/pricing/ for current sizing, prices, and constraints.
Engine The name of the cache engine to be used for the cache clusters in this replication group.
EngineVersion The version number of the cache engine to be used for the cache clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.
CacheParameterGroupName The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.
NOTE: If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.
To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2
To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on
CacheSubnetGroupName The name of the cache subnet group to be used for the replication group.
NOTE: If you're going to launch your cluster in an Amazon VPC, you need to create a s group before you start creating a cluster. For more information, see Subnets and Subnet Groups.
CacheSecurityGroupNames A list of cache security group names to associate with this replication group.
SecurityGroupIds One or more Amazon VPC security groups associated with this replication group.  Use this parameter only when you are creating a replication group in an VPC.
SnapshotArns A list of ARNs that uniquely identify the Redis RDB snapshot files stored in Amazon S3.  These snapshot files are used to populate the replication group.  The Amazon S3 object name in the ARN cannot contain any commas. The list must match the number of node groups (shards) in the replication group, which means you cannot repartition.
NOTE: This parameter is only valid if the Engine parameter is redis.
SnapshotName The name of a snapshot from which to restore data into the new replication group.  The snapshot status changes to restoring while the new replication group is being created. Note:  This parameter is only valid if the Engine parameter is redis.
PreferredMaintenanceWindow Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.  Valid values for ddd are:  sun, mon, tue, wed, thu, fri, sat
Port   The port number on which each member of the replication group accepts connections.
NotificationTopicArn The ARN of an SNS topic to which notifications are sent.
NOTE: The SNS topic owner must be the same as the cache cluster owner.
AutoMinorVersionUpgrade This parameter is currently disabled.
SnapshotRetentionLimit The number of days for which ElastiCache will retain automatic snapshots before deleting them.
Default:  0 (that is, automatic backups are disabled for this cache cluster).
AuthToken The password used to access a password protected server. Password constraints:
SnapshottingClusterId The cache cluster ID that is used as the daily snapshot source for the replication group.
NotificationTopicStatus The status of the SNS notification topic.  Notifications are sent only if the status is active.  Valid values: active | inactive
salt.states.boto3_elasticsearch Manage Elasticsearch Service New in version 3001.
salt.states.boto3_elasticsearch.absent(name, blocking=True, region=None, keyid=None, key=None, profile=None) Ensure the Elasticsearch Domain specified does not exist.
• name (str) -- The name of the Elasticsearch domain to be made absent.
• blocking (bool) -- Whether or not the state should wait for the deletion to be completed. Default: True
Remove Elasticsearch Domain: boto3_elasticsearch.absent: - name: my_domain - region: eu-west-1
salt.states.boto3_elasticsearch.latest(name, minor_only=True, region=None, keyid=None, key=None, profile=None) Ensures the Elasticsearch domain specifies runs on the latest compatible version of elasticsearch, upgrading it if it is not.
Note that this operation is blocking until the upgrade is complete.
• name (str) -- The name of the Elasticsearch domain to upgrade.
• minor_only (bool) -- Only upgrade to the latest minor version.
The following example will ensure the elasticsearch domain my_domain is upgraded to the latest minor version. So if it is currently 5.1 it will be upgraded to 5.6.
Upgrade Elasticsearch Domain: boto3_elasticsearch.latest: - name: my_domain - minor_only: True - region: eu-west-1
salt.states.boto3_elasticsearch.present(name, elasticsearch_version=None, elasticsearch_cluster_config=None, ebs_options=None, access_policies=None, snapshot_options=None, vpc_options=None, cognito_options=None, encryption_at_rest_options=None, node_to_node_encryption_options=None, advanced_options=None, log_publishing_options=None, blocking=True, tags=None, region=None, keyid=None, key=None, profile=None) Ensure an Elasticsearch Domain exists.
• name (str) -- The name of the Elasticsearch domain that you are creating.  Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
Dict specifying the configuration options for an Elasticsearch domain.  Keys (case sensitive) in here are:
Dict specifying the snapshot options.  Keys (case senstive) in here are:
Dict with options to specify the cognito user and identity pools for Kibana authentication.  Keys (case senstive) in here are:
Dict specifying the encryption at rest options. This option can only be used for the creation of a new Elasticsearch domain.  Keys (case sensitive) in here are:
Dict specifying the node to node encryption options. This option can only be used for the creation of a new Elasticsearch domain.  Keys (case sensitive) in here are:
• blocking (bool) -- Whether or not the state should wait for all operations (create/update/upgrade) to be completed. Default: True
• tags (dict) -- Dict of tags to ensure are present on the Elasticsearch domain.
This will create an elasticsearch domain consisting of a single t2.small instance in the eu-west-1 region (Ireland) and will wait until the instance is available before returning from the state.
Create new domain: boto3_elasticsearch.present: - name: my_domain - elasticsearch_version: '5.1' - elasticsearch_cluster_config: InstanceType: t2.small.elasticsearch InstanceCount: 1 DedicatedMasterEnabled: False ZoneAwarenessEnabled: False - ebs_options: EBSEnabled: True VolumeType: gp2 VolumeSize: 10 - snapshot_options: AutomatedSnapshotStartHour: 3 - vpc_options: SubnetIds: - subnet-12345678 SecurityGroupIds: - sg-12345678 - node_to_node_encryption_options: Enabled: False - region: eu-west-1 - tags: foo: bar baz: qux
salt.states.boto3_elasticsearch.tagged(name, tags=None, replace=False, region=None, keyid=None, key=None, profile=None) Ensures the Elasticsearch domain has the tags provided.  Adds tags to the domain unless replace is set to True, in which case all existing tags will be replaced with the tags provided in tags. (This will remove all tags if replace is True and tags is empty).
• name (str) -- The Elasticsearch domain to work with.
• tags (dict) -- The tags to add to/replace on the Elasticsearch domain.
• replace (bool) -- Whether or not to replace (True) all existing tags on the Elasticsearch domain, or add (False) tags to the ES domain.
salt.states.boto3_elasticsearch.upgraded(name, elasticsearch_version, blocking=True, region=None, keyid=None, key=None, profile=None) Ensures the Elasticsearch domain specified runs on the specified version of elasticsearch. Only upgrades are possible as downgrades require a manual snapshot and an S3 bucket to store them in.
Upgrade Elasticsearch Domain: boto3_elasticsearch.upgraded: - name: my_domain - elasticsearch_version: '7.2' - region: eu-west-1
salt.states.boto3_route53 Manage Route53 records with Boto 3
Create and delete Route53 records. Be aware that this interacts with Amazon's services, and so may incur charges.
This module uses boto3, which can be installed via package, or pip.
This module accepts explicit route53 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.
An exciting new AWS Route 53 Hosted Zone: boto_route53.hosted_zone_present: - Name: example.com. - PrivateZone: true - VPCs: - VPCName: MyLittleVPC VPCRegion: us-east-1 - VPCId: vpc-12345678 - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
mycnamerecord: boto_route53.rr_present: - Name: test.example.com. - ResourceRecords: - my-elb.us-east-1.elb.amazonaws.com. - DomainName: example.com. - TTL: 60 - Type: CNAME - region: us-east-1 - keyid: GKTADJGHEIQSXMKKRBJ08H - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
salt.states.boto3_route53.hosted_zone_absent(name, Name=None, PrivateZone=False, region=None, key=None, keyid=None, profile=None) Ensure the Route53 Hostes Zone described is absent
name   The name of the state definition.
Name   The name of the domain. This should be a fully-specified domain, and should terminate with a period.  If not provided, the value of name will be used.
PrivateZone Set True if deleting a private hosted zone.
salt.states.boto3_route53.hosted_zone_present(name, Name=None, PrivateZone=False, CallerReference=None, Comment=None, VPCs=None, region=None, key=None, keyid=None, profile=None) Ensure a hosted zone exists with the given attributes.
Name   The name of the domain. This should be a fully-specified domain, and should terminate with a period. This is the name you have registered with your DNS 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.  If not provided, the value of name will be used.
PrivateZone Set True if creating a private hosted zone.  If true, then 'VPCs' is also required.
CallerReference 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 CallerReference.  If not provided, a unique UUID will be generated at each state run, which can potentially lead to duplicate zones being created if the state is run again while the previous zone creation is still in PENDING status (which can occasionally take several minutes to clear).  Maximum length of 128.
VPCs   A list of dicts, each dict composed of a VPCRegion, and either a VPCId or a VPCName.  Note that this param is ONLY used if PrivateZone == True
VPCId  When creating a private hosted zone, either the VPC ID or VPC Name to associate with is required. Exclusive with VPCName.
VPCName When creating a private hosted zone, either the VPC ID or VPC Name to associate with is required. Exclusive with VPCId.
VPCRegion When creating a private hosted zone, the region of the associated VPC is required.  If not provided, an effort will be made to determine it from VPCId or VPCName, if possible.  This will fail if a given VPCName exists in multiple regions visible to the bound account, in which case you'll need to provide an explicit value for VPCRegion.
salt.states.boto3_route53.rr_absent(name, HostedZoneId=None, DomainName=None, PrivateZone=False, Name=None, Type=None, SetIdentifier=None, region=None, key=None, keyid=None, profile=None) Ensure the Route53 record is deleted.
name   The name of the state definition.  This will be used for Name if the latter is not provided.
HostedZoneId The ID of the zone to delete the record from.  Exclusive with DomainName.
DomainName The domain name of the zone to delete the record from. Exclusive with HostedZoneId.
PrivateZone Set to True if the RR to be removed is in a private zone, False if public.
Name   Name of the resource record.
Type   The record type (A, NS, MX, TXT, etc.)
SetIdentifier Valid for Weighted, Latency, Geolocation, and Failover resource record sets only.  An identifier that differentiates among multiple resource record sets that have the same combination of DNS name and type.  The value of SetIdentifier must be unique for each resource record set that has the same combination of DNS name and type. Omit SetIdentifier for any other types of record sets.
region The region to connect to.