Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/modules/network/f5/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyo

�
�Udac@`s�ddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
Z
ddlmZdd
lm
Z
y�ddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZWn�ek
r�ddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZnXdefd��YZ de fd��YZ!de fd��YZ"de fd��YZ#de#fd ��YZ$d!e#fd"��YZ%d#e&fd$��YZ'd%e&fd&��YZ(d'e&fd(��YZ)d)�Z*e+d*kr�e*�ndS(+i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	certifiedtsupported_bysM@
---
module: bigip_profile_http
short_description: Manage HTTP profiles on a BIG-IP
description:
  - Manage HTTP profiles on a BIG-IP.
version_added: 2.7
options:
  name:
    description:
      - Specifies the name of the profile.
    type: str
    required: True
  parent:
    description:
      - Specifies the profile from which this profile inherits settings.
      - When creating a new profile, if this parameter is not specified, the default
        is the system-supplied C(http) profile.
    type: str
    default: /Common/http
  description:
    description:
      - Description of the profile.
    type: str
  proxy_type:
    description:
      - Specifies the proxy mode for the profile.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: str
    choices:
      - reverse
      - transparent
      - explicit
  dns_resolver:
    description:
      - Specifies the name of a configured DNS resolver, this option is mandatory when C(proxy_type)
        is set to C(explicit).
      - Format of the name can be either be prepended by partition (C(/Common/foo)), or specified
        just as an object name (C(foo)).
      - To remove the entry a value of C(none) or C('') can be set, however the profile C(proxy_type)
        must not be set as C(explicit).
    type: str
  insert_xforwarded_for:
    description:
      - When specified system inserts an X-Forwarded-For header in an HTTP request
        with the client IP address, to use with connection pooling.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: bool
  redirect_rewrite:
    description:
      - Specifies whether the system rewrites the URIs that are part of HTTP
        redirect (3XX) responses.
      - When set to C(none) the system will not rewrite the URI in any
        HTTP redirect responses.
      - When set to C(all) the system rewrites the URI in all HTTP redirect responses.
      - When set to C(matching) the system rewrites the URI in any
        HTTP redirect responses that match the request URI.
      - When set to C(nodes) if the URI contains a node IP address instead of a host name,
        the system changes it to the virtual server address.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: str
    choices:
      - none
      - all
      - matching
      - nodes
  encrypt_cookies:
    description:
      - Cookie names for the system to encrypt.
      - To remove the entry completely a value of C(none) or C('') should be set.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: list
  encrypt_cookie_secret:
    description:
      - Passphrase for cookie encryption.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: str
  update_password:
    description:
      - C(always) will update passwords if the C(encrypt_cookie_secret) is specified.
      - C(on_create) will only set the password for newly created profiles.
    type: str
    choices:
      - always
      - on_create
    default: always
  header_erase:
    description:
      - The name of a header, in an HTTP request, which the system removes from request.
      - To remove the entry completely a value of C(none) or C('') should be set.
      - The format of the header must be in C(KEY:VALUE) format, otherwise error is raised.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: str
    version_added: 2.8
  header_insert:
    description:
      - A string that the system inserts as a header in an HTTP request.
      - To remove the entry completely a value of C(none) or C('') should be set.
      - The format of the header must be in C(KEY:VALUE) format, otherwise error is raised.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: str
    version_added: 2.8
  server_agent_name:
    description:
      - Specifies the string used as the server name in traffic generated by BIG-IP.
      - To remove the entry completely a value of C(none) or C('') should be set.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: str
    version_added: 2.8
  include_subdomains:
    description:
      - When set to C(yes), applies the HSTS policy to the HSTS host and its sub-domains.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: bool
    version_added: 2.8
  maximum_age:
    description:
      - Specifies the maximum length of time, in seconds, that HSTS functionality
        requests that clients only use HTTPS to connect to the current host and
        any sub-domains of the current host's domain name.
      - The accepted value range is C(0 - 4294967295) seconds, a value of C(0) seconds
        re-enables plaintext HTTP access, while specifying C(indefinite) will set it to the maximum value.
      - When creating a new profile, if this parameter is not specified, the
        default is provided by the parent profile.
    type: str
    version_added: 2.8
  hsts_mode:
    description:
      - When set to C(yes), enables the HSTS settings.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    type: bool
    version_added: 2.8
  accept_xff:
    description:
      - Enables or disables trusting the client IP address, and statistics from the client IP address,
        based on the request's XFF (X-forwarded-for) headers, if they exist.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    type: bool
    version_added: 2.9
  xff_alternative_names:
    description:
      - Specifies alternative XFF headers instead of the default X-forwarded-for header.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    type: list
    version_added: 2.9
  fallback_host:
    description:
      - Specifies an HTTP fallback host.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    type: str
    version_added: 2.9
  fallback_status_codes:
    description:
      - Specifies one or more HTTP error codes from server responses that should trigger
        a redirection to the fallback host.
      - The accepted valid error codes are as defined by rfc2616.
      - The codes can be specified as individual items or as valid ranges e.g. C(400-417) or C(500-505).
      - Mixing response code range across error types is invalid e.g. defining C(400-505) will raise an error.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    type: list
    version_added: 2.9
  oneconnect_transformations:
    description:
      - Enables the system to perform HTTP header transformations for the purpose of keeping server-side
        connections open. This feature requires configuration of a OneConnect profile.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    type: bool
    version_added: 2.9
  request_chunking:
    description:
      - Specifies how to handle chunked and unchunked requests.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    type: str
    choices:
      - rechunk
      - selective
      - preserve
    version_added: 2.9
  response_chunking:
    description:
      - Specifies how to handle chunked and unchunked responses.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    type: str
    choices:
      - rechunk
      - selective
      - preserve
    version_added: 2.9
  enforcement:
    description:
      - Specifies protocol enforcement settings for the HTTP profile.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    suboptions:
      truncated_redirects:
        description:
          - Specifies what happens if a truncated redirect is seen from a server.
          - If C(yes), the redirect will be forwarded to the client, otherwise the malformed HTTP
            will be silently ignored.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: bool
      excess_client_headers:
        description:
          - Specifies the behavior when too many client headers are received.
          - If set to C(pass-through), will switch to pass through mode, when C(reject) the connection will be rejected.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
        choices:
          - reject
          - pass-through
      excess_server_headers:
        description:
          - Specifies the behavior when too many server headers are received.
          - If set to C(pass-through), will switch to pass through mode, when C(reject) the connection will be rejected.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
        choices:
          - reject
          - pass-through
      oversize_client_headers:
        description:
          - Specifies the behavior when too-large client headers are received.
          - If set to C(pass-through), will switch to pass through mode, when C(reject) the connection will be rejected.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
        choices:
          - reject
          - pass-through
      oversize_server_headers:
        description:
          - Specifies the behavior when too-large server headers are received.
          - If set to C(pass-through), will switch to pass through mode, when C(reject) the connection will be rejected.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
        choices:
          - reject
          - pass-through
      pipeline:
        description:
          - Enables HTTP/1.1 pipelining, allowing clients to make requests even when prior requests have not received
            a response.
          - In order for this to succeed, however, destination servers must include support for pipelining.
          - If set to C(pass-through), pipelined data will cause the BIG-IP to immediately switch to pass-through mode
            and disable the HTTP filter.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
        choices:
          - allow
          - reject
          - pass-through
      unknown_method:
        description:
          - Specifies whether to allow, reject or switch to pass-through mode when an unknown HTTP method is parsed.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
        choices:
          - allow
          - reject
          - pass-through
      max_header_count:
        description:
          - Specifies the maximum number of headers allowed in HTTP request/response.
          - The valid value range is between 16 and 4096 inclusive.
          - When set to C(default) the value of this parameter will be C(64)
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
      max_header_size:
        description:
          - Specifies the maximum header size specified in bytes.
          - The valid value range is between 0 and 4294967295 inclusive.
          - When set to C(default) the value of this parameter will be C(32768) bytes
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
      max_requests:
        description:
          - Specifies the number of requests that the system accepts on a per-connection basis.
          - The valid value range is between 0 and 4294967295 inclusive.
          - When set to C(default) the value of this parameter will be C(0), which means the system
            will not limit the number of requests per connection.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: str
      known_methods:
        description:
          - Specifies which HTTP methods count as being known, removing RFC-defined methods from this list
            will cause the HTTP filter to not recognize them.
          - "The default list provided with the system include: C(CONNECT), C(DELETE), C(GET),
            C(HEAD), C(LOCK), C(OPTIONS), C(POST), C(PROPFIND), C(PUT), C(TRACE) ,C(UNLOCK). The list can be appended by
            by specifying C(default) keyword as one of the list elements."
          - The C(default) keyword can also be used to restore the default C(known_methods) on the system.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: list
    type: dict
    version_added: 2.9
  sflow:
    description:
      - Specifies sFlow settings for the HTTP profile.
      - When creating a new profile, if this parameter is not specified, the default is provided by the parent profile.
    suboptions:
      poll_interval:
        description:
          - Specifies the maximum interval in seconds between two pollings.
          - The valid value range is between 0 and 4294967295 seconds inclusive.
          - For this setting to take effect the C(poll_interval_global) parameter must be set to C(no).
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: int
      poll_interval_global:
        description:
          - Specifies whether the global HTTP poll-interval setting overrides the object-level Cpoll-interval setting.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: bool
      sampling_rate:
        description:
          - Specifies the ratio of packets observed to the samples generated. For example, a sampling rate of C(2000)
            specifies that 1 sample will be randomly generated for every 2000 packets observed.
          - The valid value range is between 0 and 4294967295 packets inclusive.
          - For this setting to take effect the C(sampling_rate_global) parameter must be set to C(no).
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: int
      sampling_rate_global:
        description:
          - Specifies whether the global HTTP sampling-rate setting overrides the object-level sampling-rate setting.
          - When creating a new profile, if this parameter is not specified, the default is provided
            by the parent profile.
        type: bool
    type: dict
    version_added: 2.9
  partition:
    description:
      - Device partition to manage resources on.
    type: str
    default: Common
  state:
    description:
      - When C(present), ensures that the profile exists.
      - When C(absent), ensures the profile is removed.
    type: str
    choices:
      - present
      - absent
    default: present
extends_documentation_fragment: f5
author:
  - Wojciech Wypior (@wojtek0806)
s�
- name: Create HTTP profile
  bigip_profile_http:
    name: my_profile
    insert_xforwarded_for: yes
    redirect_rewrite: all
    state: present
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: Remove HTTP profile
  bigip_profile_http:
    name: my_profile
    state: absent
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Add HTTP profile for transparent proxy
  bigip_profile_http:
    name: my_profile
    proxy_type: transparent
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost
sq
parent:
  description: Specifies the profile from which this profile inherits settings.
  returned: changed
  type: str
  sample: /Common/http
description:
  description: Description of the profile.
  returned: changed
  type: str
  sample: My profile
proxy_type:
  description: Specify proxy mode of the profile.
  returned: changed
  type: str
  sample: explicit
hsts_mode:
  description: Enables the HSTS settings.
  returned: changed
  type: bool
  sample: no
maximum_age:
  description: The maximum length of time, in seconds, that HSTS functionality requests that clients only use HTTPS.
  returned: changed
  type: str
  sample: indefinite
include_subdomains:
  description: Applies the HSTS policy to the HSTS host and its sub-domains.
  returned: changed
  type: bool
  sample: yes
server_agent_name:
  description: The string used as the server name in traffic generated by BIG-IP.
  returned: changed
  type: str
  sample: foobar
header_erase:
  description: The name of a header, in an HTTP request, which the system removes from request.
  returned: changed
  type: str
  sample: FOO:BAR
header_insert:
  description: The string that the system inserts as a header in an HTTP request.
  returned: changed
  type: str
  sample: FOO:BAR
insert_xforwarded_for:
  description: Insert X-Forwarded-For-Header.
  returned: changed
  type: bool
  sample: yes
redirect_rewrite:
  description: Rewrite URI that are part of 3xx responses.
  returned: changed
  type: str
  sample: all
encrypt_cookies:
  description: Cookie names to encrypt.
  returned: changed
  type: list
  sample: ['MyCookie1', 'MyCookie2']
dns_resolver:
  description: Configured dns resolver.
  returned: changed
  type: str
  sample: '/Common/FooBar'
accept_xff:
  description: Enables or disables trusting the client IP address, and statistics from the client IP address.
  returned: changed
  type: bool
  sample: yes
xff_alternative_names:
  description: Specifies alternative XFF headers instead of the default X-forwarded-for header.
  returned: changed
  type: list
  sample: ['FooBar', 'client1']
fallback_host:
  description: Specifies an HTTP fallback host.
  returned: changed
  type: str
  sample: 'foobar.com'
fallback_status_codes:
  description: HTTP error codes from server responses that should trigger a redirection to the fallback host.
  returned: changed
  type: list
  sample: ['400-404', '500', '501']
oneconnect_transformations:
  description: Enables or disables HTTP header transformations.
  returned: changed
  type: bool
  sample: no
request_chunking:
  description: Specifies how to handle chunked and unchunked requests.
  returned: changed
  type: str
  sample: rechunk
response_chunking:
  description: Specifies how to handle chunked and unchunked responses.
  returned: changed
  type: str
  sample: rechunk
enforcement:
  description: Specifies protocol enforcement settings for the HTTP profile.
  type: complex
  returned: changed
  contains:
    truncated_redirects:
      description: Specifies what happens if a truncated redirect is seen from a server.
      returned: changed
      type: bool
      sample: yes
    excess_server_headers:
      description: Specifies the behavior when too many server headers are received.
      returned: changed
      type: str
      sample: pass-through
    oversize_client_headers:
      description: Specifies the behavior when too-large client headers are received.
      returned: changed
      type: str
      sample: reject
    oversize_server_headers:
      description: Specifies the behavior when too-large server headers are received.
      returned: changed
      type: str
      sample: reject
    pipeline:
      description: Allows, rejects or switches to pass-through mode when dealing with pipelined data.
      returned: changed
      type: str
      sample: allow
    unknown_method:
      description: Allows, rejects or switches to pass-through mode when an unknown HTTP method is parsed.
      returned: changed
      type: str
      sample: allow
    max_header_count:
      description: The maximum number of headers allowed in HTTP request/response.
      returned: changed
      type: str
      sample: 4096
    max_header_size:
      description: The maximum header size specified in bytes.
      returned: changed
      type: str
      sample: default
    max_requests:
      description: The number of requests that the system accepts on a per-connection basis.
      returned: changed
      type: str
      sample: default
    known_methods:
      description: The list of known HTTP methods.
      returned: changed
      type: list
      sample: ['default', 'FOO', 'BAR']
  sample: hash/dictionary of values
sflow:
  description: Specifies sFlow settings for the HTTP profile.
  type: complex
  returned: changed
  contains:
    poll_interval:
      description: Specifies the maximum interval in seconds between two pollings.
      returned: changed
      type: int
      sample: 30
    poll_interval_global:
      description: Enables/Disables overriding HTTP poll-interval setting.
      returned: changed
      type: bool
      sample: yes
    sampling_rate:
      description: Specifies the ratio of packets observed to the samples generated.
      returned: changed
      type: int
      sample: 2000
    sampling_rate_global:
      description: Enables/Disables overriding HTTP sampling-rate setting.
      returned: changed
      type: bool
      sample: yes
  sample: hash/dictionary of values
N(t
AnsibleModule(tenv_fallback(tF5RestClient(t
F5ModuleError(tAnsibleF5Parameters(tfq_name(tf5_argument_spec(tflatten_boolean(ttransform_name(tcmp_simple_list(tcheck_header_validityt
Parametersc$B`s�eZidd6dd6dd6dd6dd	6d
d6dd
6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6Zdd(dddd	dd
ddd)ddddd!d#d%d'd*d+gZdd(dddd
dd,dddddddddd d"d$d&d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;g$Zd(ddddd
d,dddddddddd d"d$d&d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;g#ZRS(<tparenttdefaultsFromtinsert_xforwarded_fortinsertXforwardedFortredirect_rewritetredirectRewritetencrypt_cookiestencryptCookiestencrypt_cookie_secrettencryptCookieSecrett
proxy_typet	proxyTypetexplicit_proxyt
explicitProxytheader_erasetheaderEraset
header_inserttheaderInserttserver_agent_nametserverAgentNametinclude_subdomainstincludeSubdomainstmaximum_aget
maximumAget	hsts_modetmodet
accept_xfft	acceptXfftxff_alternative_namestxffAlternativeNamest
fallback_hosttfallbackHosttfallback_status_codestfallbackStatusCodestoneconnect_transformationstoneconnectTransformationstrequest_chunkingtrequestChunkingtresponse_chunkingtresponseChunkingtdescriptionthststenforcementtsflowtdns_resolverttruncated_redirectstexcess_client_headerstexcess_server_headerstoversize_client_headerstoversize_server_headerstpipelinetunknown_methodtmax_header_counttmax_header_sizetmax_requestst
known_methodst
poll_intervaltpoll_interval_globalt
sampling_ratetsampling_rate_global(t__name__t
__module__tapi_maptapi_attributestreturnablest
updatables(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRss�
		t
ApiParameterscB`s4eZed��Zed��Zed��Zed��Zed��Zed��Zed��Z	ed��Z
ed��Zed	��Zed
��Z
ed��Zed��Zed
��Zed��Zed��Zed��Zed��Zed��Zed��ZRS(cC`s|jddS(NR?tpollInterval(t_values(tself((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRL�scC`s|jddS(NR?tpollIntervalGlobal(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRM�scC`s|jddS(NR?tsamplingRate(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRN�scC`s|jddS(NR?tsamplingRateGlobal(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRO�scC`s|jddS(NR>ttruncatedRedirects(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRAscC`s|jddS(NR>texcessClientHeaders(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRBscC`s|jddS(NR>texcessServerHeaders(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRC
scC`s|jddS(NR>toversizeClientHeaders(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRDscC`s|jddS(NR>toversizeServerHeaders(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyREscC`s|jddS(NR>RF(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRFscC`s|jddS(NR>t
unknownMethod(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRGscC`s|jddS(NR>tmaxHeaderCount(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRHscC`s|jddS(NR>t
maxHeaderSize(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRI"scC`s|jddS(NR>tmaxRequests(RX(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRJ&scC`s|jdjdd�S(NR>tknownMethods(RXtgettNone(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRK*scC`s=|jddkrdSd|jdkr9|jddSdS(NR tdnsResolver(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR@.scC`s=|jddkrdSd|jdkr9|jddSdS(NR tdnsResolverReference(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pytdns_resolver_address5scC`s&|jddkrdS|jddS(NR=R)(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR(<scC`s&|jddkrdS|jddS(NR=R-(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR,BscC`s&|jddkrdS|jddS(NR=R+(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR*Hs(RPRQtpropertyRLRMRNRORARBRCRDRERFRGRHRIRJRKR@RkR(R,R*(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRV�s(tModuleParameterscB`s�eZed��Zed��Zed��Zed��Zed��Zed��Zed��Z	ed��Z
ed��Zed	��Zed
��Z
ed��Zed��Zed
��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Z RS(cC`s7t|jd�}|dkr#dS|dkr3dSdS(NR.tyestenabledtdisabled(RRXRh(RYtresult((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR.PscC`s�|jddkrdSd}d}xW|jdD]H}tj||�}|r1tj||�}|rytd��qyq1q1W|jdS(NR4s(?!([4][0-1][0-7]))\d{3}s(?!(50[0-5]))\d{3}s6Invalid HTTP error code or error code range specified.(RXRhtretsearchR(RYtp1tp2tcodet	match_4xxt	match_5xx((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR4YscC`s7t|jd�}|dkr#dS|dkr3dSdS(NR6RnRoRp(RRXRh(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR6kscC`su|jddkrdS|jddkrj|jdksH|jdkrjtdj|jd���qjn|jdS(NRtexplicittsAA proxy type cannot be set to {0} without providing DNS resolver.(RXRhR@Rtformat(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRtscC`s^|jddkrdS|jddks=|jddkrAdSt|j|jd�}|S(NR@Rztnone(RXRhR
t	partition(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR@s&cC`sO|j}|dkrdS|jd�}tddj|d|d��}|S(Nt/tlinks3https://localhost/mgmt/tm/net/dns-resolver/~{0}~{1}ii(R@RhtsplittdictR{(RYtresolverttmpR((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRk�s	#cC`s7t|jd�}|dkr#dS|dkr3dSdS(NRRnRoRp(RRXRh(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�scC`s4|jddkrdSt|j|jd�}|S(NR(RXRhR
R}(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�scC`sU|jddkrdS|jddgksC|jddgkrJt�S|jdS(NRRzR|(RXRhtlist(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�s
,cC`s2|jdkrdStd|jd|j�}|S(NRiRj(R@RhR�Rk(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR �s	cC`s7t|jd�}|dkr#dS|dkr3dSdS(NR(RnRoRp(RRXRh(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR(�scC`sx|jddkrdS|jddkr.dSdt|jd�koRdknrht|jd�Std��dS(NR*t
indefiniteI����isEValid 'maximum_age' must be in range 0 - 4294967295, or 'indefinite'.(RXRhtintR(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR*�s)cC`s7t|jd�}|dkr#dS|dkr3dSdS(NR,RnRoRp(RRXRh(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR,�scC`sB|jd}|dkrdS|dkr4|jdSt|�|S(NR"R|Rz(snoneRz(RXRhR(RYR"((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR"�s

cC`sB|jd}|dkrdS|dkr4|jdSt|�|S(NR$R|Rz(snoneRz(RXRhR(RYR$((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR$�s

cC`s&|jddkrdS|jddS(NR>RB(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRB�scC`s&|jddkrdS|jddS(NR>RC(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRC�scC`s&|jddkrdS|jddS(NR>RD(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRD�scC`s&|jddkrdS|jddS(NR>RE(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRE�scC`s&|jddkrdS|jddS(NR>RF(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRF�scC`s&|jddkrdS|jddS(NR>RG(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRGscC`sR|jddkrdSt|jdd�}|dkr>dS|dkrNdSdS(NR>RARnRoRp(RXRhR(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRA	scC`s�|jddkrdS|jdddkr2dS|jdddkrMdSdt|jdd�koudknr�t|jdd�Std��dS(NR>RHtdefaulti@iisBValid 'max_header_count' must be in range 16 - 4096, or 'default'.(RXRhR�R(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRHs-cC`s�|jddkrdS|jdddkr2dS|jdddkrMdSdt|jdd�koudknr�t|jdd�Std��dS(NR>RIR�i�iI����sFValid 'max_header_size' must be in range 0 - 4294967295, or 'default'.(RXRhR�R(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRI"s-cC`s�|jddkrdS|jdddkr2dS|jdddkrMdSdt|jdd�koudknr�t|jdd�Std��dS(NR>RJR�iI����sCValid 'max_requests' must be in range 0 - 4294967295, or 'default'.(RXRhR�R(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRJ0s-cC`s�|jddkrdSdddddddd	d
ddg}|jdd
}|dkr_dSt|�dkr�|ddkr�|S|ddkr�gSnd|kr�g|D]}|dkr�|^q�}|j|�|Sg|D]}|^q�}|S(NR>tCONNECTtDELETEtGETtHEADtLOCKtOPTIONStPOSTtPROPFINDtPUTtTRACEtUNLOCKRKiiR�Rz(RXRhtlentextend(RYtdefaultstknowntmethodt	to_returnRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRK>s"'%
cC`sx|jddkrdS|jdddkr2dSd|jddkoTdknrh|jddStd��dS(NR?RLiI����s>Valid 'poll_interval' must be in range 0 - 4294967295 seconds.(RXRhR(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRLRs'cC`sx|jddkrdS|jdddkr2dSd|jddkoTdknrh|jddStd��dS(NR?RNiI����s>Valid 'sampling_rate' must be in range 0 - 4294967295 packets.(RXRhR(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRN^s'cC`s2|jddkrdSt|jdd�}|S(NR?RM(RXRhR(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRMjscC`s2|jddkrdSt|jdd�}|S(NR?RO(RXRhR(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyROqs(!RPRQRlR.R4R6RR@RkRRRR R(R*R,R"R$RBRCRDRERFRGRARHRIRJRKRLRNRMRO(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRmOs<					
		

tChangescB`seZd�ZRS(cC`sXi}y:x$|jD]}t||�||<qW|j|�}Wntk
rSnX|S(N(RTtgetattrt_filter_paramst	Exception(RYRqt
returnable((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�zs
(RPRQR�(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�yst
UsableChangescB`sDeZed��Zed��Zed��Zed��ZRS(cC`set�}|jddk	r0|jd|d<n|jddk	rW|jd|d<n|sadS|S(NR@RiRkRj(R�RXRh(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR �s	cC`s�t�}|jddk	r0|jd|d<n|jddk	rW|jd|d<n|jddk	r~|jd|d<n|s�dS|S(NR,R-R*R+R(R)(R�RXRh(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR=�s	cC`s�td|jdd|jdd|jdd|jdd	|jd
d|jdd
|jdd|jdd|jdd|jdd|jd�}|j|�}|r�|SdS(NR^RBR_RCRfRKRcRHRdRIReRJR`RDRaRERFR]RARbRG(R�RXR�(RYt	to_filterRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR>�s









c
C`sZtd|jdd|jdd|jdd|jd�}|j|�}|rV|SdS(	NRWRLRZRMR[RNR\RO(R�RXR�(RYR�Rq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR?�s


(RPRQRlR R=R>R?(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR��s
tReportableChangescB`seZdddddddddd	d
ddd
dddddddddgZed��Zed��Zed��Zed��Zed��Zed��Z	ed��Z
ed��Zed��Zed ��Z
ed!��Zed"��Zed#��ZRS($RR<RRRRR R@R,R*R(R&R"R$R.R0R2R4R6R8R:R>R?cC`s2|jddkrdS|jddkr.dSdS(NRRoRntno(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�s
cC`s2|jddkrdS|jddkr.dSdS(NR,RoRnR�(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR,�s
cC`s2|jddkrdS|jddkr.dSdS(NR(RoRnR�(RXRh(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR(�s
cC`s?|jddkrdS|jddkr.dSt|jd�S(NR*I����R�(RXRhR�(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR*�s
cC`st|jd�}|S(NRA(RRX(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRA�scC`s?|jddkrdS|jddkr.dSt|jd�S(NRHi@R�(RXRhtstr(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRH�s
cC`s?|jddkrdS|jddkr.dSt|jd�S(NRIi�R�(RXRhR�(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRIs
cC`s?|jddkrdS|jddkr.dSt|jd�S(NRJiR�(RXRhR�(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRJs
cC`s�ddddddddd	d
dg}|jd}|dkrDdS|sQd
gSt|�t|�krpdgSt|�jt|��r�g|D]}||kr�|^q�}|jd�|S|S(NR�R�R�R�R�R�R�R�R�R�R�RKRzR�(RXRhtsett
issupersettappend(RYR�R�titemRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRKs'
%
cC`s�td|jdd|jdd|jd|jd|jd|jd|jdd|jdd	|jd	d
|jd|jd�}|j|�}|r�|SdS(NRBRCRKRHRIRJRDRERFRARG(R�RXRKRHRIRJRAR�(RYR�Rq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR>&s

				


	cC`st|jd�}|S(NR.(RRX(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR.9scC`st|jd�}|S(NR6(RRX(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR6>sc
C`sZtd|jdd|jdd|jdd|jd�}|j|�}|rV|SdS(NRLRMRNRO(R�RXR�(RYR�Rq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR?Cs


(RPRQRTRlRR,R(R*RARHRIRJRKR>R.R6R?(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR��sH	t
DifferencecB`s�eZd
d�Zd�Zd�Zed��Zed��Zed��Z	ed��Z
ed��Zed��Zed	��Z
ed
��Zed��Zed��ZRS(cC`s||_||_dS(N(twantthave(RYR�R�((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyt__init__Qs	cC`s9yt||�}|SWntk
r4|j|�SXdS(N(R�tAttributeErrort_Difference__default(RYtparamRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pytcompareUs

cC`sQt|j|�}y&t|j|�}||kr7|SWntk
rL|SXdS(N(R�R�R�R�(RYR�tattr1tattr2((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyt	__default\s
cC`s+|jj|jjkr'td��ndS(Ns)The parent http profile cannot be changed(R�RR�R(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRescC`s�|jjdkrdS|jjdkr�|jjdksL|jjdkrPdS|jjdkr�|jjdkr�tdj|jj���q�|jjdk	r�|jjSn|jjdkr�|jjSdS(NRzR|RysWDNS resolver cannot be empty or 'none' if an existing profile proxy type is set to {0}.(R�R@RhR�RRR{(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR@ls$$
cC`sg|jjdkrdS|jjdkrA|jjdkrAdSn|jj|jjkrc|jjSdS(NR|Rz(snoneRz(Nsnone(R�R"RhR�(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR"|scC`sg|jjdkrdS|jjdkrA|jjdkrAdSn|jj|jjkrc|jjSdS(NR|Rz(snoneRz(Nsnone(R�R$RhR�(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR$�scC`sg|jjdkrdS|jjdkrA|jjdkrAdSn|jj|jjkrc|jjSdS(NR|Rz(snoneRz(Nsnone(R�R&RhR�(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR&�scC`s}|jjdkrdS|jjdggkrK|jjs>dS|jjSnt|jj�t|jj�kry|jjSdS(N(R�RRhR�R�(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�s
$cC`sA|jj|jjkr=|jjdkr=|jj}|SndS(Ntalways(R�RR�tupdate_password(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�scC`st|jj|jj�}|S(N(RR�R0R�(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR0�scC`st|jj|jj�}|S(N(RR�R4R�(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR4�scC`st|jj|jj�}|S(N(RR�RKR�(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyRK�sN(RPRQRhR�R�R�RlRR@R"R$R&RRR0R4RK(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�Ps			


t
ModuleManagercB`s�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�ZRS(cO`s^|jdd�|_t|jj�|_td|jj�|_t�|_	t
�|_dS(Ntmoduletparams(RgRhR�R
R�tclientRmR�RVR�R�tchanges(RYtargstkwargs((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR��s
cC`sji}xBtjD]7}t|j|�dk	rt|j|�||<qqW|rftd|�|_ndS(NR�(RRTR�R�RhR�R�(RYtchangedtkey((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyt_set_changed_options�scC`s�t|j|j�}tj}t�}xX|D]P}|j|�}|dkrUq.q.t|t�rt|j	|�q.|||<q.W|r�t
d|�|_tSt
S(NR�(R�R�R�RRUR�R�Rht
isinstancetupdateR�R�tTruetFalse(RYtdiffRUR�tktchange((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyt_update_changed_options�s		
cC`s|j�}|rtStS(N(R�R�R�(RYRq((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyt
should_update�scC`s�t}t�}|jj}|dkr6|j�}n|dkrQ|j�}ntd|jj��}|j�}|j	|�|j	td|��|j
|�|S(NtpresenttabsentR�R�(R�R�R�tstateR�R�R�R�R�R�t_announce_deprecations(RYR�RqR�t
reportableR�((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pytexec_module�s	

cC`sK|jdg�}x2|D]*}|jjjd|dd|d�qWdS(Nt
__warningstmsgtversion(tpopR�R�t	deprecate(RYRqtwarningstwarning((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR��s


cC`s$|j�r|j�S|j�SdS(N(texistsR�tcreate(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR��s
cC`s|j�r|j�StS(N(R�tremoveR�(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�s
cC`s=|j�|_|j�stS|jjr/tS|j�tS(N(tread_current_from_deviceR�R�R�R�t
check_modeR�tupdate_on_device(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�s
cC`s9|jjrtS|j�|j�r5td��ntS(NsFailed to delete the resource.(R�R�R�tremove_from_deviceR�R(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�s
cC`s(|j�|jjrtS|j�tS(N(R�R�R�R�tcreate_on_device(RY((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�s


cC`s�dj|jjd|jjdt|jj|jj��}|jjj|�}y|j	�}Wnt
k
rwtSX|jdks�d|kr�|ddkr�tSt
S(Ns,https://{0}:{1}/mgmt/tm/ltm/profile/http/{2}tservertserver_porti�Rv(R{R�tproviderRR�R}tnametapiRgtjsont
ValueErrorR�RR�(RYturitresptresponse((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR� s


+cC`s�|jj�}|jj|d<|jj|d<dj|jjd|jjd�}|jjj	|d|�}y|j
�}Wn%tk
r�}tt
|���nXd|kr�|dd
kr�d|kr�t|d��q�t|j��n|dS(NR�R}s)https://{0}:{1}/mgmt/tm/ltm/profile/http/R�R�R�Rvi�i�i�tmessagetselfLink(i�i�i�(R�t
api_paramsR�R�R}R{R�R�R�tpostR�R�RR�tcontent(RYR�R�R�R�tex((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�/s 
cC`s�|jj�}dj|jjd|jjdt|jj|jj��}|jj	j
|d|�}y|j�}Wn%tk
r�}t
t|���nXd|kr�|dd	kr�d|kr�t
|d��q�t
|j��ndS(
Ns,https://{0}:{1}/mgmt/tm/ltm/profile/http/{2}R�R�R�Rvi�i�R�(i�i�(R�R�R{R�R�RR�R}R�R�tpatchR�R�RR�R�(RYR�R�R�R�R�((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�Ds

cC`sydj|jjd|jjdt|jj|jj��}|jjj|�}|j	dkrft
St|j��dS(Ns,https://{0}:{1}/mgmt/tm/ltm/profile/http/{2}R�R�i�(
R{R�R�RR�R}R�R�tdeleteRR�RR�(RYR�R�((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�Ws

cC`s�dj|jjd|jjdt|jj|jj��}|jjj|�}y|j	�}Wn%t
k
r�}tt|���nXd|kr�|ddkr�d|kr�t|d��q�t|j
��ntd|�S(Ns,https://{0}:{1}/mgmt/tm/ltm/profile/http/{2}R�R�Rvi�R�R�(R{R�R�RR�R}R�R�RgR�R�RR�R�RV(RYR�R�R�R�((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�bs

(RPRQR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR��s 																tArgumentSpeccB`seZd�ZRS(cMC`st|_dddg|_ddg|_dddg|_tdtdt�d	td
d�dt�d
tdd�dtdd�dt�dtdd�dtdd�dtd|j�dtd|j�dtddddg�dt�dtdd�dtddd d!d"g�d#tdd�d$td%t�d&td
d'dd'd(g�d)t�d*t�d+t�d,tdd�d-t�d.tdd�d/tdd0d1td2tdd�d3td|j�d4td|j�d5td|j�d6td|j�d7td|j�d8td|j�d9t�d:t�d;t�d<tdd���d=tdd0d1td>tdd?�d@tdd�dAtdd?�dBtdd���dCtd
dDddDdEg�dFtd
dGdHtdIgf��}i|_|jjt	�|jj|�dS(JNtrechunkt	selectivetpreservespass-throughtrejecttallowR�trequiredRR�s/Common/httpR<R.ttypetboolR0R�R2R4R6R8tchoicesR:RtreversettransparentRyR@RRR|talltmatchingtnodesRRtno_logR�R�t	on_createR"R$R&R,R*R(R>R�toptionsRARBRCRDRERFRGRHRIRJRKR?RLR�RMRNROR�R�R�R}tCommontfallbacktF5_PARTITION(
R�tsupports_check_modetchunkR�tselectR�R	t
argument_specR�R(RYR((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�ws�												(RPRQR�(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyR�vscC`s�t�}td|jd|j�}y,td|�}|j�}|j|�Wn)tk
r{}|jdt	|��nXdS(NRRR�R�(
R�RRRR�R�t	exit_jsonRt	fail_jsonR�(tspecR�tmmtresultsR�((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pytmain�s		t__main__(,t
__future__RRRR�t
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNRrtansible.module_utils.basicRR	t%library.module_utils.network.f5.bigipR
t&library.module_utils.network.f5.commonRRR
RRRt'library.module_utils.network.f5.compareRt$library.module_utils.network.f5.urlsRtImportErrort%ansible.module_utils.network.f5.bigipt&ansible.module_utils.network.f5.commont'ansible.module_utils.network.f5.comparet$ansible.module_utils.network.f5.urlsRRVRmR�R�R�tobjectR�R�R�RRP(((sQ/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_profile_http.pyt<module>sX


�p"�
~^�+9�m�V	

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]