mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Fix use of user_data field with spot_price in ec2 module (#37628)
The user_data field is base64 encoded inside of the boto library. In Python3, base64 must be used with byte strings. So we make sure to encode the user_data into a byte string before passing it on to the boto library. Fixes #34978
This commit is contained in:
parent
ba4f26313b
commit
0d55081ba8
1 changed files with 6 additions and 6 deletions
|
@ -541,15 +541,15 @@ EXAMPLES = '''
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import traceback
|
|
||||||
import time
|
import time
|
||||||
|
import traceback
|
||||||
from ast import literal_eval
|
from ast import literal_eval
|
||||||
from ansible.module_utils.six import get_function_code, string_types
|
from distutils.version import LooseVersion
|
||||||
from ansible.module_utils._text import to_text
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.ec2 import get_aws_connection_info, ec2_argument_spec, ec2_connect
|
from ansible.module_utils.ec2 import get_aws_connection_info, ec2_argument_spec, ec2_connect
|
||||||
from distutils.version import LooseVersion
|
from ansible.module_utils.six import get_function_code, string_types
|
||||||
from ansible.module_utils.six import string_types
|
from ansible.module_utils._text import to_bytes, to_text
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import boto.ec2
|
import boto.ec2
|
||||||
|
@ -1042,7 +1042,7 @@ def create_instances(module, ec2, vpc, override_count=None):
|
||||||
'instance_type': instance_type,
|
'instance_type': instance_type,
|
||||||
'kernel_id': kernel,
|
'kernel_id': kernel,
|
||||||
'ramdisk_id': ramdisk,
|
'ramdisk_id': ramdisk,
|
||||||
'user_data': user_data}
|
'user_data': to_bytes(user_data, errors='surrogate_or_strict')}
|
||||||
|
|
||||||
if ebs_optimized:
|
if ebs_optimized:
|
||||||
params['ebs_optimized'] = ebs_optimized
|
params['ebs_optimized'] = ebs_optimized
|
||||||
|
|
Loading…
Reference in a new issue