ACIL FM
Dark
Refresh
Current DIR:
/usr/share/ansible/collections/ansible_collections/community/general/plugins/filter
/
usr
share
ansible
collections
ansible_collections
community
general
plugins
filter
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
counter.py
1.89 MB
chmod
View
DL
Edit
Rename
Delete
crc32.py
1.6 MB
chmod
View
DL
Edit
Rename
Delete
dict.py
1.93 MB
chmod
View
DL
Edit
Rename
Delete
dict_kv.py
2.47 MB
chmod
View
DL
Edit
Rename
Delete
from_csv.py
3.62 MB
chmod
View
DL
Edit
Rename
Delete
groupby_as_dict.py
2.77 MB
chmod
View
DL
Edit
Rename
Delete
hashids.py
2.81 MB
chmod
View
DL
Edit
Rename
Delete
hashids_decode.yml
1.14 MB
chmod
View
DL
Edit
Rename
Delete
hashids_encode.yml
1.14 MB
chmod
View
DL
Edit
Rename
Delete
jc.py
4.74 MB
chmod
View
DL
Edit
Rename
Delete
json_query.py
4.96 MB
chmod
View
DL
Edit
Rename
Delete
lists_mergeby.py
6.2 MB
chmod
View
DL
Edit
Rename
Delete
random_mac.py
2.79 MB
chmod
View
DL
Edit
Rename
Delete
time.py
4.32 MB
chmod
View
DL
Edit
Rename
Delete
to_days.yml
1.53 MB
chmod
View
DL
Edit
Rename
Delete
to_hours.yml
1.54 MB
chmod
View
DL
Edit
Rename
Delete
to_milliseconds.yml
1.58 MB
chmod
View
DL
Edit
Rename
Delete
to_minutes.yml
1.55 MB
chmod
View
DL
Edit
Rename
Delete
to_months.yml
1.54 MB
chmod
View
DL
Edit
Rename
Delete
to_seconds.yml
1.55 MB
chmod
View
DL
Edit
Rename
Delete
to_time_unit.yml
2.28 MB
chmod
View
DL
Edit
Rename
Delete
to_weeks.yml
1.53 MB
chmod
View
DL
Edit
Rename
Delete
to_years.yml
1.53 MB
chmod
View
DL
Edit
Rename
Delete
unicode_normalize.py
2.36 MB
chmod
View
DL
Edit
Rename
Delete
version_sort.py
1.48 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/share/ansible/collections/ansible_collections/community/general/plugins/filter/random_mac.py
# -*- coding: utf-8 -*- # Copyright (c) 2020 Ansible Project # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later # Make coding more python3-ish from __future__ import (absolute_import, division, print_function) __metaclass__ = type DOCUMENTATION = ''' name: random_mac short_description: Generate a random MAC address description: - Generates random networking interfaces MAC addresses for a given prefix. options: _input: description: A string prefix to use as a basis for the random MAC generated. type: string required: true seed: description: - A randomization seed to initialize the process, used to get repeatable results. - If no seed is provided, a system random source such as C(/dev/urandom) is used. required: false type: string ''' EXAMPLES = ''' - name: Random MAC given a prefix ansible.builtin.debug: msg: "{{ '52:54:00' | community.general.random_mac }}" # => '52:54:00:ef:1c:03' - name: With a seed ansible.builtin.debug: msg: "{{ '52:54:00' | community.general.random_mac(seed=inventory_hostname) }}" ''' RETURN = ''' _value: description: The generated MAC. type: string ''' import re from random import Random, SystemRandom from ansible.errors import AnsibleFilterError from ansible.module_utils.six import string_types def random_mac(value, seed=None): ''' takes string prefix, and return it completed with random bytes to get a complete 6 bytes MAC address ''' if not isinstance(value, string_types): raise AnsibleFilterError('Invalid value type (%s) for random_mac (%s)' % (type(value), value)) value = value.lower() mac_items = value.split(':') if len(mac_items) > 5: raise AnsibleFilterError('Invalid value (%s) for random_mac: 5 colon(:) separated' ' items max' % value) err = "" for mac in mac_items: if not mac: err += ",empty item" continue if not re.match('[a-f0-9]{2}', mac): err += ",%s not hexa byte" % mac err = err.strip(',') if err: raise AnsibleFilterError('Invalid value (%s) for random_mac: %s' % (value, err)) if seed is None: r = SystemRandom() else: r = Random(seed) # Generate random int between x1000000000 and xFFFFFFFFFF v = r.randint(68719476736, 1099511627775) # Select first n chars to complement input prefix remain = 2 * (6 - len(mac_items)) rnd = ('%x' % v)[:remain] return value + re.sub(r'(..)', r':\1', rnd) class FilterModule: ''' Ansible jinja2 filters ''' def filters(self): return { 'random_mac': random_mac, }
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply