neulab/tldr huggingface dataset:
salt.modules.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, state=None, trans_label=None) A function to connect to a bigip device and modify an existing node.
name   The name of the node to modify
dynamic_ratio [integer]
logging [enabled | disabled]
monitor [[name] | none | default]
ratio  [integer]
session [user-enabled | user-disabled]
state  [user-down | user-up ]
salt '*' bigip.modify_node bigip admin admin 10.1.1.2 ratio=2 logging=enabled
salt.modules.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) A function to connect to a bigip device and modify an existing pool.
name   The name of the pool to modify.
ignore_persisted_weight [yes | no]
salt '*' bigip.modify_pool bigip admin admin my-pool 10.1.1.1:80,10.1.1.2:80,10.1.1.3:80 min_active_members=1
salt.modules.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, state=None) A function to connect to a bigip device and modify an existing member of a pool.
member The name of the member to modify i.e. 10.1.1.2:80
inherit_profile [enabled | disabled]
priority_group [integer]
state  [ user-up | user-down ]
salt '*' bigip.modify_pool_member bigip admin admin my-pool 10.2.2.1:80 state=use-down session=user-disabled
salt.modules.bigip.modify_profile(hostname, username, password, profile_type, name, **kwargs) A function to connect to a bigip device and create a profile.
A function to connect to a bigip device and create a profile.
salt '*' bigip.modify_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http'
salt '*' bigip.modify_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http' \ enforcement=maxHeaderCount:3200,maxRequests:10
salt '*' bigip.modify_profile bigip admin admin client-ssl my-client-ssl-1 retainCertificate=false \ ciphers='DEFAULT\:!SSLv3' cert_key_chain='j{ "default": { "cert": "default.crt", "chain": "default.crt", "key": "default.key" } }j'
salt.modules.bigip.modify_virtual(hostname, username, password, name, destination=None, 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, state=None, traffic_classes=None, translate_address=None, translate_port=None, vlans=None) A function to connect to a bigip device and modify an existing virtual server.
name   The name of the virtual to modify
dhcp_relay [yes | no}
rate_limitr_mode [destination | object | object-destination | object-source | object-source-destination | source | source-destination]
rate_limit_src [integer]
state  [enabled | disable]
salt '*' bigip.modify_virtual bigip admin admin my-virtual source_address_translation=none salt '*' bigip.modify_virtual bigip admin admin my-virtual rules=my-rule,my-other-rule
salt.modules.bigip.replace_pool_members(hostname, username, password, name, members) A function to connect to a bigip device and replace members of an existing pool with new members.
members List of comma delimited pool members to replace existing members with.  i.e. 10.1.1.1:80,10.1.1.2:80,10.1.1.3:80
salt '*' bigip.replace_pool_members bigip admin admin my-pool 10.2.2.1:80,10.2.2.2:80,10.2.2.3:80
salt.modules.bigip.start_transaction(hostname, username, password, label) A function to connect to a bigip device and start a new transaction.
label  The name / alias for this transaction.  The actual transaction id will be stored within a grain called bigip_f5_trans:<label>
salt '*' bigip.start_transaction bigip admin admin my_transaction
salt.modules.bluez_bluetooth Support for Bluetooth (using BlueZ in Linux).
The following packages are required packages for this module: bluez >= 5.7 bluez-libs >= 5.7 bluez-utils >= 5.7 pybluez >= 0.18
salt.modules.bluez_bluetooth.address_() Get the many addresses of the Bluetooth adapter
salt '*' bluetooth.address
salt.modules.bluez_bluetooth.block(bdaddr) Block a specific bluetooth device by BD Address
salt '*' bluetooth.block DE:AD:BE:EF:CA:FE
salt.modules.bluez_bluetooth.discoverable(dev) Enable this bluetooth device to be discoverable.
salt '*' bluetooth.discoverable hci0
salt.modules.bluez_bluetooth.noscan(dev) Turn off scanning modes on this device.
salt '*' bluetooth.noscan hci0
salt.modules.bluez_bluetooth.pair(address, key) Pair the bluetooth adapter with a device
salt '*' bluetooth.pair DE:AD:BE:EF:CA:FE 1234
Where DE:AD:BE:EF:CA:FE is the address of the device to pair with, and 1234 is the passphrase.
TODO: This function is currently broken, as the bluez-simple-agent program no longer ships with BlueZ >= 5.0. It needs to be refactored.
salt.modules.bluez_bluetooth.power(dev, mode) Power a bluetooth device on or off
salt '*' bluetooth.power hci0 on salt '*' bluetooth.power hci0 off
salt.modules.bluez_bluetooth.scan() Scan for bluetooth devices in the area
salt '*' bluetooth.scan
salt.modules.bluez_bluetooth.start() Start the bluetooth service.
salt '*' bluetooth.start
salt.modules.bluez_bluetooth.stop() Stop the bluetooth service.
salt '*' bluetooth.stop
salt.modules.bluez_bluetooth.unblock(bdaddr) Unblock a specific bluetooth device by BD Address
salt '*' bluetooth.unblock DE:AD:BE:EF:CA:FE
salt.modules.bluez_bluetooth.unpair(address) Unpair the bluetooth adapter from a device
salt '*' bluetooth.unpair DE:AD:BE:EF:CA:FE
Where DE:AD:BE:EF:CA:FE is the address of the device to unpair.
salt.modules.bluez_bluetooth.version() Return Bluez version from bluetoothd -v
salt '*' bluetoothd.version
salt.modules.boto3_elasticache Execution module for Amazon Elasticache using boto3 New in version 2017.7.0.
configuration 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 available at:
If IAM roles are not used you need to specify them either in a pillar or in the minion's config file:
elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
elasticache.region: us-east-1
It's also possible to specify key, keyid and region via a profile, either as a passed in dict, or as a string to pull from pillars or minion config:
depends boto3
salt.modules.boto3_elasticache.add_tags_to_resource(name, region=None, key=None, keyid=None, profile=None, **args) Add tags to an Elasticache resource.
Note that this function is essentially useless as it requires a full AWS ARN for the resource being operated on, but there is no provided API or programmatic way to find the ARN for a given object from its name or ID alone.  It requires specific knowledge about the account number, AWS partition, and other magic details to generate.
If you happen to have those at hand though, feel free to utilize this function...
salt myminion boto3_elasticache.add_tags_to_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'                 Tags="[{'Key': 'TeamOwner', 'Value': 'infrastructure'}]"
salt.modules.boto3_elasticache.authorize_cache_security_group_ingress(name, region=None, key=None, keyid=None, profile=None, **args) Authorize network ingress from an ec2 security group to a cache security group.
salt myminion boto3_elasticache.authorize_cache_security_group_ingress                                         mycachesecgrp                                         EC2SecurityGroupName=someEC2sg                                         EC2SecurityGroupOwnerId=SOMEOWNERID
salt.modules.boto3_elasticache.cache_cluster_exists(name, conn=None, region=None, key=None, keyid=None, profile=None) Check to see if a cache cluster exists.
salt myminion boto3_elasticache.cache_cluster_exists myelasticache
salt.modules.boto3_elasticache.cache_security_group_exists(name, region=None, key=None, keyid=None, profile=None) Check to see if an ElastiCache security group exists.
salt myminion boto3_elasticache.cache_security_group_exists mysecuritygroup
salt.modules.boto3_elasticache.cache_subnet_group_exists(name, region=None, key=None, keyid=None, profile=None) Check to see if an ElastiCache subnet group exists.
salt myminion boto3_elasticache.cache_subnet_group_exists my-subnet-group
salt.modules.boto3_elasticache.copy_snapshot(name, region=None, key=None, keyid=None, profile=None, **args) Make a copy of an existing snapshot.
salt myminion boto3_elasticache.copy_snapshot name=mySnapshot                                                       TargetSnapshotName=copyOfMySnapshot
salt.modules.boto3_elasticache.create_cache_cluster(name, wait=600, security_groups=None, region=None, key=None, keyid=None, profile=None, **args) Create a cache cluster.
salt myminion boto3_elasticache.create_cache_cluster name=myCacheCluster                                                              Engine=redis                                                              CacheNodeType=cache.t2.micro                                                              NumCacheNodes=1                                                              SecurityGroupIds='[sg-11223344]'                                                              CacheSubnetGroupName=myCacheSubnetGroup
salt.modules.boto3_elasticache.create_cache_parameter_group(name, region=None, key=None, keyid=None, profile=None, **args) Create a cache parameter group.
salt myminion boto3_elasticache.create_cache_parameter_group                 name=myParamGroup                 CacheParameterGroupFamily=redis2.8                 Description="My Parameter Group"
salt.modules.boto3_elasticache.create_cache_security_group(name, region=None, key=None, keyid=None, profile=None, **args) Create a cache security group.
salt myminion boto3_elasticache.create_cache_security_group mycachesecgrp Description='My Cache Security Group'
salt.modules.boto3_elasticache.create_cache_subnet_group(name, subnets=None, region=None, key=None, keyid=None, profile=None, **args) Create an ElastiCache subnet group
salt myminion boto3_elasticache.create_cache_subnet_group name=my-subnet-group                                               CacheSubnetGroupDescription="description"                                               subnets='[myVPCSubnet1,myVPCSubnet2]'
salt.modules.boto3_elasticache.create_replication_group(name, wait=600, security_groups=None, region=None, key=None, keyid=None, profile=None, **args) Create a replication group.  Params are extensive and variable - see http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html?#ElastiCache.Client.create_replication_group for in-depth usage documentation.
salt myminion boto3_elasticache.create_replication_group                                                   name=myelasticache                                                   ReplicationGroupDescription=description
salt.modules.boto3_elasticache.delete_cache_cluster(name, wait=600, region=None, key=None, keyid=None, profile=None, **args) Delete a cache cluster.
salt myminion boto3_elasticache.delete myelasticache
salt.modules.boto3_elasticache.delete_cache_parameter_group(name, region=None, key=None, keyid=None, profile=None, **args) Delete a cache parameter group.
salt myminion boto3_elasticache.delete_cache_parameter_group myParamGroup
salt.modules.boto3_elasticache.delete_cache_security_group(name, region=None, key=None, keyid=None, profile=None, **args) Delete a cache security group.
salt myminion boto3_elasticache.delete_cache_security_group myelasticachesg
salt.modules.boto3_elasticache.delete_cache_subnet_group(name, region=None, key=None, keyid=None, profile=None, **args) Delete an ElastiCache subnet group.
salt myminion boto3_elasticache.delete_subnet_group my-subnet-group region=us-east-1
salt.modules.boto3_elasticache.delete_replication_group(name, wait=600, region=None, key=None, keyid=None, profile=None, **args) Delete an ElastiCache replication group, optionally taking a snapshot first.
salt myminion boto3_elasticache.delete_replication_group my-replication-group
salt.modules.boto3_elasticache.describe_cache_clusters(name=None, conn=None, region=None, key=None, keyid=None, profile=None, **args) Return details about all (or just one) Elasticache cache clusters.
salt myminion boto3_elasticache.describe_cache_clusters salt myminion boto3_elasticache.describe_cache_clusters myelasticache
salt.modules.boto3_elasticache.describe_cache_parameter_groups(name=None, conn=None, region=None, key=None, keyid=None, profile=None) Return details about all (or just one) Elasticache cache clusters.
salt myminion boto3_elasticache.describe_cache_parameter_groups salt myminion boto3_elasticache.describe_cache_parameter_groups myParameterGroup
salt.modules.boto3_elasticache.describe_cache_security_groups(name=None, conn=None, region=None, key=None, keyid=None, profile=None) Return details about all (or just one) Elasticache cache clusters.
salt myminion boto3_elasticache.describe_cache_security_groups salt myminion boto3_elasticache.describe_cache_security_groups mycachesecgrp
salt.modules.boto3_elasticache.describe_cache_subnet_groups(name=None, conn=None, region=None, key=None, keyid=None, profile=None) Return details about all (or just one) Elasticache replication groups.
salt myminion boto3_elasticache.describe_cache_subnet_groups region=us-east-1
salt.modules.boto3_elasticache.describe_replication_groups(name=None, conn=None, region=None, key=None, keyid=None, profile=None) Return details about all (or just one) Elasticache replication groups.
salt myminion boto3_elasticache.describe_replication_groups salt myminion boto3_elasticache.describe_replication_groups myelasticache
salt.modules.boto3_elasticache.list_cache_subnet_groups(region=None, key=None, keyid=None, profile=None) Return a list of all cache subnet group names
salt myminion boto3_elasticache.list_cache_subnet_groups region=us-east-1
salt.modules.boto3_elasticache.list_tags_for_resource(name, region=None, key=None, keyid=None, profile=None, **args) List tags on an Elasticache resource.
If you happen to have those handy, feel free to utilize this however...
salt myminion boto3_elasticache.list_tags_for_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'
salt.modules.boto3_elasticache.modify_cache_cluster(name, wait=600, security_groups=None, region=None, key=None, keyid=None, profile=None, **args) Update a cache cluster in place.
Notes: {ApplyImmediately: False} is pretty danged silly in the context of salt. You can pass it, but for fairly obvious reasons the results over multiple runs will be undefined and probably contrary to your desired state.  Reducing the number of nodes requires an EXPLICIT CacheNodeIdsToRemove be passed, which until a reasonable heuristic for programmatically deciding which nodes to remove has been established, MUST be decided and populated intentionally before a state call, and removed again before the next.  In practice this is not particularly useful and should probably be avoided.
salt myminion boto3_elasticache.create_cache_cluster name=myCacheCluster                                                              NotificationTopicStatus=inactive
salt.modules.boto3_elasticache.modify_cache_subnet_group(name, subnets=None, region=None, key=None, keyid=None, profile=None, **args) Modify an ElastiCache subnet group
salt myminion boto3_elasticache.modify_cache_subnet_group                                               name=my-subnet-group                                               subnets='[myVPCSubnet3]'
salt.modules.boto3_elasticache.modify_replication_group(name, wait=600, security_groups=None, region=None, key=None, keyid=None, profile=None, **args) Modify a replication group.
salt myminion boto3_elasticache.modify_replication_group                                                   name=myelasticache                                                   ReplicationGroupDescription=newDescription
salt.modules.boto3_elasticache.remove_tags_from_resource(name, region=None, key=None, keyid=None, profile=None, **args) Remove tags from an Elasticache resource.
salt myminion boto3_elasticache.remove_tags_from_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'                 TagKeys="['TeamOwner']"
salt.modules.boto3_elasticache.replication_group_exists(name, region=None, key=None, keyid=None, profile=None) Check to see if a replication group exists.
salt myminion boto3_elasticache.replication_group_exists myelasticache
salt.modules.boto3_elasticache.revoke_cache_security_group_ingress(name, region=None, key=None, keyid=None, profile=None, **args) Revoke network ingress from an ec2 security group to a cache security group.
salt myminion boto3_elasticache.revoke_cache_security_group_ingress                                         mycachesecgrp                                         EC2SecurityGroupName=someEC2sg                                         EC2SecurityGroupOwnerId=SOMEOWNERID
salt.modules.boto3_elasticsearch Connection module for Amazon Elasticsearch Service
configuration This module accepts explicit IAM credentials but can also utilize IAM roles assigned to the instance trough Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More Information available at:
es.keyid: GKTADJGHEIQSXMKKRBJ08H es.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
es.region: us-east-1
All methods return a dict with: 'result' key containing a boolean indicating success or failure, 'error' key containing the errormessage returned by boto on error, 'response' key containing the data of the response returned by boto on success.
codeauthor Herbert Buurman <herbert.buurman@ogd.nl>
salt.modules.boto3_elasticsearch.add_tags(domain_name=None, arn=None, tags=None, region=None, key=None, keyid=None, profile=None) Attaches tags to an existing Elasticsearch domain.  Tags are a set of case-sensitive key value pairs.  An Elasticsearch domain may have up to 10 tags.
• domain_name (str) -- The name of the Elasticsearch domain you want to add tags to.
• arn (str) -- The ARN of the Elasticsearch domain you want to add tags to.  Specifying this overrides domain_name.
• tags (dict) -- The dict of tags to add to the Elasticsearch domain.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon failure, also contains a key 'error' with the error message as value.
salt myminion boto3_elasticsearch.add_tags domain_name=mydomain tags='{"foo": "bar", "baz": "qux"}'
salt.modules.boto3_elasticsearch.cancel_elasticsearch_service_software_update(domain_name, region=None, keyid=None, key=None, profile=None) Cancels a scheduled service software update for an Amazon ES domain. You can only perform this operation before the AutomatedUpdateDate and when the UpdateStatus is in the PENDING_UPDATE state.
Parameters domain_name (str) -- The name of the domain that you want to stop the latest service software update on.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with the current service software options. Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.check_upgrade_eligibility(domain_name, elasticsearch_version, region=None, keyid=None, key=None, profile=None) Helper function to determine in one call if an Elasticsearch domain can be upgraded to the specified Elasticsearch version.
This assumes that the Elasticsearch domain is at rest at the moment this function is called. I.e. The domain is not in the process of :
• being created.
• being updated.
• another upgrade running, or a check thereof.
• being deleted.
Behind the scenes, this does 3 things:
• Check if elasticsearch_version is among the compatible elasticsearch versions.
• Perform a check if the Elasticsearch domain is eligible for the upgrade.
• Check the result of the check and return the result as a boolean.
• name (str) -- The Elasticsearch domain name to check.
• elasticsearch_version (str) -- The Elasticsearch version to upgrade to.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with boolean result of the check.  Upon failure, also contains a key 'error' with the error message as value.
salt myminion boto3_elasticsearch.check_upgrade_eligibility mydomain '6.7'
salt.modules.boto3_elasticsearch.create_elasticsearch_domain(domain_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=False, region=None, key=None, keyid=None, profile=None) Given a valid config, create a domain.
• domain_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).
• elasticsearch_version (str) -- String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3".
• elasticsearch_cluster_config (dict) --
Dictionary specifying the configuration options for an Elasticsearch domain. Keys (case sensitive) in here are:
• InstanceType (str): The instance type for an Elasticsearch cluster.
• InstanceCount (int): The instance type for an Elasticsearch cluster.
• DedicatedMasterEnabled (bool): Indicate whether a dedicated master node is enabled.
• ZoneAwarenessEnabled (bool): Indicate whether zone awareness is enabled.  If this is not enabled, the Elasticsearch domain will only be in one availability zone.
• ZoneAwarenessConfig (dict): Specifies the zone awareness configuration for a domain when zone awareness is enabled.  Keys (case sensitive) in here are:
• AvailabilityZoneCount (int): An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled. Allowed values: 2, 3
• DedicatedMasterType (str): The instance type for a dedicated master node.
• DedicatedMasterCount (int): Total number of dedicated master nodes, active and on standby, for the cluster.
• ebs_options (dict) --
Dict specifying the options to enable or disable and specifying the type and size of EBS storage volumes. Keys (case sensitive) in here are:
• EBSEnabled (bool): Specifies whether EBS-based storage is enabled.
• VolumeType (str): Specifies the volume type for EBS-based storage.
• VolumeSize (int): Integer to specify the size of an EBS volume.
• Iops (int): Specifies the IOPD for a Provisioned IOPS EBS volume (SSD).
• access_policies (str or dict) -- Dict or JSON string with the IAM access policy.
• snapshot_options (dict) --
Dict specifying the snapshot options.  Keys (case sensitive) in here are:
• AutomatedSnapshotStartHour (int): Specifies the time, in UTC format, when the service takes a daily automated snapshot of the specified Elasticsearch domain. Default value is 0 hours.
• vpc_options (dict) --
Dict with the options to specify the subnets and security groups for the VPC endpoint.  Keys (case sensitive) in here are:
• SubnetIds (list): The list of subnets for the VPC endpoint.
• SecurityGroupIds (list): The list of security groups for the VPC endpoint.
• cognito_options (dict) --
Dict with options to specify the cognito user and identity pools for Kibana authentication.  Keys (case sensitive) in here are:
• Enabled (bool): Specifies the option to enable Cognito for Kibana authentication.
• UserPoolId (str): Specifies the Cognito user pool ID for Kibana authentication.
• IdentityPoolId (str): Specifies the Cognito identity pool ID for Kibana authentication.
• RoleArn (str): Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources.
• encryption_at_rest_options (dict) --
Dict specifying the encryption at rest options. Keys (case sensitive) in here are:
• Enabled (bool): Specifies the option to enable Encryption At Rest.
• KmsKeyId (str): Specifies the KMS Key ID for Encryption At Rest options.
• node_to_node_encryption_options (dict) --
Dict specifying the node to node encryption options. Keys (case sensitive) in here are:
• Enabled (bool): Specify True to enable node-to-node encryption.
• advanced_options (dict) -- Dict with option to allow references to indices in an HTTP request body. Must be False when configuring access to individual sub-resources. By default, the value is True.  See http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide /es-createupdatedomains.html#es-createdomain-configure-advanced-options for more information.
• log_publishing_options (dict) --
Dict with options for various type of logs.  The keys denote the type of log file and can be one of the following:
• INDEX_SLOW_LOGS
• SEARCH_SLOW_LOGS
• ES_APPLICATION_LOGS
The value assigned to each key is a dict with the following case sensitive keys:
• CloudWatchLogsLogGroupArn (str): The ARN of the Cloudwatch log group to which the log needs to be published.
• Enabled (bool): Specifies whether given log publishing option is enabled or not.
• blocking (bool) -- Whether or not to wait (block) until the Elasticsearch domain has been created.
Note: Not all instance types allow enabling encryption at rest. See https://docs.aws.amazon.com /elasticsearch-service/latest/developerguide/aes-supported-instance-types.html
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with the domain status configuration.  Upon failure, also contains a key 'error' with the error message as value.
salt myminion boto3_elasticsearch.create_elasticsearch_domain mydomain \ elasticsearch_cluster_config='{ \ "InstanceType": "t2.micro.elasticsearch", \ "InstanceCount": 1, \ "DedicatedMasterEnabled": False, \ "ZoneAwarenessEnabled": False}' \ ebs_options='{ \ "EBSEnabled": True, \ "VolumeType": "gp2", \ "VolumeSize": 10, \ "Iops": 0}' \ access_policies='{ \ "Version": "2012-10-17", \ "Statement": [ \ {"Effect": "Allow", \ "Principal": {"AWS": "*"}, \ "Action": "es:*", \ "Resource": "arn:aws:es:us-east-1:111111111111:domain/mydomain/*", \ "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]}' \ snapshot_options='{"AutomatedSnapshotStartHour": 0}' \ advanced_options='{"rest.action.multi.allow_explicit_index": "true"}'
salt.modules.boto3_elasticsearch.delete_elasticsearch_domain(domain_name, blocking=False, region=None, key=None, keyid=None, profile=None) Permanently deletes the specified Elasticsearch domain and all of its data.  Once a domain is deleted, it cannot be recovered.
• domain_name (str) -- The name of the domain to delete.
• blocking (bool) -- Whether or not to wait (block) until the Elasticsearch domain has been deleted.
salt.modules.boto3_elasticsearch.delete_elasticsearch_service_role(region=None, keyid=None, key=None, profile=None) Deletes the service-linked role that Elasticsearch Service uses to manage and maintain VPC domains. Role deletion will fail if any existing VPC domains use the role. You must delete any such Elasticsearch domains before deleting the role.
salt.modules.boto3_elasticsearch.describe_elasticsearch_domain(domain_name, region=None, keyid=None, key=None, profile=None) Given a domain name gets its status description.
Parameters domain_name (str) -- The name of the domain to get the status of.
Returns Dictionary ith key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with the domain status information.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.describe_elasticsearch_domain_config(domain_name, region=None, keyid=None, key=None, profile=None) Provides cluster configuration information about the specified Elasticsearch domain, such as the state, creation date, update version, and update date for cluster options.
Parameters domain_name (str) -- The name of the domain to describe.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with the current configuration information. Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.describe_elasticsearch_domains(domain_names, region=None, keyid=None, key=None, profile=None) Returns domain configuration information about the specified Elasticsearch domains, including the domain ID, domain endpoint, and domain ARN.
Parameters domain_names (list) -- List of domain names to get information for.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with the list of domain status information. Upon failure, also contains a key 'error' with the error message as value.
salt myminion boto3_elasticsearch.describe_elasticsearch_domains '["domain_a", "domain_b"]'
salt.modules.boto3_elasticsearch.describe_elasticsearch_instance_type_limits(instance_type, elasticsearch_version, domain_name=None, region=None, keyid=None, key=None, profile=None) Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion.  When modifying existing Domain, specify the `` DomainName `` to know what Limits are supported for modifying.
• instance_type (str) -- The instance type for an Elasticsearch cluster for which Elasticsearch Limits are needed.
• elasticsearch_version (str) -- Version of Elasticsearch for which Limits are needed.
• domain_name (str) -- Represents the name of the Domain that we are trying to modify. This should be present only if we are querying for Elasticsearch Limits for existing domain.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with the limits information.  Upon failure, also contains a key 'error' with the error message as value.
salt myminion boto3_elasticsearch.describe_elasticsearch_instance_type_limits \ instance_type=r3.8xlarge.elasticsearch \ elasticsearch_version='6.2'
salt.modules.boto3_elasticsearch.describe_reserved_elasticsearch_instance_offerings(reserved_elasticsearch_instance_offering_id=None, region=None, keyid=None, key=None, profile=None) Lists available reserved Elasticsearch instance offerings.
Parameters reserved_elasticsearch_instance_offering_id (str) -- The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with the list of offerings information.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.describe_reserved_elasticsearch_instances(reserved_elasticsearch_instance_id=None, region=None, keyid=None, key=None, profile=None) Returns information about reserved Elasticsearch instances for this account.
Parameters reserved_elasticsearch_instance_id (str) -- The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with a list of information on reserved instances.  Upon failure, also contains a key 'error' with the error message as value.
Note   Version 1.9.174 of boto3 has a bug in that reserved_elasticsearch_instance_id is considered a required argument, even though the documentation says otherwise.
salt.modules.boto3_elasticsearch.exists(domain_name, region=None, key=None, keyid=None, profile=None) Given a domain name, check to see if the given domain exists.
Parameters domain_name (str) -- The name of the domain to check.
salt.modules.boto3_elasticsearch.get_compatible_elasticsearch_versions(domain_name=None, region=None, keyid=None, key=None, profile=None) Returns a list of upgrade compatible Elastisearch versions. You can optionally pass a domain_name to get all upgrade compatible Elasticsearch versions for that specific domain.
Parameters domain_name (str) -- The name of an Elasticsearch domain.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with a list of compatible versions.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.get_upgrade_history(domain_name, region=None, keyid=None, key=None, profile=None) Retrieves the complete history of the last 10 upgrades that were performed on the domain.
Parameters domain_name (str) -- The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with a list of upgrade histories.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.get_upgrade_status(domain_name, region=None, keyid=None, key=None, profile=None) Retrieves the latest status of the last upgrade or upgrade eligibility check that was performed on the domain.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with upgrade status information.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.list_domain_names(region=None, keyid=None, key=None, profile=None) Returns the name of all Elasticsearch domains owned by the current user's account.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with a list of domain names.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.list_elasticsearch_instance_types(elasticsearch_version, domain_name=None, region=None, keyid=None, key=None, profile=None) List all Elasticsearch instance types that are supported for given ElasticsearchVersion.
• elasticsearch_version (str) -- Version of Elasticsearch for which list of supported elasticsearch instance types are needed.
• domain_name (str) -- DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for list of available Elasticsearch instance types when modifying existing domain.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with a list of Elasticsearch instance types. Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.list_elasticsearch_versions(region=None, keyid=None, key=None, profile=None) List all supported Elasticsearch versions.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with a list of Elasticsearch versions.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.list_tags(domain_name=None, arn=None, region=None, key=None, keyid=None, profile=None) Returns all tags for the given Elasticsearch domain.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with a dict of tags.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.purchase_reserved_elasticsearch_instance_offering(reserved_elasticsearch_instance_offering_id, reservation_name, instance_count=None, region=None, keyid=None, key=None, profile=None) Allows you to purchase reserved Elasticsearch instances.
• reserved_elasticsearch_instance_offering_id (str) -- The ID of the reserved Elasticsearch instance offering to purchase.
• reservation_name (str) -- A customer-specified identifier to track this reservation.
• instance_count (int) -- The number of Elasticsearch instances to reserve.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with purchase information.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.remove_tags(tag_keys, domain_name=None, arn=None, region=None, key=None, keyid=None, profile=None) Removes the specified set of tags from the specified Elasticsearch domain.
• tag_keys (list) -- List with tag keys you want to remove from the Elasticsearch domain.
• domain_name (str) -- The name of the Elasticsearch domain you want to remove tags from.
• arn (str) -- The ARN of the Elasticsearch domain you want to remove tags from.  Specifying this overrides domain_name.
salt myminion boto3_elasticsearch.remove_tags '["foo", "bar"]' domain_name=my_domain
salt.modules.boto3_elasticsearch.start_elasticsearch_service_software_update(domain_name, region=None, keyid=None, key=None, profile=None) Schedules a service software update for an Amazon ES domain.
Parameters domain_name (str) -- The name of the domain that you want to update to the latest service software.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with service software information.  Upon failure, also contains a key 'error' with the error message as value.
salt.modules.boto3_elasticsearch.update_elasticsearch_domain_config(domain_name, elasticsearch_cluster_config=None, ebs_options=None, vpc_options=None, access_policies=None, snapshot_options=None, cognito_options=None, advanced_options=None, log_publishing_options=None, blocking=False, region=None, key=None, keyid=None, profile=None) Modifies the cluster configuration of the specified Elasticsearch domain, for example setting the instance type and the number of instances.
• ZoneAwarenessEnabled (bool): Indicate whether zone awareness is enabled.
• AvailabilityZoneCount (int): An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled.
• access_policies (str/dict) -- Dict or JSON string with the IAM access policy.
Dict with options for various type of logs.  The keys denote the type of log file and can be one of the following: INDEX_SLOW_LOGS, SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS.
• blocking (bool) -- Whether or not to wait (block) until the Elasticsearch domain has been updated.
Returns Dictionary with key 'result' and as value a boolean denoting success or failure.  Upon success, also contains a key 'reponse' with the domain configuration.  Upon failure, also contains a key 'error' with the error message as value.
salt myminion boto3_elasticsearch.update_elasticsearch_domain_config mydomain \ elasticsearch_cluster_config='{\ "InstanceType": "t2.micro.elasticsearch", \ "InstanceCount": 1, \ "DedicatedMasterEnabled": false, "ZoneAwarenessEnabled": false}' \ ebs_options='{\ "EBSEnabled": true, \ "VolumeType": "gp2", \ "VolumeSize": 10, \ "Iops": 0}' \ access_policies='{"Version": "2012-10-17", "Statement": [{\ "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "es:*", \ "Resource": "arn:aws:es:us-east-1:111111111111:domain/mydomain/*", \ "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]}' \ snapshot_options='{"AutomatedSnapshotStartHour": 0}' \ advanced_options='{"rest.action.multi.allow_explicit_index": "true"}'
salt.modules.boto3_elasticsearch.upgrade_elasticsearch_domain(domain_name, target_version, perform_check_only=None, blocking=False, region=None, keyid=None, key=None, profile=None) Allows you to either upgrade your domain or perform an Upgrade eligibility check to a compatible Elasticsearch version.
• domain_name (str) -- The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
• target_version (str) -- The version of Elasticsearch that you intend to upgrade the domain to.
• perform_check_only (bool) -- This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade.
• blocking (bool) -- Whether or not to wait (block) until the Elasticsearch domain has been upgraded.
salt myminion boto3_elasticsearch.upgrade_elasticsearch_domain mydomain \ target_version='6.7' \ perform_check_only=True
salt.modules.boto3_elasticsearch.wait_for_upgrade(domain_name, region=None, keyid=None, key=None, profile=None) Block until an upgrade-in-progress for domain name is finished.
Parameters name (str) -- The name of the domain to wait for.
Rtype dict
salt.modules.boto3_route53 Execution module for Amazon Route53 written against Boto 3
configuration 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 at:
route53.keyid: GKTADJGHEIQSXMKKRBJ08H route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
route53.region: us-east-1
Note that Route53 essentially ignores all (valid) settings for 'region', since there is only one Endpoint (in us-east-1 if you care) and any (valid) region setting will just send you there.  It is entirely safe to set it to None as well.
salt.modules.boto3_route53.associate_vpc_with_hosted_zone(HostedZoneId=None, Name=None, VPCId=None, VPCName=None, VPCRegion=None, Comment=None, region=None, key=None, keyid=None, profile=None) Associates an Amazon VPC with a private hosted zone.
To perform the association, the VPC and the private hosted zone must already exist. You can't convert a public hosted zone into a private hosted zone.  If you want to associate a VPC from one AWS account with a zone from a another, the AWS account owning the hosted zone must first submit a CreateVPCAssociationAuthorization (using create_vpc_association_authorization() or by other means, such as the AWS console).  With that done, the account owning the VPC can then call associate_vpc_with_hosted_zone() to create the association.
Note that if both sides happen to be within the same account, associate_vpc_with_hosted_zone() is enough on its own, and there is no need for the CreateVPCAssociationAuthorization step.
Also note that looking up hosted zones by name (e.g. using the Name parameter) only works within a single account - if you're associating a VPC to a zone in a different account, as outlined above, you unfortunately MUST use the HostedZoneId parameter exclusively.
HostedZoneId The unique Zone Identifier for the Hosted Zone.
Name   The domain name associated with the Hosted Zone(s).
VPCId  When working with a private hosted zone, either the VPC ID or VPC Name to associate with is required.  Exclusive with VPCName.
VPCName When working with a private hosted zone, either the VPC ID or VPC Name to associate with is required.  Exclusive with VPCId.
VPCRegion When working with 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.  If this fails, you'll need to provide an explicit value for VPCRegion.
Comment Any comments you want to include about the change being made.
salt myminion boto3_route53.associate_vpc_with_hosted_zone                     Name=example.org. VPCName=myVPC                     VPCRegion=us-east-1 Comment="Whoo-hoo!  I added another VPC."
salt.modules.boto3_route53.aws_encode(x) An implementation of the encoding required to support AWS's domain name rules defined here:
While AWS's documentation specifies individual ASCII characters which need to be encoded, we instead just try to force the string to one of escaped unicode or idna depending on whether there are non-ASCII characters present.
This means that we support things like ドメイン.テスト as a domain name string.
More information about IDNA encoding in python is found here:
salt.modules.boto3_route53.change_resource_record_sets(HostedZoneId=None, Name=None, PrivateZone=None, ChangeBatch=None, region=None, key=None, keyid=None, profile=None) See the AWS Route53 API docs as well as the Boto3 documentation for all the details...
The syntax for a ChangeBatch parameter is as follows, but note that the permutations of allowed parameters and combinations thereof are quite varied, so perusal of the above linked docs is highly recommended for any non-trival configurations.
{ "Comment": "string", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "string", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"NAPTR"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "string", "Weight": 123, "Region": "us-east-1"|"us-east-2"|"us-west-1"|"us-west-2"|"ca-central-1"|"eu-west-1"|"eu-west-2"|"eu-central-1"|"ap-southeast-1"|"ap-southeast-2"|"ap-northeast-1"|"ap-northeast-2"|"sa-east-1"|"cn-north-1"|"ap-south-1", "GeoLocation": { "ContinentCode": "string", "CountryCode": "string", "SubdivisionCode": "string" }, "Failover": "PRIMARY"|"SECONDARY", "TTL": 123, "ResourceRecords": [ { "Value": "string" }, ], "AliasTarget": { "HostedZoneId": "string", "DNSName": "string", "EvaluateTargetHealth": True|False }, "HealthCheckId": "string", "TrafficPolicyInstanceId": "string" } }, ] }
foo='{ "Name": "my-cname.example.org.", "TTL": 600, "Type": "CNAME", "ResourceRecords": [ { "Value": "my-host.example.org" } ] }' foo=`echo $foo`  # Remove newlines salt myminion boto3_route53.change_resource_record_sets DomainName=example.org.                 keyid=A1234567890ABCDEF123 key=xblahblahblah                 ChangeBatch="{'Changes': [{'Action': 'UPSERT', 'ResourceRecordSet': $foo}]}"
salt.modules.boto3_route53.create_hosted_zone(Name, VPCId=None, VPCName=None, VPCRegion=None, CallerReference=None, Comment='', PrivateZone=False, DelegationSetId=None, region=None, key=None, keyid=None, profile=None) Create a new Route53 Hosted Zone. Returns a Python data structure with information about the newly created Hosted Zone.
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.
VPCId  When creating a private hosted zone, either the VPC ID or VPC Name to associate with is required.  Exclusive with VPCName.  Ignored if passed for a non-private zone.
VPCName When creating a private hosted zone, either the VPC ID or VPC Name to associate with is required.  Exclusive with VPCId.  Ignored if passed for a non-private zone.