Igor Khomyakov
9a599e35c1
fixed 'present'
2016-12-08 11:23:25 -05:00
Micheal Waltz
f36666ae1d
Use proper HostConfig element which contians the proper Memory value - fixes #1766
2016-12-08 11:23:25 -05:00
Lars Kellogg-Stedman
3d79d96a1b
restore mem_limit
...
mem_limit got lost in the #1744 ; this restores it. Thanks to @dgromov
for the report.
2016-12-08 11:23:25 -05:00
Lars Kellogg-Stedman
562341049e
docker: fix parsing of docker __version__ string
...
If `docker.__version__` contains non-digit characters, such as:
>>> import docker
>>> docker.__version__
'1.4.0-dev'
Then `get_docker_py_versioninfo` will fail with:
ValueError: invalid literal for int() with base 10: '0-de'
This patch corrects the parsing of the version string so that
`get_docker_py_versioninfo` in this example would return:
(1, 4, 0, '-dev')
2016-12-08 11:23:25 -05:00
Mike Putnam
9623cd570c
Add missing GPLv3 License header
...
Fixes #1643
2016-12-08 11:23:25 -05:00
Ash Caire
682bf34a43
add headers param to s3 uploads
2016-12-08 11:23:25 -05:00
Dan
5b4e7c797f
Added header support
...
Added the ability to pass custom http headers to the fetch_url method.
2016-12-08 11:23:25 -05:00
KIKUCHI Koichiro
dab7305d3b
Fix service enabled check failure on FreeBSD
2016-12-08 11:23:25 -05:00
Sébastien Gross
0fd3ece053
Allow '*' as empty password.
...
If `password` is defined as `*` `useradd` or `usermod` returns an error:
msg: usermod: Invalid password: `*'
This works very well on Linux host to not define any password for a
user (mainly useful if your setup is only based on SSH keys for
auth). On OpenBSD this does not work, so we have to ignore the encrypted
password parameter if it defined as `*`.
2016-12-08 11:23:25 -05:00
Andrey Trubachev
b93633d7c2
Fix python-2.4 compatibility
2016-12-08 11:23:25 -05:00
Andrey Trubachev
c55187ff42
Fix 'wait_for' doesn't work with ipv6only host
2016-12-08 11:23:25 -05:00
khassen
8b60dd349d
Use the common/shared MD5 function.
2016-12-08 11:23:25 -05:00
Brian Coca
f15ce1433a
added version_added to body_format in uri
2016-12-08 11:23:25 -05:00
fti7
581ce7dd32
mount: Support for Check-Mode
2016-12-08 11:23:24 -05:00
Greg DeKoenigsberg
ffb1cab213
Add new policy guidelines for Core
2016-12-08 11:23:24 -05:00
Johan Haals
6a9a4d905a
ensures API compatibility for read_only containers
2016-12-08 11:23:24 -05:00
Guilherme Carlos
aaac05c96c
Fix login_user on mysql_user
...
`login_username` was provided but `login_user` is the correct option
2016-12-08 11:23:24 -05:00
Toshio Kuratomi
55271467d4
Remove validate_certs as the url is not user settable so we always want to validate the certificate
2016-12-08 11:23:24 -05:00
Artur Cygan
d71b1444a9
Update route53.py
...
Fix typos
2016-12-08 11:23:24 -05:00
Chris Church
d8f5a34d85
Save user after creating before trying to read/set other properties. Fixes #1241
2016-12-08 11:23:24 -05:00
Johan Haals
c88feaff7e
changed version_added for read_only param
...
this feature will be released in 2.0
2016-12-08 11:23:24 -05:00
Baraa Basata
63a619fbae
Fix iam_policy example
2016-12-08 11:23:24 -05:00
Will Thames
e5d96dc934
Correct handling of empty role_attr_flags
...
role_attr_flags is the empty string by default, not None.
2016-12-08 11:23:24 -05:00
Yuhui Huang
621b396bd9
Checking pip uninstall output in both stdout and stderr
2016-12-08 11:23:24 -05:00
Johan Haals
6231a9d52f
Added support for --read-only Docker containers
...
Adds support for mounting the container's root filesystem as read only.
2016-12-08 11:23:24 -05:00
Constantin
7a7b8b913a
Added additional stat output values
...
Included in the output as well:
- file extension
- file attributes
- file owner
- creation, last access and last write timestamps (in UNIX format)
2016-12-08 11:23:24 -05:00
Jeff Widman
70b3290a3b
Move validate command into doc fragment and fix a few typos
2016-12-08 11:23:24 -05:00
Chris AtLee
e7af5d2384
Add support for 'update' parameter to hg module
2016-12-08 11:23:24 -05:00
Jesse Sandberg
807feb3ac4
Validate variable, return only the found variable value instead of tuple
...
Docs imply the mysql_variables is used to operate a single variable therefore
- fail before making any db connections if variable is not set
- validate chars for mysql variable name with re.match(^[a-z0-9_]+)
- use "SHOW VARIABLE WHERE Variable_name" instead of LIKE search
- getvariable() returns only the value or None if variable is not found
- the module returns only the found variable value instead of tuple for easier operation eg. as registere variable in tasks
2016-12-08 11:23:24 -05:00
sysadmin75
9bd58bd224
Fix to revoke privileges for mysql user = '' Issue #9848
2016-12-08 11:23:24 -05:00
Christian Hammerl
426ec96ea5
docker: add support to add/drop capabilities
2016-12-08 11:23:23 -05:00
Brian Coca
9b38e47d70
added rickmendes as maintainer
2016-12-08 11:23:23 -05:00
Brian Coca
1976ed931a
minor doc fixes to docker_user
2016-12-08 11:23:23 -05:00
Brian Coca
b62a6f01ab
added version_Added for new signal option in docker module
2016-12-08 11:23:23 -05:00
Brian Coca
723a48ca73
added versionadded to new option in pip module
2016-12-08 11:23:23 -05:00
Brian Coca
07fedaa03a
corrected v ersion added
2016-12-08 11:23:23 -05:00
ayush
f46daacf67
Updated doc strings so each character isn't considered a line
2016-12-08 11:23:23 -05:00
Toshio Kuratomi
8eba30b488
Deprecated _ec2_ami_search now verifies SSL certificates
2016-12-08 11:23:23 -05:00
Daniel Kerwin
277065a302
Too late for 1.8
2016-12-08 11:23:23 -05:00
Daniel Kerwin
3a68101fa3
Switch to _cap_ver_req and add cpu_set to create_containers
2016-12-08 11:23:23 -05:00
Alan Scherger
861d260b6c
fix docs; only delete network if fwname is not provided
2016-12-08 11:23:23 -05:00
HelenaTian
1b614172f5
Update gce.py to correctly handle propagated metadata type from a mother template
...
My project is using Ansible to automate cloud build process. Ansible has a core module gce.py for managing GCE instances.
We've come across a use case that's not yet supported - when executing ansible-playbook, if a child template is included, then metadata which is defined in and propagated from the mother template is treated as string type and not parsed correctly(which instead is dictionary type), and triggers release flow failure.
We currently put some fix by explicitly casting metadata to string type in our own branch, but would like to contribute the fix to Ansible so that everyone onboarding GCE and using Ansible for release management could benefit from it, or hear owner's opinion on fixing the issue if there's a better fix in owner's mind:)
2016-12-08 11:23:23 -05:00
Petros Moisiadis
68ef885e71
make migrate command idempotent with django built-in migrations
...
Django since version 1.7 has built-in migrations, so no need to have south installed with recent django versions. The 'migrate' command works with built-in migrations without any change, but the output is different than the output produced by south, which breaks idempotence. This commit fixes this.
2016-12-08 11:23:23 -05:00
nemunaire
f37510ebaa
Add optional signal parameter when killing docker container
2016-12-08 11:23:23 -05:00
Isaac Simmons
07ccd3c86b
Handle ini file properties that contain interpolation errors in the initial values
2016-12-08 11:23:23 -05:00
Wouter Bolsterlee
3d7e3e3c3d
Add a virtualenv_python argument to the pip module
...
This allows specifying the Python version to use when creating the
virtualenv. See issue #586 .
2016-12-08 11:23:23 -05:00
Wouter Bolsterlee
5a0157a4f2
A few coding style cleanups
2016-12-08 11:23:22 -05:00
Wouter Bolsterlee
e8a0b8b8ae
Fix typo in version_added
field.
2016-12-08 11:23:22 -05:00
Daniel Kerwin
5b029bde98
Renamed to cpu_set
2016-12-08 11:23:22 -05:00
Daniel Kerwin
940baa92a6
Add support for cpusets. Requires docker-py >= 0.6.0
2016-12-08 11:23:22 -05:00
Brian Coca
87c8d016dc
added version_Added to get_url's force_basic_auth
2016-12-08 11:23:22 -05:00
Patrik Lundin
88881415e9
synchronize: add flag for verifying target host.
...
Add the possibility to verify the target host using a "verify_host"
flag. It is disabled by default to not change the module behaviour.
2016-12-08 11:23:22 -05:00
Brian Coca
7a6c8251dd
prevent usless assignment of home
2016-12-08 11:23:22 -05:00
bambou
ac41e7c669
Check if the gid is set
2016-12-08 11:23:22 -05:00
Brian Coca
fedd1bed1f
minor doc fixes, version added for latest feature
2016-12-08 11:23:22 -05:00
Herby Gillot
c0676f93f5
rds: add the ability to reboot RDS instances
2016-12-08 11:23:22 -05:00
Eero Niemi
1f560f8dae
Fixed parameter validation when creating a volume from a snapshot
2016-12-08 11:23:22 -05:00
whiter
2dc689894c
Added 'resource_tags' alias
2016-12-08 11:23:22 -05:00
Brian Coca
a0b0c022b8
corrected version_added
2016-12-08 11:23:22 -05:00
Brian Coca
6980503357
updated to add missing 'use' option
2016-12-08 11:23:22 -05:00
David Shrewsbury
014459e5ef
Add new os_nova_flavor module.
...
The os_nova_flavor module allows a user with administrative privileges
to create and delete nova flavors.
2016-12-08 11:23:22 -05:00
Brian Coca
ec6e75f1cc
attempt to fix check mode when state='absent'
2016-12-08 11:23:21 -05:00
Mischa ter Smitten
10cae0acb3
The tilde expansion doesn't work with user.home
2016-12-08 11:23:21 -05:00
HAMSIK Adam
e04a4a4114
Use mutually_exclusive in AnsibleModule
2016-12-08 11:23:21 -05:00
otdw
8740b44205
removed required together for resource pools, clusters, and template deployments. fixes inability to deploy from template on vsphere clusters without resource pools. Also, resource pools and cluster should not be required together as they are independant in vsphere
2016-12-08 11:23:21 -05:00
Iiro Uusitalo
d6fc0ac5be
uri.py is not using module_utils/urls.py from ansible core
2016-12-08 11:23:21 -05:00
HAMSIK Adam
3d3be5e91f
Fix missing ,
2016-12-08 11:23:21 -05:00
whiter
a5a9c92fcd
Fixed dicts comparison for tags
2016-12-08 11:23:21 -05:00
Brian Coca
e4dd0d98d4
now captures any exceptions when trying to create directories
2016-12-08 11:23:21 -05:00
whiter
54b02ee0da
ec2_vpc_net refactor
2016-12-08 11:23:21 -05:00
HAMSIK Adam
b7a13e263f
Add version
2016-12-08 11:23:21 -05:00
HAMSIK Adam
05df069176
Add module parameter for security group name. This make ec2_elb_lb module consitent with others
2016-12-08 11:23:21 -05:00
Maksim Losev
482d8da2dc
Use HostConfig object when creating container with Docker Remote API > 1.15
...
This is mlosev's patch (from #1208 ), rebased against devel as of
2790af2
. It resolves #1707 , which was caused by an API incompatibility
between the docker module and server API version 1.19.
2016-12-08 11:23:21 -05:00
Lars Kellogg-Stedman
e031efd82c
Do not erroneously mask exceptions
...
There was a catch-all `except` statement in `create_containers`:
try:
containers = do_create(count, params)
except:
self.pull_image()
containers = do_create(count, params)
This would mask a variety of errors that should be exposed, including
API compatability errors (as in #1707 ) and common Python exceptions (KeyError, ValueError, etc) that could result from errors in the code.
This change makes the `except` statement more specific, and only attempts to pull the image and start a container if the original create attempt failed due to a 404 error from the docker API.
2016-12-08 11:23:21 -05:00
Lars Kellogg-Stedman
6116e4cdab
docker: permit empty or false pid
...
The `docker` Python module only accepts `None` or `'host'` as arguments.
This makes it difficult to conditionally set the `pid` attribute using
standard Ansible syntax.
This change converts any value that evaluates as boolean `False` to
`None`, which includes empty strings:
pid:
As well as an explicit `false`:
pid: false
This permits the following to work as intended:
- hosts: localhost
tasks:
- name: starting container
docker:
docker_api_version: 1.18
image: larsks/mini-httpd
name: web
pid: "{{ container_pid|default('') }}"
If `container_pid` is set to `host` somewhere, this will create a
Docker container with `pid=host`; otherwise, this will create a
container with normal isolated pid namespace.
2016-12-08 11:23:21 -05:00
Brian Coca
9e54efd3fd
fixed version added, reworded description a bit
2016-12-08 11:23:21 -05:00
Brian Coca
16a4ff3462
fixed minor doc issues
2016-12-08 11:23:21 -05:00
Brian Coca
0cab021168
Revert "Revert "ec2_lc - include all launch config properties in the return""
2016-12-08 11:23:20 -05:00
Brian Coca
af8ded66cc
Revert "ec2_lc - include all launch config properties in the return"
2016-12-08 11:23:20 -05:00
Toshio Kuratomi
a655241488
Minor touch ups of vsphere_guest code.
2016-12-08 11:23:20 -05:00
Brian Coca
60d160a2e9
Also document in example that unarchive download was added in 2.0
2016-12-08 11:23:20 -05:00
Mitchell Ludwig
b664603a4d
Improved stat documentation
2016-12-08 11:23:20 -05:00
Frank van Tol
39e24e89f4
Remove default port value, it does not work in _requires_destroy_and_create logic
...
When creating a Redis cluster, every run it gets destroyed and recreated because the port number of memcached is used as the default.
2016-12-08 11:23:20 -05:00
Frank van Tol
6655cd89c4
Update elasticache.py
2016-12-08 11:23:20 -05:00
Frank van Tol
426f93a291
Remove default for engine_version
...
Redis and memcached have different engine version numbering, there can not be a shared default value.
2016-12-08 11:23:20 -05:00
Nicholas O'Connor
b95cb3f4e9
Created option snapshot_to_clone. When specified, snapshot_to_clone will create a linked clone copy of the VM.
2016-12-08 11:23:20 -05:00
Apoorva Kulkarni
1f35e578b4
s3 module: Add missing version tag to "encrypt" parameter
2016-12-08 11:23:20 -05:00
Chris Church
31a01305ba
Set force=yes as the default, add force parameter to module docs.
2016-12-08 11:23:20 -05:00
James Cammarata
5efeeb156b
Correctly default crypt_scheme in htpasswd
2016-12-08 11:23:20 -05:00
Chris Faulkner
18b157fbac
Report change status on django_manage collectstatic.
2016-12-08 11:23:20 -05:00
Evan Carter
d3ef622627
Adding default cooldown to AWS ASG
2016-12-08 11:23:20 -05:00
vanga
ddd399fe7a
Throw error if encryption is set while passing a snapshot id
2016-12-08 11:23:20 -05:00
Chris Meyers
0dbf41e740
ensure password or ssh cert specified
2016-12-08 11:23:20 -05:00
Tom Paine
e97124d609
Update vsphere_guest.py
2016-12-08 11:23:20 -05:00
acaveroc
dda41fd95a
Add version_added and type of parameter
2016-12-08 11:23:19 -05:00
acaveroc
2c6f69c95e
Assorted minor bug fixes
...
- Modified data type for port definition from string to integer
- Modified login_host default value for compatibilize with port definition according with MySQL Documentation (https://dev.mysql.com/doc/refman/5.0/en/connecting.html )
2016-12-08 11:23:19 -05:00
acaveroc
1283fdd118
Add port definition support for mysql_vars module
2016-12-08 11:23:19 -05:00
Joel Thompson
f1ab33ad7b
Adding ability to filter AWS Route 53 private hosted zones by attached VPC
2016-12-08 11:23:19 -05:00
Hennadiy (Gena) Verkh
098126807d
Update uri.py
...
Added methods 'TRACE', 'CONNECT' from https://www.rfc-editor.org/rfc/rfc2616.txt , section 5.1.1
Added method 'REFRESH'
2016-12-08 11:23:19 -05:00
Tal Auslander
8766641871
use ConvertTo-Bool for the force parameter
2016-12-08 11:23:19 -05:00
Tal Auslander
64f19fc4c6
stop reading from url on error
2016-12-08 11:23:19 -05:00
Tal Auslander
9c6d829991
add force parameter to win_get_url
2016-12-08 11:23:19 -05:00
Tal Auslander
26a54897a2
win_get_url re-download file only if modified
2016-12-08 11:23:19 -05:00
Hennadiy (Gena) Verkh
852c232b2d
Removed method restriction in uri module
2016-12-08 11:23:19 -05:00
Ian Babrou
9219aeaaeb
Pulling missing docker image before doing anything
2016-12-08 11:23:19 -05:00
Nic O'Connor
c68d1ffa60
Added the ability to Linked_clone from snapshot
2016-12-08 11:23:19 -05:00
Simon Olofsson
a3cb6d2f16
Add option docker_user for docker module.
...
docker_user can be used to specify the user or UID to use within the
container.
2016-12-08 11:23:19 -05:00
Iiro Uusitalo
b92dabb9fb
Refactor force basic auth, now all modules which use fetch_url() can use force_basic_auth
2016-12-08 11:23:19 -05:00
Toshio Kuratomi
05be82183f
Add notes about loop squashing and 1.9.2 change to install packages in one yum transaction
2016-12-08 11:23:19 -05:00
Monty Taylor
8e26a7ae17
Fix a small typo in parameter processing
2016-12-08 11:23:19 -05:00
Brian Coca
f8f4a7dcdf
added ignore hidden to assemble
2016-12-08 11:23:18 -05:00
Jesse Keating
16381fb5c0
Plumb ipv6 modes into os_subnet
...
Shade already supports these, we just need to plumb them into the module
code.
2016-12-08 11:23:18 -05:00
Jesse Keating
72809ac329
Fix up docs
2016-12-08 11:23:18 -05:00
Sean Chittenden
4c8b573e2c
Fix group mod and group add for FreeBSD
2016-12-08 11:23:18 -05:00
Juho-Mikko Pellinen
29620b78fa
Change the default flag value to None to prevent AWS complaining: "Instance creation failed => InvalidBlockDeviceMapping: the encrypted flag cannot be specified since device /dev/sda1 has a snapshot specified."
2016-12-08 11:23:18 -05:00
Monty Taylor
530f12035b
Update docstring to show port ranges as optional
2016-12-08 11:23:18 -05:00
David Shrewsbury
789c1fcbe7
Correct port matching logic
...
Port matching logic did not take into account recent shade change
to equate (None, None) to (1, 65535) when Nova is the backend.
Also, this encapsulates the port matching logic into a single function
and heavily documents the logic.
2016-12-08 11:23:18 -05:00
Flyte
2f46364921
Provide correct kwargs to rds2 connection when making a final snapshot
2016-12-08 11:23:18 -05:00
David Shrewsbury
387fe5b0e7
Change required parameters for rules module
...
The ports and protocol are no longer required (and now depends on
a new version of shade).
2016-12-08 11:23:18 -05:00
Davide Guerri
531b93490b
Fix reuse argument documentation
2016-12-08 11:23:18 -05:00
Davide Guerri
95cfe3da96
Update os_floating_ip with new shade methods
2016-12-08 11:23:18 -05:00
Monty Taylor
4f2028439f
Use int in the parameter list instead of casting
2016-12-08 11:23:18 -05:00
dagnello
2c3fc61357
Resolving issues in rule comparison algorithm
...
Port range min/max values are at times represented as string and
compared to int equivalents. This fix explicitly ensures all
port range values are ints for proper comparisons.
2016-12-08 11:23:18 -05:00
David Shrewsbury
e7dd93c5c1
Compare ports as strings
...
Ports as returned from shade are ints. They are strings as they come
in to the module.
2016-12-08 11:23:18 -05:00
David Shrewsbury
14212c37e2
Fix syntax error
2016-12-08 11:23:18 -05:00
Monty Taylor
60102e36e2
Return rule object
2016-12-08 11:23:18 -05:00
David Shrewsbury
174254a423
Update secgroup rules module for latest shade
...
This allows the rules module to work against either nova or neutron
for handling security groups. New parameters for 'direction' and
'ethertype' are added.
Check mode is supported with this version.
2016-12-08 11:23:18 -05:00
David Shrewsbury
fcc1d643f6
Recongnize None and -1 port equivalency
...
shade 0.7.0 represents disabled min/max ports as None (in the
neutron style) rather than -1. Recognize this as the same as -1.
2016-12-08 11:23:17 -05:00
David Shrewsbury
b42a9d56e6
Fix id value reference
2016-12-08 11:23:17 -05:00
David Shrewsbury
f02ec15c17
Update rules mode for latest shade
...
Shade 0.7.0 normalized the security group data that is returned,
when using nova, to look more like neutron security group data.
This adjusts for that change.
2016-12-08 11:23:17 -05:00
dagnello
ecef2aadba
Minor fixes for os_security_group_rule module
...
Was not able to use this module as it was. The changes submitted
resolved the issues I ran into in order to get it working.
2016-12-08 11:23:17 -05:00
Davide Guerri
2d7dbc5d0c
Fix invalid syntax in openstack_module_kwargs call
2016-12-08 11:23:17 -05:00
Monty Taylor
9acc891477
Fix example code syntax
2016-12-08 11:23:17 -05:00
0tmc
6e4c5e0a12
Use of proper fstab file on FreeBSD
2016-12-08 11:23:17 -05:00
Monty Taylor
a657e80bc8
Add OpenStack Floating IP Module
...
Also deprecate the two old quantum floating ip modules.
2016-12-08 11:23:17 -05:00
Monty Taylor
8d5e43c14f
Add OpenStack Security Group Rule module
2016-12-08 11:23:17 -05:00
Juho-Mikko Pellinen
321244d881
Remove empty aliases
2016-12-08 11:23:17 -05:00
Juho-Mikko Pellinen
54af79692a
Add version number
2016-12-08 11:23:17 -05:00
Juho-Mikko Pellinen
f016cb556b
Fix hosted_zone_id after rebase.
2016-12-08 11:23:17 -05:00
Juho-Mikko Pellinen
3f2d1e6bfa
Add support for specifying unique hosted zone identifier
2016-12-08 11:23:17 -05:00
Scott Miller
62b6cf85d3
Update cloudformation.py
...
Fix for inaccurate phrasing
2016-12-08 11:23:17 -05:00
Brian Coca
e7dc05df11
updated upgrade to a more sensible default as the previous was prone to confusion fixes #1667
2016-12-08 11:23:17 -05:00
Robb Wagoner
848e9de950
remove double dict & fix increment bug
2016-12-08 11:23:16 -05:00
Mike Putnam
0e6e3e097e
Upstream docs show launch_config_name as required.
...
http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AutoScalingGroup.html
Fixes #11209
Ansible behavior is correct, this commit just updates the docs to
reflect that correctness.
2016-12-08 11:23:16 -05:00
verm666
ac40d9f41a
fix authorized_keys in check_mode
...
This change is in response to issue #1515 .
Original pull request #1580 .
The original problem is: in authorized_key module you have no idea about users
which will be created by Ansible at first run. I can propose next two ways to
solve this problem:
1. Combine modules system/user.py and system/authorized_key.py in one module
(so you will know everything about users in that module)
2. Use small workaround: add my commit and always provide 'path' parameter
for authorized_key module during runs with --check option.
2016-12-08 11:23:16 -05:00
Matthew Gilliard
17a40aa259
Handle race condition in directory creation.
...
If we try to make a directory, but someone else creates the directory
at the same time as us, we don't need to raise that error to the user.
They asked for the directory to exist, and now it does. This fixes
the race condition which was causing that error to be raised, and
closes #1648 .
2016-12-08 11:23:16 -05:00
Matt Martz
f33a8b09a9
Remove unnecessary imports in a docs only file for win_copy
2016-12-08 11:23:16 -05:00
Matt Martz
d47de74ade
Replaced tabbed indentation with spaces for group module
2016-12-08 11:23:16 -05:00
Matt Martz
30d5c1166c
Replaced tabbed indentation with spaces for subversion module
2016-12-08 11:23:16 -05:00
Matt Martz
a0f5ae8726
Replaced tabbed indentation with spaces for apt module
2016-12-08 11:23:16 -05:00