remove client side validation on enums (#256)

Signed-off-by: Modular Magician <magic-modules@google.com>
This commit is contained in:
The Magician 2019-05-21 14:44:46 -07:00 committed by Alex Stephen
parent cae62bd7c4
commit b1795cda83
30 changed files with 76 additions and 91 deletions

View file

@ -311,7 +311,7 @@ def main():
options=dict(
domain=dict(type='str'),
group_by_email=dict(type='str'),
role=dict(type='str', choices=['READER', 'WRITER', 'OWNER']),
role=dict(type='str'),
special_group=dict(type='str'),
user_by_email=dict(type='str'),
view=dict(

View file

@ -917,7 +917,7 @@ def main():
),
),
),
time_partitioning=dict(type='dict', options=dict(expiration_ms=dict(type='int'), type=dict(type='str', choices=['DAY']))),
time_partitioning=dict(type='dict', options=dict(expiration_ms=dict(type='int'), type=dict(type='str'))),
schema=dict(
type='dict',
options=dict(
@ -927,9 +927,9 @@ def main():
options=dict(
description=dict(type='str'),
fields=dict(type='list', elements='str'),
mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']),
mode=dict(type='str'),
name=dict(type='str'),
type=dict(type='str', choices=['STRING', 'BYTES', 'INTEGER', 'FLOAT', 'TIMESTAMP', 'DATE', 'TIME', 'DATETIME', 'RECORD']),
type=dict(type='str'),
),
)
),
@ -940,10 +940,10 @@ def main():
type='dict',
options=dict(
autodetect=dict(type='bool'),
compression=dict(type='str', choices=['GZIP', 'NONE']),
compression=dict(type='str'),
ignore_unknown_values=dict(type='bool'),
max_bad_records=dict(default=0, type='int'),
source_format=dict(type='str', choices=['CSV', 'GOOGLE_SHEETS', 'NEWLINE_DELIMITED_JSON', 'AVRO', 'DATASTORE_BACKUP', 'BIGTABLE']),
source_format=dict(type='str'),
source_uris=dict(type='list', elements='str'),
schema=dict(
type='dict',
@ -954,9 +954,9 @@ def main():
options=dict(
description=dict(type='str'),
fields=dict(type='list', elements='str'),
mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']),
mode=dict(type='str'),
name=dict(type='str'),
type=dict(type='str', choices=['STRING', 'BYTES', 'INTEGER', 'FLOAT', 'TIMESTAMP', 'DATE', 'TIME', 'DATETIME', 'RECORD']),
type=dict(type='str'),
),
)
),
@ -967,7 +967,7 @@ def main():
options=dict(
allow_jagged_rows=dict(type='bool'),
allow_quoted_newlines=dict(type='bool'),
encoding=dict(type='str', choices=['UTF-8', 'ISO-8859-1']),
encoding=dict(type='str'),
field_delimiter=dict(type='str'),
quote=dict(type='str'),
skip_leading_rows=dict(default=0, type='int'),
@ -986,17 +986,17 @@ def main():
type='list',
elements='dict',
options=dict(
encoding=dict(type='str', choices=['TEXT', 'BINARY']),
encoding=dict(type='str'),
field_name=dict(type='str'),
only_read_latest=dict(type='bool'),
qualifier_string=dict(required=True, type='str'),
type=dict(type='str', choices=['BYTES', 'STRING', 'INTEGER', 'FLOAT', 'BOOLEAN']),
type=dict(type='str'),
),
),
encoding=dict(type='str', choices=['TEXT', 'BINARY']),
encoding=dict(type='str'),
family_id=dict(type='str'),
only_read_latest=dict(type='bool'),
type=dict(type='str', choices=['BYTES', 'STRING', 'INTEGER', 'FLOAT', 'BOOLEAN']),
type=dict(type='str'),
),
),
),

View file

@ -216,10 +216,10 @@ def main():
argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'),
address=dict(type='str'),
address_type=dict(default='EXTERNAL', type='str', choices=['INTERNAL', 'EXTERNAL']),
address_type=dict(default='EXTERNAL', type='str'),
description=dict(type='str'),
name=dict(required=True, type='str'),
network_tier=dict(type='str', choices=['PREMIUM', 'STANDARD']),
network_tier=dict(type='str'),
subnetwork=dict(type='dict'),
region=dict(required=True, type='str'),
)

View file

@ -636,7 +636,7 @@ def main():
type='list',
elements='dict',
options=dict(
balancing_mode=dict(default='UTILIZATION', type='str', choices=['UTILIZATION', 'RATE', 'CONNECTION']),
balancing_mode=dict(default='UTILIZATION', type='str'),
capacity_scaler=dict(default=1.0, type='str'),
description=dict(type='str'),
group=dict(type='str'),
@ -671,12 +671,12 @@ def main():
type='dict',
options=dict(enabled=dict(type='bool'), oauth2_client_id=dict(required=True, type='str'), oauth2_client_secret=dict(required=True, type='str')),
),
load_balancing_scheme=dict(default='EXTERNAL', type='str', choices=['EXTERNAL']),
load_balancing_scheme=dict(default='EXTERNAL', type='str'),
name=dict(required=True, type='str'),
port_name=dict(type='str'),
protocol=dict(type='str', choices=['HTTP', 'HTTPS', 'HTTP2', 'TCP', 'SSL']),
protocol=dict(type='str'),
security_policy=dict(type='str'),
session_affinity=dict(type='str', choices=['NONE', 'CLIENT_IP', 'GENERATED_COOKIE']),
session_affinity=dict(type='str'),
timeout_sec=dict(type='int', aliases=['timeout_seconds']),
)
)

View file

@ -431,7 +431,7 @@ def main():
denied=dict(type='list', elements='dict', options=dict(ip_protocol=dict(required=True, type='str'), ports=dict(type='list', elements='str'))),
description=dict(type='str'),
destination_ranges=dict(type='list', elements='str'),
direction=dict(type='str', choices=['INGRESS', 'EGRESS']),
direction=dict(type='str'),
disabled=dict(type='bool'),
name=dict(required=True, type='str'),
network=dict(default=dict(selfLink='global/networks/default'), type='dict'),

View file

@ -448,10 +448,10 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'),
ip_address=dict(type='str'),
ip_protocol=dict(type='str', choices=['TCP', 'UDP', 'ESP', 'AH', 'SCTP', 'ICMP']),
ip_protocol=dict(type='str'),
backend_service=dict(type='dict'),
ip_version=dict(type='str', choices=['IPV4', 'IPV6']),
load_balancing_scheme=dict(type='str', choices=['INTERNAL', 'EXTERNAL']),
ip_version=dict(type='str'),
load_balancing_scheme=dict(type='str'),
name=dict(required=True, type='str'),
network=dict(type='dict'),
port_range=dict(type='str'),
@ -459,7 +459,7 @@ def main():
subnetwork=dict(type='dict'),
target=dict(type='dict'),
all_ports=dict(type='bool'),
network_tier=dict(type='str', choices=['PREMIUM', 'STANDARD']),
network_tier=dict(type='str'),
service_label=dict(type='str'),
region=dict(required=True, type='str'),
)

View file

@ -175,8 +175,8 @@ def main():
address=dict(type='str'),
description=dict(type='str'),
name=dict(required=True, type='str'),
ip_version=dict(type='str', choices=['IPV4', 'IPV6']),
address_type=dict(default='EXTERNAL', type='str', choices=['EXTERNAL', 'INTERNAL']),
ip_version=dict(type='str'),
address_type=dict(default='EXTERNAL', type='str'),
)
)

View file

@ -356,9 +356,9 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'),
ip_address=dict(type='str'),
ip_protocol=dict(type='str', choices=['TCP', 'UDP', 'ESP', 'AH', 'SCTP', 'ICMP']),
ip_version=dict(type='str', choices=['IPV4', 'IPV6']),
load_balancing_scheme=dict(type='str', choices=['INTERNAL_SELF_MANAGED', 'EXTERNAL']),
ip_protocol=dict(type='str'),
ip_version=dict(type='str'),
load_balancing_scheme=dict(type='str'),
name=dict(required=True, type='str'),
network=dict(type='dict'),
port_range=dict(type='str'),

View file

@ -535,7 +535,7 @@ def main():
name=dict(required=True, type='str'),
timeout_sec=dict(default=5, type='int', aliases=['timeout_seconds']),
unhealthy_threshold=dict(default=2, type='int'),
type=dict(type='str', choices=['TCP', 'SSL', 'HTTP', 'HTTPS']),
type=dict(type='str'),
http_health_check=dict(
type='dict',
options=dict(
@ -544,7 +544,7 @@ def main():
response=dict(type='str'),
port=dict(type='int'),
port_name=dict(type='str'),
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']),
proxy_header=dict(default='NONE', type='str'),
),
),
https_health_check=dict(
@ -555,7 +555,7 @@ def main():
response=dict(type='str'),
port=dict(type='int'),
port_name=dict(type='str'),
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']),
proxy_header=dict(default='NONE', type='str'),
),
),
tcp_health_check=dict(
@ -565,7 +565,7 @@ def main():
response=dict(type='str'),
port=dict(type='int'),
port_name=dict(type='str'),
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']),
proxy_header=dict(default='NONE', type='str'),
),
),
ssl_health_check=dict(
@ -575,7 +575,7 @@ def main():
response=dict(type='str'),
port=dict(type='int'),
port_name=dict(type='str'),
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']),
proxy_header=dict(default='NONE', type='str'),
),
),
),

View file

@ -443,19 +443,16 @@ def main():
description=dict(type='str'),
disk_size_gb=dict(type='int'),
family=dict(type='str'),
guest_os_features=dict(type='list', elements='dict', options=dict(type=dict(type='str', choices=['VIRTIO_SCSI_MULTIQUEUE']))),
guest_os_features=dict(type='list', elements='dict', options=dict(type=dict(type='str'))),
image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'))),
labels=dict(type='dict'),
licenses=dict(type='list', elements='str'),
name=dict(required=True, type='str'),
raw_disk=dict(
type='dict',
options=dict(container_type=dict(type='str', choices=['TAR']), sha1_checksum=dict(type='str'), source=dict(required=True, type='str')),
),
raw_disk=dict(type='dict', options=dict(container_type=dict(type='str'), sha1_checksum=dict(type='str'), source=dict(required=True, type='str'))),
source_disk=dict(type='dict'),
source_disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'))),
source_disk_id=dict(type='str'),
source_type=dict(type='str', choices=['RAW']),
source_type=dict(type='str'),
)
)

View file

@ -902,10 +902,10 @@ def main():
source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'))),
),
),
interface=dict(type='str', choices=['SCSI', 'NVME']),
mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']),
interface=dict(type='str'),
mode=dict(type='str'),
source=dict(type='dict'),
type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']),
type=dict(type='str'),
),
),
guest_accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='int'), accelerator_type=dict(type='str'))),
@ -921,9 +921,7 @@ def main():
access_configs=dict(
type='list',
elements='dict',
options=dict(
name=dict(required=True, type='str'), nat_ip=dict(type='dict'), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])
),
options=dict(name=dict(required=True, type='str'), nat_ip=dict(type='dict'), type=dict(required=True, type='str')),
),
alias_ip_ranges=dict(type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str'))),
network=dict(type='dict'),
@ -935,7 +933,7 @@ def main():
type='dict', options=dict(automatic_restart=dict(type='bool'), on_host_maintenance=dict(type='str'), preemptible=dict(type='bool'))
),
service_accounts=dict(type='list', elements='dict', options=dict(email=dict(type='str'), scopes=dict(type='list', elements='str'))),
status=dict(type='str', choices=['PROVISIONING', 'STAGING', 'RUNNING', 'STOPPING', 'SUSPENDING', 'SUSPENDED', 'TERMINATED']),
status=dict(type='str'),
tags=dict(type='dict', options=dict(fingerprint=dict(type='str'), items=dict(type='list', elements='str'))),
zone=dict(required=True, type='str'),
)

View file

@ -875,10 +875,10 @@ def main():
source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'))),
),
),
interface=dict(type='str', choices=['SCSI', 'NVME']),
mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']),
interface=dict(type='str'),
mode=dict(type='str'),
source=dict(type='dict'),
type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']),
type=dict(type='str'),
),
),
machine_type=dict(required=True, type='str'),
@ -892,11 +892,7 @@ def main():
access_configs=dict(
type='list',
elements='dict',
options=dict(
name=dict(required=True, type='str'),
nat_ip=dict(type='dict'),
type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']),
),
options=dict(name=dict(required=True, type='str'), nat_ip=dict(type='dict'), type=dict(required=True, type='str')),
),
alias_ip_ranges=dict(
type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str'))

View file

@ -284,7 +284,7 @@ def main():
interconnect=dict(type='str'),
description=dict(type='str'),
edge_availability_domain=dict(type='str'),
type=dict(type='str', choices=['DEDICATED', 'PARTNER', 'PARTNER_PROVIDER']),
type=dict(type='str'),
router=dict(required=True, type='dict'),
name=dict(required=True, type='str'),
candidate_subnets=dict(type='list', elements='str'),

View file

@ -213,7 +213,7 @@ def main():
ipv4_range=dict(type='str'),
name=dict(required=True, type='str'),
auto_create_subnetworks=dict(type='bool'),
routing_config=dict(type='dict', options=dict(routing_mode=dict(required=True, type='str', choices=['REGIONAL', 'GLOBAL']))),
routing_config=dict(type='dict', options=dict(routing_mode=dict(required=True, type='str'))),
),
mutually_exclusive=[['auto_create_subnetworks', 'ipv4_range']],
)

View file

@ -264,7 +264,7 @@ def main():
type='dict',
options=dict(
asn=dict(required=True, type='int'),
advertise_mode=dict(default='DEFAULT', type='str', choices=['DEFAULT', 'CUSTOM']),
advertise_mode=dict(default='DEFAULT', type='str'),
advertised_groups=dict(type='list', elements='str'),
advertised_ip_ranges=dict(type='list', elements='dict', options=dict(range=dict(type='str'), description=dict(type='str'))),
),

View file

@ -209,8 +209,8 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'),
name=dict(required=True, type='str'),
profile=dict(type='str', choices=['COMPATIBLE', 'MODERN', 'RESTRICTED', 'CUSTOM']),
min_tls_version=dict(type='str', choices=['TLS_1_0', 'TLS_1_1', 'TLS_1_2']),
profile=dict(type='str'),
min_tls_version=dict(type='str'),
custom_features=dict(type='list', elements='str'),
)
)

View file

@ -266,7 +266,7 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'),
name=dict(required=True, type='str'),
quic_override=dict(type='str', choices=['NONE', 'ENABLE', 'DISABLE']),
quic_override=dict(type='str'),
ssl_certificates=dict(required=True, type='list', elements='dict'),
ssl_policy=dict(type='dict'),
url_map=dict(required=True, type='dict'),

View file

@ -256,7 +256,7 @@ def main():
health_check=dict(type='dict'),
instances=dict(type='list', elements='dict'),
name=dict(required=True, type='str'),
session_affinity=dict(type='str', choices=['NONE', 'CLIENT_IP', 'CLIENT_IP_PROTO']),
session_affinity=dict(type='str'),
region=dict(required=True, type='str'),
)
)

View file

@ -251,7 +251,7 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'),
name=dict(required=True, type='str'),
proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']),
proxy_header=dict(type='str'),
service=dict(required=True, type='dict'),
ssl_certificates=dict(required=True, type='list', elements='dict'),
ssl_policy=dict(type='dict'),

View file

@ -197,7 +197,7 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'),
name=dict(required=True, type='str'),
proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']),
proxy_header=dict(type='str'),
service=dict(required=True, type='dict'),
)
)

View file

@ -651,8 +651,8 @@ def main():
),
),
master_auth=dict(type='dict', options=dict(username=dict(type='str'), password=dict(type='str'))),
logging_service=dict(type='str', choices=['logging.googleapis.com', 'none']),
monitoring_service=dict(type='str', choices=['monitoring.googleapis.com', 'none']),
logging_service=dict(type='str'),
monitoring_service=dict(type='str'),
network=dict(type='str'),
private_cluster_config=dict(
type='dict',

View file

@ -219,7 +219,7 @@ def main():
name=dict(required=True, type='str'),
name_server_set=dict(type='str'),
labels=dict(type='dict'),
visibility=dict(default='public', type='str', choices=['private', 'public']),
visibility=dict(default='public', type='str'),
private_visibility_config=dict(type='dict', options=dict(networks=dict(type='list', elements='dict', options=dict(network_url=dict(type='str'))))),
)
)

View file

@ -170,7 +170,7 @@ def main():
argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'),
name=dict(required=True, type='str'),
type=dict(required=True, type='str', choices=['A', 'AAAA', 'CAA', 'CNAME', 'MX', 'NAPTR', 'NS', 'PTR', 'SOA', 'SPF', 'SRV', 'TLSA', 'TXT']),
type=dict(required=True, type='str'),
ttl=dict(type='int'),
target=dict(type='list', elements='str'),
managed_zone=dict(required=True, type='dict'),

View file

@ -149,7 +149,7 @@ def main():
title=dict(type='str'),
description=dict(type='str'),
included_permissions=dict(type='list', elements='str'),
stage=dict(type='str', choices=['ALPHA', 'BETA', 'GA', 'DEPRECATED', 'DISABLED', 'EAP']),
stage=dict(type='str'),
)
)

View file

@ -175,8 +175,8 @@ def main():
module = GcpModule(
argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'),
private_key_type=dict(type='str', choices=['TYPE_UNSPECIFIED', 'TYPE_PKCS12_FILE', 'TYPE_GOOGLE_CREDENTIALS_FILE']),
key_algorithm=dict(type='str', choices=['KEY_ALG_UNSPECIFIED', 'KEY_ALG_RSA_1024', 'KEY_ALG_RSA_2048']),
private_key_type=dict(type='str'),
key_algorithm=dict(type='str'),
service_account=dict(type='dict'),
path=dict(type='path'),
)

View file

@ -280,7 +280,7 @@ def main():
memory_size_gb=dict(required=True, type='int'),
redis_version=dict(type='str'),
reserved_ip_range=dict(type='str'),
tier=dict(default='BASIC', type='str', choices=['BASIC', 'STANDARD_HA']),
tier=dict(default='BASIC', type='str'),
region=dict(required=True, type='str'),
)
)

View file

@ -607,11 +607,11 @@ def main():
module = GcpModule(
argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'),
backend_type=dict(type='str', choices=['FIRST_GEN', 'SECOND_GEN', 'EXTERNAL']),
backend_type=dict(type='str'),
connection_name=dict(type='str'),
database_version=dict(type='str', choices=['MYSQL_5_5', 'MYSQL_5_6', 'MYSQL_5_7', 'POSTGRES_9_6']),
database_version=dict(type='str'),
failover_replica=dict(type='dict', options=dict(name=dict(type='str'))),
instance_type=dict(type='str', choices=['CLOUD_SQL_INSTANCE', 'ON_PREMISES_INSTANCE', 'READ_REPLICA_INSTANCE']),
instance_type=dict(type='str'),
ipv6_address=dict(type='str'),
master_instance_name=dict(type='str'),
max_disk_size=dict(type='int'),
@ -654,7 +654,7 @@ def main():
),
),
tier=dict(type='str'),
availability_type=dict(type='str', choices=['ZONAL', 'REGIONAL']),
availability_type=dict(type='str'),
backup_configuration=dict(
type='dict', options=dict(enabled=dict(type='bool'), binary_log_enabled=dict(type='bool'), start_time=dict(type='str'))
),

View file

@ -745,10 +745,8 @@ def main():
bucket=dict(required=True, type='dict'),
entity=dict(required=True, type='str'),
entity_id=dict(type='str'),
project_team=dict(
type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']))
),
role=dict(type='str', choices=['OWNER', 'READER', 'WRITER']),
project_team=dict(type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str'))),
role=dict(type='str'),
),
),
cors=dict(
@ -768,7 +766,7 @@ def main():
bucket=dict(required=True, type='dict'),
entity=dict(required=True, type='str'),
object=dict(type='str'),
role=dict(required=True, type='str', choices=['OWNER', 'READER']),
role=dict(required=True, type='str'),
),
),
lifecycle=dict(
@ -778,9 +776,7 @@ def main():
type='list',
elements='dict',
options=dict(
action=dict(
type='dict', options=dict(storage_class=dict(type='str'), type=dict(type='str', choices=['Delete', 'SetStorageClass']))
),
action=dict(type='dict', options=dict(storage_class=dict(type='str'), type=dict(type='str'))),
condition=dict(
type='dict',
options=dict(
@ -800,13 +796,11 @@ def main():
metageneration=dict(type='int'),
name=dict(type='str'),
owner=dict(type='dict', options=dict(entity=dict(type='str'))),
storage_class=dict(type='str', choices=['MULTI_REGIONAL', 'REGIONAL', 'STANDARD', 'NEARLINE', 'COLDLINE', 'DURABLE_REDUCED_AVAILABILITY']),
storage_class=dict(type='str'),
versioning=dict(type='dict', options=dict(enabled=dict(type='bool'))),
website=dict(type='dict', options=dict(main_page_suffix=dict(type='str'), not_found_page=dict(type='str'))),
project=dict(type='str'),
predefined_default_object_acl=dict(
type='str', choices=['authenticatedRead', 'bucketOwnerFullControl', 'bucketOwnerRead', 'private', 'projectPrivate', 'publicRead']
),
predefined_default_object_acl=dict(type='str'),
)
)

View file

@ -207,8 +207,8 @@ def main():
bucket=dict(required=True, type='dict'),
entity=dict(required=True, type='str'),
entity_id=dict(type='str'),
project_team=dict(type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']))),
role=dict(type='str', choices=['OWNER', 'READER', 'WRITER']),
project_team=dict(type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str'))),
role=dict(type='str'),
)
)

View file

@ -140,7 +140,7 @@ def main():
module = GcpModule(
argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'),
action=dict(type='str', choices=['download', 'upload']),
action=dict(type='str'),
overwrite=dict(type='bool'),
src=dict(type='path'),
dest=dict(type='path'),