{"name":"f5bigip","version":"3.20.1","description":"A Pulumi package for creating and managing F5 BigIP resources.","keywords":["pulumi","f5","bigip"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`bigip` Terraform Provider](https://github.com/F5Networks/terraform-provider-bigip).","repository":"https://github.com/pulumi/pulumi-f5bigip","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"cm":"CM","f5bigip":"F5BigIP","index":"Index","ltm":"Ltm","net":"Net","ssl":"Ssl","sys":"Sys","vcmp":"VCMP"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageDescription":"A Pulumi package for creating and managing F5 BigIP resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/F5Networks/terraform-provider-bigip)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-f5bigip` repo](https://github.com/pulumi/pulumi-f5bigip/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-bigip` repo](https://github.com/F5Networks/terraform-provider-bigip/issues).","devDependencies":{"@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/F5Networks/terraform-provider-bigip)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-f5bigip` repo](https://github.com/pulumi/pulumi-f5bigip/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-bigip` repo](https://github.com/F5Networks/terraform-provider-bigip/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"address":{"type":"string","description":"Domain name/IP of the BigIP"},"apiRetries":{"type":"integer","description":"Amount of times to retry AS3 API requests. Default: 10."},"apiTimeout":{"type":"integer","description":"A timeout for AS3 requests, represented as a number of seconds. Default: 60"},"loginRef":{"type":"string","description":"Login reference for token authentication (see BIG-IP REST docs for details)"},"password":{"type":"string","description":"The user's password. Leave empty if using token_value"},"port":{"type":"string","description":"Management Port to connect to Bigip"},"teemDisable":{"type":"boolean","description":"If this flag set to true,sending telemetry data to TEEM will be disabled"},"tokenAuth":{"type":"boolean","description":"Enable to use token authentication. Can be set via the BIGIP_TOKEN_AUTH environment variable"},"tokenTimeout":{"type":"integer","description":"A lifespan to request for the AS3 auth token, represented as a number of seconds. Default: 1200"},"tokenValue":{"type":"string","description":"A token generated outside the provider, in place of password"},"trustedCertPath":{"type":"string","description":"Valid Trusted Certificate path"},"username":{"type":"string","description":"Username with API access to the BigIP"},"validateCertsDisable":{"type":"boolean","description":"If set to true, Disables TLS certificate check on BIG-IP. Default : True"}}},"types":{"f5bigip:cm/DeviceGroupDevice:DeviceGroupDevice":{"properties":{"name":{"type":"string","description":"Is the name of the device Group\n"},"setSyncLeader":{"type":"boolean","description":"Name of origin\n"}},"type":"object"},"f5bigip:index/As3DeleteApps:As3DeleteApps":{"properties":{"apps":{"type":"array","items":{"type":"string"},"description":"List of application names to delete from the specified tenant.\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`deleteApps`\" pulumi-lang-dotnet=\"`DeleteApps`\" pulumi-lang-go=\"`deleteApps`\" pulumi-lang-python=\"`delete_apps`\" pulumi-lang-yaml=\"`deleteApps`\" pulumi-lang-java=\"`deleteApps`\"\u003e`delete_apps`\u003c/span\u003e cannot be used together with \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e.\n"},"tenantName":{"type":"string","description":"Name of the tenant containing the apps to delete.\n"}},"type":"object","required":["apps","tenantName"]},"f5bigip:index/EventServiceDiscoveryNode:EventServiceDiscoveryNode":{"properties":{"id":{"type":"string","description":"name of node\n"},"ip":{"type":"string","description":"ip of nonde\n"},"port":{"type":"integer","description":"port\n"}},"type":"object"},"f5bigip:index/FastHttpAppMonitor:FastHttpAppMonitor":{"properties":{"interval":{"type":"integer","description":"Set the time between health checks,in seconds for FAST-Generated Pool Monitor.\n"},"monitorAuth":{"type":"boolean","description":"set \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"password":{"type":"string","description":"password for web access on FAST-Generated Pool Monitor.\n","secret":true},"response":{"type":"string","description":"The presence of this string anywhere in the HTTP response implies availability.\n"},"sendString":{"type":"string","description":"Specify data to be sent during each health check for FAST-Generated Pool Monitor.\n"},"username":{"type":"string","description":"username for web access on FAST-Generated Pool Monitor.\n"}},"type":"object"},"f5bigip:index/FastHttpAppPoolMember:FastHttpAppPoolMember":{"properties":{"addresses":{"type":"array","items":{"type":"string"},"description":"List of server address to be used for FAST-Generated Pool.\n"},"connectionLimit":{"type":"integer","description":"connectionLimit value to be used for FAST-Generated Pool.\n"},"port":{"type":"integer","description":"port number of serviceport to be used for FAST-Generated Pool.\n"},"priorityGroup":{"type":"integer","description":"priorityGroup value to be used for FAST-Generated Pool.\n"},"shareNodes":{"type":"boolean","description":"shareNodes value to be used for FAST-Generated Pool.\n"}},"type":"object","required":["addresses"],"language":{"nodejs":{"requiredOutputs":["addresses","connectionLimit","priorityGroup","shareNodes"]}}},"f5bigip:index/FastHttpAppVirtualServer:FastHttpAppVirtualServer":{"properties":{"ip":{"type":"string","description":"IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`\n"},"port":{"type":"integer","description":"Port number to used for accessing virtual server/application\n"}},"type":"object","required":["ip","port"]},"f5bigip:index/FastHttpAppWafSecurityPolicy:FastHttpAppWafSecurityPolicy":{"properties":{"enable":{"type":"boolean","description":"Setting \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e will enable FAST to create WAF Security Policy.\n"}},"type":"object","required":["enable"]},"f5bigip:index/FastHttpsAppMonitor:FastHttpsAppMonitor":{"properties":{"interval":{"type":"integer","description":"Set the time between health checks,in seconds for FAST-Generated Pool Monitor.\n"},"monitorAuth":{"type":"boolean","description":"set \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"password":{"type":"string","description":"password for web access on FAST-Generated Pool Monitor.\n","secret":true},"response":{"type":"string","description":"The presence of this string anywhere in the HTTP response implies availability.\n"},"sendString":{"type":"string","description":"Specify data to be sent during each health check for FAST-Generated Pool Monitor.\n"},"username":{"type":"string","description":"username for web access on FAST-Generated Pool Monitor.\n"}},"type":"object"},"f5bigip:index/FastHttpsAppPoolMember:FastHttpsAppPoolMember":{"properties":{"addresses":{"type":"array","items":{"type":"string"},"description":"List of server address to be used for FAST-Generated Pool.\n"},"connectionLimit":{"type":"integer","description":"connectionLimit value to be used for FAST-Generated Pool.\n"},"port":{"type":"integer","description":"port number of serviceport to be used for FAST-Generated Pool.\n"},"priorityGroup":{"type":"integer","description":"priorityGroup value to be used for FAST-Generated Pool.\n"},"shareNodes":{"type":"boolean","description":"shareNodes value to be used for FAST-Generated Pool.\n"}},"type":"object","required":["addresses"],"language":{"nodejs":{"requiredOutputs":["addresses","connectionLimit","priorityGroup","shareNodes"]}}},"f5bigip:index/FastHttpsAppTlsClientProfile:FastHttpsAppTlsClientProfile":{"properties":{"tlsCertName":{"type":"string","description":"Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile.\n"},"tlsKeyName":{"type":"string","description":"Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.\n"}},"type":"object","required":["tlsCertName","tlsKeyName"]},"f5bigip:index/FastHttpsAppTlsServerProfile:FastHttpsAppTlsServerProfile":{"properties":{"tlsCertName":{"type":"string","description":"Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile.\n"},"tlsKeyName":{"type":"string","description":"Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.\n"}},"type":"object","required":["tlsCertName","tlsKeyName"]},"f5bigip:index/FastHttpsAppVirtualServer:FastHttpsAppVirtualServer":{"properties":{"ip":{"type":"string","description":"IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`\n"},"port":{"type":"integer","description":"Port number to used for accessing virtual server/application\n"}},"type":"object","required":["ip","port"]},"f5bigip:index/FastHttpsAppWafSecurityPolicy:FastHttpsAppWafSecurityPolicy":{"properties":{"enable":{"type":"boolean","description":"Setting \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e will enable FAST to create WAF Security Policy.\n"}},"type":"object","required":["enable"]},"f5bigip:index/FastTcpAppMonitor:FastTcpAppMonitor":{"properties":{"interval":{"type":"integer","description":"Set the time between health checks,in seconds for FAST-Generated Pool Monitor.\n"}},"type":"object"},"f5bigip:index/FastTcpAppPoolMember:FastTcpAppPoolMember":{"properties":{"addresses":{"type":"array","items":{"type":"string"},"description":"List of server address to be used for FAST-Generated Pool.\n"},"connectionLimit":{"type":"integer","description":"connectionLimit value to be used for FAST-Generated Pool.\n"},"port":{"type":"integer","description":"port number of serviceport to be used for FAST-Generated Pool.\n"},"priorityGroup":{"type":"integer","description":"priorityGroup value to be used for FAST-Generated Pool.\n"},"shareNodes":{"type":"boolean","description":"shareNodes value to be used for FAST-Generated Pool.\n"}},"type":"object","required":["addresses"]},"f5bigip:index/FastTcpAppVirtualServer:FastTcpAppVirtualServer":{"properties":{"ip":{"type":"string","description":"IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`\n"},"port":{"type":"integer","description":"Port number to used for accessing virtual server/application\n"}},"type":"object","required":["ip","port"]},"f5bigip:index/FastUdpAppMonitor:FastUdpAppMonitor":{"properties":{"expectedResponse":{"type":"string","description":"The presence of this optional string is required in the response, if specified it confirms availability.\n"},"interval":{"type":"integer","description":"Set the time between health checks,in seconds for FAST-Generated Pool Monitor.\n"},"sendString":{"type":"string","description":"Optional data to be sent during each health check.\n"}},"type":"object"},"f5bigip:index/FastUdpAppPoolMember:FastUdpAppPoolMember":{"properties":{"addresses":{"type":"array","items":{"type":"string"},"description":"List of server address to be used for FAST-Generated Pool.\n"},"connectionLimit":{"type":"integer","description":"connectionLimit value to be used for FAST-Generated Pool.\n"},"port":{"type":"integer","description":"port number of serviceport to be used for FAST-Generated Pool.\n"},"priorityGroup":{"type":"integer","description":"priorityGroup value to be used for FAST-Generated Pool.\n"},"shareNodes":{"type":"boolean","description":"shareNodes value to be used for FAST-Generated Pool.\n"}},"type":"object","required":["addresses"]},"f5bigip:index/FastUdpAppVirtualServer:FastUdpAppVirtualServer":{"properties":{"ip":{"type":"string","description":"IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`\n"},"port":{"type":"integer","description":"Port number to used for accessing virtual server/application\n"}},"type":"object","required":["ip","port"]},"f5bigip:index/GtmPoolMember:GtmPoolMember":{"properties":{"disabled":{"type":"boolean","description":"Disabled state of the pool member\n"},"enabled":{"type":"boolean","description":"Enable or disable the pool member\n"},"limitMaxBps":{"type":"integer","description":"Specifies the maximum allowable data throughput rate for this member\n"},"limitMaxBpsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxBps \" pulumi-lang-dotnet=\" LimitMaxBps \" pulumi-lang-go=\" limitMaxBps \" pulumi-lang-python=\" limit_max_bps \" pulumi-lang-yaml=\" limitMaxBps \" pulumi-lang-java=\" limitMaxBps \"\u003e limit_max_bps \u003c/span\u003eoption for this member\n"},"limitMaxConnections":{"type":"integer","description":"Specifies the maximum number of concurrent connections for this member\n"},"limitMaxConnectionsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxConnections \" pulumi-lang-dotnet=\" LimitMaxConnections \" pulumi-lang-go=\" limitMaxConnections \" pulumi-lang-python=\" limit_max_connections \" pulumi-lang-yaml=\" limitMaxConnections \" pulumi-lang-java=\" limitMaxConnections \"\u003e limit_max_connections \u003c/span\u003eoption for this member\n"},"limitMaxPps":{"type":"integer","description":"Specifies the maximum allowable data transfer rate in packets per second for this member\n"},"limitMaxPpsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxPps \" pulumi-lang-dotnet=\" LimitMaxPps \" pulumi-lang-go=\" limitMaxPps \" pulumi-lang-python=\" limit_max_pps \" pulumi-lang-yaml=\" limitMaxPps \" pulumi-lang-java=\" limitMaxPps \"\u003e limit_max_pps \u003c/span\u003eoption for this member\n"},"memberOrder":{"type":"integer","description":"Specifies the order in which the member will be used\n"},"monitor":{"type":"string","description":"Specifies the health monitor for this pool member\n"},"name":{"type":"string","description":"Name of the pool member (format: \u003cserver_name\u003e:\u003cvirtual_server_name\u003e)\n"},"ratio":{"type":"integer","description":"Specifies the weight of the pool member for load balancing\n"}},"type":"object","required":["name"]},"f5bigip:index/GtmServerAddress:GtmServerAddress":{"properties":{"deviceName":{"type":"string","description":"Device name associated with the address\n"},"name":{"type":"string","description":"IP address\n"},"translation":{"type":"string","description":"IP translation address. Default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["deviceName","name","translation"]}}},"f5bigip:index/GtmServerVirtualServer:GtmServerVirtualServer":{"properties":{"dependsOn":{"type":"string","description":"Virtual server dependency\n"},"destination":{"type":"string","description":"Destination address in format `\u003cip\u003e:\u003cport\u003e` (e.g., `192.168.1.100:80`)\n"},"enabled":{"type":"boolean","description":"Enable the virtual server. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"limitMaxBps":{"type":"integer","description":"Maximum bits per second for this virtual server\n"},"limitMaxBpsStatus":{"type":"string","description":"Enable/disable the bps limit\n"},"limitMaxConnections":{"type":"integer","description":"Maximum concurrent connections\n"},"limitMaxConnectionsStatus":{"type":"string","description":"Enable/disable the connections limit\n"},"limitMaxPps":{"type":"integer","description":"Maximum packets per second\n"},"limitMaxPpsStatus":{"type":"string","description":"Enable/disable the pps limit\n"},"monitor":{"type":"string","description":"Monitor assigned to check virtual server health\n"},"name":{"type":"string","description":"Name of the virtual server\n"},"translationAddress":{"type":"string","description":"Translation address for NAT scenarios. Default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e\n"},"translationPort":{"type":"integer","description":"Translation port for NAT scenarios. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e\n"}},"type":"object","required":["destination","name"]},"f5bigip:index/SaasBotDefenseProfileProtectedEndpoint:SaasBotDefenseProfileProtectedEndpoint":{"properties":{"endpoint":{"type":"string","description":"Specifies the path to the web page to be protected by BD. For example, `/login`.\n"},"host":{"type":"string","description":"hostname or IP address of the web page to be protected by the Bot Defense\n"},"mitigationAction":{"type":"string","description":"Specifies whether the BIG-IP or F5 XC Bot Defense handles mitigation of malicious HTTP requests. This field is enabled only if the Service Level field is set to Advanced/Premium\n"},"name":{"type":"string","description":"Unique name for the protected endpoint\n"},"post":{"type":"string","description":"POST field to protect the path when it has a POST method, \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e\n"},"put":{"type":"string","description":"PUT field to protect the path when it has a PUT method,\u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["endpoint","host","mitigationAction","name","post","put"]}}},"f5bigip:index/WafPolicyFileType:WafPolicyFileType":{"properties":{"allowed":{"type":"boolean","description":"Determines whether the file type is allowed or disallowed. In either of these cases the VIOL_FILETYPE violation is issued (if enabled) for an incoming request- \n* No allowed file type matched the file type of the request.\n* The file type of the request matched a disallowed file type.\n"},"name":{"type":"string","description":"Specifies the file type name as appearing in the URL extension.\n"},"type":{"type":"string","description":"Determines the type of the name attribute. Only when setting the type to \u003cspan pulumi-lang-nodejs=\"`wildcard`\" pulumi-lang-dotnet=\"`Wildcard`\" pulumi-lang-go=\"`wildcard`\" pulumi-lang-python=\"`wildcard`\" pulumi-lang-yaml=\"`wildcard`\" pulumi-lang-java=\"`wildcard`\"\u003e`wildcard`\u003c/span\u003e will the special wildcard characters in the name be interpreted as such\n"}},"type":"object"},"f5bigip:index/WafPolicyGraphqlProfile:WafPolicyGraphqlProfile":{"properties":{"attackSignaturesCheck":{"type":"boolean","description":"Specifies when checked (enabled) that you want attack signatures and threat campaigns to be detected on this GraphQL profile and possibly override the security policy settings of an attack signature or threat campaign specifically for this GraphQL profile. After you enable this setting, the system displays a list of attack signatures and and threat campaigns. The default is enabled\n"},"defenseAttributes":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyGraphqlProfileDefenseAttribute:WafPolicyGraphqlProfileDefenseAttribute"},"description":"defense_attributes settings for policy\n"},"metacharElementcheck":{"type":"boolean","description":"Specifies when checked (enabled) that the system enforces the security policy settings of a meta character for the GraphQL profile. After you enable this setting, the system displays a list of meta characters. The default is enabled\n"},"name":{"type":"string","description":"The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).\n"}},"type":"object","required":["name"]},"f5bigip:index/WafPolicyGraphqlProfileDefenseAttribute:WafPolicyGraphqlProfileDefenseAttribute":{"properties":{"allowIntrospectionQueries":{"type":"boolean","description":"Introspection queries can also be enforced to prevent attackers from using them to\nunderstand the API structure and potentially breach an application.\n"},"maximumBatchedQueries":{"type":"string","description":"Specifies the highest number of batched queries allowed by the security policy.\n"},"maximumStructureDepth":{"type":"string","description":"Specifies the greatest nesting depth found in the GraphQL structure allowed by the security policy.\n"},"maximumTotalLength":{"type":"string","description":"Specifies the longest length, in bytes, allowed by the security policy of the request payload, or parameter value, where the GraphQL data was found.\n"},"maximumValueLength":{"type":"string","description":"Specifies the longest length (in bytes) of the longest GraphQL element value in the document allowed by the security policy.\n"},"tolerateParsingWarnings":{"type":"boolean","description":"Specifies, when checked (enabled), that the system does not report when the security enforcer encounters warnings while parsing GraphQL content. Specifies when cleared (disabled), that the security policy reports when the security enforcer encounters warnings while parsing GraphQL content. The default setting is disabled.\n"}},"type":"object"},"f5bigip:index/WafPolicyHostName:WafPolicyHostName":{"properties":{"name":{"type":"string","description":"The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).\n"}},"type":"object"},"f5bigip:index/WafPolicyIpException:WafPolicyIpException":{"properties":{"blockRequests":{"type":"string","description":"Specifies how the system responds to blocking requests sent from this IP address. Possible options [\u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, `policy-default`].\n"},"description":{"type":"string","description":"Specifies the description of the policy.\n"},"ignoreAnomalies":{"type":"boolean","description":"Specifies when enabled that the system considers this IP address legitimate and does not take it into account when performing brute force prevention.\n"},"ignoreIpreputation":{"type":"boolean","description":"Specifies when enabled that the system considers this IP address legitimate even if it is found in the IP Intelligence database (a database of questionable IP addresses).\n"},"ipAddress":{"type":"string","description":"Specifies the IP address that you want the system to trust.\n"},"ipMask":{"type":"string","description":"Specifies the netmask of the exceptional IP address. This is an optional field.\n"},"trustedbyPolicybuilder":{"type":"boolean","description":"Specifies when enabled the Policy Builder considers traffic from this IP address as being safe.\n"}},"type":"object","required":["ipAddress","ipMask"]},"f5bigip:index/WafPolicyPolicyBuilder:WafPolicyPolicyBuilder":{"properties":{"learningMode":{"type":"string","description":"learning mode setting for policy-builder, possible options: [\u003cspan pulumi-lang-nodejs=\"`automatic`\" pulumi-lang-dotnet=\"`Automatic`\" pulumi-lang-go=\"`automatic`\" pulumi-lang-python=\"`automatic`\" pulumi-lang-yaml=\"`automatic`\" pulumi-lang-java=\"`automatic`\"\u003e`automatic`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\"\u003e`manual`\u003c/span\u003e]\n"}},"type":"object"},"f5bigip:index/WafPolicySignaturesSetting:WafPolicySignaturesSetting":{"properties":{"placesignaturesInStaging":{"type":"boolean"},"signatureStaging":{"type":"boolean","description":"setting true will enforce all signature from staging\n"}},"type":"object"},"f5bigip:ltm/DataGroupRecord:DataGroupRecord":{"properties":{"data":{"type":"string","description":", sets the value of the record's \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e attribute, specifying a value here will create a record in the form of `name := data`\n"},"name":{"type":"string","description":", sets the value of the record's \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e attribute, must be of type defined in \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e attribute\n"}},"type":"object","required":["name"]},"f5bigip:ltm/NodeFqdn:NodeFqdn":{"properties":{"addressFamily":{"type":"string","description":"Specifies the node's address family. Can be \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e (Default: \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e)\n"},"autopopulate":{"type":"string","description":"Specifies if the node should scale to the IP address set returned by DNS. (Default: \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e)\n"},"downinterval":{"type":"integer","description":"The number of attempts to resolve a domain name. (Default: \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e)\n"},"interval":{"type":"string","description":"Specifies the amount of time before sending the next DNS query. (Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e)\n"},"name":{"type":"string","description":"The fully qualified domain name of the node. Cannot configure with the \u003cspan pulumi-lang-nodejs=\"`address`\" pulumi-lang-dotnet=\"`Address`\" pulumi-lang-go=\"`address`\" pulumi-lang-python=\"`address`\" pulumi-lang-yaml=\"`address`\" pulumi-lang-java=\"`address`\"\u003e`address`\u003c/span\u003e argument.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["addressFamily","autopopulate","downinterval","interval"]}}},"f5bigip:ltm/PolicyRule:PolicyRule":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/PolicyRuleAction:PolicyRuleAction"},"description":"Block type. See action block for more details.\n"},"conditions":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/PolicyRuleCondition:PolicyRuleCondition"},"description":"Block type. See condition block for more details.\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the irule attached to policy.\n"},"name":{"type":"string","description":"Name of Rule to be applied in policy.\n"}},"type":"object","required":["name"]},"f5bigip:ltm/PolicyRuleAction:PolicyRuleAction":{"properties":{"appService":{"type":"string"},"application":{"type":"string"},"asm":{"type":"boolean"},"avr":{"type":"boolean"},"cache":{"type":"boolean"},"carp":{"type":"boolean"},"category":{"type":"string"},"classify":{"type":"boolean"},"clonePool":{"type":"string"},"code":{"type":"integer"},"compress":{"type":"boolean"},"connection":{"type":"boolean","description":"This action is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e by default, it needs to be explicitly set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e for actions it conflicts with.\n"},"content":{"type":"string"},"cookieHash":{"type":"boolean"},"cookieInsert":{"type":"boolean"},"cookiePassive":{"type":"boolean"},"cookieRewrite":{"type":"boolean"},"decompress":{"type":"boolean"},"defer":{"type":"boolean"},"destinationAddress":{"type":"boolean"},"disable":{"type":"boolean"},"domain":{"type":"string"},"enable":{"type":"boolean"},"expiry":{"type":"string"},"expirySecs":{"type":"integer"},"expression":{"type":"string"},"extension":{"type":"string"},"facility":{"type":"string"},"forward":{"type":"boolean","description":"This action will affect forwarding.\n"},"fromProfile":{"type":"string"},"hash":{"type":"boolean"},"host":{"type":"string"},"http":{"type":"boolean"},"httpBasicAuth":{"type":"boolean"},"httpCookie":{"type":"boolean"},"httpHeader":{"type":"boolean"},"httpHost":{"type":"boolean"},"httpReferer":{"type":"boolean"},"httpReply":{"type":"boolean"},"httpSetCookie":{"type":"boolean"},"httpUri":{"type":"boolean"},"ifile":{"type":"string"},"insert":{"type":"boolean"},"internalVirtual":{"type":"string"},"ipAddress":{"type":"string"},"key":{"type":"string"},"l7dos":{"type":"boolean"},"length":{"type":"integer"},"location":{"type":"string"},"log":{"type":"boolean"},"ltmPolicy":{"type":"boolean"},"member":{"type":"string"},"message":{"type":"string"},"netmask":{"type":"string"},"nexthop":{"type":"string"},"node":{"type":"string"},"offset":{"type":"integer"},"path":{"type":"string"},"pem":{"type":"boolean"},"persist":{"type":"boolean"},"pin":{"type":"boolean"},"policy":{"type":"string"},"pool":{"type":"string","description":"This action will direct the stream to this pool.\n"},"port":{"type":"integer"},"priority":{"type":"string"},"profile":{"type":"string"},"protocol":{"type":"string"},"queryString":{"type":"string"},"rateclass":{"type":"string"},"redirect":{"type":"boolean"},"remove":{"type":"boolean"},"replace":{"type":"boolean"},"request":{"type":"boolean"},"requestAdapt":{"type":"boolean"},"reset":{"type":"boolean"},"response":{"type":"boolean"},"responseAdapt":{"type":"boolean"},"scheme":{"type":"string"},"script":{"type":"string"},"select":{"type":"boolean"},"serverSsl":{"type":"boolean"},"setVariable":{"type":"boolean"},"shutdown":{"type":"boolean"},"snat":{"type":"string"},"snatpool":{"type":"string"},"sourceAddress":{"type":"boolean"},"sslClientHello":{"type":"boolean"},"sslServerHandshake":{"type":"boolean"},"sslServerHello":{"type":"boolean"},"sslSessionId":{"type":"boolean"},"status":{"type":"integer"},"tcl":{"type":"boolean"},"tcpNagle":{"type":"boolean"},"text":{"type":"string"},"timeout":{"type":"integer"},"tmName":{"type":"string"},"uie":{"type":"boolean"},"universal":{"type":"boolean"},"value":{"type":"string"},"virtual":{"type":"string"},"vlan":{"type":"string"},"vlanId":{"type":"integer"},"wam":{"type":"boolean"},"write":{"type":"boolean"}},"type":"object","language":{"nodejs":{"requiredOutputs":["appService","application","asm","avr","cache","carp","category","classify","clonePool","code","compress","content","cookieHash","cookieInsert","cookiePassive","cookieRewrite","decompress","defer","destinationAddress","disable","domain","enable","expiry","expirySecs","expression","extension","facility","fromProfile","hash","host","http","httpBasicAuth","httpCookie","httpHeader","httpReferer","httpReply","httpSetCookie","httpUri","ifile","insert","internalVirtual","ipAddress","key","l7dos","length","location","log","ltmPolicy","member","message","netmask","nexthop","node","offset","path","pem","persist","pin","policy","pool","port","priority","profile","protocol","queryString","rateclass","redirect","remove","replace","request","requestAdapt","reset","response","responseAdapt","scheme","script","select","serverSsl","setVariable","snat","snatpool","sourceAddress","sslClientHello","sslServerHandshake","sslServerHello","sslSessionId","status","tcl","tcpNagle","text","timeout","tmName","uie","universal","value","virtual","vlan","vlanId","wam","write"]}}},"f5bigip:ltm/PolicyRuleCondition:PolicyRuleCondition":{"properties":{"address":{"type":"boolean"},"all":{"type":"boolean"},"appService":{"type":"string"},"browserType":{"type":"boolean"},"browserVersion":{"type":"boolean"},"caseInsensitive":{"type":"boolean"},"caseSensitive":{"type":"boolean"},"cipher":{"type":"boolean"},"cipherBits":{"type":"boolean"},"clientAccepted":{"type":"boolean"},"clientSsl":{"type":"boolean"},"code":{"type":"boolean"},"commonName":{"type":"boolean"},"contains":{"type":"boolean"},"continent":{"type":"boolean"},"countryCode":{"type":"boolean"},"countryName":{"type":"boolean"},"cpuUsage":{"type":"boolean"},"datagroup":{"type":"string"},"deviceMake":{"type":"boolean"},"deviceModel":{"type":"boolean"},"domain":{"type":"boolean"},"endsWith":{"type":"boolean"},"equals":{"type":"boolean"},"exists":{"type":"boolean"},"expiry":{"type":"boolean"},"extension":{"type":"boolean"},"external":{"type":"boolean"},"geoip":{"type":"boolean"},"greater":{"type":"boolean"},"greaterOrEqual":{"type":"boolean"},"host":{"type":"boolean"},"httpBasicAuth":{"type":"boolean"},"httpCookie":{"type":"boolean"},"httpHeader":{"type":"boolean"},"httpHost":{"type":"boolean"},"httpMethod":{"type":"boolean"},"httpReferer":{"type":"boolean"},"httpSetCookie":{"type":"boolean"},"httpStatus":{"type":"boolean"},"httpUri":{"type":"boolean"},"httpUserAgent":{"type":"boolean"},"httpVersion":{"type":"boolean"},"index":{"type":"integer"},"internal":{"type":"boolean"},"isp":{"type":"boolean"},"last15secs":{"type":"boolean"},"last1min":{"type":"boolean"},"last5mins":{"type":"boolean"},"less":{"type":"boolean"},"lessOrEqual":{"type":"boolean"},"local":{"type":"boolean"},"major":{"type":"boolean"},"matches":{"type":"boolean"},"minor":{"type":"boolean"},"missing":{"type":"boolean"},"mss":{"type":"boolean"},"not":{"type":"boolean"},"org":{"type":"boolean"},"password":{"type":"boolean"},"path":{"type":"boolean"},"pathSegment":{"type":"boolean"},"port":{"type":"boolean"},"present":{"type":"boolean"},"protocol":{"type":"boolean"},"queryParameter":{"type":"boolean"},"queryString":{"type":"boolean"},"regionCode":{"type":"boolean"},"regionName":{"type":"boolean"},"remote":{"type":"boolean"},"request":{"type":"boolean"},"response":{"type":"boolean"},"routeDomain":{"type":"boolean"},"rtt":{"type":"boolean"},"scheme":{"type":"boolean"},"serverName":{"type":"boolean"},"sslCert":{"type":"boolean"},"sslClientHello":{"type":"boolean"},"sslExtension":{"type":"boolean"},"sslServerHandshake":{"type":"boolean"},"sslServerHello":{"type":"boolean"},"startsWith":{"type":"boolean"},"tcp":{"type":"boolean"},"text":{"type":"boolean"},"tmName":{"type":"string"},"unnamedQueryParameter":{"type":"boolean"},"userAgentToken":{"type":"boolean"},"username":{"type":"boolean"},"value":{"type":"boolean"},"values":{"type":"array","items":{"type":"string"}},"version":{"type":"boolean"},"vlan":{"type":"boolean"},"vlanId":{"type":"boolean"}},"type":"object","language":{"nodejs":{"requiredOutputs":["address","all","appService","browserType","browserVersion","caseInsensitive","caseSensitive","cipher","cipherBits","clientAccepted","clientSsl","code","commonName","contains","continent","countryCode","countryName","cpuUsage","deviceMake","deviceModel","domain","endsWith","equals","exists","expiry","extension","external","geoip","greater","greaterOrEqual","host","httpBasicAuth","httpCookie","httpHeader","httpHost","httpMethod","httpReferer","httpSetCookie","httpStatus","httpUri","httpUserAgent","httpVersion","index","internal","isp","last15secs","last1min","last5mins","less","lessOrEqual","local","major","matches","minor","missing","mss","not","org","password","path","pathSegment","port","present","protocol","queryParameter","queryString","regionCode","regionName","remote","request","response","routeDomain","rtt","scheme","serverName","sslCert","sslClientHello","sslExtension","sslServerHandshake","sslServerHello","startsWith","tcp","text","tmName","unnamedQueryParameter","userAgentToken","username","value","values","version","vlan","vlanId"]}}},"f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain":{"properties":{"cert":{"type":"string","description":"Specifies the name of the certificate that the system uses for client-side SSL processing. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"chain":{"type":"string","description":"Specifies a certificate chain file that a server can use for authentication. The default is `None`.\n"},"key":{"type":"string","description":"Specifies the file name of the SSL key. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"name":{"type":"string","description":"Name of Cert-key-chain\n"},"passphrase":{"type":"string","description":"Type the name of the pass phrase used to encrypt the key.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["passphrase"]}}},"f5bigip:ltm/ProfileHttpEnforcement:ProfileHttpEnforcement":{"properties":{"knownMethods":{"type":"array","items":{"type":"string"},"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. Default value is [CONNECT DELETE GET HEAD LOCK OPTIONS POST PROPFIND PUT TRACE UNLOCK].If no value is specified while creating, then default value will be assigned by BigIP. In order to remove it, [\"\"] list is to be passed. If\u003cspan pulumi-lang-nodejs=\" knownMethods \" pulumi-lang-dotnet=\" KnownMethods \" pulumi-lang-go=\" knownMethods \" pulumi-lang-python=\" known_methods \" pulumi-lang-yaml=\" knownMethods \" pulumi-lang-java=\" knownMethods \"\u003e known_methods \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value , we need to pass [CONNECT DELETE GET HEAD LOCK OPTIONS POST PROPFIND PUT TRACE UNLOCK] explicitly.\n"},"maxHeaderCount":{"type":"integer","description":"Specifies the maximum number of headers allowed in HTTP request/response. The default is 64 headers.If no value is specified while creating, then default value will be assigned by BigIP. If\u003cspan pulumi-lang-nodejs=\" maxHeaderCount \" pulumi-lang-dotnet=\" MaxHeaderCount \" pulumi-lang-go=\" maxHeaderCount \" pulumi-lang-python=\" max_header_count \" pulumi-lang-yaml=\" maxHeaderCount \" pulumi-lang-java=\" maxHeaderCount \"\u003e max_header_count \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"64\" explicitly.\n"},"maxHeaderSize":{"type":"integer","description":"Specifies the maximum header size. The default value is 32768. If no string is specified while creating, then default value will be assigned by BigIP. If\u003cspan pulumi-lang-nodejs=\" maxHeaderSize \" pulumi-lang-dotnet=\" MaxHeaderSize \" pulumi-lang-go=\" maxHeaderSize \" pulumi-lang-python=\" max_header_size \" pulumi-lang-yaml=\" maxHeaderSize \" pulumi-lang-java=\" maxHeaderSize \"\u003e max_header_size \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"32768\" explicitly.\n"},"unknownMethod":{"type":"string","description":"Specifies whether to allow, reject or switch to pass-through mode when an unknown HTTP method is parsed. Default value is \"allow\". If no string is specified while creating, then default value will be assigned by BigIP. If\u003cspan pulumi-lang-nodejs=\" unknownMethod \" pulumi-lang-dotnet=\" UnknownMethod \" pulumi-lang-go=\" unknownMethod \" pulumi-lang-python=\" unknown_method \" pulumi-lang-yaml=\" unknownMethod \" pulumi-lang-java=\" unknownMethod \"\u003e unknown_method \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"allow\" explicitly.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["knownMethods","maxHeaderCount","maxHeaderSize","unknownMethod"]}}},"f5bigip:ltm/ProfileHttpHttpStrictTransportSecurity:ProfileHttpHttpStrictTransportSecurity":{"properties":{"includeSubdomains":{"type":"string","description":"The Include Subdomains setting applies the HSTS policy to the HSTS host and its subdomains. The default is \"enabled\". If no string is specified during Create, then default value will be assigned by BigIp. If\u003cspan pulumi-lang-nodejs=\" includeSubdomains \" pulumi-lang-dotnet=\" IncludeSubdomains \" pulumi-lang-go=\" includeSubdomains \" pulumi-lang-python=\" include_subdomains \" pulumi-lang-yaml=\" includeSubdomains \" pulumi-lang-java=\" includeSubdomains \"\u003e include_subdomains \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"enabled\" explicitly.\n"},"maximumAge":{"type":"integer","description":"The Maximum Age value specifies the length of time, in seconds, that HSTS functionality requests that clients only use HTTPS to connect to the current host and any subdomains of the current host's domain name.  The default is 16070400 seconds. If no value is specified during Create, then default value will be assigned by BigIp. If\u003cspan pulumi-lang-nodejs=\" maximumAge \" pulumi-lang-dotnet=\" MaximumAge \" pulumi-lang-go=\" maximumAge \" pulumi-lang-python=\" maximum_age \" pulumi-lang-yaml=\" maximumAge \" pulumi-lang-java=\" maximumAge \"\u003e maximum_age \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value , we need to pass 16070400 explicitly.\n"},"mode":{"type":"string","description":"The Mode setting enables and disables HSTS functionality within the HTTP profile. The default is \"disabled\". If no string is specified during Create, then default value will be assigned by BigIp. If mode is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"disabled\" explicitly.\n"},"preload":{"type":"string","description":"An HSTS preload list is a list of domains built into a web browser. When you enable the Preload setting, the domain for the web site that this HTTP profile is associated with is submitted for inclusion in the browser's preload list. The default is \"disabled\". If no string is specified during Create, then default value will be assigned by BigIp. If preload is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"disabled\" explicitly.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["includeSubdomains","maximumAge","mode","preload"]}}},"f5bigip:ltm/ProfileRewriteCookieRule:ProfileRewriteCookieRule":{"properties":{"clientDomain":{"type":"string"},"clientPath":{"type":"string"},"ruleName":{"type":"string","description":"Name of the cookie rewrite rule.\n"},"serverDomain":{"type":"string"},"serverPath":{"type":"string"}},"type":"object","required":["clientDomain","clientPath","ruleName","serverDomain","serverPath"]},"f5bigip:ltm/ProfileRewriteRequest:ProfileRewriteRequest":{"properties":{"insertXfwdFor":{"type":"string","description":"Enable to add the X-Forwarded For (XFF) header, to specify the originating IP address of the client. Valid choices are: `enabled, disabled`\n"},"insertXfwdHost":{"type":"string","description":"Enable to add the X-Forwarded Host header, to specify the originating host of the client. Valid choices are: `enabled, disabled`\n"},"insertXfwdProtocol":{"type":"string","description":"Enable to add the X-Forwarded Proto header, to specify the originating protocol of the client. Valid choices are: `enabled, disabled`\n"},"rewriteHeaders":{"type":"string","description":"Enable to rewrite headers in Request settings. Valid choices are: `enabled, disabled`\n"}},"type":"object"},"f5bigip:ltm/ProfileRewriteResponse:ProfileRewriteResponse":{"properties":{"rewriteContent":{"type":"string","description":"Enable to rewrite links in content in the response. Valid choices are: `enabled, disabled`\n"},"rewriteHeaders":{"type":"string","description":"Enable to rewrite headers in the response. Valid choices are: `enabled, disabled`\n"}},"type":"object"},"f5bigip:ltm/ProfileRewriteUriRulesClient:ProfileRewriteUriRulesClient":{"properties":{"host":{"type":"string","description":"Host part of the uri, e.g. `www.foo.com`.\n"},"path":{"type":"string","description":"Path part of the uri, must always end with `/`. Default value is: `/`\n"},"port":{"type":"string","description":"Port part of the uri. Default value is: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e\n"},"scheme":{"type":"string","description":"Scheme part of the uri, e.g. \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\"\u003e`ftp`\u003c/span\u003e.\n"}},"type":"object","required":["host","scheme"]},"f5bigip:ltm/ProfileRewriteUriRulesServer:ProfileRewriteUriRulesServer":{"properties":{"host":{"type":"string","description":"Host part of the uri, e.g. `www.foo.com`.\n"},"path":{"type":"string","description":"Path part of the uri, must always end with `/`. Default value is: `/`\n"},"port":{"type":"string","description":"Port part of the uri. Default value is: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e\n"},"scheme":{"type":"string","description":"Scheme part of the uri, e.g. \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\"\u003e`ftp`\u003c/span\u003e.\n"}},"type":"object","required":["host","scheme"]},"f5bigip:ltm/SnatOrigin:SnatOrigin":{"properties":{"appService":{"type":"string","description":"app service\n"},"name":{"type":"string","description":"Name of the SNAT, name of SNAT should be full path. Full path is the combination of the `partition + SNAT name`,For example `/Common/test-snat`.\n"}},"type":"object"},"f5bigip:ltm/getDataGroupRecord:getDataGroupRecord":{"properties":{"data":{"type":"string"},"name":{"type":"string","description":"Name of the datagroup\n"}},"type":"object","required":["name"]},"f5bigip:ltm/getNodeFqdn:getNodeFqdn":{"properties":{"addressFamily":{"type":"string","description":"The FQDN node's address family.\n"},"autopopulate":{"type":"string","description":"Specifies if the node should scale to the IP address set returned by DNS.\n"},"downinterval":{"type":"integer","description":"The number of attempts to resolve a domain name.\n"},"interval":{"type":"string","description":"The amount of time before sending the next DNS query.\n"},"name":{"type":"string","description":"Name of the node.\n"}},"type":"object","required":["autopopulate","downinterval","interval"],"language":{"nodejs":{"requiredInputs":[]}}},"f5bigip:ltm/getPolicyRule:getPolicyRule":{"properties":{"actions":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/getPolicyRuleAction:getPolicyRuleAction"}},"conditions":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/getPolicyRuleCondition:getPolicyRuleCondition"}},"name":{"type":"string","description":"Name of the policy which includes partion ( /partition/policy-name )\n"}},"type":"object","required":["name"]},"f5bigip:ltm/getPolicyRuleAction:getPolicyRuleAction":{"properties":{"appService":{"type":"string"},"application":{"type":"string"},"asm":{"type":"boolean"},"avr":{"type":"boolean"},"cache":{"type":"boolean"},"carp":{"type":"boolean"},"category":{"type":"string"},"classify":{"type":"boolean"},"clonePool":{"type":"string"},"code":{"type":"integer"},"compress":{"type":"boolean"},"connection":{"type":"boolean"},"content":{"type":"string"},"cookieHash":{"type":"boolean"},"cookieInsert":{"type":"boolean"},"cookiePassive":{"type":"boolean"},"cookieRewrite":{"type":"boolean"},"decompress":{"type":"boolean"},"defer":{"type":"boolean"},"destinationAddress":{"type":"boolean"},"disable":{"type":"boolean"},"domain":{"type":"string"},"enable":{"type":"boolean"},"expiry":{"type":"string"},"expirySecs":{"type":"integer"},"expression":{"type":"string"},"extension":{"type":"string"},"facility":{"type":"string"},"forward":{"type":"boolean"},"fromProfile":{"type":"string"},"hash":{"type":"boolean"},"host":{"type":"string"},"http":{"type":"boolean"},"httpBasicAuth":{"type":"boolean"},"httpCookie":{"type":"boolean"},"httpHeader":{"type":"boolean"},"httpHost":{"type":"boolean"},"httpReferer":{"type":"boolean"},"httpReply":{"type":"boolean"},"httpSetCookie":{"type":"boolean"},"httpUri":{"type":"boolean"},"ifile":{"type":"string"},"insert":{"type":"boolean"},"internalVirtual":{"type":"string"},"ipAddress":{"type":"string"},"key":{"type":"string"},"l7dos":{"type":"boolean"},"length":{"type":"integer"},"location":{"type":"string"},"log":{"type":"boolean"},"ltmPolicy":{"type":"boolean"},"member":{"type":"string"},"message":{"type":"string"},"netmask":{"type":"string"},"nexthop":{"type":"string"},"node":{"type":"string"},"offset":{"type":"integer"},"path":{"type":"string"},"pem":{"type":"boolean"},"persist":{"type":"boolean"},"pin":{"type":"boolean"},"policy":{"type":"string"},"pool":{"type":"string"},"port":{"type":"integer"},"priority":{"type":"string"},"profile":{"type":"string"},"protocol":{"type":"string"},"queryString":{"type":"string"},"rateclass":{"type":"string"},"redirect":{"type":"boolean"},"remove":{"type":"boolean"},"replace":{"type":"boolean"},"request":{"type":"boolean"},"requestAdapt":{"type":"boolean"},"reset":{"type":"boolean"},"response":{"type":"boolean"},"responseAdapt":{"type":"boolean"},"scheme":{"type":"string"},"script":{"type":"string"},"select":{"type":"boolean"},"serverSsl":{"type":"boolean"},"setVariable":{"type":"boolean"},"shutdown":{"type":"boolean"},"snat":{"type":"string"},"snatpool":{"type":"string"},"sourceAddress":{"type":"boolean"},"sslClientHello":{"type":"boolean"},"sslServerHandshake":{"type":"boolean"},"sslServerHello":{"type":"boolean"},"sslSessionId":{"type":"boolean"},"status":{"type":"integer"},"tcl":{"type":"boolean"},"tcpNagle":{"type":"boolean"},"text":{"type":"string"},"timeout":{"type":"integer"},"tmName":{"type":"string"},"uie":{"type":"boolean"},"universal":{"type":"boolean"},"value":{"type":"string"},"virtual":{"type":"string"},"vlan":{"type":"string"},"vlanId":{"type":"integer"},"wam":{"type":"boolean"},"write":{"type":"boolean"}},"type":"object","required":["appService","application","asm","avr","cache","carp","category","classify","clonePool","code","compress","connection","content","cookieHash","cookieInsert","cookiePassive","cookieRewrite","decompress","defer","destinationAddress","disable","domain","enable","expiry","expirySecs","expression","extension","facility","fromProfile","hash","host","http","httpBasicAuth","httpCookie","httpHeader","httpReferer","httpReply","httpSetCookie","httpUri","ifile","insert","internalVirtual","ipAddress","key","l7dos","length","location","log","ltmPolicy","member","message","netmask","nexthop","node","offset","path","pem","persist","pin","policy","pool","port","priority","profile","protocol","queryString","rateclass","redirect","remove","replace","request","requestAdapt","reset","response","responseAdapt","scheme","script","select","serverSsl","setVariable","shutdown","snat","snatpool","sourceAddress","sslClientHello","sslServerHandshake","sslServerHello","sslSessionId","status","tcl","tcpNagle","text","timeout","tmName","uie","universal","value","virtual","vlan","vlanId","wam","write"],"language":{"nodejs":{"requiredInputs":[]}}},"f5bigip:ltm/getPolicyRuleCondition:getPolicyRuleCondition":{"properties":{"address":{"type":"boolean"},"all":{"type":"boolean"},"appService":{"type":"string"},"browserType":{"type":"boolean"},"browserVersion":{"type":"boolean"},"caseInsensitive":{"type":"boolean"},"caseSensitive":{"type":"boolean"},"cipher":{"type":"boolean"},"cipherBits":{"type":"boolean"},"clientSsl":{"type":"boolean"},"code":{"type":"boolean"},"commonName":{"type":"boolean"},"contains":{"type":"boolean"},"continent":{"type":"boolean"},"countryCode":{"type":"boolean"},"countryName":{"type":"boolean"},"cpuUsage":{"type":"boolean"},"datagroup":{"type":"string"},"deviceMake":{"type":"boolean"},"deviceModel":{"type":"boolean"},"domain":{"type":"boolean"},"endsWith":{"type":"boolean"},"equals":{"type":"boolean"},"expiry":{"type":"boolean"},"extension":{"type":"boolean"},"external":{"type":"boolean"},"geoip":{"type":"boolean"},"greater":{"type":"boolean"},"greaterOrEqual":{"type":"boolean"},"host":{"type":"boolean"},"httpBasicAuth":{"type":"boolean"},"httpCookie":{"type":"boolean"},"httpHeader":{"type":"boolean"},"httpHost":{"type":"boolean"},"httpMethod":{"type":"boolean"},"httpReferer":{"type":"boolean"},"httpSetCookie":{"type":"boolean"},"httpStatus":{"type":"boolean"},"httpUri":{"type":"boolean"},"httpUserAgent":{"type":"boolean"},"httpVersion":{"type":"boolean"},"index":{"type":"integer"},"internal":{"type":"boolean"},"isp":{"type":"boolean"},"last15secs":{"type":"boolean"},"last1min":{"type":"boolean"},"last5mins":{"type":"boolean"},"less":{"type":"boolean"},"lessOrEqual":{"type":"boolean"},"local":{"type":"boolean"},"major":{"type":"boolean"},"matches":{"type":"boolean"},"minor":{"type":"boolean"},"missing":{"type":"boolean"},"mss":{"type":"boolean"},"not":{"type":"boolean"},"org":{"type":"boolean"},"password":{"type":"boolean"},"path":{"type":"boolean"},"pathSegment":{"type":"boolean"},"port":{"type":"boolean"},"present":{"type":"boolean"},"protocol":{"type":"boolean"},"queryParameter":{"type":"boolean"},"queryString":{"type":"boolean"},"regionCode":{"type":"boolean"},"regionName":{"type":"boolean"},"remote":{"type":"boolean"},"request":{"type":"boolean"},"response":{"type":"boolean"},"routeDomain":{"type":"boolean"},"rtt":{"type":"boolean"},"scheme":{"type":"boolean"},"serverName":{"type":"boolean"},"sslCert":{"type":"boolean"},"sslClientHello":{"type":"boolean"},"sslExtension":{"type":"boolean"},"sslServerHandshake":{"type":"boolean"},"sslServerHello":{"type":"boolean"},"startsWith":{"type":"boolean"},"tcp":{"type":"boolean"},"text":{"type":"boolean"},"tmName":{"type":"string"},"unnamedQueryParameter":{"type":"boolean"},"userAgentToken":{"type":"boolean"},"username":{"type":"boolean"},"value":{"type":"boolean"},"values":{"type":"array","items":{"type":"string"}},"version":{"type":"boolean"},"vlan":{"type":"boolean"},"vlanId":{"type":"boolean"}},"type":"object","required":["address","all","appService","browserType","browserVersion","caseInsensitive","caseSensitive","cipher","cipherBits","clientSsl","code","commonName","contains","continent","countryCode","countryName","cpuUsage","datagroup","deviceMake","deviceModel","domain","endsWith","equals","expiry","extension","external","geoip","greater","greaterOrEqual","host","httpBasicAuth","httpCookie","httpHeader","httpHost","httpMethod","httpReferer","httpSetCookie","httpStatus","httpUri","httpUserAgent","httpVersion","index","internal","isp","last15secs","last1min","last5mins","less","lessOrEqual","local","major","matches","minor","missing","mss","not","org","password","path","pathSegment","port","present","protocol","queryParameter","queryString","regionCode","regionName","remote","request","response","routeDomain","rtt","scheme","serverName","sslCert","sslClientHello","sslExtension","sslServerHandshake","sslServerHello","startsWith","tcp","text","tmName","unnamedQueryParameter","userAgentToken","username","value","values","version","vlan","vlanId"],"language":{"nodejs":{"requiredInputs":[]}}},"f5bigip:net/VlanInterface:VlanInterface":{"properties":{"tagged":{"type":"boolean","description":"Specifies a list of tagged interfaces or trunks associated with this VLAN. Note that you can associate tagged interfaces or trunks with any number of VLANs.\n"},"vlanport":{"type":"string","description":"Physical or virtual port used for traffic\n"}},"type":"object"},"f5bigip:ssl/getWafEntityParameterUrl:getWafEntityParameterUrl":{"properties":{"method":{"type":"string"},"name":{"type":"string"},"protocol":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["method","name","protocol","type"]},"f5bigip:ssl/getWafEntityUrlCrossOriginRequestsEnforcement:getWafEntityUrlCrossOriginRequestsEnforcement":{"properties":{"includeSubdomains":{"type":"boolean","description":"Determines whether the subdomains are allowed to receive data from the web application.\n"},"originName":{"type":"string","description":"Specifies the name of the origin with which you want to share your data.\n"},"originPort":{"type":"string","description":"Specifies the port that other web applications are allowed to use to request data from your web application.\n"},"originProtocol":{"type":"string","description":"Specifies the protocol that other web applications are allowed to use to request data from your web application.\n"}},"type":"object","required":["originName","originPort","originProtocol"]},"f5bigip:ssl/getWafEntityUrlMethodOverride:getWafEntityUrlMethodOverride":{"properties":{"allow":{"type":"boolean","description":"Specifies that the system allows or disallows a method for this URL\n"},"method":{"type":"string","description":"Specifies an HTTP method.\n"}},"type":"object","required":["allow","method"]},"f5bigip:sys/IAppList:IAppList":{"properties":{"encrypted":{"type":"string","description":"Name of origin\n"},"value":{"type":"string","description":"Name of origin\n"}},"type":"object"},"f5bigip:sys/IAppMetadata:IAppMetadata":{"properties":{"persists":{"type":"string","description":"Name of origin\n"},"value":{"type":"string","description":"Name of origin\n"}},"type":"object"},"f5bigip:sys/IAppTable:IAppTable":{"properties":{"columnNames":{"type":"array","items":{"type":"string"}},"encryptedColumns":{"type":"string","description":"Name of origin\n"},"name":{"type":"string","description":"Name of the iApp.\n"},"rows":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppTableRow:IAppTableRow"}}},"type":"object"},"f5bigip:sys/IAppTableRow:IAppTableRow":{"properties":{"rows":{"type":"array","items":{"type":"string"}}},"type":"object"},"f5bigip:sys/IAppVariable:IAppVariable":{"properties":{"encrypted":{"type":"string","description":"Name of origin\n"},"name":{"type":"string","description":"Name of the iApp.\n"},"value":{"type":"string","description":"Name of origin\n"}},"type":"object"}},"provider":{"description":"The provider type for the bigip package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"address":{"type":"string","description":"Domain name/IP of the BigIP"},"apiRetries":{"type":"integer","description":"Amount of times to retry AS3 API requests. Default: 10."},"apiTimeout":{"type":"integer","description":"A timeout for AS3 requests, represented as a number of seconds. Default: 60"},"loginRef":{"type":"string","description":"Login reference for token authentication (see BIG-IP REST docs for details)"},"password":{"type":"string","description":"The user's password. Leave empty if using token_value"},"port":{"type":"string","description":"Management Port to connect to Bigip"},"teemDisable":{"type":"boolean","description":"If this flag set to true,sending telemetry data to TEEM will be disabled"},"tokenAuth":{"type":"boolean","description":"Enable to use token authentication. Can be set via the BIGIP_TOKEN_AUTH environment variable"},"tokenTimeout":{"type":"integer","description":"A lifespan to request for the AS3 auth token, represented as a number of seconds. Default: 1200"},"tokenValue":{"type":"string","description":"A token generated outside the provider, in place of password"},"trustedCertPath":{"type":"string","description":"Valid Trusted Certificate path"},"username":{"type":"string","description":"Username with API access to the BigIP"},"validateCertsDisable":{"type":"boolean","description":"If set to true, Disables TLS certificate check on BIG-IP. Default : True"}},"inputProperties":{"address":{"type":"string","description":"Domain name/IP of the BigIP"},"apiRetries":{"type":"integer","description":"Amount of times to retry AS3 API requests. Default: 10."},"apiTimeout":{"type":"integer","description":"A timeout for AS3 requests, represented as a number of seconds. Default: 60"},"loginRef":{"type":"string","description":"Login reference for token authentication (see BIG-IP REST docs for details)"},"password":{"type":"string","description":"The user's password. Leave empty if using token_value"},"port":{"type":"string","description":"Management Port to connect to Bigip"},"teemDisable":{"type":"boolean","description":"If this flag set to true,sending telemetry data to TEEM will be disabled"},"tokenAuth":{"type":"boolean","description":"Enable to use token authentication. Can be set via the BIGIP_TOKEN_AUTH environment variable"},"tokenTimeout":{"type":"integer","description":"A lifespan to request for the AS3 auth token, represented as a number of seconds. Default: 1200"},"tokenValue":{"type":"string","description":"A token generated outside the provider, in place of password"},"trustedCertPath":{"type":"string","description":"Valid Trusted Certificate path"},"username":{"type":"string","description":"Username with API access to the BigIP"},"validateCertsDisable":{"type":"boolean","description":"If set to true, Disables TLS certificate check on BIG-IP. Default : True"}},"methods":{"terraformConfig":"pulumi:providers:f5bigip/terraformConfig"}},"resources":{"f5bigip:cm/device:Device":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.cm.Device`\" pulumi-lang-dotnet=\"`f5bigip.cm.Device`\" pulumi-lang-go=\"`cm.Device`\" pulumi-lang-python=\"`cm.Device`\" pulumi-lang-yaml=\"`f5bigip.cm.Device`\" pulumi-lang-java=\"`f5bigip.cm.Device`\"\u003e`f5bigip.cm.Device`\u003c/span\u003e provides details about a specific bigip\n\nThis resource is helpful when configuring the BIG-IP device in cluster or in HA mode.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst myNewDevice = new f5bigip.cm.Device(\"my_new_device\", {\n    name: \"bigip300.f5.com\",\n    configsyncIp: \"2.2.2.2\",\n    mirrorIp: \"10.10.10.10\",\n    mirrorSecondaryIp: \"11.11.11.11\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmy_new_device = f5bigip.cm.Device(\"my_new_device\",\n    name=\"bigip300.f5.com\",\n    configsync_ip=\"2.2.2.2\",\n    mirror_ip=\"10.10.10.10\",\n    mirror_secondary_ip=\"11.11.11.11\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myNewDevice = new F5BigIP.CM.Device(\"my_new_device\", new()\n    {\n        Name = \"bigip300.f5.com\",\n        ConfigsyncIp = \"2.2.2.2\",\n        MirrorIp = \"10.10.10.10\",\n        MirrorSecondaryIp = \"11.11.11.11\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/cm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cm.NewDevice(ctx, \"my_new_device\", \u0026cm.DeviceArgs{\n\t\t\tName:              pulumi.String(\"bigip300.f5.com\"),\n\t\t\tConfigsyncIp:      pulumi.String(\"2.2.2.2\"),\n\t\t\tMirrorIp:          pulumi.String(\"10.10.10.10\"),\n\t\t\tMirrorSecondaryIp: pulumi.String(\"11.11.11.11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.cm.Device;\nimport com.pulumi.f5bigip.cm.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myNewDevice = new Device(\"myNewDevice\", DeviceArgs.builder()\n            .name(\"bigip300.f5.com\")\n            .configsyncIp(\"2.2.2.2\")\n            .mirrorIp(\"10.10.10.10\")\n            .mirrorSecondaryIp(\"11.11.11.11\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myNewDevice:\n    type: f5bigip:cm:Device\n    name: my_new_device\n    properties:\n      name: bigip300.f5.com\n      configsyncIp: 2.2.2.2\n      mirrorIp: 10.10.10.10\n      mirrorSecondaryIp: 11.11.11.11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"configsyncIp":{"type":"string","description":"IP address used for config sync"},"mirrorIp":{"type":"string","description":"IP address used for state mirroring"},"mirrorSecondaryIp":{"type":"string","description":"Secondary IP address used for state mirroring"},"name":{"type":"string","description":"Address of the Device which needs to be Deviceensed"}},"required":["configsyncIp","name"],"inputProperties":{"configsyncIp":{"type":"string","description":"IP address used for config sync"},"mirrorIp":{"type":"string","description":"IP address used for state mirroring"},"mirrorSecondaryIp":{"type":"string","description":"Secondary IP address used for state mirroring"},"name":{"type":"string","description":"Address of the Device which needs to be Deviceensed"}},"requiredInputs":["configsyncIp","name"],"stateInputs":{"description":"Input properties used for looking up and filtering Device resources.\n","properties":{"configsyncIp":{"type":"string","description":"IP address used for config sync"},"mirrorIp":{"type":"string","description":"IP address used for state mirroring"},"mirrorSecondaryIp":{"type":"string","description":"Secondary IP address used for state mirroring"},"name":{"type":"string","description":"Address of the Device which needs to be Deviceensed"}},"type":"object"}},"f5bigip:cm/deviceGroup:DeviceGroup":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.cm.DeviceGroup`\" pulumi-lang-dotnet=\"`f5bigip.cm.DeviceGroup`\" pulumi-lang-go=\"`cm.DeviceGroup`\" pulumi-lang-python=\"`cm.DeviceGroup`\" pulumi-lang-yaml=\"`f5bigip.cm.DeviceGroup`\" pulumi-lang-java=\"`f5bigip.cm.DeviceGroup`\"\u003e`f5bigip.cm.DeviceGroup`\u003c/span\u003e A device group is a collection of BIG-IP devices that are configured to securely synchronize their BIG-IP configuration data, and fail over when needed.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst myNewDevicegroup = new f5bigip.cm.DeviceGroup(\"my_new_devicegroup\", {\n    name: \"sanjose_devicegroup\",\n    autoSync: \"enabled\",\n    fullLoadOnSync: \"true\",\n    type: \"sync-only\",\n    devices: [\n        {\n            name: \"bigip1.cisco.com\",\n        },\n        {\n            name: \"bigip200.f5.com\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmy_new_devicegroup = f5bigip.cm.DeviceGroup(\"my_new_devicegroup\",\n    name=\"sanjose_devicegroup\",\n    auto_sync=\"enabled\",\n    full_load_on_sync=\"true\",\n    type=\"sync-only\",\n    devices=[\n        {\n            \"name\": \"bigip1.cisco.com\",\n        },\n        {\n            \"name\": \"bigip200.f5.com\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myNewDevicegroup = new F5BigIP.CM.DeviceGroup(\"my_new_devicegroup\", new()\n    {\n        Name = \"sanjose_devicegroup\",\n        AutoSync = \"enabled\",\n        FullLoadOnSync = \"true\",\n        Type = \"sync-only\",\n        Devices = new[]\n        {\n            new F5BigIP.CM.Inputs.DeviceGroupDeviceArgs\n            {\n                Name = \"bigip1.cisco.com\",\n            },\n            new F5BigIP.CM.Inputs.DeviceGroupDeviceArgs\n            {\n                Name = \"bigip200.f5.com\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/cm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cm.NewDeviceGroup(ctx, \"my_new_devicegroup\", \u0026cm.DeviceGroupArgs{\n\t\t\tName:           pulumi.String(\"sanjose_devicegroup\"),\n\t\t\tAutoSync:       pulumi.String(\"enabled\"),\n\t\t\tFullLoadOnSync: pulumi.String(\"true\"),\n\t\t\tType:           pulumi.String(\"sync-only\"),\n\t\t\tDevices: cm.DeviceGroupDeviceArray{\n\t\t\t\t\u0026cm.DeviceGroupDeviceArgs{\n\t\t\t\t\tName: pulumi.String(\"bigip1.cisco.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026cm.DeviceGroupDeviceArgs{\n\t\t\t\t\tName: pulumi.String(\"bigip200.f5.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.cm.DeviceGroup;\nimport com.pulumi.f5bigip.cm.DeviceGroupArgs;\nimport com.pulumi.f5bigip.cm.inputs.DeviceGroupDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myNewDevicegroup = new DeviceGroup(\"myNewDevicegroup\", DeviceGroupArgs.builder()\n            .name(\"sanjose_devicegroup\")\n            .autoSync(\"enabled\")\n            .fullLoadOnSync(\"true\")\n            .type(\"sync-only\")\n            .devices(            \n                DeviceGroupDeviceArgs.builder()\n                    .name(\"bigip1.cisco.com\")\n                    .build(),\n                DeviceGroupDeviceArgs.builder()\n                    .name(\"bigip200.f5.com\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myNewDevicegroup:\n    type: f5bigip:cm:DeviceGroup\n    name: my_new_devicegroup\n    properties:\n      name: sanjose_devicegroup\n      autoSync: enabled\n      fullLoadOnSync: 'true'\n      type: sync-only\n      devices:\n        - name: bigip1.cisco.com\n        - name: bigip200.f5.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"autoSync":{"type":"string","description":"Specifies if the device-group will automatically sync configuration data to its members\n"},"description":{"type":"string","description":"Description of Device group"},"devices":{"type":"array","items":{"$ref":"#/types/f5bigip:cm/DeviceGroupDevice:DeviceGroupDevice"},"description":"Name of the device to be included in device group, this need to be configured before using devicegroup resource\n"},"fullLoadOnSync":{"type":"string","description":"Specifies if the device-group will perform a full-load upon sync"},"incrementalConfig":{"type":"integer","description":"Specifies the maximum size (in KB) to devote to incremental config sync cached transactions. The default is 1024 KB."},"name":{"type":"string","description":"Is the name of the device Group\n"},"networkFailover":{"type":"string","description":"Specifies if the device-group will use a network connection for failover"},"partition":{"type":"string","description":"Device administrative partition"},"saveOnAutoSync":{"type":"string","description":"Specifies whether the configuration should be saved upon auto-sync."},"type":{"type":"string","description":"Specifies if the device-group will be used for failover or resource syncing\n"}},"inputProperties":{"autoSync":{"type":"string","description":"Specifies if the device-group will automatically sync configuration data to its members\n"},"description":{"type":"string","description":"Description of Device group"},"devices":{"type":"array","items":{"$ref":"#/types/f5bigip:cm/DeviceGroupDevice:DeviceGroupDevice"},"description":"Name of the device to be included in device group, this need to be configured before using devicegroup resource\n"},"fullLoadOnSync":{"type":"string","description":"Specifies if the device-group will perform a full-load upon sync"},"incrementalConfig":{"type":"integer","description":"Specifies the maximum size (in KB) to devote to incremental config sync cached transactions. The default is 1024 KB."},"name":{"type":"string","description":"Is the name of the device Group\n"},"networkFailover":{"type":"string","description":"Specifies if the device-group will use a network connection for failover"},"partition":{"type":"string","description":"Device administrative partition"},"saveOnAutoSync":{"type":"string","description":"Specifies whether the configuration should be saved upon auto-sync."},"type":{"type":"string","description":"Specifies if the device-group will be used for failover or resource syncing\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering DeviceGroup resources.\n","properties":{"autoSync":{"type":"string","description":"Specifies if the device-group will automatically sync configuration data to its members\n"},"description":{"type":"string","description":"Description of Device group"},"devices":{"type":"array","items":{"$ref":"#/types/f5bigip:cm/DeviceGroupDevice:DeviceGroupDevice"},"description":"Name of the device to be included in device group, this need to be configured before using devicegroup resource\n"},"fullLoadOnSync":{"type":"string","description":"Specifies if the device-group will perform a full-load upon sync"},"incrementalConfig":{"type":"integer","description":"Specifies the maximum size (in KB) to devote to incremental config sync cached transactions. The default is 1024 KB."},"name":{"type":"string","description":"Is the name of the device Group\n"},"networkFailover":{"type":"string","description":"Specifies if the device-group will use a network connection for failover"},"partition":{"type":"string","description":"Device administrative partition"},"saveOnAutoSync":{"type":"string","description":"Specifies whether the configuration should be saved upon auto-sync."},"type":{"type":"string","description":"Specifies if the device-group will be used for failover or resource syncing\n"}},"type":"object"}},"f5bigip:index/as3:As3":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.As3`\" pulumi-lang-dotnet=\"`f5bigip.As3`\" pulumi-lang-go=\"`As3`\" pulumi-lang-python=\"`As3`\" pulumi-lang-yaml=\"`f5bigip.As3`\" pulumi-lang-java=\"`f5bigip.As3`\"\u003e`f5bigip.As3`\u003c/span\u003e provides details about bigip as3 resource\n\nThis resource is helpful to configure AS3 declarative JSON on BIG-IP.\n\n\u003e This Resource also supports **Per-Application** mode of AS3 deployment, more information on **Per-Application** mode can be found [Per-App](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/per-app-declarations.html)\n\n\u003e For Supporting AS3 Per-App mode of deployment, AS3 version on BIG-IP should be \u003e **v3.50**\n\n\u003e For Deploying AS3 JSON in Per-App mode, this resource provided with a attribute\u003cspan pulumi-lang-nodejs=\" tenantName \" pulumi-lang-dotnet=\" TenantName \" pulumi-lang-go=\" tenantName \" pulumi-lang-python=\" tenant_name \" pulumi-lang-yaml=\" tenantName \" pulumi-lang-java=\" tenantName \"\u003e tenant_name \u003c/span\u003eto be passed to add application on specified tenant, else random tenant name will be generated.\n\n\nAs3 Declaration can be deployed in Traditional way as well as Per-Application Way : \n\n- Traditional Way - Entire Declaration needs to be passed in during the create and update call along with the tenant details in the declaration.\n- Per-Application Way - Only application details needs to be passed in the as3_json. Tenant name needs to be passed else random tenant name will be generated. \n\n**Note:** : PerApplication needs to be turned \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e as a Prerequisite on the Big-IP (BIG-IP AS3 version \u003e3.50) device. For details : \u003chttps://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/per-app-declarations.html\u003e\n\n### Delete Specific Applications from a Tenant\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst as3AppDeletion = new f5bigip.As3(\"as3_app_deletion\", {deleteApps: {\n    tenantName: \"Tenant-2\",\n    apps: [\n        \"terraform_vs_http\",\n        \"legacy_app\",\n    ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nas3_app_deletion = f5bigip.As3(\"as3_app_deletion\", delete_apps={\n    \"tenant_name\": \"Tenant-2\",\n    \"apps\": [\n        \"terraform_vs_http\",\n        \"legacy_app\",\n    ],\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var as3AppDeletion = new F5BigIP.As3(\"as3_app_deletion\", new()\n    {\n        DeleteApps = new F5BigIP.Inputs.As3DeleteAppsArgs\n        {\n            TenantName = \"Tenant-2\",\n            Apps = new[]\n            {\n                \"terraform_vs_http\",\n                \"legacy_app\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewAs3(ctx, \"as3_app_deletion\", \u0026f5bigip.As3Args{\n\t\t\tDeleteApps: \u0026f5bigip.As3DeleteAppsArgs{\n\t\t\t\tTenantName: pulumi.String(\"Tenant-2\"),\n\t\t\t\tApps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"terraform_vs_http\"),\n\t\t\t\t\tpulumi.String(\"legacy_app\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.As3;\nimport com.pulumi.f5bigip.As3Args;\nimport com.pulumi.f5bigip.inputs.As3DeleteAppsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var as3AppDeletion = new As3(\"as3AppDeletion\", As3Args.builder()\n            .deleteApps(As3DeleteAppsArgs.builder()\n                .tenantName(\"Tenant-2\")\n                .apps(                \n                    \"terraform_vs_http\",\n                    \"legacy_app\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  as3AppDeletion:\n    type: f5bigip:As3\n    name: as3_app_deletion\n    properties:\n      deleteApps:\n        tenantName: Tenant-2\n        apps:\n          - terraform_vs_http\n          - legacy_app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example of controls parameters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nconst as3_example1 = new f5bigip.As3(\"as3-example1\", {\n    as3Json: std.file({\n        input: \"example1.json\",\n    }).then(invoke =\u003e invoke.result),\n    controls: {\n        dry_run: \"no\",\n        trace: \"yes\",\n        trace_response: \"yes\",\n        log_level: \"debug\",\n        user_agent: \"dummy agent\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\nas3_example1 = f5bigip.As3(\"as3-example1\",\n    as3_json=std.file(input=\"example1.json\").result,\n    controls={\n        \"dry_run\": \"no\",\n        \"trace\": \"yes\",\n        \"trace_response\": \"yes\",\n        \"log_level\": \"debug\",\n        \"user_agent\": \"dummy agent\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var as3_example1 = new F5BigIP.As3(\"as3-example1\", new()\n    {\n        As3Json = Std.File.Invoke(new()\n        {\n            Input = \"example1.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Controls = \n        {\n            { \"dry_run\", \"no\" },\n            { \"trace\", \"yes\" },\n            { \"trace_response\", \"yes\" },\n            { \"log_level\", \"debug\" },\n            { \"user_agent\", \"dummy agent\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example1.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewAs3(ctx, \"as3-example1\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: pulumi.String(invokeFile.Result),\n\t\t\tControls: pulumi.StringMap{\n\t\t\t\t\"dry_run\":        pulumi.String(\"no\"),\n\t\t\t\t\"trace\":          pulumi.String(\"yes\"),\n\t\t\t\t\"trace_response\": pulumi.String(\"yes\"),\n\t\t\t\t\"log_level\":      pulumi.String(\"debug\"),\n\t\t\t\t\"user_agent\":     pulumi.String(\"dummy agent\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.As3;\nimport com.pulumi.f5bigip.As3Args;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var as3_example1 = new As3(\"as3-example1\", As3Args.builder()\n            .as3Json(StdFunctions.file(FileArgs.builder()\n                .input(\"example1.json\")\n                .build()).result())\n            .controls(Map.ofEntries(\n                Map.entry(\"dry_run\", \"no\"),\n                Map.entry(\"trace\", \"yes\"),\n                Map.entry(\"trace_response\", \"yes\"),\n                Map.entry(\"log_level\", \"debug\"),\n                Map.entry(\"user_agent\", \"dummy agent\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  as3-example1:\n    type: f5bigip:As3\n    properties:\n      as3Json:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: example1.json\n          return: result\n      controls:\n        dry_run: no\n        trace: yes\n        trace_response: yes\n        log_level: debug\n        user_agent: dummy agent\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n# Per-Application Deployment - Example Usage for json file with tenant name\nresource \u003cspan pulumi-lang-nodejs=\"\"f5bigip.As3\"\" pulumi-lang-dotnet=\"\"f5bigip.As3\"\" pulumi-lang-go=\"\"As3\"\" pulumi-lang-python=\"\"As3\"\" pulumi-lang-yaml=\"\"f5bigip.As3\"\" pulumi-lang-java=\"\"f5bigip.As3\"\"\u003e\"f5bigip.As3\"\u003c/span\u003e \"as3-example1\" {\n \u003cspan pulumi-lang-nodejs=\" as3Json \" pulumi-lang-dotnet=\" As3Json \" pulumi-lang-go=\" as3Json \" pulumi-lang-python=\" as3_json \" pulumi-lang-yaml=\" as3Json \" pulumi-lang-java=\" as3Json \"\u003e as3_json \u003c/span\u003e  = file(\"perApplication_example.json\")\n \u003cspan pulumi-lang-nodejs=\" tenantName \" pulumi-lang-dotnet=\" TenantName \" pulumi-lang-go=\" tenantName \" pulumi-lang-python=\" tenant_name \" pulumi-lang-yaml=\" tenantName \" pulumi-lang-java=\" tenantName \"\u003e tenant_name \u003c/span\u003e= \"Test\"\n}\n\n# Per-Application Deployment - Example Usage for json file without tenant name - Tenant with Random name is generated in this case\nresource \u003cspan pulumi-lang-nodejs=\"\"f5bigip.As3\"\" pulumi-lang-dotnet=\"\"f5bigip.As3\"\" pulumi-lang-go=\"\"As3\"\" pulumi-lang-python=\"\"As3\"\" pulumi-lang-yaml=\"\"f5bigip.As3\"\" pulumi-lang-java=\"\"f5bigip.As3\"\"\u003e\"f5bigip.As3\"\u003c/span\u003e \"as3-example1\" {\n \u003cspan pulumi-lang-nodejs=\" as3Json \" pulumi-lang-dotnet=\" As3Json \" pulumi-lang-go=\" as3Json \" pulumi-lang-python=\" as3_json \" pulumi-lang-yaml=\" as3Json \" pulumi-lang-java=\" as3Json \"\u003e as3_json \u003c/span\u003e  = file(\"perApplication_example.json\")\n}\n\n## Behavior\n\nWhen \u003cspan pulumi-lang-nodejs=\"`deleteApps`\" pulumi-lang-dotnet=\"`DeleteApps`\" pulumi-lang-go=\"`deleteApps`\" pulumi-lang-python=\"`delete_apps`\" pulumi-lang-yaml=\"`deleteApps`\" pulumi-lang-java=\"`deleteApps`\"\u003e`delete_apps`\u003c/span\u003e is used, Terraform logs “Creating...”, but the underlying logic performs application deletion via REST API calls.\n\nEach app in the \u003cspan pulumi-lang-nodejs=\"`apps`\" pulumi-lang-dotnet=\"`Apps`\" pulumi-lang-go=\"`apps`\" pulumi-lang-python=\"`apps`\" pulumi-lang-yaml=\"`apps`\" pulumi-lang-java=\"`apps`\"\u003e`apps`\u003c/span\u003e list is deleted using:\n\n```\nDELETE /mgmt/shared/appsvcs/declare/{tenant}/applications/{app}\n```\n\nA synthetic resource ID is assigned to keep Terraform state consistent after successful deletion.\n\n---\n\n## Outputs\n\n- \u003cspan pulumi-lang-nodejs=\"`taskId`\" pulumi-lang-dotnet=\"`TaskId`\" pulumi-lang-go=\"`taskId`\" pulumi-lang-python=\"`task_id`\" pulumi-lang-yaml=\"`taskId`\" pulumi-lang-java=\"`taskId`\"\u003e`task_id`\u003c/span\u003e – AS3 task ID used in BIG-IP.\n- \u003cspan pulumi-lang-nodejs=\"`applicationList`\" pulumi-lang-dotnet=\"`ApplicationList`\" pulumi-lang-go=\"`applicationList`\" pulumi-lang-python=\"`application_list`\" pulumi-lang-yaml=\"`applicationList`\" pulumi-lang-java=\"`applicationList`\"\u003e`application_list`\u003c/span\u003e – List of deleted applications (if applicable).\n- \u003cspan pulumi-lang-nodejs=\"`tenantList`\" pulumi-lang-dotnet=\"`TenantList`\" pulumi-lang-go=\"`tenantList`\" pulumi-lang-python=\"`tenant_list`\" pulumi-lang-yaml=\"`tenantList`\" pulumi-lang-java=\"`tenantList`\"\u003e`tenant_list`\u003c/span\u003e – List of affected tenants.\n\n---\n\n## Import\n\nAs3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments )\n\n```sh\n   $ pulumi import f5bigip:index/as3:As3 test Sample_http_01\n   $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01\n```\n\n#### Import examples ( single and multiple partitions )\n\n```sh\n\n$ pulumi import f5bigip:index/as3:As3 test Sample_http_01\nbigip_as3.test: Importing from ID \"Sample_http_01\"...\nbigip_as3.test: Import prepared!\n  Prepared bigip_as3 for import\nbigip_as3.test: Refreshing state... [id=Sample_http_01]\n\nImport successful!\n\nThe resources that were imported are shown above. These resources are now in\nyour Terraform state and will henceforth be managed by Terraform.\n\n$ terraform show\n```\n\nbigip_as3.test:\nresource \u003cspan pulumi-lang-nodejs=\"\"f5bigip.As3\"\" pulumi-lang-dotnet=\"\"f5bigip.As3\"\" pulumi-lang-go=\"\"As3\"\" pulumi-lang-python=\"\"As3\"\" pulumi-lang-yaml=\"\"f5bigip.As3\"\" pulumi-lang-java=\"\"f5bigip.As3\"\"\u003e\"f5bigip.As3\"\u003c/span\u003e \"test\" {\u003cspan pulumi-lang-nodejs=\"\nas3Json \" pulumi-lang-dotnet=\"\nAs3Json \" pulumi-lang-go=\"\nas3Json \" pulumi-lang-python=\"\nas3_json \" pulumi-lang-yaml=\"\nas3Json \" pulumi-lang-java=\"\nas3Json \"\u003e\nas3_json \u003c/span\u003e     = jsonencode(\n{\naction      = \"deploy\"\nclass       = \"AS3\"\ndeclaration = {\nSample_http_01 = {\nA1    = {\nclass      = \"Application\"\njsessionid = {\nclass             = \"Persist\"\ncookieMethod      = \"hash\"\ncookieName        = \"JSESSIONID\"\npersistenceMethod = \"cookie\"\n}\nservice    = {\nclass              = \"Service_HTTP\"\npersistenceMethods = [\n{\nuse = \"jsessionid\"\n},\n]\npool               = \u003cspan pulumi-lang-nodejs=\"\"webPool\"\" pulumi-lang-dotnet=\"\"WebPool\"\" pulumi-lang-go=\"\"webPool\"\" pulumi-lang-python=\"\"web_pool\"\" pulumi-lang-yaml=\"\"webPool\"\" pulumi-lang-java=\"\"webPool\"\"\u003e\"web_pool\"\u003c/span\u003e\nvirtualAddresses   = [\n\"10.0.2.10\",\n]\n}\u003cspan pulumi-lang-nodejs=\"\nwebPool \" pulumi-lang-dotnet=\"\nWebPool \" pulumi-lang-go=\"\nwebPool \" pulumi-lang-python=\"\nweb_pool \" pulumi-lang-yaml=\"\nwebPool \" pulumi-lang-java=\"\nwebPool \"\u003e\nweb_pool \u003c/span\u003e  = {\nclass    = \"Pool\"\nmembers  = [\n{\nserverAddresses = [\n\"192.0.2.10\",\n\"192.0.2.11\",\n]\nservicePort     = 80\n},\n]\nmonitors = [\n\"http\",\n]\n}\n}\nclass = \"Tenant\"\n}\nclass          = \"ADC\"\nid             = \"UDP_DNS_Sample\"\nlabel          = \"UDP_DNS_Sample\"\nremark         = \"Sample of a UDP DNS Load Balancer Service\"\nschemaVersion  = \"3.0.0\"\n}\npersist     = true\n}\n)\nid            = \"Sample_http_01\"\u003cspan pulumi-lang-nodejs=\"\ntenantFilter \" pulumi-lang-dotnet=\"\nTenantFilter \" pulumi-lang-go=\"\ntenantFilter \" pulumi-lang-python=\"\ntenant_filter \" pulumi-lang-yaml=\"\ntenantFilter \" pulumi-lang-java=\"\ntenantFilter \"\u003e\ntenant_filter \u003c/span\u003e= \"Sample_http_01\"\u003cspan pulumi-lang-nodejs=\"\ntenantList \" pulumi-lang-dotnet=\"\nTenantList \" pulumi-lang-go=\"\ntenantList \" pulumi-lang-python=\"\ntenant_list \" pulumi-lang-yaml=\"\ntenantList \" pulumi-lang-java=\"\ntenantList \"\u003e\ntenant_list \u003c/span\u003e  = \"Sample_http_01\"\n}\n\n```sh\n$ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01\nbigip_as3.test: Importing from ID \"Sample_http_01,Sample_non_http_01\"...\nbigip_as3.test: Import prepared!\n  Prepared bigip_as3 for import\nbigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01]\n\nImport successful!\n\nThe resources that were imported are shown above. These resources are now in\nyour Terraform state and will henceforth be managed by Terraform.\n\n$ terraform show\n```\n\nbigip_as3.test:\nresource \u003cspan pulumi-lang-nodejs=\"\"f5bigip.As3\"\" pulumi-lang-dotnet=\"\"f5bigip.As3\"\" pulumi-lang-go=\"\"As3\"\" pulumi-lang-python=\"\"As3\"\" pulumi-lang-yaml=\"\"f5bigip.As3\"\" pulumi-lang-java=\"\"f5bigip.As3\"\"\u003e\"f5bigip.As3\"\u003c/span\u003e \"test\" {\u003cspan pulumi-lang-nodejs=\"\nas3Json \" pulumi-lang-dotnet=\"\nAs3Json \" pulumi-lang-go=\"\nas3Json \" pulumi-lang-python=\"\nas3_json \" pulumi-lang-yaml=\"\nas3Json \" pulumi-lang-java=\"\nas3Json \"\u003e\nas3_json \u003c/span\u003e     = jsonencode(\n{\naction      = \"deploy\"\nclass       = \"AS3\"\ndeclaration = {\nSample_http_01     = {\nA1    = {\nclass      = \"Application\"\njsessionid = {\nclass             = \"Persist\"\ncookieMethod      = \"hash\"\ncookieName        = \"JSESSIONID\"\npersistenceMethod = \"cookie\"\n}\nservice    = {\nclass              = \"Service_HTTP\"\npersistenceMethods = [\n{\nuse = \"jsessionid\"\n},\n]\npool               = \u003cspan pulumi-lang-nodejs=\"\"webPool\"\" pulumi-lang-dotnet=\"\"WebPool\"\" pulumi-lang-go=\"\"webPool\"\" pulumi-lang-python=\"\"web_pool\"\" pulumi-lang-yaml=\"\"webPool\"\" pulumi-lang-java=\"\"webPool\"\"\u003e\"web_pool\"\u003c/span\u003e\nvirtualAddresses   = [\n\"10.0.2.10\",\n]\n}\u003cspan pulumi-lang-nodejs=\"\nwebPool \" pulumi-lang-dotnet=\"\nWebPool \" pulumi-lang-go=\"\nwebPool \" pulumi-lang-python=\"\nweb_pool \" pulumi-lang-yaml=\"\nwebPool \" pulumi-lang-java=\"\nwebPool \"\u003e\nweb_pool \u003c/span\u003e  = {\nclass    = \"Pool\"\nmembers  = [\n{\nserverAddresses = [\n\"192.0.2.10\",\n\"192.0.2.11\",\n]\nservicePort     = 80\n},\n]\nmonitors = [\n\"http\",\n]\n}\n}\nclass = \"Tenant\"\n}\nSample_non_http_01 = {\nDNS_Service = {\nPool1   = {\nclass    = \"Pool\"\nmembers  = [\n{\nserverAddresses = [\n\"10.1.10.100\",\n]\nservicePort     = 53\n},\n{\nserverAddresses = [\n\"10.1.10.101\",\n]\nservicePort     = 53\n},\n]\nmonitors = [\n\"icmp\",\n]\n}\nclass   = \"Application\"\nservice = {\nclass            = \"Service_UDP\"\npool             = \"Pool1\"\nvirtualAddresses = [\n\"10.1.20.121\",\n]\nvirtualPort      = 53\n}\n}\nclass       = \"Tenant\"\n}\nclass              = \"ADC\"\nid                 = \"UDP_DNS_Sample\"\nlabel              = \"UDP_DNS_Sample\"\nremark             = \"Sample of a UDP DNS Load Balancer Service\"\nschemaVersion      = \"3.0.0\"\n}\npersist     = true\n}\n)\nid            = \"Sample_http_01,Sample_non_http_01\"\u003cspan pulumi-lang-nodejs=\"\ntenantFilter \" pulumi-lang-dotnet=\"\nTenantFilter \" pulumi-lang-go=\"\ntenantFilter \" pulumi-lang-python=\"\ntenant_filter \" pulumi-lang-yaml=\"\ntenantFilter \" pulumi-lang-java=\"\ntenantFilter \"\u003e\ntenant_filter \u003c/span\u003e= \"Sample_http_01,Sample_non_http_01\"\u003cspan pulumi-lang-nodejs=\"\ntenantList \" pulumi-lang-dotnet=\"\nTenantList \" pulumi-lang-go=\"\ntenantList \" pulumi-lang-python=\"\ntenant_list \" pulumi-lang-yaml=\"\ntenantList \" pulumi-lang-java=\"\ntenantList \"\u003e\ntenant_list \u003c/span\u003e  = \"Sample_http_01,Sample_non_http_01\"\n}\n\n\n\n* `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html\n\n","properties":{"applicationList":{"type":"string","description":"List of applications currently deployed on the Big-Ip\n"},"as3Json":{"type":"string","description":"Path/Filename of Declarative AS3 JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"controls":{"type":"object","additionalProperties":{"type":"string"},"description":"A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.\n"},"deleteApps":{"$ref":"#/types/f5bigip:index/As3DeleteApps:As3DeleteApps","description":"Block for specifying tenant name and applications to delete from BIG-IP. **Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e**: only one of \u003cspan pulumi-lang-nodejs=\"`deleteApps`\" pulumi-lang-dotnet=\"`DeleteApps`\" pulumi-lang-go=\"`deleteApps`\" pulumi-lang-python=\"`delete_apps`\" pulumi-lang-yaml=\"`deleteApps`\" pulumi-lang-java=\"`deleteApps`\"\u003e`delete_apps`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e can be set in a resource block."},"ignoreMetadata":{"type":"boolean","description":"Set True if you want to ignore metadata changes during update. By default it is set to false\n\n* `as3_example1.json` - Example  AS3 Declarative JSON file with single tenant\n\n```json\n\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.0.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Sample 1\",\n\"remark\": \"Simple HTTP application with round robin pool\",\n\"Sample_01\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_1\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.0.2.10\"\n],\n\"pool\": \"web_pool\"\n},\n\"web_pool\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.1.100\",\n\"192.0.1.110\"\n]\n}\n]\n}\n}\n}\n}\n}\n\n```\n* `as3_example2.json` - Example  AS3 Declarative JSON file with multiple tenants\n\n```json\n\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.0.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Sample 1\",\n\"remark\": \"Simple HTTP application with round robin pool\",\n\"Sample_02\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_2\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.2.2.10\"\n],\n\"pool\": \"web_pool2\"\n},\n\"web_pool2\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.2.1.100\",\n\"192.2.1.110\"\n]\n}\n]\n}\n}\n},\n\"Sample_03\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_3\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.1.2.10\"\n],\n\"pool\": \"web_pool3\"\n},\n\"web_pool3\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.3.1.100\",\n\"192.3.1.110\"\n]\n}\n]\n}\n}\n}\n}\n}\n\n```\n\n* `perApplication_example` - Per Application Example - JSON file with multiple Applications (and no Tenant Details)\n\n```json\n{\n\"Application1\": {\n\"class\": \"Application\",\n\"service\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"192.0.2.1\"\n],\n\"pool\": \"pool\"\n},\n\"pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.2.10\",\n\"192.0.2.20\"\n]\n}\n]\n}\n},\n\"Application2\": {\n\"class\": \"Application\",\n\"service\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"192.0.3.2\"\n],\n\"pool\": \"pool\"\n},\n\"pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.3.30\",\n\"192.0.3.40\"\n]\n}\n]\n}\n}\n}\n```\n\n#\u003cspan pulumi-lang-nodejs=\" f5bigip.As3 \" pulumi-lang-dotnet=\" f5bigip.As3 \" pulumi-lang-go=\" As3 \" pulumi-lang-python=\" As3 \" pulumi-lang-yaml=\" f5bigip.As3 \" pulumi-lang-java=\" f5bigip.As3 \"\u003e f5bigip.As3 \u003c/span\u003edelete one or more applications\n\nThe \u003cspan pulumi-lang-nodejs=\"`f5bigip.As3`\" pulumi-lang-dotnet=\"`f5bigip.As3`\" pulumi-lang-go=\"`As3`\" pulumi-lang-python=\"`As3`\" pulumi-lang-yaml=\"`f5bigip.As3`\" pulumi-lang-java=\"`f5bigip.As3`\"\u003e`f5bigip.As3`\u003c/span\u003e resource allows you to **post full AS3 declarations** or **selectively delete one or more applications** from a specific tenant in BIG-IP.\n\n\u003e **Note**: \u003cspan pulumi-lang-nodejs=\"`deleteApps`\" pulumi-lang-dotnet=\"`DeleteApps`\" pulumi-lang-go=\"`deleteApps`\" pulumi-lang-python=\"`delete_apps`\" pulumi-lang-yaml=\"`deleteApps`\" pulumi-lang-java=\"`deleteApps`\"\u003e`delete_apps`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e are **mutually exclusive**. You must use only one of them in a single \u003cspan pulumi-lang-nodejs=\"`f5bigip.As3`\" pulumi-lang-dotnet=\"`f5bigip.As3`\" pulumi-lang-go=\"`As3`\" pulumi-lang-python=\"`As3`\" pulumi-lang-yaml=\"`f5bigip.As3`\" pulumi-lang-java=\"`f5bigip.As3`\"\u003e`f5bigip.As3`\u003c/span\u003e resource block.\n"},"perAppMode":{"type":"boolean","description":"Will specify whether is deployment is done via Per-Application Way or Traditional Way\n"},"taskId":{"type":"string","description":"ID of AS3 post declaration async task"},"tenantFilter":{"type":"string","description":"If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.\n"},"tenantList":{"type":"string","description":"List of tenants currently deployed on the Big-Ip\n"},"tenantName":{"type":"string","description":"Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.\n"}},"required":["applicationList","perAppMode","taskId","tenantFilter","tenantList","tenantName"],"inputProperties":{"applicationList":{"type":"string","description":"List of applications currently deployed on the Big-Ip\n"},"as3Json":{"type":"string","description":"Path/Filename of Declarative AS3 JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"controls":{"type":"object","additionalProperties":{"type":"string"},"description":"A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.\n"},"deleteApps":{"$ref":"#/types/f5bigip:index/As3DeleteApps:As3DeleteApps","description":"Block for specifying tenant name and applications to delete from BIG-IP. **Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e**: only one of \u003cspan pulumi-lang-nodejs=\"`deleteApps`\" pulumi-lang-dotnet=\"`DeleteApps`\" pulumi-lang-go=\"`deleteApps`\" pulumi-lang-python=\"`delete_apps`\" pulumi-lang-yaml=\"`deleteApps`\" pulumi-lang-java=\"`deleteApps`\"\u003e`delete_apps`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e can be set in a resource block."},"ignoreMetadata":{"type":"boolean","description":"Set True if you want to ignore metadata changes during update. By default it is set to false\n\n* `as3_example1.json` - Example  AS3 Declarative JSON file with single tenant\n\n```json\n\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.0.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Sample 1\",\n\"remark\": \"Simple HTTP application with round robin pool\",\n\"Sample_01\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_1\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.0.2.10\"\n],\n\"pool\": \"web_pool\"\n},\n\"web_pool\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.1.100\",\n\"192.0.1.110\"\n]\n}\n]\n}\n}\n}\n}\n}\n\n```\n* `as3_example2.json` - Example  AS3 Declarative JSON file with multiple tenants\n\n```json\n\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.0.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Sample 1\",\n\"remark\": \"Simple HTTP application with round robin pool\",\n\"Sample_02\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_2\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.2.2.10\"\n],\n\"pool\": \"web_pool2\"\n},\n\"web_pool2\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.2.1.100\",\n\"192.2.1.110\"\n]\n}\n]\n}\n}\n},\n\"Sample_03\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_3\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.1.2.10\"\n],\n\"pool\": \"web_pool3\"\n},\n\"web_pool3\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.3.1.100\",\n\"192.3.1.110\"\n]\n}\n]\n}\n}\n}\n}\n}\n\n```\n\n* `perApplication_example` - Per Application Example - JSON file with multiple Applications (and no Tenant Details)\n\n```json\n{\n\"Application1\": {\n\"class\": \"Application\",\n\"service\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"192.0.2.1\"\n],\n\"pool\": \"pool\"\n},\n\"pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.2.10\",\n\"192.0.2.20\"\n]\n}\n]\n}\n},\n\"Application2\": {\n\"class\": \"Application\",\n\"service\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"192.0.3.2\"\n],\n\"pool\": \"pool\"\n},\n\"pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.3.30\",\n\"192.0.3.40\"\n]\n}\n]\n}\n}\n}\n```\n\n#\u003cspan pulumi-lang-nodejs=\" f5bigip.As3 \" pulumi-lang-dotnet=\" f5bigip.As3 \" pulumi-lang-go=\" As3 \" pulumi-lang-python=\" As3 \" pulumi-lang-yaml=\" f5bigip.As3 \" pulumi-lang-java=\" f5bigip.As3 \"\u003e f5bigip.As3 \u003c/span\u003edelete one or more applications\n\nThe \u003cspan pulumi-lang-nodejs=\"`f5bigip.As3`\" pulumi-lang-dotnet=\"`f5bigip.As3`\" pulumi-lang-go=\"`As3`\" pulumi-lang-python=\"`As3`\" pulumi-lang-yaml=\"`f5bigip.As3`\" pulumi-lang-java=\"`f5bigip.As3`\"\u003e`f5bigip.As3`\u003c/span\u003e resource allows you to **post full AS3 declarations** or **selectively delete one or more applications** from a specific tenant in BIG-IP.\n\n\u003e **Note**: \u003cspan pulumi-lang-nodejs=\"`deleteApps`\" pulumi-lang-dotnet=\"`DeleteApps`\" pulumi-lang-go=\"`deleteApps`\" pulumi-lang-python=\"`delete_apps`\" pulumi-lang-yaml=\"`deleteApps`\" pulumi-lang-java=\"`deleteApps`\"\u003e`delete_apps`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e are **mutually exclusive**. You must use only one of them in a single \u003cspan pulumi-lang-nodejs=\"`f5bigip.As3`\" pulumi-lang-dotnet=\"`f5bigip.As3`\" pulumi-lang-go=\"`As3`\" pulumi-lang-python=\"`As3`\" pulumi-lang-yaml=\"`f5bigip.As3`\" pulumi-lang-java=\"`f5bigip.As3`\"\u003e`f5bigip.As3`\u003c/span\u003e resource block.\n"},"taskId":{"type":"string","description":"ID of AS3 post declaration async task"},"tenantFilter":{"type":"string","description":"If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.\n"},"tenantList":{"type":"string","description":"List of tenants currently deployed on the Big-Ip\n"},"tenantName":{"type":"string","description":"Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering As3 resources.\n","properties":{"applicationList":{"type":"string","description":"List of applications currently deployed on the Big-Ip\n"},"as3Json":{"type":"string","description":"Path/Filename of Declarative AS3 JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"controls":{"type":"object","additionalProperties":{"type":"string"},"description":"A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.\n"},"deleteApps":{"$ref":"#/types/f5bigip:index/As3DeleteApps:As3DeleteApps","description":"Block for specifying tenant name and applications to delete from BIG-IP. **Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e**: only one of \u003cspan pulumi-lang-nodejs=\"`deleteApps`\" pulumi-lang-dotnet=\"`DeleteApps`\" pulumi-lang-go=\"`deleteApps`\" pulumi-lang-python=\"`delete_apps`\" pulumi-lang-yaml=\"`deleteApps`\" pulumi-lang-java=\"`deleteApps`\"\u003e`delete_apps`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e can be set in a resource block."},"ignoreMetadata":{"type":"boolean","description":"Set True if you want to ignore metadata changes during update. By default it is set to false\n\n* `as3_example1.json` - Example  AS3 Declarative JSON file with single tenant\n\n```json\n\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.0.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Sample 1\",\n\"remark\": \"Simple HTTP application with round robin pool\",\n\"Sample_01\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_1\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.0.2.10\"\n],\n\"pool\": \"web_pool\"\n},\n\"web_pool\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.1.100\",\n\"192.0.1.110\"\n]\n}\n]\n}\n}\n}\n}\n}\n\n```\n* `as3_example2.json` - Example  AS3 Declarative JSON file with multiple tenants\n\n```json\n\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.0.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Sample 1\",\n\"remark\": \"Simple HTTP application with round robin pool\",\n\"Sample_02\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_2\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.2.2.10\"\n],\n\"pool\": \"web_pool2\"\n},\n\"web_pool2\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.2.1.100\",\n\"192.2.1.110\"\n]\n}\n]\n}\n}\n},\n\"Sample_03\": {\n\"class\": \"Tenant\",\n\"defaultRouteDomain\": 0,\n\"Application_3\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.1.2.10\"\n],\n\"pool\": \"web_pool3\"\n},\n\"web_pool3\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.3.1.100\",\n\"192.3.1.110\"\n]\n}\n]\n}\n}\n}\n}\n}\n\n```\n\n* `perApplication_example` - Per Application Example - JSON file with multiple Applications (and no Tenant Details)\n\n```json\n{\n\"Application1\": {\n\"class\": \"Application\",\n\"service\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"192.0.2.1\"\n],\n\"pool\": \"pool\"\n},\n\"pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.2.10\",\n\"192.0.2.20\"\n]\n}\n]\n}\n},\n\"Application2\": {\n\"class\": \"Application\",\n\"service\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"192.0.3.2\"\n],\n\"pool\": \"pool\"\n},\n\"pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.3.30\",\n\"192.0.3.40\"\n]\n}\n]\n}\n}\n}\n```\n\n#\u003cspan pulumi-lang-nodejs=\" f5bigip.As3 \" pulumi-lang-dotnet=\" f5bigip.As3 \" pulumi-lang-go=\" As3 \" pulumi-lang-python=\" As3 \" pulumi-lang-yaml=\" f5bigip.As3 \" pulumi-lang-java=\" f5bigip.As3 \"\u003e f5bigip.As3 \u003c/span\u003edelete one or more applications\n\nThe \u003cspan pulumi-lang-nodejs=\"`f5bigip.As3`\" pulumi-lang-dotnet=\"`f5bigip.As3`\" pulumi-lang-go=\"`As3`\" pulumi-lang-python=\"`As3`\" pulumi-lang-yaml=\"`f5bigip.As3`\" pulumi-lang-java=\"`f5bigip.As3`\"\u003e`f5bigip.As3`\u003c/span\u003e resource allows you to **post full AS3 declarations** or **selectively delete one or more applications** from a specific tenant in BIG-IP.\n\n\u003e **Note**: \u003cspan pulumi-lang-nodejs=\"`deleteApps`\" pulumi-lang-dotnet=\"`DeleteApps`\" pulumi-lang-go=\"`deleteApps`\" pulumi-lang-python=\"`delete_apps`\" pulumi-lang-yaml=\"`deleteApps`\" pulumi-lang-java=\"`deleteApps`\"\u003e`delete_apps`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`as3Json`\" pulumi-lang-dotnet=\"`As3Json`\" pulumi-lang-go=\"`as3Json`\" pulumi-lang-python=\"`as3_json`\" pulumi-lang-yaml=\"`as3Json`\" pulumi-lang-java=\"`as3Json`\"\u003e`as3_json`\u003c/span\u003e are **mutually exclusive**. You must use only one of them in a single \u003cspan pulumi-lang-nodejs=\"`f5bigip.As3`\" pulumi-lang-dotnet=\"`f5bigip.As3`\" pulumi-lang-go=\"`As3`\" pulumi-lang-python=\"`As3`\" pulumi-lang-yaml=\"`f5bigip.As3`\" pulumi-lang-java=\"`f5bigip.As3`\"\u003e`f5bigip.As3`\u003c/span\u003e resource block.\n"},"perAppMode":{"type":"boolean","description":"Will specify whether is deployment is done via Per-Application Way or Traditional Way\n"},"taskId":{"type":"string","description":"ID of AS3 post declaration async task"},"tenantFilter":{"type":"string","description":"If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.\n"},"tenantList":{"type":"string","description":"List of tenants currently deployed on the Big-Ip\n"},"tenantName":{"type":"string","description":"Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.\n"}},"type":"object"}},"f5bigip:index/bigIqAs3:BigIqAs3":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.BigIqAs3`\" pulumi-lang-dotnet=\"`f5bigip.BigIqAs3`\" pulumi-lang-go=\"`BigIqAs3`\" pulumi-lang-python=\"`BigIqAs3`\" pulumi-lang-yaml=\"`f5bigip.BigIqAs3`\" pulumi-lang-java=\"`f5bigip.BigIqAs3`\"\u003e`f5bigip.BigIqAs3`\u003c/span\u003e provides details about bigiq as3 resource\n\nThis resource is helpful to configure as3 declarative JSON on BIG-IP through BIG-IQ.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\n// Example Usage for json file\nconst exampletask = new f5bigip.BigIqAs3(\"exampletask\", {\n    bigiqAddress: \"xx.xx.xxx.xx\",\n    bigiqUser: \"xxxxx\",\n    bigiqPassword: \"xxxxxxxxx\",\n    as3Json: std.file({\n        input: \"bigiq_example.json\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\n# Example Usage for json file\nexampletask = f5bigip.BigIqAs3(\"exampletask\",\n    bigiq_address=\"xx.xx.xxx.xx\",\n    bigiq_user=\"xxxxx\",\n    bigiq_password=\"xxxxxxxxx\",\n    as3_json=std.file(input=\"bigiq_example.json\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Example Usage for json file\n    var exampletask = new F5BigIP.BigIqAs3(\"exampletask\", new()\n    {\n        BigiqAddress = \"xx.xx.xxx.xx\",\n        BigiqUser = \"xxxxx\",\n        BigiqPassword = \"xxxxxxxxx\",\n        As3Json = Std.File.Invoke(new()\n        {\n            Input = \"bigiq_example.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"bigiq_example.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example Usage for json file\n\t\t_, err = f5bigip.NewBigIqAs3(ctx, \"exampletask\", \u0026f5bigip.BigIqAs3Args{\n\t\t\tBigiqAddress:  pulumi.String(\"xx.xx.xxx.xx\"),\n\t\t\tBigiqUser:     pulumi.String(\"xxxxx\"),\n\t\t\tBigiqPassword: pulumi.String(\"xxxxxxxxx\"),\n\t\t\tAs3Json:       pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.BigIqAs3;\nimport com.pulumi.f5bigip.BigIqAs3Args;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Example Usage for json file\n        var exampletask = new BigIqAs3(\"exampletask\", BigIqAs3Args.builder()\n            .bigiqAddress(\"xx.xx.xxx.xx\")\n            .bigiqUser(\"xxxxx\")\n            .bigiqPassword(\"xxxxxxxxx\")\n            .as3Json(StdFunctions.file(FileArgs.builder()\n                .input(\"bigiq_example.json\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Example Usage for json file\n  exampletask:\n    type: f5bigip:BigIqAs3\n    properties:\n      bigiqAddress: xx.xx.xxx.xx\n      bigiqUser: xxxxx\n      bigiqPassword: xxxxxxxxx\n      as3Json:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: bigiq_example.json\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"as3Json":{"type":"string","description":"Path/Filename of Declarative AS3 JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"bigiqAddress":{"type":"string","description":"Address of the BIG-IQ to which your targer BIG-IP is attached\n"},"bigiqLoginRef":{"type":"string","description":"BIGIQ Login reference for token authentication\n","secret":true},"bigiqPassword":{"type":"string","description":"Password of the BIG-IQ to which your targer BIG-IP is attached\n","secret":true},"bigiqPort":{"type":"string","description":"type \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, BIGIQ License Manager Port number, specify if port is other than \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e\n","secret":true},"bigiqTokenAuth":{"type":"boolean","description":"type \u003cspan pulumi-lang-nodejs=\"`bool`\" pulumi-lang-dotnet=\"`Bool`\" pulumi-lang-go=\"`bool`\" pulumi-lang-python=\"`bool`\" pulumi-lang-yaml=\"`bool`\" pulumi-lang-java=\"`bool`\"\u003e`bool`\u003c/span\u003e, if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e enables Token based Authentication,default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","secret":true},"bigiqUser":{"type":"string","description":"User name  of the BIG-IQ to which your targer BIG-IP is attached\n","secret":true},"ignoreMetadata":{"type":"boolean","description":"Set True if you want to ignore metadata changes during update. By default it is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n\n* `bigiq_example.json` - Example  AS3 Declarative JSON file\n\n```json\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.7.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Task1\",\n\"remark\": \"Task 1 - HTTP Application Service\",\n\"target\": {\n\"address\": \"xx.xxx.xx.xxx\"\n},\n\"Task1\": {\n\"class\": \"Tenant\",\n\"MyWebApp1http\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\n\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.1.2.10\"\n],\n\"pool\": \"web_pool\"\n},\n\"web_pool\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.2.33\",\n\"192.0.2.13\"\n],\n\"shareNodes\": true\n}\n]\n}\n}\n}\n}\n}\n```\n\n* `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/big-iq.html\n\n\u003e  **Note:** This resource does not support \u003cspan pulumi-lang-nodejs=\"`teanatFilter`\" pulumi-lang-dotnet=\"`TeanatFilter`\" pulumi-lang-go=\"`teanatFilter`\" pulumi-lang-python=\"`teanat_filter`\" pulumi-lang-yaml=\"`teanatFilter`\" pulumi-lang-java=\"`teanatFilter`\"\u003e`teanat_filter`\u003c/span\u003e parameter as BIG-IP As3 resource\n"},"tenantList":{"type":"string","description":"Name of Tenant"}},"required":["as3Json","bigiqAddress","bigiqPassword","bigiqUser","tenantList"],"inputProperties":{"as3Json":{"type":"string","description":"Path/Filename of Declarative AS3 JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"bigiqAddress":{"type":"string","description":"Address of the BIG-IQ to which your targer BIG-IP is attached\n"},"bigiqLoginRef":{"type":"string","description":"BIGIQ Login reference for token authentication\n","secret":true},"bigiqPassword":{"type":"string","description":"Password of the BIG-IQ to which your targer BIG-IP is attached\n","secret":true},"bigiqPort":{"type":"string","description":"type \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, BIGIQ License Manager Port number, specify if port is other than \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e\n","secret":true},"bigiqTokenAuth":{"type":"boolean","description":"type \u003cspan pulumi-lang-nodejs=\"`bool`\" pulumi-lang-dotnet=\"`Bool`\" pulumi-lang-go=\"`bool`\" pulumi-lang-python=\"`bool`\" pulumi-lang-yaml=\"`bool`\" pulumi-lang-java=\"`bool`\"\u003e`bool`\u003c/span\u003e, if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e enables Token based Authentication,default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","secret":true},"bigiqUser":{"type":"string","description":"User name  of the BIG-IQ to which your targer BIG-IP is attached\n","secret":true},"ignoreMetadata":{"type":"boolean","description":"Set True if you want to ignore metadata changes during update. By default it is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n\n* `bigiq_example.json` - Example  AS3 Declarative JSON file\n\n```json\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.7.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Task1\",\n\"remark\": \"Task 1 - HTTP Application Service\",\n\"target\": {\n\"address\": \"xx.xxx.xx.xxx\"\n},\n\"Task1\": {\n\"class\": \"Tenant\",\n\"MyWebApp1http\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\n\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.1.2.10\"\n],\n\"pool\": \"web_pool\"\n},\n\"web_pool\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.2.33\",\n\"192.0.2.13\"\n],\n\"shareNodes\": true\n}\n]\n}\n}\n}\n}\n}\n```\n\n* `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/big-iq.html\n\n\u003e  **Note:** This resource does not support \u003cspan pulumi-lang-nodejs=\"`teanatFilter`\" pulumi-lang-dotnet=\"`TeanatFilter`\" pulumi-lang-go=\"`teanatFilter`\" pulumi-lang-python=\"`teanat_filter`\" pulumi-lang-yaml=\"`teanatFilter`\" pulumi-lang-java=\"`teanatFilter`\"\u003e`teanat_filter`\u003c/span\u003e parameter as BIG-IP As3 resource\n"},"tenantList":{"type":"string","description":"Name of Tenant"}},"requiredInputs":["as3Json","bigiqAddress","bigiqPassword","bigiqUser"],"stateInputs":{"description":"Input properties used for looking up and filtering BigIqAs3 resources.\n","properties":{"as3Json":{"type":"string","description":"Path/Filename of Declarative AS3 JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"bigiqAddress":{"type":"string","description":"Address of the BIG-IQ to which your targer BIG-IP is attached\n"},"bigiqLoginRef":{"type":"string","description":"BIGIQ Login reference for token authentication\n","secret":true},"bigiqPassword":{"type":"string","description":"Password of the BIG-IQ to which your targer BIG-IP is attached\n","secret":true},"bigiqPort":{"type":"string","description":"type \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, BIGIQ License Manager Port number, specify if port is other than \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e\n","secret":true},"bigiqTokenAuth":{"type":"boolean","description":"type \u003cspan pulumi-lang-nodejs=\"`bool`\" pulumi-lang-dotnet=\"`Bool`\" pulumi-lang-go=\"`bool`\" pulumi-lang-python=\"`bool`\" pulumi-lang-yaml=\"`bool`\" pulumi-lang-java=\"`bool`\"\u003e`bool`\u003c/span\u003e, if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e enables Token based Authentication,default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","secret":true},"bigiqUser":{"type":"string","description":"User name  of the BIG-IQ to which your targer BIG-IP is attached\n","secret":true},"ignoreMetadata":{"type":"boolean","description":"Set True if you want to ignore metadata changes during update. By default it is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n\n* `bigiq_example.json` - Example  AS3 Declarative JSON file\n\n```json\n{\n\"class\": \"AS3\",\n\"action\": \"deploy\",\n\"persist\": true,\n\"declaration\": {\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.7.0\",\n\"id\": \"example-declaration-01\",\n\"label\": \"Task1\",\n\"remark\": \"Task 1 - HTTP Application Service\",\n\"target\": {\n\"address\": \"xx.xxx.xx.xxx\"\n},\n\"Task1\": {\n\"class\": \"Tenant\",\n\"MyWebApp1http\": {\n\"class\": \"Application\",\n\"template\": \"http\",\n\n\n\"serviceMain\": {\n\"class\": \"Service_HTTP\",\n\"virtualAddresses\": [\n\"10.1.2.10\"\n],\n\"pool\": \"web_pool\"\n},\n\"web_pool\": {\n\"class\": \"Pool\",\n\"monitors\": [\n\"http\"\n],\n\"members\": [\n{\n\"servicePort\": 80,\n\"serverAddresses\": [\n\"192.0.2.33\",\n\"192.0.2.13\"\n],\n\"shareNodes\": true\n}\n]\n}\n}\n}\n}\n}\n```\n\n* `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/big-iq.html\n\n\u003e  **Note:** This resource does not support \u003cspan pulumi-lang-nodejs=\"`teanatFilter`\" pulumi-lang-dotnet=\"`TeanatFilter`\" pulumi-lang-go=\"`teanatFilter`\" pulumi-lang-python=\"`teanat_filter`\" pulumi-lang-yaml=\"`teanatFilter`\" pulumi-lang-java=\"`teanatFilter`\"\u003e`teanat_filter`\u003c/span\u003e parameter as BIG-IP As3 resource\n"},"tenantList":{"type":"string","description":"Name of Tenant"}},"type":"object"}},"f5bigip:index/command:Command":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.Command`\" pulumi-lang-dotnet=\"`f5bigip.Command`\" pulumi-lang-go=\"`Command`\" pulumi-lang-python=\"`Command`\" pulumi-lang-yaml=\"`f5bigip.Command`\" pulumi-lang-java=\"`f5bigip.Command`\"\u003e`f5bigip.Command`\u003c/span\u003e Run TMSH commands on F5 devices\n\nThis resource is helpful to send TMSH command to an BIG-IP node and returns the results read from the device\n\n","properties":{"commandResults":{"type":"array","items":{"type":"string"},"description":"The resulting output from the \u003cspan pulumi-lang-nodejs=\"`commands`\" pulumi-lang-dotnet=\"`Commands`\" pulumi-lang-go=\"`commands`\" pulumi-lang-python=\"`commands`\" pulumi-lang-yaml=\"`commands`\" pulumi-lang-java=\"`commands`\"\u003e`commands`\u003c/span\u003e executed.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"The commands to send to the remote BIG-IP device over the configured provider. The resulting output from the command is returned and added to \u003cspan pulumi-lang-nodejs=\"`commandResult`\" pulumi-lang-dotnet=\"`CommandResult`\" pulumi-lang-go=\"`commandResult`\" pulumi-lang-python=\"`command_result`\" pulumi-lang-yaml=\"`commandResult`\" pulumi-lang-java=\"`commandResult`\"\u003e`command_result`\u003c/span\u003e\n"},"when":{"type":"string","description":"default value will be \u003cspan pulumi-lang-nodejs=\"`apply`\" pulumi-lang-dotnet=\"`Apply`\" pulumi-lang-go=\"`apply`\" pulumi-lang-python=\"`apply`\" pulumi-lang-yaml=\"`apply`\" pulumi-lang-java=\"`apply`\"\u003e`apply`\u003c/span\u003e,can be set to \u003cspan pulumi-lang-nodejs=\"`destroy`\" pulumi-lang-dotnet=\"`Destroy`\" pulumi-lang-go=\"`destroy`\" pulumi-lang-python=\"`destroy`\" pulumi-lang-yaml=\"`destroy`\" pulumi-lang-java=\"`destroy`\"\u003e`destroy`\u003c/span\u003e for terraform destroy call.\n"}},"required":["commandResults","commands"],"inputProperties":{"commandResults":{"type":"array","items":{"type":"string"},"description":"The resulting output from the \u003cspan pulumi-lang-nodejs=\"`commands`\" pulumi-lang-dotnet=\"`Commands`\" pulumi-lang-go=\"`commands`\" pulumi-lang-python=\"`commands`\" pulumi-lang-yaml=\"`commands`\" pulumi-lang-java=\"`commands`\"\u003e`commands`\u003c/span\u003e executed.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"The commands to send to the remote BIG-IP device over the configured provider. The resulting output from the command is returned and added to \u003cspan pulumi-lang-nodejs=\"`commandResult`\" pulumi-lang-dotnet=\"`CommandResult`\" pulumi-lang-go=\"`commandResult`\" pulumi-lang-python=\"`command_result`\" pulumi-lang-yaml=\"`commandResult`\" pulumi-lang-java=\"`commandResult`\"\u003e`command_result`\u003c/span\u003e\n"},"when":{"type":"string","description":"default value will be \u003cspan pulumi-lang-nodejs=\"`apply`\" pulumi-lang-dotnet=\"`Apply`\" pulumi-lang-go=\"`apply`\" pulumi-lang-python=\"`apply`\" pulumi-lang-yaml=\"`apply`\" pulumi-lang-java=\"`apply`\"\u003e`apply`\u003c/span\u003e,can be set to \u003cspan pulumi-lang-nodejs=\"`destroy`\" pulumi-lang-dotnet=\"`Destroy`\" pulumi-lang-go=\"`destroy`\" pulumi-lang-python=\"`destroy`\" pulumi-lang-yaml=\"`destroy`\" pulumi-lang-java=\"`destroy`\"\u003e`destroy`\u003c/span\u003e for terraform destroy call.\n"}},"requiredInputs":["commands"],"stateInputs":{"description":"Input properties used for looking up and filtering Command resources.\n","properties":{"commandResults":{"type":"array","items":{"type":"string"},"description":"The resulting output from the \u003cspan pulumi-lang-nodejs=\"`commands`\" pulumi-lang-dotnet=\"`Commands`\" pulumi-lang-go=\"`commands`\" pulumi-lang-python=\"`commands`\" pulumi-lang-yaml=\"`commands`\" pulumi-lang-java=\"`commands`\"\u003e`commands`\u003c/span\u003e executed.\n"},"commands":{"type":"array","items":{"type":"string"},"description":"The commands to send to the remote BIG-IP device over the configured provider. The resulting output from the command is returned and added to \u003cspan pulumi-lang-nodejs=\"`commandResult`\" pulumi-lang-dotnet=\"`CommandResult`\" pulumi-lang-go=\"`commandResult`\" pulumi-lang-python=\"`command_result`\" pulumi-lang-yaml=\"`commandResult`\" pulumi-lang-java=\"`commandResult`\"\u003e`command_result`\u003c/span\u003e\n"},"when":{"type":"string","description":"default value will be \u003cspan pulumi-lang-nodejs=\"`apply`\" pulumi-lang-dotnet=\"`Apply`\" pulumi-lang-go=\"`apply`\" pulumi-lang-python=\"`apply`\" pulumi-lang-yaml=\"`apply`\" pulumi-lang-java=\"`apply`\"\u003e`apply`\u003c/span\u003e,can be set to \u003cspan pulumi-lang-nodejs=\"`destroy`\" pulumi-lang-dotnet=\"`Destroy`\" pulumi-lang-go=\"`destroy`\" pulumi-lang-python=\"`destroy`\" pulumi-lang-yaml=\"`destroy`\" pulumi-lang-java=\"`destroy`\"\u003e`destroy`\u003c/span\u003e for terraform destroy call.\n"}},"type":"object"}},"f5bigip:index/commonLicenseManageBigIq:CommonLicenseManageBigIq":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.CommonLicenseManageBigIq`\" pulumi-lang-dotnet=\"`f5bigip.CommonLicenseManageBigIq`\" pulumi-lang-go=\"`CommonLicenseManageBigIq`\" pulumi-lang-python=\"`CommonLicenseManageBigIq`\" pulumi-lang-yaml=\"`f5bigip.CommonLicenseManageBigIq`\" pulumi-lang-java=\"`f5bigip.CommonLicenseManageBigIq`\"\u003e`f5bigip.CommonLicenseManageBigIq`\u003c/span\u003e This Resource is used for BIGIP/Provider License Management from BIGIQ\n\n\n","properties":{"assignmentType":{"type":"string","description":"The type of assignment, which is determined by whether the BIG-IP is unreachable, unmanaged, or managed by BIG-IQ. Possible values: “UNREACHABLE”, “UNMANAGED”, or “MANAGED”.\n"},"bigiqAddress":{"type":"string","description":"BIGIQ License Manager IP Address, variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"bigiqLoginRef":{"type":"string","description":"BIGIQ Login reference for token authentication\n","secret":true},"bigiqPassword":{"type":"string","description":"BIGIQ License Manager password.  variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n","secret":true},"bigiqPort":{"type":"string","description":"type \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, BIGIQ License Manager Port number, specify if port is other than \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e\n","secret":true},"bigiqTokenAuth":{"type":"boolean","description":"type \u003cspan pulumi-lang-nodejs=\"`bool`\" pulumi-lang-dotnet=\"`Bool`\" pulumi-lang-go=\"`bool`\" pulumi-lang-python=\"`bool`\" pulumi-lang-yaml=\"`bool`\" pulumi-lang-java=\"`bool`\"\u003e`bool`\u003c/span\u003e, if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e enables Token based Authentication,default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","secret":true},"bigiqUser":{"type":"string","description":"BIGIQ License Manager username, variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n","secret":true},"deviceLicenseStatus":{"type":"string","description":"Status of Licence Assignment"},"hypervisor":{"type":"string","description":"Identifies the platform running the BIG-IP VE. Possible values: “aws”, “azure”, “gce”, “vmware”, “hyperv”, “kvm”, or “xen”. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"key":{"type":"string","description":"License Assignment is done with specified \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e, supported only with RegKeypool type License assignement. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"licensePoolname":{"type":"string","description":"A name given to the license pool. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"macAddress":{"type":"string","description":"MAC address of the BIG-IP. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"skukeyword1":{"type":"string","description":"An optional offering name. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"skukeyword2":{"type":"string","description":"An optional offering name. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"tenant":{"type":"string","description":"For an unreachable BIG-IP, you can provide an optional description for the assignment in this field.\n"},"unitOfMeasure":{"type":"string","description":"The units used to measure billing. For example, “hourly” or “daily”. Type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"}},"required":["assignmentType","bigiqAddress","bigiqPassword","bigiqUser","deviceLicenseStatus","licensePoolname"],"inputProperties":{"assignmentType":{"type":"string","description":"The type of assignment, which is determined by whether the BIG-IP is unreachable, unmanaged, or managed by BIG-IQ. Possible values: “UNREACHABLE”, “UNMANAGED”, or “MANAGED”.\n"},"bigiqAddress":{"type":"string","description":"BIGIQ License Manager IP Address, variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"bigiqLoginRef":{"type":"string","description":"BIGIQ Login reference for token authentication\n","secret":true},"bigiqPassword":{"type":"string","description":"BIGIQ License Manager password.  variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n","secret":true},"bigiqPort":{"type":"string","description":"type \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, BIGIQ License Manager Port number, specify if port is other than \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e\n","secret":true},"bigiqTokenAuth":{"type":"boolean","description":"type \u003cspan pulumi-lang-nodejs=\"`bool`\" pulumi-lang-dotnet=\"`Bool`\" pulumi-lang-go=\"`bool`\" pulumi-lang-python=\"`bool`\" pulumi-lang-yaml=\"`bool`\" pulumi-lang-java=\"`bool`\"\u003e`bool`\u003c/span\u003e, if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e enables Token based Authentication,default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","secret":true},"bigiqUser":{"type":"string","description":"BIGIQ License Manager username, variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n","secret":true},"deviceLicenseStatus":{"type":"string","description":"Status of Licence Assignment"},"hypervisor":{"type":"string","description":"Identifies the platform running the BIG-IP VE. Possible values: “aws”, “azure”, “gce”, “vmware”, “hyperv”, “kvm”, or “xen”. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"key":{"type":"string","description":"License Assignment is done with specified \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e, supported only with RegKeypool type License assignement. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"licensePoolname":{"type":"string","description":"A name given to the license pool. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"macAddress":{"type":"string","description":"MAC address of the BIG-IP. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"skukeyword1":{"type":"string","description":"An optional offering name. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"skukeyword2":{"type":"string","description":"An optional offering name. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"tenant":{"type":"string","description":"For an unreachable BIG-IP, you can provide an optional description for the assignment in this field.\n"},"unitOfMeasure":{"type":"string","description":"The units used to measure billing. For example, “hourly” or “daily”. Type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"}},"requiredInputs":["assignmentType","bigiqAddress","bigiqPassword","bigiqUser","licensePoolname"],"stateInputs":{"description":"Input properties used for looking up and filtering CommonLicenseManageBigIq resources.\n","properties":{"assignmentType":{"type":"string","description":"The type of assignment, which is determined by whether the BIG-IP is unreachable, unmanaged, or managed by BIG-IQ. Possible values: “UNREACHABLE”, “UNMANAGED”, or “MANAGED”.\n"},"bigiqAddress":{"type":"string","description":"BIGIQ License Manager IP Address, variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"bigiqLoginRef":{"type":"string","description":"BIGIQ Login reference for token authentication\n","secret":true},"bigiqPassword":{"type":"string","description":"BIGIQ License Manager password.  variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n","secret":true},"bigiqPort":{"type":"string","description":"type \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, BIGIQ License Manager Port number, specify if port is other than \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e\n","secret":true},"bigiqTokenAuth":{"type":"boolean","description":"type \u003cspan pulumi-lang-nodejs=\"`bool`\" pulumi-lang-dotnet=\"`Bool`\" pulumi-lang-go=\"`bool`\" pulumi-lang-python=\"`bool`\" pulumi-lang-yaml=\"`bool`\" pulumi-lang-java=\"`bool`\"\u003e`bool`\u003c/span\u003e, if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e enables Token based Authentication,default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n","secret":true},"bigiqUser":{"type":"string","description":"BIGIQ License Manager username, variable type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n","secret":true},"deviceLicenseStatus":{"type":"string","description":"Status of Licence Assignment"},"hypervisor":{"type":"string","description":"Identifies the platform running the BIG-IP VE. Possible values: “aws”, “azure”, “gce”, “vmware”, “hyperv”, “kvm”, or “xen”. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"key":{"type":"string","description":"License Assignment is done with specified \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e, supported only with RegKeypool type License assignement. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"licensePoolname":{"type":"string","description":"A name given to the license pool. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"macAddress":{"type":"string","description":"MAC address of the BIG-IP. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"skukeyword1":{"type":"string","description":"An optional offering name. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"skukeyword2":{"type":"string","description":"An optional offering name. type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"},"tenant":{"type":"string","description":"For an unreachable BIG-IP, you can provide an optional description for the assignment in this field.\n"},"unitOfMeasure":{"type":"string","description":"The units used to measure billing. For example, “hourly” or “daily”. Type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e\n"}},"type":"object"}},"f5bigip:index/do:Do":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.Do`\" pulumi-lang-dotnet=\"`f5bigip.Do`\" pulumi-lang-go=\"`Do`\" pulumi-lang-python=\"`Do`\" pulumi-lang-yaml=\"`f5bigip.Do`\" pulumi-lang-java=\"`f5bigip.Do`\"\u003e`f5bigip.Do`\u003c/span\u003e provides details about bigip do resource\n\nThis resource is helpful to configure do declarative JSON on BIG-IP.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nconst do_example = new f5bigip.Do(\"do-example\", {\n    doJson: std.file({\n        input: \"example.json\",\n    }).then(invoke =\u003e invoke.result),\n    timeout: 15,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\ndo_example = f5bigip.Do(\"do-example\",\n    do_json=std.file(input=\"example.json\").result,\n    timeout=15)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var do_example = new F5BigIP.Do(\"do-example\", new()\n    {\n        DoJson = Std.File.Invoke(new()\n        {\n            Input = \"example.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Timeout = 15,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"example.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewDo(ctx, \"do-example\", \u0026f5bigip.DoArgs{\n\t\t\tDoJson:  pulumi.String(invokeFile.Result),\n\t\t\tTimeout: pulumi.Int(15),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.Do;\nimport com.pulumi.f5bigip.DoArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var do_example = new Do(\"do-example\", DoArgs.builder()\n            .doJson(StdFunctions.file(FileArgs.builder()\n                .input(\"example.json\")\n                .build()).result())\n            .timeout(15)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  do-example:\n    type: f5bigip:Do\n    properties:\n      doJson:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: example.json\n          return: result\n      timeout: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nImporting Existing DO declaration onto terraform can be done by using `task id` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_do.do-example2 2543dc37-bd1a-45c1-983f-1155a81489b2\n```\n\n* `example.json` - Example of DO Declarative JSON\n\n```json\n{\n    \"schemaVersion\": \"1.0.0\",\n    \"class\": \"Device\",\n    \"async\": true,  \n    \"label\": \"my BIG-IP declaration for declarative onboarding\",\n    \"Common\": {\n        \"class\": \"Tenant\",\n        \"hostname\": \"bigip.example.com\",\n        \"myLicense\": {\n            \"class\": \"License\",\n            \"licenseType\": \"regKey\",\n            \"regKey\": \"xxxx\"\n        }, \n        \"admin\": {\n            \"class\": \"User\",\n            \"userType\": \"regular\",\n            \"password\": \"xxxx\",\n            \"shell\": \"bash\"\n        },\n        \"myProvisioning\": {\n            \"class\": \"Provision\",\n            \"ltm\": \"nominal\",\n            \"gtm\": \"minimum\"\n        },\n        \"external\": {\n            \"class\": \"VLAN\",\n            \"tag\": 4093,\n            \"mtu\": 1500,\n            \"interfaces\": [\n                {\n                    \"name\": \"1.1\",\n                    \"tagged\": true\n                }\n            ],\n            \"cmpHash\": \"dst-ip\"\n        },\n        \"external-self\": {\n            \"class\": \"SelfIp\",\n            \"address\": \"x.x.x.x\",\n            \"vlan\": \"external\",\n            \"allowService\": \"default\",\n            \"trafficGroup\": \"traffic-group-local-only\"\n        }\n    \n    }\n}\n```\n* `DO documentation` - https://clouddocs.f5.com/products/extensions/f5-declarative-onboarding/latest/composing-a-declaration.html#sample-declaration-for-a-standalone-big-ip\n","properties":{"bigipAddress":{"type":"string","description":"IP Address of BIGIP Host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"bigipPassword":{"type":"string","description":"Password of  BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n\n* `timeout(minutes)` - (optional) timeout to keep polling DO endpoint until Bigip is provisioned by DO.( Default timeout is 20 minutes )\n\n\u003e **Note:** If we want to replace provider BIGIP with other BIGIPs details we can specify with \u003cspan pulumi-lang-nodejs=\"`bigipAddress`\" pulumi-lang-dotnet=\"`BigipAddress`\" pulumi-lang-go=\"`bigipAddress`\" pulumi-lang-python=\"`bigip_address`\" pulumi-lang-yaml=\"`bigipAddress`\" pulumi-lang-java=\"`bigipAddress`\"\u003e`bigip_address`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`bigipUser`\" pulumi-lang-dotnet=\"`BigipUser`\" pulumi-lang-go=\"`bigipUser`\" pulumi-lang-python=\"`bigip_user`\" pulumi-lang-yaml=\"`bigipUser`\" pulumi-lang-java=\"`bigipUser`\"\u003e`bigip_user`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`bigipPort`\" pulumi-lang-dotnet=\"`BigipPort`\" pulumi-lang-go=\"`bigipPort`\" pulumi-lang-python=\"`bigip_port`\" pulumi-lang-yaml=\"`bigipPort`\" pulumi-lang-java=\"`bigipPort`\"\u003e`bigip_port`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bigipPassword`\" pulumi-lang-dotnet=\"`BigipPassword`\" pulumi-lang-go=\"`bigipPassword`\" pulumi-lang-python=\"`bigip_password`\" pulumi-lang-yaml=\"`bigipPassword`\" pulumi-lang-java=\"`bigipPassword`\"\u003e`bigip_password`\u003c/span\u003e. All Must be specified in such scenario.\n\n\u003e **Note:** Delete method is not supported by DO, so terraform destroy won't delete configuration in bigip but we will set the terrform\nstate to empty and won't throw error.\n","secret":true},"bigipPort":{"type":"string","description":"Port number of BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"bigipTokenAuth":{"type":"boolean","description":"Enable to use an external authentication source (LDAP, TACACS, etc)","secret":true},"bigipUser":{"type":"string","description":"UserName of BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"doJson":{"type":"string","description":"Name of the of the Declarative DO JSON file\n"},"tenantName":{"type":"string","description":"unique identifier for DO resource","deprecationMessage":"this attribute is no longer in use"},"timeout":{"type":"integer","description":"DO json"}},"required":["doJson"],"inputProperties":{"bigipAddress":{"type":"string","description":"IP Address of BIGIP Host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"bigipPassword":{"type":"string","description":"Password of  BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n\n* `timeout(minutes)` - (optional) timeout to keep polling DO endpoint until Bigip is provisioned by DO.( Default timeout is 20 minutes )\n\n\u003e **Note:** If we want to replace provider BIGIP with other BIGIPs details we can specify with \u003cspan pulumi-lang-nodejs=\"`bigipAddress`\" pulumi-lang-dotnet=\"`BigipAddress`\" pulumi-lang-go=\"`bigipAddress`\" pulumi-lang-python=\"`bigip_address`\" pulumi-lang-yaml=\"`bigipAddress`\" pulumi-lang-java=\"`bigipAddress`\"\u003e`bigip_address`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`bigipUser`\" pulumi-lang-dotnet=\"`BigipUser`\" pulumi-lang-go=\"`bigipUser`\" pulumi-lang-python=\"`bigip_user`\" pulumi-lang-yaml=\"`bigipUser`\" pulumi-lang-java=\"`bigipUser`\"\u003e`bigip_user`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`bigipPort`\" pulumi-lang-dotnet=\"`BigipPort`\" pulumi-lang-go=\"`bigipPort`\" pulumi-lang-python=\"`bigip_port`\" pulumi-lang-yaml=\"`bigipPort`\" pulumi-lang-java=\"`bigipPort`\"\u003e`bigip_port`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bigipPassword`\" pulumi-lang-dotnet=\"`BigipPassword`\" pulumi-lang-go=\"`bigipPassword`\" pulumi-lang-python=\"`bigip_password`\" pulumi-lang-yaml=\"`bigipPassword`\" pulumi-lang-java=\"`bigipPassword`\"\u003e`bigip_password`\u003c/span\u003e. All Must be specified in such scenario.\n\n\u003e **Note:** Delete method is not supported by DO, so terraform destroy won't delete configuration in bigip but we will set the terrform\nstate to empty and won't throw error.\n","secret":true},"bigipPort":{"type":"string","description":"Port number of BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"bigipTokenAuth":{"type":"boolean","description":"Enable to use an external authentication source (LDAP, TACACS, etc)","secret":true},"bigipUser":{"type":"string","description":"UserName of BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"doJson":{"type":"string","description":"Name of the of the Declarative DO JSON file\n"},"tenantName":{"type":"string","description":"unique identifier for DO resource","deprecationMessage":"this attribute is no longer in use"},"timeout":{"type":"integer","description":"DO json"}},"requiredInputs":["doJson"],"stateInputs":{"description":"Input properties used for looking up and filtering Do resources.\n","properties":{"bigipAddress":{"type":"string","description":"IP Address of BIGIP Host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"bigipPassword":{"type":"string","description":"Password of  BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n\n* `timeout(minutes)` - (optional) timeout to keep polling DO endpoint until Bigip is provisioned by DO.( Default timeout is 20 minutes )\n\n\u003e **Note:** If we want to replace provider BIGIP with other BIGIPs details we can specify with \u003cspan pulumi-lang-nodejs=\"`bigipAddress`\" pulumi-lang-dotnet=\"`BigipAddress`\" pulumi-lang-go=\"`bigipAddress`\" pulumi-lang-python=\"`bigip_address`\" pulumi-lang-yaml=\"`bigipAddress`\" pulumi-lang-java=\"`bigipAddress`\"\u003e`bigip_address`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`bigipUser`\" pulumi-lang-dotnet=\"`BigipUser`\" pulumi-lang-go=\"`bigipUser`\" pulumi-lang-python=\"`bigip_user`\" pulumi-lang-yaml=\"`bigipUser`\" pulumi-lang-java=\"`bigipUser`\"\u003e`bigip_user`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`bigipPort`\" pulumi-lang-dotnet=\"`BigipPort`\" pulumi-lang-go=\"`bigipPort`\" pulumi-lang-python=\"`bigip_port`\" pulumi-lang-yaml=\"`bigipPort`\" pulumi-lang-java=\"`bigipPort`\"\u003e`bigip_port`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bigipPassword`\" pulumi-lang-dotnet=\"`BigipPassword`\" pulumi-lang-go=\"`bigipPassword`\" pulumi-lang-python=\"`bigip_password`\" pulumi-lang-yaml=\"`bigipPassword`\" pulumi-lang-java=\"`bigipPassword`\"\u003e`bigip_password`\u003c/span\u003e. All Must be specified in such scenario.\n\n\u003e **Note:** Delete method is not supported by DO, so terraform destroy won't delete configuration in bigip but we will set the terrform\nstate to empty and won't throw error.\n","secret":true},"bigipPort":{"type":"string","description":"Port number of BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"bigipTokenAuth":{"type":"boolean","description":"Enable to use an external authentication source (LDAP, TACACS, etc)","secret":true},"bigipUser":{"type":"string","description":"UserName of BIGIP host to be used for this resource,this is optional parameter.\nwhenever we specify this parameter it gets overwrite provider configuration\n"},"doJson":{"type":"string","description":"Name of the of the Declarative DO JSON file\n"},"tenantName":{"type":"string","description":"unique identifier for DO resource","deprecationMessage":"this attribute is no longer in use"},"timeout":{"type":"integer","description":"DO json"}},"type":"object"}},"f5bigip:index/eventServiceDiscovery:EventServiceDiscovery":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.EventServiceDiscovery`\" pulumi-lang-dotnet=\"`f5bigip.EventServiceDiscovery`\" pulumi-lang-go=\"`EventServiceDiscovery`\" pulumi-lang-python=\"`EventServiceDiscovery`\" pulumi-lang-yaml=\"`f5bigip.EventServiceDiscovery`\" pulumi-lang-java=\"`f5bigip.EventServiceDiscovery`\"\u003e`f5bigip.EventServiceDiscovery`\u003c/span\u003e Terraform resource to update pool members based on event driven Service Discovery.\n\nThe API endpoint for Service discovery tasks should be available before using the resource and with this resource,we will be able to connect to a specific endpoint related to event based service discovery that will allow us to update the list of pool members\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test = new f5bigip.EventServiceDiscovery(\"test\", {\n    taskid: \"~Sample_event_sd~My_app~My_pool\",\n    nodes: [\n        {\n            id: \"newNode1\",\n            ip: \"192.168.2.3\",\n            port: 8080,\n        },\n        {\n            id: \"newNode2\",\n            ip: \"192.168.2.4\",\n            port: 8080,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest = f5bigip.EventServiceDiscovery(\"test\",\n    taskid=\"~Sample_event_sd~My_app~My_pool\",\n    nodes=[\n        {\n            \"id\": \"newNode1\",\n            \"ip\": \"192.168.2.3\",\n            \"port\": 8080,\n        },\n        {\n            \"id\": \"newNode2\",\n            \"ip\": \"192.168.2.4\",\n            \"port\": 8080,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new F5BigIP.EventServiceDiscovery(\"test\", new()\n    {\n        Taskid = \"~Sample_event_sd~My_app~My_pool\",\n        Nodes = new[]\n        {\n            new F5BigIP.Inputs.EventServiceDiscoveryNodeArgs\n            {\n                Id = \"newNode1\",\n                Ip = \"192.168.2.3\",\n                Port = 8080,\n            },\n            new F5BigIP.Inputs.EventServiceDiscoveryNodeArgs\n            {\n                Id = \"newNode2\",\n                Ip = \"192.168.2.4\",\n                Port = 8080,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewEventServiceDiscovery(ctx, \"test\", \u0026f5bigip.EventServiceDiscoveryArgs{\n\t\t\tTaskid: pulumi.String(\"~Sample_event_sd~My_app~My_pool\"),\n\t\t\tNodes: f5bigip.EventServiceDiscoveryNodeArray{\n\t\t\t\t\u0026f5bigip.EventServiceDiscoveryNodeArgs{\n\t\t\t\t\tId:   pulumi.String(\"newNode1\"),\n\t\t\t\t\tIp:   pulumi.String(\"192.168.2.3\"),\n\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t},\n\t\t\t\t\u0026f5bigip.EventServiceDiscoveryNodeArgs{\n\t\t\t\t\tId:   pulumi.String(\"newNode2\"),\n\t\t\t\t\tIp:   pulumi.String(\"192.168.2.4\"),\n\t\t\t\t\tPort: pulumi.Int(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.EventServiceDiscovery;\nimport com.pulumi.f5bigip.EventServiceDiscoveryArgs;\nimport com.pulumi.f5bigip.inputs.EventServiceDiscoveryNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new EventServiceDiscovery(\"test\", EventServiceDiscoveryArgs.builder()\n            .taskid(\"~Sample_event_sd~My_app~My_pool\")\n            .nodes(            \n                EventServiceDiscoveryNodeArgs.builder()\n                    .id(\"newNode1\")\n                    .ip(\"192.168.2.3\")\n                    .port(8080)\n                    .build(),\n                EventServiceDiscoveryNodeArgs.builder()\n                    .id(\"newNode2\")\n                    .ip(\"192.168.2.4\")\n                    .port(8080)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: f5bigip:EventServiceDiscovery\n    properties:\n      taskid: ~Sample_event_sd~My_app~My_pool\n      nodes:\n        - id: newNode1\n          ip: 192.168.2.3\n          port: 8080\n        - id: newNode2\n          ip: 192.168.2.4\n          port: 8080\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"nodes":{"type":"array","items":{"$ref":"#/types/f5bigip:index/EventServiceDiscoveryNode:EventServiceDiscoveryNode"},"description":"Map of node which will be added to pool which will be having node name(id),node address(ip) and node port(port)\n\nFor more information, please refer below document\nhttps://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/declarations/discovery.html?highlight=service%20discovery#event-driven-service-discovery\n\nBelow example shows how to use event-driven service discovery, introduced in AS3 3.9.0.\n\nWith event-driven service discovery, you POST a declaration with the addressDiscovery property set to event. This creates a new endpoint which you can use to add nodes that does not require an AS3 declaration, so it can be more efficient than using PATCH or POST to add nodes.\n\nWhen you use the event value for addressDiscovery, the system creates the new endpoint with the following syntax: https://\u003chost\u003e/mgmt/shared/service-discovery/task/~\u003ctenant name\u003e~\u003capplication name\u003e~\u003cpool name\u003e/nodes.\n\nFor example, in the following declaration, assuming 192.0.2.14 is our BIG-IP, the endpoint that is created is: https://192.0.2.14/mgmt/shared/service-discovery/task/~Sample_event_sd~My_app~My_pool/nodes\n\nOnce the endpoint is created( taskid ), you can use it to add nodes to the BIG-IP pool\nFirst we show the initial declaration to POST to the BIG-IP system.\n\n{\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.9.0\",\n\"id\": \"Pool\",\n\"Sample_event_sd\": {\n\"class\": \"Tenant\",\n\"My_app\": {\n\"class\": \"Application\",\n\"My_pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 8080,\n\"addressDiscovery\": \"static\",\n\"serverAddresses\": [\n\"192.0.2.2\"\n]\n},\n{\n\"servicePort\": 8080,\n\"addressDiscovery\": \"event\"\n}\n]\n}\n}\n}\n}\n\n\nOnce the declaration has been sent to the BIG-IP, we can use taskid/id ( ~Sample_event_sd~My_app~My_pool\" ) and node list for the resource to dynamically update the node list.\n"},"taskid":{"type":"string","description":"servicediscovery endpoint ( Below example shows how to create endpoing using AS3 )\n"}},"required":["taskid"],"inputProperties":{"nodes":{"type":"array","items":{"$ref":"#/types/f5bigip:index/EventServiceDiscoveryNode:EventServiceDiscoveryNode"},"description":"Map of node which will be added to pool which will be having node name(id),node address(ip) and node port(port)\n\nFor more information, please refer below document\nhttps://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/declarations/discovery.html?highlight=service%20discovery#event-driven-service-discovery\n\nBelow example shows how to use event-driven service discovery, introduced in AS3 3.9.0.\n\nWith event-driven service discovery, you POST a declaration with the addressDiscovery property set to event. This creates a new endpoint which you can use to add nodes that does not require an AS3 declaration, so it can be more efficient than using PATCH or POST to add nodes.\n\nWhen you use the event value for addressDiscovery, the system creates the new endpoint with the following syntax: https://\u003chost\u003e/mgmt/shared/service-discovery/task/~\u003ctenant name\u003e~\u003capplication name\u003e~\u003cpool name\u003e/nodes.\n\nFor example, in the following declaration, assuming 192.0.2.14 is our BIG-IP, the endpoint that is created is: https://192.0.2.14/mgmt/shared/service-discovery/task/~Sample_event_sd~My_app~My_pool/nodes\n\nOnce the endpoint is created( taskid ), you can use it to add nodes to the BIG-IP pool\nFirst we show the initial declaration to POST to the BIG-IP system.\n\n{\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.9.0\",\n\"id\": \"Pool\",\n\"Sample_event_sd\": {\n\"class\": \"Tenant\",\n\"My_app\": {\n\"class\": \"Application\",\n\"My_pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 8080,\n\"addressDiscovery\": \"static\",\n\"serverAddresses\": [\n\"192.0.2.2\"\n]\n},\n{\n\"servicePort\": 8080,\n\"addressDiscovery\": \"event\"\n}\n]\n}\n}\n}\n}\n\n\nOnce the declaration has been sent to the BIG-IP, we can use taskid/id ( ~Sample_event_sd~My_app~My_pool\" ) and node list for the resource to dynamically update the node list.\n"},"taskid":{"type":"string","description":"servicediscovery endpoint ( Below example shows how to create endpoing using AS3 )\n","willReplaceOnChanges":true}},"requiredInputs":["taskid"],"stateInputs":{"description":"Input properties used for looking up and filtering EventServiceDiscovery resources.\n","properties":{"nodes":{"type":"array","items":{"$ref":"#/types/f5bigip:index/EventServiceDiscoveryNode:EventServiceDiscoveryNode"},"description":"Map of node which will be added to pool which will be having node name(id),node address(ip) and node port(port)\n\nFor more information, please refer below document\nhttps://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/declarations/discovery.html?highlight=service%20discovery#event-driven-service-discovery\n\nBelow example shows how to use event-driven service discovery, introduced in AS3 3.9.0.\n\nWith event-driven service discovery, you POST a declaration with the addressDiscovery property set to event. This creates a new endpoint which you can use to add nodes that does not require an AS3 declaration, so it can be more efficient than using PATCH or POST to add nodes.\n\nWhen you use the event value for addressDiscovery, the system creates the new endpoint with the following syntax: https://\u003chost\u003e/mgmt/shared/service-discovery/task/~\u003ctenant name\u003e~\u003capplication name\u003e~\u003cpool name\u003e/nodes.\n\nFor example, in the following declaration, assuming 192.0.2.14 is our BIG-IP, the endpoint that is created is: https://192.0.2.14/mgmt/shared/service-discovery/task/~Sample_event_sd~My_app~My_pool/nodes\n\nOnce the endpoint is created( taskid ), you can use it to add nodes to the BIG-IP pool\nFirst we show the initial declaration to POST to the BIG-IP system.\n\n{\n\"class\": \"ADC\",\n\"schemaVersion\": \"3.9.0\",\n\"id\": \"Pool\",\n\"Sample_event_sd\": {\n\"class\": \"Tenant\",\n\"My_app\": {\n\"class\": \"Application\",\n\"My_pool\": {\n\"class\": \"Pool\",\n\"members\": [\n{\n\"servicePort\": 8080,\n\"addressDiscovery\": \"static\",\n\"serverAddresses\": [\n\"192.0.2.2\"\n]\n},\n{\n\"servicePort\": 8080,\n\"addressDiscovery\": \"event\"\n}\n]\n}\n}\n}\n}\n\n\nOnce the declaration has been sent to the BIG-IP, we can use taskid/id ( ~Sample_event_sd~My_app~My_pool\" ) and node list for the resource to dynamically update the node list.\n"},"taskid":{"type":"string","description":"servicediscovery endpoint ( Below example shows how to create endpoing using AS3 )\n","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:index/fastApplication:FastApplication":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.FastApplication`\" pulumi-lang-dotnet=\"`f5bigip.FastApplication`\" pulumi-lang-go=\"`FastApplication`\" pulumi-lang-python=\"`FastApplication`\" pulumi-lang-yaml=\"`f5bigip.FastApplication`\" pulumi-lang-java=\"`f5bigip.FastApplication`\"\u003e`f5bigip.FastApplication`\u003c/span\u003e This resource will create and manage FAST applications on BIG-IP from provided JSON declaration. \n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nconst foo_app = new f5bigip.FastApplication(\"foo-app\", {\n    template: \"examples/simple_http\",\n    fastJson: std.file({\n        input: \"new_fast_app.json\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\nfoo_app = f5bigip.FastApplication(\"foo-app\",\n    template=\"examples/simple_http\",\n    fast_json=std.file(input=\"new_fast_app.json\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo_app = new F5BigIP.FastApplication(\"foo-app\", new()\n    {\n        Template = \"examples/simple_http\",\n        FastJson = Std.File.Invoke(new()\n        {\n            Input = \"new_fast_app.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"new_fast_app.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewFastApplication(ctx, \"foo-app\", \u0026f5bigip.FastApplicationArgs{\n\t\t\tTemplate: pulumi.String(\"examples/simple_http\"),\n\t\t\tFastJson: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.FastApplication;\nimport com.pulumi.f5bigip.FastApplicationArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo_app = new FastApplication(\"foo-app\", FastApplicationArgs.builder()\n            .template(\"examples/simple_http\")\n            .fastJson(StdFunctions.file(FileArgs.builder()\n                .input(\"new_fast_app.json\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo-app:\n    type: f5bigip:FastApplication\n    properties:\n      template: examples/simple_http\n      fastJson:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: new_fast_app.json\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"application":{"type":"string","description":"A FAST application name.\n\n\n\n* `FAST documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/\n"},"fastJson":{"type":"string","description":"Path/Filename of Declarative FAST JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"template":{"type":"string","description":"Name of installed FAST template used to create FAST application. This parameter is required when creating new resource.\n"},"tenant":{"type":"string","description":"A FAST tenant name on which you want to manage application.\n"}},"required":["application","fastJson","tenant"],"inputProperties":{"fastJson":{"type":"string","description":"Path/Filename of Declarative FAST JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"template":{"type":"string","description":"Name of installed FAST template used to create FAST application. This parameter is required when creating new resource.\n"}},"requiredInputs":["fastJson"],"stateInputs":{"description":"Input properties used for looking up and filtering FastApplication resources.\n","properties":{"application":{"type":"string","description":"A FAST application name.\n\n\n\n* `FAST documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/\n"},"fastJson":{"type":"string","description":"Path/Filename of Declarative FAST JSON which is a json file used with builtin ``\u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e`` function\n"},"template":{"type":"string","description":"Name of installed FAST template used to create FAST application. This parameter is required when creating new resource.\n"},"tenant":{"type":"string","description":"A FAST tenant name on which you want to manage application.\n"}},"type":"object"}},"f5bigip:index/fastHttpApp:FastHttpApp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.FastHttpApp`\" pulumi-lang-dotnet=\"`f5bigip.FastHttpApp`\" pulumi-lang-go=\"`FastHttpApp`\" pulumi-lang-python=\"`FastHttpApp`\" pulumi-lang-yaml=\"`f5bigip.FastHttpApp`\" pulumi-lang-java=\"`f5bigip.FastHttpApp`\"\u003e`f5bigip.FastHttpApp`\u003c/span\u003e This resource will create and manage FAST HTTP applications on BIG-IP \n\n[FAST documentation](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst fastHttpApp = new f5bigip.FastHttpApp(\"fast_http_app\", {\n    tenant: \"fasthttptenant\",\n    application: \"fasthttpapp\",\n    virtualServer: {\n        ip: \"10.30.30.44\",\n        port: 443,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nfast_http_app = f5bigip.FastHttpApp(\"fast_http_app\",\n    tenant=\"fasthttptenant\",\n    application=\"fasthttpapp\",\n    virtual_server={\n        \"ip\": \"10.30.30.44\",\n        \"port\": 443,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fastHttpApp = new F5BigIP.FastHttpApp(\"fast_http_app\", new()\n    {\n        Tenant = \"fasthttptenant\",\n        Application = \"fasthttpapp\",\n        VirtualServer = new F5BigIP.Inputs.FastHttpAppVirtualServerArgs\n        {\n            Ip = \"10.30.30.44\",\n            Port = 443,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewFastHttpApp(ctx, \"fast_http_app\", \u0026f5bigip.FastHttpAppArgs{\n\t\t\tTenant:      pulumi.String(\"fasthttptenant\"),\n\t\t\tApplication: pulumi.String(\"fasthttpapp\"),\n\t\t\tVirtualServer: \u0026f5bigip.FastHttpAppVirtualServerArgs{\n\t\t\t\tIp:   pulumi.String(\"10.30.30.44\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.FastHttpApp;\nimport com.pulumi.f5bigip.FastHttpAppArgs;\nimport com.pulumi.f5bigip.inputs.FastHttpAppVirtualServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fastHttpApp = new FastHttpApp(\"fastHttpApp\", FastHttpAppArgs.builder()\n            .tenant(\"fasthttptenant\")\n            .application(\"fasthttpapp\")\n            .virtualServer(FastHttpAppVirtualServerArgs.builder()\n                .ip(\"10.30.30.44\")\n                .port(443)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fastHttpApp:\n    type: f5bigip:FastHttpApp\n    name: fast_http_app\n    properties:\n      tenant: fasthttptenant\n      application: fasthttpapp\n      virtualServer:\n        ip: 10.30.30.44\n        port: 443\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Service Discovery\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst TC3 = f5bigip.fast.getAzureServiceDiscovery({\n    resourceGroup: \"testazurerg\",\n    subscriptionId: \"testazuresid\",\n    tagKey: \"testazuretag\",\n    tagValue: \"testazurevalue\",\n});\nconst TC3GetGceServiceDiscovery = f5bigip.fast.getGceServiceDiscovery({\n    tagKey: \"testgcetag\",\n    tagValue: \"testgcevalue\",\n    region: \"testgceregion\",\n});\nconst fastHttpsApp = new f5bigip.FastHttpApp(\"fast_https_app\", {\n    tenant: \"fasthttptenant\",\n    application: \"fasthttpapp\",\n    virtualServer: {\n        ip: \"10.30.40.44\",\n        port: 443,\n    },\n    poolMembers: [{\n        addresses: [\n            \"10.11.40.120\",\n            \"10.11.30.121\",\n            \"10.11.30.122\",\n        ],\n        port: 80,\n    }],\n    serviceDiscoveries: [\n        TC3GetGceServiceDiscovery.then(TC3GetGceServiceDiscovery =\u003e TC3GetGceServiceDiscovery.gceSdJson),\n        TC3.then(TC3 =\u003e TC3.azureSdJson),\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntc3 = f5bigip.fast.get_azure_service_discovery(resource_group=\"testazurerg\",\n    subscription_id=\"testazuresid\",\n    tag_key=\"testazuretag\",\n    tag_value=\"testazurevalue\")\ntc3_get_gce_service_discovery = f5bigip.fast.get_gce_service_discovery(tag_key=\"testgcetag\",\n    tag_value=\"testgcevalue\",\n    region=\"testgceregion\")\nfast_https_app = f5bigip.FastHttpApp(\"fast_https_app\",\n    tenant=\"fasthttptenant\",\n    application=\"fasthttpapp\",\n    virtual_server={\n        \"ip\": \"10.30.40.44\",\n        \"port\": 443,\n    },\n    pool_members=[{\n        \"addresses\": [\n            \"10.11.40.120\",\n            \"10.11.30.121\",\n            \"10.11.30.122\",\n        ],\n        \"port\": 80,\n    }],\n    service_discoveries=[\n        tc3_get_gce_service_discovery.gce_sd_json,\n        tc3.azure_sd_json,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var TC3 = F5BigIP.Fast.GetAzureServiceDiscovery.Invoke(new()\n    {\n        ResourceGroup = \"testazurerg\",\n        SubscriptionId = \"testazuresid\",\n        TagKey = \"testazuretag\",\n        TagValue = \"testazurevalue\",\n    });\n\n    var TC3GetGceServiceDiscovery = F5BigIP.Fast.GetGceServiceDiscovery.Invoke(new()\n    {\n        TagKey = \"testgcetag\",\n        TagValue = \"testgcevalue\",\n        Region = \"testgceregion\",\n    });\n\n    var fastHttpsApp = new F5BigIP.FastHttpApp(\"fast_https_app\", new()\n    {\n        Tenant = \"fasthttptenant\",\n        Application = \"fasthttpapp\",\n        VirtualServer = new F5BigIP.Inputs.FastHttpAppVirtualServerArgs\n        {\n            Ip = \"10.30.40.44\",\n            Port = 443,\n        },\n        PoolMembers = new[]\n        {\n            new F5BigIP.Inputs.FastHttpAppPoolMemberArgs\n            {\n                Addresses = new[]\n                {\n                    \"10.11.40.120\",\n                    \"10.11.30.121\",\n                    \"10.11.30.122\",\n                },\n                Port = 80,\n            },\n        },\n        ServiceDiscoveries = new[]\n        {\n            TC3GetGceServiceDiscovery.Apply(getGceServiceDiscoveryResult =\u003e getGceServiceDiscoveryResult.GceSdJson),\n            TC3.Apply(getAzureServiceDiscoveryResult =\u003e getAzureServiceDiscoveryResult.AzureSdJson),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/fast\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tTC3, err := fast.GetAzureServiceDiscovery(ctx, \u0026fast.GetAzureServiceDiscoveryArgs{\n\t\t\tResourceGroup:  \"testazurerg\",\n\t\t\tSubscriptionId: \"testazuresid\",\n\t\t\tTagKey:         pulumi.StringRef(\"testazuretag\"),\n\t\t\tTagValue:       pulumi.StringRef(\"testazurevalue\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tTC3GetGceServiceDiscovery, err := fast.GetGceServiceDiscovery(ctx, \u0026fast.GetGceServiceDiscoveryArgs{\n\t\t\tTagKey:   \"testgcetag\",\n\t\t\tTagValue: \"testgcevalue\",\n\t\t\tRegion:   \"testgceregion\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewFastHttpApp(ctx, \"fast_https_app\", \u0026f5bigip.FastHttpAppArgs{\n\t\t\tTenant:      pulumi.String(\"fasthttptenant\"),\n\t\t\tApplication: pulumi.String(\"fasthttpapp\"),\n\t\t\tVirtualServer: \u0026f5bigip.FastHttpAppVirtualServerArgs{\n\t\t\t\tIp:   pulumi.String(\"10.30.40.44\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t},\n\t\t\tPoolMembers: f5bigip.FastHttpAppPoolMemberArray{\n\t\t\t\t\u0026f5bigip.FastHttpAppPoolMemberArgs{\n\t\t\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.11.40.120\"),\n\t\t\t\t\t\tpulumi.String(\"10.11.30.121\"),\n\t\t\t\t\t\tpulumi.String(\"10.11.30.122\"),\n\t\t\t\t\t},\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceDiscoveries: pulumi.StringArray{\n\t\t\t\tpulumi.String(TC3GetGceServiceDiscovery.GceSdJson),\n\t\t\t\tpulumi.String(TC3.AzureSdJson),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.fast.FastFunctions;\nimport com.pulumi.f5bigip.fast.inputs.GetAzureServiceDiscoveryArgs;\nimport com.pulumi.f5bigip.fast.inputs.GetGceServiceDiscoveryArgs;\nimport com.pulumi.f5bigip.FastHttpApp;\nimport com.pulumi.f5bigip.FastHttpAppArgs;\nimport com.pulumi.f5bigip.inputs.FastHttpAppVirtualServerArgs;\nimport com.pulumi.f5bigip.inputs.FastHttpAppPoolMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var TC3 = FastFunctions.getAzureServiceDiscovery(GetAzureServiceDiscoveryArgs.builder()\n            .resourceGroup(\"testazurerg\")\n            .subscriptionId(\"testazuresid\")\n            .tagKey(\"testazuretag\")\n            .tagValue(\"testazurevalue\")\n            .build());\n\n        final var TC3GetGceServiceDiscovery = FastFunctions.getGceServiceDiscovery(GetGceServiceDiscoveryArgs.builder()\n            .tagKey(\"testgcetag\")\n            .tagValue(\"testgcevalue\")\n            .region(\"testgceregion\")\n            .build());\n\n        var fastHttpsApp = new FastHttpApp(\"fastHttpsApp\", FastHttpAppArgs.builder()\n            .tenant(\"fasthttptenant\")\n            .application(\"fasthttpapp\")\n            .virtualServer(FastHttpAppVirtualServerArgs.builder()\n                .ip(\"10.30.40.44\")\n                .port(443)\n                .build())\n            .poolMembers(FastHttpAppPoolMemberArgs.builder()\n                .addresses(                \n                    \"10.11.40.120\",\n                    \"10.11.30.121\",\n                    \"10.11.30.122\")\n                .port(80)\n                .build())\n            .serviceDiscoveries(            \n                TC3GetGceServiceDiscovery.gceSdJson(),\n                TC3.azureSdJson())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fastHttpsApp:\n    type: f5bigip:FastHttpApp\n    name: fast_https_app\n    properties:\n      tenant: fasthttptenant\n      application: fasthttpapp\n      virtualServer:\n        ip: 10.30.40.44\n        port: 443\n      poolMembers:\n        - addresses:\n            - 10.11.40.120\n            - 10.11.30.121\n            - 10.11.30.122\n          port: 80\n      serviceDiscoveries:\n        - ${TC3GetGceServiceDiscovery.gceSdJson}\n        - ${TC3.azureSdJson}\nvariables:\n  TC3:\n    fn::invoke:\n      function: f5bigip:fast:getAzureServiceDiscovery\n      arguments:\n        resourceGroup: testazurerg\n        subscriptionId: testazuresid\n        tagKey: testazuretag\n        tagValue: testazurevalue\n  TC3GetGceServiceDiscovery:\n    fn::invoke:\n      function: f5bigip:fast:getGceServiceDiscovery\n      arguments:\n        tagKey: testgcetag\n        tagValue: testgcevalue\n        region: testgceregion\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"application":{"type":"string","description":"Name of the FAST HTTPS application.\n"},"endpointLtmPolicies":{"type":"array","items":{"type":"string"},"description":"List of LTM Policies to be applied FAST HTTP Application.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Select an existing BIG-IP Pool"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"existingWafSecurityPolicy":{"type":"string","description":"Name of an existing WAF Security policy.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"fastHttpJson":{"type":"string","description":"Json payload for FAST HTTP application."},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastHttpAppMonitor:FastHttpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastHttpAppPoolMember:FastHttpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"List of security log profiles to be used for FAST application\n"},"serviceDiscoveries":{"type":"array","items":{"type":"string"},"description":"List of different cloud service discovery config provided as string, provided \u003cspan pulumi-lang-nodejs=\"`serviceDiscovery`\" pulumi-lang-dotnet=\"`ServiceDiscovery`\" pulumi-lang-go=\"`serviceDiscovery`\" pulumi-lang-python=\"`service_discovery`\" pulumi-lang-yaml=\"`serviceDiscovery`\" pulumi-lang-java=\"`serviceDiscovery`\"\u003e`service_discovery`\u003c/span\u003e block to Automatically Discover Pool Members with Service Discovery on different clouds.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST HTTPS application tenant.\n"},"virtualServer":{"$ref":"#/types/f5bigip:index/FastHttpAppVirtualServer:FastHttpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"wafSecurityPolicy":{"$ref":"#/types/f5bigip:index/FastHttpAppWafSecurityPolicy:FastHttpAppWafSecurityPolicy","description":"\u003cspan pulumi-lang-nodejs=\"`wafSecurityPolicy`\" pulumi-lang-dotnet=\"`WafSecurityPolicy`\" pulumi-lang-go=\"`wafSecurityPolicy`\" pulumi-lang-python=\"`waf_security_policy`\" pulumi-lang-yaml=\"`wafSecurityPolicy`\" pulumi-lang-java=\"`wafSecurityPolicy`\"\u003e`waf_security_policy`\u003c/span\u003e block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n"}},"required":["application","fastHttpJson","poolMembers","tenant"],"inputProperties":{"application":{"type":"string","description":"Name of the FAST HTTPS application.\n","willReplaceOnChanges":true},"endpointLtmPolicies":{"type":"array","items":{"type":"string"},"description":"List of LTM Policies to be applied FAST HTTP Application.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Select an existing BIG-IP Pool"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"existingWafSecurityPolicy":{"type":"string","description":"Name of an existing WAF Security policy.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastHttpAppMonitor:FastHttpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastHttpAppPoolMember:FastHttpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"List of security log profiles to be used for FAST application\n"},"serviceDiscoveries":{"type":"array","items":{"type":"string"},"description":"List of different cloud service discovery config provided as string, provided \u003cspan pulumi-lang-nodejs=\"`serviceDiscovery`\" pulumi-lang-dotnet=\"`ServiceDiscovery`\" pulumi-lang-go=\"`serviceDiscovery`\" pulumi-lang-python=\"`service_discovery`\" pulumi-lang-yaml=\"`serviceDiscovery`\" pulumi-lang-java=\"`serviceDiscovery`\"\u003e`service_discovery`\u003c/span\u003e block to Automatically Discover Pool Members with Service Discovery on different clouds.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST HTTPS application tenant.\n","willReplaceOnChanges":true},"virtualServer":{"$ref":"#/types/f5bigip:index/FastHttpAppVirtualServer:FastHttpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"wafSecurityPolicy":{"$ref":"#/types/f5bigip:index/FastHttpAppWafSecurityPolicy:FastHttpAppWafSecurityPolicy","description":"\u003cspan pulumi-lang-nodejs=\"`wafSecurityPolicy`\" pulumi-lang-dotnet=\"`WafSecurityPolicy`\" pulumi-lang-go=\"`wafSecurityPolicy`\" pulumi-lang-python=\"`waf_security_policy`\" pulumi-lang-yaml=\"`wafSecurityPolicy`\" pulumi-lang-java=\"`wafSecurityPolicy`\"\u003e`waf_security_policy`\u003c/span\u003e block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n"}},"requiredInputs":["application","tenant"],"stateInputs":{"description":"Input properties used for looking up and filtering FastHttpApp resources.\n","properties":{"application":{"type":"string","description":"Name of the FAST HTTPS application.\n","willReplaceOnChanges":true},"endpointLtmPolicies":{"type":"array","items":{"type":"string"},"description":"List of LTM Policies to be applied FAST HTTP Application.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Select an existing BIG-IP Pool"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"existingWafSecurityPolicy":{"type":"string","description":"Name of an existing WAF Security policy.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"fastHttpJson":{"type":"string","description":"Json payload for FAST HTTP application."},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastHttpAppMonitor:FastHttpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastHttpAppPoolMember:FastHttpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"List of security log profiles to be used for FAST application\n"},"serviceDiscoveries":{"type":"array","items":{"type":"string"},"description":"List of different cloud service discovery config provided as string, provided \u003cspan pulumi-lang-nodejs=\"`serviceDiscovery`\" pulumi-lang-dotnet=\"`ServiceDiscovery`\" pulumi-lang-go=\"`serviceDiscovery`\" pulumi-lang-python=\"`service_discovery`\" pulumi-lang-yaml=\"`serviceDiscovery`\" pulumi-lang-java=\"`serviceDiscovery`\"\u003e`service_discovery`\u003c/span\u003e block to Automatically Discover Pool Members with Service Discovery on different clouds.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST HTTPS application tenant.\n","willReplaceOnChanges":true},"virtualServer":{"$ref":"#/types/f5bigip:index/FastHttpAppVirtualServer:FastHttpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"wafSecurityPolicy":{"$ref":"#/types/f5bigip:index/FastHttpAppWafSecurityPolicy:FastHttpAppWafSecurityPolicy","description":"\u003cspan pulumi-lang-nodejs=\"`wafSecurityPolicy`\" pulumi-lang-dotnet=\"`WafSecurityPolicy`\" pulumi-lang-go=\"`wafSecurityPolicy`\" pulumi-lang-python=\"`waf_security_policy`\" pulumi-lang-yaml=\"`wafSecurityPolicy`\" pulumi-lang-java=\"`wafSecurityPolicy`\"\u003e`waf_security_policy`\u003c/span\u003e block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n"}},"type":"object"}},"f5bigip:index/fastHttpsApp:FastHttpsApp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.FastHttpsApp`\" pulumi-lang-dotnet=\"`f5bigip.FastHttpsApp`\" pulumi-lang-go=\"`FastHttpsApp`\" pulumi-lang-python=\"`FastHttpsApp`\" pulumi-lang-yaml=\"`f5bigip.FastHttpsApp`\" pulumi-lang-java=\"`f5bigip.FastHttpsApp`\"\u003e`f5bigip.FastHttpsApp`\u003c/span\u003e This resource will create and manage FAST HTTPS applications on BIG-IP \n\n[FAST documentation](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst fastHttpsApp = new f5bigip.FastHttpsApp(\"fast_https_app\", {\n    tenant: \"fasthttpstenant\",\n    application: \"fasthttpsapp\",\n    virtualServer: {\n        ip: \"10.30.40.44\",\n        port: 443,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nfast_https_app = f5bigip.FastHttpsApp(\"fast_https_app\",\n    tenant=\"fasthttpstenant\",\n    application=\"fasthttpsapp\",\n    virtual_server={\n        \"ip\": \"10.30.40.44\",\n        \"port\": 443,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fastHttpsApp = new F5BigIP.FastHttpsApp(\"fast_https_app\", new()\n    {\n        Tenant = \"fasthttpstenant\",\n        Application = \"fasthttpsapp\",\n        VirtualServer = new F5BigIP.Inputs.FastHttpsAppVirtualServerArgs\n        {\n            Ip = \"10.30.40.44\",\n            Port = 443,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewFastHttpsApp(ctx, \"fast_https_app\", \u0026f5bigip.FastHttpsAppArgs{\n\t\t\tTenant:      pulumi.String(\"fasthttpstenant\"),\n\t\t\tApplication: pulumi.String(\"fasthttpsapp\"),\n\t\t\tVirtualServer: \u0026f5bigip.FastHttpsAppVirtualServerArgs{\n\t\t\t\tIp:   pulumi.String(\"10.30.40.44\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.FastHttpsApp;\nimport com.pulumi.f5bigip.FastHttpsAppArgs;\nimport com.pulumi.f5bigip.inputs.FastHttpsAppVirtualServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fastHttpsApp = new FastHttpsApp(\"fastHttpsApp\", FastHttpsAppArgs.builder()\n            .tenant(\"fasthttpstenant\")\n            .application(\"fasthttpsapp\")\n            .virtualServer(FastHttpsAppVirtualServerArgs.builder()\n                .ip(\"10.30.40.44\")\n                .port(443)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fastHttpsApp:\n    type: f5bigip:FastHttpsApp\n    name: fast_https_app\n    properties:\n      tenant: fasthttpstenant\n      application: fasthttpsapp\n      virtualServer:\n        ip: 10.30.40.44\n        port: 443\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Service Discovery\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst TC3 = f5bigip.fast.getAzureServiceDiscovery({\n    resourceGroup: \"testazurerg\",\n    subscriptionId: \"testazuresid\",\n    tagKey: \"testazuretag\",\n    tagValue: \"testazurevalue\",\n});\nconst TC3GetGceServiceDiscovery = f5bigip.fast.getGceServiceDiscovery({\n    tagKey: \"testgcetag\",\n    tagValue: \"testgcevalue\",\n    region: \"testgceregion\",\n});\nconst fastHttpsApp = new f5bigip.FastHttpsApp(\"fast_https_app\", {\n    tenant: \"fasthttpstenant\",\n    application: \"fasthttpsapp\",\n    virtualServer: {\n        ip: \"10.30.40.44\",\n        port: 443,\n    },\n    poolMembers: [{\n        addresses: [\n            \"10.11.40.120\",\n            \"10.11.30.121\",\n            \"10.11.30.122\",\n        ],\n        port: 80,\n    }],\n    serviceDiscoveries: [\n        TC3GetGceServiceDiscovery.then(TC3GetGceServiceDiscovery =\u003e TC3GetGceServiceDiscovery.gceSdJson),\n        TC3.then(TC3 =\u003e TC3.azureSdJson),\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntc3 = f5bigip.fast.get_azure_service_discovery(resource_group=\"testazurerg\",\n    subscription_id=\"testazuresid\",\n    tag_key=\"testazuretag\",\n    tag_value=\"testazurevalue\")\ntc3_get_gce_service_discovery = f5bigip.fast.get_gce_service_discovery(tag_key=\"testgcetag\",\n    tag_value=\"testgcevalue\",\n    region=\"testgceregion\")\nfast_https_app = f5bigip.FastHttpsApp(\"fast_https_app\",\n    tenant=\"fasthttpstenant\",\n    application=\"fasthttpsapp\",\n    virtual_server={\n        \"ip\": \"10.30.40.44\",\n        \"port\": 443,\n    },\n    pool_members=[{\n        \"addresses\": [\n            \"10.11.40.120\",\n            \"10.11.30.121\",\n            \"10.11.30.122\",\n        ],\n        \"port\": 80,\n    }],\n    service_discoveries=[\n        tc3_get_gce_service_discovery.gce_sd_json,\n        tc3.azure_sd_json,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var TC3 = F5BigIP.Fast.GetAzureServiceDiscovery.Invoke(new()\n    {\n        ResourceGroup = \"testazurerg\",\n        SubscriptionId = \"testazuresid\",\n        TagKey = \"testazuretag\",\n        TagValue = \"testazurevalue\",\n    });\n\n    var TC3GetGceServiceDiscovery = F5BigIP.Fast.GetGceServiceDiscovery.Invoke(new()\n    {\n        TagKey = \"testgcetag\",\n        TagValue = \"testgcevalue\",\n        Region = \"testgceregion\",\n    });\n\n    var fastHttpsApp = new F5BigIP.FastHttpsApp(\"fast_https_app\", new()\n    {\n        Tenant = \"fasthttpstenant\",\n        Application = \"fasthttpsapp\",\n        VirtualServer = new F5BigIP.Inputs.FastHttpsAppVirtualServerArgs\n        {\n            Ip = \"10.30.40.44\",\n            Port = 443,\n        },\n        PoolMembers = new[]\n        {\n            new F5BigIP.Inputs.FastHttpsAppPoolMemberArgs\n            {\n                Addresses = new[]\n                {\n                    \"10.11.40.120\",\n                    \"10.11.30.121\",\n                    \"10.11.30.122\",\n                },\n                Port = 80,\n            },\n        },\n        ServiceDiscoveries = new[]\n        {\n            TC3GetGceServiceDiscovery.Apply(getGceServiceDiscoveryResult =\u003e getGceServiceDiscoveryResult.GceSdJson),\n            TC3.Apply(getAzureServiceDiscoveryResult =\u003e getAzureServiceDiscoveryResult.AzureSdJson),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/fast\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tTC3, err := fast.GetAzureServiceDiscovery(ctx, \u0026fast.GetAzureServiceDiscoveryArgs{\n\t\t\tResourceGroup:  \"testazurerg\",\n\t\t\tSubscriptionId: \"testazuresid\",\n\t\t\tTagKey:         pulumi.StringRef(\"testazuretag\"),\n\t\t\tTagValue:       pulumi.StringRef(\"testazurevalue\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tTC3GetGceServiceDiscovery, err := fast.GetGceServiceDiscovery(ctx, \u0026fast.GetGceServiceDiscoveryArgs{\n\t\t\tTagKey:   \"testgcetag\",\n\t\t\tTagValue: \"testgcevalue\",\n\t\t\tRegion:   \"testgceregion\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewFastHttpsApp(ctx, \"fast_https_app\", \u0026f5bigip.FastHttpsAppArgs{\n\t\t\tTenant:      pulumi.String(\"fasthttpstenant\"),\n\t\t\tApplication: pulumi.String(\"fasthttpsapp\"),\n\t\t\tVirtualServer: \u0026f5bigip.FastHttpsAppVirtualServerArgs{\n\t\t\t\tIp:   pulumi.String(\"10.30.40.44\"),\n\t\t\t\tPort: pulumi.Int(443),\n\t\t\t},\n\t\t\tPoolMembers: f5bigip.FastHttpsAppPoolMemberArray{\n\t\t\t\t\u0026f5bigip.FastHttpsAppPoolMemberArgs{\n\t\t\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.11.40.120\"),\n\t\t\t\t\t\tpulumi.String(\"10.11.30.121\"),\n\t\t\t\t\t\tpulumi.String(\"10.11.30.122\"),\n\t\t\t\t\t},\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceDiscoveries: pulumi.StringArray{\n\t\t\t\tpulumi.String(TC3GetGceServiceDiscovery.GceSdJson),\n\t\t\t\tpulumi.String(TC3.AzureSdJson),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.fast.FastFunctions;\nimport com.pulumi.f5bigip.fast.inputs.GetAzureServiceDiscoveryArgs;\nimport com.pulumi.f5bigip.fast.inputs.GetGceServiceDiscoveryArgs;\nimport com.pulumi.f5bigip.FastHttpsApp;\nimport com.pulumi.f5bigip.FastHttpsAppArgs;\nimport com.pulumi.f5bigip.inputs.FastHttpsAppVirtualServerArgs;\nimport com.pulumi.f5bigip.inputs.FastHttpsAppPoolMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var TC3 = FastFunctions.getAzureServiceDiscovery(GetAzureServiceDiscoveryArgs.builder()\n            .resourceGroup(\"testazurerg\")\n            .subscriptionId(\"testazuresid\")\n            .tagKey(\"testazuretag\")\n            .tagValue(\"testazurevalue\")\n            .build());\n\n        final var TC3GetGceServiceDiscovery = FastFunctions.getGceServiceDiscovery(GetGceServiceDiscoveryArgs.builder()\n            .tagKey(\"testgcetag\")\n            .tagValue(\"testgcevalue\")\n            .region(\"testgceregion\")\n            .build());\n\n        var fastHttpsApp = new FastHttpsApp(\"fastHttpsApp\", FastHttpsAppArgs.builder()\n            .tenant(\"fasthttpstenant\")\n            .application(\"fasthttpsapp\")\n            .virtualServer(FastHttpsAppVirtualServerArgs.builder()\n                .ip(\"10.30.40.44\")\n                .port(443)\n                .build())\n            .poolMembers(FastHttpsAppPoolMemberArgs.builder()\n                .addresses(                \n                    \"10.11.40.120\",\n                    \"10.11.30.121\",\n                    \"10.11.30.122\")\n                .port(80)\n                .build())\n            .serviceDiscoveries(            \n                TC3GetGceServiceDiscovery.gceSdJson(),\n                TC3.azureSdJson())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fastHttpsApp:\n    type: f5bigip:FastHttpsApp\n    name: fast_https_app\n    properties:\n      tenant: fasthttpstenant\n      application: fasthttpsapp\n      virtualServer:\n        ip: 10.30.40.44\n        port: 443\n      poolMembers:\n        - addresses:\n            - 10.11.40.120\n            - 10.11.30.121\n            - 10.11.30.122\n          port: 80\n      serviceDiscoveries:\n        - ${TC3GetGceServiceDiscovery.gceSdJson}\n        - ${TC3.azureSdJson}\nvariables:\n  TC3:\n    fn::invoke:\n      function: f5bigip:fast:getAzureServiceDiscovery\n      arguments:\n        resourceGroup: testazurerg\n        subscriptionId: testazuresid\n        tagKey: testazuretag\n        tagValue: testazurevalue\n  TC3GetGceServiceDiscovery:\n    fn::invoke:\n      function: f5bigip:fast:getGceServiceDiscovery\n      arguments:\n        tagKey: testgcetag\n        tagValue: testgcevalue\n        region: testgceregion\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"application":{"type":"string","description":"Name of the FAST HTTPS application.\n"},"endpointLtmPolicies":{"type":"array","items":{"type":"string"},"description":"List of LTM Policies to be applied FAST HTTPS Application.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"existingTlsClientProfile":{"type":"string","description":"Name of an existing TLS client profile.\n"},"existingTlsServerProfile":{"type":"string","description":"Name of an existing TLS server profile.\n"},"existingWafSecurityPolicy":{"type":"string","description":"Name of an existing WAF Security policy.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"fastHttpsJson":{"type":"string","description":"Json payload for FAST HTTPS application."},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastHttpsAppMonitor:FastHttpsAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastHttpsAppPoolMember:FastHttpsAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"List of security log profiles to be used for FAST application\n"},"serviceDiscoveries":{"type":"array","items":{"type":"string"},"description":"List of different cloud service discovery config provided as string, provided \u003cspan pulumi-lang-nodejs=\"`serviceDiscovery`\" pulumi-lang-dotnet=\"`ServiceDiscovery`\" pulumi-lang-go=\"`serviceDiscovery`\" pulumi-lang-python=\"`service_discovery`\" pulumi-lang-yaml=\"`serviceDiscovery`\" pulumi-lang-java=\"`serviceDiscovery`\"\u003e`service_discovery`\u003c/span\u003e block to Automatically Discover Pool Members with Service Discovery on different clouds.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST HTTPS application tenant.\n"},"tlsClientProfile":{"$ref":"#/types/f5bigip:index/FastHttpsAppTlsClientProfile:FastHttpsAppTlsClientProfile","description":"\u003cspan pulumi-lang-nodejs=\"`tlsClientProfile`\" pulumi-lang-dotnet=\"`TlsClientProfile`\" pulumi-lang-go=\"`tlsClientProfile`\" pulumi-lang-python=\"`tls_client_profile`\" pulumi-lang-yaml=\"`tlsClientProfile`\" pulumi-lang-java=\"`tlsClientProfile`\"\u003e`tls_client_profile`\u003c/span\u003e block takes input for FAST-Generated TLS client Profile.\nSee TLS Client Profile below for more details.\n\n\u003e **NOTE** Profile provided by \u003cspan pulumi-lang-nodejs=\"`existingTlsClientProfile`\" pulumi-lang-dotnet=\"`ExistingTlsClientProfile`\" pulumi-lang-go=\"`existingTlsClientProfile`\" pulumi-lang-python=\"`existing_tls_client_profile`\" pulumi-lang-yaml=\"`existingTlsClientProfile`\" pulumi-lang-java=\"`existingTlsClientProfile`\"\u003e`existing_tls_client_profile`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tlsClientProfile`\" pulumi-lang-dotnet=\"`TlsClientProfile`\" pulumi-lang-go=\"`tlsClientProfile`\" pulumi-lang-python=\"`tls_client_profile`\" pulumi-lang-yaml=\"`tlsClientProfile`\" pulumi-lang-java=\"`tlsClientProfile`\"\u003e`tls_client_profile`\u003c/span\u003e used for encrypt server-side connections.\n"},"tlsServerProfile":{"$ref":"#/types/f5bigip:index/FastHttpsAppTlsServerProfile:FastHttpsAppTlsServerProfile","description":"\u003cspan pulumi-lang-nodejs=\"`tlsServerProfile`\" pulumi-lang-dotnet=\"`TlsServerProfile`\" pulumi-lang-go=\"`tlsServerProfile`\" pulumi-lang-python=\"`tls_server_profile`\" pulumi-lang-yaml=\"`tlsServerProfile`\" pulumi-lang-java=\"`tlsServerProfile`\"\u003e`tls_server_profile`\u003c/span\u003e block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n\n\u003e **NOTE** Profile provided by \u003cspan pulumi-lang-nodejs=\"`existingTlsServerProfile`\" pulumi-lang-dotnet=\"`ExistingTlsServerProfile`\" pulumi-lang-go=\"`existingTlsServerProfile`\" pulumi-lang-python=\"`existing_tls_server_profile`\" pulumi-lang-yaml=\"`existingTlsServerProfile`\" pulumi-lang-java=\"`existingTlsServerProfile`\"\u003e`existing_tls_server_profile`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tlsServerProfile`\" pulumi-lang-dotnet=\"`TlsServerProfile`\" pulumi-lang-go=\"`tlsServerProfile`\" pulumi-lang-python=\"`tls_server_profile`\" pulumi-lang-yaml=\"`tlsServerProfile`\" pulumi-lang-java=\"`tlsServerProfile`\"\u003e`tls_server_profile`\u003c/span\u003e used for decrypt client-side connections.\n"},"virtualServer":{"$ref":"#/types/f5bigip:index/FastHttpsAppVirtualServer:FastHttpsAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"wafSecurityPolicy":{"$ref":"#/types/f5bigip:index/FastHttpsAppWafSecurityPolicy:FastHttpsAppWafSecurityPolicy","description":"\u003cspan pulumi-lang-nodejs=\"`wafSecurityPolicy`\" pulumi-lang-dotnet=\"`WafSecurityPolicy`\" pulumi-lang-go=\"`wafSecurityPolicy`\" pulumi-lang-python=\"`waf_security_policy`\" pulumi-lang-yaml=\"`wafSecurityPolicy`\" pulumi-lang-java=\"`wafSecurityPolicy`\"\u003e`waf_security_policy`\u003c/span\u003e block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n"}},"required":["application","fastHttpsJson","poolMembers","tenant"],"inputProperties":{"application":{"type":"string","description":"Name of the FAST HTTPS application.\n","willReplaceOnChanges":true},"endpointLtmPolicies":{"type":"array","items":{"type":"string"},"description":"List of LTM Policies to be applied FAST HTTPS Application.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"existingTlsClientProfile":{"type":"string","description":"Name of an existing TLS client profile.\n"},"existingTlsServerProfile":{"type":"string","description":"Name of an existing TLS server profile.\n"},"existingWafSecurityPolicy":{"type":"string","description":"Name of an existing WAF Security policy.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastHttpsAppMonitor:FastHttpsAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastHttpsAppPoolMember:FastHttpsAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"List of security log profiles to be used for FAST application\n"},"serviceDiscoveries":{"type":"array","items":{"type":"string"},"description":"List of different cloud service discovery config provided as string, provided \u003cspan pulumi-lang-nodejs=\"`serviceDiscovery`\" pulumi-lang-dotnet=\"`ServiceDiscovery`\" pulumi-lang-go=\"`serviceDiscovery`\" pulumi-lang-python=\"`service_discovery`\" pulumi-lang-yaml=\"`serviceDiscovery`\" pulumi-lang-java=\"`serviceDiscovery`\"\u003e`service_discovery`\u003c/span\u003e block to Automatically Discover Pool Members with Service Discovery on different clouds.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST HTTPS application tenant.\n","willReplaceOnChanges":true},"tlsClientProfile":{"$ref":"#/types/f5bigip:index/FastHttpsAppTlsClientProfile:FastHttpsAppTlsClientProfile","description":"\u003cspan pulumi-lang-nodejs=\"`tlsClientProfile`\" pulumi-lang-dotnet=\"`TlsClientProfile`\" pulumi-lang-go=\"`tlsClientProfile`\" pulumi-lang-python=\"`tls_client_profile`\" pulumi-lang-yaml=\"`tlsClientProfile`\" pulumi-lang-java=\"`tlsClientProfile`\"\u003e`tls_client_profile`\u003c/span\u003e block takes input for FAST-Generated TLS client Profile.\nSee TLS Client Profile below for more details.\n\n\u003e **NOTE** Profile provided by \u003cspan pulumi-lang-nodejs=\"`existingTlsClientProfile`\" pulumi-lang-dotnet=\"`ExistingTlsClientProfile`\" pulumi-lang-go=\"`existingTlsClientProfile`\" pulumi-lang-python=\"`existing_tls_client_profile`\" pulumi-lang-yaml=\"`existingTlsClientProfile`\" pulumi-lang-java=\"`existingTlsClientProfile`\"\u003e`existing_tls_client_profile`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tlsClientProfile`\" pulumi-lang-dotnet=\"`TlsClientProfile`\" pulumi-lang-go=\"`tlsClientProfile`\" pulumi-lang-python=\"`tls_client_profile`\" pulumi-lang-yaml=\"`tlsClientProfile`\" pulumi-lang-java=\"`tlsClientProfile`\"\u003e`tls_client_profile`\u003c/span\u003e used for encrypt server-side connections.\n"},"tlsServerProfile":{"$ref":"#/types/f5bigip:index/FastHttpsAppTlsServerProfile:FastHttpsAppTlsServerProfile","description":"\u003cspan pulumi-lang-nodejs=\"`tlsServerProfile`\" pulumi-lang-dotnet=\"`TlsServerProfile`\" pulumi-lang-go=\"`tlsServerProfile`\" pulumi-lang-python=\"`tls_server_profile`\" pulumi-lang-yaml=\"`tlsServerProfile`\" pulumi-lang-java=\"`tlsServerProfile`\"\u003e`tls_server_profile`\u003c/span\u003e block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n\n\u003e **NOTE** Profile provided by \u003cspan pulumi-lang-nodejs=\"`existingTlsServerProfile`\" pulumi-lang-dotnet=\"`ExistingTlsServerProfile`\" pulumi-lang-go=\"`existingTlsServerProfile`\" pulumi-lang-python=\"`existing_tls_server_profile`\" pulumi-lang-yaml=\"`existingTlsServerProfile`\" pulumi-lang-java=\"`existingTlsServerProfile`\"\u003e`existing_tls_server_profile`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tlsServerProfile`\" pulumi-lang-dotnet=\"`TlsServerProfile`\" pulumi-lang-go=\"`tlsServerProfile`\" pulumi-lang-python=\"`tls_server_profile`\" pulumi-lang-yaml=\"`tlsServerProfile`\" pulumi-lang-java=\"`tlsServerProfile`\"\u003e`tls_server_profile`\u003c/span\u003e used for decrypt client-side connections.\n"},"virtualServer":{"$ref":"#/types/f5bigip:index/FastHttpsAppVirtualServer:FastHttpsAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"wafSecurityPolicy":{"$ref":"#/types/f5bigip:index/FastHttpsAppWafSecurityPolicy:FastHttpsAppWafSecurityPolicy","description":"\u003cspan pulumi-lang-nodejs=\"`wafSecurityPolicy`\" pulumi-lang-dotnet=\"`WafSecurityPolicy`\" pulumi-lang-go=\"`wafSecurityPolicy`\" pulumi-lang-python=\"`waf_security_policy`\" pulumi-lang-yaml=\"`wafSecurityPolicy`\" pulumi-lang-java=\"`wafSecurityPolicy`\"\u003e`waf_security_policy`\u003c/span\u003e block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n"}},"requiredInputs":["application","tenant"],"stateInputs":{"description":"Input properties used for looking up and filtering FastHttpsApp resources.\n","properties":{"application":{"type":"string","description":"Name of the FAST HTTPS application.\n","willReplaceOnChanges":true},"endpointLtmPolicies":{"type":"array","items":{"type":"string"},"description":"List of LTM Policies to be applied FAST HTTPS Application.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"existingTlsClientProfile":{"type":"string","description":"Name of an existing TLS client profile.\n"},"existingTlsServerProfile":{"type":"string","description":"Name of an existing TLS server profile.\n"},"existingWafSecurityPolicy":{"type":"string","description":"Name of an existing WAF Security policy.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"fastHttpsJson":{"type":"string","description":"Json payload for FAST HTTPS application."},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastHttpsAppMonitor:FastHttpsAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastHttpsAppPoolMember:FastHttpsAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"List of security log profiles to be used for FAST application\n"},"serviceDiscoveries":{"type":"array","items":{"type":"string"},"description":"List of different cloud service discovery config provided as string, provided \u003cspan pulumi-lang-nodejs=\"`serviceDiscovery`\" pulumi-lang-dotnet=\"`ServiceDiscovery`\" pulumi-lang-go=\"`serviceDiscovery`\" pulumi-lang-python=\"`service_discovery`\" pulumi-lang-yaml=\"`serviceDiscovery`\" pulumi-lang-java=\"`serviceDiscovery`\"\u003e`service_discovery`\u003c/span\u003e block to Automatically Discover Pool Members with Service Discovery on different clouds.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST HTTPS application tenant.\n","willReplaceOnChanges":true},"tlsClientProfile":{"$ref":"#/types/f5bigip:index/FastHttpsAppTlsClientProfile:FastHttpsAppTlsClientProfile","description":"\u003cspan pulumi-lang-nodejs=\"`tlsClientProfile`\" pulumi-lang-dotnet=\"`TlsClientProfile`\" pulumi-lang-go=\"`tlsClientProfile`\" pulumi-lang-python=\"`tls_client_profile`\" pulumi-lang-yaml=\"`tlsClientProfile`\" pulumi-lang-java=\"`tlsClientProfile`\"\u003e`tls_client_profile`\u003c/span\u003e block takes input for FAST-Generated TLS client Profile.\nSee TLS Client Profile below for more details.\n\n\u003e **NOTE** Profile provided by \u003cspan pulumi-lang-nodejs=\"`existingTlsClientProfile`\" pulumi-lang-dotnet=\"`ExistingTlsClientProfile`\" pulumi-lang-go=\"`existingTlsClientProfile`\" pulumi-lang-python=\"`existing_tls_client_profile`\" pulumi-lang-yaml=\"`existingTlsClientProfile`\" pulumi-lang-java=\"`existingTlsClientProfile`\"\u003e`existing_tls_client_profile`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tlsClientProfile`\" pulumi-lang-dotnet=\"`TlsClientProfile`\" pulumi-lang-go=\"`tlsClientProfile`\" pulumi-lang-python=\"`tls_client_profile`\" pulumi-lang-yaml=\"`tlsClientProfile`\" pulumi-lang-java=\"`tlsClientProfile`\"\u003e`tls_client_profile`\u003c/span\u003e used for encrypt server-side connections.\n"},"tlsServerProfile":{"$ref":"#/types/f5bigip:index/FastHttpsAppTlsServerProfile:FastHttpsAppTlsServerProfile","description":"\u003cspan pulumi-lang-nodejs=\"`tlsServerProfile`\" pulumi-lang-dotnet=\"`TlsServerProfile`\" pulumi-lang-go=\"`tlsServerProfile`\" pulumi-lang-python=\"`tls_server_profile`\" pulumi-lang-yaml=\"`tlsServerProfile`\" pulumi-lang-java=\"`tlsServerProfile`\"\u003e`tls_server_profile`\u003c/span\u003e block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n\n\u003e **NOTE** Profile provided by \u003cspan pulumi-lang-nodejs=\"`existingTlsServerProfile`\" pulumi-lang-dotnet=\"`ExistingTlsServerProfile`\" pulumi-lang-go=\"`existingTlsServerProfile`\" pulumi-lang-python=\"`existing_tls_server_profile`\" pulumi-lang-yaml=\"`existingTlsServerProfile`\" pulumi-lang-java=\"`existingTlsServerProfile`\"\u003e`existing_tls_server_profile`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tlsServerProfile`\" pulumi-lang-dotnet=\"`TlsServerProfile`\" pulumi-lang-go=\"`tlsServerProfile`\" pulumi-lang-python=\"`tls_server_profile`\" pulumi-lang-yaml=\"`tlsServerProfile`\" pulumi-lang-java=\"`tlsServerProfile`\"\u003e`tls_server_profile`\u003c/span\u003e used for decrypt client-side connections.\n"},"virtualServer":{"$ref":"#/types/f5bigip:index/FastHttpsAppVirtualServer:FastHttpsAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"wafSecurityPolicy":{"$ref":"#/types/f5bigip:index/FastHttpsAppWafSecurityPolicy:FastHttpsAppWafSecurityPolicy","description":"\u003cspan pulumi-lang-nodejs=\"`wafSecurityPolicy`\" pulumi-lang-dotnet=\"`WafSecurityPolicy`\" pulumi-lang-go=\"`wafSecurityPolicy`\" pulumi-lang-python=\"`waf_security_policy`\" pulumi-lang-yaml=\"`wafSecurityPolicy`\" pulumi-lang-java=\"`wafSecurityPolicy`\"\u003e`waf_security_policy`\u003c/span\u003e block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n"}},"type":"object"}},"f5bigip:index/fastTcpApp:FastTcpApp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.FastTcpApp`\" pulumi-lang-dotnet=\"`f5bigip.FastTcpApp`\" pulumi-lang-go=\"`FastTcpApp`\" pulumi-lang-python=\"`FastTcpApp`\" pulumi-lang-yaml=\"`f5bigip.FastTcpApp`\" pulumi-lang-java=\"`f5bigip.FastTcpApp`\"\u003e`f5bigip.FastTcpApp`\u003c/span\u003e This resource will create and manage FAST TCP applications on BIG-IP from provided JSON declaration. \n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst fast_tcp_app = new f5bigip.FastTcpApp(\"fast-tcp-app\", {\n    application: \"tcp_app_2\",\n    tenant: \"tcp_app_tenant\",\n    virtualServer: {\n        ip: \"11.12.16.30\",\n        port: 443,\n    }[0],\n    poolMembers: [{\n        addresses: [\n            \"10.11.34.65\",\n            \"56.43.23.76\",\n        ],\n        port: 443,\n        priorityGroup: 1,\n        connectionLimit: 4,\n        shareNodes: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nfast_tcp_app = f5bigip.FastTcpApp(\"fast-tcp-app\",\n    application=\"tcp_app_2\",\n    tenant=\"tcp_app_tenant\",\n    virtual_server={\n        \"ip\": \"11.12.16.30\",\n        \"port\": 443,\n    }[0],\n    pool_members=[{\n        \"addresses\": [\n            \"10.11.34.65\",\n            \"56.43.23.76\",\n        ],\n        \"port\": 443,\n        \"priority_group\": 1,\n        \"connection_limit\": 4,\n        \"share_nodes\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fast_tcp_app = new F5BigIP.FastTcpApp(\"fast-tcp-app\", new()\n    {\n        Application = \"tcp_app_2\",\n        Tenant = \"tcp_app_tenant\",\n        VirtualServer = \n        {\n            { \"ip\", \"11.12.16.30\" },\n            { \"port\", 443 },\n        }[0],\n        PoolMembers = new[]\n        {\n            new F5BigIP.Inputs.FastTcpAppPoolMemberArgs\n            {\n                Addresses = new[]\n                {\n                    \"10.11.34.65\",\n                    \"56.43.23.76\",\n                },\n                Port = 443,\n                PriorityGroup = 1,\n                ConnectionLimit = 4,\n                ShareNodes = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewFastTcpApp(ctx, \"fast-tcp-app\", \u0026f5bigip.FastTcpAppArgs{\n\t\t\tApplication: pulumi.String(\"tcp_app_2\"),\n\t\t\tTenant:      pulumi.String(\"tcp_app_tenant\"),\n\t\t\tVirtualServer: map[string]interface{}{\n\t\t\t\t\"ip\":   \"11.12.16.30\",\n\t\t\t\t\"port\": 443,\n\t\t\t}[0],\n\t\t\tPoolMembers: f5bigip.FastTcpAppPoolMemberArray{\n\t\t\t\t\u0026f5bigip.FastTcpAppPoolMemberArgs{\n\t\t\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.11.34.65\"),\n\t\t\t\t\t\tpulumi.String(\"56.43.23.76\"),\n\t\t\t\t\t},\n\t\t\t\t\tPort:            pulumi.Int(443),\n\t\t\t\t\tPriorityGroup:   pulumi.Int(1),\n\t\t\t\t\tConnectionLimit: pulumi.Int(4),\n\t\t\t\t\tShareNodes:      pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.FastTcpApp;\nimport com.pulumi.f5bigip.FastTcpAppArgs;\nimport com.pulumi.f5bigip.inputs.FastTcpAppPoolMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fast_tcp_app = new FastTcpApp(\"fast-tcp-app\", FastTcpAppArgs.builder()\n            .application(\"tcp_app_2\")\n            .tenant(\"tcp_app_tenant\")\n            .virtualServer(FastTcpAppVirtualServerArgs.builder()\n                .ip(\"11.12.16.30\")\n                .port(443)\n                .build()[0])\n            .poolMembers(FastTcpAppPoolMemberArgs.builder()\n                .addresses(                \n                    \"10.11.34.65\",\n                    \"56.43.23.76\")\n                .port(443)\n                .priorityGroup(1)\n                .connectionLimit(4)\n                .shareNodes(true)\n                .build())\n            .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"application":{"type":"string","description":"Name of the FAST TCP application.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"fastTcpJson":{"type":"string","description":"Json payload for FAST TCP application."},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastTcpAppMonitor:FastTcpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastTcpAppPoolMember:FastTcpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST TCP application tenant.\n"},"virtualServer":{"$ref":"#/types/f5bigip:index/FastTcpAppVirtualServer:FastTcpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"}},"required":["application","fastTcpJson","tenant"],"inputProperties":{"application":{"type":"string","description":"Name of the FAST TCP application.\n","willReplaceOnChanges":true},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastTcpAppMonitor:FastTcpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastTcpAppPoolMember:FastTcpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST TCP application tenant.\n","willReplaceOnChanges":true},"virtualServer":{"$ref":"#/types/f5bigip:index/FastTcpAppVirtualServer:FastTcpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"}},"requiredInputs":["application","tenant"],"stateInputs":{"description":"Input properties used for looking up and filtering FastTcpApp resources.\n","properties":{"application":{"type":"string","description":"Name of the FAST TCP application.\n","willReplaceOnChanges":true},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"fastTcpJson":{"type":"string","description":"Json payload for FAST TCP application."},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastTcpAppMonitor:FastTcpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastTcpAppPoolMember:FastTcpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST TCP application tenant.\n","willReplaceOnChanges":true},"virtualServer":{"$ref":"#/types/f5bigip:index/FastTcpAppVirtualServer:FastTcpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"}},"type":"object"}},"f5bigip:index/fastTemplate:FastTemplate":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.FastTemplate`\" pulumi-lang-dotnet=\"`f5bigip.FastTemplate`\" pulumi-lang-go=\"`FastTemplate`\" pulumi-lang-python=\"`FastTemplate`\" pulumi-lang-yaml=\"`f5bigip.FastTemplate`\" pulumi-lang-java=\"`f5bigip.FastTemplate`\"\u003e`f5bigip.FastTemplate`\u003c/span\u003e This resource will import and create FAST template sets on BIG-IP LTM.\nTemplate set can be imported from zip archive files on the local disk.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nconst foo_template = new f5bigip.FastTemplate(\"foo-template\", {\n    name: \"foo_template\",\n    source: \"foo_template.zip\",\n    md5Hash: std.filemd5({\n        input: \"foo_template.zip\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\nfoo_template = f5bigip.FastTemplate(\"foo-template\",\n    name=\"foo_template\",\n    source=\"foo_template.zip\",\n    md5_hash=std.filemd5(input=\"foo_template.zip\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo_template = new F5BigIP.FastTemplate(\"foo-template\", new()\n    {\n        Name = \"foo_template\",\n        Source = \"foo_template.zip\",\n        Md5Hash = Std.Filemd5.Invoke(new()\n        {\n            Input = \"foo_template.zip\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFilemd5, err := std.Filemd5(ctx, \u0026std.Filemd5Args{\n\t\t\tInput: \"foo_template.zip\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewFastTemplate(ctx, \"foo-template\", \u0026f5bigip.FastTemplateArgs{\n\t\t\tName:    pulumi.String(\"foo_template\"),\n\t\t\tSource:  pulumi.String(\"foo_template.zip\"),\n\t\t\tMd5Hash: pulumi.String(invokeFilemd5.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.FastTemplate;\nimport com.pulumi.f5bigip.FastTemplateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filemd5Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo_template = new FastTemplate(\"foo-template\", FastTemplateArgs.builder()\n            .name(\"foo_template\")\n            .source(\"foo_template.zip\")\n            .md5Hash(StdFunctions.filemd5(Filemd5Args.builder()\n                .input(\"foo_template.zip\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo-template:\n    type: f5bigip:FastTemplate\n    properties:\n      name: foo_template\n      source: foo_template.zip\n      md5Hash:\n        fn::invoke:\n          function: std:filemd5\n          arguments:\n            input: foo_template.zip\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"md5Hash":{"type":"string","description":"MD5 hash of the zip archive file containing FAST template\n"},"name":{"type":"string","description":"Name of the FAST template set to be created on to BIGIP\n"},"source":{"type":"string","description":"Path to the zip archive file containing FAST template set on Local Disk\n"}},"required":["md5Hash","source"],"inputProperties":{"md5Hash":{"type":"string","description":"MD5 hash of the zip archive file containing FAST template\n"},"name":{"type":"string","description":"Name of the FAST template set to be created on to BIGIP\n","willReplaceOnChanges":true},"source":{"type":"string","description":"Path to the zip archive file containing FAST template set on Local Disk\n","willReplaceOnChanges":true}},"requiredInputs":["md5Hash","source"],"stateInputs":{"description":"Input properties used for looking up and filtering FastTemplate resources.\n","properties":{"md5Hash":{"type":"string","description":"MD5 hash of the zip archive file containing FAST template\n"},"name":{"type":"string","description":"Name of the FAST template set to be created on to BIGIP\n","willReplaceOnChanges":true},"source":{"type":"string","description":"Path to the zip archive file containing FAST template set on Local Disk\n","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:index/fastUdpApp:FastUdpApp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.FastUdpApp`\" pulumi-lang-dotnet=\"`f5bigip.FastUdpApp`\" pulumi-lang-go=\"`FastUdpApp`\" pulumi-lang-python=\"`FastUdpApp`\" pulumi-lang-yaml=\"`f5bigip.FastUdpApp`\" pulumi-lang-java=\"`f5bigip.FastUdpApp`\"\u003e`f5bigip.FastUdpApp`\u003c/span\u003e This resource will create and manage FAST UDP applications on BIG-IP from provided JSON declaration. \n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst fast_udp_app = new f5bigip.FastUdpApp(\"fast-udp-app\", {\n    application: \"udp_app_2\",\n    tenant: \"udp_app_tenant\",\n    virtualServer: {\n        ip: \"11.12.16.30\",\n        port: 443,\n    }[0],\n    poolMembers: [{\n        addresses: [\n            \"10.11.34.65\",\n            \"56.43.23.76\",\n        ],\n        port: 443,\n        priorityGroup: 1,\n        connectionLimit: 4,\n        shareNodes: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nfast_udp_app = f5bigip.FastUdpApp(\"fast-udp-app\",\n    application=\"udp_app_2\",\n    tenant=\"udp_app_tenant\",\n    virtual_server={\n        \"ip\": \"11.12.16.30\",\n        \"port\": 443,\n    }[0],\n    pool_members=[{\n        \"addresses\": [\n            \"10.11.34.65\",\n            \"56.43.23.76\",\n        ],\n        \"port\": 443,\n        \"priority_group\": 1,\n        \"connection_limit\": 4,\n        \"share_nodes\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fast_udp_app = new F5BigIP.FastUdpApp(\"fast-udp-app\", new()\n    {\n        Application = \"udp_app_2\",\n        Tenant = \"udp_app_tenant\",\n        VirtualServer = \n        {\n            { \"ip\", \"11.12.16.30\" },\n            { \"port\", 443 },\n        }[0],\n        PoolMembers = new[]\n        {\n            new F5BigIP.Inputs.FastUdpAppPoolMemberArgs\n            {\n                Addresses = new[]\n                {\n                    \"10.11.34.65\",\n                    \"56.43.23.76\",\n                },\n                Port = 443,\n                PriorityGroup = 1,\n                ConnectionLimit = 4,\n                ShareNodes = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewFastUdpApp(ctx, \"fast-udp-app\", \u0026f5bigip.FastUdpAppArgs{\n\t\t\tApplication: pulumi.String(\"udp_app_2\"),\n\t\t\tTenant:      pulumi.String(\"udp_app_tenant\"),\n\t\t\tVirtualServer: map[string]interface{}{\n\t\t\t\t\"ip\":   \"11.12.16.30\",\n\t\t\t\t\"port\": 443,\n\t\t\t}[0],\n\t\t\tPoolMembers: f5bigip.FastUdpAppPoolMemberArray{\n\t\t\t\t\u0026f5bigip.FastUdpAppPoolMemberArgs{\n\t\t\t\t\tAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.11.34.65\"),\n\t\t\t\t\t\tpulumi.String(\"56.43.23.76\"),\n\t\t\t\t\t},\n\t\t\t\t\tPort:            pulumi.Int(443),\n\t\t\t\t\tPriorityGroup:   pulumi.Int(1),\n\t\t\t\t\tConnectionLimit: pulumi.Int(4),\n\t\t\t\t\tShareNodes:      pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.FastUdpApp;\nimport com.pulumi.f5bigip.FastUdpAppArgs;\nimport com.pulumi.f5bigip.inputs.FastUdpAppPoolMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fast_udp_app = new FastUdpApp(\"fast-udp-app\", FastUdpAppArgs.builder()\n            .application(\"udp_app_2\")\n            .tenant(\"udp_app_tenant\")\n            .virtualServer(FastUdpAppVirtualServerArgs.builder()\n                .ip(\"11.12.16.30\")\n                .port(443)\n                .build()[0])\n            .poolMembers(FastUdpAppPoolMemberArgs.builder()\n                .addresses(                \n                    \"10.11.34.65\",\n                    \"56.43.23.76\")\n                .port(443)\n                .priorityGroup(1)\n                .connectionLimit(4)\n                .shareNodes(true)\n                .build())\n            .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"application":{"type":"string","description":"Name of the FAST UDP application.\n"},"enableFastl4":{"type":"boolean","description":"Enables use of FastL4 profiles.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingProfile":{"type":"string","description":"Name of an existing BIG-IP FastL4 or UDP profile.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"fastUdpJson":{"type":"string","description":"Json payload for FAST UDP application."},"irules":{"type":"array","items":{"type":"string"},"description":"Irules to attach to Virtual Server.\n"},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastUdpAppMonitor:FastUdpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastUdpAppPoolMember:FastUdpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"Existing security log profiles to enable.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST UDP application tenant.\n"},"virtualServer":{"$ref":"#/types/f5bigip:index/FastUdpAppVirtualServer:FastUdpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"vlansAlloweds":{"type":"array","items":{"type":"string"},"description":"Names of existing VLANs to allow.\n"},"vlansRejecteds":{"type":"array","items":{"type":"string"},"description":"Names of existing VLANs to reject.\n"}},"required":["application","fastUdpJson","tenant"],"inputProperties":{"application":{"type":"string","description":"Name of the FAST UDP application.\n","willReplaceOnChanges":true},"enableFastl4":{"type":"boolean","description":"Enables use of FastL4 profiles.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingProfile":{"type":"string","description":"Name of an existing BIG-IP FastL4 or UDP profile.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"irules":{"type":"array","items":{"type":"string"},"description":"Irules to attach to Virtual Server.\n"},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastUdpAppMonitor:FastUdpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastUdpAppPoolMember:FastUdpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"Existing security log profiles to enable.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST UDP application tenant.\n","willReplaceOnChanges":true},"virtualServer":{"$ref":"#/types/f5bigip:index/FastUdpAppVirtualServer:FastUdpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"vlansAlloweds":{"type":"array","items":{"type":"string"},"description":"Names of existing VLANs to allow.\n"},"vlansRejecteds":{"type":"array","items":{"type":"string"},"description":"Names of existing VLANs to reject.\n"}},"requiredInputs":["application","tenant"],"stateInputs":{"description":"Input properties used for looking up and filtering FastUdpApp resources.\n","properties":{"application":{"type":"string","description":"Name of the FAST UDP application.\n","willReplaceOnChanges":true},"enableFastl4":{"type":"boolean","description":"Enables use of FastL4 profiles.\n"},"existingMonitor":{"type":"string","description":"Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server.\n"},"existingPool":{"type":"string","description":"Name of an existing BIG-IP pool.\n"},"existingProfile":{"type":"string","description":"Name of an existing BIG-IP FastL4 or UDP profile.\n"},"existingSnatPool":{"type":"string","description":"Name of an existing BIG-IP SNAT pool.\n"},"fallbackPersistence":{"type":"string","description":"Type of fallback persistence record to be created for each new client connection.\n"},"fastUdpJson":{"type":"string","description":"Json payload for FAST UDP application."},"irules":{"type":"array","items":{"type":"string"},"description":"Irules to attach to Virtual Server.\n"},"loadBalancingMode":{"type":"string","description":"A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method\n"},"monitor":{"$ref":"#/types/f5bigip:index/FastUdpAppMonitor:FastUdpAppMonitor","description":"\u003cspan pulumi-lang-nodejs=\"`monitor`\" pulumi-lang-dotnet=\"`Monitor`\" pulumi-lang-go=\"`monitor`\" pulumi-lang-python=\"`monitor`\" pulumi-lang-yaml=\"`monitor`\" pulumi-lang-java=\"`monitor`\"\u003e`monitor`\u003c/span\u003e block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n"},"persistenceProfile":{"type":"string","description":"Name of an existing BIG-IP persistence profile to be used.\n"},"persistenceType":{"type":"string","description":"Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n"},"poolMembers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/FastUdpAppPoolMember:FastUdpAppPoolMember"},"description":"\u003cspan pulumi-lang-nodejs=\"`poolMembers`\" pulumi-lang-dotnet=\"`PoolMembers`\" pulumi-lang-go=\"`poolMembers`\" pulumi-lang-python=\"`pool_members`\" pulumi-lang-yaml=\"`poolMembers`\" pulumi-lang-java=\"`poolMembers`\"\u003e`pool_members`\u003c/span\u003e block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"Existing security log profiles to enable.\n"},"slowRampTime":{"type":"integer","description":"Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds\n"},"snatPoolAddresses":{"type":"array","items":{"type":"string"},"description":"List of address to be used for FAST-Generated SNAT Pool.\n"},"tenant":{"type":"string","description":"Name of the FAST UDP application tenant.\n","willReplaceOnChanges":true},"virtualServer":{"$ref":"#/types/f5bigip:index/FastUdpAppVirtualServer:FastUdpAppVirtualServer","description":"\u003cspan pulumi-lang-nodejs=\"`virtualServer`\" pulumi-lang-dotnet=\"`VirtualServer`\" pulumi-lang-go=\"`virtualServer`\" pulumi-lang-python=\"`virtual_server`\" pulumi-lang-yaml=\"`virtualServer`\" pulumi-lang-java=\"`virtualServer`\"\u003e`virtual_server`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e options to be used for virtual server.\nSee virtual server below for more details.\n"},"vlansAlloweds":{"type":"array","items":{"type":"string"},"description":"Names of existing VLANs to allow.\n"},"vlansRejecteds":{"type":"array","items":{"type":"string"},"description":"Names of existing VLANs to reject.\n"}},"type":"object"}},"f5bigip:index/gtmDatacenter:GtmDatacenter":{"description":"## #\u003cspan pulumi-lang-nodejs=\" f5bigip.GtmDatacenter\n\" pulumi-lang-dotnet=\" f5bigip.GtmDatacenter\n\" pulumi-lang-go=\" GtmDatacenter\n\" pulumi-lang-python=\" GtmDatacenter\n\" pulumi-lang-yaml=\" f5bigip.GtmDatacenter\n\" pulumi-lang-java=\" f5bigip.GtmDatacenter\n\"\u003e f5bigip.GtmDatacenter\n\u003c/span\u003e\nManages F5 BIG-IP GTM (Global Traffic Manager) Datacenter resources.\n\nA GTM datacenter is a logical representation of a physical location where servers reside. Datacenters are fundamental building blocks in GTM topology and are used for geographic load balancing and disaster recovery.\n\n## Example Usage\n\n### Basic Datacenter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst example = new f5bigip.GtmDatacenter(\"example\", {\n    name: \"example_datacenter\",\n    partition: \"Common\",\n    location: \"Seattle, WA\",\n    contact: \"admin@example.com\",\n    description: \"Primary datacenter for west coast operations\",\n    enabled: true,\n    proberPreference: \"inside-datacenter\",\n    proberFallback: \"any-available\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nexample = f5bigip.GtmDatacenter(\"example\",\n    name=\"example_datacenter\",\n    partition=\"Common\",\n    location=\"Seattle, WA\",\n    contact=\"admin@example.com\",\n    description=\"Primary datacenter for west coast operations\",\n    enabled=True,\n    prober_preference=\"inside-datacenter\",\n    prober_fallback=\"any-available\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new F5BigIP.GtmDatacenter(\"example\", new()\n    {\n        Name = \"example_datacenter\",\n        Partition = \"Common\",\n        Location = \"Seattle, WA\",\n        Contact = \"admin@example.com\",\n        Description = \"Primary datacenter for west coast operations\",\n        Enabled = true,\n        ProberPreference = \"inside-datacenter\",\n        ProberFallback = \"any-available\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmDatacenter(ctx, \"example\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName:             pulumi.String(\"example_datacenter\"),\n\t\t\tPartition:        pulumi.String(\"Common\"),\n\t\t\tLocation:         pulumi.String(\"Seattle, WA\"),\n\t\t\tContact:          pulumi.String(\"admin@example.com\"),\n\t\t\tDescription:      pulumi.String(\"Primary datacenter for west coast operations\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tProberPreference: pulumi.String(\"inside-datacenter\"),\n\t\t\tProberFallback:   pulumi.String(\"any-available\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new GtmDatacenter(\"example\", GtmDatacenterArgs.builder()\n            .name(\"example_datacenter\")\n            .partition(\"Common\")\n            .location(\"Seattle, WA\")\n            .contact(\"admin@example.com\")\n            .description(\"Primary datacenter for west coast operations\")\n            .enabled(true)\n            .proberPreference(\"inside-datacenter\")\n            .proberFallback(\"any-available\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: example_datacenter\n      partition: Common\n      location: Seattle, WA\n      contact: admin@example.com\n      description: Primary datacenter for west coast operations\n      enabled: true\n      proberPreference: inside-datacenter\n      proberFallback: any-available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Datacenter with Custom Prober Settings\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst customProber = new f5bigip.GtmDatacenter(\"custom_prober\", {\n    name: \"custom_datacenter\",\n    partition: \"Common\",\n    location: \"New York, NY\",\n    contact: \"ops@example.com\",\n    description: \"East coast datacenter with custom prober configuration\",\n    enabled: true,\n    proberPreference: \"pool\",\n    proberFallback: \"outside-datacenter\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ncustom_prober = f5bigip.GtmDatacenter(\"custom_prober\",\n    name=\"custom_datacenter\",\n    partition=\"Common\",\n    location=\"New York, NY\",\n    contact=\"ops@example.com\",\n    description=\"East coast datacenter with custom prober configuration\",\n    enabled=True,\n    prober_preference=\"pool\",\n    prober_fallback=\"outside-datacenter\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var customProber = new F5BigIP.GtmDatacenter(\"custom_prober\", new()\n    {\n        Name = \"custom_datacenter\",\n        Partition = \"Common\",\n        Location = \"New York, NY\",\n        Contact = \"ops@example.com\",\n        Description = \"East coast datacenter with custom prober configuration\",\n        Enabled = true,\n        ProberPreference = \"pool\",\n        ProberFallback = \"outside-datacenter\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmDatacenter(ctx, \"custom_prober\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName:             pulumi.String(\"custom_datacenter\"),\n\t\t\tPartition:        pulumi.String(\"Common\"),\n\t\t\tLocation:         pulumi.String(\"New York, NY\"),\n\t\t\tContact:          pulumi.String(\"ops@example.com\"),\n\t\t\tDescription:      pulumi.String(\"East coast datacenter with custom prober configuration\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tProberPreference: pulumi.String(\"pool\"),\n\t\t\tProberFallback:   pulumi.String(\"outside-datacenter\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var customProber = new GtmDatacenter(\"customProber\", GtmDatacenterArgs.builder()\n            .name(\"custom_datacenter\")\n            .partition(\"Common\")\n            .location(\"New York, NY\")\n            .contact(\"ops@example.com\")\n            .description(\"East coast datacenter with custom prober configuration\")\n            .enabled(true)\n            .proberPreference(\"pool\")\n            .proberFallback(\"outside-datacenter\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  customProber:\n    type: f5bigip:GtmDatacenter\n    name: custom_prober\n    properties:\n      name: custom_datacenter\n      partition: Common\n      location: New York, NY\n      contact: ops@example.com\n      description: East coast datacenter with custom prober configuration\n      enabled: true\n      proberPreference: pool\n      proberFallback: outside-datacenter\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Disabled Datacenter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst maintenance = new f5bigip.GtmDatacenter(\"maintenance\", {\n    name: \"maintenance_dc\",\n    partition: \"Common\",\n    location: \"Chicago, IL\",\n    contact: \"maintenance@example.com\",\n    description: \"Datacenter currently under maintenance\",\n    enabled: false,\n    proberPreference: \"inside-datacenter\",\n    proberFallback: \"any-available\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmaintenance = f5bigip.GtmDatacenter(\"maintenance\",\n    name=\"maintenance_dc\",\n    partition=\"Common\",\n    location=\"Chicago, IL\",\n    contact=\"maintenance@example.com\",\n    description=\"Datacenter currently under maintenance\",\n    enabled=False,\n    prober_preference=\"inside-datacenter\",\n    prober_fallback=\"any-available\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var maintenance = new F5BigIP.GtmDatacenter(\"maintenance\", new()\n    {\n        Name = \"maintenance_dc\",\n        Partition = \"Common\",\n        Location = \"Chicago, IL\",\n        Contact = \"maintenance@example.com\",\n        Description = \"Datacenter currently under maintenance\",\n        Enabled = false,\n        ProberPreference = \"inside-datacenter\",\n        ProberFallback = \"any-available\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmDatacenter(ctx, \"maintenance\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName:             pulumi.String(\"maintenance_dc\"),\n\t\t\tPartition:        pulumi.String(\"Common\"),\n\t\t\tLocation:         pulumi.String(\"Chicago, IL\"),\n\t\t\tContact:          pulumi.String(\"maintenance@example.com\"),\n\t\t\tDescription:      pulumi.String(\"Datacenter currently under maintenance\"),\n\t\t\tEnabled:          pulumi.Bool(false),\n\t\t\tProberPreference: pulumi.String(\"inside-datacenter\"),\n\t\t\tProberFallback:   pulumi.String(\"any-available\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var maintenance = new GtmDatacenter(\"maintenance\", GtmDatacenterArgs.builder()\n            .name(\"maintenance_dc\")\n            .partition(\"Common\")\n            .location(\"Chicago, IL\")\n            .contact(\"maintenance@example.com\")\n            .description(\"Datacenter currently under maintenance\")\n            .enabled(false)\n            .proberPreference(\"inside-datacenter\")\n            .proberFallback(\"any-available\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  maintenance:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: maintenance_dc\n      partition: Common\n      location: Chicago, IL\n      contact: maintenance@example.com\n      description: Datacenter currently under maintenance\n      enabled: false\n      proberPreference: inside-datacenter\n      proberFallback: any-available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* Datacenters are required before you can create GTM servers and pools.\n* The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`partition`\" pulumi-lang-dotnet=\"`Partition`\" pulumi-lang-go=\"`partition`\" pulumi-lang-python=\"`partition`\" pulumi-lang-yaml=\"`partition`\" pulumi-lang-java=\"`partition`\"\u003e`partition`\u003c/span\u003e cannot be changed after creation. You must destroy and recreate the resource to change these values.\n* Disabling a datacenter (`enabled = false`) removes it from load balancing decisions but preserves its configuration.\n* Prober settings control how BIG-IP monitors the health of resources in this datacenter.\n\n## Import\n\nGTM datacenters can be imported using the full path, e.g.\n\n```sh\n$ pulumi import f5bigip:index/gtmDatacenter:GtmDatacenter example /Common/example_datacenter\n```\n\n","properties":{"contact":{"type":"string","description":"Contact information for the datacenter administrator.\n"},"description":{"type":"string","description":"Description of the datacenter.\n"},"enabled":{"type":"boolean","description":"Enable or disable the datacenter. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the datacenter is disabled and will not be used for load balancing decisions.\n"},"location":{"type":"string","description":"Physical location of the datacenter. This is a free-form text field.\n"},"name":{"type":"string","description":"Name of the GTM datacenter. Cannot be changed after creation.\n"},"partition":{"type":"string","description":"Partition in which to create the datacenter. Default is `Common`. Cannot be changed after creation.\n"},"proberFallback":{"type":"string","description":"Specifies the type of prober to use as fallback when the preferred prober is unavailable. Default is `any-available`. Valid options are:\n- `any-available` - Use any available prober\n- `inside-datacenter` - Fallback to probers inside this datacenter\n- `outside-datacenter` - Fallback to probers outside this datacenter\n"},"proberPreference":{"type":"string","description":"Specifies the type of prober to prefer when monitoring resources in this datacenter. Default is `inside-datacenter`. Valid options are:\n- `inside-datacenter` - Prefer probers inside this datacenter\n- `outside-datacenter` - Prefer probers outside this datacenter\n"}},"required":["name"],"inputProperties":{"contact":{"type":"string","description":"Contact information for the datacenter administrator.\n"},"description":{"type":"string","description":"Description of the datacenter.\n"},"enabled":{"type":"boolean","description":"Enable or disable the datacenter. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the datacenter is disabled and will not be used for load balancing decisions.\n"},"location":{"type":"string","description":"Physical location of the datacenter. This is a free-form text field.\n"},"name":{"type":"string","description":"Name of the GTM datacenter. Cannot be changed after creation.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition in which to create the datacenter. Default is `Common`. Cannot be changed after creation.\n","willReplaceOnChanges":true},"proberFallback":{"type":"string","description":"Specifies the type of prober to use as fallback when the preferred prober is unavailable. Default is `any-available`. Valid options are:\n- `any-available` - Use any available prober\n- `inside-datacenter` - Fallback to probers inside this datacenter\n- `outside-datacenter` - Fallback to probers outside this datacenter\n"},"proberPreference":{"type":"string","description":"Specifies the type of prober to prefer when monitoring resources in this datacenter. Default is `inside-datacenter`. Valid options are:\n- `inside-datacenter` - Prefer probers inside this datacenter\n- `outside-datacenter` - Prefer probers outside this datacenter\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering GtmDatacenter resources.\n","properties":{"contact":{"type":"string","description":"Contact information for the datacenter administrator.\n"},"description":{"type":"string","description":"Description of the datacenter.\n"},"enabled":{"type":"boolean","description":"Enable or disable the datacenter. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the datacenter is disabled and will not be used for load balancing decisions.\n"},"location":{"type":"string","description":"Physical location of the datacenter. This is a free-form text field.\n"},"name":{"type":"string","description":"Name of the GTM datacenter. Cannot be changed after creation.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition in which to create the datacenter. Default is `Common`. Cannot be changed after creation.\n","willReplaceOnChanges":true},"proberFallback":{"type":"string","description":"Specifies the type of prober to use as fallback when the preferred prober is unavailable. Default is `any-available`. Valid options are:\n- `any-available` - Use any available prober\n- `inside-datacenter` - Fallback to probers inside this datacenter\n- `outside-datacenter` - Fallback to probers outside this datacenter\n"},"proberPreference":{"type":"string","description":"Specifies the type of prober to prefer when monitoring resources in this datacenter. Default is `inside-datacenter`. Valid options are:\n- `inside-datacenter` - Prefer probers inside this datacenter\n- `outside-datacenter` - Prefer probers outside this datacenter\n"}},"type":"object"}},"f5bigip:index/gtmPool:GtmPool":{"description":"## #\u003cspan pulumi-lang-nodejs=\" f5bigip.GtmPool \" pulumi-lang-dotnet=\" f5bigip.GtmPool \" pulumi-lang-go=\" GtmPool \" pulumi-lang-python=\" GtmPool \" pulumi-lang-yaml=\" f5bigip.GtmPool \" pulumi-lang-java=\" f5bigip.GtmPool \"\u003e f5bigip.GtmPool \u003c/span\u003eResource\n\nProvides a BIG-IP GTM (Global Traffic Manager) Pool resource. This resource allows you to configure and manage GTM Pool objects on a BIG-IP system.\n\n## Description\n\nA GTM pool is a collection of virtual servers or other pool members that can be distributed across multiple data centers. GTM pools are used by WideIPs to intelligently distribute DNS traffic based on various load balancing algorithms and health monitoring.\n\nGTM Pool types correspond to different DNS record types:\n- **a**: IPv4 address pools\n- **aaaa**: IPv6 address pools\n- **cname**: Canonical name pools\n- **mx**: Mail exchange pools\n- **naptr**: Naming authority pointer pools\n- **srv**: Service locator pools\n\n## Example Usage\n\n### Basic Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst example = new f5bigip.GtmPool(\"example\", {\n    name: \"my_pool\",\n    type: \"a\",\n    partition: \"Common\",\n    loadBalancingMode: \"round-robin\",\n    monitor: \"/Common/https\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nexample = f5bigip.GtmPool(\"example\",\n    name=\"my_pool\",\n    type=\"a\",\n    partition=\"Common\",\n    load_balancing_mode=\"round-robin\",\n    monitor=\"/Common/https\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new F5BigIP.GtmPool(\"example\", new()\n    {\n        Name = \"my_pool\",\n        Type = \"a\",\n        Partition = \"Common\",\n        LoadBalancingMode = \"round-robin\",\n        Monitor = \"/Common/https\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmPool(ctx, \"example\", \u0026f5bigip.GtmPoolArgs{\n\t\t\tName:              pulumi.String(\"my_pool\"),\n\t\t\tType:              pulumi.String(\"a\"),\n\t\t\tPartition:         pulumi.String(\"Common\"),\n\t\t\tLoadBalancingMode: pulumi.String(\"round-robin\"),\n\t\t\tMonitor:           pulumi.String(\"/Common/https\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmPool;\nimport com.pulumi.f5bigip.GtmPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new GtmPool(\"example\", GtmPoolArgs.builder()\n            .name(\"my_pool\")\n            .type(\"a\")\n            .partition(\"Common\")\n            .loadBalancingMode(\"round-robin\")\n            .monitor(\"/Common/https\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: f5bigip:GtmPool\n    properties:\n      name: my_pool\n      type: a\n      partition: Common\n      loadBalancingMode: round-robin\n      monitor: /Common/https\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Pool with Members\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst withMembers = new f5bigip.GtmPool(\"with_members\", {\n    name: \"app_pool\",\n    type: \"a\",\n    partition: \"Common\",\n    loadBalancingMode: \"round-robin\",\n    monitor: \"/Common/https\",\n    ttl: 30,\n    members: [\n        {\n            name: \"server1:/Common/vs_app\",\n            enabled: true,\n            ratio: 1,\n            memberOrder: 0,\n        },\n        {\n            name: \"server2:/Common/vs_app\",\n            enabled: true,\n            ratio: 1,\n            memberOrder: 1,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nwith_members = f5bigip.GtmPool(\"with_members\",\n    name=\"app_pool\",\n    type=\"a\",\n    partition=\"Common\",\n    load_balancing_mode=\"round-robin\",\n    monitor=\"/Common/https\",\n    ttl=30,\n    members=[\n        {\n            \"name\": \"server1:/Common/vs_app\",\n            \"enabled\": True,\n            \"ratio\": 1,\n            \"member_order\": 0,\n        },\n        {\n            \"name\": \"server2:/Common/vs_app\",\n            \"enabled\": True,\n            \"ratio\": 1,\n            \"member_order\": 1,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var withMembers = new F5BigIP.GtmPool(\"with_members\", new()\n    {\n        Name = \"app_pool\",\n        Type = \"a\",\n        Partition = \"Common\",\n        LoadBalancingMode = \"round-robin\",\n        Monitor = \"/Common/https\",\n        Ttl = 30,\n        Members = new[]\n        {\n            new F5BigIP.Inputs.GtmPoolMemberArgs\n            {\n                Name = \"server1:/Common/vs_app\",\n                Enabled = true,\n                Ratio = 1,\n                MemberOrder = 0,\n            },\n            new F5BigIP.Inputs.GtmPoolMemberArgs\n            {\n                Name = \"server2:/Common/vs_app\",\n                Enabled = true,\n                Ratio = 1,\n                MemberOrder = 1,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmPool(ctx, \"with_members\", \u0026f5bigip.GtmPoolArgs{\n\t\t\tName:              pulumi.String(\"app_pool\"),\n\t\t\tType:              pulumi.String(\"a\"),\n\t\t\tPartition:         pulumi.String(\"Common\"),\n\t\t\tLoadBalancingMode: pulumi.String(\"round-robin\"),\n\t\t\tMonitor:           pulumi.String(\"/Common/https\"),\n\t\t\tTtl:               pulumi.Int(30),\n\t\t\tMembers: f5bigip.GtmPoolMemberArray{\n\t\t\t\t\u0026f5bigip.GtmPoolMemberArgs{\n\t\t\t\t\tName:        pulumi.String(\"server1:/Common/vs_app\"),\n\t\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\t\tRatio:       pulumi.Int(1),\n\t\t\t\t\tMemberOrder: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\t\u0026f5bigip.GtmPoolMemberArgs{\n\t\t\t\t\tName:        pulumi.String(\"server2:/Common/vs_app\"),\n\t\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\t\tRatio:       pulumi.Int(1),\n\t\t\t\t\tMemberOrder: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmPool;\nimport com.pulumi.f5bigip.GtmPoolArgs;\nimport com.pulumi.f5bigip.inputs.GtmPoolMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var withMembers = new GtmPool(\"withMembers\", GtmPoolArgs.builder()\n            .name(\"app_pool\")\n            .type(\"a\")\n            .partition(\"Common\")\n            .loadBalancingMode(\"round-robin\")\n            .monitor(\"/Common/https\")\n            .ttl(30)\n            .members(            \n                GtmPoolMemberArgs.builder()\n                    .name(\"server1:/Common/vs_app\")\n                    .enabled(true)\n                    .ratio(1)\n                    .memberOrder(0)\n                    .build(),\n                GtmPoolMemberArgs.builder()\n                    .name(\"server2:/Common/vs_app\")\n                    .enabled(true)\n                    .ratio(1)\n                    .memberOrder(1)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  withMembers:\n    type: f5bigip:GtmPool\n    name: with_members\n    properties:\n      name: app_pool\n      type: a\n      partition: Common\n      loadBalancingMode: round-robin\n      monitor: /Common/https\n      ttl: 30\n      members:\n        - name: server1:/Common/vs_app\n          enabled: true\n          ratio: 1\n          memberOrder: 0\n        - name: server2:/Common/vs_app\n          enabled: true\n          ratio: 1\n          memberOrder: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced Pool Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst advanced = new f5bigip.GtmPool(\"advanced\", {\n    name: \"advanced_pool\",\n    type: \"a\",\n    partition: \"Common\",\n    loadBalancingMode: \"round-robin\",\n    alternateMode: \"topology\",\n    fallbackMode: \"return-to-dns\",\n    fallbackIp: \"192.0.2.1\",\n    maxAnswersReturned: 2,\n    ttl: 60,\n    monitor: \"/Common/https\",\n    verifyMemberAvailability: \"enabled\",\n    qosHitRatio: 10,\n    qosHops: 5,\n    qosKilobytesSecond: 5,\n    qosLcs: 50,\n    qosPacketRate: 5,\n    qosRtt: 100,\n    limitMaxConnections: 5000,\n    limitMaxConnectionsStatus: \"enabled\",\n    limitMaxBps: 100000000,\n    limitMaxBpsStatus: \"enabled\",\n    minMembersUpMode: \"at-least\",\n    minMembersUpValue: 2,\n    members: [\n        {\n            name: \"server1:/Common/vs_app\",\n            enabled: true,\n            ratio: 2,\n            memberOrder: 0,\n            monitor: \"default\",\n            limitMaxConnections: 2000,\n            limitMaxConnectionsStatus: \"enabled\",\n        },\n        {\n            name: \"server2:/Common/vs_app\",\n            enabled: true,\n            ratio: 1,\n            memberOrder: 1,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nadvanced = f5bigip.GtmPool(\"advanced\",\n    name=\"advanced_pool\",\n    type=\"a\",\n    partition=\"Common\",\n    load_balancing_mode=\"round-robin\",\n    alternate_mode=\"topology\",\n    fallback_mode=\"return-to-dns\",\n    fallback_ip=\"192.0.2.1\",\n    max_answers_returned=2,\n    ttl=60,\n    monitor=\"/Common/https\",\n    verify_member_availability=\"enabled\",\n    qos_hit_ratio=10,\n    qos_hops=5,\n    qos_kilobytes_second=5,\n    qos_lcs=50,\n    qos_packet_rate=5,\n    qos_rtt=100,\n    limit_max_connections=5000,\n    limit_max_connections_status=\"enabled\",\n    limit_max_bps=100000000,\n    limit_max_bps_status=\"enabled\",\n    min_members_up_mode=\"at-least\",\n    min_members_up_value=2,\n    members=[\n        {\n            \"name\": \"server1:/Common/vs_app\",\n            \"enabled\": True,\n            \"ratio\": 2,\n            \"member_order\": 0,\n            \"monitor\": \"default\",\n            \"limit_max_connections\": 2000,\n            \"limit_max_connections_status\": \"enabled\",\n        },\n        {\n            \"name\": \"server2:/Common/vs_app\",\n            \"enabled\": True,\n            \"ratio\": 1,\n            \"member_order\": 1,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var advanced = new F5BigIP.GtmPool(\"advanced\", new()\n    {\n        Name = \"advanced_pool\",\n        Type = \"a\",\n        Partition = \"Common\",\n        LoadBalancingMode = \"round-robin\",\n        AlternateMode = \"topology\",\n        FallbackMode = \"return-to-dns\",\n        FallbackIp = \"192.0.2.1\",\n        MaxAnswersReturned = 2,\n        Ttl = 60,\n        Monitor = \"/Common/https\",\n        VerifyMemberAvailability = \"enabled\",\n        QosHitRatio = 10,\n        QosHops = 5,\n        QosKilobytesSecond = 5,\n        QosLcs = 50,\n        QosPacketRate = 5,\n        QosRtt = 100,\n        LimitMaxConnections = 5000,\n        LimitMaxConnectionsStatus = \"enabled\",\n        LimitMaxBps = 100000000,\n        LimitMaxBpsStatus = \"enabled\",\n        MinMembersUpMode = \"at-least\",\n        MinMembersUpValue = 2,\n        Members = new[]\n        {\n            new F5BigIP.Inputs.GtmPoolMemberArgs\n            {\n                Name = \"server1:/Common/vs_app\",\n                Enabled = true,\n                Ratio = 2,\n                MemberOrder = 0,\n                Monitor = \"default\",\n                LimitMaxConnections = 2000,\n                LimitMaxConnectionsStatus = \"enabled\",\n            },\n            new F5BigIP.Inputs.GtmPoolMemberArgs\n            {\n                Name = \"server2:/Common/vs_app\",\n                Enabled = true,\n                Ratio = 1,\n                MemberOrder = 1,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmPool(ctx, \"advanced\", \u0026f5bigip.GtmPoolArgs{\n\t\t\tName:                      pulumi.String(\"advanced_pool\"),\n\t\t\tType:                      pulumi.String(\"a\"),\n\t\t\tPartition:                 pulumi.String(\"Common\"),\n\t\t\tLoadBalancingMode:         pulumi.String(\"round-robin\"),\n\t\t\tAlternateMode:             pulumi.String(\"topology\"),\n\t\t\tFallbackMode:              pulumi.String(\"return-to-dns\"),\n\t\t\tFallbackIp:                pulumi.String(\"192.0.2.1\"),\n\t\t\tMaxAnswersReturned:        pulumi.Int(2),\n\t\t\tTtl:                       pulumi.Int(60),\n\t\t\tMonitor:                   pulumi.String(\"/Common/https\"),\n\t\t\tVerifyMemberAvailability:  pulumi.String(\"enabled\"),\n\t\t\tQosHitRatio:               pulumi.Int(10),\n\t\t\tQosHops:                   pulumi.Int(5),\n\t\t\tQosKilobytesSecond:        pulumi.Int(5),\n\t\t\tQosLcs:                    pulumi.Int(50),\n\t\t\tQosPacketRate:             pulumi.Int(5),\n\t\t\tQosRtt:                    pulumi.Int(100),\n\t\t\tLimitMaxConnections:       pulumi.Int(5000),\n\t\t\tLimitMaxConnectionsStatus: pulumi.String(\"enabled\"),\n\t\t\tLimitMaxBps:               pulumi.Int(100000000),\n\t\t\tLimitMaxBpsStatus:         pulumi.String(\"enabled\"),\n\t\t\tMinMembersUpMode:          pulumi.String(\"at-least\"),\n\t\t\tMinMembersUpValue:         pulumi.Int(2),\n\t\t\tMembers: f5bigip.GtmPoolMemberArray{\n\t\t\t\t\u0026f5bigip.GtmPoolMemberArgs{\n\t\t\t\t\tName:                      pulumi.String(\"server1:/Common/vs_app\"),\n\t\t\t\t\tEnabled:                   pulumi.Bool(true),\n\t\t\t\t\tRatio:                     pulumi.Int(2),\n\t\t\t\t\tMemberOrder:               pulumi.Int(0),\n\t\t\t\t\tMonitor:                   pulumi.String(\"default\"),\n\t\t\t\t\tLimitMaxConnections:       pulumi.Int(2000),\n\t\t\t\t\tLimitMaxConnectionsStatus: pulumi.String(\"enabled\"),\n\t\t\t\t},\n\t\t\t\t\u0026f5bigip.GtmPoolMemberArgs{\n\t\t\t\t\tName:        pulumi.String(\"server2:/Common/vs_app\"),\n\t\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\t\tRatio:       pulumi.Int(1),\n\t\t\t\t\tMemberOrder: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmPool;\nimport com.pulumi.f5bigip.GtmPoolArgs;\nimport com.pulumi.f5bigip.inputs.GtmPoolMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var advanced = new GtmPool(\"advanced\", GtmPoolArgs.builder()\n            .name(\"advanced_pool\")\n            .type(\"a\")\n            .partition(\"Common\")\n            .loadBalancingMode(\"round-robin\")\n            .alternateMode(\"topology\")\n            .fallbackMode(\"return-to-dns\")\n            .fallbackIp(\"192.0.2.1\")\n            .maxAnswersReturned(2)\n            .ttl(60)\n            .monitor(\"/Common/https\")\n            .verifyMemberAvailability(\"enabled\")\n            .qosHitRatio(10)\n            .qosHops(5)\n            .qosKilobytesSecond(5)\n            .qosLcs(50)\n            .qosPacketRate(5)\n            .qosRtt(100)\n            .limitMaxConnections(5000)\n            .limitMaxConnectionsStatus(\"enabled\")\n            .limitMaxBps(100000000)\n            .limitMaxBpsStatus(\"enabled\")\n            .minMembersUpMode(\"at-least\")\n            .minMembersUpValue(2)\n            .members(            \n                GtmPoolMemberArgs.builder()\n                    .name(\"server1:/Common/vs_app\")\n                    .enabled(true)\n                    .ratio(2)\n                    .memberOrder(0)\n                    .monitor(\"default\")\n                    .limitMaxConnections(2000)\n                    .limitMaxConnectionsStatus(\"enabled\")\n                    .build(),\n                GtmPoolMemberArgs.builder()\n                    .name(\"server2:/Common/vs_app\")\n                    .enabled(true)\n                    .ratio(1)\n                    .memberOrder(1)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  advanced:\n    type: f5bigip:GtmPool\n    properties:\n      name: advanced_pool\n      type: a\n      partition: Common\n      loadBalancingMode: round-robin\n      alternateMode: topology\n      fallbackMode: return-to-dns\n      fallbackIp: 192.0.2.1\n      maxAnswersReturned: 2\n      ttl: 60 # Monitoring\n      monitor: /Common/https\n      verifyMemberAvailability: enabled\n      qosHitRatio: 10\n      qosHops: 5\n      qosKilobytesSecond: 5\n      qosLcs: 50\n      qosPacketRate: 5\n      qosRtt: 100 # Connection limits\n      limitMaxConnections: 5000\n      limitMaxConnectionsStatus: enabled\n      limitMaxBps: 1e+08\n      limitMaxBpsStatus: enabled\n      minMembersUpMode: at-least\n      minMembersUpValue: 2\n      members:\n        - name: server1:/Common/vs_app\n          enabled: true\n          ratio: 2\n          memberOrder: 0\n          monitor: default\n          limitMaxConnections: 2000\n          limitMaxConnectionsStatus: enabled\n        - name: server2:/Common/vs_app\n          enabled: true\n          ratio: 1\n          memberOrder: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n### Pool Member Name Format\n\nPool members must be specified in the format: `\u003cserver_name\u003e:\u003cvirtual_server_name\u003e`\n\nExamples:\n- `server1:/Common/vs_app` - References virtual server \u003cspan pulumi-lang-nodejs=\"`vsApp`\" pulumi-lang-dotnet=\"`VsApp`\" pulumi-lang-go=\"`vsApp`\" pulumi-lang-python=\"`vs_app`\" pulumi-lang-yaml=\"`vsApp`\" pulumi-lang-java=\"`vsApp`\"\u003e`vs_app`\u003c/span\u003e on server \u003cspan pulumi-lang-nodejs=\"`server1`\" pulumi-lang-dotnet=\"`Server1`\" pulumi-lang-go=\"`server1`\" pulumi-lang-python=\"`server1`\" pulumi-lang-yaml=\"`server1`\" pulumi-lang-java=\"`server1`\"\u003e`server1`\u003c/span\u003e\n- `dc1_server:/Prod/app_vs` - References virtual server \u003cspan pulumi-lang-nodejs=\"`appVs`\" pulumi-lang-dotnet=\"`AppVs`\" pulumi-lang-go=\"`appVs`\" pulumi-lang-python=\"`app_vs`\" pulumi-lang-yaml=\"`appVs`\" pulumi-lang-java=\"`appVs`\"\u003e`app_vs`\u003c/span\u003e in partition `Prod` on server \u003cspan pulumi-lang-nodejs=\"`dc1Server`\" pulumi-lang-dotnet=\"`Dc1Server`\" pulumi-lang-go=\"`dc1Server`\" pulumi-lang-python=\"`dc1_server`\" pulumi-lang-yaml=\"`dc1Server`\" pulumi-lang-java=\"`dc1Server`\"\u003e`dc1_server`\u003c/span\u003e\n\nThe server and virtual server must already exist in the GTM configuration.\n\n### Load Balancing Modes\n\nThe \u003cspan pulumi-lang-nodejs=\"`loadBalancingMode`\" pulumi-lang-dotnet=\"`LoadBalancingMode`\" pulumi-lang-go=\"`loadBalancingMode`\" pulumi-lang-python=\"`load_balancing_mode`\" pulumi-lang-yaml=\"`loadBalancingMode`\" pulumi-lang-java=\"`loadBalancingMode`\"\u003e`load_balancing_mode`\u003c/span\u003e determines how GTM distributes DNS queries across pool members:\n\n- **round-robin**: Distributes queries equally across all available members\n- **ratio**: Distributes queries based on member ratios\n- **topology**: Uses topology records to determine the best member\n- **global-availability**: Considers member availability and load\n- **virtual-server-capacity**: Based on virtual server capacity\n- **least-connections**: Selects member with fewest active connections\n- **lowest-round-trip-time**: Selects member with lowest RTT\n- **fewest-hops**: Selects member with fewest network hops\n- **packet-rate**: Based on packet transmission rate\n- **cpu**: Based on CPU utilization\n- **completion-rate**: Based on connection completion rate\n- **quality-of-service**: Based on QoS metrics\n- **kilobytes-per-second**: Based on throughput\n- **dynamic-ratio**: Dynamically adjusts member ratios\n- **drop-packet**: Drops DNS packets (used for testing)\n- **fallback-ip**: Returns a fallback IP address\n- **virtual-server-score**: Based on virtual server scores\n\n### QoS Weights\n\nQoS (Quality of Service) weights are used when the load balancing mode is set to `quality-of-service`. Higher weights give more importance to specific metrics:\n\n- **qos_hit_ratio**: Cache hit ratio\n- **qos_hops**: Number of router hops\n- **qos_kilobytes_second**: Data throughput\n- **qos_lcs**: Link capacity score\n- **qos_packet_rate**: Packet transmission rate\n- **qos_rtt**: Round trip time\n- **qos_topology**: Topology distance\n- **qos_vs_capacity**: Virtual server capacity\n- **qos_vs_score**: Virtual server score\n\n### Connection Limits\n\nConnection limits can be set at both the pool level and individual member level:\n- Pool-level limits apply to the entire pool\n- Member-level limits apply to individual members\n- Both limits must have their corresponding `_status` field set to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e to take effect\n\n### Minimum Members\n\nThe \u003cspan pulumi-lang-nodejs=\"`minMembersUpMode`\" pulumi-lang-dotnet=\"`MinMembersUpMode`\" pulumi-lang-go=\"`minMembersUpMode`\" pulumi-lang-python=\"`min_members_up_mode`\" pulumi-lang-yaml=\"`minMembersUpMode`\" pulumi-lang-java=\"`minMembersUpMode`\"\u003e`min_members_up_mode`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`minMembersUpValue`\" pulumi-lang-dotnet=\"`MinMembersUpValue`\" pulumi-lang-go=\"`minMembersUpValue`\" pulumi-lang-python=\"`min_members_up_value`\" pulumi-lang-yaml=\"`minMembersUpValue`\" pulumi-lang-java=\"`minMembersUpValue`\"\u003e`min_members_up_value`\u003c/span\u003e work together:\n- **off**: No minimum requirement\n- **at-least**: At least \u003cspan pulumi-lang-nodejs=\"`minMembersUpValue`\" pulumi-lang-dotnet=\"`MinMembersUpValue`\" pulumi-lang-go=\"`minMembersUpValue`\" pulumi-lang-python=\"`min_members_up_value`\" pulumi-lang-yaml=\"`minMembersUpValue`\" pulumi-lang-java=\"`minMembersUpValue`\"\u003e`min_members_up_value`\u003c/span\u003e members must be up\n- **percent**: At least \u003cspan pulumi-lang-nodejs=\"`minMembersUpValue`\" pulumi-lang-dotnet=\"`MinMembersUpValue`\" pulumi-lang-go=\"`minMembersUpValue`\" pulumi-lang-python=\"`min_members_up_value`\" pulumi-lang-yaml=\"`minMembersUpValue`\" pulumi-lang-java=\"`minMembersUpValue`\"\u003e`min_members_up_value`\u003c/span\u003e percent of members must be up\n\nExample: If you have 5 members and set \u003cspan pulumi-lang-nodejs=\"`minMembersUpMode \" pulumi-lang-dotnet=\"`MinMembersUpMode \" pulumi-lang-go=\"`minMembersUpMode \" pulumi-lang-python=\"`min_members_up_mode \" pulumi-lang-yaml=\"`minMembersUpMode \" pulumi-lang-java=\"`minMembersUpMode \"\u003e`min_members_up_mode \u003c/span\u003e= \"at-least\"` and \u003cspan pulumi-lang-nodejs=\"`minMembersUpValue \" pulumi-lang-dotnet=\"`MinMembersUpValue \" pulumi-lang-go=\"`minMembersUpValue \" pulumi-lang-python=\"`min_members_up_value \" pulumi-lang-yaml=\"`minMembersUpValue \" pulumi-lang-java=\"`minMembersUpValue \"\u003e`min_members_up_value \u003c/span\u003e= 2`, the pool will be marked down if fewer than 2 members are available.\n\n## API Endpoints\n\nThis resource interacts with the following BIG-IP API endpoints:\n\n- `GET /mgmt/tm/gtm/pool/\u003ctype\u003e/\u003cname\u003e?expandSubcollections=true` - Read pool configuration\n- `POST /mgmt/tm/gtm/pool/\u003ctype\u003e` - Create pool\n- `PUT /mgmt/tm/gtm/pool/\u003ctype\u003e/\u003cname\u003e` - Update pool configuration\n- `DELETE /mgmt/tm/gtm/pool/\u003ctype\u003e/\u003cname\u003e` - Delete pool\n\n## Related Resources\n\n- \u003cspan pulumi-lang-nodejs=\"`f5bigip.GtmWideip`\" pulumi-lang-dotnet=\"`f5bigip.GtmWideip`\" pulumi-lang-go=\"`GtmWideip`\" pulumi-lang-python=\"`GtmWideip`\" pulumi-lang-yaml=\"`f5bigip.GtmWideip`\" pulumi-lang-java=\"`f5bigip.GtmWideip`\"\u003e`f5bigip.GtmWideip`\u003c/span\u003e - Manages GTM WideIPs that reference pools\n- \u003cspan pulumi-lang-nodejs=\"`f5bigip.GtmServer`\" pulumi-lang-dotnet=\"`f5bigip.GtmServer`\" pulumi-lang-go=\"`GtmServer`\" pulumi-lang-python=\"`GtmServer`\" pulumi-lang-yaml=\"`f5bigip.GtmServer`\" pulumi-lang-java=\"`f5bigip.GtmServer`\"\u003e`f5bigip.GtmServer`\u003c/span\u003e - Manages GTM servers that contain virtual servers\n- \u003cspan pulumi-lang-nodejs=\"`f5bigip.GtmDatacenter`\" pulumi-lang-dotnet=\"`f5bigip.GtmDatacenter`\" pulumi-lang-go=\"`GtmDatacenter`\" pulumi-lang-python=\"`GtmDatacenter`\" pulumi-lang-yaml=\"`f5bigip.GtmDatacenter`\" pulumi-lang-java=\"`f5bigip.GtmDatacenter`\"\u003e`f5bigip.GtmDatacenter`\u003c/span\u003e - Manages GTM data centers\n- \u003cspan pulumi-lang-nodejs=\"`bigipGtmMonitor`\" pulumi-lang-dotnet=\"`BigipGtmMonitor`\" pulumi-lang-go=\"`bigipGtmMonitor`\" pulumi-lang-python=\"`bigip_gtm_monitor`\" pulumi-lang-yaml=\"`bigipGtmMonitor`\" pulumi-lang-java=\"`bigipGtmMonitor`\"\u003e`bigip_gtm_monitor`\u003c/span\u003e - Manages GTM health monitors\n\n## Import\n\nGTM Pool resources can be imported using the format `/\u003cpartition\u003e/\u003cname\u003e:\u003ctype\u003e`. For example:\n\n```sh\n$ pulumi import f5bigip:index/gtmPool:GtmPool example /Common/my_pool:a\n```\n\n","properties":{"alternateMode":{"type":"string","description":"Specifies the load balancing mode to use if the preferred and alternate modes are unsuccessful"},"disabled":{"type":"boolean","description":"Disabled state of the pool"},"dynamicRatio":{"type":"string","description":"Enables or disables the dynamic ratio load balancing algorithm"},"enabled":{"type":"boolean","description":"Enable or disable the pool"},"fallbackIp":{"type":"string","description":"Specifies the IPv4 or IPv6 address of the server to which the system directs requests when it cannot use one of its pools"},"fallbackMode":{"type":"string","description":"Specifies the load balancing mode that the system uses if the pool's preferred and alternate modes are unsuccessful"},"limitMaxBps":{"type":"integer","description":"Specifies the maximum allowable data throughput rate in bits per second"},"limitMaxBpsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxBps \" pulumi-lang-dotnet=\" LimitMaxBps \" pulumi-lang-go=\" limitMaxBps \" pulumi-lang-python=\" limit_max_bps \" pulumi-lang-yaml=\" limitMaxBps \" pulumi-lang-java=\" limitMaxBps \"\u003e limit_max_bps \u003c/span\u003eoption"},"limitMaxConnections":{"type":"integer","description":"Specifies the maximum number of concurrent connections"},"limitMaxConnectionsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxConnections \" pulumi-lang-dotnet=\" LimitMaxConnections \" pulumi-lang-go=\" limitMaxConnections \" pulumi-lang-python=\" limit_max_connections \" pulumi-lang-yaml=\" limitMaxConnections \" pulumi-lang-java=\" limitMaxConnections \"\u003e limit_max_connections \u003c/span\u003eoption"},"limitMaxPps":{"type":"integer","description":"Specifies the maximum allowable data transfer rate in packets per second"},"limitMaxPpsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxPps \" pulumi-lang-dotnet=\" LimitMaxPps \" pulumi-lang-go=\" limitMaxPps \" pulumi-lang-python=\" limit_max_pps \" pulumi-lang-yaml=\" limitMaxPps \" pulumi-lang-java=\" limitMaxPps \"\u003e limit_max_pps \u003c/span\u003eoption"},"loadBalancingMode":{"type":"string","description":"Specifies the preferred load balancing mode for the pool"},"manualResume":{"type":"string","description":"Specifies whether manual resume is enabled"},"maxAnswersReturned":{"type":"integer","description":"Specifies the maximum number of available virtual servers that the system lists in a response"},"members":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmPoolMember:GtmPoolMember"}},"minMembersUpMode":{"type":"string","description":"Specifies whether the minimum number of members must be up for the pool to be active"},"minMembersUpValue":{"type":"integer","description":"Specifies the minimum number of pool members that must be up"},"monitor":{"type":"string","description":"Specifies the health monitor for the pool"},"name":{"type":"string","description":"Name of the GTM pool"},"partition":{"type":"string","description":"Partition in which the pool resides"},"qosHitRatio":{"type":"integer","description":"Specifies the weight for QoS hit ratio"},"qosHops":{"type":"integer","description":"Specifies the weight for QoS hops"},"qosKilobytesSecond":{"type":"integer","description":"Specifies the weight for QoS kilobytes per second"},"qosLcs":{"type":"integer","description":"Specifies the weight for QoS link capacity"},"qosPacketRate":{"type":"integer","description":"Specifies the weight for QoS packet rate"},"qosRtt":{"type":"integer","description":"Specifies the weight for QoS round trip time"},"qosTopology":{"type":"integer","description":"Specifies the weight for QoS topology"},"qosVsCapacity":{"type":"integer","description":"Specifies the weight for QoS virtual server capacity"},"qosVsScore":{"type":"integer","description":"Specifies the weight for QoS virtual server score"},"ttl":{"type":"integer","description":"Specifies the time to live (TTL) for the pool"},"type":{"type":"string","description":"Type of GTM pool (a, aaaa, cname, mx, naptr, srv)"},"verifyMemberAvailability":{"type":"string","description":"Specifies whether the system verifies the availability of pool members before sending traffic"}},"required":["name","type"],"inputProperties":{"alternateMode":{"type":"string","description":"Specifies the load balancing mode to use if the preferred and alternate modes are unsuccessful"},"disabled":{"type":"boolean","description":"Disabled state of the pool"},"dynamicRatio":{"type":"string","description":"Enables or disables the dynamic ratio load balancing algorithm"},"enabled":{"type":"boolean","description":"Enable or disable the pool"},"fallbackIp":{"type":"string","description":"Specifies the IPv4 or IPv6 address of the server to which the system directs requests when it cannot use one of its pools"},"fallbackMode":{"type":"string","description":"Specifies the load balancing mode that the system uses if the pool's preferred and alternate modes are unsuccessful"},"limitMaxBps":{"type":"integer","description":"Specifies the maximum allowable data throughput rate in bits per second"},"limitMaxBpsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxBps \" pulumi-lang-dotnet=\" LimitMaxBps \" pulumi-lang-go=\" limitMaxBps \" pulumi-lang-python=\" limit_max_bps \" pulumi-lang-yaml=\" limitMaxBps \" pulumi-lang-java=\" limitMaxBps \"\u003e limit_max_bps \u003c/span\u003eoption"},"limitMaxConnections":{"type":"integer","description":"Specifies the maximum number of concurrent connections"},"limitMaxConnectionsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxConnections \" pulumi-lang-dotnet=\" LimitMaxConnections \" pulumi-lang-go=\" limitMaxConnections \" pulumi-lang-python=\" limit_max_connections \" pulumi-lang-yaml=\" limitMaxConnections \" pulumi-lang-java=\" limitMaxConnections \"\u003e limit_max_connections \u003c/span\u003eoption"},"limitMaxPps":{"type":"integer","description":"Specifies the maximum allowable data transfer rate in packets per second"},"limitMaxPpsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxPps \" pulumi-lang-dotnet=\" LimitMaxPps \" pulumi-lang-go=\" limitMaxPps \" pulumi-lang-python=\" limit_max_pps \" pulumi-lang-yaml=\" limitMaxPps \" pulumi-lang-java=\" limitMaxPps \"\u003e limit_max_pps \u003c/span\u003eoption"},"loadBalancingMode":{"type":"string","description":"Specifies the preferred load balancing mode for the pool"},"manualResume":{"type":"string","description":"Specifies whether manual resume is enabled"},"maxAnswersReturned":{"type":"integer","description":"Specifies the maximum number of available virtual servers that the system lists in a response"},"members":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmPoolMember:GtmPoolMember"}},"minMembersUpMode":{"type":"string","description":"Specifies whether the minimum number of members must be up for the pool to be active"},"minMembersUpValue":{"type":"integer","description":"Specifies the minimum number of pool members that must be up"},"monitor":{"type":"string","description":"Specifies the health monitor for the pool"},"name":{"type":"string","description":"Name of the GTM pool","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition in which the pool resides","willReplaceOnChanges":true},"qosHitRatio":{"type":"integer","description":"Specifies the weight for QoS hit ratio"},"qosHops":{"type":"integer","description":"Specifies the weight for QoS hops"},"qosKilobytesSecond":{"type":"integer","description":"Specifies the weight for QoS kilobytes per second"},"qosLcs":{"type":"integer","description":"Specifies the weight for QoS link capacity"},"qosPacketRate":{"type":"integer","description":"Specifies the weight for QoS packet rate"},"qosRtt":{"type":"integer","description":"Specifies the weight for QoS round trip time"},"qosTopology":{"type":"integer","description":"Specifies the weight for QoS topology"},"qosVsCapacity":{"type":"integer","description":"Specifies the weight for QoS virtual server capacity"},"qosVsScore":{"type":"integer","description":"Specifies the weight for QoS virtual server score"},"ttl":{"type":"integer","description":"Specifies the time to live (TTL) for the pool"},"type":{"type":"string","description":"Type of GTM pool (a, aaaa, cname, mx, naptr, srv)","willReplaceOnChanges":true},"verifyMemberAvailability":{"type":"string","description":"Specifies whether the system verifies the availability of pool members before sending traffic"}},"requiredInputs":["name","type"],"stateInputs":{"description":"Input properties used for looking up and filtering GtmPool resources.\n","properties":{"alternateMode":{"type":"string","description":"Specifies the load balancing mode to use if the preferred and alternate modes are unsuccessful"},"disabled":{"type":"boolean","description":"Disabled state of the pool"},"dynamicRatio":{"type":"string","description":"Enables or disables the dynamic ratio load balancing algorithm"},"enabled":{"type":"boolean","description":"Enable or disable the pool"},"fallbackIp":{"type":"string","description":"Specifies the IPv4 or IPv6 address of the server to which the system directs requests when it cannot use one of its pools"},"fallbackMode":{"type":"string","description":"Specifies the load balancing mode that the system uses if the pool's preferred and alternate modes are unsuccessful"},"limitMaxBps":{"type":"integer","description":"Specifies the maximum allowable data throughput rate in bits per second"},"limitMaxBpsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxBps \" pulumi-lang-dotnet=\" LimitMaxBps \" pulumi-lang-go=\" limitMaxBps \" pulumi-lang-python=\" limit_max_bps \" pulumi-lang-yaml=\" limitMaxBps \" pulumi-lang-java=\" limitMaxBps \"\u003e limit_max_bps \u003c/span\u003eoption"},"limitMaxConnections":{"type":"integer","description":"Specifies the maximum number of concurrent connections"},"limitMaxConnectionsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxConnections \" pulumi-lang-dotnet=\" LimitMaxConnections \" pulumi-lang-go=\" limitMaxConnections \" pulumi-lang-python=\" limit_max_connections \" pulumi-lang-yaml=\" limitMaxConnections \" pulumi-lang-java=\" limitMaxConnections \"\u003e limit_max_connections \u003c/span\u003eoption"},"limitMaxPps":{"type":"integer","description":"Specifies the maximum allowable data transfer rate in packets per second"},"limitMaxPpsStatus":{"type":"string","description":"Enables or disables the\u003cspan pulumi-lang-nodejs=\" limitMaxPps \" pulumi-lang-dotnet=\" LimitMaxPps \" pulumi-lang-go=\" limitMaxPps \" pulumi-lang-python=\" limit_max_pps \" pulumi-lang-yaml=\" limitMaxPps \" pulumi-lang-java=\" limitMaxPps \"\u003e limit_max_pps \u003c/span\u003eoption"},"loadBalancingMode":{"type":"string","description":"Specifies the preferred load balancing mode for the pool"},"manualResume":{"type":"string","description":"Specifies whether manual resume is enabled"},"maxAnswersReturned":{"type":"integer","description":"Specifies the maximum number of available virtual servers that the system lists in a response"},"members":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmPoolMember:GtmPoolMember"}},"minMembersUpMode":{"type":"string","description":"Specifies whether the minimum number of members must be up for the pool to be active"},"minMembersUpValue":{"type":"integer","description":"Specifies the minimum number of pool members that must be up"},"monitor":{"type":"string","description":"Specifies the health monitor for the pool"},"name":{"type":"string","description":"Name of the GTM pool","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition in which the pool resides","willReplaceOnChanges":true},"qosHitRatio":{"type":"integer","description":"Specifies the weight for QoS hit ratio"},"qosHops":{"type":"integer","description":"Specifies the weight for QoS hops"},"qosKilobytesSecond":{"type":"integer","description":"Specifies the weight for QoS kilobytes per second"},"qosLcs":{"type":"integer","description":"Specifies the weight for QoS link capacity"},"qosPacketRate":{"type":"integer","description":"Specifies the weight for QoS packet rate"},"qosRtt":{"type":"integer","description":"Specifies the weight for QoS round trip time"},"qosTopology":{"type":"integer","description":"Specifies the weight for QoS topology"},"qosVsCapacity":{"type":"integer","description":"Specifies the weight for QoS virtual server capacity"},"qosVsScore":{"type":"integer","description":"Specifies the weight for QoS virtual server score"},"ttl":{"type":"integer","description":"Specifies the time to live (TTL) for the pool"},"type":{"type":"string","description":"Type of GTM pool (a, aaaa, cname, mx, naptr, srv)","willReplaceOnChanges":true},"verifyMemberAvailability":{"type":"string","description":"Specifies whether the system verifies the availability of pool members before sending traffic"}},"type":"object"}},"f5bigip:index/gtmServer:GtmServer":{"description":"## #\u003cspan pulumi-lang-nodejs=\" f5bigip.GtmServer\n\" pulumi-lang-dotnet=\" f5bigip.GtmServer\n\" pulumi-lang-go=\" GtmServer\n\" pulumi-lang-python=\" GtmServer\n\" pulumi-lang-yaml=\" f5bigip.GtmServer\n\" pulumi-lang-java=\" f5bigip.GtmServer\n\"\u003e f5bigip.GtmServer\n\u003c/span\u003e\nManages F5 BIG-IP GTM (Global Traffic Manager) Server resources.\n\nA GTM server represents a BIG-IP system, a host, or a server that hosts applications. Servers are identified by their addresses and are organized within datacenters. GTM servers enable GTM to perform load balancing and provide health monitoring for distributed applications.\n\n## Example Usage\n\n### Basic GTM Server (BIG-IP)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dc1 = new f5bigip.GtmDatacenter(\"dc1\", {name: \"datacenter1\"});\nconst server1 = new f5bigip.GtmServer(\"server1\", {\n    name: \"bigip_server1\",\n    datacenter: dc1.name,\n    product: \"bigip\",\n    addresses: [{\n        name: \"10.1.1.1\",\n    }],\n    monitor: \"/Common/bigip\",\n    virtualServerDiscovery: \"true\",\n    linkDiscovery: \"disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndc1 = f5bigip.GtmDatacenter(\"dc1\", name=\"datacenter1\")\nserver1 = f5bigip.GtmServer(\"server1\",\n    name=\"bigip_server1\",\n    datacenter=dc1.name,\n    product=\"bigip\",\n    addresses=[{\n        \"name\": \"10.1.1.1\",\n    }],\n    monitor=\"/Common/bigip\",\n    virtual_server_discovery=\"true\",\n    link_discovery=\"disabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dc1 = new F5BigIP.GtmDatacenter(\"dc1\", new()\n    {\n        Name = \"datacenter1\",\n    });\n\n    var server1 = new F5BigIP.GtmServer(\"server1\", new()\n    {\n        Name = \"bigip_server1\",\n        Datacenter = dc1.Name,\n        Product = \"bigip\",\n        Addresses = new[]\n        {\n            new F5BigIP.Inputs.GtmServerAddressArgs\n            {\n                Name = \"10.1.1.1\",\n            },\n        },\n        Monitor = \"/Common/bigip\",\n        VirtualServerDiscovery = \"true\",\n        LinkDiscovery = \"disabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc1, err := f5bigip.NewGtmDatacenter(ctx, \"dc1\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName: pulumi.String(\"datacenter1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewGtmServer(ctx, \"server1\", \u0026f5bigip.GtmServerArgs{\n\t\t\tName:       pulumi.String(\"bigip_server1\"),\n\t\t\tDatacenter: dc1.Name,\n\t\t\tProduct:    pulumi.String(\"bigip\"),\n\t\t\tAddresses: f5bigip.GtmServerAddressArray{\n\t\t\t\t\u0026f5bigip.GtmServerAddressArgs{\n\t\t\t\t\tName: pulumi.String(\"10.1.1.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMonitor:                pulumi.String(\"/Common/bigip\"),\n\t\t\tVirtualServerDiscovery: pulumi.String(\"true\"),\n\t\t\tLinkDiscovery:          pulumi.String(\"disabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport com.pulumi.f5bigip.GtmServer;\nimport com.pulumi.f5bigip.GtmServerArgs;\nimport com.pulumi.f5bigip.inputs.GtmServerAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dc1 = new GtmDatacenter(\"dc1\", GtmDatacenterArgs.builder()\n            .name(\"datacenter1\")\n            .build());\n\n        var server1 = new GtmServer(\"server1\", GtmServerArgs.builder()\n            .name(\"bigip_server1\")\n            .datacenter(dc1.name())\n            .product(\"bigip\")\n            .addresses(GtmServerAddressArgs.builder()\n                .name(\"10.1.1.1\")\n                .build())\n            .monitor(\"/Common/bigip\")\n            .virtualServerDiscovery(\"true\")\n            .linkDiscovery(\"disabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dc1:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: datacenter1\n  server1:\n    type: f5bigip:GtmServer\n    properties:\n      name: bigip_server1\n      datacenter: ${dc1.name}\n      product: bigip\n      addresses:\n        - name: 10.1.1.1\n      monitor: /Common/bigip\n      virtualServerDiscovery: true\n      linkDiscovery: disabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GTM Server with Multiple Addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dc1 = new f5bigip.GtmDatacenter(\"dc1\", {name: \"datacenter1\"});\nconst multiAddressServer = new f5bigip.GtmServer(\"multi_address_server\", {\n    name: \"multi_server\",\n    datacenter: dc1.name,\n    product: \"bigip\",\n    addresses: [\n        {\n            name: \"10.1.1.1\",\n            deviceName: \"/Common/bigip1.example.com\",\n            translation: \"none\",\n        },\n        {\n            name: \"10.1.1.2\",\n            deviceName: \"/Common/bigip2.example.com\",\n            translation: \"none\",\n        },\n    ],\n    monitor: \"/Common/bigip\",\n    virtualServerDiscovery: \"true\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndc1 = f5bigip.GtmDatacenter(\"dc1\", name=\"datacenter1\")\nmulti_address_server = f5bigip.GtmServer(\"multi_address_server\",\n    name=\"multi_server\",\n    datacenter=dc1.name,\n    product=\"bigip\",\n    addresses=[\n        {\n            \"name\": \"10.1.1.1\",\n            \"device_name\": \"/Common/bigip1.example.com\",\n            \"translation\": \"none\",\n        },\n        {\n            \"name\": \"10.1.1.2\",\n            \"device_name\": \"/Common/bigip2.example.com\",\n            \"translation\": \"none\",\n        },\n    ],\n    monitor=\"/Common/bigip\",\n    virtual_server_discovery=\"true\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dc1 = new F5BigIP.GtmDatacenter(\"dc1\", new()\n    {\n        Name = \"datacenter1\",\n    });\n\n    var multiAddressServer = new F5BigIP.GtmServer(\"multi_address_server\", new()\n    {\n        Name = \"multi_server\",\n        Datacenter = dc1.Name,\n        Product = \"bigip\",\n        Addresses = new[]\n        {\n            new F5BigIP.Inputs.GtmServerAddressArgs\n            {\n                Name = \"10.1.1.1\",\n                DeviceName = \"/Common/bigip1.example.com\",\n                Translation = \"none\",\n            },\n            new F5BigIP.Inputs.GtmServerAddressArgs\n            {\n                Name = \"10.1.1.2\",\n                DeviceName = \"/Common/bigip2.example.com\",\n                Translation = \"none\",\n            },\n        },\n        Monitor = \"/Common/bigip\",\n        VirtualServerDiscovery = \"true\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc1, err := f5bigip.NewGtmDatacenter(ctx, \"dc1\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName: pulumi.String(\"datacenter1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewGtmServer(ctx, \"multi_address_server\", \u0026f5bigip.GtmServerArgs{\n\t\t\tName:       pulumi.String(\"multi_server\"),\n\t\t\tDatacenter: dc1.Name,\n\t\t\tProduct:    pulumi.String(\"bigip\"),\n\t\t\tAddresses: f5bigip.GtmServerAddressArray{\n\t\t\t\t\u0026f5bigip.GtmServerAddressArgs{\n\t\t\t\t\tName:        pulumi.String(\"10.1.1.1\"),\n\t\t\t\t\tDeviceName:  pulumi.String(\"/Common/bigip1.example.com\"),\n\t\t\t\t\tTranslation: pulumi.String(\"none\"),\n\t\t\t\t},\n\t\t\t\t\u0026f5bigip.GtmServerAddressArgs{\n\t\t\t\t\tName:        pulumi.String(\"10.1.1.2\"),\n\t\t\t\t\tDeviceName:  pulumi.String(\"/Common/bigip2.example.com\"),\n\t\t\t\t\tTranslation: pulumi.String(\"none\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMonitor:                pulumi.String(\"/Common/bigip\"),\n\t\t\tVirtualServerDiscovery: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport com.pulumi.f5bigip.GtmServer;\nimport com.pulumi.f5bigip.GtmServerArgs;\nimport com.pulumi.f5bigip.inputs.GtmServerAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dc1 = new GtmDatacenter(\"dc1\", GtmDatacenterArgs.builder()\n            .name(\"datacenter1\")\n            .build());\n\n        var multiAddressServer = new GtmServer(\"multiAddressServer\", GtmServerArgs.builder()\n            .name(\"multi_server\")\n            .datacenter(dc1.name())\n            .product(\"bigip\")\n            .addresses(            \n                GtmServerAddressArgs.builder()\n                    .name(\"10.1.1.1\")\n                    .deviceName(\"/Common/bigip1.example.com\")\n                    .translation(\"none\")\n                    .build(),\n                GtmServerAddressArgs.builder()\n                    .name(\"10.1.1.2\")\n                    .deviceName(\"/Common/bigip2.example.com\")\n                    .translation(\"none\")\n                    .build())\n            .monitor(\"/Common/bigip\")\n            .virtualServerDiscovery(\"true\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dc1:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: datacenter1\n  multiAddressServer:\n    type: f5bigip:GtmServer\n    name: multi_address_server\n    properties:\n      name: multi_server\n      datacenter: ${dc1.name}\n      product: bigip\n      addresses:\n        - name: 10.1.1.1\n          deviceName: /Common/bigip1.example.com\n          translation: none\n        - name: 10.1.1.2\n          deviceName: /Common/bigip2.example.com\n          translation: none\n      monitor: /Common/bigip\n      virtualServerDiscovery: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GTM Server with Address Translation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dc1 = new f5bigip.GtmDatacenter(\"dc1\", {name: \"datacenter1\"});\nconst natServer = new f5bigip.GtmServer(\"nat_server\", {\n    name: \"nat_server\",\n    datacenter: dc1.name,\n    product: \"bigip\",\n    addresses: [{\n        name: \"10.10.10.10\",\n        deviceName: \"/Common/server.example.com\",\n        translation: \"192.168.1.10\",\n    }],\n    monitor: \"/Common/bigip\",\n    virtualServerDiscovery: \"true\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndc1 = f5bigip.GtmDatacenter(\"dc1\", name=\"datacenter1\")\nnat_server = f5bigip.GtmServer(\"nat_server\",\n    name=\"nat_server\",\n    datacenter=dc1.name,\n    product=\"bigip\",\n    addresses=[{\n        \"name\": \"10.10.10.10\",\n        \"device_name\": \"/Common/server.example.com\",\n        \"translation\": \"192.168.1.10\",\n    }],\n    monitor=\"/Common/bigip\",\n    virtual_server_discovery=\"true\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dc1 = new F5BigIP.GtmDatacenter(\"dc1\", new()\n    {\n        Name = \"datacenter1\",\n    });\n\n    var natServer = new F5BigIP.GtmServer(\"nat_server\", new()\n    {\n        Name = \"nat_server\",\n        Datacenter = dc1.Name,\n        Product = \"bigip\",\n        Addresses = new[]\n        {\n            new F5BigIP.Inputs.GtmServerAddressArgs\n            {\n                Name = \"10.10.10.10\",\n                DeviceName = \"/Common/server.example.com\",\n                Translation = \"192.168.1.10\",\n            },\n        },\n        Monitor = \"/Common/bigip\",\n        VirtualServerDiscovery = \"true\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc1, err := f5bigip.NewGtmDatacenter(ctx, \"dc1\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName: pulumi.String(\"datacenter1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewGtmServer(ctx, \"nat_server\", \u0026f5bigip.GtmServerArgs{\n\t\t\tName:       pulumi.String(\"nat_server\"),\n\t\t\tDatacenter: dc1.Name,\n\t\t\tProduct:    pulumi.String(\"bigip\"),\n\t\t\tAddresses: f5bigip.GtmServerAddressArray{\n\t\t\t\t\u0026f5bigip.GtmServerAddressArgs{\n\t\t\t\t\tName:        pulumi.String(\"10.10.10.10\"),\n\t\t\t\t\tDeviceName:  pulumi.String(\"/Common/server.example.com\"),\n\t\t\t\t\tTranslation: pulumi.String(\"192.168.1.10\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMonitor:                pulumi.String(\"/Common/bigip\"),\n\t\t\tVirtualServerDiscovery: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport com.pulumi.f5bigip.GtmServer;\nimport com.pulumi.f5bigip.GtmServerArgs;\nimport com.pulumi.f5bigip.inputs.GtmServerAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dc1 = new GtmDatacenter(\"dc1\", GtmDatacenterArgs.builder()\n            .name(\"datacenter1\")\n            .build());\n\n        var natServer = new GtmServer(\"natServer\", GtmServerArgs.builder()\n            .name(\"nat_server\")\n            .datacenter(dc1.name())\n            .product(\"bigip\")\n            .addresses(GtmServerAddressArgs.builder()\n                .name(\"10.10.10.10\")\n                .deviceName(\"/Common/server.example.com\")\n                .translation(\"192.168.1.10\")\n                .build())\n            .monitor(\"/Common/bigip\")\n            .virtualServerDiscovery(\"true\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dc1:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: datacenter1\n  natServer:\n    type: f5bigip:GtmServer\n    name: nat_server\n    properties:\n      name: nat_server\n      datacenter: ${dc1.name}\n      product: bigip\n      addresses:\n        - name: 10.10.10.10\n          deviceName: /Common/server.example.com\n          translation: 192.168.1.10\n      monitor: /Common/bigip\n      virtualServerDiscovery: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Generic Host Server\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dc1 = new f5bigip.GtmDatacenter(\"dc1\", {name: \"datacenter1\"});\nconst genericHost = new f5bigip.GtmServer(\"generic_host\", {\n    name: \"generic_server\",\n    datacenter: dc1.name,\n    product: \"generic-host\",\n    addresses: [{\n        name: \"10.20.20.20\",\n    }],\n    monitor: \"/Common/tcp\",\n    virtualServerDiscovery: \"false\",\n    linkDiscovery: \"disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndc1 = f5bigip.GtmDatacenter(\"dc1\", name=\"datacenter1\")\ngeneric_host = f5bigip.GtmServer(\"generic_host\",\n    name=\"generic_server\",\n    datacenter=dc1.name,\n    product=\"generic-host\",\n    addresses=[{\n        \"name\": \"10.20.20.20\",\n    }],\n    monitor=\"/Common/tcp\",\n    virtual_server_discovery=\"false\",\n    link_discovery=\"disabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dc1 = new F5BigIP.GtmDatacenter(\"dc1\", new()\n    {\n        Name = \"datacenter1\",\n    });\n\n    var genericHost = new F5BigIP.GtmServer(\"generic_host\", new()\n    {\n        Name = \"generic_server\",\n        Datacenter = dc1.Name,\n        Product = \"generic-host\",\n        Addresses = new[]\n        {\n            new F5BigIP.Inputs.GtmServerAddressArgs\n            {\n                Name = \"10.20.20.20\",\n            },\n        },\n        Monitor = \"/Common/tcp\",\n        VirtualServerDiscovery = \"false\",\n        LinkDiscovery = \"disabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc1, err := f5bigip.NewGtmDatacenter(ctx, \"dc1\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName: pulumi.String(\"datacenter1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewGtmServer(ctx, \"generic_host\", \u0026f5bigip.GtmServerArgs{\n\t\t\tName:       pulumi.String(\"generic_server\"),\n\t\t\tDatacenter: dc1.Name,\n\t\t\tProduct:    pulumi.String(\"generic-host\"),\n\t\t\tAddresses: f5bigip.GtmServerAddressArray{\n\t\t\t\t\u0026f5bigip.GtmServerAddressArgs{\n\t\t\t\t\tName: pulumi.String(\"10.20.20.20\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMonitor:                pulumi.String(\"/Common/tcp\"),\n\t\t\tVirtualServerDiscovery: pulumi.String(\"false\"),\n\t\t\tLinkDiscovery:          pulumi.String(\"disabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport com.pulumi.f5bigip.GtmServer;\nimport com.pulumi.f5bigip.GtmServerArgs;\nimport com.pulumi.f5bigip.inputs.GtmServerAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dc1 = new GtmDatacenter(\"dc1\", GtmDatacenterArgs.builder()\n            .name(\"datacenter1\")\n            .build());\n\n        var genericHost = new GtmServer(\"genericHost\", GtmServerArgs.builder()\n            .name(\"generic_server\")\n            .datacenter(dc1.name())\n            .product(\"generic-host\")\n            .addresses(GtmServerAddressArgs.builder()\n                .name(\"10.20.20.20\")\n                .build())\n            .monitor(\"/Common/tcp\")\n            .virtualServerDiscovery(\"false\")\n            .linkDiscovery(\"disabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dc1:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: datacenter1\n  genericHost:\n    type: f5bigip:GtmServer\n    name: generic_host\n    properties:\n      name: generic_server\n      datacenter: ${dc1.name}\n      product: generic-host\n      addresses:\n        - name: 10.20.20.20\n      monitor: /Common/tcp\n      virtualServerDiscovery: false\n      linkDiscovery: disabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Generic Host Server with Virtual Servers\n\nFor generic-host servers that don't support virtual server discovery, you can manually define virtual servers:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dc1 = new f5bigip.GtmDatacenter(\"dc1\", {name: \"datacenter1\"});\nconst genericWithVs = new f5bigip.GtmServer(\"generic_with_vs\", {\n    name: \"generic_app_server\",\n    datacenter: dc1.name,\n    product: \"generic-host\",\n    addresses: [{\n        name: \"192.168.10.100\",\n    }],\n    virtualServerDiscovery: \"disabled\",\n    linkDiscovery: \"disabled\",\n    virtualServers: [\n        {\n            name: \"vs_http\",\n            destination: \"192.168.10.100:80\",\n            enabled: true,\n        },\n        {\n            name: \"vs_https\",\n            destination: \"192.168.10.100:443\",\n            enabled: true,\n        },\n        {\n            name: \"vs_api\",\n            destination: \"192.168.10.100:8080\",\n            enabled: true,\n            translationAddress: \"none\",\n            translationPort: 0,\n        },\n    ],\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndc1 = f5bigip.GtmDatacenter(\"dc1\", name=\"datacenter1\")\ngeneric_with_vs = f5bigip.GtmServer(\"generic_with_vs\",\n    name=\"generic_app_server\",\n    datacenter=dc1.name,\n    product=\"generic-host\",\n    addresses=[{\n        \"name\": \"192.168.10.100\",\n    }],\n    virtual_server_discovery=\"disabled\",\n    link_discovery=\"disabled\",\n    virtual_servers=[\n        {\n            \"name\": \"vs_http\",\n            \"destination\": \"192.168.10.100:80\",\n            \"enabled\": True,\n        },\n        {\n            \"name\": \"vs_https\",\n            \"destination\": \"192.168.10.100:443\",\n            \"enabled\": True,\n        },\n        {\n            \"name\": \"vs_api\",\n            \"destination\": \"192.168.10.100:8080\",\n            \"enabled\": True,\n            \"translation_address\": \"none\",\n            \"translation_port\": 0,\n        },\n    ],\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dc1 = new F5BigIP.GtmDatacenter(\"dc1\", new()\n    {\n        Name = \"datacenter1\",\n    });\n\n    var genericWithVs = new F5BigIP.GtmServer(\"generic_with_vs\", new()\n    {\n        Name = \"generic_app_server\",\n        Datacenter = dc1.Name,\n        Product = \"generic-host\",\n        Addresses = new[]\n        {\n            new F5BigIP.Inputs.GtmServerAddressArgs\n            {\n                Name = \"192.168.10.100\",\n            },\n        },\n        VirtualServerDiscovery = \"disabled\",\n        LinkDiscovery = \"disabled\",\n        VirtualServers = new[]\n        {\n            new F5BigIP.Inputs.GtmServerVirtualServerArgs\n            {\n                Name = \"vs_http\",\n                Destination = \"192.168.10.100:80\",\n                Enabled = true,\n            },\n            new F5BigIP.Inputs.GtmServerVirtualServerArgs\n            {\n                Name = \"vs_https\",\n                Destination = \"192.168.10.100:443\",\n                Enabled = true,\n            },\n            new F5BigIP.Inputs.GtmServerVirtualServerArgs\n            {\n                Name = \"vs_api\",\n                Destination = \"192.168.10.100:8080\",\n                Enabled = true,\n                TranslationAddress = \"none\",\n                TranslationPort = 0,\n            },\n        },\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc1, err := f5bigip.NewGtmDatacenter(ctx, \"dc1\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName: pulumi.String(\"datacenter1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewGtmServer(ctx, \"generic_with_vs\", \u0026f5bigip.GtmServerArgs{\n\t\t\tName:       pulumi.String(\"generic_app_server\"),\n\t\t\tDatacenter: dc1.Name,\n\t\t\tProduct:    pulumi.String(\"generic-host\"),\n\t\t\tAddresses: f5bigip.GtmServerAddressArray{\n\t\t\t\t\u0026f5bigip.GtmServerAddressArgs{\n\t\t\t\t\tName: pulumi.String(\"192.168.10.100\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVirtualServerDiscovery: pulumi.String(\"disabled\"),\n\t\t\tLinkDiscovery:          pulumi.String(\"disabled\"),\n\t\t\tVirtualServers: f5bigip.GtmServerVirtualServerArray{\n\t\t\t\t\u0026f5bigip.GtmServerVirtualServerArgs{\n\t\t\t\t\tName:        pulumi.String(\"vs_http\"),\n\t\t\t\t\tDestination: pulumi.String(\"192.168.10.100:80\"),\n\t\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026f5bigip.GtmServerVirtualServerArgs{\n\t\t\t\t\tName:        pulumi.String(\"vs_https\"),\n\t\t\t\t\tDestination: pulumi.String(\"192.168.10.100:443\"),\n\t\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026f5bigip.GtmServerVirtualServerArgs{\n\t\t\t\t\tName:               pulumi.String(\"vs_api\"),\n\t\t\t\t\tDestination:        pulumi.String(\"192.168.10.100:8080\"),\n\t\t\t\t\tEnabled:            pulumi.Bool(true),\n\t\t\t\t\tTranslationAddress: pulumi.String(\"none\"),\n\t\t\t\t\tTranslationPort:    pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport com.pulumi.f5bigip.GtmServer;\nimport com.pulumi.f5bigip.GtmServerArgs;\nimport com.pulumi.f5bigip.inputs.GtmServerAddressArgs;\nimport com.pulumi.f5bigip.inputs.GtmServerVirtualServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dc1 = new GtmDatacenter(\"dc1\", GtmDatacenterArgs.builder()\n            .name(\"datacenter1\")\n            .build());\n\n        var genericWithVs = new GtmServer(\"genericWithVs\", GtmServerArgs.builder()\n            .name(\"generic_app_server\")\n            .datacenter(dc1.name())\n            .product(\"generic-host\")\n            .addresses(GtmServerAddressArgs.builder()\n                .name(\"192.168.10.100\")\n                .build())\n            .virtualServerDiscovery(\"disabled\")\n            .linkDiscovery(\"disabled\")\n            .virtualServers(            \n                GtmServerVirtualServerArgs.builder()\n                    .name(\"vs_http\")\n                    .destination(\"192.168.10.100:80\")\n                    .enabled(true)\n                    .build(),\n                GtmServerVirtualServerArgs.builder()\n                    .name(\"vs_https\")\n                    .destination(\"192.168.10.100:443\")\n                    .enabled(true)\n                    .build(),\n                GtmServerVirtualServerArgs.builder()\n                    .name(\"vs_api\")\n                    .destination(\"192.168.10.100:8080\")\n                    .enabled(true)\n                    .translationAddress(\"none\")\n                    .translationPort(0)\n                    .build())\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dc1:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: datacenter1\n  genericWithVs:\n    type: f5bigip:GtmServer\n    name: generic_with_vs\n    properties:\n      name: generic_app_server\n      datacenter: ${dc1.name}\n      product: generic-host\n      addresses:\n        - name: 192.168.10.100\n      virtualServerDiscovery: disabled\n      linkDiscovery: disabled\n      virtualServers:\n        - name: vs_http\n          destination: 192.168.10.100:80\n          enabled: true\n        - name: vs_https\n          destination: 192.168.10.100:443\n          enabled: true\n        - name: vs_api\n          destination: 192.168.10.100:8080\n          enabled: true\n          translationAddress: none\n          translationPort: 0\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GTM Server with Prober Settings\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dc1 = new f5bigip.GtmDatacenter(\"dc1\", {name: \"datacenter1\"});\nconst proberServer = new f5bigip.GtmServer(\"prober_server\", {\n    name: \"prober_configured_server\",\n    datacenter: dc1.name,\n    product: \"bigip\",\n    addresses: [{\n        name: \"10.30.30.30\",\n    }],\n    monitor: \"/Common/bigip\",\n    virtualServerDiscovery: \"true\",\n    proberPreference: \"inside-datacenter\",\n    proberFallback: \"any-available\",\n    iqAllowPath: true,\n    iqAllowServiceCheck: true,\n    iqAllowSnmp: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndc1 = f5bigip.GtmDatacenter(\"dc1\", name=\"datacenter1\")\nprober_server = f5bigip.GtmServer(\"prober_server\",\n    name=\"prober_configured_server\",\n    datacenter=dc1.name,\n    product=\"bigip\",\n    addresses=[{\n        \"name\": \"10.30.30.30\",\n    }],\n    monitor=\"/Common/bigip\",\n    virtual_server_discovery=\"true\",\n    prober_preference=\"inside-datacenter\",\n    prober_fallback=\"any-available\",\n    iq_allow_path=True,\n    iq_allow_service_check=True,\n    iq_allow_snmp=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dc1 = new F5BigIP.GtmDatacenter(\"dc1\", new()\n    {\n        Name = \"datacenter1\",\n    });\n\n    var proberServer = new F5BigIP.GtmServer(\"prober_server\", new()\n    {\n        Name = \"prober_configured_server\",\n        Datacenter = dc1.Name,\n        Product = \"bigip\",\n        Addresses = new[]\n        {\n            new F5BigIP.Inputs.GtmServerAddressArgs\n            {\n                Name = \"10.30.30.30\",\n            },\n        },\n        Monitor = \"/Common/bigip\",\n        VirtualServerDiscovery = \"true\",\n        ProberPreference = \"inside-datacenter\",\n        ProberFallback = \"any-available\",\n        IqAllowPath = true,\n        IqAllowServiceCheck = true,\n        IqAllowSnmp = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc1, err := f5bigip.NewGtmDatacenter(ctx, \"dc1\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName: pulumi.String(\"datacenter1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewGtmServer(ctx, \"prober_server\", \u0026f5bigip.GtmServerArgs{\n\t\t\tName:       pulumi.String(\"prober_configured_server\"),\n\t\t\tDatacenter: dc1.Name,\n\t\t\tProduct:    pulumi.String(\"bigip\"),\n\t\t\tAddresses: f5bigip.GtmServerAddressArray{\n\t\t\t\t\u0026f5bigip.GtmServerAddressArgs{\n\t\t\t\t\tName: pulumi.String(\"10.30.30.30\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMonitor:                pulumi.String(\"/Common/bigip\"),\n\t\t\tVirtualServerDiscovery: pulumi.String(\"true\"),\n\t\t\tProberPreference:       pulumi.String(\"inside-datacenter\"),\n\t\t\tProberFallback:         pulumi.String(\"any-available\"),\n\t\t\tIqAllowPath:            pulumi.Bool(true),\n\t\t\tIqAllowServiceCheck:    pulumi.Bool(true),\n\t\t\tIqAllowSnmp:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport com.pulumi.f5bigip.GtmServer;\nimport com.pulumi.f5bigip.GtmServerArgs;\nimport com.pulumi.f5bigip.inputs.GtmServerAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dc1 = new GtmDatacenter(\"dc1\", GtmDatacenterArgs.builder()\n            .name(\"datacenter1\")\n            .build());\n\n        var proberServer = new GtmServer(\"proberServer\", GtmServerArgs.builder()\n            .name(\"prober_configured_server\")\n            .datacenter(dc1.name())\n            .product(\"bigip\")\n            .addresses(GtmServerAddressArgs.builder()\n                .name(\"10.30.30.30\")\n                .build())\n            .monitor(\"/Common/bigip\")\n            .virtualServerDiscovery(\"true\")\n            .proberPreference(\"inside-datacenter\")\n            .proberFallback(\"any-available\")\n            .iqAllowPath(true)\n            .iqAllowServiceCheck(true)\n            .iqAllowSnmp(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dc1:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: datacenter1\n  proberServer:\n    type: f5bigip:GtmServer\n    name: prober_server\n    properties:\n      name: prober_configured_server\n      datacenter: ${dc1.name}\n      product: bigip\n      addresses:\n        - name: 10.30.30.30\n      monitor: /Common/bigip\n      virtualServerDiscovery: true\n      proberPreference: inside-datacenter\n      proberFallback: any-available\n      iqAllowPath: true\n      iqAllowServiceCheck: true\n      iqAllowSnmp: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GTM Server with Resource Limits\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dc1 = new f5bigip.GtmDatacenter(\"dc1\", {name: \"datacenter1\"});\nconst limitedServer = new f5bigip.GtmServer(\"limited_server\", {\n    name: \"resource_limited_server\",\n    datacenter: dc1.name,\n    product: \"bigip\",\n    addresses: [{\n        name: \"10.40.40.40\",\n    }],\n    monitor: \"/Common/bigip\",\n    virtualServerDiscovery: \"true\",\n    limitMaxConnections: 10000,\n    limitMaxBps: 1000000,\n    limitMaxPps: 50000,\n    limitCpuUsage: 80,\n    limitMemAvail: 1024,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndc1 = f5bigip.GtmDatacenter(\"dc1\", name=\"datacenter1\")\nlimited_server = f5bigip.GtmServer(\"limited_server\",\n    name=\"resource_limited_server\",\n    datacenter=dc1.name,\n    product=\"bigip\",\n    addresses=[{\n        \"name\": \"10.40.40.40\",\n    }],\n    monitor=\"/Common/bigip\",\n    virtual_server_discovery=\"true\",\n    limit_max_connections=10000,\n    limit_max_bps=1000000,\n    limit_max_pps=50000,\n    limit_cpu_usage=80,\n    limit_mem_avail=1024)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dc1 = new F5BigIP.GtmDatacenter(\"dc1\", new()\n    {\n        Name = \"datacenter1\",\n    });\n\n    var limitedServer = new F5BigIP.GtmServer(\"limited_server\", new()\n    {\n        Name = \"resource_limited_server\",\n        Datacenter = dc1.Name,\n        Product = \"bigip\",\n        Addresses = new[]\n        {\n            new F5BigIP.Inputs.GtmServerAddressArgs\n            {\n                Name = \"10.40.40.40\",\n            },\n        },\n        Monitor = \"/Common/bigip\",\n        VirtualServerDiscovery = \"true\",\n        LimitMaxConnections = 10000,\n        LimitMaxBps = 1000000,\n        LimitMaxPps = 50000,\n        LimitCpuUsage = 80,\n        LimitMemAvail = 1024,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc1, err := f5bigip.NewGtmDatacenter(ctx, \"dc1\", \u0026f5bigip.GtmDatacenterArgs{\n\t\t\tName: pulumi.String(\"datacenter1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewGtmServer(ctx, \"limited_server\", \u0026f5bigip.GtmServerArgs{\n\t\t\tName:       pulumi.String(\"resource_limited_server\"),\n\t\t\tDatacenter: dc1.Name,\n\t\t\tProduct:    pulumi.String(\"bigip\"),\n\t\t\tAddresses: f5bigip.GtmServerAddressArray{\n\t\t\t\t\u0026f5bigip.GtmServerAddressArgs{\n\t\t\t\t\tName: pulumi.String(\"10.40.40.40\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMonitor:                pulumi.String(\"/Common/bigip\"),\n\t\t\tVirtualServerDiscovery: pulumi.String(\"true\"),\n\t\t\tLimitMaxConnections:    pulumi.Int(10000),\n\t\t\tLimitMaxBps:            pulumi.Int(1000000),\n\t\t\tLimitMaxPps:            pulumi.Int(50000),\n\t\t\tLimitCpuUsage:          pulumi.Int(80),\n\t\t\tLimitMemAvail:          pulumi.Int(1024),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmDatacenter;\nimport com.pulumi.f5bigip.GtmDatacenterArgs;\nimport com.pulumi.f5bigip.GtmServer;\nimport com.pulumi.f5bigip.GtmServerArgs;\nimport com.pulumi.f5bigip.inputs.GtmServerAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dc1 = new GtmDatacenter(\"dc1\", GtmDatacenterArgs.builder()\n            .name(\"datacenter1\")\n            .build());\n\n        var limitedServer = new GtmServer(\"limitedServer\", GtmServerArgs.builder()\n            .name(\"resource_limited_server\")\n            .datacenter(dc1.name())\n            .product(\"bigip\")\n            .addresses(GtmServerAddressArgs.builder()\n                .name(\"10.40.40.40\")\n                .build())\n            .monitor(\"/Common/bigip\")\n            .virtualServerDiscovery(\"true\")\n            .limitMaxConnections(10000)\n            .limitMaxBps(1000000)\n            .limitMaxPps(50000)\n            .limitCpuUsage(80)\n            .limitMemAvail(1024)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dc1:\n    type: f5bigip:GtmDatacenter\n    properties:\n      name: datacenter1\n  limitedServer:\n    type: f5bigip:GtmServer\n    name: limited_server\n    properties:\n      name: resource_limited_server\n      datacenter: ${dc1.name}\n      product: bigip\n      addresses:\n        - name: 10.40.40.40\n      monitor: /Common/bigip\n      virtualServerDiscovery: true\n      limitMaxConnections: 10000\n      limitMaxBps: 1e+06\n      limitMaxPps: 50000\n      limitCpuUsage: 80\n      limitMemAvail: 1024\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* When creating a GTM server of type \u003cspan pulumi-lang-nodejs=\"`bigip`\" pulumi-lang-dotnet=\"`Bigip`\" pulumi-lang-go=\"`bigip`\" pulumi-lang-python=\"`bigip`\" pulumi-lang-yaml=\"`bigip`\" pulumi-lang-java=\"`bigip`\"\u003e`bigip`\u003c/span\u003e, ensure that the BIG-IP device is accessible and properly configured for GTM communication.\n\n* Virtual server discovery requires proper iQuery communication between GTM systems.\n\n* Address translation is useful when servers are behind NAT.\n\n* Multiple addresses can be specified for servers with multiple network interfaces or for redundancy.\n\n* Resource limits help prevent a single server from consuming all available capacity in load balancing decisions.\n\n* Prober settings control how GTM monitors server health from different network locations.\n\n## Import\n\nGTM servers can be imported using the server name or full path:\n\n```sh\n$ pulumi import f5bigip:index/gtmServer:GtmServer example /Common/server1\n```\n\nor\n\n```sh\n$ pulumi import f5bigip:index/gtmServer:GtmServer example server1\n```\n\n","properties":{"addresses":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmServerAddress:GtmServerAddress"},"description":"List of IP addresses for the server. Each address block supports:\n"},"datacenter":{"type":"string","description":"The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., `/Common/datacenter1`).\n"},"description":{"type":"string","description":"Description of the GTM server"},"enabled":{"type":"boolean","description":"Enable or disable the GTM server"},"exposeRouteDomains":{"type":"boolean","description":"Allow GTM server to expose route domains. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"iqAllowPath":{"type":"boolean","description":"Enable iQuery path probing. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iqAllowServiceCheck":{"type":"boolean","description":"Enable iQuery service checking. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iqAllowSnmp":{"type":"boolean","description":"Enable iQuery SNMP. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"limitCpuUsage":{"type":"integer","description":"Maximum CPU usage allowed (percent). 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitCpuUsageStatus":{"type":"string","description":"CPU usage limit status.\n"},"limitMaxBps":{"type":"integer","description":"Maximum bits per second. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxBpsStatus":{"type":"string","description":"Maximum bps limit status.\n"},"limitMaxConnections":{"type":"integer","description":"Maximum concurrent connections. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxConnectionsStatus":{"type":"string","description":"Maximum connections limit status.\n"},"limitMaxPps":{"type":"integer","description":"Maximum packets per second. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxPpsStatus":{"type":"string","description":"Maximum pps limit status.\n"},"limitMemAvail":{"type":"integer","description":"Available memory limit (MB). 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMemAvailStatus":{"type":"string","description":"Available memory limit status.\n"},"linkDiscovery":{"type":"string","description":"Link discovery mode. Valid values:\n"},"monitor":{"type":"string","description":"Monitor assigned to check server health (e.g., `/Common/bigip`, `/Common/tcp`).\n"},"name":{"type":"string","description":"Name of the GTM server. Must be unique within the partition.\n"},"partition":{"type":"string","description":"Partition or tenant the server belongs to. Default is `Common`.\n"},"proberFallback":{"type":"string","description":"Fallback prober selection. Valid values:\n"},"proberPool":{"type":"string","description":"Prober pool to use when\u003cspan pulumi-lang-nodejs=\" proberPreference \" pulumi-lang-dotnet=\" ProberPreference \" pulumi-lang-go=\" proberPreference \" pulumi-lang-python=\" prober_preference \" pulumi-lang-yaml=\" proberPreference \" pulumi-lang-java=\" proberPreference \"\u003e prober_preference \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" proberFallback \" pulumi-lang-dotnet=\" ProberFallback \" pulumi-lang-go=\" proberFallback \" pulumi-lang-python=\" prober_fallback \" pulumi-lang-yaml=\" proberFallback \" pulumi-lang-java=\" proberFallback \"\u003e prober_fallback \u003c/span\u003eis set to pool"},"proberPreference":{"type":"string","description":"Preferred type of prober. Valid values:\n"},"product":{"type":"string","description":"Type of server. Valid values are:\n"},"virtualServerDiscovery":{"type":"string","description":"Enable or disable virtual server discovery. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.\n"},"virtualServers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmServerVirtualServer:GtmServerVirtualServer"},"description":"List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each\u003cspan pulumi-lang-nodejs=\" virtualServers \" pulumi-lang-dotnet=\" VirtualServers \" pulumi-lang-go=\" virtualServers \" pulumi-lang-python=\" virtual_servers \" pulumi-lang-yaml=\" virtualServers \" pulumi-lang-java=\" virtualServers \"\u003e virtual_servers \u003c/span\u003eblock supports:\n"}},"required":["datacenter","limitCpuUsageStatus","limitMaxBpsStatus","limitMaxConnectionsStatus","limitMaxPpsStatus","limitMemAvailStatus","monitor","name"],"inputProperties":{"addresses":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmServerAddress:GtmServerAddress"},"description":"List of IP addresses for the server. Each address block supports:\n"},"datacenter":{"type":"string","description":"The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., `/Common/datacenter1`).\n"},"description":{"type":"string","description":"Description of the GTM server"},"enabled":{"type":"boolean","description":"Enable or disable the GTM server"},"exposeRouteDomains":{"type":"boolean","description":"Allow GTM server to expose route domains. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"iqAllowPath":{"type":"boolean","description":"Enable iQuery path probing. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iqAllowServiceCheck":{"type":"boolean","description":"Enable iQuery service checking. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iqAllowSnmp":{"type":"boolean","description":"Enable iQuery SNMP. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"limitCpuUsage":{"type":"integer","description":"Maximum CPU usage allowed (percent). 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitCpuUsageStatus":{"type":"string","description":"CPU usage limit status.\n"},"limitMaxBps":{"type":"integer","description":"Maximum bits per second. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxBpsStatus":{"type":"string","description":"Maximum bps limit status.\n"},"limitMaxConnections":{"type":"integer","description":"Maximum concurrent connections. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxConnectionsStatus":{"type":"string","description":"Maximum connections limit status.\n"},"limitMaxPps":{"type":"integer","description":"Maximum packets per second. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxPpsStatus":{"type":"string","description":"Maximum pps limit status.\n"},"limitMemAvail":{"type":"integer","description":"Available memory limit (MB). 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMemAvailStatus":{"type":"string","description":"Available memory limit status.\n"},"linkDiscovery":{"type":"string","description":"Link discovery mode. Valid values:\n"},"monitor":{"type":"string","description":"Monitor assigned to check server health (e.g., `/Common/bigip`, `/Common/tcp`).\n"},"name":{"type":"string","description":"Name of the GTM server. Must be unique within the partition.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition or tenant the server belongs to. Default is `Common`.\n","willReplaceOnChanges":true},"proberFallback":{"type":"string","description":"Fallback prober selection. Valid values:\n"},"proberPool":{"type":"string","description":"Prober pool to use when\u003cspan pulumi-lang-nodejs=\" proberPreference \" pulumi-lang-dotnet=\" ProberPreference \" pulumi-lang-go=\" proberPreference \" pulumi-lang-python=\" prober_preference \" pulumi-lang-yaml=\" proberPreference \" pulumi-lang-java=\" proberPreference \"\u003e prober_preference \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" proberFallback \" pulumi-lang-dotnet=\" ProberFallback \" pulumi-lang-go=\" proberFallback \" pulumi-lang-python=\" prober_fallback \" pulumi-lang-yaml=\" proberFallback \" pulumi-lang-java=\" proberFallback \"\u003e prober_fallback \u003c/span\u003eis set to pool"},"proberPreference":{"type":"string","description":"Preferred type of prober. Valid values:\n"},"product":{"type":"string","description":"Type of server. Valid values are:\n"},"virtualServerDiscovery":{"type":"string","description":"Enable or disable virtual server discovery. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.\n"},"virtualServers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmServerVirtualServer:GtmServerVirtualServer"},"description":"List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each\u003cspan pulumi-lang-nodejs=\" virtualServers \" pulumi-lang-dotnet=\" VirtualServers \" pulumi-lang-go=\" virtualServers \" pulumi-lang-python=\" virtual_servers \" pulumi-lang-yaml=\" virtualServers \" pulumi-lang-java=\" virtualServers \"\u003e virtual_servers \u003c/span\u003eblock supports:\n"}},"requiredInputs":["datacenter","name"],"stateInputs":{"description":"Input properties used for looking up and filtering GtmServer resources.\n","properties":{"addresses":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmServerAddress:GtmServerAddress"},"description":"List of IP addresses for the server. Each address block supports:\n"},"datacenter":{"type":"string","description":"The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., `/Common/datacenter1`).\n"},"description":{"type":"string","description":"Description of the GTM server"},"enabled":{"type":"boolean","description":"Enable or disable the GTM server"},"exposeRouteDomains":{"type":"boolean","description":"Allow GTM server to expose route domains. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"iqAllowPath":{"type":"boolean","description":"Enable iQuery path probing. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iqAllowServiceCheck":{"type":"boolean","description":"Enable iQuery service checking. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"iqAllowSnmp":{"type":"boolean","description":"Enable iQuery SNMP. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"limitCpuUsage":{"type":"integer","description":"Maximum CPU usage allowed (percent). 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitCpuUsageStatus":{"type":"string","description":"CPU usage limit status.\n"},"limitMaxBps":{"type":"integer","description":"Maximum bits per second. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxBpsStatus":{"type":"string","description":"Maximum bps limit status.\n"},"limitMaxConnections":{"type":"integer","description":"Maximum concurrent connections. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxConnectionsStatus":{"type":"string","description":"Maximum connections limit status.\n"},"limitMaxPps":{"type":"integer","description":"Maximum packets per second. 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMaxPpsStatus":{"type":"string","description":"Maximum pps limit status.\n"},"limitMemAvail":{"type":"integer","description":"Available memory limit (MB). 0 means no limit. Default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"limitMemAvailStatus":{"type":"string","description":"Available memory limit status.\n"},"linkDiscovery":{"type":"string","description":"Link discovery mode. Valid values:\n"},"monitor":{"type":"string","description":"Monitor assigned to check server health (e.g., `/Common/bigip`, `/Common/tcp`).\n"},"name":{"type":"string","description":"Name of the GTM server. Must be unique within the partition.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition or tenant the server belongs to. Default is `Common`.\n","willReplaceOnChanges":true},"proberFallback":{"type":"string","description":"Fallback prober selection. Valid values:\n"},"proberPool":{"type":"string","description":"Prober pool to use when\u003cspan pulumi-lang-nodejs=\" proberPreference \" pulumi-lang-dotnet=\" ProberPreference \" pulumi-lang-go=\" proberPreference \" pulumi-lang-python=\" prober_preference \" pulumi-lang-yaml=\" proberPreference \" pulumi-lang-java=\" proberPreference \"\u003e prober_preference \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" proberFallback \" pulumi-lang-dotnet=\" ProberFallback \" pulumi-lang-go=\" proberFallback \" pulumi-lang-python=\" prober_fallback \" pulumi-lang-yaml=\" proberFallback \" pulumi-lang-java=\" proberFallback \"\u003e prober_fallback \u003c/span\u003eis set to pool"},"proberPreference":{"type":"string","description":"Preferred type of prober. Valid values:\n"},"product":{"type":"string","description":"Type of server. Valid values are:\n"},"virtualServerDiscovery":{"type":"string","description":"Enable or disable virtual server discovery. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.\n"},"virtualServers":{"type":"array","items":{"$ref":"#/types/f5bigip:index/GtmServerVirtualServer:GtmServerVirtualServer"},"description":"List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each\u003cspan pulumi-lang-nodejs=\" virtualServers \" pulumi-lang-dotnet=\" VirtualServers \" pulumi-lang-go=\" virtualServers \" pulumi-lang-python=\" virtual_servers \" pulumi-lang-yaml=\" virtualServers \" pulumi-lang-java=\" virtualServers \"\u003e virtual_servers \u003c/span\u003eblock supports:\n"}},"type":"object"}},"f5bigip:index/gtmWideip:GtmWideip":{"description":"## #\u003cspan pulumi-lang-nodejs=\" f5bigip.GtmWideip \" pulumi-lang-dotnet=\" f5bigip.GtmWideip \" pulumi-lang-go=\" GtmWideip \" pulumi-lang-python=\" GtmWideip \" pulumi-lang-yaml=\" f5bigip.GtmWideip \" pulumi-lang-java=\" f5bigip.GtmWideip \"\u003e f5bigip.GtmWideip \u003c/span\u003eResource\n\nProvides a BIG-IP GTM (Global Traffic Manager) WideIP resource. This resource allows you to configure and manage GTM WideIP objects on a BIG-IP system.\n\n## Description\n\nA WideIP is a DNS name that GTM resolves on behalf of an authoritative DNS server. WideIPs are the core objects in GTM that enable intelligent DNS-based load balancing and failover across multiple data centers.\n\nGTM WideIP types correspond to different DNS record types:\n- **a**: IPv4 address records\n- **aaaa**: IPv6 address records\n- **cname**: Canonical name records\n- **mx**: Mail exchange records\n- **naptr**: Naming authority pointer records\n- **srv**: Service locator records\n\n## Example Usage\n\n### Basic WideIP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst example = new f5bigip.GtmWideip(\"example\", {\n    name: \"testwideip.local\",\n    type: \"a\",\n    partition: \"Common\",\n    description: \"test_wideip_a\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nexample = f5bigip.GtmWideip(\"example\",\n    name=\"testwideip.local\",\n    type=\"a\",\n    partition=\"Common\",\n    description=\"test_wideip_a\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new F5BigIP.GtmWideip(\"example\", new()\n    {\n        Name = \"testwideip.local\",\n        Type = \"a\",\n        Partition = \"Common\",\n        Description = \"test_wideip_a\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmWideip(ctx, \"example\", \u0026f5bigip.GtmWideipArgs{\n\t\t\tName:        pulumi.String(\"testwideip.local\"),\n\t\t\tType:        pulumi.String(\"a\"),\n\t\t\tPartition:   pulumi.String(\"Common\"),\n\t\t\tDescription: pulumi.String(\"test_wideip_a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmWideip;\nimport com.pulumi.f5bigip.GtmWideipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new GtmWideip(\"example\", GtmWideipArgs.builder()\n            .name(\"testwideip.local\")\n            .type(\"a\")\n            .partition(\"Common\")\n            .description(\"test_wideip_a\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: f5bigip:GtmWideip\n    properties:\n      name: testwideip.local\n      type: a\n      partition: Common\n      description: test_wideip_a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### WideIP with Last Resort Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst withPool = new f5bigip.GtmWideip(\"with_pool\", {\n    name: \"app.example.com\",\n    type: \"a\",\n    partition: \"Common\",\n    description: \"Application WideIP\",\n    lastResortPool: \"a /Common/firstpool\",\n    poolLbMode: \"round-robin\",\n    minimalResponse: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nwith_pool = f5bigip.GtmWideip(\"with_pool\",\n    name=\"app.example.com\",\n    type=\"a\",\n    partition=\"Common\",\n    description=\"Application WideIP\",\n    last_resort_pool=\"a /Common/firstpool\",\n    pool_lb_mode=\"round-robin\",\n    minimal_response=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var withPool = new F5BigIP.GtmWideip(\"with_pool\", new()\n    {\n        Name = \"app.example.com\",\n        Type = \"a\",\n        Partition = \"Common\",\n        Description = \"Application WideIP\",\n        LastResortPool = \"a /Common/firstpool\",\n        PoolLbMode = \"round-robin\",\n        MinimalResponse = \"enabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmWideip(ctx, \"with_pool\", \u0026f5bigip.GtmWideipArgs{\n\t\t\tName:            pulumi.String(\"app.example.com\"),\n\t\t\tType:            pulumi.String(\"a\"),\n\t\t\tPartition:       pulumi.String(\"Common\"),\n\t\t\tDescription:     pulumi.String(\"Application WideIP\"),\n\t\t\tLastResortPool:  pulumi.String(\"a /Common/firstpool\"),\n\t\t\tPoolLbMode:      pulumi.String(\"round-robin\"),\n\t\t\tMinimalResponse: pulumi.String(\"enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmWideip;\nimport com.pulumi.f5bigip.GtmWideipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var withPool = new GtmWideip(\"withPool\", GtmWideipArgs.builder()\n            .name(\"app.example.com\")\n            .type(\"a\")\n            .partition(\"Common\")\n            .description(\"Application WideIP\")\n            .lastResortPool(\"a /Common/firstpool\")\n            .poolLbMode(\"round-robin\")\n            .minimalResponse(\"enabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  withPool:\n    type: f5bigip:GtmWideip\n    name: with_pool\n    properties:\n      name: app.example.com\n      type: a\n      partition: Common\n      description: Application WideIP\n      lastResortPool: a /Common/firstpool\n      poolLbMode: round-robin\n      minimalResponse: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Advanced WideIP Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst advanced = new f5bigip.GtmWideip(\"advanced\", {\n    name: \"advanced.example.com\",\n    type: \"a\",\n    partition: \"Common\",\n    description: \"Advanced WideIP configuration\",\n    enabled: true,\n    failureRcode: \"servfail\",\n    failureRcodeResponse: \"enabled\",\n    failureRcodeTtl: 300,\n    lastResortPool: \"a /Common/backup_pool\",\n    minimalResponse: \"disabled\",\n    persistCidrIpv4: 24,\n    persistCidrIpv6: 64,\n    persistence: \"enabled\",\n    poolLbMode: \"topology\",\n    ttlPersistence: 7200,\n    topologyPreferEdns0ClientSubnet: \"enabled\",\n    loadBalancingDecisionLogVerbosities: [\n        \"pool-selection\",\n        \"pool-member-selection\",\n    ],\n    aliases: [\n        \"app1.example.com\",\n        \"app2.example.com\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nadvanced = f5bigip.GtmWideip(\"advanced\",\n    name=\"advanced.example.com\",\n    type=\"a\",\n    partition=\"Common\",\n    description=\"Advanced WideIP configuration\",\n    enabled=True,\n    failure_rcode=\"servfail\",\n    failure_rcode_response=\"enabled\",\n    failure_rcode_ttl=300,\n    last_resort_pool=\"a /Common/backup_pool\",\n    minimal_response=\"disabled\",\n    persist_cidr_ipv4=24,\n    persist_cidr_ipv6=64,\n    persistence=\"enabled\",\n    pool_lb_mode=\"topology\",\n    ttl_persistence=7200,\n    topology_prefer_edns0_client_subnet=\"enabled\",\n    load_balancing_decision_log_verbosities=[\n        \"pool-selection\",\n        \"pool-member-selection\",\n    ],\n    aliases=[\n        \"app1.example.com\",\n        \"app2.example.com\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var advanced = new F5BigIP.GtmWideip(\"advanced\", new()\n    {\n        Name = \"advanced.example.com\",\n        Type = \"a\",\n        Partition = \"Common\",\n        Description = \"Advanced WideIP configuration\",\n        Enabled = true,\n        FailureRcode = \"servfail\",\n        FailureRcodeResponse = \"enabled\",\n        FailureRcodeTtl = 300,\n        LastResortPool = \"a /Common/backup_pool\",\n        MinimalResponse = \"disabled\",\n        PersistCidrIpv4 = 24,\n        PersistCidrIpv6 = 64,\n        Persistence = \"enabled\",\n        PoolLbMode = \"topology\",\n        TtlPersistence = 7200,\n        TopologyPreferEdns0ClientSubnet = \"enabled\",\n        LoadBalancingDecisionLogVerbosities = new[]\n        {\n            \"pool-selection\",\n            \"pool-member-selection\",\n        },\n        Aliases = new[]\n        {\n            \"app1.example.com\",\n            \"app2.example.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmWideip(ctx, \"advanced\", \u0026f5bigip.GtmWideipArgs{\n\t\t\tName:                            pulumi.String(\"advanced.example.com\"),\n\t\t\tType:                            pulumi.String(\"a\"),\n\t\t\tPartition:                       pulumi.String(\"Common\"),\n\t\t\tDescription:                     pulumi.String(\"Advanced WideIP configuration\"),\n\t\t\tEnabled:                         pulumi.Bool(true),\n\t\t\tFailureRcode:                    pulumi.String(\"servfail\"),\n\t\t\tFailureRcodeResponse:            pulumi.String(\"enabled\"),\n\t\t\tFailureRcodeTtl:                 pulumi.Int(300),\n\t\t\tLastResortPool:                  pulumi.String(\"a /Common/backup_pool\"),\n\t\t\tMinimalResponse:                 pulumi.String(\"disabled\"),\n\t\t\tPersistCidrIpv4:                 pulumi.Int(24),\n\t\t\tPersistCidrIpv6:                 pulumi.Int(64),\n\t\t\tPersistence:                     pulumi.String(\"enabled\"),\n\t\t\tPoolLbMode:                      pulumi.String(\"topology\"),\n\t\t\tTtlPersistence:                  pulumi.Int(7200),\n\t\t\tTopologyPreferEdns0ClientSubnet: pulumi.String(\"enabled\"),\n\t\t\tLoadBalancingDecisionLogVerbosities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"pool-selection\"),\n\t\t\t\tpulumi.String(\"pool-member-selection\"),\n\t\t\t},\n\t\t\tAliases: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"app1.example.com\"),\n\t\t\t\tpulumi.String(\"app2.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmWideip;\nimport com.pulumi.f5bigip.GtmWideipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var advanced = new GtmWideip(\"advanced\", GtmWideipArgs.builder()\n            .name(\"advanced.example.com\")\n            .type(\"a\")\n            .partition(\"Common\")\n            .description(\"Advanced WideIP configuration\")\n            .enabled(true)\n            .failureRcode(\"servfail\")\n            .failureRcodeResponse(\"enabled\")\n            .failureRcodeTtl(300)\n            .lastResortPool(\"a /Common/backup_pool\")\n            .minimalResponse(\"disabled\")\n            .persistCidrIpv4(24)\n            .persistCidrIpv6(64)\n            .persistence(\"enabled\")\n            .poolLbMode(\"topology\")\n            .ttlPersistence(7200)\n            .topologyPreferEdns0ClientSubnet(\"enabled\")\n            .loadBalancingDecisionLogVerbosities(            \n                \"pool-selection\",\n                \"pool-member-selection\")\n            .aliases(            \n                \"app1.example.com\",\n                \"app2.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  advanced:\n    type: f5bigip:GtmWideip\n    properties:\n      name: advanced.example.com\n      type: a\n      partition: Common\n      description: Advanced WideIP configuration\n      enabled: true\n      failureRcode: servfail\n      failureRcodeResponse: enabled\n      failureRcodeTtl: 300\n      lastResortPool: a /Common/backup_pool\n      minimalResponse: disabled\n      persistCidrIpv4: 24\n      persistCidrIpv6: 64\n      persistence: enabled\n      poolLbMode: topology\n      ttlPersistence: 7200\n      topologyPreferEdns0ClientSubnet: enabled\n      loadBalancingDecisionLogVerbosities:\n        - pool-selection\n        - pool-member-selection\n      aliases:\n        - app1.example.com\n        - app2.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IPv6 WideIP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst ipv6 = new f5bigip.GtmWideip(\"ipv6\", {\n    name: \"ipv6.example.com\",\n    type: \"aaaa\",\n    partition: \"Common\",\n    description: \"IPv6 WideIP\",\n    enabled: true,\n    poolLbMode: \"round-robin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nipv6 = f5bigip.GtmWideip(\"ipv6\",\n    name=\"ipv6.example.com\",\n    type=\"aaaa\",\n    partition=\"Common\",\n    description=\"IPv6 WideIP\",\n    enabled=True,\n    pool_lb_mode=\"round-robin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ipv6 = new F5BigIP.GtmWideip(\"ipv6\", new()\n    {\n        Name = \"ipv6.example.com\",\n        Type = \"aaaa\",\n        Partition = \"Common\",\n        Description = \"IPv6 WideIP\",\n        Enabled = true,\n        PoolLbMode = \"round-robin\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmWideip(ctx, \"ipv6\", \u0026f5bigip.GtmWideipArgs{\n\t\t\tName:        pulumi.String(\"ipv6.example.com\"),\n\t\t\tType:        pulumi.String(\"aaaa\"),\n\t\t\tPartition:   pulumi.String(\"Common\"),\n\t\t\tDescription: pulumi.String(\"IPv6 WideIP\"),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\tPoolLbMode:  pulumi.String(\"round-robin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmWideip;\nimport com.pulumi.f5bigip.GtmWideipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ipv6 = new GtmWideip(\"ipv6\", GtmWideipArgs.builder()\n            .name(\"ipv6.example.com\")\n            .type(\"aaaa\")\n            .partition(\"Common\")\n            .description(\"IPv6 WideIP\")\n            .enabled(true)\n            .poolLbMode(\"round-robin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ipv6:\n    type: f5bigip:GtmWideip\n    properties:\n      name: ipv6.example.com\n      type: aaaa\n      partition: Common\n      description: IPv6 WideIP\n      enabled: true\n      poolLbMode: round-robin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n### Pool Load Balancing Modes\n\nThe \u003cspan pulumi-lang-nodejs=\"`poolLbMode`\" pulumi-lang-dotnet=\"`PoolLbMode`\" pulumi-lang-go=\"`poolLbMode`\" pulumi-lang-python=\"`pool_lb_mode`\" pulumi-lang-yaml=\"`poolLbMode`\" pulumi-lang-java=\"`poolLbMode`\"\u003e`pool_lb_mode`\u003c/span\u003e determines how GTM distributes DNS queries across pools:\n\n- **round-robin**: Distributes queries equally across all available pools\n- **ratio**: Distributes queries based on pool ratios\n- **topology**: Uses topology records to determine the best pool\n- **global-availability**: Considers pool availability and load\n- **virtual-server-capacity**: Based on virtual server capacity\n- **least-connections**: Selects pool with fewest active connections\n- **lowest-round-trip-time**: Selects pool with lowest RTT\n- **fewest-hops**: Selects pool with fewest network hops\n- **packet-rate**: Based on packet transmission rate\n- **cpu**: Based on CPU utilization\n- **completion-rate**: Based on connection completion rate\n- **quality-of-service**: Based on QoS metrics\n- **kilobytes-per-second**: Based on throughput\n- **drop-packet**: Drops DNS packets (used for testing)\n- **fallback-ip**: Returns a fallback IP address\n- **virtual-server-score**: Based on virtual server scores\n\n### Last Resort Pool Format\n\nThe \u003cspan pulumi-lang-nodejs=\"`lastResortPool`\" pulumi-lang-dotnet=\"`LastResortPool`\" pulumi-lang-go=\"`lastResortPool`\" pulumi-lang-python=\"`last_resort_pool`\" pulumi-lang-yaml=\"`lastResortPool`\" pulumi-lang-java=\"`lastResortPool`\"\u003e`last_resort_pool`\u003c/span\u003e must be specified in the format: `\u003ctype\u003e \u003cpartition\u003e/\u003cpool_name\u003e`\n\nExamples:\n- `a /Common/firstpool` - IPv4 pool\n- `aaaa /Common/ipv6pool` - IPv6 pool\n- `cname /Prod/alias_pool` - CNAME pool\n\n### Persistence\n\nWhen persistence is enabled:\n- GTM maintains a mapping of client IP addresses to pool members\n- Subsequent requests from the same client are directed to the same destination\n- The \u003cspan pulumi-lang-nodejs=\"`persistCidrIpv4`\" pulumi-lang-dotnet=\"`PersistCidrIpv4`\" pulumi-lang-go=\"`persistCidrIpv4`\" pulumi-lang-python=\"`persist_cidr_ipv4`\" pulumi-lang-yaml=\"`persistCidrIpv4`\" pulumi-lang-java=\"`persistCidrIpv4`\"\u003e`persist_cidr_ipv4`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`persistCidrIpv6`\" pulumi-lang-dotnet=\"`PersistCidrIpv6`\" pulumi-lang-go=\"`persistCidrIpv6`\" pulumi-lang-python=\"`persist_cidr_ipv6`\" pulumi-lang-yaml=\"`persistCidrIpv6`\" pulumi-lang-java=\"`persistCidrIpv6`\"\u003e`persist_cidr_ipv6`\u003c/span\u003e settings determine the subnet mask used for grouping client IPs\n- Persistence records expire after \u003cspan pulumi-lang-nodejs=\"`ttlPersistence`\" pulumi-lang-dotnet=\"`TtlPersistence`\" pulumi-lang-go=\"`ttlPersistence`\" pulumi-lang-python=\"`ttl_persistence`\" pulumi-lang-yaml=\"`ttlPersistence`\" pulumi-lang-java=\"`ttlPersistence`\"\u003e`ttl_persistence`\u003c/span\u003e seconds\n\n### Failure RCODE Response\n\nWhen a WideIP becomes unavailable (all pools are down):\n- If \u003cspan pulumi-lang-nodejs=\"`failureRcodeResponse`\" pulumi-lang-dotnet=\"`FailureRcodeResponse`\" pulumi-lang-go=\"`failureRcodeResponse`\" pulumi-lang-python=\"`failure_rcode_response`\" pulumi-lang-yaml=\"`failureRcodeResponse`\" pulumi-lang-java=\"`failureRcodeResponse`\"\u003e`failure_rcode_response`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e: GTM returns no answer (NXDOMAIN)\n- If \u003cspan pulumi-lang-nodejs=\"`failureRcodeResponse`\" pulumi-lang-dotnet=\"`FailureRcodeResponse`\" pulumi-lang-go=\"`failureRcodeResponse`\" pulumi-lang-python=\"`failure_rcode_response`\" pulumi-lang-yaml=\"`failureRcodeResponse`\" pulumi-lang-java=\"`failureRcodeResponse`\"\u003e`failure_rcode_response`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e: GTM returns the specified \u003cspan pulumi-lang-nodejs=\"`failureRcode`\" pulumi-lang-dotnet=\"`FailureRcode`\" pulumi-lang-go=\"`failureRcode`\" pulumi-lang-python=\"`failure_rcode`\" pulumi-lang-yaml=\"`failureRcode`\" pulumi-lang-java=\"`failureRcode`\"\u003e`failure_rcode`\u003c/span\u003e\n\nCommon RCODE values:\n- **noerror**: No error (returns empty response)\n- **servfail**: Server failure\n- **nxdomain**: Non-existent domain\n- **refused**: Query refused\n\n### Aliases\n\nAliases allow you to specify alternate domain names for the same WideIP configuration. When a DNS query is made for any of the aliases, it is handled by the same WideIP configuration.\n\nExample:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst app = new f5bigip.GtmWideip(\"app\", {\n    name: \"app.example.com\",\n    type: \"a\",\n    aliases: [\n        \"app-alias1.example.com\",\n        \"app-alias2.example.com\",\n        \"app.backup.example.com\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\napp = f5bigip.GtmWideip(\"app\",\n    name=\"app.example.com\",\n    type=\"a\",\n    aliases=[\n        \"app-alias1.example.com\",\n        \"app-alias2.example.com\",\n        \"app.backup.example.com\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var app = new F5BigIP.GtmWideip(\"app\", new()\n    {\n        Name = \"app.example.com\",\n        Type = \"a\",\n        Aliases = new[]\n        {\n            \"app-alias1.example.com\",\n            \"app-alias2.example.com\",\n            \"app.backup.example.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewGtmWideip(ctx, \"app\", \u0026f5bigip.GtmWideipArgs{\n\t\t\tName: pulumi.String(\"app.example.com\"),\n\t\t\tType: pulumi.String(\"a\"),\n\t\t\tAliases: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"app-alias1.example.com\"),\n\t\t\t\tpulumi.String(\"app-alias2.example.com\"),\n\t\t\t\tpulumi.String(\"app.backup.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.GtmWideip;\nimport com.pulumi.f5bigip.GtmWideipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var app = new GtmWideip(\"app\", GtmWideipArgs.builder()\n            .name(\"app.example.com\")\n            .type(\"a\")\n            .aliases(            \n                \"app-alias1.example.com\",\n                \"app-alias2.example.com\",\n                \"app.backup.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  app:\n    type: f5bigip:GtmWideip\n    properties:\n      name: app.example.com\n      type: a\n      aliases:\n        - app-alias1.example.com\n        - app-alias2.example.com\n        - app.backup.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIn this example, DNS queries for `app.example.com`, `app-alias1.example.com`, `app-alias2.example.com`, or `app.backup.example.com` will all be handled by the same WideIP configuration.\n\n## API Endpoints\n\nThis resource interacts with the following BIG-IP API endpoints:\n\n- `GET /mgmt/tm/gtm/wideip/\u003ctype\u003e/\u003cname\u003e` - Read WideIP configuration\n- `POST /mgmt/tm/gtm/wideip/\u003ctype\u003e` - Create WideIP\n- `PUT /mgmt/tm/gtm/wideip/\u003ctype\u003e/\u003cname\u003e` - Update WideIP configuration\n- `DELETE /mgmt/tm/gtm/wideip/\u003ctype\u003e/\u003cname\u003e` - Delete WideIP\n\n## Related Resources\n\n- \u003cspan pulumi-lang-nodejs=\"`f5bigip.GtmPool`\" pulumi-lang-dotnet=\"`f5bigip.GtmPool`\" pulumi-lang-go=\"`GtmPool`\" pulumi-lang-python=\"`GtmPool`\" pulumi-lang-yaml=\"`f5bigip.GtmPool`\" pulumi-lang-java=\"`f5bigip.GtmPool`\"\u003e`f5bigip.GtmPool`\u003c/span\u003e - Manages GTM pools that can be referenced by WideIPs\n- \u003cspan pulumi-lang-nodejs=\"`f5bigip.GtmServer`\" pulumi-lang-dotnet=\"`f5bigip.GtmServer`\" pulumi-lang-go=\"`GtmServer`\" pulumi-lang-python=\"`GtmServer`\" pulumi-lang-yaml=\"`f5bigip.GtmServer`\" pulumi-lang-java=\"`f5bigip.GtmServer`\"\u003e`f5bigip.GtmServer`\u003c/span\u003e - Manages GTM servers that contain virtual servers\n- \u003cspan pulumi-lang-nodejs=\"`f5bigip.GtmDatacenter`\" pulumi-lang-dotnet=\"`f5bigip.GtmDatacenter`\" pulumi-lang-go=\"`GtmDatacenter`\" pulumi-lang-python=\"`GtmDatacenter`\" pulumi-lang-yaml=\"`f5bigip.GtmDatacenter`\" pulumi-lang-java=\"`f5bigip.GtmDatacenter`\"\u003e`f5bigip.GtmDatacenter`\u003c/span\u003e - Manages GTM data centers\n- \u003cspan pulumi-lang-nodejs=\"`bigipGtmTopology`\" pulumi-lang-dotnet=\"`BigipGtmTopology`\" pulumi-lang-go=\"`bigipGtmTopology`\" pulumi-lang-python=\"`bigip_gtm_topology`\" pulumi-lang-yaml=\"`bigipGtmTopology`\" pulumi-lang-java=\"`bigipGtmTopology`\"\u003e`bigip_gtm_topology`\u003c/span\u003e - Manages topology records for topology-based load balancing\n\n## Import\n\nGTM WideIP resources can be imported using the format `type:/partition/name`. For example:\n\n```sh\n$ pulumi import f5bigip:index/gtmWideip:GtmWideip example a:/Common/testwideip.local\n```\n\nAdditional import examples:\n\nImport an IPv6 WideIP\n\n```sh\n$ pulumi import f5bigip:index/gtmWideip:GtmWideip ipv6_example aaaa:/Common/ipv6.example.com\n```\n\nImport a CNAME WideIP\n\n```sh\n$ pulumi import f5bigip:index/gtmWideip:GtmWideip cname_example cname:/Common/alias.example.com\n```\n\nImport from a non-Common partition\n\n```sh\n$ pulumi import f5bigip:index/gtmWideip:GtmWideip prod_example a:/Production/app.example.com\n```\n\n","properties":{"aliases":{"type":"array","items":{"type":"string"},"description":"Specifies alternate domain names for the WideIP"},"description":{"type":"string","description":"User-defined description of the WideIP"},"disabled":{"type":"boolean","description":"Disabled state of the WideIP"},"enabled":{"type":"boolean","description":"Enable or disable the WideIP"},"failureRcode":{"type":"string","description":"Specifies the DNS RCODE used when\u003cspan pulumi-lang-nodejs=\" failureRcodeResponse \" pulumi-lang-dotnet=\" FailureRcodeResponse \" pulumi-lang-go=\" failureRcodeResponse \" pulumi-lang-python=\" failure_rcode_response \" pulumi-lang-yaml=\" failureRcodeResponse \" pulumi-lang-java=\" failureRcodeResponse \"\u003e failure_rcode_response \u003c/span\u003eis enabled (noerror, formerr, servfail, nxdomain, notimp, refused, yxdomain, yxrrset, nxrrset, notauth, notzone)"},"failureRcodeResponse":{"type":"string","description":"Specifies whether to return a RCODE response to DNS queries when the WideIP is unavailable (enabled or disabled)"},"failureRcodeTtl":{"type":"integer","description":"Specifies the negative caching TTL of the SOA for the RCODE response"},"lastResortPool":{"type":"string","description":"Specifies the last resort pool for the WideIP. Format: \u003ctype\u003e \u003cpartition\u003e/\u003cpool_name\u003e (e.g., 'a /Common/firstpool')"},"loadBalancingDecisionLogVerbosities":{"type":"array","items":{"type":"string"},"description":"Specifies the amount of detail logged when making load balancing decisions. Example: ['pool-selection']"},"minimalResponse":{"type":"string","description":"Specifies whether to minimize the response to the DNS query (enabled or disabled)"},"name":{"type":"string","description":"Name of the WideIP. Example: testwideip.local"},"partition":{"type":"string","description":"Partition in which the WideIP resides"},"persistCidrIpv4":{"type":"integer","description":"Specifies the CIDR for IPv4 persistence"},"persistCidrIpv6":{"type":"integer","description":"Specifies the CIDR for IPv6 persistence"},"persistence":{"type":"string","description":"Specifies persistence for the WideIP (disabled or enabled)"},"poolLbMode":{"type":"string","description":"Specifies the load balancing mode for pools in the WideIP (round-robin, ratio, topology, global-availability)"},"topologyPreferEdns0ClientSubnet":{"type":"string","description":"Specifies whether to prefer EDNS0 client subnet data for topology-based load balancing (enabled or disabled)"},"ttlPersistence":{"type":"integer","description":"Specifies the TTL for the persistence of the WideIP"},"type":{"type":"string","description":"Specifies the type of WideIP (a, aaaa, cname, mx, naptr, srv)"}},"required":["name","type"],"inputProperties":{"aliases":{"type":"array","items":{"type":"string"},"description":"Specifies alternate domain names for the WideIP"},"description":{"type":"string","description":"User-defined description of the WideIP"},"disabled":{"type":"boolean","description":"Disabled state of the WideIP"},"enabled":{"type":"boolean","description":"Enable or disable the WideIP"},"failureRcode":{"type":"string","description":"Specifies the DNS RCODE used when\u003cspan pulumi-lang-nodejs=\" failureRcodeResponse \" pulumi-lang-dotnet=\" FailureRcodeResponse \" pulumi-lang-go=\" failureRcodeResponse \" pulumi-lang-python=\" failure_rcode_response \" pulumi-lang-yaml=\" failureRcodeResponse \" pulumi-lang-java=\" failureRcodeResponse \"\u003e failure_rcode_response \u003c/span\u003eis enabled (noerror, formerr, servfail, nxdomain, notimp, refused, yxdomain, yxrrset, nxrrset, notauth, notzone)"},"failureRcodeResponse":{"type":"string","description":"Specifies whether to return a RCODE response to DNS queries when the WideIP is unavailable (enabled or disabled)"},"failureRcodeTtl":{"type":"integer","description":"Specifies the negative caching TTL of the SOA for the RCODE response"},"lastResortPool":{"type":"string","description":"Specifies the last resort pool for the WideIP. Format: \u003ctype\u003e \u003cpartition\u003e/\u003cpool_name\u003e (e.g., 'a /Common/firstpool')"},"loadBalancingDecisionLogVerbosities":{"type":"array","items":{"type":"string"},"description":"Specifies the amount of detail logged when making load balancing decisions. Example: ['pool-selection']"},"minimalResponse":{"type":"string","description":"Specifies whether to minimize the response to the DNS query (enabled or disabled)"},"name":{"type":"string","description":"Name of the WideIP. Example: testwideip.local","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition in which the WideIP resides"},"persistCidrIpv4":{"type":"integer","description":"Specifies the CIDR for IPv4 persistence"},"persistCidrIpv6":{"type":"integer","description":"Specifies the CIDR for IPv6 persistence"},"persistence":{"type":"string","description":"Specifies persistence for the WideIP (disabled or enabled)"},"poolLbMode":{"type":"string","description":"Specifies the load balancing mode for pools in the WideIP (round-robin, ratio, topology, global-availability)"},"topologyPreferEdns0ClientSubnet":{"type":"string","description":"Specifies whether to prefer EDNS0 client subnet data for topology-based load balancing (enabled or disabled)"},"ttlPersistence":{"type":"integer","description":"Specifies the TTL for the persistence of the WideIP"},"type":{"type":"string","description":"Specifies the type of WideIP (a, aaaa, cname, mx, naptr, srv)","willReplaceOnChanges":true}},"requiredInputs":["name","type"],"stateInputs":{"description":"Input properties used for looking up and filtering GtmWideip resources.\n","properties":{"aliases":{"type":"array","items":{"type":"string"},"description":"Specifies alternate domain names for the WideIP"},"description":{"type":"string","description":"User-defined description of the WideIP"},"disabled":{"type":"boolean","description":"Disabled state of the WideIP"},"enabled":{"type":"boolean","description":"Enable or disable the WideIP"},"failureRcode":{"type":"string","description":"Specifies the DNS RCODE used when\u003cspan pulumi-lang-nodejs=\" failureRcodeResponse \" pulumi-lang-dotnet=\" FailureRcodeResponse \" pulumi-lang-go=\" failureRcodeResponse \" pulumi-lang-python=\" failure_rcode_response \" pulumi-lang-yaml=\" failureRcodeResponse \" pulumi-lang-java=\" failureRcodeResponse \"\u003e failure_rcode_response \u003c/span\u003eis enabled (noerror, formerr, servfail, nxdomain, notimp, refused, yxdomain, yxrrset, nxrrset, notauth, notzone)"},"failureRcodeResponse":{"type":"string","description":"Specifies whether to return a RCODE response to DNS queries when the WideIP is unavailable (enabled or disabled)"},"failureRcodeTtl":{"type":"integer","description":"Specifies the negative caching TTL of the SOA for the RCODE response"},"lastResortPool":{"type":"string","description":"Specifies the last resort pool for the WideIP. Format: \u003ctype\u003e \u003cpartition\u003e/\u003cpool_name\u003e (e.g., 'a /Common/firstpool')"},"loadBalancingDecisionLogVerbosities":{"type":"array","items":{"type":"string"},"description":"Specifies the amount of detail logged when making load balancing decisions. Example: ['pool-selection']"},"minimalResponse":{"type":"string","description":"Specifies whether to minimize the response to the DNS query (enabled or disabled)"},"name":{"type":"string","description":"Name of the WideIP. Example: testwideip.local","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition in which the WideIP resides"},"persistCidrIpv4":{"type":"integer","description":"Specifies the CIDR for IPv4 persistence"},"persistCidrIpv6":{"type":"integer","description":"Specifies the CIDR for IPv6 persistence"},"persistence":{"type":"string","description":"Specifies persistence for the WideIP (disabled or enabled)"},"poolLbMode":{"type":"string","description":"Specifies the load balancing mode for pools in the WideIP (round-robin, ratio, topology, global-availability)"},"topologyPreferEdns0ClientSubnet":{"type":"string","description":"Specifies whether to prefer EDNS0 client subnet data for topology-based load balancing (enabled or disabled)"},"ttlPersistence":{"type":"integer","description":"Specifies the TTL for the persistence of the WideIP"},"type":{"type":"string","description":"Specifies the type of WideIP (a, aaaa, cname, mx, naptr, srv)","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:index/ipsecPolicy:IpsecPolicy":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.IpsecPolicy`\" pulumi-lang-dotnet=\"`f5bigip.IpsecPolicy`\" pulumi-lang-go=\"`IpsecPolicy`\" pulumi-lang-python=\"`IpsecPolicy`\" pulumi-lang-yaml=\"`f5bigip.IpsecPolicy`\" pulumi-lang-java=\"`f5bigip.IpsecPolicy`\"\u003e`f5bigip.IpsecPolicy`\u003c/span\u003e Manage IPSec policies on a BIG-IP\n\nResources should be named with their \"full path\". The full path is the combination of the partition + name (example: /Common/test-policy)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_policy = new f5bigip.IpsecPolicy(\"test-policy\", {\n    name: \"/Common/test-policy\",\n    description: \"created by terraform provider\",\n    protocol: \"esp\",\n    mode: \"tunnel\",\n    tunnelLocalAddress: \"192.168.1.1\",\n    tunnelRemoteAddress: \"10.10.1.1\",\n    authAlgorithm: \"sha1\",\n    encryptAlgorithm: \"3des\",\n    lifetime: 3,\n    ipcomp: \"deflate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_policy = f5bigip.IpsecPolicy(\"test-policy\",\n    name=\"/Common/test-policy\",\n    description=\"created by terraform provider\",\n    protocol=\"esp\",\n    mode=\"tunnel\",\n    tunnel_local_address=\"192.168.1.1\",\n    tunnel_remote_address=\"10.10.1.1\",\n    auth_algorithm=\"sha1\",\n    encrypt_algorithm=\"3des\",\n    lifetime=3,\n    ipcomp=\"deflate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_policy = new F5BigIP.IpsecPolicy(\"test-policy\", new()\n    {\n        Name = \"/Common/test-policy\",\n        Description = \"created by terraform provider\",\n        Protocol = \"esp\",\n        Mode = \"tunnel\",\n        TunnelLocalAddress = \"192.168.1.1\",\n        TunnelRemoteAddress = \"10.10.1.1\",\n        AuthAlgorithm = \"sha1\",\n        EncryptAlgorithm = \"3des\",\n        Lifetime = 3,\n        Ipcomp = \"deflate\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewIpsecPolicy(ctx, \"test-policy\", \u0026f5bigip.IpsecPolicyArgs{\n\t\t\tName:                pulumi.String(\"/Common/test-policy\"),\n\t\t\tDescription:         pulumi.String(\"created by terraform provider\"),\n\t\t\tProtocol:            pulumi.String(\"esp\"),\n\t\t\tMode:                pulumi.String(\"tunnel\"),\n\t\t\tTunnelLocalAddress:  pulumi.String(\"192.168.1.1\"),\n\t\t\tTunnelRemoteAddress: pulumi.String(\"10.10.1.1\"),\n\t\t\tAuthAlgorithm:       pulumi.String(\"sha1\"),\n\t\t\tEncryptAlgorithm:    pulumi.String(\"3des\"),\n\t\t\tLifetime:            pulumi.Int(3),\n\t\t\tIpcomp:              pulumi.String(\"deflate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.IpsecPolicy;\nimport com.pulumi.f5bigip.IpsecPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_policy = new IpsecPolicy(\"test-policy\", IpsecPolicyArgs.builder()\n            .name(\"/Common/test-policy\")\n            .description(\"created by terraform provider\")\n            .protocol(\"esp\")\n            .mode(\"tunnel\")\n            .tunnelLocalAddress(\"192.168.1.1\")\n            .tunnelRemoteAddress(\"10.10.1.1\")\n            .authAlgorithm(\"sha1\")\n            .encryptAlgorithm(\"3des\")\n            .lifetime(3)\n            .ipcomp(\"deflate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-policy:\n    type: f5bigip:IpsecPolicy\n    properties:\n      name: /Common/test-policy\n      description: created by terraform provider\n      protocol: esp\n      mode: tunnel\n      tunnelLocalAddress: 192.168.1.1\n      tunnelRemoteAddress: 10.10.1.1\n      authAlgorithm: sha1\n      encryptAlgorithm: 3des\n      lifetime: 3\n      ipcomp: deflate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"authAlgorithm":{"type":"string","description":"Specifies the algorithm to use for IKE authentication. Valid choices are: `sha1, sha256, sha384, sha512, aes-gcm128,\naes-gcm192, aes-gcm256, aes-gmac128, aes-gmac192, aes-gmac256`\n"},"description":{"type":"string","description":"Description of the IPSec policy.\n"},"encryptAlgorithm":{"type":"string","description":"Specifies the algorithm to use for IKE encryption. Valid choices are: `null, 3des, aes128, aes192, aes256, aes-gmac256,\naes-gmac192, aes-gmac128, aes-gcm256, aes-gcm192, aes-gcm256, aes-gcm128`\n"},"ipcomp":{"type":"string","description":"Specifies whether to use IPComp encapsulation. Valid choices are: `none\", null\", deflate`\n"},"kbLifetime":{"type":"integer","description":"Specifies the length of time before the IKE security association expires, in kilobytes.\n"},"lifetime":{"type":"integer","description":"Specifies the length of time before the IKE security association expires, in minutes.\n"},"mode":{"type":"string","description":"Specifies the processing mode. Valid choices are: `transport, interface, isession, tunnel`\n"},"name":{"type":"string","description":"Name of the IPSec policy,it should be \"full path\".The full path is the combination of the partition + name of the IPSec policy.(For example `/Common/test-policy`)\n"},"perfectForwardSecrecy":{"type":"string","description":"Specifies the Diffie-Hellman group to use for IKE Phase 2 negotiation. Valid choices are: `none, modp768, modp1024, modp1536, modp2048, modp3072,\nmodp4096, modp6144, modp8192`\n"},"protocol":{"type":"string","description":"Specifies the IPsec protocol. Valid choices are: `ah, esp`\n"},"tunnelLocalAddress":{"type":"string","description":"Specifies the local endpoint IP address of the IPsec tunnel. This parameter is only valid when mode is tunnel.\n"},"tunnelRemoteAddress":{"type":"string","description":"Specifies the remote endpoint IP address of the IPsec tunnel. This parameter is only valid when mode is tunnel.\n"}},"required":["authAlgorithm","description","encryptAlgorithm","ipcomp","kbLifetime","lifetime","mode","name","perfectForwardSecrecy","protocol","tunnelLocalAddress","tunnelRemoteAddress"],"inputProperties":{"authAlgorithm":{"type":"string","description":"Specifies the algorithm to use for IKE authentication. Valid choices are: `sha1, sha256, sha384, sha512, aes-gcm128,\naes-gcm192, aes-gcm256, aes-gmac128, aes-gmac192, aes-gmac256`\n"},"description":{"type":"string","description":"Description of the IPSec policy.\n"},"encryptAlgorithm":{"type":"string","description":"Specifies the algorithm to use for IKE encryption. Valid choices are: `null, 3des, aes128, aes192, aes256, aes-gmac256,\naes-gmac192, aes-gmac128, aes-gcm256, aes-gcm192, aes-gcm256, aes-gcm128`\n"},"ipcomp":{"type":"string","description":"Specifies whether to use IPComp encapsulation. Valid choices are: `none\", null\", deflate`\n"},"kbLifetime":{"type":"integer","description":"Specifies the length of time before the IKE security association expires, in kilobytes.\n"},"lifetime":{"type":"integer","description":"Specifies the length of time before the IKE security association expires, in minutes.\n"},"mode":{"type":"string","description":"Specifies the processing mode. Valid choices are: `transport, interface, isession, tunnel`\n"},"name":{"type":"string","description":"Name of the IPSec policy,it should be \"full path\".The full path is the combination of the partition + name of the IPSec policy.(For example `/Common/test-policy`)\n","willReplaceOnChanges":true},"perfectForwardSecrecy":{"type":"string","description":"Specifies the Diffie-Hellman group to use for IKE Phase 2 negotiation. Valid choices are: `none, modp768, modp1024, modp1536, modp2048, modp3072,\nmodp4096, modp6144, modp8192`\n"},"protocol":{"type":"string","description":"Specifies the IPsec protocol. Valid choices are: `ah, esp`\n"},"tunnelLocalAddress":{"type":"string","description":"Specifies the local endpoint IP address of the IPsec tunnel. This parameter is only valid when mode is tunnel.\n"},"tunnelRemoteAddress":{"type":"string","description":"Specifies the remote endpoint IP address of the IPsec tunnel. This parameter is only valid when mode is tunnel.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering IpsecPolicy resources.\n","properties":{"authAlgorithm":{"type":"string","description":"Specifies the algorithm to use for IKE authentication. Valid choices are: `sha1, sha256, sha384, sha512, aes-gcm128,\naes-gcm192, aes-gcm256, aes-gmac128, aes-gmac192, aes-gmac256`\n"},"description":{"type":"string","description":"Description of the IPSec policy.\n"},"encryptAlgorithm":{"type":"string","description":"Specifies the algorithm to use for IKE encryption. Valid choices are: `null, 3des, aes128, aes192, aes256, aes-gmac256,\naes-gmac192, aes-gmac128, aes-gcm256, aes-gcm192, aes-gcm256, aes-gcm128`\n"},"ipcomp":{"type":"string","description":"Specifies whether to use IPComp encapsulation. Valid choices are: `none\", null\", deflate`\n"},"kbLifetime":{"type":"integer","description":"Specifies the length of time before the IKE security association expires, in kilobytes.\n"},"lifetime":{"type":"integer","description":"Specifies the length of time before the IKE security association expires, in minutes.\n"},"mode":{"type":"string","description":"Specifies the processing mode. Valid choices are: `transport, interface, isession, tunnel`\n"},"name":{"type":"string","description":"Name of the IPSec policy,it should be \"full path\".The full path is the combination of the partition + name of the IPSec policy.(For example `/Common/test-policy`)\n","willReplaceOnChanges":true},"perfectForwardSecrecy":{"type":"string","description":"Specifies the Diffie-Hellman group to use for IKE Phase 2 negotiation. Valid choices are: `none, modp768, modp1024, modp1536, modp2048, modp3072,\nmodp4096, modp6144, modp8192`\n"},"protocol":{"type":"string","description":"Specifies the IPsec protocol. Valid choices are: `ah, esp`\n"},"tunnelLocalAddress":{"type":"string","description":"Specifies the local endpoint IP address of the IPsec tunnel. This parameter is only valid when mode is tunnel.\n"},"tunnelRemoteAddress":{"type":"string","description":"Specifies the remote endpoint IP address of the IPsec tunnel. This parameter is only valid when mode is tunnel.\n"}},"type":"object"}},"f5bigip:index/ipsecProfile:IpsecProfile":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.IpsecProfile`\" pulumi-lang-dotnet=\"`f5bigip.IpsecProfile`\" pulumi-lang-go=\"`IpsecProfile`\" pulumi-lang-python=\"`IpsecProfile`\" pulumi-lang-yaml=\"`f5bigip.IpsecProfile`\" pulumi-lang-java=\"`f5bigip.IpsecProfile`\"\u003e`f5bigip.IpsecProfile`\u003c/span\u003e Manage IPSec Profiles on a BIG-IP\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst azurevWANProfile = new f5bigip.IpsecProfile(\"azurevWAN_profile\", {\n    name: \"/Common/Mytestipsecprofile\",\n    description: \"mytestipsecprofile\",\n    trafficSelector: \"test-trafficselector\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nazurev_wan_profile = f5bigip.IpsecProfile(\"azurevWAN_profile\",\n    name=\"/Common/Mytestipsecprofile\",\n    description=\"mytestipsecprofile\",\n    traffic_selector=\"test-trafficselector\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var azurevWANProfile = new F5BigIP.IpsecProfile(\"azurevWAN_profile\", new()\n    {\n        Name = \"/Common/Mytestipsecprofile\",\n        Description = \"mytestipsecprofile\",\n        TrafficSelector = \"test-trafficselector\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewIpsecProfile(ctx, \"azurevWAN_profile\", \u0026f5bigip.IpsecProfileArgs{\n\t\t\tName:            pulumi.String(\"/Common/Mytestipsecprofile\"),\n\t\t\tDescription:     pulumi.String(\"mytestipsecprofile\"),\n\t\t\tTrafficSelector: pulumi.String(\"test-trafficselector\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.IpsecProfile;\nimport com.pulumi.f5bigip.IpsecProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var azurevWANProfile = new IpsecProfile(\"azurevWANProfile\", IpsecProfileArgs.builder()\n            .name(\"/Common/Mytestipsecprofile\")\n            .description(\"mytestipsecprofile\")\n            .trafficSelector(\"test-trafficselector\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  azurevWANProfile:\n    type: f5bigip:IpsecProfile\n    name: azurevWAN_profile\n    properties:\n      name: /Common/Mytestipsecprofile\n      description: mytestipsecprofile\n      trafficSelector: test-trafficselector\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"Specifies descriptive text that identifies the IPsec interface tunnel profile.\n"},"name":{"type":"string","description":"Displays the name of the IPsec interface tunnel profile,it should be \"full path\".The full path is the combination of the partition + name of the IPSec profile.(For example `/Common/test-profile`)\n"},"parentProfile":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `/Common/ipsec` profile\n"},"trafficSelector":{"type":"string","description":"Specifies the traffic selector for the IPsec interface tunnel to which the profile is applied\n"}},"required":["description","name","trafficSelector"],"inputProperties":{"description":{"type":"string","description":"Specifies descriptive text that identifies the IPsec interface tunnel profile.\n"},"name":{"type":"string","description":"Displays the name of the IPsec interface tunnel profile,it should be \"full path\".The full path is the combination of the partition + name of the IPSec profile.(For example `/Common/test-profile`)\n","willReplaceOnChanges":true},"parentProfile":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `/Common/ipsec` profile\n"},"trafficSelector":{"type":"string","description":"Specifies the traffic selector for the IPsec interface tunnel to which the profile is applied\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering IpsecProfile resources.\n","properties":{"description":{"type":"string","description":"Specifies descriptive text that identifies the IPsec interface tunnel profile.\n"},"name":{"type":"string","description":"Displays the name of the IPsec interface tunnel profile,it should be \"full path\".The full path is the combination of the partition + name of the IPSec profile.(For example `/Common/test-profile`)\n","willReplaceOnChanges":true},"parentProfile":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `/Common/ipsec` profile\n"},"trafficSelector":{"type":"string","description":"Specifies the traffic selector for the IPsec interface tunnel to which the profile is applied\n"}},"type":"object"}},"f5bigip:index/netIkePeer:NetIkePeer":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.NetIkePeer`\" pulumi-lang-dotnet=\"`f5bigip.NetIkePeer`\" pulumi-lang-go=\"`NetIkePeer`\" pulumi-lang-python=\"`NetIkePeer`\" pulumi-lang-yaml=\"`f5bigip.NetIkePeer`\" pulumi-lang-java=\"`f5bigip.NetIkePeer`\"\u003e`f5bigip.NetIkePeer`\u003c/span\u003e Manages a\u003cspan pulumi-lang-nodejs=\" ikePeer \" pulumi-lang-dotnet=\" IkePeer \" pulumi-lang-go=\" ikePeer \" pulumi-lang-python=\" ike_peer \" pulumi-lang-yaml=\" ikePeer \" pulumi-lang-java=\" ikePeer \"\u003e ike_peer \u003c/span\u003econfiguration\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst example1 = new f5bigip.NetIkePeer(\"example1\", {\n    name: \"example1\",\n    localAddress: \"192.16.81.240\",\n    profile: \"/Common/dslite\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nexample1 = f5bigip.NetIkePeer(\"example1\",\n    name=\"example1\",\n    local_address=\"192.16.81.240\",\n    profile=\"/Common/dslite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example1 = new F5BigIP.NetIkePeer(\"example1\", new()\n    {\n        Name = \"example1\",\n        LocalAddress = \"192.16.81.240\",\n        Profile = \"/Common/dslite\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewNetIkePeer(ctx, \"example1\", \u0026f5bigip.NetIkePeerArgs{\n\t\t\tName:         pulumi.String(\"example1\"),\n\t\t\tLocalAddress: \"192.16.81.240\",\n\t\t\tProfile:      \"/Common/dslite\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.NetIkePeer;\nimport com.pulumi.f5bigip.NetIkePeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example1 = new NetIkePeer(\"example1\", NetIkePeerArgs.builder()\n            .name(\"example1\")\n            .localAddress(\"192.16.81.240\")\n            .profile(\"/Common/dslite\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example1:\n    type: f5bigip:NetIkePeer\n    properties:\n      name: example1\n      localAddress: 192.16.81.240\n      profile: /Common/dslite\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"appService":{"type":"string","description":"The application service that the object belongs to\n"},"caCertFile":{"type":"string","description":"the trusted root and intermediate certificate authorities\n"},"crlFile":{"type":"string","description":"Specifies the file name of the Certificate Revocation List. Only supported in IKEv1\n"},"description":{"type":"string","description":"User defined description\n"},"dpdDelay":{"type":"integer","description":"Specifies the number of seconds between Dead Peer Detection messages\n"},"generatePolicy":{"type":"string","description":"Enable or disable the generation of Security Policy Database entries(SPD) when the device is the responder of the IKE remote node\n"},"lifetime":{"type":"integer","description":"Defines the lifetime in minutes of an IKE SA which will be proposed in the phase 1 negotiations\n"},"mode":{"type":"string","description":"Defines the exchange mode for phase 1 when racoon is the initiator, or the acceptable exchange mode when racoon is the responder\n"},"myCertFile":{"type":"string","description":"Specifies the name of the certificate file object\n"},"myCertKeyFile":{"type":"string","description":"Specifies the name of the certificate key file object\n"},"myCertKeyPassphrase":{"type":"string","description":"Specifies the passphrase of the key used for my-cert-key-file\n"},"myIdType":{"type":"string","description":"Specifies the identifier type sent to the remote host to use in the phase 1 negotiation\n"},"myIdValue":{"type":"string","description":"Specifies the identifier value sent to the remote host in the phase 1 negotiation\n"},"name":{"type":"string","description":"Name of the ike_peer\n"},"natTraversal":{"type":"string","description":"Enables use of the NAT-Traversal IPsec extension\n"},"passive":{"type":"string","description":"Specifies whether the local IKE agent can be the initiator of the IKE negotiation with this ike-peer\n"},"peersCertFile":{"type":"string","description":"Specifies the peer’s certificate for authentication\n"},"peersCertType":{"type":"string","description":"Specifies that the only peers-cert-type supported is certfile\n"},"peersIdType":{"type":"string","description":"Specifies which of address, fqdn, asn1dn, user-fqdn or keyid-tag types to use as peers-id-type\n"},"peersIdValue":{"type":"string","description":"Specifies the peer’s identifier to be received\n"},"phase1AuthMethod":{"type":"string","description":"Specifies the authentication method used for phase 1 negotiation\n"},"phase1EncryptAlgorithm":{"type":"string","description":"Specifies the encryption algorithm used for the isakmp phase 1 negotiation\n"},"phase1HashAlgorithm":{"type":"string","description":"Defines the hash algorithm used for the isakmp phase 1 negotiation\n"},"phase1PerfectForwardSecrecy":{"type":"string","description":"Defines the Diffie-Hellman group for key exchange to provide perfect forward secrecy\n"},"presharedKey":{"type":"string","description":"Specifies the preshared key for ISAKMP SAs\n"},"presharedKeyEncrypted":{"type":"string","description":"Display the encrypted preshared-key for the IKE remote node\n"},"prf":{"type":"string","description":"Specifies the pseudo-random function used to derive keying material for all cryptographic operations\n"},"proxySupport":{"type":"string","description":"If this value is enabled, both values of ID payloads in the phase 2 exchange are used as the addresses of end-point of IPsec-SAs\n"},"remoteAddress":{"type":"string","description":"Specifies the IP address of the IKE remote node\n"},"replayWindowSize":{"type":"integer","description":"Specifies the replay window size of the IPsec SAs negotiated with the IKE remote node\n"},"state":{"type":"string","description":"Enables or disables this IKE remote node\n"},"trafficSelectors":{"type":"array","items":{"type":"string"},"description":"Specifies the names of the traffic-selector objects associated with this ike-peer\n"},"verifyCert":{"type":"string","description":"Specifies whether to verify the certificate chain of the remote peer based on the trusted certificates in ca-cert-file\n"},"versions":{"type":"array","items":{"type":"string"},"description":"Specifies which version of IKE to be used\n"}},"required":["caCertFile","crlFile","description","dpdDelay","generatePolicy","lifetime","mode","myCertFile","myCertKeyFile","myCertKeyPassphrase","myIdType","myIdValue","name","natTraversal","passive","peersCertFile","peersCertType","peersIdType","peersIdValue","phase1AuthMethod","phase1EncryptAlgorithm","phase1HashAlgorithm","phase1PerfectForwardSecrecy","presharedKeyEncrypted","prf","proxySupport","remoteAddress","replayWindowSize","state","trafficSelectors","verifyCert","versions"],"inputProperties":{"appService":{"type":"string","description":"The application service that the object belongs to\n"},"caCertFile":{"type":"string","description":"the trusted root and intermediate certificate authorities\n"},"crlFile":{"type":"string","description":"Specifies the file name of the Certificate Revocation List. Only supported in IKEv1\n"},"description":{"type":"string","description":"User defined description\n"},"dpdDelay":{"type":"integer","description":"Specifies the number of seconds between Dead Peer Detection messages\n"},"generatePolicy":{"type":"string","description":"Enable or disable the generation of Security Policy Database entries(SPD) when the device is the responder of the IKE remote node\n"},"lifetime":{"type":"integer","description":"Defines the lifetime in minutes of an IKE SA which will be proposed in the phase 1 negotiations\n"},"mode":{"type":"string","description":"Defines the exchange mode for phase 1 when racoon is the initiator, or the acceptable exchange mode when racoon is the responder\n"},"myCertFile":{"type":"string","description":"Specifies the name of the certificate file object\n"},"myCertKeyFile":{"type":"string","description":"Specifies the name of the certificate key file object\n"},"myCertKeyPassphrase":{"type":"string","description":"Specifies the passphrase of the key used for my-cert-key-file\n"},"myIdType":{"type":"string","description":"Specifies the identifier type sent to the remote host to use in the phase 1 negotiation\n"},"myIdValue":{"type":"string","description":"Specifies the identifier value sent to the remote host in the phase 1 negotiation\n"},"name":{"type":"string","description":"Name of the ike_peer\n","willReplaceOnChanges":true},"natTraversal":{"type":"string","description":"Enables use of the NAT-Traversal IPsec extension\n"},"passive":{"type":"string","description":"Specifies whether the local IKE agent can be the initiator of the IKE negotiation with this ike-peer\n"},"peersCertFile":{"type":"string","description":"Specifies the peer’s certificate for authentication\n"},"peersCertType":{"type":"string","description":"Specifies that the only peers-cert-type supported is certfile\n"},"peersIdType":{"type":"string","description":"Specifies which of address, fqdn, asn1dn, user-fqdn or keyid-tag types to use as peers-id-type\n"},"peersIdValue":{"type":"string","description":"Specifies the peer’s identifier to be received\n"},"phase1AuthMethod":{"type":"string","description":"Specifies the authentication method used for phase 1 negotiation\n"},"phase1EncryptAlgorithm":{"type":"string","description":"Specifies the encryption algorithm used for the isakmp phase 1 negotiation\n"},"phase1HashAlgorithm":{"type":"string","description":"Defines the hash algorithm used for the isakmp phase 1 negotiation\n"},"phase1PerfectForwardSecrecy":{"type":"string","description":"Defines the Diffie-Hellman group for key exchange to provide perfect forward secrecy\n"},"presharedKey":{"type":"string","description":"Specifies the preshared key for ISAKMP SAs\n"},"presharedKeyEncrypted":{"type":"string","description":"Display the encrypted preshared-key for the IKE remote node\n"},"prf":{"type":"string","description":"Specifies the pseudo-random function used to derive keying material for all cryptographic operations\n"},"proxySupport":{"type":"string","description":"If this value is enabled, both values of ID payloads in the phase 2 exchange are used as the addresses of end-point of IPsec-SAs\n"},"remoteAddress":{"type":"string","description":"Specifies the IP address of the IKE remote node\n"},"replayWindowSize":{"type":"integer","description":"Specifies the replay window size of the IPsec SAs negotiated with the IKE remote node\n"},"state":{"type":"string","description":"Enables or disables this IKE remote node\n"},"trafficSelectors":{"type":"array","items":{"type":"string"},"description":"Specifies the names of the traffic-selector objects associated with this ike-peer\n"},"verifyCert":{"type":"string","description":"Specifies whether to verify the certificate chain of the remote peer based on the trusted certificates in ca-cert-file\n"},"versions":{"type":"array","items":{"type":"string"},"description":"Specifies which version of IKE to be used\n"}},"requiredInputs":["name","remoteAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering NetIkePeer resources.\n","properties":{"appService":{"type":"string","description":"The application service that the object belongs to\n"},"caCertFile":{"type":"string","description":"the trusted root and intermediate certificate authorities\n"},"crlFile":{"type":"string","description":"Specifies the file name of the Certificate Revocation List. Only supported in IKEv1\n"},"description":{"type":"string","description":"User defined description\n"},"dpdDelay":{"type":"integer","description":"Specifies the number of seconds between Dead Peer Detection messages\n"},"generatePolicy":{"type":"string","description":"Enable or disable the generation of Security Policy Database entries(SPD) when the device is the responder of the IKE remote node\n"},"lifetime":{"type":"integer","description":"Defines the lifetime in minutes of an IKE SA which will be proposed in the phase 1 negotiations\n"},"mode":{"type":"string","description":"Defines the exchange mode for phase 1 when racoon is the initiator, or the acceptable exchange mode when racoon is the responder\n"},"myCertFile":{"type":"string","description":"Specifies the name of the certificate file object\n"},"myCertKeyFile":{"type":"string","description":"Specifies the name of the certificate key file object\n"},"myCertKeyPassphrase":{"type":"string","description":"Specifies the passphrase of the key used for my-cert-key-file\n"},"myIdType":{"type":"string","description":"Specifies the identifier type sent to the remote host to use in the phase 1 negotiation\n"},"myIdValue":{"type":"string","description":"Specifies the identifier value sent to the remote host in the phase 1 negotiation\n"},"name":{"type":"string","description":"Name of the ike_peer\n","willReplaceOnChanges":true},"natTraversal":{"type":"string","description":"Enables use of the NAT-Traversal IPsec extension\n"},"passive":{"type":"string","description":"Specifies whether the local IKE agent can be the initiator of the IKE negotiation with this ike-peer\n"},"peersCertFile":{"type":"string","description":"Specifies the peer’s certificate for authentication\n"},"peersCertType":{"type":"string","description":"Specifies that the only peers-cert-type supported is certfile\n"},"peersIdType":{"type":"string","description":"Specifies which of address, fqdn, asn1dn, user-fqdn or keyid-tag types to use as peers-id-type\n"},"peersIdValue":{"type":"string","description":"Specifies the peer’s identifier to be received\n"},"phase1AuthMethod":{"type":"string","description":"Specifies the authentication method used for phase 1 negotiation\n"},"phase1EncryptAlgorithm":{"type":"string","description":"Specifies the encryption algorithm used for the isakmp phase 1 negotiation\n"},"phase1HashAlgorithm":{"type":"string","description":"Defines the hash algorithm used for the isakmp phase 1 negotiation\n"},"phase1PerfectForwardSecrecy":{"type":"string","description":"Defines the Diffie-Hellman group for key exchange to provide perfect forward secrecy\n"},"presharedKey":{"type":"string","description":"Specifies the preshared key for ISAKMP SAs\n"},"presharedKeyEncrypted":{"type":"string","description":"Display the encrypted preshared-key for the IKE remote node\n"},"prf":{"type":"string","description":"Specifies the pseudo-random function used to derive keying material for all cryptographic operations\n"},"proxySupport":{"type":"string","description":"If this value is enabled, both values of ID payloads in the phase 2 exchange are used as the addresses of end-point of IPsec-SAs\n"},"remoteAddress":{"type":"string","description":"Specifies the IP address of the IKE remote node\n"},"replayWindowSize":{"type":"integer","description":"Specifies the replay window size of the IPsec SAs negotiated with the IKE remote node\n"},"state":{"type":"string","description":"Enables or disables this IKE remote node\n"},"trafficSelectors":{"type":"array","items":{"type":"string"},"description":"Specifies the names of the traffic-selector objects associated with this ike-peer\n"},"verifyCert":{"type":"string","description":"Specifies whether to verify the certificate chain of the remote peer based on the trusted certificates in ca-cert-file\n"},"versions":{"type":"array","items":{"type":"string"},"description":"Specifies which version of IKE to be used\n"}},"type":"object"}},"f5bigip:index/netTunnel:NetTunnel":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.NetTunnel`\" pulumi-lang-dotnet=\"`f5bigip.NetTunnel`\" pulumi-lang-go=\"`NetTunnel`\" pulumi-lang-python=\"`NetTunnel`\" pulumi-lang-yaml=\"`f5bigip.NetTunnel`\" pulumi-lang-java=\"`f5bigip.NetTunnel`\"\u003e`f5bigip.NetTunnel`\u003c/span\u003e Manages a tunnel configuration\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst example1 = new f5bigip.NetTunnel(\"example1\", {\n    name: \"example1\",\n    localAddress: \"192.16.81.240\",\n    profile: \"/Common/dslite\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nexample1 = f5bigip.NetTunnel(\"example1\",\n    name=\"example1\",\n    local_address=\"192.16.81.240\",\n    profile=\"/Common/dslite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example1 = new F5BigIP.NetTunnel(\"example1\", new()\n    {\n        Name = \"example1\",\n        LocalAddress = \"192.16.81.240\",\n        Profile = \"/Common/dslite\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewNetTunnel(ctx, \"example1\", \u0026f5bigip.NetTunnelArgs{\n\t\t\tName:         pulumi.String(\"example1\"),\n\t\t\tLocalAddress: pulumi.String(\"192.16.81.240\"),\n\t\t\tProfile:      pulumi.String(\"/Common/dslite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.NetTunnel;\nimport com.pulumi.f5bigip.NetTunnelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example1 = new NetTunnel(\"example1\", NetTunnelArgs.builder()\n            .name(\"example1\")\n            .localAddress(\"192.16.81.240\")\n            .profile(\"/Common/dslite\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example1:\n    type: f5bigip:NetTunnel\n    properties:\n      name: example1\n      localAddress: 192.16.81.240\n      profile: /Common/dslite\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"appService":{"type":"string","description":"The application service that the object belongs to\n"},"autoLastHop":{"type":"string","description":"Specifies whether auto lasthop is enabled or not\n"},"description":{"type":"string","description":"User defined description\n"},"idleTimeout":{"type":"integer","description":"Specifies an idle timeout for wildcard tunnels in seconds\n"},"key":{"type":"integer","description":"The key field may represent different values depending on the type of the tunnel\n"},"localAddress":{"type":"string","description":"Specifies a local IP address. This option is required\n"},"mode":{"type":"string","description":"Specifies how the tunnel carries traffic\n"},"mtu":{"type":"integer","description":"Specifies the maximum transmission unit (MTU) of the tunnel\n"},"name":{"type":"string","description":"Name of the tunnel\n"},"partition":{"type":"string","description":"Displays the admin-partition within which this component resides\n"},"profile":{"type":"string","description":"Specifies the profile that you want to associate with the tunnel\n"},"remoteAddress":{"type":"string","description":"Specifies a remote IP address\n"},"secondaryAddress":{"type":"string","description":"Specifies a secondary non-floating IP address when the local-address is set to a floating address\n"},"tos":{"type":"string","description":"Specifies a value for insertion into the Type of Service (ToS) octet within the IP header of the encapsulating header of transmitted packets\n"},"trafficGroup":{"type":"string","description":"Specifies a traffic-group for use with the tunnel\n"},"transparent":{"type":"string","description":"Enables or disables the tunnel to be transparent\n"},"usePmtu":{"type":"string","description":"Enables or disables the tunnel to use the PMTU (Path MTU) information provided by ICMP NeedFrag error messages\n"}},"required":["localAddress","name","profile"],"inputProperties":{"appService":{"type":"string","description":"The application service that the object belongs to\n"},"autoLastHop":{"type":"string","description":"Specifies whether auto lasthop is enabled or not\n"},"description":{"type":"string","description":"User defined description\n"},"idleTimeout":{"type":"integer","description":"Specifies an idle timeout for wildcard tunnels in seconds\n"},"key":{"type":"integer","description":"The key field may represent different values depending on the type of the tunnel\n"},"localAddress":{"type":"string","description":"Specifies a local IP address. This option is required\n"},"mode":{"type":"string","description":"Specifies how the tunnel carries traffic\n"},"mtu":{"type":"integer","description":"Specifies the maximum transmission unit (MTU) of the tunnel\n"},"name":{"type":"string","description":"Name of the tunnel\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Displays the admin-partition within which this component resides\n"},"profile":{"type":"string","description":"Specifies the profile that you want to associate with the tunnel\n"},"remoteAddress":{"type":"string","description":"Specifies a remote IP address\n"},"secondaryAddress":{"type":"string","description":"Specifies a secondary non-floating IP address when the local-address is set to a floating address\n"},"tos":{"type":"string","description":"Specifies a value for insertion into the Type of Service (ToS) octet within the IP header of the encapsulating header of transmitted packets\n"},"trafficGroup":{"type":"string","description":"Specifies a traffic-group for use with the tunnel\n"},"transparent":{"type":"string","description":"Enables or disables the tunnel to be transparent\n"},"usePmtu":{"type":"string","description":"Enables or disables the tunnel to use the PMTU (Path MTU) information provided by ICMP NeedFrag error messages\n"}},"requiredInputs":["localAddress","name","profile"],"stateInputs":{"description":"Input properties used for looking up and filtering NetTunnel resources.\n","properties":{"appService":{"type":"string","description":"The application service that the object belongs to\n"},"autoLastHop":{"type":"string","description":"Specifies whether auto lasthop is enabled or not\n"},"description":{"type":"string","description":"User defined description\n"},"idleTimeout":{"type":"integer","description":"Specifies an idle timeout for wildcard tunnels in seconds\n"},"key":{"type":"integer","description":"The key field may represent different values depending on the type of the tunnel\n"},"localAddress":{"type":"string","description":"Specifies a local IP address. This option is required\n"},"mode":{"type":"string","description":"Specifies how the tunnel carries traffic\n"},"mtu":{"type":"integer","description":"Specifies the maximum transmission unit (MTU) of the tunnel\n"},"name":{"type":"string","description":"Name of the tunnel\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Displays the admin-partition within which this component resides\n"},"profile":{"type":"string","description":"Specifies the profile that you want to associate with the tunnel\n"},"remoteAddress":{"type":"string","description":"Specifies a remote IP address\n"},"secondaryAddress":{"type":"string","description":"Specifies a secondary non-floating IP address when the local-address is set to a floating address\n"},"tos":{"type":"string","description":"Specifies a value for insertion into the Type of Service (ToS) octet within the IP header of the encapsulating header of transmitted packets\n"},"trafficGroup":{"type":"string","description":"Specifies a traffic-group for use with the tunnel\n"},"transparent":{"type":"string","description":"Enables or disables the tunnel to be transparent\n"},"usePmtu":{"type":"string","description":"Enables or disables the tunnel to use the PMTU (Path MTU) information provided by ICMP NeedFrag error messages\n"}},"type":"object"}},"f5bigip:index/partition:Partition":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.Partition`\" pulumi-lang-dotnet=\"`f5bigip.Partition`\" pulumi-lang-go=\"`Partition`\" pulumi-lang-python=\"`Partition`\" pulumi-lang-yaml=\"`f5bigip.Partition`\" pulumi-lang-java=\"`f5bigip.Partition`\"\u003e`f5bigip.Partition`\u003c/span\u003e Manages F5 BIG-IP partitions\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_partition = new f5bigip.Partition(\"test-partition\", {\n    name: \"test-partition\",\n    description: \"created by terraform\",\n    routeDomainId: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_partition = f5bigip.Partition(\"test-partition\",\n    name=\"test-partition\",\n    description=\"created by terraform\",\n    route_domain_id=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_partition = new F5BigIP.Partition(\"test-partition\", new()\n    {\n        Name = \"test-partition\",\n        Description = \"created by terraform\",\n        RouteDomainId = 2,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewPartition(ctx, \"test-partition\", \u0026f5bigip.PartitionArgs{\n\t\t\tName:          pulumi.String(\"test-partition\"),\n\t\t\tDescription:   pulumi.String(\"created by terraform\"),\n\t\t\tRouteDomainId: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.Partition;\nimport com.pulumi.f5bigip.PartitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_partition = new Partition(\"test-partition\", PartitionArgs.builder()\n            .name(\"test-partition\")\n            .description(\"created by terraform\")\n            .routeDomainId(2)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-partition:\n    type: f5bigip:Partition\n    properties:\n      name: test-partition\n      description: created by terraform\n      routeDomainId: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing cipher group can be imported into this resource by supplying the cipher rule full path name ex : `/partition/name`\n\nAn example is below:\n\n```sh\n$ terraform import bigip_partition.test_partition test_partition\n\n```\n","properties":{"description":{"type":"string","description":"Description of the partition.\n"},"name":{"type":"string","description":"Name of the partition.\n"},"routeDomainId":{"type":"integer","description":"Route domain id of the partition.\n"}},"required":["name"],"inputProperties":{"description":{"type":"string","description":"Description of the partition.\n"},"name":{"type":"string","description":"Name of the partition.\n","willReplaceOnChanges":true},"routeDomainId":{"type":"integer","description":"Route domain id of the partition.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering Partition resources.\n","properties":{"description":{"type":"string","description":"Description of the partition.\n"},"name":{"type":"string","description":"Name of the partition.\n","willReplaceOnChanges":true},"routeDomainId":{"type":"integer","description":"Route domain id of the partition.\n"}},"type":"object"}},"f5bigip:index/saasBotDefenseProfile:SaasBotDefenseProfile":{"properties":{"apiKey":{"type":"string","description":"Specifies the API key, enter the value provided by F5 Support.","secret":true},"applicationId":{"type":"string","description":"Specifies the Bot Defense API application ID, enter the value provided by F5 Support","secret":true},"defaultsFrom":{"type":"string","description":"Distributed Cloud Services Bot Defense parent profile from which this profile will inherit settings."},"description":{"type":"string","description":"Specifies descriptive text that identifies the BD profile."},"name":{"type":"string","description":"Unique name for the Distributed Cloud Services Bot Defense profile"},"protectedEndpoints":{"type":"array","items":{"$ref":"#/types/f5bigip:index/SaasBotDefenseProfileProtectedEndpoint:SaasBotDefenseProfileProtectedEndpoint"},"description":"Use these settings to configure which pages on the website will be protected by BD"},"shapeProtectionPool":{"type":"string","description":"Specifies the web hostname to which API requests are made"},"sslProfile":{"type":"string","description":"Specifies a server-side SSL profile that is different from what the application pool uses"},"tenantId":{"type":"string","description":"Specifies the tenant ID, enter the value provided by F5 Support"}},"required":["apiKey","applicationId","description","name","protectedEndpoints","shapeProtectionPool","sslProfile","tenantId"],"inputProperties":{"apiKey":{"type":"string","description":"Specifies the API key, enter the value provided by F5 Support.","secret":true},"applicationId":{"type":"string","description":"Specifies the Bot Defense API application ID, enter the value provided by F5 Support","secret":true},"defaultsFrom":{"type":"string","description":"Distributed Cloud Services Bot Defense parent profile from which this profile will inherit settings."},"description":{"type":"string","description":"Specifies descriptive text that identifies the BD profile."},"name":{"type":"string","description":"Unique name for the Distributed Cloud Services Bot Defense profile","willReplaceOnChanges":true},"protectedEndpoints":{"type":"array","items":{"$ref":"#/types/f5bigip:index/SaasBotDefenseProfileProtectedEndpoint:SaasBotDefenseProfileProtectedEndpoint"},"description":"Use these settings to configure which pages on the website will be protected by BD"},"shapeProtectionPool":{"type":"string","description":"Specifies the web hostname to which API requests are made"},"sslProfile":{"type":"string","description":"Specifies a server-side SSL profile that is different from what the application pool uses"},"tenantId":{"type":"string","description":"Specifies the tenant ID, enter the value provided by F5 Support"}},"requiredInputs":["apiKey","applicationId","name","protectedEndpoints","shapeProtectionPool","sslProfile","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering SaasBotDefenseProfile resources.\n","properties":{"apiKey":{"type":"string","description":"Specifies the API key, enter the value provided by F5 Support.","secret":true},"applicationId":{"type":"string","description":"Specifies the Bot Defense API application ID, enter the value provided by F5 Support","secret":true},"defaultsFrom":{"type":"string","description":"Distributed Cloud Services Bot Defense parent profile from which this profile will inherit settings."},"description":{"type":"string","description":"Specifies descriptive text that identifies the BD profile."},"name":{"type":"string","description":"Unique name for the Distributed Cloud Services Bot Defense profile","willReplaceOnChanges":true},"protectedEndpoints":{"type":"array","items":{"$ref":"#/types/f5bigip:index/SaasBotDefenseProfileProtectedEndpoint:SaasBotDefenseProfileProtectedEndpoint"},"description":"Use these settings to configure which pages on the website will be protected by BD"},"shapeProtectionPool":{"type":"string","description":"Specifies the web hostname to which API requests are made"},"sslProfile":{"type":"string","description":"Specifies a server-side SSL profile that is different from what the application pool uses"},"tenantId":{"type":"string","description":"Specifies the tenant ID, enter the value provided by F5 Support"}},"type":"object"}},"f5bigip:index/sslKeyCert:SslKeyCert":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.SslKeyCert`\" pulumi-lang-dotnet=\"`f5bigip.SslKeyCert`\" pulumi-lang-go=\"`SslKeyCert`\" pulumi-lang-python=\"`SslKeyCert`\" pulumi-lang-yaml=\"`f5bigip.SslKeyCert`\" pulumi-lang-java=\"`f5bigip.SslKeyCert`\"\u003e`f5bigip.SslKeyCert`\u003c/span\u003e This resource will import SSL certificate and key on BIG-IP LTM. \nThe certificate and the key can be imported from files on the local disk, in PEM format\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nconst testkeycert = new f5bigip.SslKeyCert(\"testkeycert\", {\n    partition: \"Common\",\n    keyName: \"ssl-test-key\",\n    keyContent: std.file({\n        input: \"key.pem\",\n    }).then(invoke =\u003e invoke.result),\n    certName: \"ssl-test-cert\",\n    certContent: std.file({\n        input: \"certificate.pem\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\ntestkeycert = f5bigip.SslKeyCert(\"testkeycert\",\n    partition=\"Common\",\n    key_name=\"ssl-test-key\",\n    key_content=std.file(input=\"key.pem\").result,\n    cert_name=\"ssl-test-cert\",\n    cert_content=std.file(input=\"certificate.pem\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testkeycert = new F5BigIP.SslKeyCert(\"testkeycert\", new()\n    {\n        Partition = \"Common\",\n        KeyName = \"ssl-test-key\",\n        KeyContent = Std.File.Invoke(new()\n        {\n            Input = \"key.pem\",\n        }).Apply(invoke =\u003e invoke.Result),\n        CertName = \"ssl-test-cert\",\n        CertContent = Std.File.Invoke(new()\n        {\n            Input = \"certificate.pem\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"key.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewSslKeyCert(ctx, \"testkeycert\", \u0026f5bigip.SslKeyCertArgs{\n\t\t\tPartition:   pulumi.String(\"Common\"),\n\t\t\tKeyName:     pulumi.String(\"ssl-test-key\"),\n\t\t\tKeyContent:  pulumi.String(invokeFile.Result),\n\t\t\tCertName:    pulumi.String(\"ssl-test-cert\"),\n\t\t\tCertContent: pulumi.String(invokeFile1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.SslKeyCert;\nimport com.pulumi.f5bigip.SslKeyCertArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testkeycert = new SslKeyCert(\"testkeycert\", SslKeyCertArgs.builder()\n            .partition(\"Common\")\n            .keyName(\"ssl-test-key\")\n            .keyContent(StdFunctions.file(FileArgs.builder()\n                .input(\"key.pem\")\n                .build()).result())\n            .certName(\"ssl-test-cert\")\n            .certContent(StdFunctions.file(FileArgs.builder()\n                .input(\"certificate.pem\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testkeycert:\n    type: f5bigip:SslKeyCert\n    properties:\n      partition: Common\n      keyName: ssl-test-key\n      keyContent:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: key.pem\n          return: result\n      certName: ssl-test-cert\n      certContent:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: certificate.pem\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"certContent":{"type":"string","description":"Content of certificate on Local Disk,path of SSL certificate will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function.\n","secret":true},"certFullPath":{"type":"string","description":"full path of the SSL certificate on the BIGIP.\n"},"certMonitoringType":{"type":"string","description":"Specifies the type of monitoring used.\n"},"certName":{"type":"string","description":"Name of the SSL certificate to be Imported on to BIGIP.\n"},"certOcsp":{"type":"string","description":"Specifies the OCSP responder.\n"},"issuerCert":{"type":"string","description":"Specifies the issuer certificate.\n"},"keyContent":{"type":"string","description":"Content of SSL key on Local Disk,path of SSL key will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function.\n","secret":true},"keyFullPath":{"type":"string","description":"full path of the SSL key on the BIGIP.\n"},"keyName":{"type":"string","description":"Name of the SSL key to be Imported on to BIGIP.\n"},"partition":{"type":"string","description":"Partition on to SSL certificate and key to be imported.\n"},"passphrase":{"type":"string","description":"Passphrase on the SSL key.\n","secret":true}},"required":["certContent","certFullPath","certName","keyContent","keyFullPath","keyName"],"inputProperties":{"certContent":{"type":"string","description":"Content of certificate on Local Disk,path of SSL certificate will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function.\n","secret":true},"certFullPath":{"type":"string","description":"full path of the SSL certificate on the BIGIP.\n"},"certMonitoringType":{"type":"string","description":"Specifies the type of monitoring used.\n"},"certName":{"type":"string","description":"Name of the SSL certificate to be Imported on to BIGIP.\n","willReplaceOnChanges":true},"certOcsp":{"type":"string","description":"Specifies the OCSP responder.\n"},"issuerCert":{"type":"string","description":"Specifies the issuer certificate.\n"},"keyContent":{"type":"string","description":"Content of SSL key on Local Disk,path of SSL key will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function.\n","secret":true},"keyFullPath":{"type":"string","description":"full path of the SSL key on the BIGIP.\n"},"keyName":{"type":"string","description":"Name of the SSL key to be Imported on to BIGIP.\n"},"partition":{"type":"string","description":"Partition on to SSL certificate and key to be imported.\n"},"passphrase":{"type":"string","description":"Passphrase on the SSL key.\n","secret":true}},"requiredInputs":["certContent","certName","keyContent","keyName"],"stateInputs":{"description":"Input properties used for looking up and filtering SslKeyCert resources.\n","properties":{"certContent":{"type":"string","description":"Content of certificate on Local Disk,path of SSL certificate will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function.\n","secret":true},"certFullPath":{"type":"string","description":"full path of the SSL certificate on the BIGIP.\n"},"certMonitoringType":{"type":"string","description":"Specifies the type of monitoring used.\n"},"certName":{"type":"string","description":"Name of the SSL certificate to be Imported on to BIGIP.\n","willReplaceOnChanges":true},"certOcsp":{"type":"string","description":"Specifies the OCSP responder.\n"},"issuerCert":{"type":"string","description":"Specifies the issuer certificate.\n"},"keyContent":{"type":"string","description":"Content of SSL key on Local Disk,path of SSL key will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function.\n","secret":true},"keyFullPath":{"type":"string","description":"full path of the SSL key on the BIGIP.\n"},"keyName":{"type":"string","description":"Name of the SSL key to be Imported on to BIGIP.\n"},"partition":{"type":"string","description":"Partition on to SSL certificate and key to be imported.\n"},"passphrase":{"type":"string","description":"Passphrase on the SSL key.\n","secret":true}},"type":"object"}},"f5bigip:index/trafficSelector:TrafficSelector":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.TrafficSelector`\" pulumi-lang-dotnet=\"`f5bigip.TrafficSelector`\" pulumi-lang-go=\"`TrafficSelector`\" pulumi-lang-python=\"`TrafficSelector`\" pulumi-lang-yaml=\"`f5bigip.TrafficSelector`\" pulumi-lang-java=\"`f5bigip.TrafficSelector`\"\u003e`f5bigip.TrafficSelector`\u003c/span\u003e Manage IPSec Traffic Selectors on BIG-IP\n\nResources should be named with their \"full path\". The full path is the combination of the partition + name (example: /Common/test-selector)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_selector = new f5bigip.TrafficSelector(\"test-selector\", {\n    name: \"/Common/test-selector\",\n    destinationAddress: \"3.10.11.2/32\",\n    sourceAddress: \"2.10.11.12/32\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_selector = f5bigip.TrafficSelector(\"test-selector\",\n    name=\"/Common/test-selector\",\n    destination_address=\"3.10.11.2/32\",\n    source_address=\"2.10.11.12/32\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_selector = new F5BigIP.TrafficSelector(\"test-selector\", new()\n    {\n        Name = \"/Common/test-selector\",\n        DestinationAddress = \"3.10.11.2/32\",\n        SourceAddress = \"2.10.11.12/32\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewTrafficSelector(ctx, \"test-selector\", \u0026f5bigip.TrafficSelectorArgs{\n\t\t\tName:               pulumi.String(\"/Common/test-selector\"),\n\t\t\tDestinationAddress: pulumi.String(\"3.10.11.2/32\"),\n\t\t\tSourceAddress:      pulumi.String(\"2.10.11.12/32\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.TrafficSelector;\nimport com.pulumi.f5bigip.TrafficSelectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_selector = new TrafficSelector(\"test-selector\", TrafficSelectorArgs.builder()\n            .name(\"/Common/test-selector\")\n            .destinationAddress(\"3.10.11.2/32\")\n            .sourceAddress(\"2.10.11.12/32\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-selector:\n    type: f5bigip:TrafficSelector\n    properties:\n      name: /Common/test-selector\n      destinationAddress: 3.10.11.2/32\n      sourceAddress: 2.10.11.12/32\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"Description of the traffic selector.\n"},"destinationAddress":{"type":"string","description":"Specifies the host or network IP address to which the application traffic is destined.When creating a new traffic selector, this parameter is required.\n"},"destinationPort":{"type":"integer","description":"Specifies the IP port used by the application. The default value is `All Ports (0)`\n"},"direction":{"type":"string","description":"Specifies whether the traffic selector applies to inbound or outbound traffic, or both. The default value is `Both`.\n"},"ipProtocol":{"type":"integer","description":"Specifies the network protocol to use for this traffic. The default value is `All Protocols (255)`\n"},"ipsecPolicy":{"type":"string","description":"Specifies the IPsec policy that tells the BIG-IP system how to handle the packets.When creating a new traffic selector, if this parameter is not specified, the default is `default-ipsec-policy`.\n"},"name":{"type":"string","description":"Name of the IPSec traffic-selector,it should be \"full path\".The full path is the combination of the partition + name of the IPSec traffic-selector.(For example `/Common/test-selector`)\n"},"order":{"type":"integer","description":"Specifies the order in which traffic is matched, if traffic can be matched to multiple traffic selectors.Traffic is matched to the traffic selector with the highest priority (lowest order number).\nWhen creating a new traffic selector, if this parameter is not specified, the default is \u003cspan pulumi-lang-nodejs=\"`last`\" pulumi-lang-dotnet=\"`Last`\" pulumi-lang-go=\"`last`\" pulumi-lang-python=\"`last`\" pulumi-lang-yaml=\"`last`\" pulumi-lang-java=\"`last`\"\u003e`last`\u003c/span\u003e\n"},"sourceAddress":{"type":"string","description":"Specifies the host or network IP address from which the application traffic originates.When creating a new traffic selector, this parameter is required.\n"},"sourcePort":{"type":"integer","description":"Specifies the IP port used by the application. The default value is `All Ports (0)`.\n"}},"required":["description","destinationAddress","destinationPort","direction","ipProtocol","ipsecPolicy","name","order","sourceAddress","sourcePort"],"inputProperties":{"description":{"type":"string","description":"Description of the traffic selector.\n"},"destinationAddress":{"type":"string","description":"Specifies the host or network IP address to which the application traffic is destined.When creating a new traffic selector, this parameter is required.\n"},"destinationPort":{"type":"integer","description":"Specifies the IP port used by the application. The default value is `All Ports (0)`\n"},"direction":{"type":"string","description":"Specifies whether the traffic selector applies to inbound or outbound traffic, or both. The default value is `Both`.\n"},"ipProtocol":{"type":"integer","description":"Specifies the network protocol to use for this traffic. The default value is `All Protocols (255)`\n"},"ipsecPolicy":{"type":"string","description":"Specifies the IPsec policy that tells the BIG-IP system how to handle the packets.When creating a new traffic selector, if this parameter is not specified, the default is `default-ipsec-policy`.\n"},"name":{"type":"string","description":"Name of the IPSec traffic-selector,it should be \"full path\".The full path is the combination of the partition + name of the IPSec traffic-selector.(For example `/Common/test-selector`)\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"Specifies the order in which traffic is matched, if traffic can be matched to multiple traffic selectors.Traffic is matched to the traffic selector with the highest priority (lowest order number).\nWhen creating a new traffic selector, if this parameter is not specified, the default is \u003cspan pulumi-lang-nodejs=\"`last`\" pulumi-lang-dotnet=\"`Last`\" pulumi-lang-go=\"`last`\" pulumi-lang-python=\"`last`\" pulumi-lang-yaml=\"`last`\" pulumi-lang-java=\"`last`\"\u003e`last`\u003c/span\u003e\n"},"sourceAddress":{"type":"string","description":"Specifies the host or network IP address from which the application traffic originates.When creating a new traffic selector, this parameter is required.\n"},"sourcePort":{"type":"integer","description":"Specifies the IP port used by the application. The default value is `All Ports (0)`.\n"}},"requiredInputs":["destinationAddress","name","sourceAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering TrafficSelector resources.\n","properties":{"description":{"type":"string","description":"Description of the traffic selector.\n"},"destinationAddress":{"type":"string","description":"Specifies the host or network IP address to which the application traffic is destined.When creating a new traffic selector, this parameter is required.\n"},"destinationPort":{"type":"integer","description":"Specifies the IP port used by the application. The default value is `All Ports (0)`\n"},"direction":{"type":"string","description":"Specifies whether the traffic selector applies to inbound or outbound traffic, or both. The default value is `Both`.\n"},"ipProtocol":{"type":"integer","description":"Specifies the network protocol to use for this traffic. The default value is `All Protocols (255)`\n"},"ipsecPolicy":{"type":"string","description":"Specifies the IPsec policy that tells the BIG-IP system how to handle the packets.When creating a new traffic selector, if this parameter is not specified, the default is `default-ipsec-policy`.\n"},"name":{"type":"string","description":"Name of the IPSec traffic-selector,it should be \"full path\".The full path is the combination of the partition + name of the IPSec traffic-selector.(For example `/Common/test-selector`)\n","willReplaceOnChanges":true},"order":{"type":"integer","description":"Specifies the order in which traffic is matched, if traffic can be matched to multiple traffic selectors.Traffic is matched to the traffic selector with the highest priority (lowest order number).\nWhen creating a new traffic selector, if this parameter is not specified, the default is \u003cspan pulumi-lang-nodejs=\"`last`\" pulumi-lang-dotnet=\"`Last`\" pulumi-lang-go=\"`last`\" pulumi-lang-python=\"`last`\" pulumi-lang-yaml=\"`last`\" pulumi-lang-java=\"`last`\"\u003e`last`\u003c/span\u003e\n"},"sourceAddress":{"type":"string","description":"Specifies the host or network IP address from which the application traffic originates.When creating a new traffic selector, this parameter is required.\n"},"sourcePort":{"type":"integer","description":"Specifies the IP port used by the application. The default value is `All Ports (0)`.\n"}},"type":"object"}},"f5bigip:index/wafPolicy:WafPolicy":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.WafPolicy`\" pulumi-lang-dotnet=\"`f5bigip.WafPolicy`\" pulumi-lang-go=\"`WafPolicy`\" pulumi-lang-python=\"`WafPolicy`\" pulumi-lang-yaml=\"`f5bigip.WafPolicy`\" pulumi-lang-java=\"`f5bigip.WafPolicy`\"\u003e`f5bigip.WafPolicy`\u003c/span\u003e Manages a WAF Policy resource with its adjustments and modifications on a BIG-IP.\nIt outputs an up-to-date WAF Policy in a JSON format\n\n* [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html)\n\n\u003e **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned.\n\n\u003e **NOTE** For BIG-IP v17.x above version,Terraform BIG-IP Provider version must be \u003e v1.23.0\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst param1 = f5bigip.ssl.getWafEntityParameter({\n    name: \"Param1\",\n    type: \"explicit\",\n    dataType: \"alpha-numeric\",\n    performStaging: true,\n});\nconst param2 = f5bigip.ssl.getWafEntityParameter({\n    name: \"Param2\",\n    type: \"explicit\",\n    dataType: \"alpha-numeric\",\n    performStaging: true,\n});\nconst URL = f5bigip.ssl.getWafEntityUrl({\n    name: \"URL1\",\n    protocol: \"http\",\n});\nconst URL2 = f5bigip.ssl.getWafEntityUrl({\n    name: \"URL2\",\n});\nconst test_awaf = new f5bigip.WafPolicy(\"test-awaf\", {\n    name: \"testpolicyravi\",\n    partition: \"Common\",\n    templateName: \"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n    applicationLanguage: \"utf-8\",\n    enforcementMode: \"blocking\",\n    serverTechnologies: [\n        \"MySQL\",\n        \"Unix/Linux\",\n        \"MongoDB\",\n    ],\n    parameters: [\n        param1.then(param1 =\u003e param1.json),\n        param2.then(param2 =\u003e param2.json),\n    ],\n    urls: [\n        URL.then(URL =\u003e URL.json),\n        URL2.then(URL2 =\u003e URL2.json),\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nparam1 = f5bigip.ssl.get_waf_entity_parameter(name=\"Param1\",\n    type=\"explicit\",\n    data_type=\"alpha-numeric\",\n    perform_staging=True)\nparam2 = f5bigip.ssl.get_waf_entity_parameter(name=\"Param2\",\n    type=\"explicit\",\n    data_type=\"alpha-numeric\",\n    perform_staging=True)\nurl = f5bigip.ssl.get_waf_entity_url(name=\"URL1\",\n    protocol=\"http\")\nurl2 = f5bigip.ssl.get_waf_entity_url(name=\"URL2\")\ntest_awaf = f5bigip.WafPolicy(\"test-awaf\",\n    name=\"testpolicyravi\",\n    partition=\"Common\",\n    template_name=\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n    application_language=\"utf-8\",\n    enforcement_mode=\"blocking\",\n    server_technologies=[\n        \"MySQL\",\n        \"Unix/Linux\",\n        \"MongoDB\",\n    ],\n    parameters=[\n        param1.json,\n        param2.json,\n    ],\n    urls=[\n        url.json,\n        url2.json,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var param1 = F5BigIP.Ssl.GetWafEntityParameter.Invoke(new()\n    {\n        Name = \"Param1\",\n        Type = \"explicit\",\n        DataType = \"alpha-numeric\",\n        PerformStaging = true,\n    });\n\n    var param2 = F5BigIP.Ssl.GetWafEntityParameter.Invoke(new()\n    {\n        Name = \"Param2\",\n        Type = \"explicit\",\n        DataType = \"alpha-numeric\",\n        PerformStaging = true,\n    });\n\n    var URL = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n    {\n        Name = \"URL1\",\n        Protocol = \"http\",\n    });\n\n    var URL2 = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n    {\n        Name = \"URL2\",\n    });\n\n    var test_awaf = new F5BigIP.WafPolicy(\"test-awaf\", new()\n    {\n        Name = \"testpolicyravi\",\n        Partition = \"Common\",\n        TemplateName = \"POLICY_TEMPLATE_RAPID_DEPLOYMENT\",\n        ApplicationLanguage = \"utf-8\",\n        EnforcementMode = \"blocking\",\n        ServerTechnologies = new[]\n        {\n            \"MySQL\",\n            \"Unix/Linux\",\n            \"MongoDB\",\n        },\n        Parameters = new[]\n        {\n            param1.Apply(getWafEntityParameterResult =\u003e getWafEntityParameterResult.Json),\n            param2.Apply(getWafEntityParameterResult =\u003e getWafEntityParameterResult.Json),\n        },\n        Urls = new[]\n        {\n            URL.Apply(getWafEntityUrlResult =\u003e getWafEntityUrlResult.Json),\n            URL2.Apply(getWafEntityUrlResult =\u003e getWafEntityUrlResult.Json),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tparam1, err := ssl.GetWafEntityParameter(ctx, \u0026ssl.GetWafEntityParameterArgs{\n\t\t\tName:           \"Param1\",\n\t\t\tType:           pulumi.StringRef(\"explicit\"),\n\t\t\tDataType:       pulumi.StringRef(\"alpha-numeric\"),\n\t\t\tPerformStaging: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tparam2, err := ssl.GetWafEntityParameter(ctx, \u0026ssl.GetWafEntityParameterArgs{\n\t\t\tName:           \"Param2\",\n\t\t\tType:           pulumi.StringRef(\"explicit\"),\n\t\t\tDataType:       pulumi.StringRef(\"alpha-numeric\"),\n\t\t\tPerformStaging: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tURL, err := ssl.GetWafEntityUrl(ctx, \u0026ssl.GetWafEntityUrlArgs{\n\t\t\tName:     \"URL1\",\n\t\t\tProtocol: pulumi.StringRef(\"http\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tURL2, err := ssl.GetWafEntityUrl(ctx, \u0026ssl.GetWafEntityUrlArgs{\n\t\t\tName: \"URL2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewWafPolicy(ctx, \"test-awaf\", \u0026f5bigip.WafPolicyArgs{\n\t\t\tName:                pulumi.String(\"testpolicyravi\"),\n\t\t\tPartition:           pulumi.String(\"Common\"),\n\t\t\tTemplateName:        pulumi.String(\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\"),\n\t\t\tApplicationLanguage: pulumi.String(\"utf-8\"),\n\t\t\tEnforcementMode:     pulumi.String(\"blocking\"),\n\t\t\tServerTechnologies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"MySQL\"),\n\t\t\t\tpulumi.String(\"Unix/Linux\"),\n\t\t\t\tpulumi.String(\"MongoDB\"),\n\t\t\t},\n\t\t\tParameters: pulumi.StringArray{\n\t\t\t\tpulumi.String(param1.Json),\n\t\t\t\tpulumi.String(param2.Json),\n\t\t\t},\n\t\t\tUrls: pulumi.StringArray{\n\t\t\t\tpulumi.String(URL.Json),\n\t\t\t\tpulumi.String(URL2.Json),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafEntityParameterArgs;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafEntityUrlArgs;\nimport com.pulumi.f5bigip.WafPolicy;\nimport com.pulumi.f5bigip.WafPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var param1 = SslFunctions.getWafEntityParameter(GetWafEntityParameterArgs.builder()\n            .name(\"Param1\")\n            .type(\"explicit\")\n            .dataType(\"alpha-numeric\")\n            .performStaging(true)\n            .build());\n\n        final var param2 = SslFunctions.getWafEntityParameter(GetWafEntityParameterArgs.builder()\n            .name(\"Param2\")\n            .type(\"explicit\")\n            .dataType(\"alpha-numeric\")\n            .performStaging(true)\n            .build());\n\n        final var URL = SslFunctions.getWafEntityUrl(GetWafEntityUrlArgs.builder()\n            .name(\"URL1\")\n            .protocol(\"http\")\n            .build());\n\n        final var URL2 = SslFunctions.getWafEntityUrl(GetWafEntityUrlArgs.builder()\n            .name(\"URL2\")\n            .build());\n\n        var test_awaf = new WafPolicy(\"test-awaf\", WafPolicyArgs.builder()\n            .name(\"testpolicyravi\")\n            .partition(\"Common\")\n            .templateName(\"POLICY_TEMPLATE_RAPID_DEPLOYMENT\")\n            .applicationLanguage(\"utf-8\")\n            .enforcementMode(\"blocking\")\n            .serverTechnologies(            \n                \"MySQL\",\n                \"Unix/Linux\",\n                \"MongoDB\")\n            .parameters(            \n                param1.json(),\n                param2.json())\n            .urls(            \n                URL.json(),\n                URL2.json())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-awaf:\n    type: f5bigip:WafPolicy\n    properties:\n      name: testpolicyravi\n      partition: Common\n      templateName: POLICY_TEMPLATE_RAPID_DEPLOYMENT\n      applicationLanguage: utf-8\n      enforcementMode: blocking\n      serverTechnologies:\n        - MySQL\n        - Unix/Linux\n        - MongoDB\n      parameters:\n        - ${param1.json}\n        - ${param2.json}\n      urls:\n        - ${URL.json}\n        - ${URL2.json}\nvariables:\n  param1:\n    fn::invoke:\n      function: f5bigip:ssl:getWafEntityParameter\n      arguments:\n        name: Param1\n        type: explicit\n        dataType: alpha-numeric\n        performStaging: true\n  param2:\n    fn::invoke:\n      function: f5bigip:ssl:getWafEntityParameter\n      arguments:\n        name: Param2\n        type: explicit\n        dataType: alpha-numeric\n        performStaging: true\n  URL:\n    fn::invoke:\n      function: f5bigip:ssl:getWafEntityUrl\n      arguments:\n        name: URL1\n        protocol: http\n  URL2:\n    fn::invoke:\n      function: f5bigip:ssl:getWafEntityUrl\n      arguments:\n        name: URL2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn existing WAF Policy or if the WAF Policy has been manually created or modified on the BIG-IP WebUI, it can be imported using its \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\n\ne.g:\n\n```sh\n$ pulumi import f5bigip:index/wafPolicy:WafPolicy example \u003cid\u003e\n```\n\n","properties":{"applicationLanguage":{"type":"string","description":"The character encoding for the web application. The character encoding determines how the policy processes the character sets. The default is `utf-8`\n"},"caseInsensitive":{"type":"boolean","description":"Specifies whether the security policy treats microservice URLs, file types, URLs, and parameters as case sensitive or not. When this setting is enabled, the system stores these security policy elements in lowercase in the security policy configuration\n"},"description":{"type":"string","description":"Specifies the description of the policy.\n"},"enablePassivemode":{"type":"boolean","description":"Passive Mode allows the policy to be associated with a Performance L4 Virtual Server (using a FastL4 profile). With FastL4, traffic is analyzed but is not modified in any way.\n"},"enforcementMode":{"type":"string","description":"How the system processes a request that triggers a security policy violation\n"},"fileTypes":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyFileType:WafPolicyFileType"},"description":"\u003cspan pulumi-lang-nodejs=\"`fileTypes`\" pulumi-lang-dotnet=\"`FileTypes`\" pulumi-lang-go=\"`fileTypes`\" pulumi-lang-python=\"`file_types`\" pulumi-lang-yaml=\"`fileTypes`\" pulumi-lang-java=\"`fileTypes`\"\u003e`file_types`\u003c/span\u003e takes list of file-types options to be used for policy builder.\nSee file types below for more details.\n"},"graphqlProfiles":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyGraphqlProfile:WafPolicyGraphqlProfile"},"description":"\u003cspan pulumi-lang-nodejs=\"`graphqlProfiles`\" pulumi-lang-dotnet=\"`GraphqlProfiles`\" pulumi-lang-go=\"`graphqlProfiles`\" pulumi-lang-python=\"`graphql_profiles`\" pulumi-lang-yaml=\"`graphqlProfiles`\" pulumi-lang-java=\"`graphqlProfiles`\"\u003e`graphql_profiles`\u003c/span\u003e takes list of graphql profile options to be used for policy builder.\nSee graphql profiles below for more details.\n"},"hostNames":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyHostName:WafPolicyHostName"},"description":"specify the list of host name that is used to access the application"},"ipExceptions":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyIpException:WafPolicyIpException"},"description":"\u003cspan pulumi-lang-nodejs=\"`ipExceptions`\" pulumi-lang-dotnet=\"`IpExceptions`\" pulumi-lang-go=\"`ipExceptions`\" pulumi-lang-python=\"`ip_exceptions`\" pulumi-lang-yaml=\"`ipExceptions`\" pulumi-lang-java=\"`ipExceptions`\"\u003e`ip_exceptions`\u003c/span\u003e takes list of IP address exception,An IP address exception is an IP address that you want the system to treat in a specific way for a security policy.For example, you can specify IP addresses from which the system should always trust traffic.\nSee IP Exceptions below for more details.\n"},"modifications":{"type":"array","items":{"type":"string"},"description":"the modifications section includes actions that modify the declarative policy as it is defined in the adjustments section. The modifications section is updated manually, with the changes generally driven by the learning suggestions provided by the BIG-IP."},"name":{"type":"string","description":"The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).\n"},"openApiFiles":{"type":"array","items":{"type":"string"},"description":"This section defines the Link for open api files on the policy.\n"},"parameters":{"type":"array","items":{"type":"string"},"description":"This section defines parameters that the security policy permits in requests.\n"},"partition":{"type":"string","description":"Specifies the partition of the policy. Default is `Common`\n"},"policyBuilders":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyPolicyBuilder:WafPolicyPolicyBuilder"},"description":"\u003cspan pulumi-lang-nodejs=\"`policyBuilder`\" pulumi-lang-dotnet=\"`PolicyBuilder`\" pulumi-lang-go=\"`policyBuilder`\" pulumi-lang-python=\"`policy_builder`\" pulumi-lang-yaml=\"`policyBuilder`\" pulumi-lang-java=\"`policyBuilder`\"\u003e`policy_builder`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`learningMode`\" pulumi-lang-dotnet=\"`LearningMode`\" pulumi-lang-go=\"`learningMode`\" pulumi-lang-python=\"`learning_mode`\" pulumi-lang-yaml=\"`learningMode`\" pulumi-lang-java=\"`learningMode`\"\u003e`learning_mode`\u003c/span\u003e options to be used for policy builder.\nSee policy builder below for more details.\n"},"policyExportJson":{"type":"string","description":"Exported WAF policy deployed on BIGIP.\n"},"policyId":{"type":"string","description":"The id of the A.WAF Policy as it would be calculated on the BIG-IP.\n"},"policyImportJson":{"type":"string","description":"The payload of the WAF Policy to be used for IMPORT on to BIG-IP.\n"},"protocolIndependent":{"type":"boolean","description":"When creating a security policy, you can determine whether a security policy differentiates between HTTP and HTTPS URLs. If enabled, the security policy differentiates between HTTP and HTTPS URLs. If disabled, the security policy configures URLs without specifying a specific protocol. This is useful for applications that behave the same for HTTP and HTTPS, and it keeps the security policy from including the same URL twice.\n"},"serverTechnologies":{"type":"array","items":{"type":"string"},"description":"The server technology is a server-side application, framework, web server or operating system type that is configured in the policy in order to adapt the policy to the checks needed for the respective technology.\n"},"signatureSets":{"type":"array","items":{"type":"string"},"description":"Defines behavior when signatures found within a signature-set are detected in a request. Settings are culmulative, so if a signature is found in any set with block enabled, that signature will have block enabled.\n"},"signatures":{"type":"array","items":{"type":"string"},"description":"This section defines the properties of a signature on the policy.\n"},"signaturesSettings":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicySignaturesSetting:WafPolicySignaturesSetting"},"description":"bulk signature setting"},"templateLink":{"type":"string","description":"Specifies the Link of the template used for the policy creation."},"templateName":{"type":"string","description":"Specifies the name of the template used for the policy creation.\n"},"type":{"type":"string","description":"The type of policy you want to create. The default policy type is \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e.\n"},"urls":{"type":"array","items":{"type":"string"},"description":"In a security policy, you can manually specify the HTTP URLs that are allowed (or disallowed) in traffic to the web application being protected. If you are using automatic policy building (and the policy includes learning URLs), the system can determine which URLs to add, based on legitimate traffic.\n"}},"required":["description","name","policyExportJson","policyId","templateName"],"inputProperties":{"applicationLanguage":{"type":"string","description":"The character encoding for the web application. The character encoding determines how the policy processes the character sets. The default is `utf-8`\n"},"caseInsensitive":{"type":"boolean","description":"Specifies whether the security policy treats microservice URLs, file types, URLs, and parameters as case sensitive or not. When this setting is enabled, the system stores these security policy elements in lowercase in the security policy configuration\n"},"description":{"type":"string","description":"Specifies the description of the policy.\n"},"enablePassivemode":{"type":"boolean","description":"Passive Mode allows the policy to be associated with a Performance L4 Virtual Server (using a FastL4 profile). With FastL4, traffic is analyzed but is not modified in any way.\n"},"enforcementMode":{"type":"string","description":"How the system processes a request that triggers a security policy violation\n"},"fileTypes":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyFileType:WafPolicyFileType"},"description":"\u003cspan pulumi-lang-nodejs=\"`fileTypes`\" pulumi-lang-dotnet=\"`FileTypes`\" pulumi-lang-go=\"`fileTypes`\" pulumi-lang-python=\"`file_types`\" pulumi-lang-yaml=\"`fileTypes`\" pulumi-lang-java=\"`fileTypes`\"\u003e`file_types`\u003c/span\u003e takes list of file-types options to be used for policy builder.\nSee file types below for more details.\n"},"graphqlProfiles":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyGraphqlProfile:WafPolicyGraphqlProfile"},"description":"\u003cspan pulumi-lang-nodejs=\"`graphqlProfiles`\" pulumi-lang-dotnet=\"`GraphqlProfiles`\" pulumi-lang-go=\"`graphqlProfiles`\" pulumi-lang-python=\"`graphql_profiles`\" pulumi-lang-yaml=\"`graphqlProfiles`\" pulumi-lang-java=\"`graphqlProfiles`\"\u003e`graphql_profiles`\u003c/span\u003e takes list of graphql profile options to be used for policy builder.\nSee graphql profiles below for more details.\n"},"hostNames":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyHostName:WafPolicyHostName"},"description":"specify the list of host name that is used to access the application"},"ipExceptions":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyIpException:WafPolicyIpException"},"description":"\u003cspan pulumi-lang-nodejs=\"`ipExceptions`\" pulumi-lang-dotnet=\"`IpExceptions`\" pulumi-lang-go=\"`ipExceptions`\" pulumi-lang-python=\"`ip_exceptions`\" pulumi-lang-yaml=\"`ipExceptions`\" pulumi-lang-java=\"`ipExceptions`\"\u003e`ip_exceptions`\u003c/span\u003e takes list of IP address exception,An IP address exception is an IP address that you want the system to treat in a specific way for a security policy.For example, you can specify IP addresses from which the system should always trust traffic.\nSee IP Exceptions below for more details.\n"},"modifications":{"type":"array","items":{"type":"string"},"description":"the modifications section includes actions that modify the declarative policy as it is defined in the adjustments section. The modifications section is updated manually, with the changes generally driven by the learning suggestions provided by the BIG-IP."},"name":{"type":"string","description":"The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).\n","willReplaceOnChanges":true},"openApiFiles":{"type":"array","items":{"type":"string"},"description":"This section defines the Link for open api files on the policy.\n"},"parameters":{"type":"array","items":{"type":"string"},"description":"This section defines parameters that the security policy permits in requests.\n"},"partition":{"type":"string","description":"Specifies the partition of the policy. Default is `Common`\n","willReplaceOnChanges":true},"policyBuilders":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyPolicyBuilder:WafPolicyPolicyBuilder"},"description":"\u003cspan pulumi-lang-nodejs=\"`policyBuilder`\" pulumi-lang-dotnet=\"`PolicyBuilder`\" pulumi-lang-go=\"`policyBuilder`\" pulumi-lang-python=\"`policy_builder`\" pulumi-lang-yaml=\"`policyBuilder`\" pulumi-lang-java=\"`policyBuilder`\"\u003e`policy_builder`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`learningMode`\" pulumi-lang-dotnet=\"`LearningMode`\" pulumi-lang-go=\"`learningMode`\" pulumi-lang-python=\"`learning_mode`\" pulumi-lang-yaml=\"`learningMode`\" pulumi-lang-java=\"`learningMode`\"\u003e`learning_mode`\u003c/span\u003e options to be used for policy builder.\nSee policy builder below for more details.\n"},"policyId":{"type":"string","description":"The id of the A.WAF Policy as it would be calculated on the BIG-IP.\n"},"policyImportJson":{"type":"string","description":"The payload of the WAF Policy to be used for IMPORT on to BIG-IP.\n"},"protocolIndependent":{"type":"boolean","description":"When creating a security policy, you can determine whether a security policy differentiates between HTTP and HTTPS URLs. If enabled, the security policy differentiates between HTTP and HTTPS URLs. If disabled, the security policy configures URLs without specifying a specific protocol. This is useful for applications that behave the same for HTTP and HTTPS, and it keeps the security policy from including the same URL twice.\n"},"serverTechnologies":{"type":"array","items":{"type":"string"},"description":"The server technology is a server-side application, framework, web server or operating system type that is configured in the policy in order to adapt the policy to the checks needed for the respective technology.\n"},"signatureSets":{"type":"array","items":{"type":"string"},"description":"Defines behavior when signatures found within a signature-set are detected in a request. Settings are culmulative, so if a signature is found in any set with block enabled, that signature will have block enabled.\n"},"signatures":{"type":"array","items":{"type":"string"},"description":"This section defines the properties of a signature on the policy.\n"},"signaturesSettings":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicySignaturesSetting:WafPolicySignaturesSetting"},"description":"bulk signature setting"},"templateLink":{"type":"string","description":"Specifies the Link of the template used for the policy creation."},"templateName":{"type":"string","description":"Specifies the name of the template used for the policy creation.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of policy you want to create. The default policy type is \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e.\n"},"urls":{"type":"array","items":{"type":"string"},"description":"In a security policy, you can manually specify the HTTP URLs that are allowed (or disallowed) in traffic to the web application being protected. If you are using automatic policy building (and the policy includes learning URLs), the system can determine which URLs to add, based on legitimate traffic.\n"}},"requiredInputs":["name","templateName"],"stateInputs":{"description":"Input properties used for looking up and filtering WafPolicy resources.\n","properties":{"applicationLanguage":{"type":"string","description":"The character encoding for the web application. The character encoding determines how the policy processes the character sets. The default is `utf-8`\n"},"caseInsensitive":{"type":"boolean","description":"Specifies whether the security policy treats microservice URLs, file types, URLs, and parameters as case sensitive or not. When this setting is enabled, the system stores these security policy elements in lowercase in the security policy configuration\n"},"description":{"type":"string","description":"Specifies the description of the policy.\n"},"enablePassivemode":{"type":"boolean","description":"Passive Mode allows the policy to be associated with a Performance L4 Virtual Server (using a FastL4 profile). With FastL4, traffic is analyzed but is not modified in any way.\n"},"enforcementMode":{"type":"string","description":"How the system processes a request that triggers a security policy violation\n"},"fileTypes":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyFileType:WafPolicyFileType"},"description":"\u003cspan pulumi-lang-nodejs=\"`fileTypes`\" pulumi-lang-dotnet=\"`FileTypes`\" pulumi-lang-go=\"`fileTypes`\" pulumi-lang-python=\"`file_types`\" pulumi-lang-yaml=\"`fileTypes`\" pulumi-lang-java=\"`fileTypes`\"\u003e`file_types`\u003c/span\u003e takes list of file-types options to be used for policy builder.\nSee file types below for more details.\n"},"graphqlProfiles":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyGraphqlProfile:WafPolicyGraphqlProfile"},"description":"\u003cspan pulumi-lang-nodejs=\"`graphqlProfiles`\" pulumi-lang-dotnet=\"`GraphqlProfiles`\" pulumi-lang-go=\"`graphqlProfiles`\" pulumi-lang-python=\"`graphql_profiles`\" pulumi-lang-yaml=\"`graphqlProfiles`\" pulumi-lang-java=\"`graphqlProfiles`\"\u003e`graphql_profiles`\u003c/span\u003e takes list of graphql profile options to be used for policy builder.\nSee graphql profiles below for more details.\n"},"hostNames":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyHostName:WafPolicyHostName"},"description":"specify the list of host name that is used to access the application"},"ipExceptions":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyIpException:WafPolicyIpException"},"description":"\u003cspan pulumi-lang-nodejs=\"`ipExceptions`\" pulumi-lang-dotnet=\"`IpExceptions`\" pulumi-lang-go=\"`ipExceptions`\" pulumi-lang-python=\"`ip_exceptions`\" pulumi-lang-yaml=\"`ipExceptions`\" pulumi-lang-java=\"`ipExceptions`\"\u003e`ip_exceptions`\u003c/span\u003e takes list of IP address exception,An IP address exception is an IP address that you want the system to treat in a specific way for a security policy.For example, you can specify IP addresses from which the system should always trust traffic.\nSee IP Exceptions below for more details.\n"},"modifications":{"type":"array","items":{"type":"string"},"description":"the modifications section includes actions that modify the declarative policy as it is defined in the adjustments section. The modifications section is updated manually, with the changes generally driven by the learning suggestions provided by the BIG-IP."},"name":{"type":"string","description":"The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).\n","willReplaceOnChanges":true},"openApiFiles":{"type":"array","items":{"type":"string"},"description":"This section defines the Link for open api files on the policy.\n"},"parameters":{"type":"array","items":{"type":"string"},"description":"This section defines parameters that the security policy permits in requests.\n"},"partition":{"type":"string","description":"Specifies the partition of the policy. Default is `Common`\n","willReplaceOnChanges":true},"policyBuilders":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicyPolicyBuilder:WafPolicyPolicyBuilder"},"description":"\u003cspan pulumi-lang-nodejs=\"`policyBuilder`\" pulumi-lang-dotnet=\"`PolicyBuilder`\" pulumi-lang-go=\"`policyBuilder`\" pulumi-lang-python=\"`policy_builder`\" pulumi-lang-yaml=\"`policyBuilder`\" pulumi-lang-java=\"`policyBuilder`\"\u003e`policy_builder`\u003c/span\u003e block will provide \u003cspan pulumi-lang-nodejs=\"`learningMode`\" pulumi-lang-dotnet=\"`LearningMode`\" pulumi-lang-go=\"`learningMode`\" pulumi-lang-python=\"`learning_mode`\" pulumi-lang-yaml=\"`learningMode`\" pulumi-lang-java=\"`learningMode`\"\u003e`learning_mode`\u003c/span\u003e options to be used for policy builder.\nSee policy builder below for more details.\n"},"policyExportJson":{"type":"string","description":"Exported WAF policy deployed on BIGIP.\n"},"policyId":{"type":"string","description":"The id of the A.WAF Policy as it would be calculated on the BIG-IP.\n"},"policyImportJson":{"type":"string","description":"The payload of the WAF Policy to be used for IMPORT on to BIG-IP.\n"},"protocolIndependent":{"type":"boolean","description":"When creating a security policy, you can determine whether a security policy differentiates between HTTP and HTTPS URLs. If enabled, the security policy differentiates between HTTP and HTTPS URLs. If disabled, the security policy configures URLs without specifying a specific protocol. This is useful for applications that behave the same for HTTP and HTTPS, and it keeps the security policy from including the same URL twice.\n"},"serverTechnologies":{"type":"array","items":{"type":"string"},"description":"The server technology is a server-side application, framework, web server or operating system type that is configured in the policy in order to adapt the policy to the checks needed for the respective technology.\n"},"signatureSets":{"type":"array","items":{"type":"string"},"description":"Defines behavior when signatures found within a signature-set are detected in a request. Settings are culmulative, so if a signature is found in any set with block enabled, that signature will have block enabled.\n"},"signatures":{"type":"array","items":{"type":"string"},"description":"This section defines the properties of a signature on the policy.\n"},"signaturesSettings":{"type":"array","items":{"$ref":"#/types/f5bigip:index/WafPolicySignaturesSetting:WafPolicySignaturesSetting"},"description":"bulk signature setting"},"templateLink":{"type":"string","description":"Specifies the Link of the template used for the policy creation."},"templateName":{"type":"string","description":"Specifies the name of the template used for the policy creation.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of policy you want to create. The default policy type is \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e.\n"},"urls":{"type":"array","items":{"type":"string"},"description":"In a security policy, you can manually specify the HTTP URLs that are allowed (or disallowed) in traffic to the web application being protected. If you are using automatic policy building (and the policy includes learning URLs), the system can determine which URLs to add, based on legitimate traffic.\n"}},"type":"object"}},"f5bigip:ltm/cipherGroup:CipherGroup":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.CipherGroup`\" pulumi-lang-dotnet=\"`f5bigip.ltm.CipherGroup`\" pulumi-lang-go=\"`ltm.CipherGroup`\" pulumi-lang-python=\"`ltm.CipherGroup`\" pulumi-lang-yaml=\"`f5bigip.ltm.CipherGroup`\" pulumi-lang-java=\"`f5bigip.ltm.CipherGroup`\"\u003e`f5bigip.ltm.CipherGroup`\u003c/span\u003e Manages F5 BIG-IP LTM cipher group using iControl REST.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_cipher_group = new f5bigip.ltm.CipherGroup(\"test-cipher-group\", {\n    name: \"/Common/test-cipher-group-01\",\n    allows: [\"/Common/f5-aes\"],\n    requires: [\"/Common/f5-quic\"],\n    ordering: \"speed\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_cipher_group = f5bigip.ltm.CipherGroup(\"test-cipher-group\",\n    name=\"/Common/test-cipher-group-01\",\n    allows=[\"/Common/f5-aes\"],\n    requires=[\"/Common/f5-quic\"],\n    ordering=\"speed\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_cipher_group = new F5BigIP.Ltm.CipherGroup(\"test-cipher-group\", new()\n    {\n        Name = \"/Common/test-cipher-group-01\",\n        Allows = new[]\n        {\n            \"/Common/f5-aes\",\n        },\n        Requires = new[]\n        {\n            \"/Common/f5-quic\",\n        },\n        Ordering = \"speed\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewCipherGroup(ctx, \"test-cipher-group\", \u0026ltm.CipherGroupArgs{\n\t\t\tName: pulumi.String(\"/Common/test-cipher-group-01\"),\n\t\t\tAllows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/Common/f5-aes\"),\n\t\t\t},\n\t\t\tRequires: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/Common/f5-quic\"),\n\t\t\t},\n\t\t\tOrdering: pulumi.String(\"speed\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.CipherGroup;\nimport com.pulumi.f5bigip.ltm.CipherGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_cipher_group = new CipherGroup(\"test-cipher-group\", CipherGroupArgs.builder()\n            .name(\"/Common/test-cipher-group-01\")\n            .allows(\"/Common/f5-aes\")\n            .requires(\"/Common/f5-quic\")\n            .ordering(\"speed\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-cipher-group:\n    type: f5bigip:ltm:CipherGroup\n    properties:\n      name: /Common/test-cipher-group-01\n      allows:\n        - /Common/f5-aes\n      requires:\n        - /Common/f5-quic\n      ordering: speed\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing cipher group can be imported into this resource by supplying the cipher rule full path name ex : `/partition/name`\nAn example is below:\n```sh\n$ terraform import bigip_ltm_cipher_group.test_cipher_group /Common/test_cipher_group\n\n```\n","properties":{"allows":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the allowed groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no allowed ciphers, omit this attribute in the config or set it to an empty set like, `[]`.\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the cipher rule"},"name":{"type":"string","description":"Name of the Cipher group. Name should be in pattern \u003cspan pulumi-lang-nodejs=\"`partition`\" pulumi-lang-dotnet=\"`Partition`\" pulumi-lang-go=\"`partition`\" pulumi-lang-python=\"`partition`\" pulumi-lang-yaml=\"`partition`\" pulumi-lang-java=\"`partition`\"\u003e`partition`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cipherGroupName`\" pulumi-lang-dotnet=\"`CipherGroupName`\" pulumi-lang-go=\"`cipherGroupName`\" pulumi-lang-python=\"`cipher_group_name`\" pulumi-lang-yaml=\"`cipherGroupName`\" pulumi-lang-java=\"`cipherGroupName`\"\u003e`cipher_group_name`\u003c/span\u003e\n"},"ordering":{"type":"string","description":"Controls the order of the Cipher String list in the Cipher Audit section. Options are Default, Speed, Strength, FIPS, and Hardware. The rules are processed in the order listed. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"requires":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the restrict groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no restricted ciphers, omit this attribute in the config or set it to an empty set like, `[]`.\n"}},"required":["name"],"inputProperties":{"allows":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the allowed groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no allowed ciphers, omit this attribute in the config or set it to an empty set like, `[]`.\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the cipher rule"},"name":{"type":"string","description":"Name of the Cipher group. Name should be in pattern \u003cspan pulumi-lang-nodejs=\"`partition`\" pulumi-lang-dotnet=\"`Partition`\" pulumi-lang-go=\"`partition`\" pulumi-lang-python=\"`partition`\" pulumi-lang-yaml=\"`partition`\" pulumi-lang-java=\"`partition`\"\u003e`partition`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cipherGroupName`\" pulumi-lang-dotnet=\"`CipherGroupName`\" pulumi-lang-go=\"`cipherGroupName`\" pulumi-lang-python=\"`cipher_group_name`\" pulumi-lang-yaml=\"`cipherGroupName`\" pulumi-lang-java=\"`cipherGroupName`\"\u003e`cipher_group_name`\u003c/span\u003e\n","willReplaceOnChanges":true},"ordering":{"type":"string","description":"Controls the order of the Cipher String list in the Cipher Audit section. Options are Default, Speed, Strength, FIPS, and Hardware. The rules are processed in the order listed. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"requires":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the restrict groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no restricted ciphers, omit this attribute in the config or set it to an empty set like, `[]`.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering CipherGroup resources.\n","properties":{"allows":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the allowed groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no allowed ciphers, omit this attribute in the config or set it to an empty set like, `[]`.\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the cipher rule"},"name":{"type":"string","description":"Name of the Cipher group. Name should be in pattern \u003cspan pulumi-lang-nodejs=\"`partition`\" pulumi-lang-dotnet=\"`Partition`\" pulumi-lang-go=\"`partition`\" pulumi-lang-python=\"`partition`\" pulumi-lang-yaml=\"`partition`\" pulumi-lang-java=\"`partition`\"\u003e`partition`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cipherGroupName`\" pulumi-lang-dotnet=\"`CipherGroupName`\" pulumi-lang-go=\"`cipherGroupName`\" pulumi-lang-python=\"`cipher_group_name`\" pulumi-lang-yaml=\"`cipherGroupName`\" pulumi-lang-java=\"`cipherGroupName`\"\u003e`cipher_group_name`\u003c/span\u003e\n","willReplaceOnChanges":true},"ordering":{"type":"string","description":"Controls the order of the Cipher String list in the Cipher Audit section. Options are Default, Speed, Strength, FIPS, and Hardware. The rules are processed in the order listed. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"requires":{"type":"array","items":{"type":"string"},"description":"Specifies the configuration of the restrict groups of ciphers. You can select a cipher rule from the Available Cipher Rules list. To have no restricted ciphers, omit this attribute in the config or set it to an empty set like, `[]`.\n"}},"type":"object"}},"f5bigip:ltm/cipherRule:CipherRule":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.CipherRule`\" pulumi-lang-dotnet=\"`f5bigip.ltm.CipherRule`\" pulumi-lang-go=\"`ltm.CipherRule`\" pulumi-lang-python=\"`ltm.CipherRule`\" pulumi-lang-yaml=\"`f5bigip.ltm.CipherRule`\" pulumi-lang-java=\"`f5bigip.ltm.CipherRule`\"\u003e`f5bigip.ltm.CipherRule`\u003c/span\u003e Manages F5 BIG-IP LTM cipher rule using iControl REST.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst testCipherRule = new f5bigip.ltm.CipherRule(\"test_cipher_rule\", {\n    name: \"/Common/test_cipher_rule\",\n    cipher: \"TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384\",\n    dhGroups: \"P256:P384:FFDHE2048:FFDHE3072:FFDHE4096\",\n    signatureAlgorithms: \"DEFAULT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_cipher_rule = f5bigip.ltm.CipherRule(\"test_cipher_rule\",\n    name=\"/Common/test_cipher_rule\",\n    cipher=\"TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384\",\n    dh_groups=\"P256:P384:FFDHE2048:FFDHE3072:FFDHE4096\",\n    signature_algorithms=\"DEFAULT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testCipherRule = new F5BigIP.Ltm.CipherRule(\"test_cipher_rule\", new()\n    {\n        Name = \"/Common/test_cipher_rule\",\n        Cipher = \"TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384\",\n        DhGroups = \"P256:P384:FFDHE2048:FFDHE3072:FFDHE4096\",\n        SignatureAlgorithms = \"DEFAULT\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewCipherRule(ctx, \"test_cipher_rule\", \u0026ltm.CipherRuleArgs{\n\t\t\tName:                pulumi.String(\"/Common/test_cipher_rule\"),\n\t\t\tCipher:              pulumi.String(\"TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384\"),\n\t\t\tDhGroups:            pulumi.String(\"P256:P384:FFDHE2048:FFDHE3072:FFDHE4096\"),\n\t\t\tSignatureAlgorithms: pulumi.String(\"DEFAULT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.CipherRule;\nimport com.pulumi.f5bigip.ltm.CipherRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testCipherRule = new CipherRule(\"testCipherRule\", CipherRuleArgs.builder()\n            .name(\"/Common/test_cipher_rule\")\n            .cipher(\"TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384\")\n            .dhGroups(\"P256:P384:FFDHE2048:FFDHE3072:FFDHE4096\")\n            .signatureAlgorithms(\"DEFAULT\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testCipherRule:\n    type: f5bigip:ltm:CipherRule\n    name: test_cipher_rule\n    properties:\n      name: /Common/test_cipher_rule\n      cipher: TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384\n      dhGroups: P256:P384:FFDHE2048:FFDHE3072:FFDHE4096\n      signatureAlgorithms: DEFAULT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing cipher rule can be imported into this resource by supplying the cipher rule full path name  ex : `/partition/name`\nAn example is below:\n```sh\n$ terraform import bigip_ltm_cipher_rule.test_cipher_rule /Common/test_cipher_rule\n```\n","properties":{"cipher":{"type":"string","description":"Specifies one or more Cipher Suites used,this is a colon (:) separated string of cipher suites. example, `TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384`.\n"},"description":{"type":"string","description":"The Partition in which the Cipher Rule will be created.\n"},"dhGroups":{"type":"string","description":"Specifies the DH Groups algorithms, separated by colons (:).\n"},"name":{"type":"string","description":"Name of the Cipher Rule. Name should be in pattern \u003cspan pulumi-lang-nodejs=\"`partition`\" pulumi-lang-dotnet=\"`Partition`\" pulumi-lang-go=\"`partition`\" pulumi-lang-python=\"`partition`\" pulumi-lang-yaml=\"`partition`\" pulumi-lang-java=\"`partition`\"\u003e`partition`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cipherRuleName`\" pulumi-lang-dotnet=\"`CipherRuleName`\" pulumi-lang-go=\"`cipherRuleName`\" pulumi-lang-python=\"`cipher_rule_name`\" pulumi-lang-yaml=\"`cipherRuleName`\" pulumi-lang-java=\"`cipherRuleName`\"\u003e`cipher_rule_name`\u003c/span\u003e\n"},"signatureAlgorithms":{"type":"string","description":"Specifies the Signature Algorithms, separated by colons (:).\n"}},"required":["cipher","dhGroups","name","signatureAlgorithms"],"inputProperties":{"cipher":{"type":"string","description":"Specifies one or more Cipher Suites used,this is a colon (:) separated string of cipher suites. example, `TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384`.\n"},"description":{"type":"string","description":"The Partition in which the Cipher Rule will be created.\n"},"dhGroups":{"type":"string","description":"Specifies the DH Groups algorithms, separated by colons (:).\n"},"name":{"type":"string","description":"Name of the Cipher Rule. Name should be in pattern \u003cspan pulumi-lang-nodejs=\"`partition`\" pulumi-lang-dotnet=\"`Partition`\" pulumi-lang-go=\"`partition`\" pulumi-lang-python=\"`partition`\" pulumi-lang-yaml=\"`partition`\" pulumi-lang-java=\"`partition`\"\u003e`partition`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cipherRuleName`\" pulumi-lang-dotnet=\"`CipherRuleName`\" pulumi-lang-go=\"`cipherRuleName`\" pulumi-lang-python=\"`cipher_rule_name`\" pulumi-lang-yaml=\"`cipherRuleName`\" pulumi-lang-java=\"`cipherRuleName`\"\u003e`cipher_rule_name`\u003c/span\u003e\n","willReplaceOnChanges":true},"signatureAlgorithms":{"type":"string","description":"Specifies the Signature Algorithms, separated by colons (:).\n"}},"requiredInputs":["cipher","name"],"stateInputs":{"description":"Input properties used for looking up and filtering CipherRule resources.\n","properties":{"cipher":{"type":"string","description":"Specifies one or more Cipher Suites used,this is a colon (:) separated string of cipher suites. example, `TLS13-AES128-GCM-SHA256:TLS13-AES256-GCM-SHA384`.\n"},"description":{"type":"string","description":"The Partition in which the Cipher Rule will be created.\n"},"dhGroups":{"type":"string","description":"Specifies the DH Groups algorithms, separated by colons (:).\n"},"name":{"type":"string","description":"Name of the Cipher Rule. Name should be in pattern \u003cspan pulumi-lang-nodejs=\"`partition`\" pulumi-lang-dotnet=\"`Partition`\" pulumi-lang-go=\"`partition`\" pulumi-lang-python=\"`partition`\" pulumi-lang-yaml=\"`partition`\" pulumi-lang-java=\"`partition`\"\u003e`partition`\u003c/span\u003e + \u003cspan pulumi-lang-nodejs=\"`cipherRuleName`\" pulumi-lang-dotnet=\"`CipherRuleName`\" pulumi-lang-go=\"`cipherRuleName`\" pulumi-lang-python=\"`cipher_rule_name`\" pulumi-lang-yaml=\"`cipherRuleName`\" pulumi-lang-java=\"`cipherRuleName`\"\u003e`cipher_rule_name`\u003c/span\u003e\n","willReplaceOnChanges":true},"signatureAlgorithms":{"type":"string","description":"Specifies the Signature Algorithms, separated by colons (:).\n"}},"type":"object"}},"f5bigip:ltm/dataGroup:DataGroup":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.DataGroup`\" pulumi-lang-dotnet=\"`f5bigip.ltm.DataGroup`\" pulumi-lang-go=\"`ltm.DataGroup`\" pulumi-lang-python=\"`ltm.DataGroup`\" pulumi-lang-yaml=\"`f5bigip.ltm.DataGroup`\" pulumi-lang-java=\"`f5bigip.ltm.DataGroup`\"\u003e`f5bigip.ltm.DataGroup`\u003c/span\u003e Manages internal (in-line) datagroup configuration\n\nResource should be named with their`full path`. The full path is the combination of the `partition + name` of the resource, for example `/Common/my-datagroup`.\n","properties":{"internal":{"type":"boolean","description":"Set \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if you want to Create External Datagroups. default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e,means creates internal datagroup.\n"},"name":{"type":"string","description":"Name of the datagroup\n"},"records":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/DataGroupRecord:DataGroupRecord"},"description":"a set of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e attributes, name must be of type specified by the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e attributed (\u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e), data is optional and can take any value, multiple \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e sets can be specified as needed.\n"},"recordsSrc":{"type":"string","description":"Path to a file with records in it,The file should be well-formed,it includes records, one per line,that resemble the following format \"key separator value\". For example, `foo := bar`.\nThis should be used in conjunction with \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e attribute set \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"type":{"type":"string","description":"datagroup type (applies to the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field of the record), supports: \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e\n"}},"required":["name","type"],"inputProperties":{"internal":{"type":"boolean","description":"Set \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if you want to Create External Datagroups. default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e,means creates internal datagroup.\n"},"name":{"type":"string","description":"Name of the datagroup\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/DataGroupRecord:DataGroupRecord"},"description":"a set of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e attributes, name must be of type specified by the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e attributed (\u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e), data is optional and can take any value, multiple \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e sets can be specified as needed.\n"},"recordsSrc":{"type":"string","description":"Path to a file with records in it,The file should be well-formed,it includes records, one per line,that resemble the following format \"key separator value\". For example, `foo := bar`.\nThis should be used in conjunction with \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e attribute set \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"type":{"type":"string","description":"datagroup type (applies to the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field of the record), supports: \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e\n","willReplaceOnChanges":true}},"requiredInputs":["name","type"],"stateInputs":{"description":"Input properties used for looking up and filtering DataGroup resources.\n","properties":{"internal":{"type":"boolean","description":"Set \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e if you want to Create External Datagroups. default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e,means creates internal datagroup.\n"},"name":{"type":"string","description":"Name of the datagroup\n","willReplaceOnChanges":true},"records":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/DataGroupRecord:DataGroupRecord"},"description":"a set of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e attributes, name must be of type specified by the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e attributed (\u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e), data is optional and can take any value, multiple \u003cspan pulumi-lang-nodejs=\"`record`\" pulumi-lang-dotnet=\"`Record`\" pulumi-lang-go=\"`record`\" pulumi-lang-python=\"`record`\" pulumi-lang-yaml=\"`record`\" pulumi-lang-java=\"`record`\"\u003e`record`\u003c/span\u003e sets can be specified as needed.\n"},"recordsSrc":{"type":"string","description":"Path to a file with records in it,The file should be well-formed,it includes records, one per line,that resemble the following format \"key separator value\". For example, `foo := bar`.\nThis should be used in conjunction with \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e attribute set \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e\n"},"type":{"type":"string","description":"datagroup type (applies to the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e field of the record), supports: \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`integer`\" pulumi-lang-dotnet=\"`Integer`\" pulumi-lang-go=\"`integer`\" pulumi-lang-python=\"`integer`\" pulumi-lang-yaml=\"`integer`\" pulumi-lang-java=\"`integer`\"\u003e`integer`\u003c/span\u003e\n","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:ltm/iRule:IRule":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.IRule`\" pulumi-lang-dotnet=\"`f5bigip.ltm.IRule`\" pulumi-lang-go=\"`ltm.IRule`\" pulumi-lang-python=\"`ltm.IRule`\" pulumi-lang-yaml=\"`f5bigip.ltm.IRule`\" pulumi-lang-java=\"`f5bigip.ltm.IRule`\"\u003e`f5bigip.ltm.IRule`\u003c/span\u003e Creates iRule on BIG-IP F5 device\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\n// Loading from a file is the preferred method\nconst rule = new f5bigip.ltm.IRule(\"rule\", {\n    name: \"/Common/terraform_irule\",\n    irule: std.file({\n        input: \"myirule.tcl\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst rule2 = new f5bigip.ltm.IRule(\"rule2\", {\n    name: \"/Common/terraform_irule2\",\n    irule: `when CLIENT_ACCEPTED {\n     log local0. \\\\\"test\\\\\"\n   }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\n# Loading from a file is the preferred method\nrule = f5bigip.ltm.IRule(\"rule\",\n    name=\"/Common/terraform_irule\",\n    irule=std.file(input=\"myirule.tcl\").result)\nrule2 = f5bigip.ltm.IRule(\"rule2\",\n    name=\"/Common/terraform_irule2\",\n    irule=\"\"\"when CLIENT_ACCEPTED {\n     log local0. \\\"test\\\"\n   }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Loading from a file is the preferred method\n    var rule = new F5BigIP.Ltm.IRule(\"rule\", new()\n    {\n        Name = \"/Common/terraform_irule\",\n        Irule = Std.File.Invoke(new()\n        {\n            Input = \"myirule.tcl\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var rule2 = new F5BigIP.Ltm.IRule(\"rule2\", new()\n    {\n        Name = \"/Common/terraform_irule2\",\n        Irule = @\"when CLIENT_ACCEPTED {\n     log local0. \\\"\"test\\\"\"\n   }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"myirule.tcl\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Loading from a file is the preferred method\n\t\t_, err = ltm.NewIRule(ctx, \"rule\", \u0026ltm.IRuleArgs{\n\t\t\tName:  pulumi.String(\"/Common/terraform_irule\"),\n\t\t\tIrule: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewIRule(ctx, \"rule2\", \u0026ltm.IRuleArgs{\n\t\t\tName:  pulumi.String(\"/Common/terraform_irule2\"),\n\t\t\tIrule: pulumi.String(\"when CLIENT_ACCEPTED {\\n     log local0. \\\\\\\"test\\\\\\\"\\n   }\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.IRule;\nimport com.pulumi.f5bigip.ltm.IRuleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Loading from a file is the preferred method\n        var rule = new IRule(\"rule\", IRuleArgs.builder()\n            .name(\"/Common/terraform_irule\")\n            .irule(StdFunctions.file(FileArgs.builder()\n                .input(\"myirule.tcl\")\n                .build()).result())\n            .build());\n\n        var rule2 = new IRule(\"rule2\", IRuleArgs.builder()\n            .name(\"/Common/terraform_irule2\")\n            .irule(\"\"\"\nwhen CLIENT_ACCEPTED {\n     log local0. \\\"test\\\"\n   }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Loading from a file is the preferred method\n  rule:\n    type: f5bigip:ltm:IRule\n    properties:\n      name: /Common/terraform_irule\n      irule:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: myirule.tcl\n          return: result\n  rule2:\n    type: f5bigip:ltm:IRule\n    properties:\n      name: /Common/terraform_irule2\n      irule: |\n        when CLIENT_ACCEPTED {\n             log local0. \\\"test\\\"\n           }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n##myirule.tcl\n\n```\nwhen HTTP_REQUEST {\n\n  if { [string tolower [HTTP::header value Upgrade]] equals \"websocket\" } {\n    HTTP::disable\n#    ASM::disable\n    log local0. \"[IP::client_addr] - Connection upgraded to websocket protocol. Disabling ASM-checks and HTTP protocol. Traffic is treated as L4 TCP stream.\"\n  } else {\n    HTTP::enable\n#    ASM::enable\n    log local0. \"[IP::client_addr] - Regular HTTP request. ASM-checks and HTTP protocol enabled. Traffic is deep-inspected at L7.\"\n  }\n}\n```\n","properties":{"irule":{"type":"string","description":"Body of the iRule\n"},"name":{"type":"string","description":"Name of the iRule\n"}},"required":["irule","name"],"inputProperties":{"irule":{"type":"string","description":"Body of the iRule\n"},"name":{"type":"string","description":"Name of the iRule\n","willReplaceOnChanges":true}},"requiredInputs":["irule","name"],"stateInputs":{"description":"Input properties used for looking up and filtering IRule resources.\n","properties":{"irule":{"type":"string","description":"Body of the iRule\n"},"name":{"type":"string","description":"Name of the iRule\n","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:ltm/ifile:Ifile":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Ifile`\" pulumi-lang-go=\"`ltm.Ifile`\" pulumi-lang-python=\"`ltm.Ifile`\" pulumi-lang-yaml=\"`f5bigip.ltm.Ifile`\" pulumi-lang-java=\"`f5bigip.ltm.Ifile`\"\u003e`f5bigip.ltm.Ifile`\u003c/span\u003e This resource creates an LTM iFile on F5 BIG-IP that references an existing system iFile. \nLTM iFiles are used in iRules and LTM policies to access file content for traffic processing and decision making.\n\n## Example Usage\n\n### Using LTM iFile in iRule\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst serverList = new f5bigip.sys.Ifile(\"server_list\", {\n    name: \"server-mapping\",\n    partition: \"Production\",\n    content: `web1:10.1.1.10\nweb2:10.1.1.11\nweb3:10.1.1.12\n`,\n});\nconst ltmServers = new f5bigip.ltm.Ifile(\"ltm_servers\", {\n    name: \"ltm-server-mapping\",\n    partition: \"Production\",\n    fileName: \"/Production/server-mapping\",\n});\nconst serverSelector = new f5bigip.ltm.IRule(\"server_selector\", {\n    name: \"select-server-rule\",\n    irule: `when HTTP_REQUEST {\n  set server_map [ifile get ltm-server-mapping]\n  # Process server mapping logic\n  foreach line [split server_map \\\\\"\\\\\n\\\\\"] {\n    set parts [split line \\\\\":\\\\\"]\n    # Implement server selection logic\n  }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nserver_list = f5bigip.sys.Ifile(\"server_list\",\n    name=\"server-mapping\",\n    partition=\"Production\",\n    content=\"\"\"web1:10.1.1.10\nweb2:10.1.1.11\nweb3:10.1.1.12\n\"\"\")\nltm_servers = f5bigip.ltm.Ifile(\"ltm_servers\",\n    name=\"ltm-server-mapping\",\n    partition=\"Production\",\n    file_name=\"/Production/server-mapping\")\nserver_selector = f5bigip.ltm.IRule(\"server_selector\",\n    name=\"select-server-rule\",\n    irule=\"\"\"when HTTP_REQUEST {\n  set server_map [ifile get ltm-server-mapping]\n  # Process server mapping logic\n  foreach line [split $server_map \\\"\\\n\\\"] {\n    set parts [split $line \\\":\\\"]\n    # Implement server selection logic\n  }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serverList = new F5BigIP.Sys.Ifile(\"server_list\", new()\n    {\n        Name = \"server-mapping\",\n        Partition = \"Production\",\n        Content = @\"web1:10.1.1.10\nweb2:10.1.1.11\nweb3:10.1.1.12\n\",\n    });\n\n    var ltmServers = new F5BigIP.Ltm.Ifile(\"ltm_servers\", new()\n    {\n        Name = \"ltm-server-mapping\",\n        Partition = \"Production\",\n        FileName = \"/Production/server-mapping\",\n    });\n\n    var serverSelector = new F5BigIP.Ltm.IRule(\"server_selector\", new()\n    {\n        Name = \"select-server-rule\",\n        Irule = @\"when HTTP_REQUEST {\n  set server_map [ifile get ltm-server-mapping]\n  # Process server mapping logic\n  foreach line [split $server_map \\\"\"\\\n\\\"\"] {\n    set parts [split $line \\\"\":\\\"\"]\n    # Implement server selection logic\n  }\n}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewIfile(ctx, \"server_list\", \u0026sys.IfileArgs{\n\t\t\tName:      pulumi.String(\"server-mapping\"),\n\t\t\tPartition: pulumi.String(\"Production\"),\n\t\t\tContent:   pulumi.String(\"web1:10.1.1.10\\nweb2:10.1.1.11\\nweb3:10.1.1.12\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewIfile(ctx, \"ltm_servers\", \u0026ltm.IfileArgs{\n\t\t\tName:      pulumi.String(\"ltm-server-mapping\"),\n\t\t\tPartition: pulumi.String(\"Production\"),\n\t\t\tFileName:  pulumi.String(\"/Production/server-mapping\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewIRule(ctx, \"server_selector\", \u0026ltm.IRuleArgs{\n\t\t\tName: pulumi.String(\"select-server-rule\"),\n\t\t\tIrule: pulumi.String(`when HTTP_REQUEST {\n  set server_map [ifile get ltm-server-mapping]\n  # Process server mapping logic\n  foreach line [split $server_map \\\"\\\n\\\"] {\n    set parts [split $line \\\":\\\"]\n    # Implement server selection logic\n  }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.IRule;\nimport com.pulumi.f5bigip.ltm.IRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var serverList = new com.pulumi.f5bigip.sys.Ifile(\"serverList\", com.pulumi.f5bigip.sys.IfileArgs.builder()\n            .name(\"server-mapping\")\n            .partition(\"Production\")\n            .content(\"\"\"\nweb1:10.1.1.10\nweb2:10.1.1.11\nweb3:10.1.1.12\n            \"\"\")\n            .build());\n\n        var ltmServers = new com.pulumi.f5bigip.ltm.Ifile(\"ltmServers\", com.pulumi.f5bigip.ltm.IfileArgs.builder()\n            .name(\"ltm-server-mapping\")\n            .partition(\"Production\")\n            .fileName(\"/Production/server-mapping\")\n            .build());\n\n        var serverSelector = new IRule(\"serverSelector\", IRuleArgs.builder()\n            .name(\"select-server-rule\")\n            .irule(\"\"\"\nwhen HTTP_REQUEST {\n  set server_map [ifile get ltm-server-mapping]\n  # Process server mapping logic\n  foreach line [split $server_map \\\"\\\n\\\"] {\n    set parts [split $line \\\":\\\"]\n    # Implement server selection logic\n  }\n}\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serverList:\n    type: f5bigip:sys:Ifile\n    name: server_list\n    properties:\n      name: server-mapping\n      partition: Production\n      content: |\n        web1:10.1.1.10\n        web2:10.1.1.11\n        web3:10.1.1.12\n  ltmServers:\n    type: f5bigip:ltm:Ifile\n    name: ltm_servers\n    properties:\n      name: ltm-server-mapping\n      partition: Production\n      fileName: /Production/server-mapping\n  serverSelector:\n    type: f5bigip:ltm:IRule\n    name: server_selector\n    properties:\n      name: select-server-rule\n      irule: |\n        when HTTP_REQUEST {\n          set server_map [ifile get ltm-server-mapping]\n          # Process server mapping logic\n          foreach line [split $server_map \\\"\\\n        \\\"] {\n            set parts [split $line \\\":\\\"]\n            # Implement server selection logic\n          }\n        }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* The referenced system iFile (specified in \u003cspan pulumi-lang-nodejs=\"`fileName`\" pulumi-lang-dotnet=\"`FileName`\" pulumi-lang-go=\"`fileName`\" pulumi-lang-python=\"`file_name`\" pulumi-lang-yaml=\"`fileName`\" pulumi-lang-java=\"`fileName`\"\u003e`file_name`\u003c/span\u003e) must exist before creating the LTM iFile.\n* LTM iFiles are primarily used in iRules and LTM policies for traffic processing.\n* Changes to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partition`\" pulumi-lang-dotnet=\"`Partition`\" pulumi-lang-go=\"`partition`\" pulumi-lang-python=\"`partition`\" pulumi-lang-yaml=\"`partition`\" pulumi-lang-java=\"`partition`\"\u003e`partition`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`subPath`\" pulumi-lang-dotnet=\"`SubPath`\" pulumi-lang-go=\"`subPath`\" pulumi-lang-python=\"`sub_path`\" pulumi-lang-yaml=\"`subPath`\" pulumi-lang-java=\"`subPath`\"\u003e`sub_path`\u003c/span\u003e will force recreation of the resource.\n* The LTM iFile acts as a reference to the system iFile and doesn't store content directly.\n* Use \u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.sys.Ifile`\" pulumi-lang-go=\"`sys.Ifile`\" pulumi-lang-python=\"`sys.Ifile`\" pulumi-lang-yaml=\"`f5bigip.sys.Ifile`\" pulumi-lang-java=\"`f5bigip.sys.Ifile`\"\u003e`f5bigip.sys.Ifile`\u003c/span\u003e to upload file content, then reference it with \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Ifile`\" pulumi-lang-go=\"`ltm.Ifile`\" pulumi-lang-python=\"`ltm.Ifile`\" pulumi-lang-yaml=\"`f5bigip.ltm.Ifile`\" pulumi-lang-java=\"`f5bigip.ltm.Ifile`\"\u003e`f5bigip.ltm.Ifile`\u003c/span\u003e for LTM usage.\n\n## Related Resources\n\n* \u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.sys.Ifile`\" pulumi-lang-go=\"`sys.Ifile`\" pulumi-lang-python=\"`sys.Ifile`\" pulumi-lang-yaml=\"`f5bigip.sys.Ifile`\" pulumi-lang-java=\"`f5bigip.sys.Ifile`\"\u003e`f5bigip.sys.Ifile`\u003c/span\u003e - Creates system iFiles with content\n* \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.IRule`\" pulumi-lang-dotnet=\"`f5bigip.ltm.IRule`\" pulumi-lang-go=\"`ltm.IRule`\" pulumi-lang-python=\"`ltm.IRule`\" pulumi-lang-yaml=\"`f5bigip.ltm.IRule`\" pulumi-lang-java=\"`f5bigip.ltm.IRule`\"\u003e`f5bigip.ltm.IRule`\u003c/span\u003e - Creates iRules that can reference LTM iFiles\n* \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Policy`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Policy`\" pulumi-lang-go=\"`ltm.Policy`\" pulumi-lang-python=\"`ltm.Policy`\" pulumi-lang-yaml=\"`f5bigip.ltm.Policy`\" pulumi-lang-java=\"`f5bigip.ltm.Policy`\"\u003e`f5bigip.ltm.Policy`\u003c/span\u003e - Creates LTM policies that can use LTM iFiles\n\n## Import\n\nLTM iFiles can be imported using their full path:\n\n```sh\n$ pulumi import f5bigip:ltm/ifile:Ifile example /Common/my-ltm-ifile\n```\n\nFor iFiles with sub-paths:\n\n```sh\n$ pulumi import f5bigip:ltm/ifile:Ifile example /Common/templates/my-ltm-ifile\n```\n\n","properties":{"fileName":{"type":"string","description":"The system iFile name to reference (e.g., `/Common/my-sys-ifile`). This should reference an existing system iFile created with \u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.sys.Ifile`\" pulumi-lang-go=\"`sys.Ifile`\" pulumi-lang-python=\"`sys.Ifile`\" pulumi-lang-yaml=\"`f5bigip.sys.Ifile`\" pulumi-lang-java=\"`f5bigip.sys.Ifile`\"\u003e`f5bigip.sys.Ifile`\u003c/span\u003e.\n"},"fullPath":{"type":"string","description":"The complete path of the LTM iFile on the BIG-IP system.\n"},"name":{"type":"string","description":"Name of the LTM iFile to be created on BIG-IP.\n"},"partition":{"type":"string","description":"Partition where the LTM iFile will be created. Defaults to `Common`.\n"},"subPath":{"type":"string","description":"Subdirectory within the partition for organizing iFiles.\n"}},"required":["fileName","fullPath","name"],"inputProperties":{"fileName":{"type":"string","description":"The system iFile name to reference (e.g., `/Common/my-sys-ifile`). This should reference an existing system iFile created with \u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.sys.Ifile`\" pulumi-lang-go=\"`sys.Ifile`\" pulumi-lang-python=\"`sys.Ifile`\" pulumi-lang-yaml=\"`f5bigip.sys.Ifile`\" pulumi-lang-java=\"`f5bigip.sys.Ifile`\"\u003e`f5bigip.sys.Ifile`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the LTM iFile to be created on BIG-IP.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition where the LTM iFile will be created. Defaults to `Common`.\n","willReplaceOnChanges":true},"subPath":{"type":"string","description":"Subdirectory within the partition for organizing iFiles.\n"}},"requiredInputs":["fileName","name"],"stateInputs":{"description":"Input properties used for looking up and filtering Ifile resources.\n","properties":{"fileName":{"type":"string","description":"The system iFile name to reference (e.g., `/Common/my-sys-ifile`). This should reference an existing system iFile created with \u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.sys.Ifile`\" pulumi-lang-go=\"`sys.Ifile`\" pulumi-lang-python=\"`sys.Ifile`\" pulumi-lang-yaml=\"`f5bigip.sys.Ifile`\" pulumi-lang-java=\"`f5bigip.sys.Ifile`\"\u003e`f5bigip.sys.Ifile`\u003c/span\u003e.\n"},"fullPath":{"type":"string","description":"The complete path of the LTM iFile on the BIG-IP system.\n"},"name":{"type":"string","description":"Name of the LTM iFile to be created on BIG-IP.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition where the LTM iFile will be created. Defaults to `Common`.\n","willReplaceOnChanges":true},"subPath":{"type":"string","description":"Subdirectory within the partition for organizing iFiles.\n"}},"type":"object"}},"f5bigip:ltm/monitor:Monitor":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Monitor`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Monitor`\" pulumi-lang-go=\"`ltm.Monitor`\" pulumi-lang-python=\"`ltm.Monitor`\" pulumi-lang-yaml=\"`f5bigip.ltm.Monitor`\" pulumi-lang-java=\"`f5bigip.ltm.Monitor`\"\u003e`f5bigip.ltm.Monitor`\u003c/span\u003e Configures a custom monitor for use by health checks.\n\nFor resources should be named with their `full path`. The full path is the combination of the `partition + name` of the resource. For example `/Common/test-monitor`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst monitor = new f5bigip.ltm.Monitor(\"monitor\", {\n    name: \"/Common/terraform_monitor\",\n    parent: \"/Common/http\",\n    send: \"GET /some/path\\x0d\\n\",\n    timeout: 999,\n    interval: 998,\n    destination: \"1.2.3.4:1234\",\n});\nconst test_https_monitor = new f5bigip.ltm.Monitor(\"test-https-monitor\", {\n    name: \"/Common/terraform_monitor\",\n    parent: \"/Common/http\",\n    sslProfile: \"/Common/serverssl\",\n    send: \"GET /some/path\\x0d\\n\",\n    interval: 999,\n    timeout: 1000,\n});\nconst test_ftp_monitor = new f5bigip.ltm.Monitor(\"test-ftp-monitor\", {\n    name: \"/Common/ftp-test\",\n    parent: \"/Common/ftp\",\n    interval: 5,\n    timeUntilUp: 0,\n    timeout: 16,\n    destination: \"*:8008\",\n    filename: \"somefile\",\n});\nconst test_postgresql_monitor = new f5bigip.ltm.Monitor(\"test-postgresql-monitor\", {\n    name: \"/Common/test-postgresql-monitor\",\n    parent: \"/Common/postgresql\",\n    send: \"SELECT 'Test';\",\n    receive: \"Test\",\n    interval: 5,\n    timeout: 16,\n    username: \"abcd\",\n    password: \"abcd1234\",\n});\n// Step 1: Create custom parent monitor (inherits from built-in)\nconst parent_monitor = new f5bigip.ltm.Monitor(\"parent-monitor\", {\n    name: \"/Common/parent\",\n    parent: \"/Common/http\",\n    interval: 999,\n    timeout: 1000,\n    send: \"GET /\\x0d\\n\",\n    receive: \"200\",\n});\n// Step 2: Create child monitor that inherits from custom parent\n// Inherited from parent: interval=999, timeout=1000, receive=\"200\"\nconst child_monitor = new f5bigip.ltm.Monitor(\"child-monitor\", {\n    name: \"/Common/child\",\n    parent: \"/Common/http\",\n    customParent: parent_monitor.name,\n    send: \"GET /custom\\x0d\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmonitor = f5bigip.ltm.Monitor(\"monitor\",\n    name=\"/Common/terraform_monitor\",\n    parent=\"/Common/http\",\n    send=\"GET /some/path\\x0d\\n\",\n    timeout=999,\n    interval=998,\n    destination=\"1.2.3.4:1234\")\ntest_https_monitor = f5bigip.ltm.Monitor(\"test-https-monitor\",\n    name=\"/Common/terraform_monitor\",\n    parent=\"/Common/http\",\n    ssl_profile=\"/Common/serverssl\",\n    send=\"GET /some/path\\x0d\\n\",\n    interval=999,\n    timeout=1000)\ntest_ftp_monitor = f5bigip.ltm.Monitor(\"test-ftp-monitor\",\n    name=\"/Common/ftp-test\",\n    parent=\"/Common/ftp\",\n    interval=5,\n    time_until_up=0,\n    timeout=16,\n    destination=\"*:8008\",\n    filename=\"somefile\")\ntest_postgresql_monitor = f5bigip.ltm.Monitor(\"test-postgresql-monitor\",\n    name=\"/Common/test-postgresql-monitor\",\n    parent=\"/Common/postgresql\",\n    send=\"SELECT 'Test';\",\n    receive=\"Test\",\n    interval=5,\n    timeout=16,\n    username=\"abcd\",\n    password=\"abcd1234\")\n# Step 1: Create custom parent monitor (inherits from built-in)\nparent_monitor = f5bigip.ltm.Monitor(\"parent-monitor\",\n    name=\"/Common/parent\",\n    parent=\"/Common/http\",\n    interval=999,\n    timeout=1000,\n    send=\"GET /\\x0d\\n\",\n    receive=\"200\")\n# Step 2: Create child monitor that inherits from custom parent\n# Inherited from parent: interval=999, timeout=1000, receive=\"200\"\nchild_monitor = f5bigip.ltm.Monitor(\"child-monitor\",\n    name=\"/Common/child\",\n    parent=\"/Common/http\",\n    custom_parent=parent_monitor.name,\n    send=\"GET /custom\\x0d\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var monitor = new F5BigIP.Ltm.Monitor(\"monitor\", new()\n    {\n        Name = \"/Common/terraform_monitor\",\n        Parent = \"/Common/http\",\n        Send = @\"GET /some/path\r\n\",\n        Timeout = 999,\n        Interval = 998,\n        Destination = \"1.2.3.4:1234\",\n    });\n\n    var test_https_monitor = new F5BigIP.Ltm.Monitor(\"test-https-monitor\", new()\n    {\n        Name = \"/Common/terraform_monitor\",\n        Parent = \"/Common/http\",\n        SslProfile = \"/Common/serverssl\",\n        Send = @\"GET /some/path\r\n\",\n        Interval = 999,\n        Timeout = 1000,\n    });\n\n    var test_ftp_monitor = new F5BigIP.Ltm.Monitor(\"test-ftp-monitor\", new()\n    {\n        Name = \"/Common/ftp-test\",\n        Parent = \"/Common/ftp\",\n        Interval = 5,\n        TimeUntilUp = 0,\n        Timeout = 16,\n        Destination = \"*:8008\",\n        Filename = \"somefile\",\n    });\n\n    var test_postgresql_monitor = new F5BigIP.Ltm.Monitor(\"test-postgresql-monitor\", new()\n    {\n        Name = \"/Common/test-postgresql-monitor\",\n        Parent = \"/Common/postgresql\",\n        Send = \"SELECT 'Test';\",\n        Receive = \"Test\",\n        Interval = 5,\n        Timeout = 16,\n        Username = \"abcd\",\n        Password = \"abcd1234\",\n    });\n\n    // Step 1: Create custom parent monitor (inherits from built-in)\n    var parent_monitor = new F5BigIP.Ltm.Monitor(\"parent-monitor\", new()\n    {\n        Name = \"/Common/parent\",\n        Parent = \"/Common/http\",\n        Interval = 999,\n        Timeout = 1000,\n        Send = @\"GET /\r\n\",\n        Receive = \"200\",\n    });\n\n    // Step 2: Create child monitor that inherits from custom parent\n    // Inherited from parent: interval=999, timeout=1000, receive=\"200\"\n    var child_monitor = new F5BigIP.Ltm.Monitor(\"child-monitor\", new()\n    {\n        Name = \"/Common/child\",\n        Parent = \"/Common/http\",\n        CustomParent = parent_monitor.Name,\n        Send = @\"GET /custom\r\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewMonitor(ctx, \"monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:        pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent:      pulumi.String(\"/Common/http\"),\n\t\t\tSend:        pulumi.String(\"GET /some/path\r\\n\"),\n\t\t\tTimeout:     pulumi.Int(999),\n\t\t\tInterval:    pulumi.Int(998),\n\t\t\tDestination: pulumi.String(\"1.2.3.4:1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewMonitor(ctx, \"test-https-monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:       pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent:     pulumi.String(\"/Common/http\"),\n\t\t\tSslProfile: pulumi.String(\"/Common/serverssl\"),\n\t\t\tSend:       pulumi.String(\"GET /some/path\r\\n\"),\n\t\t\tInterval:   pulumi.Int(999),\n\t\t\tTimeout:    pulumi.Int(1000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewMonitor(ctx, \"test-ftp-monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:        pulumi.String(\"/Common/ftp-test\"),\n\t\t\tParent:      pulumi.String(\"/Common/ftp\"),\n\t\t\tInterval:    pulumi.Int(5),\n\t\t\tTimeUntilUp: pulumi.Int(0),\n\t\t\tTimeout:     pulumi.Int(16),\n\t\t\tDestination: pulumi.String(\"*:8008\"),\n\t\t\tFilename:    pulumi.String(\"somefile\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewMonitor(ctx, \"test-postgresql-monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:     pulumi.String(\"/Common/test-postgresql-monitor\"),\n\t\t\tParent:   pulumi.String(\"/Common/postgresql\"),\n\t\t\tSend:     pulumi.String(\"SELECT 'Test';\"),\n\t\t\tReceive:  pulumi.String(\"Test\"),\n\t\t\tInterval: pulumi.Int(5),\n\t\t\tTimeout:  pulumi.Int(16),\n\t\t\tUsername: pulumi.String(\"abcd\"),\n\t\t\tPassword: pulumi.String(\"abcd1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Step 1: Create custom parent monitor (inherits from built-in)\n\t\tparent_monitor, err := ltm.NewMonitor(ctx, \"parent-monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:     pulumi.String(\"/Common/parent\"),\n\t\t\tParent:   pulumi.String(\"/Common/http\"),\n\t\t\tInterval: pulumi.Int(999),\n\t\t\tTimeout:  pulumi.Int(1000),\n\t\t\tSend:     pulumi.String(\"GET /\r\\n\"),\n\t\t\tReceive:  pulumi.String(\"200\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Step 2: Create child monitor that inherits from custom parent\n\t\t// Inherited from parent: interval=999, timeout=1000, receive=\"200\"\n\t\t_, err = ltm.NewMonitor(ctx, \"child-monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:         pulumi.String(\"/Common/child\"),\n\t\t\tParent:       pulumi.String(\"/Common/http\"),\n\t\t\tCustomParent: parent_monitor.Name,\n\t\t\tSend:         pulumi.String(\"GET /custom\r\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.Monitor;\nimport com.pulumi.f5bigip.ltm.MonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n            .name(\"/Common/terraform_monitor\")\n            .parent(\"/Common/http\")\n            .send(\"\"\"\nGET /some/path\r\n            \"\"\")\n            .timeout(999)\n            .interval(998)\n            .destination(\"1.2.3.4:1234\")\n            .build());\n\n        var test_https_monitor = new Monitor(\"test-https-monitor\", MonitorArgs.builder()\n            .name(\"/Common/terraform_monitor\")\n            .parent(\"/Common/http\")\n            .sslProfile(\"/Common/serverssl\")\n            .send(\"\"\"\nGET /some/path\r\n            \"\"\")\n            .interval(999)\n            .timeout(1000)\n            .build());\n\n        var test_ftp_monitor = new Monitor(\"test-ftp-monitor\", MonitorArgs.builder()\n            .name(\"/Common/ftp-test\")\n            .parent(\"/Common/ftp\")\n            .interval(5)\n            .timeUntilUp(0)\n            .timeout(16)\n            .destination(\"*:8008\")\n            .filename(\"somefile\")\n            .build());\n\n        var test_postgresql_monitor = new Monitor(\"test-postgresql-monitor\", MonitorArgs.builder()\n            .name(\"/Common/test-postgresql-monitor\")\n            .parent(\"/Common/postgresql\")\n            .send(\"SELECT 'Test';\")\n            .receive(\"Test\")\n            .interval(5)\n            .timeout(16)\n            .username(\"abcd\")\n            .password(\"abcd1234\")\n            .build());\n\n        // Step 1: Create custom parent monitor (inherits from built-in)\n        var parent_monitor = new Monitor(\"parent-monitor\", MonitorArgs.builder()\n            .name(\"/Common/parent\")\n            .parent(\"/Common/http\")\n            .interval(999)\n            .timeout(1000)\n            .send(\"\"\"\nGET /\r\n            \"\"\")\n            .receive(\"200\")\n            .build());\n\n        // Step 2: Create child monitor that inherits from custom parent\n        // Inherited from parent: interval=999, timeout=1000, receive=\"200\"\n        var child_monitor = new Monitor(\"child-monitor\", MonitorArgs.builder()\n            .name(\"/Common/child\")\n            .parent(\"/Common/http\")\n            .customParent(parent_monitor.name())\n            .send(\"\"\"\nGET /custom\r\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/terraform_monitor\n      parent: /Common/http\n      send: \"GET /some/path\\r\\n\"\n      timeout: '999'\n      interval: '998'\n      destination: 1.2.3.4:1234\n  test-https-monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/terraform_monitor\n      parent: /Common/http\n      sslProfile: /Common/serverssl\n      send: \"GET /some/path\\r\\n\"\n      interval: '999'\n      timeout: '1000'\n  test-ftp-monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/ftp-test\n      parent: /Common/ftp\n      interval: 5\n      timeUntilUp: 0\n      timeout: 16\n      destination: '*:8008'\n      filename: somefile\n  test-postgresql-monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/test-postgresql-monitor\n      parent: /Common/postgresql\n      send: SELECT 'Test';\n      receive: Test\n      interval: 5\n      timeout: 16\n      username: abcd\n      password: abcd1234\n  # Step 1: Create custom parent monitor (inherits from built-in)\n  parent-monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/parent\n      parent: /Common/http\n      interval: 999 # ← Child will inherit if not specified\n      timeout: 1000 # ← Child will inherit if not specified\n      send: \"GET /\\r\\n\"\n      receive: '200'\n  # Step 2: Create child monitor that inherits from custom parent\n  # Inherited from parent: interval=999, timeout=1000, receive=\"200\"\n  child-monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/child\n      parent: /Common/http\n      customParent: ${[\"parent-monitor\"].name}\n      send: \"GET /custom\\r\\n\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing monitor can be imported into this resource by supplying monitor Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_monitor.monitor /Common/terraform_monitor\n```\n","properties":{"adaptive":{"type":"string","description":"Specifies whether adaptive response time monitoring is enabled for this monitor. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"adaptiveLimit":{"type":"integer","description":"Specifies the absolute number of milliseconds that may not be exceeded by a monitor probe, regardless of Allowed Divergence.\n"},"base":{"type":"string","description":"Specifies the location in the LDAP tree from which the monitor starts the health check"},"chaseReferrals":{"type":"string","description":"Specifies whether the system will query the LDAP servers pointed to by any referrals in the query results."},"compatibility":{"type":"string","description":"Specifies, when enabled, that the SSL options setting (in OpenSSL) is set to ALL. Accepts 'enabled' or 'disabled' values, the default value is 'enabled'.\n"},"customParent":{"type":"string","description":"Custom parent monitor for the system to use for setting initial values for the new monitor.\n"},"database":{"type":"string","description":"Specifies the database in which the user is created\n"},"destination":{"type":"string","description":"Specify an alias address for monitoring\n"},"domain":{"type":"string","description":"Specifies the domain name to check, for example, Domain is allowed only in case of Parent as /Common/smtp."},"filename":{"type":"string","description":"Specifies the full path and file name of the file that the system attempts to download. The health check is successful if the system can download the file.\n"},"filter":{"type":"string","description":"Specifies an LDAP key for which the monitor searches"},"interval":{"type":"integer","description":"Specifies, in seconds, the frequency at which the system issues the monitor check when either the resource is down or the status of the resource is unknown,value of \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e should be always less than \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"ipDscp":{"type":"integer","description":"Displays the differentiated services code point (DSCP).The default is `0 (zero)`.\n"},"mandatoryAttributes":{"type":"string","description":"Specifies whether the target must include attributes in its response to be considered up. The options are no (Specifies that the system performs only a one-level search (based on the Filter setting), and does not require that the target returns any attributes.) and yes (Specifies that the system performs a sub-tree search, and if the target returns no attributes, the target is considered down.)"},"manualResume":{"type":"string","description":"Specifies whether the system automatically changes the status of a resource to Enabled at the next successful monitor check.\n"},"mode":{"type":"string","description":"Specifies the data transfer process (DTP) mode. The default value is passive. The options are passive (Specifies that the monitor sends a data transfer request to the FTP server. When the FTP server receives the request, the FTP server then initiates and establishes the data connection.) and active (Specifies that the monitor initiates and establishes the data connection with the FTP server.).\n"},"name":{"type":"string","description":"Specifies the Name of the LTM Monitor.Name of Monitor should be full path,full path is the combination of the `partition + monitor name`,For ex:`/Common/test-ltm-monitor`.\n"},"parent":{"type":"string","description":"Parent monitor for the system to use for setting initial values for the new monitor.\n"},"password":{"type":"string","description":"Specifies the password if the monitored target requires authentication\n","secret":true},"receive":{"type":"string","description":"Specifies the regular expression representing the text string that the monitor looks for in the returned resource.\n"},"receiveDisable":{"type":"string","description":"The system marks the node or pool member disabled when its response matches Receive Disable String but not Receive String.\n"},"reverse":{"type":"string","description":"Instructs the system to mark the target resource down when the test is successful.\n"},"security":{"type":"string","description":"Specifies the secure communications protocol that the monitor uses to communicate with the target. The options are none (Specifies that the system does not use a security protocol for communications with the target.), ssl (Specifies that the system uses the SSL protocol for communications with the target.), and tls (Specifies that the system uses the TLS protocol for communications with the target.)"},"send":{"type":"string","description":"Specifies the text string that the monitor sends to the target object.\n"},"sslProfile":{"type":"string","description":"Specifies the ssl profile for the monitor. It only makes sense when the parent is `/Common/https`\n"},"timeUntilUp":{"type":"integer","description":"Specifies the number of seconds to wait after a resource first responds correctly to the monitor before setting the resource to up.\n"},"timeout":{"type":"integer","description":"Specifies the number of seconds the target has in which to respond to the monitor request. The default is \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e seconds\n"},"transparent":{"type":"string","description":"Specifies whether the monitor operates in transparent mode.\n"},"upInterval":{"type":"integer","description":"Specifies the interval for the system to use to perform the health check when a resource is up. The default is `0(Disabled)`\n"},"username":{"type":"string","description":"Specifies the user name if the monitored target requires authentication\n"}},"required":["adaptive","adaptiveLimit","chaseReferrals","destination","interval","ipDscp","manualResume","mode","name","parent","reverse","send","timeUntilUp","timeout","transparent","upInterval"],"inputProperties":{"adaptive":{"type":"string","description":"Specifies whether adaptive response time monitoring is enabled for this monitor. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"adaptiveLimit":{"type":"integer","description":"Specifies the absolute number of milliseconds that may not be exceeded by a monitor probe, regardless of Allowed Divergence.\n"},"base":{"type":"string","description":"Specifies the location in the LDAP tree from which the monitor starts the health check"},"chaseReferrals":{"type":"string","description":"Specifies whether the system will query the LDAP servers pointed to by any referrals in the query results."},"compatibility":{"type":"string","description":"Specifies, when enabled, that the SSL options setting (in OpenSSL) is set to ALL. Accepts 'enabled' or 'disabled' values, the default value is 'enabled'.\n"},"customParent":{"type":"string","description":"Custom parent monitor for the system to use for setting initial values for the new monitor.\n"},"database":{"type":"string","description":"Specifies the database in which the user is created\n"},"destination":{"type":"string","description":"Specify an alias address for monitoring\n"},"domain":{"type":"string","description":"Specifies the domain name to check, for example, Domain is allowed only in case of Parent as /Common/smtp."},"filename":{"type":"string","description":"Specifies the full path and file name of the file that the system attempts to download. The health check is successful if the system can download the file.\n"},"filter":{"type":"string","description":"Specifies an LDAP key for which the monitor searches"},"interval":{"type":"integer","description":"Specifies, in seconds, the frequency at which the system issues the monitor check when either the resource is down or the status of the resource is unknown,value of \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e should be always less than \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"ipDscp":{"type":"integer","description":"Displays the differentiated services code point (DSCP).The default is `0 (zero)`.\n"},"mandatoryAttributes":{"type":"string","description":"Specifies whether the target must include attributes in its response to be considered up. The options are no (Specifies that the system performs only a one-level search (based on the Filter setting), and does not require that the target returns any attributes.) and yes (Specifies that the system performs a sub-tree search, and if the target returns no attributes, the target is considered down.)"},"manualResume":{"type":"string","description":"Specifies whether the system automatically changes the status of a resource to Enabled at the next successful monitor check.\n"},"mode":{"type":"string","description":"Specifies the data transfer process (DTP) mode. The default value is passive. The options are passive (Specifies that the monitor sends a data transfer request to the FTP server. When the FTP server receives the request, the FTP server then initiates and establishes the data connection.) and active (Specifies that the monitor initiates and establishes the data connection with the FTP server.).\n"},"name":{"type":"string","description":"Specifies the Name of the LTM Monitor.Name of Monitor should be full path,full path is the combination of the `partition + monitor name`,For ex:`/Common/test-ltm-monitor`.\n","willReplaceOnChanges":true},"parent":{"type":"string","description":"Parent monitor for the system to use for setting initial values for the new monitor.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"Specifies the password if the monitored target requires authentication\n","secret":true},"receive":{"type":"string","description":"Specifies the regular expression representing the text string that the monitor looks for in the returned resource.\n"},"receiveDisable":{"type":"string","description":"The system marks the node or pool member disabled when its response matches Receive Disable String but not Receive String.\n"},"reverse":{"type":"string","description":"Instructs the system to mark the target resource down when the test is successful.\n"},"security":{"type":"string","description":"Specifies the secure communications protocol that the monitor uses to communicate with the target. The options are none (Specifies that the system does not use a security protocol for communications with the target.), ssl (Specifies that the system uses the SSL protocol for communications with the target.), and tls (Specifies that the system uses the TLS protocol for communications with the target.)"},"send":{"type":"string","description":"Specifies the text string that the monitor sends to the target object.\n"},"sslProfile":{"type":"string","description":"Specifies the ssl profile for the monitor. It only makes sense when the parent is `/Common/https`\n"},"timeUntilUp":{"type":"integer","description":"Specifies the number of seconds to wait after a resource first responds correctly to the monitor before setting the resource to up.\n"},"timeout":{"type":"integer","description":"Specifies the number of seconds the target has in which to respond to the monitor request. The default is \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e seconds\n"},"transparent":{"type":"string","description":"Specifies whether the monitor operates in transparent mode.\n"},"upInterval":{"type":"integer","description":"Specifies the interval for the system to use to perform the health check when a resource is up. The default is `0(Disabled)`\n"},"username":{"type":"string","description":"Specifies the user name if the monitored target requires authentication\n"}},"requiredInputs":["name","parent"],"stateInputs":{"description":"Input properties used for looking up and filtering Monitor resources.\n","properties":{"adaptive":{"type":"string","description":"Specifies whether adaptive response time monitoring is enabled for this monitor. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"adaptiveLimit":{"type":"integer","description":"Specifies the absolute number of milliseconds that may not be exceeded by a monitor probe, regardless of Allowed Divergence.\n"},"base":{"type":"string","description":"Specifies the location in the LDAP tree from which the monitor starts the health check"},"chaseReferrals":{"type":"string","description":"Specifies whether the system will query the LDAP servers pointed to by any referrals in the query results."},"compatibility":{"type":"string","description":"Specifies, when enabled, that the SSL options setting (in OpenSSL) is set to ALL. Accepts 'enabled' or 'disabled' values, the default value is 'enabled'.\n"},"customParent":{"type":"string","description":"Custom parent monitor for the system to use for setting initial values for the new monitor.\n"},"database":{"type":"string","description":"Specifies the database in which the user is created\n"},"destination":{"type":"string","description":"Specify an alias address for monitoring\n"},"domain":{"type":"string","description":"Specifies the domain name to check, for example, Domain is allowed only in case of Parent as /Common/smtp."},"filename":{"type":"string","description":"Specifies the full path and file name of the file that the system attempts to download. The health check is successful if the system can download the file.\n"},"filter":{"type":"string","description":"Specifies an LDAP key for which the monitor searches"},"interval":{"type":"integer","description":"Specifies, in seconds, the frequency at which the system issues the monitor check when either the resource is down or the status of the resource is unknown,value of \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\"\u003e`interval`\u003c/span\u003e should be always less than \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"ipDscp":{"type":"integer","description":"Displays the differentiated services code point (DSCP).The default is `0 (zero)`.\n"},"mandatoryAttributes":{"type":"string","description":"Specifies whether the target must include attributes in its response to be considered up. The options are no (Specifies that the system performs only a one-level search (based on the Filter setting), and does not require that the target returns any attributes.) and yes (Specifies that the system performs a sub-tree search, and if the target returns no attributes, the target is considered down.)"},"manualResume":{"type":"string","description":"Specifies whether the system automatically changes the status of a resource to Enabled at the next successful monitor check.\n"},"mode":{"type":"string","description":"Specifies the data transfer process (DTP) mode. The default value is passive. The options are passive (Specifies that the monitor sends a data transfer request to the FTP server. When the FTP server receives the request, the FTP server then initiates and establishes the data connection.) and active (Specifies that the monitor initiates and establishes the data connection with the FTP server.).\n"},"name":{"type":"string","description":"Specifies the Name of the LTM Monitor.Name of Monitor should be full path,full path is the combination of the `partition + monitor name`,For ex:`/Common/test-ltm-monitor`.\n","willReplaceOnChanges":true},"parent":{"type":"string","description":"Parent monitor for the system to use for setting initial values for the new monitor.\n","willReplaceOnChanges":true},"password":{"type":"string","description":"Specifies the password if the monitored target requires authentication\n","secret":true},"receive":{"type":"string","description":"Specifies the regular expression representing the text string that the monitor looks for in the returned resource.\n"},"receiveDisable":{"type":"string","description":"The system marks the node or pool member disabled when its response matches Receive Disable String but not Receive String.\n"},"reverse":{"type":"string","description":"Instructs the system to mark the target resource down when the test is successful.\n"},"security":{"type":"string","description":"Specifies the secure communications protocol that the monitor uses to communicate with the target. The options are none (Specifies that the system does not use a security protocol for communications with the target.), ssl (Specifies that the system uses the SSL protocol for communications with the target.), and tls (Specifies that the system uses the TLS protocol for communications with the target.)"},"send":{"type":"string","description":"Specifies the text string that the monitor sends to the target object.\n"},"sslProfile":{"type":"string","description":"Specifies the ssl profile for the monitor. It only makes sense when the parent is `/Common/https`\n"},"timeUntilUp":{"type":"integer","description":"Specifies the number of seconds to wait after a resource first responds correctly to the monitor before setting the resource to up.\n"},"timeout":{"type":"integer","description":"Specifies the number of seconds the target has in which to respond to the monitor request. The default is \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e seconds\n"},"transparent":{"type":"string","description":"Specifies whether the monitor operates in transparent mode.\n"},"upInterval":{"type":"integer","description":"Specifies the interval for the system to use to perform the health check when a resource is up. The default is `0(Disabled)`\n"},"username":{"type":"string","description":"Specifies the user name if the monitored target requires authentication\n"}},"type":"object"}},"f5bigip:ltm/node:Node":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Node`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Node`\" pulumi-lang-go=\"`ltm.Node`\" pulumi-lang-python=\"`ltm.Node`\" pulumi-lang-yaml=\"`f5bigip.ltm.Node`\" pulumi-lang-java=\"`f5bigip.ltm.Node`\"\u003e`f5bigip.ltm.Node`\u003c/span\u003e Manages a node configuration\n\nFor resources should be named with their `full path`.The full path is the combination of the `partition + name` of the resource( example: `/Common/my-node` ) or `partition + Direcroty + name` of the resource ( example: `/Common/test/my-node` ).\nWhen including directory in `full path` we have to make sure it is created in the given partition before using it.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst node = new f5bigip.ltm.Node(\"node\", {\n    name: \"/Common/terraform_node1\",\n    address: \"192.168.30.1\",\n    connectionLimit: 0,\n    dynamicRatio: 1,\n    monitor: \"/Common/icmp\",\n    description: \"Test-Node\",\n    rateLimit: \"disabled\",\n    fqdn: {\n        addressFamily: \"ipv4\",\n        interval: \"3000\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nnode = f5bigip.ltm.Node(\"node\",\n    name=\"/Common/terraform_node1\",\n    address=\"192.168.30.1\",\n    connection_limit=0,\n    dynamic_ratio=1,\n    monitor=\"/Common/icmp\",\n    description=\"Test-Node\",\n    rate_limit=\"disabled\",\n    fqdn={\n        \"address_family\": \"ipv4\",\n        \"interval\": \"3000\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var node = new F5BigIP.Ltm.Node(\"node\", new()\n    {\n        Name = \"/Common/terraform_node1\",\n        Address = \"192.168.30.1\",\n        ConnectionLimit = 0,\n        DynamicRatio = 1,\n        Monitor = \"/Common/icmp\",\n        Description = \"Test-Node\",\n        RateLimit = \"disabled\",\n        Fqdn = new F5BigIP.Ltm.Inputs.NodeFqdnArgs\n        {\n            AddressFamily = \"ipv4\",\n            Interval = \"3000\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewNode(ctx, \"node\", \u0026ltm.NodeArgs{\n\t\t\tName:            pulumi.String(\"/Common/terraform_node1\"),\n\t\t\tAddress:         pulumi.String(\"192.168.30.1\"),\n\t\t\tConnectionLimit: pulumi.Int(0),\n\t\t\tDynamicRatio:    pulumi.Int(1),\n\t\t\tMonitor:         pulumi.String(\"/Common/icmp\"),\n\t\t\tDescription:     pulumi.String(\"Test-Node\"),\n\t\t\tRateLimit:       pulumi.String(\"disabled\"),\n\t\t\tFqdn: \u0026ltm.NodeFqdnArgs{\n\t\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\t\tInterval:      pulumi.String(\"3000\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.Node;\nimport com.pulumi.f5bigip.ltm.NodeArgs;\nimport com.pulumi.f5bigip.ltm.inputs.NodeFqdnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var node = new Node(\"node\", NodeArgs.builder()\n            .name(\"/Common/terraform_node1\")\n            .address(\"192.168.30.1\")\n            .connectionLimit(0)\n            .dynamicRatio(1)\n            .monitor(\"/Common/icmp\")\n            .description(\"Test-Node\")\n            .rateLimit(\"disabled\")\n            .fqdn(NodeFqdnArgs.builder()\n                .addressFamily(\"ipv4\")\n                .interval(\"3000\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  node:\n    type: f5bigip:ltm:Node\n    properties:\n      name: /Common/terraform_node1\n      address: 192.168.30.1\n      connectionLimit: '0'\n      dynamicRatio: '1'\n      monitor: /Common/icmp\n      description: Test-Node\n      rateLimit: disabled\n      fqdn:\n        addressFamily: ipv4\n        interval: '3000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing Node can be imported into this resource by supplying Node Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_node.site2_node \"/TEST/testnode\"\n            (or)\n$ terraform import bigip_ltm_node.site2_node \"/Common/3.3.3.3\"\n\n```\n","properties":{"address":{"type":"string","description":"IP or hostname of the node\n"},"connectionLimit":{"type":"integer","description":"Specifies the maximum number of connections allowed for the node or node address.\n"},"description":{"type":"string","description":"User-defined description give ltm_node\n"},"dynamicRatio":{"type":"integer","description":"Specifies the fixed ratio value used for a node during ratio load balancing.\n"},"fqdn":{"$ref":"#/types/f5bigip:ltm/NodeFqdn:NodeFqdn"},"monitor":{"type":"string","description":"specifies the name of the monitor or monitor rule that you want to associate with the node.\n"},"name":{"type":"string","description":"Name of the node\n"},"rateLimit":{"type":"string","description":"Specifies the maximum number of connections per second allowed for a node or node address. The default value is 'disabled'.\n"},"ratio":{"type":"integer","description":"Sets the ratio number for the node."},"session":{"type":"string","description":"Enables or disables the node for new sessions. Can be set to `user-enabled` or `user-disabled`. (Default: `user-enabled`).\n"},"state":{"type":"string","description":"Default is \"user-up\" you can set to \"user-down\" if you want to disable\n"}},"required":["address","connectionLimit","dynamicRatio","name","rateLimit","ratio","session","state"],"inputProperties":{"address":{"type":"string","description":"IP or hostname of the node\n","willReplaceOnChanges":true},"connectionLimit":{"type":"integer","description":"Specifies the maximum number of connections allowed for the node or node address.\n"},"description":{"type":"string","description":"User-defined description give ltm_node\n"},"dynamicRatio":{"type":"integer","description":"Specifies the fixed ratio value used for a node during ratio load balancing.\n"},"fqdn":{"$ref":"#/types/f5bigip:ltm/NodeFqdn:NodeFqdn"},"monitor":{"type":"string","description":"specifies the name of the monitor or monitor rule that you want to associate with the node.\n"},"name":{"type":"string","description":"Name of the node\n","willReplaceOnChanges":true},"rateLimit":{"type":"string","description":"Specifies the maximum number of connections per second allowed for a node or node address. The default value is 'disabled'.\n"},"ratio":{"type":"integer","description":"Sets the ratio number for the node."},"session":{"type":"string","description":"Enables or disables the node for new sessions. Can be set to `user-enabled` or `user-disabled`. (Default: `user-enabled`).\n"},"state":{"type":"string","description":"Default is \"user-up\" you can set to \"user-down\" if you want to disable\n"}},"requiredInputs":["address","name"],"stateInputs":{"description":"Input properties used for looking up and filtering Node resources.\n","properties":{"address":{"type":"string","description":"IP or hostname of the node\n","willReplaceOnChanges":true},"connectionLimit":{"type":"integer","description":"Specifies the maximum number of connections allowed for the node or node address.\n"},"description":{"type":"string","description":"User-defined description give ltm_node\n"},"dynamicRatio":{"type":"integer","description":"Specifies the fixed ratio value used for a node during ratio load balancing.\n"},"fqdn":{"$ref":"#/types/f5bigip:ltm/NodeFqdn:NodeFqdn"},"monitor":{"type":"string","description":"specifies the name of the monitor or monitor rule that you want to associate with the node.\n"},"name":{"type":"string","description":"Name of the node\n","willReplaceOnChanges":true},"rateLimit":{"type":"string","description":"Specifies the maximum number of connections per second allowed for a node or node address. The default value is 'disabled'.\n"},"ratio":{"type":"integer","description":"Sets the ratio number for the node."},"session":{"type":"string","description":"Enables or disables the node for new sessions. Can be set to `user-enabled` or `user-disabled`. (Default: `user-enabled`).\n"},"state":{"type":"string","description":"Default is \"user-up\" you can set to \"user-down\" if you want to disable\n"}},"type":"object"}},"f5bigip:ltm/persistenceProfileCookie:PersistenceProfileCookie":{"description":"Configures a cookie persistence profile\n\n## Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst testPpcookie = new f5bigip.ltm.PersistenceProfileCookie(\"test_ppcookie\", {\n    name: \"/Common/terraform_cookie\",\n    defaultsFrom: \"/Common/cookie\",\n    matchAcrossPools: \"enabled\",\n    matchAcrossServices: \"enabled\",\n    matchAcrossVirtuals: \"enabled\",\n    timeout: 3600,\n    overrideConnLimit: \"enabled\",\n    alwaysSend: \"enabled\",\n    cookieEncryption: \"required\",\n    cookieEncryptionPassphrase: \"iam\",\n    cookieName: \"ham\",\n    expiration: \"1:0:0\",\n    hashLength: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_ppcookie = f5bigip.ltm.PersistenceProfileCookie(\"test_ppcookie\",\n    name=\"/Common/terraform_cookie\",\n    defaults_from=\"/Common/cookie\",\n    match_across_pools=\"enabled\",\n    match_across_services=\"enabled\",\n    match_across_virtuals=\"enabled\",\n    timeout=3600,\n    override_conn_limit=\"enabled\",\n    always_send=\"enabled\",\n    cookie_encryption=\"required\",\n    cookie_encryption_passphrase=\"iam\",\n    cookie_name=\"ham\",\n    expiration=\"1:0:0\",\n    hash_length=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testPpcookie = new F5BigIP.Ltm.PersistenceProfileCookie(\"test_ppcookie\", new()\n    {\n        Name = \"/Common/terraform_cookie\",\n        DefaultsFrom = \"/Common/cookie\",\n        MatchAcrossPools = \"enabled\",\n        MatchAcrossServices = \"enabled\",\n        MatchAcrossVirtuals = \"enabled\",\n        Timeout = 3600,\n        OverrideConnLimit = \"enabled\",\n        AlwaysSend = \"enabled\",\n        CookieEncryption = \"required\",\n        CookieEncryptionPassphrase = \"iam\",\n        CookieName = \"ham\",\n        Expiration = \"1:0:0\",\n        HashLength = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewPersistenceProfileCookie(ctx, \"test_ppcookie\", \u0026ltm.PersistenceProfileCookieArgs{\n\t\t\tName:                       pulumi.String(\"/Common/terraform_cookie\"),\n\t\t\tDefaultsFrom:               pulumi.String(\"/Common/cookie\"),\n\t\t\tMatchAcrossPools:           pulumi.String(\"enabled\"),\n\t\t\tMatchAcrossServices:        pulumi.String(\"enabled\"),\n\t\t\tMatchAcrossVirtuals:        pulumi.String(\"enabled\"),\n\t\t\tTimeout:                    pulumi.Int(3600),\n\t\t\tOverrideConnLimit:          pulumi.String(\"enabled\"),\n\t\t\tAlwaysSend:                 pulumi.String(\"enabled\"),\n\t\t\tCookieEncryption:           pulumi.String(\"required\"),\n\t\t\tCookieEncryptionPassphrase: pulumi.String(\"iam\"),\n\t\t\tCookieName:                 pulumi.String(\"ham\"),\n\t\t\tExpiration:                 pulumi.String(\"1:0:0\"),\n\t\t\tHashLength:                 pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.PersistenceProfileCookie;\nimport com.pulumi.f5bigip.ltm.PersistenceProfileCookieArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testPpcookie = new PersistenceProfileCookie(\"testPpcookie\", PersistenceProfileCookieArgs.builder()\n            .name(\"/Common/terraform_cookie\")\n            .defaultsFrom(\"/Common/cookie\")\n            .matchAcrossPools(\"enabled\")\n            .matchAcrossServices(\"enabled\")\n            .matchAcrossVirtuals(\"enabled\")\n            .timeout(3600)\n            .overrideConnLimit(\"enabled\")\n            .alwaysSend(\"enabled\")\n            .cookieEncryption(\"required\")\n            .cookieEncryptionPassphrase(\"iam\")\n            .cookieName(\"ham\")\n            .expiration(\"1:0:0\")\n            .hashLength(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testPpcookie:\n    type: f5bigip:ltm:PersistenceProfileCookie\n    name: test_ppcookie\n    properties:\n      name: /Common/terraform_cookie\n      defaultsFrom: /Common/cookie\n      matchAcrossPools: enabled\n      matchAcrossServices: enabled\n      matchAcrossVirtuals: enabled\n      timeout: 3600\n      overrideConnLimit: enabled\n      alwaysSend: enabled\n      cookieEncryption: required\n      cookieEncryptionPassphrase: iam\n      cookieName: ham\n      expiration: 1:0:0\n      hashLength: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Reference\n\n\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e - (Required) Name of the virtual address\n\n\u003cspan pulumi-lang-nodejs=\"`defaultsFrom`\" pulumi-lang-dotnet=\"`DefaultsFrom`\" pulumi-lang-go=\"`defaultsFrom`\" pulumi-lang-python=\"`defaults_from`\" pulumi-lang-yaml=\"`defaultsFrom`\" pulumi-lang-java=\"`defaultsFrom`\"\u003e`defaults_from`\u003c/span\u003e - (Required) Parent cookie persistence profile\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossPools`\" pulumi-lang-dotnet=\"`MatchAcrossPools`\" pulumi-lang-go=\"`matchAcrossPools`\" pulumi-lang-python=\"`match_across_pools`\" pulumi-lang-yaml=\"`matchAcrossPools`\" pulumi-lang-java=\"`matchAcrossPools`\"\u003e`match_across_pools`\u003c/span\u003e (Optional) (enabled or disabled) match across pools with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossServices`\" pulumi-lang-dotnet=\"`MatchAcrossServices`\" pulumi-lang-go=\"`matchAcrossServices`\" pulumi-lang-python=\"`match_across_services`\" pulumi-lang-yaml=\"`matchAcrossServices`\" pulumi-lang-java=\"`matchAcrossServices`\"\u003e`match_across_services`\u003c/span\u003e (Optional) (enabled or disabled) match across services with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossVirtuals`\" pulumi-lang-dotnet=\"`MatchAcrossVirtuals`\" pulumi-lang-go=\"`matchAcrossVirtuals`\" pulumi-lang-python=\"`match_across_virtuals`\" pulumi-lang-yaml=\"`matchAcrossVirtuals`\" pulumi-lang-java=\"`matchAcrossVirtuals`\"\u003e`match_across_virtuals`\u003c/span\u003e (Optional) (enabled or disabled) match across virtual servers with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\"\u003e`method`\u003c/span\u003e (Optional) Specifies the type of cookie processing that the system uses. The default value is insert\n\n\u003cspan pulumi-lang-nodejs=\"`mirror`\" pulumi-lang-dotnet=\"`Mirror`\" pulumi-lang-go=\"`mirror`\" pulumi-lang-python=\"`mirror`\" pulumi-lang-yaml=\"`mirror`\" pulumi-lang-java=\"`mirror`\"\u003e`mirror`\u003c/span\u003e (Optional) (enabled or disabled) mirror persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e (Optional) (enabled or disabled) Timeout for persistence of the session in seconds\n\n\u003cspan pulumi-lang-nodejs=\"`overrideConnLimit`\" pulumi-lang-dotnet=\"`OverrideConnLimit`\" pulumi-lang-go=\"`overrideConnLimit`\" pulumi-lang-python=\"`override_conn_limit`\" pulumi-lang-yaml=\"`overrideConnLimit`\" pulumi-lang-java=\"`overrideConnLimit`\"\u003e`override_conn_limit`\u003c/span\u003e (Optional) (enabled or disabled) Enable or dissable pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden.\n\n\u003cspan pulumi-lang-nodejs=\"`alwaysSend`\" pulumi-lang-dotnet=\"`AlwaysSend`\" pulumi-lang-go=\"`alwaysSend`\" pulumi-lang-python=\"`always_send`\" pulumi-lang-yaml=\"`alwaysSend`\" pulumi-lang-java=\"`alwaysSend`\"\u003e`always_send`\u003c/span\u003e (Optional) (enabled or disabled) always send cookies\n\n\u003cspan pulumi-lang-nodejs=\"`cookieEncryption`\" pulumi-lang-dotnet=\"`CookieEncryption`\" pulumi-lang-go=\"`cookieEncryption`\" pulumi-lang-python=\"`cookie_encryption`\" pulumi-lang-yaml=\"`cookieEncryption`\" pulumi-lang-java=\"`cookieEncryption`\"\u003e`cookie_encryption`\u003c/span\u003e (Optional) (required, preferred, or disabled) To required, preferred, or disabled policy for cookie encryption\n\n\u003cspan pulumi-lang-nodejs=\"`cookieEncryptionPassphrase`\" pulumi-lang-dotnet=\"`CookieEncryptionPassphrase`\" pulumi-lang-go=\"`cookieEncryptionPassphrase`\" pulumi-lang-python=\"`cookie_encryption_passphrase`\" pulumi-lang-yaml=\"`cookieEncryptionPassphrase`\" pulumi-lang-java=\"`cookieEncryptionPassphrase`\"\u003e`cookie_encryption_passphrase`\u003c/span\u003e (Optional) (required, preferred, or disabled) Passphrase for encrypted cookies. The field is encrypted on the server and will always return differently then set.\nIf this is configured specify \u003cspan pulumi-lang-nodejs=\"`ignoreChanges`\" pulumi-lang-dotnet=\"`IgnoreChanges`\" pulumi-lang-go=\"`ignoreChanges`\" pulumi-lang-python=\"`ignore_changes`\" pulumi-lang-yaml=\"`ignoreChanges`\" pulumi-lang-java=\"`ignoreChanges`\"\u003e`ignore_changes`\u003c/span\u003e under the \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e block to ignore returned encrypted value.\n\n\u003cspan pulumi-lang-nodejs=\"`cookieName`\" pulumi-lang-dotnet=\"`CookieName`\" pulumi-lang-go=\"`cookieName`\" pulumi-lang-python=\"`cookie_name`\" pulumi-lang-yaml=\"`cookieName`\" pulumi-lang-java=\"`cookieName`\"\u003e`cookie_name`\u003c/span\u003e (Optional) Name of the cookie to track persistence\n\n\u003cspan pulumi-lang-nodejs=\"`expiration`\" pulumi-lang-dotnet=\"`Expiration`\" pulumi-lang-go=\"`expiration`\" pulumi-lang-python=\"`expiration`\" pulumi-lang-yaml=\"`expiration`\" pulumi-lang-java=\"`expiration`\"\u003e`expiration`\u003c/span\u003e (Optional) Expiration TTL for cookie specified in DAY:HOUR:MIN:SECONDS (Examples: 1:0:0:0 one day, 1:0:0 one hour, 30:0 thirty minutes)\n\n\u003cspan pulumi-lang-nodejs=\"`hashLength`\" pulumi-lang-dotnet=\"`HashLength`\" pulumi-lang-go=\"`hashLength`\" pulumi-lang-python=\"`hash_length`\" pulumi-lang-yaml=\"`hashLength`\" pulumi-lang-java=\"`hashLength`\"\u003e`hash_length`\u003c/span\u003e (Optional) (Integer) Length of hash to apply to cookie\n\n\u003cspan pulumi-lang-nodejs=\"`hashOffset`\" pulumi-lang-dotnet=\"`HashOffset`\" pulumi-lang-go=\"`hashOffset`\" pulumi-lang-python=\"`hash_offset`\" pulumi-lang-yaml=\"`hashOffset`\" pulumi-lang-java=\"`hashOffset`\"\u003e`hash_offset`\u003c/span\u003e (Optional) (Integer) Number of characters to skip in the cookie for the hash\n\n\u003cspan pulumi-lang-nodejs=\"`httponly`\" pulumi-lang-dotnet=\"`Httponly`\" pulumi-lang-go=\"`httponly`\" pulumi-lang-python=\"`httponly`\" pulumi-lang-yaml=\"`httponly`\" pulumi-lang-java=\"`httponly`\"\u003e`httponly`\u003c/span\u003e (Optional) (enabled or disabled) Sending only over http\n\n## Importing\n\nAn cookie persistence profile can be imported into this resource by supplying the Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_persistence_profile_cookie.test_ppcookie \"/Common/terraform_cookie\"\n```\n","properties":{"alwaysSend":{"type":"string","description":"To enable _ disable always sending cookies"},"appService":{"type":"string"},"cookieEncryption":{"type":"string","description":"To required, preferred, or disabled policy for cookie encryption"},"cookieEncryptionPassphrase":{"type":"string","description":"Passphrase for encrypted cookies"},"cookieName":{"type":"string","description":"Name of the cookie to track persistence"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"expiration":{"type":"string","description":"Expiration TTL for cookie specified in D:H:M:S or in seconds"},"hashLength":{"type":"integer","description":"Length of hash to apply to cookie"},"hashOffset":{"type":"integer","description":"Number of characters to skip in the cookie for the hash"},"httponly":{"type":"string","description":"To enable _ disable sending only over http"},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across virtual servers with given persistence record"},"method":{"type":"string","description":"Specifies the type of cookie processing that the system uses"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"required":["alwaysSend","appService","cookieEncryption","cookieEncryptionPassphrase","cookieName","defaultsFrom","expiration","hashLength","hashOffset","httponly","matchAcrossPools","matchAcrossServices","matchAcrossVirtuals","method","mirror","name","overrideConnLimit","timeout"],"inputProperties":{"alwaysSend":{"type":"string","description":"To enable _ disable always sending cookies"},"appService":{"type":"string"},"cookieEncryption":{"type":"string","description":"To required, preferred, or disabled policy for cookie encryption"},"cookieEncryptionPassphrase":{"type":"string","description":"Passphrase for encrypted cookies"},"cookieName":{"type":"string","description":"Name of the cookie to track persistence"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"expiration":{"type":"string","description":"Expiration TTL for cookie specified in D:H:M:S or in seconds"},"hashLength":{"type":"integer","description":"Length of hash to apply to cookie"},"hashOffset":{"type":"integer","description":"Number of characters to skip in the cookie for the hash"},"httponly":{"type":"string","description":"To enable _ disable sending only over http"},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across virtual servers with given persistence record"},"method":{"type":"string","description":"Specifies the type of cookie processing that the system uses"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"requiredInputs":["defaultsFrom","name"],"stateInputs":{"description":"Input properties used for looking up and filtering PersistenceProfileCookie resources.\n","properties":{"alwaysSend":{"type":"string","description":"To enable _ disable always sending cookies"},"appService":{"type":"string"},"cookieEncryption":{"type":"string","description":"To required, preferred, or disabled policy for cookie encryption"},"cookieEncryptionPassphrase":{"type":"string","description":"Passphrase for encrypted cookies"},"cookieName":{"type":"string","description":"Name of the cookie to track persistence"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"expiration":{"type":"string","description":"Expiration TTL for cookie specified in D:H:M:S or in seconds"},"hashLength":{"type":"integer","description":"Length of hash to apply to cookie"},"hashOffset":{"type":"integer","description":"Number of characters to skip in the cookie for the hash"},"httponly":{"type":"string","description":"To enable _ disable sending only over http"},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across virtual servers with given persistence record"},"method":{"type":"string","description":"Specifies the type of cookie processing that the system uses"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"type":"object"}},"f5bigip:ltm/persistenceProfileDstAddr:PersistenceProfileDstAddr":{"description":"Configures a cookie persistence profile\n\n## Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dstaddr = new f5bigip.ltm.PersistenceProfileDstAddr(\"dstaddr\", {\n    name: \"/Common/terraform_ppdstaddr\",\n    defaultsFrom: \"/Common/dest_addr\",\n    matchAcrossPools: \"enabled\",\n    matchAcrossServices: \"enabled\",\n    matchAcrossVirtuals: \"enabled\",\n    mirror: \"enabled\",\n    timeout: 3600,\n    overrideConnLimit: \"enabled\",\n    hashAlgorithm: \"carp\",\n    mask: \"255.255.255.255\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndstaddr = f5bigip.ltm.PersistenceProfileDstAddr(\"dstaddr\",\n    name=\"/Common/terraform_ppdstaddr\",\n    defaults_from=\"/Common/dest_addr\",\n    match_across_pools=\"enabled\",\n    match_across_services=\"enabled\",\n    match_across_virtuals=\"enabled\",\n    mirror=\"enabled\",\n    timeout=3600,\n    override_conn_limit=\"enabled\",\n    hash_algorithm=\"carp\",\n    mask=\"255.255.255.255\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dstaddr = new F5BigIP.Ltm.PersistenceProfileDstAddr(\"dstaddr\", new()\n    {\n        Name = \"/Common/terraform_ppdstaddr\",\n        DefaultsFrom = \"/Common/dest_addr\",\n        MatchAcrossPools = \"enabled\",\n        MatchAcrossServices = \"enabled\",\n        MatchAcrossVirtuals = \"enabled\",\n        Mirror = \"enabled\",\n        Timeout = 3600,\n        OverrideConnLimit = \"enabled\",\n        HashAlgorithm = \"carp\",\n        Mask = \"255.255.255.255\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewPersistenceProfileDstAddr(ctx, \"dstaddr\", \u0026ltm.PersistenceProfileDstAddrArgs{\n\t\t\tName:                pulumi.String(\"/Common/terraform_ppdstaddr\"),\n\t\t\tDefaultsFrom:        pulumi.String(\"/Common/dest_addr\"),\n\t\t\tMatchAcrossPools:    pulumi.String(\"enabled\"),\n\t\t\tMatchAcrossServices: pulumi.String(\"enabled\"),\n\t\t\tMatchAcrossVirtuals: pulumi.String(\"enabled\"),\n\t\t\tMirror:              pulumi.String(\"enabled\"),\n\t\t\tTimeout:             pulumi.Int(3600),\n\t\t\tOverrideConnLimit:   pulumi.String(\"enabled\"),\n\t\t\tHashAlgorithm:       pulumi.String(\"carp\"),\n\t\t\tMask:                pulumi.String(\"255.255.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.PersistenceProfileDstAddr;\nimport com.pulumi.f5bigip.ltm.PersistenceProfileDstAddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dstaddr = new PersistenceProfileDstAddr(\"dstaddr\", PersistenceProfileDstAddrArgs.builder()\n            .name(\"/Common/terraform_ppdstaddr\")\n            .defaultsFrom(\"/Common/dest_addr\")\n            .matchAcrossPools(\"enabled\")\n            .matchAcrossServices(\"enabled\")\n            .matchAcrossVirtuals(\"enabled\")\n            .mirror(\"enabled\")\n            .timeout(3600)\n            .overrideConnLimit(\"enabled\")\n            .hashAlgorithm(\"carp\")\n            .mask(\"255.255.255.255\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dstaddr:\n    type: f5bigip:ltm:PersistenceProfileDstAddr\n    properties:\n      name: /Common/terraform_ppdstaddr\n      defaultsFrom: /Common/dest_addr\n      matchAcrossPools: enabled\n      matchAcrossServices: enabled\n      matchAcrossVirtuals: enabled\n      mirror: enabled\n      timeout: 3600\n      overrideConnLimit: enabled\n      hashAlgorithm: carp\n      mask: 255.255.255.255\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Reference\n\n\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e - (Required) Name of the virtual address\n\n\u003cspan pulumi-lang-nodejs=\"`defaultsFrom`\" pulumi-lang-dotnet=\"`DefaultsFrom`\" pulumi-lang-go=\"`defaultsFrom`\" pulumi-lang-python=\"`defaults_from`\" pulumi-lang-yaml=\"`defaultsFrom`\" pulumi-lang-java=\"`defaultsFrom`\"\u003e`defaults_from`\u003c/span\u003e - (Optional) Specifies the existing profile from which the system imports settings for the new profile.\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossPools`\" pulumi-lang-dotnet=\"`MatchAcrossPools`\" pulumi-lang-go=\"`matchAcrossPools`\" pulumi-lang-python=\"`match_across_pools`\" pulumi-lang-yaml=\"`matchAcrossPools`\" pulumi-lang-java=\"`matchAcrossPools`\"\u003e`match_across_pools`\u003c/span\u003e (Optional) (enabled or disabled) match across pools with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossServices`\" pulumi-lang-dotnet=\"`MatchAcrossServices`\" pulumi-lang-go=\"`matchAcrossServices`\" pulumi-lang-python=\"`match_across_services`\" pulumi-lang-yaml=\"`matchAcrossServices`\" pulumi-lang-java=\"`matchAcrossServices`\"\u003e`match_across_services`\u003c/span\u003e (Optional) (enabled or disabled) match across services with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossVirtuals`\" pulumi-lang-dotnet=\"`MatchAcrossVirtuals`\" pulumi-lang-go=\"`matchAcrossVirtuals`\" pulumi-lang-python=\"`match_across_virtuals`\" pulumi-lang-yaml=\"`matchAcrossVirtuals`\" pulumi-lang-java=\"`matchAcrossVirtuals`\"\u003e`match_across_virtuals`\u003c/span\u003e (Optional) (enabled or disabled) match across virtual servers with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`mirror`\" pulumi-lang-dotnet=\"`Mirror`\" pulumi-lang-go=\"`mirror`\" pulumi-lang-python=\"`mirror`\" pulumi-lang-yaml=\"`mirror`\" pulumi-lang-java=\"`mirror`\"\u003e`mirror`\u003c/span\u003e (Optional) (enabled or disabled) mirror persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e (Optional) (enabled or disabled) Timeout for persistence of the session in seconds\n\n\u003cspan pulumi-lang-nodejs=\"`overrideConnLimit`\" pulumi-lang-dotnet=\"`OverrideConnLimit`\" pulumi-lang-go=\"`overrideConnLimit`\" pulumi-lang-python=\"`override_conn_limit`\" pulumi-lang-yaml=\"`overrideConnLimit`\" pulumi-lang-java=\"`overrideConnLimit`\"\u003e`override_conn_limit`\u003c/span\u003e (Optional) (enabled or disabled) Enable or dissable pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden.\n\n## Importing\n\nAn dest-addr persistence profile can be imported into this resource by supplying the Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_persistence_profile_dstaddr.dstaddr \"/Common/terraform_ppdstaddr\"\n```\n","properties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm"},"mask":{"type":"string","description":"Identify a range of source IP addresses to manage together as a single source address affinity persistent connection when connecting to the pool. Must be a valid IPv4 or IPv6 mask."},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"required":["appService","defaultsFrom","hashAlgorithm","mask","matchAcrossPools","matchAcrossServices","matchAcrossVirtuals","mirror","name","overrideConnLimit","timeout"],"inputProperties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm"},"mask":{"type":"string","description":"Identify a range of source IP addresses to manage together as a single source address affinity persistent connection when connecting to the pool. Must be a valid IPv4 or IPv6 mask."},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"requiredInputs":["defaultsFrom","name"],"stateInputs":{"description":"Input properties used for looking up and filtering PersistenceProfileDstAddr resources.\n","properties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm"},"mask":{"type":"string","description":"Identify a range of source IP addresses to manage together as a single source address affinity persistent connection when connecting to the pool. Must be a valid IPv4 or IPv6 mask."},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"type":"object"}},"f5bigip:ltm/persistenceProfileSrcAddr:PersistenceProfileSrcAddr":{"description":"Configures a source address persistence profile\n\n## Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst srcaddr = new f5bigip.ltm.PersistenceProfileSrcAddr(\"srcaddr\", {\n    name: \"/Common/terraform_srcaddr\",\n    defaultsFrom: \"/Common/source_addr\",\n    matchAcrossPools: \"enabled\",\n    matchAcrossServices: \"enabled\",\n    matchAcrossVirtuals: \"enabled\",\n    mirror: \"enabled\",\n    timeout: 3600,\n    overrideConnLimit: \"enabled\",\n    hashAlgorithm: \"carp\",\n    mapProxies: \"enabled\",\n    mask: \"255.255.255.255\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsrcaddr = f5bigip.ltm.PersistenceProfileSrcAddr(\"srcaddr\",\n    name=\"/Common/terraform_srcaddr\",\n    defaults_from=\"/Common/source_addr\",\n    match_across_pools=\"enabled\",\n    match_across_services=\"enabled\",\n    match_across_virtuals=\"enabled\",\n    mirror=\"enabled\",\n    timeout=3600,\n    override_conn_limit=\"enabled\",\n    hash_algorithm=\"carp\",\n    map_proxies=\"enabled\",\n    mask=\"255.255.255.255\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var srcaddr = new F5BigIP.Ltm.PersistenceProfileSrcAddr(\"srcaddr\", new()\n    {\n        Name = \"/Common/terraform_srcaddr\",\n        DefaultsFrom = \"/Common/source_addr\",\n        MatchAcrossPools = \"enabled\",\n        MatchAcrossServices = \"enabled\",\n        MatchAcrossVirtuals = \"enabled\",\n        Mirror = \"enabled\",\n        Timeout = 3600,\n        OverrideConnLimit = \"enabled\",\n        HashAlgorithm = \"carp\",\n        MapProxies = \"enabled\",\n        Mask = \"255.255.255.255\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewPersistenceProfileSrcAddr(ctx, \"srcaddr\", \u0026ltm.PersistenceProfileSrcAddrArgs{\n\t\t\tName:                pulumi.String(\"/Common/terraform_srcaddr\"),\n\t\t\tDefaultsFrom:        pulumi.String(\"/Common/source_addr\"),\n\t\t\tMatchAcrossPools:    pulumi.String(\"enabled\"),\n\t\t\tMatchAcrossServices: pulumi.String(\"enabled\"),\n\t\t\tMatchAcrossVirtuals: pulumi.String(\"enabled\"),\n\t\t\tMirror:              pulumi.String(\"enabled\"),\n\t\t\tTimeout:             pulumi.Int(3600),\n\t\t\tOverrideConnLimit:   pulumi.String(\"enabled\"),\n\t\t\tHashAlgorithm:       pulumi.String(\"carp\"),\n\t\t\tMapProxies:          pulumi.String(\"enabled\"),\n\t\t\tMask:                pulumi.String(\"255.255.255.255\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.PersistenceProfileSrcAddr;\nimport com.pulumi.f5bigip.ltm.PersistenceProfileSrcAddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var srcaddr = new PersistenceProfileSrcAddr(\"srcaddr\", PersistenceProfileSrcAddrArgs.builder()\n            .name(\"/Common/terraform_srcaddr\")\n            .defaultsFrom(\"/Common/source_addr\")\n            .matchAcrossPools(\"enabled\")\n            .matchAcrossServices(\"enabled\")\n            .matchAcrossVirtuals(\"enabled\")\n            .mirror(\"enabled\")\n            .timeout(3600)\n            .overrideConnLimit(\"enabled\")\n            .hashAlgorithm(\"carp\")\n            .mapProxies(\"enabled\")\n            .mask(\"255.255.255.255\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  srcaddr:\n    type: f5bigip:ltm:PersistenceProfileSrcAddr\n    properties:\n      name: /Common/terraform_srcaddr\n      defaultsFrom: /Common/source_addr\n      matchAcrossPools: enabled\n      matchAcrossServices: enabled\n      matchAcrossVirtuals: enabled\n      mirror: enabled\n      timeout: 3600\n      overrideConnLimit: enabled\n      hashAlgorithm: carp\n      mapProxies: enabled\n      mask: 255.255.255.255\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Reference\n\n\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e - (Required) Name of the virtual address\n\n\u003cspan pulumi-lang-nodejs=\"`defaultsFrom`\" pulumi-lang-dotnet=\"`DefaultsFrom`\" pulumi-lang-go=\"`defaultsFrom`\" pulumi-lang-python=\"`defaults_from`\" pulumi-lang-yaml=\"`defaultsFrom`\" pulumi-lang-java=\"`defaultsFrom`\"\u003e`defaults_from`\u003c/span\u003e - (Required) Parent cookie persistence profile\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossPools`\" pulumi-lang-dotnet=\"`MatchAcrossPools`\" pulumi-lang-go=\"`matchAcrossPools`\" pulumi-lang-python=\"`match_across_pools`\" pulumi-lang-yaml=\"`matchAcrossPools`\" pulumi-lang-java=\"`matchAcrossPools`\"\u003e`match_across_pools`\u003c/span\u003e (Optional) (enabled or disabled) match across pools with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossServices`\" pulumi-lang-dotnet=\"`MatchAcrossServices`\" pulumi-lang-go=\"`matchAcrossServices`\" pulumi-lang-python=\"`match_across_services`\" pulumi-lang-yaml=\"`matchAcrossServices`\" pulumi-lang-java=\"`matchAcrossServices`\"\u003e`match_across_services`\u003c/span\u003e (Optional) (enabled or disabled) match across services with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossVirtuals`\" pulumi-lang-dotnet=\"`MatchAcrossVirtuals`\" pulumi-lang-go=\"`matchAcrossVirtuals`\" pulumi-lang-python=\"`match_across_virtuals`\" pulumi-lang-yaml=\"`matchAcrossVirtuals`\" pulumi-lang-java=\"`matchAcrossVirtuals`\"\u003e`match_across_virtuals`\u003c/span\u003e (Optional) (enabled or disabled) match across virtual servers with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`mirror`\" pulumi-lang-dotnet=\"`Mirror`\" pulumi-lang-go=\"`mirror`\" pulumi-lang-python=\"`mirror`\" pulumi-lang-yaml=\"`mirror`\" pulumi-lang-java=\"`mirror`\"\u003e`mirror`\u003c/span\u003e (Optional) (enabled or disabled) mirror persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e (Optional) (enabled or disabled) Timeout for persistence of the session in seconds\n\n\u003cspan pulumi-lang-nodejs=\"`overrideConnLimit`\" pulumi-lang-dotnet=\"`OverrideConnLimit`\" pulumi-lang-go=\"`overrideConnLimit`\" pulumi-lang-python=\"`override_conn_limit`\" pulumi-lang-yaml=\"`overrideConnLimit`\" pulumi-lang-java=\"`overrideConnLimit`\"\u003e`override_conn_limit`\u003c/span\u003e (Optional) (enabled or disabled) Enable or dissable pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden.\n\n\u003cspan pulumi-lang-nodejs=\"`hashAlgorithm`\" pulumi-lang-dotnet=\"`HashAlgorithm`\" pulumi-lang-go=\"`hashAlgorithm`\" pulumi-lang-python=\"`hash_algorithm`\" pulumi-lang-yaml=\"`hashAlgorithm`\" pulumi-lang-java=\"`hashAlgorithm`\"\u003e`hash_algorithm`\u003c/span\u003e (Optional) Specify the hash algorithm\n\n\u003cspan pulumi-lang-nodejs=\"`mask`\" pulumi-lang-dotnet=\"`Mask`\" pulumi-lang-go=\"`mask`\" pulumi-lang-python=\"`mask`\" pulumi-lang-yaml=\"`mask`\" pulumi-lang-java=\"`mask`\"\u003e`mask`\u003c/span\u003e (Optional) Identify a range of source IP addresses to manage together as a single source address affinity persistent connection when connecting to the pool. Must be a valid IPv4 or IPv6 mask.\n\n\u003cspan pulumi-lang-nodejs=\"`mapProxies`\" pulumi-lang-dotnet=\"`MapProxies`\" pulumi-lang-go=\"`mapProxies`\" pulumi-lang-python=\"`map_proxies`\" pulumi-lang-yaml=\"`mapProxies`\" pulumi-lang-java=\"`mapProxies`\"\u003e`map_proxies`\u003c/span\u003e (Optional) (enabled or disabled) Directs all to the same single pool member\n\n## Importing\n\nAn source-addr persistence profile can be imported into this resource by supplying the Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_persistence_profile_srcaddr.srcaddr \"/Common/terraform_srcaddr\"\n```\n","properties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm"},"mapProxies":{"type":"string","description":"To enable _ disable directs all to the same single pool member"},"mask":{"type":"string","description":"Identify a range of source IP addresses to manage together as a single source address affinity persistent connection when connecting to the pool. Must be a valid IPv4 or IPv6 mask."},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"required":["appService","defaultsFrom","hashAlgorithm","mapProxies","mask","matchAcrossPools","matchAcrossServices","matchAcrossVirtuals","mirror","name","overrideConnLimit","timeout"],"inputProperties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm"},"mapProxies":{"type":"string","description":"To enable _ disable directs all to the same single pool member"},"mask":{"type":"string","description":"Identify a range of source IP addresses to manage together as a single source address affinity persistent connection when connecting to the pool. Must be a valid IPv4 or IPv6 mask."},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"requiredInputs":["defaultsFrom","name"],"stateInputs":{"description":"Input properties used for looking up and filtering PersistenceProfileSrcAddr resources.\n","properties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"hashAlgorithm":{"type":"string","description":"Specify the hash algorithm"},"mapProxies":{"type":"string","description":"To enable _ disable directs all to the same single pool member"},"mask":{"type":"string","description":"Identify a range of source IP addresses to manage together as a single source address affinity persistent connection when connecting to the pool. Must be a valid IPv4 or IPv6 mask."},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"type":"object"}},"f5bigip:ltm/persistenceProfileSsl:PersistenceProfileSsl":{"description":"Configures an SSL persistence profile\n\n## Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst ppssl = new f5bigip.ltm.PersistenceProfileSsl(\"ppssl\", {\n    name: \"/Common/terraform_ssl\",\n    defaultsFrom: \"/Common/ssl\",\n    matchAcrossPools: \"enabled\",\n    matchAcrossServices: \"enabled\",\n    matchAcrossVirtuals: \"enabled\",\n    mirror: \"enabled\",\n    timeout: 3600,\n    overrideConnLimit: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nppssl = f5bigip.ltm.PersistenceProfileSsl(\"ppssl\",\n    name=\"/Common/terraform_ssl\",\n    defaults_from=\"/Common/ssl\",\n    match_across_pools=\"enabled\",\n    match_across_services=\"enabled\",\n    match_across_virtuals=\"enabled\",\n    mirror=\"enabled\",\n    timeout=3600,\n    override_conn_limit=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ppssl = new F5BigIP.Ltm.PersistenceProfileSsl(\"ppssl\", new()\n    {\n        Name = \"/Common/terraform_ssl\",\n        DefaultsFrom = \"/Common/ssl\",\n        MatchAcrossPools = \"enabled\",\n        MatchAcrossServices = \"enabled\",\n        MatchAcrossVirtuals = \"enabled\",\n        Mirror = \"enabled\",\n        Timeout = 3600,\n        OverrideConnLimit = \"enabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewPersistenceProfileSsl(ctx, \"ppssl\", \u0026ltm.PersistenceProfileSslArgs{\n\t\t\tName:                pulumi.String(\"/Common/terraform_ssl\"),\n\t\t\tDefaultsFrom:        pulumi.String(\"/Common/ssl\"),\n\t\t\tMatchAcrossPools:    pulumi.String(\"enabled\"),\n\t\t\tMatchAcrossServices: pulumi.String(\"enabled\"),\n\t\t\tMatchAcrossVirtuals: pulumi.String(\"enabled\"),\n\t\t\tMirror:              pulumi.String(\"enabled\"),\n\t\t\tTimeout:             pulumi.Int(3600),\n\t\t\tOverrideConnLimit:   pulumi.String(\"enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.PersistenceProfileSsl;\nimport com.pulumi.f5bigip.ltm.PersistenceProfileSslArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ppssl = new PersistenceProfileSsl(\"ppssl\", PersistenceProfileSslArgs.builder()\n            .name(\"/Common/terraform_ssl\")\n            .defaultsFrom(\"/Common/ssl\")\n            .matchAcrossPools(\"enabled\")\n            .matchAcrossServices(\"enabled\")\n            .matchAcrossVirtuals(\"enabled\")\n            .mirror(\"enabled\")\n            .timeout(3600)\n            .overrideConnLimit(\"enabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ppssl:\n    type: f5bigip:ltm:PersistenceProfileSsl\n    properties:\n      name: /Common/terraform_ssl\n      defaultsFrom: /Common/ssl\n      matchAcrossPools: enabled\n      matchAcrossServices: enabled\n      matchAcrossVirtuals: enabled\n      mirror: enabled\n      timeout: 3600\n      overrideConnLimit: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Reference\n\n\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e - (Required) Name of the virtual address\n\n\u003cspan pulumi-lang-nodejs=\"`defaultsFrom`\" pulumi-lang-dotnet=\"`DefaultsFrom`\" pulumi-lang-go=\"`defaultsFrom`\" pulumi-lang-python=\"`defaults_from`\" pulumi-lang-yaml=\"`defaultsFrom`\" pulumi-lang-java=\"`defaultsFrom`\"\u003e`defaults_from`\u003c/span\u003e - (Required) Parent cookie persistence profile\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossPools`\" pulumi-lang-dotnet=\"`MatchAcrossPools`\" pulumi-lang-go=\"`matchAcrossPools`\" pulumi-lang-python=\"`match_across_pools`\" pulumi-lang-yaml=\"`matchAcrossPools`\" pulumi-lang-java=\"`matchAcrossPools`\"\u003e`match_across_pools`\u003c/span\u003e (Optional) (enabled or disabled) match across pools with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossServices`\" pulumi-lang-dotnet=\"`MatchAcrossServices`\" pulumi-lang-go=\"`matchAcrossServices`\" pulumi-lang-python=\"`match_across_services`\" pulumi-lang-yaml=\"`matchAcrossServices`\" pulumi-lang-java=\"`matchAcrossServices`\"\u003e`match_across_services`\u003c/span\u003e (Optional) (enabled or disabled) match across services with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`matchAcrossVirtuals`\" pulumi-lang-dotnet=\"`MatchAcrossVirtuals`\" pulumi-lang-go=\"`matchAcrossVirtuals`\" pulumi-lang-python=\"`match_across_virtuals`\" pulumi-lang-yaml=\"`matchAcrossVirtuals`\" pulumi-lang-java=\"`matchAcrossVirtuals`\"\u003e`match_across_virtuals`\u003c/span\u003e (Optional) (enabled or disabled) match across virtual servers with given persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`mirror`\" pulumi-lang-dotnet=\"`Mirror`\" pulumi-lang-go=\"`mirror`\" pulumi-lang-python=\"`mirror`\" pulumi-lang-yaml=\"`mirror`\" pulumi-lang-java=\"`mirror`\"\u003e`mirror`\u003c/span\u003e (Optional) (enabled or disabled) mirror persistence record\n\n\u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e (Optional) (enabled or disabled) Timeout for persistence of the session in seconds\n\n\u003cspan pulumi-lang-nodejs=\"`overrideConnLimit`\" pulumi-lang-dotnet=\"`OverrideConnLimit`\" pulumi-lang-go=\"`overrideConnLimit`\" pulumi-lang-python=\"`override_conn_limit`\" pulumi-lang-yaml=\"`overrideConnLimit`\" pulumi-lang-java=\"`overrideConnLimit`\"\u003e`override_conn_limit`\u003c/span\u003e (Optional) (enabled or disabled) Enable or dissable pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden.\n\n## Importing\n\nAn ssl persistence profile can be imported into this resource by supplying the Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_persistence_profile_ssl.ppssl \"/Common/terraform_ssl\"\n```\n","properties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"required":["defaultsFrom","matchAcrossPools","matchAcrossServices","matchAcrossVirtuals","mirror","name","overrideConnLimit"],"inputProperties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"requiredInputs":["defaultsFrom","name"],"stateInputs":{"description":"Input properties used for looking up and filtering PersistenceProfileSsl resources.\n","properties":{"appService":{"type":"string"},"defaultsFrom":{"type":"string","description":"Inherit defaults from parent profile"},"matchAcrossPools":{"type":"string","description":"To enable _ disable match across pools with given persistence record"},"matchAcrossServices":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"matchAcrossVirtuals":{"type":"string","description":"To enable _ disable match across services with given persistence record"},"mirror":{"type":"string","description":"To enable _ disable"},"name":{"type":"string","description":"Name of the persistence profile"},"overrideConnLimit":{"type":"string","description":"To enable _ disable that pool member connection limits are overridden for persisted clients. Per-virtual connection limits remain hard limits and are not overridden."},"timeout":{"type":"integer","description":"Timeout for persistence of the session"}},"type":"object"}},"f5bigip:ltm/policy:Policy":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Policy`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Policy`\" pulumi-lang-go=\"`ltm.Policy`\" pulumi-lang-python=\"`ltm.Policy`\" pulumi-lang-yaml=\"`f5bigip.ltm.Policy`\" pulumi-lang-java=\"`f5bigip.ltm.Policy`\"\u003e`f5bigip.ltm.Policy`\u003c/span\u003e Configures ltm policies to manage traffic assigned to a virtual server\n\nFor resources should be named with their `full path`. The full path is the combination of the `partition + name` of the resource. For example `/Common/test-policy`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst mypool = new f5bigip.ltm.Pool(\"mypool\", {\n    name: \"/Common/test-pool\",\n    allowNat: \"yes\",\n    allowSnat: \"yes\",\n    loadBalancingMode: \"round-robin\",\n});\nconst test_policy = new f5bigip.ltm.Policy(\"test-policy\", {\n    name: \"/Common/test-policy\",\n    strategy: \"first-match\",\n    requires: [\"http\"],\n    controls: [\"forwarding\"],\n    rules: [{\n        name: \"rule6\",\n        actions: [{\n            forward: true,\n            connection: false,\n            pool: mypool.name,\n        }],\n    }],\n}, {\n    dependsOn: [mypool],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmypool = f5bigip.ltm.Pool(\"mypool\",\n    name=\"/Common/test-pool\",\n    allow_nat=\"yes\",\n    allow_snat=\"yes\",\n    load_balancing_mode=\"round-robin\")\ntest_policy = f5bigip.ltm.Policy(\"test-policy\",\n    name=\"/Common/test-policy\",\n    strategy=\"first-match\",\n    requires=[\"http\"],\n    controls=[\"forwarding\"],\n    rules=[{\n        \"name\": \"rule6\",\n        \"actions\": [{\n            \"forward\": True,\n            \"connection\": False,\n            \"pool\": mypool.name,\n        }],\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[mypool]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mypool = new F5BigIP.Ltm.Pool(\"mypool\", new()\n    {\n        Name = \"/Common/test-pool\",\n        AllowNat = \"yes\",\n        AllowSnat = \"yes\",\n        LoadBalancingMode = \"round-robin\",\n    });\n\n    var test_policy = new F5BigIP.Ltm.Policy(\"test-policy\", new()\n    {\n        Name = \"/Common/test-policy\",\n        Strategy = \"first-match\",\n        Requires = new[]\n        {\n            \"http\",\n        },\n        Controls = new[]\n        {\n            \"forwarding\",\n        },\n        Rules = new[]\n        {\n            new F5BigIP.Ltm.Inputs.PolicyRuleArgs\n            {\n                Name = \"rule6\",\n                Actions = new[]\n                {\n                    new F5BigIP.Ltm.Inputs.PolicyRuleActionArgs\n                    {\n                        Forward = true,\n                        Connection = false,\n                        Pool = mypool.Name,\n                    },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            mypool,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmypool, err := ltm.NewPool(ctx, \"mypool\", \u0026ltm.PoolArgs{\n\t\t\tName:              pulumi.String(\"/Common/test-pool\"),\n\t\t\tAllowNat:          pulumi.String(\"yes\"),\n\t\t\tAllowSnat:         pulumi.String(\"yes\"),\n\t\t\tLoadBalancingMode: pulumi.String(\"round-robin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewPolicy(ctx, \"test-policy\", \u0026ltm.PolicyArgs{\n\t\t\tName:     pulumi.String(\"/Common/test-policy\"),\n\t\t\tStrategy: pulumi.String(\"first-match\"),\n\t\t\tRequires: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"http\"),\n\t\t\t},\n\t\t\tControls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"forwarding\"),\n\t\t\t},\n\t\t\tRules: ltm.PolicyRuleArray{\n\t\t\t\t\u0026ltm.PolicyRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule6\"),\n\t\t\t\t\tActions: ltm.PolicyRuleActionArray{\n\t\t\t\t\t\t\u0026ltm.PolicyRuleActionArgs{\n\t\t\t\t\t\t\tForward:    pulumi.Bool(true),\n\t\t\t\t\t\t\tConnection: pulumi.Bool(false),\n\t\t\t\t\t\t\tPool:       mypool.Name,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmypool,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.Pool;\nimport com.pulumi.f5bigip.ltm.PoolArgs;\nimport com.pulumi.f5bigip.ltm.Policy;\nimport com.pulumi.f5bigip.ltm.PolicyArgs;\nimport com.pulumi.f5bigip.ltm.inputs.PolicyRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var mypool = new Pool(\"mypool\", PoolArgs.builder()\n            .name(\"/Common/test-pool\")\n            .allowNat(\"yes\")\n            .allowSnat(\"yes\")\n            .loadBalancingMode(\"round-robin\")\n            .build());\n\n        var test_policy = new Policy(\"test-policy\", PolicyArgs.builder()\n            .name(\"/Common/test-policy\")\n            .strategy(\"first-match\")\n            .requires(\"http\")\n            .controls(\"forwarding\")\n            .rules(PolicyRuleArgs.builder()\n                .name(\"rule6\")\n                .actions(PolicyRuleActionArgs.builder()\n                    .forward(true)\n                    .connection(false)\n                    .pool(mypool.name())\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(mypool)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mypool:\n    type: f5bigip:ltm:Pool\n    properties:\n      name: /Common/test-pool\n      allowNat: yes\n      allowSnat: yes\n      loadBalancingMode: round-robin\n  test-policy:\n    type: f5bigip:ltm:Policy\n    properties:\n      name: /Common/test-policy\n      strategy: first-match\n      requires:\n        - http\n      controls:\n        - forwarding\n      rules:\n        - name: rule6\n          actions:\n            - forward: true\n              connection: false\n              pool: ${mypool.name}\n    options:\n      dependsOn:\n        - ${mypool}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing policy can be imported into this resource by supplying policy Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_policy.policy-import-test /Common/policy2\n```\n","properties":{"controls":{"type":"array","items":{"type":"string"},"description":"Specifies the controls\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the ltm policy.\n"},"name":{"type":"string","description":"Name of the Policy ( policy name should be in full path which is combination of partition and policy name )\n"},"publishedCopy":{"type":"string","description":"If you want to publish the policy else it will be deployed in Drafts mode. This attribute is deprecated and will be removed in a future release.\n","deprecationMessage":"This attribute is not required anymore because the resource automatically publishes the policy, for that reason this field is deprecated and will be removed in a future release."},"requires":{"type":"array","items":{"type":"string"},"description":"Specifies the protocol\n"},"rules":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/PolicyRule:PolicyRule"},"description":"List of Rules can be applied using the policy. Each rule is block type with following arguments.\n"},"strategy":{"type":"string","description":"Specifies the match strategy\n"}},"required":["name"],"inputProperties":{"controls":{"type":"array","items":{"type":"string"},"description":"Specifies the controls\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the ltm policy.\n"},"name":{"type":"string","description":"Name of the Policy ( policy name should be in full path which is combination of partition and policy name )\n","willReplaceOnChanges":true},"publishedCopy":{"type":"string","description":"If you want to publish the policy else it will be deployed in Drafts mode. This attribute is deprecated and will be removed in a future release.\n","deprecationMessage":"This attribute is not required anymore because the resource automatically publishes the policy, for that reason this field is deprecated and will be removed in a future release.","willReplaceOnChanges":true},"requires":{"type":"array","items":{"type":"string"},"description":"Specifies the protocol\n"},"rules":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/PolicyRule:PolicyRule"},"description":"List of Rules can be applied using the policy. Each rule is block type with following arguments.\n"},"strategy":{"type":"string","description":"Specifies the match strategy\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering Policy resources.\n","properties":{"controls":{"type":"array","items":{"type":"string"},"description":"Specifies the controls\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the ltm policy.\n"},"name":{"type":"string","description":"Name of the Policy ( policy name should be in full path which is combination of partition and policy name )\n","willReplaceOnChanges":true},"publishedCopy":{"type":"string","description":"If you want to publish the policy else it will be deployed in Drafts mode. This attribute is deprecated and will be removed in a future release.\n","deprecationMessage":"This attribute is not required anymore because the resource automatically publishes the policy, for that reason this field is deprecated and will be removed in a future release.","willReplaceOnChanges":true},"requires":{"type":"array","items":{"type":"string"},"description":"Specifies the protocol\n"},"rules":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/PolicyRule:PolicyRule"},"description":"List of Rules can be applied using the policy. Each rule is block type with following arguments.\n"},"strategy":{"type":"string","description":"Specifies the match strategy\n"}},"type":"object"}},"f5bigip:ltm/pool:Pool":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Pool`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Pool`\" pulumi-lang-go=\"`ltm.Pool`\" pulumi-lang-python=\"`ltm.Pool`\" pulumi-lang-yaml=\"`f5bigip.ltm.Pool`\" pulumi-lang-java=\"`f5bigip.ltm.Pool`\"\u003e`f5bigip.ltm.Pool`\u003c/span\u003e Manages F5 BIG-IP LTM pools via iControl REST API.\n\nFor resources should be named with their `full path`. The full path is the combination of the `partition + name` of the resource or  `partition + directory + name`.\nFor example `/Common/my-pool`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst monitor = new f5bigip.ltm.Monitor(\"monitor\", {\n    name: \"/Common/terraform_monitor\",\n    parent: \"/Common/http\",\n});\nconst pool = new f5bigip.ltm.Pool(\"pool\", {\n    name: \"/Common/Axiom_Environment_APP1_Pool\",\n    loadBalancingMode: \"round-robin\",\n    minimumActiveMembers: 1,\n    monitors: [monitor.name],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmonitor = f5bigip.ltm.Monitor(\"monitor\",\n    name=\"/Common/terraform_monitor\",\n    parent=\"/Common/http\")\npool = f5bigip.ltm.Pool(\"pool\",\n    name=\"/Common/Axiom_Environment_APP1_Pool\",\n    load_balancing_mode=\"round-robin\",\n    minimum_active_members=1,\n    monitors=[monitor.name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var monitor = new F5BigIP.Ltm.Monitor(\"monitor\", new()\n    {\n        Name = \"/Common/terraform_monitor\",\n        Parent = \"/Common/http\",\n    });\n\n    var pool = new F5BigIP.Ltm.Pool(\"pool\", new()\n    {\n        Name = \"/Common/Axiom_Environment_APP1_Pool\",\n        LoadBalancingMode = \"round-robin\",\n        MinimumActiveMembers = 1,\n        Monitors = new[]\n        {\n            monitor.Name,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmonitor, err := ltm.NewMonitor(ctx, \"monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:   pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent: pulumi.String(\"/Common/http\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewPool(ctx, \"pool\", \u0026ltm.PoolArgs{\n\t\t\tName:                 pulumi.String(\"/Common/Axiom_Environment_APP1_Pool\"),\n\t\t\tLoadBalancingMode:    pulumi.String(\"round-robin\"),\n\t\t\tMinimumActiveMembers: pulumi.Int(1),\n\t\t\tMonitors: pulumi.StringArray{\n\t\t\t\tmonitor.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.Monitor;\nimport com.pulumi.f5bigip.ltm.MonitorArgs;\nimport com.pulumi.f5bigip.ltm.Pool;\nimport com.pulumi.f5bigip.ltm.PoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n            .name(\"/Common/terraform_monitor\")\n            .parent(\"/Common/http\")\n            .build());\n\n        var pool = new Pool(\"pool\", PoolArgs.builder()\n            .name(\"/Common/Axiom_Environment_APP1_Pool\")\n            .loadBalancingMode(\"round-robin\")\n            .minimumActiveMembers(1)\n            .monitors(monitor.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/terraform_monitor\n      parent: /Common/http\n  pool:\n    type: f5bigip:ltm:Pool\n    properties:\n      name: /Common/Axiom_Environment_APP1_Pool\n      loadBalancingMode: round-robin\n      minimumActiveMembers: 1\n      monitors:\n        - ${monitor.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing pool can be imported into this resource by supplying pool Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_pool.k8s_prod_import /Common/k8prod_Pool\n\n```\n","properties":{"allowNat":{"type":"string","description":"Specifies whether NATs are automatically enabled or disabled for any connections using this pool, [ Default : \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e, Possible Values \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e].\n"},"allowSnat":{"type":"string","description":"Specifies whether SNATs are automatically enabled or disabled for any connections using this pool,[ Default : \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e, Possible Values \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e].\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the pool.\n"},"loadBalancingMode":{"type":"string","description":"Specifies the load balancing method. The default is `round-robin`. Possible options: [`dynamic-ratio-member`,`dynamic-ratio-node`, `fastest-app-response`,`fastest-node`, `least-connections-members`,`least-connections-node`,`least-sessions`,`observed-member`,`observed-node`,`predictive-member`,`predictive-node`,`ratio-least-connections-member`,`ratio-least-connections-node`,`ratio-member`,`ratio-node`,`ratio-session`,`round-robin`,`weighted-least-connections-member`,`weighted-least-connections-node`]\n"},"minimumActiveMembers":{"type":"integer","description":"Specifies whether the system load balances traffic according to the priority number assigned to the pool member,Default Value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e meaning \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"monitors":{"type":"array","items":{"type":"string"},"description":"List of monitor names to associate with the pool\n"},"name":{"type":"string","description":"Name of the pool,it should be `full path`.The full path is the combination of the `partition + name` of the pool.(For example `/Common/my-pool`)\n"},"reselectTries":{"type":"integer","description":"Specifies the number of times the system tries to contact a new pool member after a passive failure.\n"},"serviceDownAction":{"type":"string","description":"Specifies how the system should respond when the target pool member becomes unavailable. The default is `None`, Possible values: `[none, reset, reselect, drop]`.\n"},"slowRampTime":{"type":"integer","description":"Specifies the duration during which the system sends less traffic to a newly-enabled pool member.\n"}},"required":["allowNat","allowSnat","loadBalancingMode","minimumActiveMembers","monitors","name","reselectTries","serviceDownAction","slowRampTime"],"inputProperties":{"allowNat":{"type":"string","description":"Specifies whether NATs are automatically enabled or disabled for any connections using this pool, [ Default : \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e, Possible Values \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e].\n"},"allowSnat":{"type":"string","description":"Specifies whether SNATs are automatically enabled or disabled for any connections using this pool,[ Default : \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e, Possible Values \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e].\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the pool.\n"},"loadBalancingMode":{"type":"string","description":"Specifies the load balancing method. The default is `round-robin`. Possible options: [`dynamic-ratio-member`,`dynamic-ratio-node`, `fastest-app-response`,`fastest-node`, `least-connections-members`,`least-connections-node`,`least-sessions`,`observed-member`,`observed-node`,`predictive-member`,`predictive-node`,`ratio-least-connections-member`,`ratio-least-connections-node`,`ratio-member`,`ratio-node`,`ratio-session`,`round-robin`,`weighted-least-connections-member`,`weighted-least-connections-node`]\n"},"minimumActiveMembers":{"type":"integer","description":"Specifies whether the system load balances traffic according to the priority number assigned to the pool member,Default Value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e meaning \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"monitors":{"type":"array","items":{"type":"string"},"description":"List of monitor names to associate with the pool\n"},"name":{"type":"string","description":"Name of the pool,it should be `full path`.The full path is the combination of the `partition + name` of the pool.(For example `/Common/my-pool`)\n","willReplaceOnChanges":true},"reselectTries":{"type":"integer","description":"Specifies the number of times the system tries to contact a new pool member after a passive failure.\n"},"serviceDownAction":{"type":"string","description":"Specifies how the system should respond when the target pool member becomes unavailable. The default is `None`, Possible values: `[none, reset, reselect, drop]`.\n"},"slowRampTime":{"type":"integer","description":"Specifies the duration during which the system sends less traffic to a newly-enabled pool member.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering Pool resources.\n","properties":{"allowNat":{"type":"string","description":"Specifies whether NATs are automatically enabled or disabled for any connections using this pool, [ Default : \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e, Possible Values \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e].\n"},"allowSnat":{"type":"string","description":"Specifies whether SNATs are automatically enabled or disabled for any connections using this pool,[ Default : \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e, Possible Values \u003cspan pulumi-lang-nodejs=\"`yes`\" pulumi-lang-dotnet=\"`Yes`\" pulumi-lang-go=\"`yes`\" pulumi-lang-python=\"`yes`\" pulumi-lang-yaml=\"`yes`\" pulumi-lang-java=\"`yes`\"\u003e`yes`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e].\n"},"description":{"type":"string","description":"Specifies descriptive text that identifies the pool.\n"},"loadBalancingMode":{"type":"string","description":"Specifies the load balancing method. The default is `round-robin`. Possible options: [`dynamic-ratio-member`,`dynamic-ratio-node`, `fastest-app-response`,`fastest-node`, `least-connections-members`,`least-connections-node`,`least-sessions`,`observed-member`,`observed-node`,`predictive-member`,`predictive-node`,`ratio-least-connections-member`,`ratio-least-connections-node`,`ratio-member`,`ratio-node`,`ratio-session`,`round-robin`,`weighted-least-connections-member`,`weighted-least-connections-node`]\n"},"minimumActiveMembers":{"type":"integer","description":"Specifies whether the system load balances traffic according to the priority number assigned to the pool member,Default Value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e meaning \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"monitors":{"type":"array","items":{"type":"string"},"description":"List of monitor names to associate with the pool\n"},"name":{"type":"string","description":"Name of the pool,it should be `full path`.The full path is the combination of the `partition + name` of the pool.(For example `/Common/my-pool`)\n","willReplaceOnChanges":true},"reselectTries":{"type":"integer","description":"Specifies the number of times the system tries to contact a new pool member after a passive failure.\n"},"serviceDownAction":{"type":"string","description":"Specifies how the system should respond when the target pool member becomes unavailable. The default is `None`, Possible values: `[none, reset, reselect, drop]`.\n"},"slowRampTime":{"type":"integer","description":"Specifies the duration during which the system sends less traffic to a newly-enabled pool member.\n"}},"type":"object"}},"f5bigip:ltm/poolAttachment:PoolAttachment":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.PoolAttachment`\" pulumi-lang-dotnet=\"`f5bigip.ltm.PoolAttachment`\" pulumi-lang-go=\"`ltm.PoolAttachment`\" pulumi-lang-python=\"`ltm.PoolAttachment`\" pulumi-lang-yaml=\"`f5bigip.ltm.PoolAttachment`\" pulumi-lang-java=\"`f5bigip.ltm.PoolAttachment`\"\u003e`f5bigip.ltm.PoolAttachment`\u003c/span\u003e Manages nodes membership in pools\n\n## Example Usage\n\nThere are two ways to use \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.PoolAttachment`\" pulumi-lang-dotnet=\"`f5bigip.ltm.PoolAttachment`\" pulumi-lang-go=\"`ltm.PoolAttachment`\" pulumi-lang-python=\"`ltm.PoolAttachment`\" pulumi-lang-yaml=\"`f5bigip.ltm.PoolAttachment`\" pulumi-lang-java=\"`f5bigip.ltm.PoolAttachment`\"\u003e`f5bigip.ltm.PoolAttachment`\u003c/span\u003e resource for \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e attribute\n\n* It can be reference from \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Node`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Node`\" pulumi-lang-go=\"`ltm.Node`\" pulumi-lang-python=\"`ltm.Node`\" pulumi-lang-yaml=\"`f5bigip.ltm.Node`\" pulumi-lang-java=\"`f5bigip.ltm.Node`\"\u003e`f5bigip.ltm.Node`\u003c/span\u003e (or)\n* It can be specify directly with `ipv4:port`/`fqdn:port`/`ipv6.port` which will also create node and attach member to pool.\n\n\u003e For adding IPv6 node/member to pool it should be specific in \u003cspan pulumi-lang-nodejs=\"`node`\" pulumi-lang-dotnet=\"`Node`\" pulumi-lang-go=\"`node`\" pulumi-lang-python=\"`node`\" pulumi-lang-yaml=\"`node`\" pulumi-lang-java=\"`node`\"\u003e`node`\u003c/span\u003e attribute in format like `ipv6_address.port`.\nIPv4 should be specified as `ipv4_address:port`\n\n\n### Usage Pool attachment with node/member directly attaching to pool.\n\nnode can be specified in format `ipv4:port` / `fqdn:port` / `ipv6.port`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst monitor = new f5bigip.ltm.Monitor(\"monitor\", {\n    name: \"/Common/terraform_monitor\",\n    parent: \"/Common/http\",\n    send: \"GET /some/path\\x0d\\n\",\n    timeout: 999,\n    interval: 998,\n});\nconst pool = new f5bigip.ltm.Pool(\"pool\", {\n    name: \"/Common/terraform-pool\",\n    loadBalancingMode: \"round-robin\",\n    monitors: [monitor.name],\n    allowSnat: \"yes\",\n    allowNat: \"yes\",\n});\n// attaching ipv4 address with service port\nconst ipv4NodeAttach = new f5bigip.ltm.PoolAttachment(\"ipv4_node_attach\", {\n    pool: pool.name,\n    node: \"1.1.1.1:80\",\n});\n// attaching ipv6 address with service port\nconst ipv6NodeAttach = new f5bigip.ltm.PoolAttachment(\"ipv6_node_attach\", {\n    pool: pool.name,\n    node: \"2003::4.80\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmonitor = f5bigip.ltm.Monitor(\"monitor\",\n    name=\"/Common/terraform_monitor\",\n    parent=\"/Common/http\",\n    send=\"GET /some/path\\x0d\\n\",\n    timeout=999,\n    interval=998)\npool = f5bigip.ltm.Pool(\"pool\",\n    name=\"/Common/terraform-pool\",\n    load_balancing_mode=\"round-robin\",\n    monitors=[monitor.name],\n    allow_snat=\"yes\",\n    allow_nat=\"yes\")\n# attaching ipv4 address with service port\nipv4_node_attach = f5bigip.ltm.PoolAttachment(\"ipv4_node_attach\",\n    pool=pool.name,\n    node=\"1.1.1.1:80\")\n# attaching ipv6 address with service port\nipv6_node_attach = f5bigip.ltm.PoolAttachment(\"ipv6_node_attach\",\n    pool=pool.name,\n    node=\"2003::4.80\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var monitor = new F5BigIP.Ltm.Monitor(\"monitor\", new()\n    {\n        Name = \"/Common/terraform_monitor\",\n        Parent = \"/Common/http\",\n        Send = @\"GET /some/path\r\n\",\n        Timeout = 999,\n        Interval = 998,\n    });\n\n    var pool = new F5BigIP.Ltm.Pool(\"pool\", new()\n    {\n        Name = \"/Common/terraform-pool\",\n        LoadBalancingMode = \"round-robin\",\n        Monitors = new[]\n        {\n            monitor.Name,\n        },\n        AllowSnat = \"yes\",\n        AllowNat = \"yes\",\n    });\n\n    // attaching ipv4 address with service port\n    var ipv4NodeAttach = new F5BigIP.Ltm.PoolAttachment(\"ipv4_node_attach\", new()\n    {\n        Pool = pool.Name,\n        Node = \"1.1.1.1:80\",\n    });\n\n    // attaching ipv6 address with service port\n    var ipv6NodeAttach = new F5BigIP.Ltm.PoolAttachment(\"ipv6_node_attach\", new()\n    {\n        Pool = pool.Name,\n        Node = \"2003::4.80\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmonitor, err := ltm.NewMonitor(ctx, \"monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:     pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent:   pulumi.String(\"/Common/http\"),\n\t\t\tSend:     pulumi.String(\"GET /some/path\r\\n\"),\n\t\t\tTimeout:  pulumi.Int(999),\n\t\t\tInterval: pulumi.Int(998),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := ltm.NewPool(ctx, \"pool\", \u0026ltm.PoolArgs{\n\t\t\tName:              pulumi.String(\"/Common/terraform-pool\"),\n\t\t\tLoadBalancingMode: pulumi.String(\"round-robin\"),\n\t\t\tMonitors: pulumi.StringArray{\n\t\t\t\tmonitor.Name,\n\t\t\t},\n\t\t\tAllowSnat: pulumi.String(\"yes\"),\n\t\t\tAllowNat:  pulumi.String(\"yes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attaching ipv4 address with service port\n\t\t_, err = ltm.NewPoolAttachment(ctx, \"ipv4_node_attach\", \u0026ltm.PoolAttachmentArgs{\n\t\t\tPool: pool.Name,\n\t\t\tNode: pulumi.String(\"1.1.1.1:80\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attaching ipv6 address with service port\n\t\t_, err = ltm.NewPoolAttachment(ctx, \"ipv6_node_attach\", \u0026ltm.PoolAttachmentArgs{\n\t\t\tPool: pool.Name,\n\t\t\tNode: pulumi.String(\"2003::4.80\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.Monitor;\nimport com.pulumi.f5bigip.ltm.MonitorArgs;\nimport com.pulumi.f5bigip.ltm.Pool;\nimport com.pulumi.f5bigip.ltm.PoolArgs;\nimport com.pulumi.f5bigip.ltm.PoolAttachment;\nimport com.pulumi.f5bigip.ltm.PoolAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n            .name(\"/Common/terraform_monitor\")\n            .parent(\"/Common/http\")\n            .send(\"\"\"\nGET /some/path\r\n            \"\"\")\n            .timeout(999)\n            .interval(998)\n            .build());\n\n        var pool = new Pool(\"pool\", PoolArgs.builder()\n            .name(\"/Common/terraform-pool\")\n            .loadBalancingMode(\"round-robin\")\n            .monitors(monitor.name())\n            .allowSnat(\"yes\")\n            .allowNat(\"yes\")\n            .build());\n\n        // attaching ipv4 address with service port\n        var ipv4NodeAttach = new PoolAttachment(\"ipv4NodeAttach\", PoolAttachmentArgs.builder()\n            .pool(pool.name())\n            .node(\"1.1.1.1:80\")\n            .build());\n\n        // attaching ipv6 address with service port\n        var ipv6NodeAttach = new PoolAttachment(\"ipv6NodeAttach\", PoolAttachmentArgs.builder()\n            .pool(pool.name())\n            .node(\"2003::4.80\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/terraform_monitor\n      parent: /Common/http\n      send: \"GET /some/path\\r\\n\"\n      timeout: '999'\n      interval: '998'\n  pool:\n    type: f5bigip:ltm:Pool\n    properties:\n      name: /Common/terraform-pool\n      loadBalancingMode: round-robin\n      monitors:\n        - ${monitor.name}\n      allowSnat: yes\n      allowNat: yes\n  # attaching ipv4 address with service port\n  ipv4NodeAttach:\n    type: f5bigip:ltm:PoolAttachment\n    name: ipv4_node_attach\n    properties:\n      pool: ${pool.name}\n      node: 1.1.1.1:80\n  # attaching ipv6 address with service port\n  ipv6NodeAttach:\n    type: f5bigip:ltm:PoolAttachment\n    name: ipv6_node_attach\n    properties:\n      pool: ${pool.name}\n      node: 2003::4.80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage Pool attachment with node referenced from \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Node`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Node`\" pulumi-lang-go=\"`ltm.Node`\" pulumi-lang-python=\"`ltm.Node`\" pulumi-lang-yaml=\"`f5bigip.ltm.Node`\" pulumi-lang-java=\"`f5bigip.ltm.Node`\"\u003e`f5bigip.ltm.Node`\u003c/span\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst monitor = new f5bigip.ltm.Monitor(\"monitor\", {\n    name: \"/Common/terraform_monitor\",\n    parent: \"/Common/http\",\n    send: \"GET /some/path\\x0d\\n\",\n    timeout: 999,\n    interval: 998,\n});\nconst pool = new f5bigip.ltm.Pool(\"pool\", {\n    name: \"/Common/terraform-pool\",\n    loadBalancingMode: \"round-robin\",\n    monitors: [monitor.name],\n    allowSnat: \"yes\",\n    allowNat: \"yes\",\n});\nconst node = new f5bigip.ltm.Node(\"node\", {\n    name: \"/Common/terraform_node\",\n    address: \"192.168.30.2\",\n});\nconst attachNode = new f5bigip.ltm.PoolAttachment(\"attach_node\", {\n    pool: pool.name,\n    node: pulumi.interpolate`${node.name}:80`,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmonitor = f5bigip.ltm.Monitor(\"monitor\",\n    name=\"/Common/terraform_monitor\",\n    parent=\"/Common/http\",\n    send=\"GET /some/path\\x0d\\n\",\n    timeout=999,\n    interval=998)\npool = f5bigip.ltm.Pool(\"pool\",\n    name=\"/Common/terraform-pool\",\n    load_balancing_mode=\"round-robin\",\n    monitors=[monitor.name],\n    allow_snat=\"yes\",\n    allow_nat=\"yes\")\nnode = f5bigip.ltm.Node(\"node\",\n    name=\"/Common/terraform_node\",\n    address=\"192.168.30.2\")\nattach_node = f5bigip.ltm.PoolAttachment(\"attach_node\",\n    pool=pool.name,\n    node=node.name.apply(lambda name: f\"{name}:80\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var monitor = new F5BigIP.Ltm.Monitor(\"monitor\", new()\n    {\n        Name = \"/Common/terraform_monitor\",\n        Parent = \"/Common/http\",\n        Send = @\"GET /some/path\r\n\",\n        Timeout = 999,\n        Interval = 998,\n    });\n\n    var pool = new F5BigIP.Ltm.Pool(\"pool\", new()\n    {\n        Name = \"/Common/terraform-pool\",\n        LoadBalancingMode = \"round-robin\",\n        Monitors = new[]\n        {\n            monitor.Name,\n        },\n        AllowSnat = \"yes\",\n        AllowNat = \"yes\",\n    });\n\n    var node = new F5BigIP.Ltm.Node(\"node\", new()\n    {\n        Name = \"/Common/terraform_node\",\n        Address = \"192.168.30.2\",\n    });\n\n    var attachNode = new F5BigIP.Ltm.PoolAttachment(\"attach_node\", new()\n    {\n        Pool = pool.Name,\n        Node = node.Name.Apply(name =\u003e $\"{name}:80\"),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmonitor, err := ltm.NewMonitor(ctx, \"monitor\", \u0026ltm.MonitorArgs{\n\t\t\tName:     pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent:   pulumi.String(\"/Common/http\"),\n\t\t\tSend:     pulumi.String(\"GET /some/path\r\\n\"),\n\t\t\tTimeout:  pulumi.Int(999),\n\t\t\tInterval: pulumi.Int(998),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := ltm.NewPool(ctx, \"pool\", \u0026ltm.PoolArgs{\n\t\t\tName:              pulumi.String(\"/Common/terraform-pool\"),\n\t\t\tLoadBalancingMode: pulumi.String(\"round-robin\"),\n\t\t\tMonitors: pulumi.StringArray{\n\t\t\t\tmonitor.Name,\n\t\t\t},\n\t\t\tAllowSnat: pulumi.String(\"yes\"),\n\t\t\tAllowNat:  pulumi.String(\"yes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnode, err := ltm.NewNode(ctx, \"node\", \u0026ltm.NodeArgs{\n\t\t\tName:    pulumi.String(\"/Common/terraform_node\"),\n\t\t\tAddress: pulumi.String(\"192.168.30.2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewPoolAttachment(ctx, \"attach_node\", \u0026ltm.PoolAttachmentArgs{\n\t\t\tPool: pool.Name,\n\t\t\tNode: node.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v:80\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.Monitor;\nimport com.pulumi.f5bigip.ltm.MonitorArgs;\nimport com.pulumi.f5bigip.ltm.Pool;\nimport com.pulumi.f5bigip.ltm.PoolArgs;\nimport com.pulumi.f5bigip.ltm.Node;\nimport com.pulumi.f5bigip.ltm.NodeArgs;\nimport com.pulumi.f5bigip.ltm.PoolAttachment;\nimport com.pulumi.f5bigip.ltm.PoolAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n            .name(\"/Common/terraform_monitor\")\n            .parent(\"/Common/http\")\n            .send(\"\"\"\nGET /some/path\r\n            \"\"\")\n            .timeout(999)\n            .interval(998)\n            .build());\n\n        var pool = new Pool(\"pool\", PoolArgs.builder()\n            .name(\"/Common/terraform-pool\")\n            .loadBalancingMode(\"round-robin\")\n            .monitors(monitor.name())\n            .allowSnat(\"yes\")\n            .allowNat(\"yes\")\n            .build());\n\n        var node = new Node(\"node\", NodeArgs.builder()\n            .name(\"/Common/terraform_node\")\n            .address(\"192.168.30.2\")\n            .build());\n\n        var attachNode = new PoolAttachment(\"attachNode\", PoolAttachmentArgs.builder()\n            .pool(pool.name())\n            .node(node.name().applyValue(_name -\u003e String.format(\"%s:80\", _name)))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  monitor:\n    type: f5bigip:ltm:Monitor\n    properties:\n      name: /Common/terraform_monitor\n      parent: /Common/http\n      send: \"GET /some/path\\r\\n\"\n      timeout: '999'\n      interval: '998'\n  pool:\n    type: f5bigip:ltm:Pool\n    properties:\n      name: /Common/terraform-pool\n      loadBalancingMode: round-robin\n      monitors:\n        - ${monitor.name}\n      allowSnat: yes\n      allowNat: yes\n  node:\n    type: f5bigip:ltm:Node\n    properties:\n      name: /Common/terraform_node\n      address: 192.168.30.2\n  attachNode:\n    type: f5bigip:ltm:PoolAttachment\n    name: attach_node\n    properties:\n      pool: ${pool.name}\n      node: ${node.name}:80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Pool attachment resource with attaching multiple nodes in same pool using \u003cspan pulumi-lang-nodejs=\"`forEach`\" pulumi-lang-dotnet=\"`ForEach`\" pulumi-lang-go=\"`forEach`\" pulumi-lang-python=\"`for_each`\" pulumi-lang-yaml=\"`forEach`\" pulumi-lang-java=\"`forEach`\"\u003e`for_each`\u003c/span\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nexport = async () =\u003e {\n    const node1 = new f5bigip.ltm.Node(\"node1\", {\n        name: \"/Common/terraform_node1\",\n        address: \"192.168.30.1\",\n    });\n    const node2 = new f5bigip.ltm.Node(\"node2\", {\n        name: \"/Common/terraform_node2\",\n        address: \"192.168.30.2\",\n    });\n    const k8sProd = new f5bigip.ltm.Pool(\"k8s_prod\", {name: \"/Common/k8prod_Pool\"});\n    const k8sprod: f5bigip.ltm.PoolAttachment[] = [];\n    for (const range of std.toset({\n        input: [\n            node1.name,\n            node2.name,\n        ],\n    }).result.map((v, k) =\u003e ({key: k, value: v}))) {\n        k8sprod.push(new f5bigip.ltm.PoolAttachment(`k8sprod-${range.key}`, {\n            pool: k8sProd.name,\n            node: `${range.key}:80`,\n        }));\n    }\n}\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\nnode1 = f5bigip.ltm.Node(\"node1\",\n    name=\"/Common/terraform_node1\",\n    address=\"192.168.30.1\")\nnode2 = f5bigip.ltm.Node(\"node2\",\n    name=\"/Common/terraform_node2\",\n    address=\"192.168.30.2\")\nk8s_prod = f5bigip.ltm.Pool(\"k8s_prod\", name=\"/Common/k8prod_Pool\")\nk8sprod = []\nfor range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(std.toset(input=[\n    node1.name,\n    node2.name,\n]).result)]:\n    k8sprod.append(f5bigip.ltm.PoolAttachment(f\"k8sprod-{range['key']}\",\n        pool=k8s_prod.name,\n        node=f\"{range['key']}:80\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n    var node1 = new F5BigIP.Ltm.Node(\"node1\", new()\n    {\n        Name = \"/Common/terraform_node1\",\n        Address = \"192.168.30.1\",\n    });\n\n    var node2 = new F5BigIP.Ltm.Node(\"node2\", new()\n    {\n        Name = \"/Common/terraform_node2\",\n        Address = \"192.168.30.2\",\n    });\n\n    var k8sProd = new F5BigIP.Ltm.Pool(\"k8s_prod\", new()\n    {\n        Name = \"/Common/k8prod_Pool\",\n    });\n\n    var k8sprod = new List\u003cF5BigIP.Ltm.PoolAttachment\u003e();\n    foreach (var range in )\n    {\n        k8sprod.Add(new F5BigIP.Ltm.PoolAttachment($\"k8sprod-{range.Key}\", new()\n        {\n            Pool = k8sProd.Name,\n            Node = $\"{range.Key}:80\",\n        }));\n    }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnode1, err := ltm.NewNode(ctx, \"node1\", \u0026ltm.NodeArgs{\n\t\t\tName:    pulumi.String(\"/Common/terraform_node1\"),\n\t\t\tAddress: pulumi.String(\"192.168.30.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnode2, err := ltm.NewNode(ctx, \"node2\", \u0026ltm.NodeArgs{\n\t\t\tName:    pulumi.String(\"/Common/terraform_node2\"),\n\t\t\tAddress: pulumi.String(\"192.168.30.2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tk8sProd, err := ltm.NewPool(ctx, \"k8s_prod\", \u0026ltm.PoolArgs{\n\t\t\tName: pulumi.String(\"/Common/k8prod_Pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar k8sprod []*ltm.PoolAttachment\n\t\tfor key0, _ := range interface{}(std.Toset(ctx, \u0026std.TosetArgs{\n\t\t\tInput: pulumi.StringArray{\n\t\t\t\tnode1.Name,\n\t\t\t\tnode2.Name,\n\t\t\t},\n\t\t}, nil).Result) {\n\t\t\t__res, err := ltm.NewPoolAttachment(ctx, fmt.Sprintf(\"k8sprod-%v\", key0), \u0026ltm.PoolAttachmentArgs{\n\t\t\t\tPool: k8sProd.Name,\n\t\t\t\tNode: pulumi.Sprintf(\"%v:80\", key0),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tk8sprod = append(k8sprod, __res)\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.Node;\nimport com.pulumi.f5bigip.ltm.NodeArgs;\nimport com.pulumi.f5bigip.ltm.Pool;\nimport com.pulumi.f5bigip.ltm.PoolArgs;\nimport com.pulumi.f5bigip.ltm.PoolAttachment;\nimport com.pulumi.f5bigip.ltm.PoolAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var node1 = new Node(\"node1\", NodeArgs.builder()\n            .name(\"/Common/terraform_node1\")\n            .address(\"192.168.30.1\")\n            .build());\n\n        var node2 = new Node(\"node2\", NodeArgs.builder()\n            .name(\"/Common/terraform_node2\")\n            .address(\"192.168.30.2\")\n            .build());\n\n        var k8sProd = new Pool(\"k8sProd\", PoolArgs.builder()\n            .name(\"/Common/k8prod_Pool\")\n            .build());\n\n        for (var range : KeyedValue.of(com.pulumi.std.StdFunctions(TosetArgs.builder()\n            .input(            \n                node1.name(),\n                node2.name())\n            .build()).result())) {\n            new PoolAttachment(\"k8sprod-\" + range.key(), PoolAttachmentArgs.builder()\n                .pool(k8sProd.name())\n                .node(String.format(\"%s:80\", range.key()))\n                .build());\n        }\n\n    }\n}\n```\n```yaml\nresources:\n  node1:\n    type: f5bigip:ltm:Node\n    properties:\n      name: /Common/terraform_node1\n      address: 192.168.30.1\n  node2:\n    type: f5bigip:ltm:Node\n    properties:\n      name: /Common/terraform_node2\n      address: 192.168.30.2\n  k8sProd:\n    type: f5bigip:ltm:Pool\n    name: k8s_prod\n    properties:\n      name: /Common/k8prod_Pool\n  k8sprod:\n    type: f5bigip:ltm:PoolAttachment\n    properties:\n      pool: ${k8sProd.name}\n      node: ${range.key}:80\n    options: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## Importing\n\nAn existing pool attachment (i.e. pool membership) can be imported into this resource by supplying both the pool full path, and the node full path with the relevant port. If the pool or node membership is not found, an error will be returned. An example is below:\n\n```sh\n$ terraform import bigip_ltm_pool_attachment.node-pool-attach \\\n\t'{\"pool\": \"/Common/terraform-pool\", \"node\": \"/Common/node1:80\"}'\n```\n","properties":{"connectionLimit":{"type":"integer","description":"Specifies a maximum established connection limit for a pool member or node.The default is 0, meaning that there is no limit to the number of connections.\n"},"connectionRateLimit":{"type":"string","description":"Specifies the maximum number of connections-per-second allowed for a pool member,The default is 0.\n"},"dynamicRatio":{"type":"integer","description":"Specifies the fixed ratio value used for a node during ratio load balancing.\n"},"fqdnAutopopulate":{"type":"string","description":"Specifies whether the system automatically creates ephemeral nodes using the IP addresses returned by the resolution of a DNS query for a node defined by an FQDN. The default is enabled\n"},"monitor":{"type":"string","description":"Specifies the health monitors that the system uses to monitor this pool member,value can be \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e (or) list of monitors joined with and ( ex: `/Common/test_monitor_pa_tc1 and /Common/gateway_icmp`).\n"},"node":{"type":"string","description":"Pool member address/fqdn with service port, (ex: `1.1.1.1:80/www.google.com:80`). (Note: Member will be in same partition of Pool)\n"},"pool":{"type":"string","description":"Name of the pool to which members should be attached,it should be \"full path\".The full path is the combination of the partition + name of the pool.(For example `/Common/my-pool`) or partition + directory + name of the pool (For example `/Common/test/my-pool`).When including directory in fullpath we have to make sure it is created in the given partition before using it.\n"},"priorityGroup":{"type":"integer","description":"Specifies a number representing the priority group for the pool member. The default is 0, meaning that the member has no priority\n"},"ratio":{"type":"integer","description":"\"Specifies the ratio weight to assign to the pool member. Valid values range from 1 through 65535. The default is 1, which means that each pool member has an equal ratio proportion.\".\n"},"state":{"type":"string","description":"Specifies the state the pool member should be in,value can be \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`forcedOffline`\" pulumi-lang-dotnet=\"`ForcedOffline`\" pulumi-lang-go=\"`forcedOffline`\" pulumi-lang-python=\"`forced_offline`\" pulumi-lang-yaml=\"`forcedOffline`\" pulumi-lang-java=\"`forcedOffline`\"\u003e`forced_offline`\u003c/span\u003e).\n"}},"required":["connectionLimit","connectionRateLimit","dynamicRatio","monitor","node","pool","priorityGroup","ratio"],"inputProperties":{"connectionLimit":{"type":"integer","description":"Specifies a maximum established connection limit for a pool member or node.The default is 0, meaning that there is no limit to the number of connections.\n"},"connectionRateLimit":{"type":"string","description":"Specifies the maximum number of connections-per-second allowed for a pool member,The default is 0.\n"},"dynamicRatio":{"type":"integer","description":"Specifies the fixed ratio value used for a node during ratio load balancing.\n"},"fqdnAutopopulate":{"type":"string","description":"Specifies whether the system automatically creates ephemeral nodes using the IP addresses returned by the resolution of a DNS query for a node defined by an FQDN. The default is enabled\n","willReplaceOnChanges":true},"monitor":{"type":"string","description":"Specifies the health monitors that the system uses to monitor this pool member,value can be \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e (or) list of monitors joined with and ( ex: `/Common/test_monitor_pa_tc1 and /Common/gateway_icmp`).\n"},"node":{"type":"string","description":"Pool member address/fqdn with service port, (ex: `1.1.1.1:80/www.google.com:80`). (Note: Member will be in same partition of Pool)\n","willReplaceOnChanges":true},"pool":{"type":"string","description":"Name of the pool to which members should be attached,it should be \"full path\".The full path is the combination of the partition + name of the pool.(For example `/Common/my-pool`) or partition + directory + name of the pool (For example `/Common/test/my-pool`).When including directory in fullpath we have to make sure it is created in the given partition before using it.\n","willReplaceOnChanges":true},"priorityGroup":{"type":"integer","description":"Specifies a number representing the priority group for the pool member. The default is 0, meaning that the member has no priority\n"},"ratio":{"type":"integer","description":"\"Specifies the ratio weight to assign to the pool member. Valid values range from 1 through 65535. The default is 1, which means that each pool member has an equal ratio proportion.\".\n"},"state":{"type":"string","description":"Specifies the state the pool member should be in,value can be \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`forcedOffline`\" pulumi-lang-dotnet=\"`ForcedOffline`\" pulumi-lang-go=\"`forcedOffline`\" pulumi-lang-python=\"`forced_offline`\" pulumi-lang-yaml=\"`forcedOffline`\" pulumi-lang-java=\"`forcedOffline`\"\u003e`forced_offline`\u003c/span\u003e).\n"}},"requiredInputs":["node","pool"],"stateInputs":{"description":"Input properties used for looking up and filtering PoolAttachment resources.\n","properties":{"connectionLimit":{"type":"integer","description":"Specifies a maximum established connection limit for a pool member or node.The default is 0, meaning that there is no limit to the number of connections.\n"},"connectionRateLimit":{"type":"string","description":"Specifies the maximum number of connections-per-second allowed for a pool member,The default is 0.\n"},"dynamicRatio":{"type":"integer","description":"Specifies the fixed ratio value used for a node during ratio load balancing.\n"},"fqdnAutopopulate":{"type":"string","description":"Specifies whether the system automatically creates ephemeral nodes using the IP addresses returned by the resolution of a DNS query for a node defined by an FQDN. The default is enabled\n","willReplaceOnChanges":true},"monitor":{"type":"string","description":"Specifies the health monitors that the system uses to monitor this pool member,value can be \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e (or) list of monitors joined with and ( ex: `/Common/test_monitor_pa_tc1 and /Common/gateway_icmp`).\n"},"node":{"type":"string","description":"Pool member address/fqdn with service port, (ex: `1.1.1.1:80/www.google.com:80`). (Note: Member will be in same partition of Pool)\n","willReplaceOnChanges":true},"pool":{"type":"string","description":"Name of the pool to which members should be attached,it should be \"full path\".The full path is the combination of the partition + name of the pool.(For example `/Common/my-pool`) or partition + directory + name of the pool (For example `/Common/test/my-pool`).When including directory in fullpath we have to make sure it is created in the given partition before using it.\n","willReplaceOnChanges":true},"priorityGroup":{"type":"integer","description":"Specifies a number representing the priority group for the pool member. The default is 0, meaning that the member has no priority\n"},"ratio":{"type":"integer","description":"\"Specifies the ratio weight to assign to the pool member. Valid values range from 1 through 65535. The default is 1, which means that each pool member has an equal ratio proportion.\".\n"},"state":{"type":"string","description":"Specifies the state the pool member should be in,value can be \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e (or) \u003cspan pulumi-lang-nodejs=\"`forcedOffline`\" pulumi-lang-dotnet=\"`ForcedOffline`\" pulumi-lang-go=\"`forcedOffline`\" pulumi-lang-python=\"`forced_offline`\" pulumi-lang-yaml=\"`forcedOffline`\" pulumi-lang-java=\"`forcedOffline`\"\u003e`forced_offline`\u003c/span\u003e).\n"}},"type":"object"}},"f5bigip:ltm/profileBotDefense:ProfileBotDefense":{"properties":{"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `request-log` profile"},"description":{"type":"string","description":"User defined description for Bot Defense profile"},"enforcementMode":{"type":"string","description":"Select the enforcement mode, possible values are \u003cspan pulumi-lang-nodejs=\"`transparent`\" pulumi-lang-dotnet=\"`Transparent`\" pulumi-lang-go=\"`transparent`\" pulumi-lang-python=\"`transparent`\" pulumi-lang-yaml=\"`transparent`\" pulumi-lang-java=\"`transparent`\"\u003e`transparent`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`blocking`\" pulumi-lang-dotnet=\"`Blocking`\" pulumi-lang-go=\"`blocking`\" pulumi-lang-python=\"`blocking`\" pulumi-lang-yaml=\"`blocking`\" pulumi-lang-java=\"`blocking`\"\u003e`blocking`\u003c/span\u003e."},"name":{"type":"string","description":"Name of the Bot Defense profile"},"template":{"type":"string","description":"Profile templates specify Mitigation and Verification Settings default values. possible ptions \u003cspan pulumi-lang-nodejs=\"`balanced`\" pulumi-lang-dotnet=\"`Balanced`\" pulumi-lang-go=\"`balanced`\" pulumi-lang-python=\"`balanced`\" pulumi-lang-yaml=\"`balanced`\" pulumi-lang-java=\"`balanced`\"\u003e`balanced`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`relaxed`\" pulumi-lang-dotnet=\"`Relaxed`\" pulumi-lang-go=\"`relaxed`\" pulumi-lang-python=\"`relaxed`\" pulumi-lang-yaml=\"`relaxed`\" pulumi-lang-java=\"`relaxed`\"\u003e`relaxed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\"\u003e`strict`\u003c/span\u003e"}},"required":["description","enforcementMode","name","template"],"inputProperties":{"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `request-log` profile"},"description":{"type":"string","description":"User defined description for Bot Defense profile"},"enforcementMode":{"type":"string","description":"Select the enforcement mode, possible values are \u003cspan pulumi-lang-nodejs=\"`transparent`\" pulumi-lang-dotnet=\"`Transparent`\" pulumi-lang-go=\"`transparent`\" pulumi-lang-python=\"`transparent`\" pulumi-lang-yaml=\"`transparent`\" pulumi-lang-java=\"`transparent`\"\u003e`transparent`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`blocking`\" pulumi-lang-dotnet=\"`Blocking`\" pulumi-lang-go=\"`blocking`\" pulumi-lang-python=\"`blocking`\" pulumi-lang-yaml=\"`blocking`\" pulumi-lang-java=\"`blocking`\"\u003e`blocking`\u003c/span\u003e."},"name":{"type":"string","description":"Name of the Bot Defense profile","willReplaceOnChanges":true},"template":{"type":"string","description":"Profile templates specify Mitigation and Verification Settings default values. possible ptions \u003cspan pulumi-lang-nodejs=\"`balanced`\" pulumi-lang-dotnet=\"`Balanced`\" pulumi-lang-go=\"`balanced`\" pulumi-lang-python=\"`balanced`\" pulumi-lang-yaml=\"`balanced`\" pulumi-lang-java=\"`balanced`\"\u003e`balanced`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`relaxed`\" pulumi-lang-dotnet=\"`Relaxed`\" pulumi-lang-go=\"`relaxed`\" pulumi-lang-python=\"`relaxed`\" pulumi-lang-yaml=\"`relaxed`\" pulumi-lang-java=\"`relaxed`\"\u003e`relaxed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\"\u003e`strict`\u003c/span\u003e","willReplaceOnChanges":true}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileBotDefense resources.\n","properties":{"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `request-log` profile"},"description":{"type":"string","description":"User defined description for Bot Defense profile"},"enforcementMode":{"type":"string","description":"Select the enforcement mode, possible values are \u003cspan pulumi-lang-nodejs=\"`transparent`\" pulumi-lang-dotnet=\"`Transparent`\" pulumi-lang-go=\"`transparent`\" pulumi-lang-python=\"`transparent`\" pulumi-lang-yaml=\"`transparent`\" pulumi-lang-java=\"`transparent`\"\u003e`transparent`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`blocking`\" pulumi-lang-dotnet=\"`Blocking`\" pulumi-lang-go=\"`blocking`\" pulumi-lang-python=\"`blocking`\" pulumi-lang-yaml=\"`blocking`\" pulumi-lang-java=\"`blocking`\"\u003e`blocking`\u003c/span\u003e."},"name":{"type":"string","description":"Name of the Bot Defense profile","willReplaceOnChanges":true},"template":{"type":"string","description":"Profile templates specify Mitigation and Verification Settings default values. possible ptions \u003cspan pulumi-lang-nodejs=\"`balanced`\" pulumi-lang-dotnet=\"`Balanced`\" pulumi-lang-go=\"`balanced`\" pulumi-lang-python=\"`balanced`\" pulumi-lang-yaml=\"`balanced`\" pulumi-lang-java=\"`balanced`\"\u003e`balanced`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`relaxed`\" pulumi-lang-dotnet=\"`Relaxed`\" pulumi-lang-go=\"`relaxed`\" pulumi-lang-python=\"`relaxed`\" pulumi-lang-yaml=\"`relaxed`\" pulumi-lang-java=\"`relaxed`\"\u003e`relaxed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\"\u003e`strict`\u003c/span\u003e","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:ltm/profileClientSsl:ProfileClientSsl":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileClientSsl`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileClientSsl`\" pulumi-lang-go=\"`ltm.ProfileClientSsl`\" pulumi-lang-python=\"`ltm.ProfileClientSsl`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileClientSsl`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileClientSsl`\"\u003e`f5bigip.ltm.ProfileClientSsl`\u003c/span\u003e Manages client SSL profiles on a BIG-IP\n\nResources should be named with their \"full path\". The full path is the combination of the partition + name (example: /Common/my-pool ) or  partition + directory + name of the resource  (example: /Common/test/my-pool )\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_ClientSsl = new f5bigip.ltm.ProfileClientSsl(\"test-ClientSsl\", {\n    name: \"/Common/test-ClientSsl\",\n    defaultsFrom: \"/Common/clientssl\",\n    authenticate: \"always\",\n    ciphers: \"DEFAULT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest__client_ssl = f5bigip.ltm.ProfileClientSsl(\"test-ClientSsl\",\n    name=\"/Common/test-ClientSsl\",\n    defaults_from=\"/Common/clientssl\",\n    authenticate=\"always\",\n    ciphers=\"DEFAULT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_ClientSsl = new F5BigIP.Ltm.ProfileClientSsl(\"test-ClientSsl\", new()\n    {\n        Name = \"/Common/test-ClientSsl\",\n        DefaultsFrom = \"/Common/clientssl\",\n        Authenticate = \"always\",\n        Ciphers = \"DEFAULT\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileClientSsl(ctx, \"test-ClientSsl\", \u0026ltm.ProfileClientSslArgs{\n\t\t\tName:         pulumi.String(\"/Common/test-ClientSsl\"),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/clientssl\"),\n\t\t\tAuthenticate: pulumi.String(\"always\"),\n\t\t\tCiphers:      pulumi.String(\"DEFAULT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileClientSsl;\nimport com.pulumi.f5bigip.ltm.ProfileClientSslArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_ClientSsl = new ProfileClientSsl(\"test-ClientSsl\", ProfileClientSslArgs.builder()\n            .name(\"/Common/test-ClientSsl\")\n            .defaultsFrom(\"/Common/clientssl\")\n            .authenticate(\"always\")\n            .ciphers(\"DEFAULT\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-ClientSsl:\n    type: f5bigip:ltm:ProfileClientSsl\n    properties:\n      name: /Common/test-ClientSsl\n      defaultsFrom: /Common/clientssl\n      authenticate: always\n      ciphers: DEFAULT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing client-ssl profile can be imported into this resource by supplying client-ssl profile Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_profile_client_ssl.test-ClientSsl-import /Common/test-ClientSsl\n```\n","properties":{"alertTimeout":{"type":"string","description":"Alert time out"},"allowExpiredCrl":{"type":"string","description":"Instructs the system to use the specified CRL file even if it has expired. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"allowNonSsl":{"type":"string","description":"Enables or disables acceptance of non-SSL connections, When creating a new profile, the setting is provided by the parent profile\n"},"authenticate":{"type":"string","description":"Specifies the frequency of client authentication for an SSL session.When \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e,specifies that the system authenticates the client once for an SSL session.\nWhen \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, specifies that the system authenticates the client once for an SSL session and also upon reuse of that session.\n"},"authenticateDepth":{"type":"integer","description":"Specifies the maximum number of certificates to be traversed in a client certificate chain\n"},"c3dClientFallbackCert":{"type":"string","description":"Specifies the client certificate to use in SSL client certificate constrained delegation. This certificate will be used if client does not provide a cert during the SSL handshake. The default value is none.\n"},"c3dDropUnknownOcspStatus":{"type":"string","description":"Specifies the BIG-IP action when the OCSP responder returns unknown status. The default value is drop, which causes the onnection to be dropped. Conversely, you can specify ignore, which causes the connection to ignore the unknown status and continue.\n"},"c3dOcsp":{"type":"string","description":"Specifies the SSL client certificate constrained delegation OCSP object that the BIG-IP SSL should use to connect to the OCSP responder and check the client certificate status.\n"},"caFile":{"type":"string","description":"(Trusted Certificate Authorities)Specifies a client CA that the system trusts. The default is `None`.\n"},"cacheSize":{"type":"integer","description":"Cache size (sessions)."},"cacheTimeout":{"type":"integer","description":"Cache time out"},"cert":{"type":"string","description":"Specifies the name of the certificate that the system uses for client-side SSL processing. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"certExtensionIncludes":{"type":"array","items":{"type":"string"},"description":"Cert extension includes for ssl forward proxy"},"certKeyChain":{"$ref":"#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain","description":"\u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e Specifies one or more certificates and keys to associate with the SSL profile.\nSee Cert Key Chain below for more details.\n\n\u003e **NOTE**  \u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e is recommend way for adding cert-key-chain to profile. If \u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e block provided, we should not provide \u003cspan pulumi-lang-nodejs=\"`cert`\" pulumi-lang-dotnet=\"`Cert`\" pulumi-lang-go=\"`cert`\" pulumi-lang-python=\"`cert`\" pulumi-lang-yaml=\"`cert`\" pulumi-lang-java=\"`cert`\"\u003e`cert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`chain`\" pulumi-lang-dotnet=\"`Chain`\" pulumi-lang-go=\"`chain`\" pulumi-lang-python=\"`chain`\" pulumi-lang-yaml=\"`chain`\" pulumi-lang-java=\"`chain`\"\u003e`chain`\u003c/span\u003e.\n"},"certLifeSpan":{"type":"integer","description":"Life span of the certificate in days for ssl forward proxy"},"certLookupByIpaddrPort":{"type":"string","description":"Cert lookup by ip address and port enabled / disabled"},"chain":{"type":"string","description":"Specifies a certificate chain file that a server can use for authentication. The default is `None`.\n"},"cipherGroup":{"type":"string","description":"Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, \u003cspan pulumi-lang-nodejs=\"`ciphers`\" pulumi-lang-dotnet=\"`Ciphers`\" pulumi-lang-go=\"`ciphers`\" pulumi-lang-python=\"`ciphers`\" pulumi-lang-yaml=\"`ciphers`\" pulumi-lang-java=\"`ciphers`\"\u003e`ciphers`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"ciphers":{"type":"string","description":"BigIP Cipher string."},"clientCertCa":{"type":"string","description":"(Advertised Certificate Authorities)Specifies that the CAs that the system advertises to clients is being trusted by the profile. The default is `None`.\n"},"crlFile":{"type":"string","description":"Specifies the name of a file containing a list of revoked client certificates. The default is `None`.\n"},"defaultsFrom":{"type":"string","description":"Parent profile for this clientssl profile.Once this value has been set, it cannot be changed. Default value is `/Common/clientssl`. It Should Full path `/partition/profile_name`\n"},"forwardProxyBypassDefaultAction":{"type":"string","description":"Forward proxy bypass default action. (enabled / disabled)"},"fullPath":{"type":"string","description":"full path of the profile"},"generation":{"type":"integer","description":"generation"},"genericAlert":{"type":"string","description":"Generic alerts enabled / disabled."},"handshakeTimeout":{"type":"string","description":"Handshake time out (seconds)"},"inheritCertKeychain":{"type":"string","description":"Inherit cert key chain"},"key":{"type":"string","description":"Specifies the file name of the SSL key. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"modSslMethods":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"mode":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"name":{"type":"string","description":"Specifies the name of the profile.Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-clientssl-profile`.\n"},"ocspStapling":{"type":"string","description":"Specifies whether the system uses OCSP stapling. The default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"partition":{"type":"string","description":"name of partition"},"passphrase":{"type":"string","description":"Client Certificate Constrained Delegation CA passphrase","secret":true},"peerCertMode":{"type":"string","description":"Specifies the way the system handles client certificates.When ignore, specifies that the system ignores certificates from client systems.When require, specifies that the system requires a client to present a valid certificate.When request, specifies that the system requests a valid certificate from a client but always authenticate the client.\n"},"proxyCaCert":{"type":"string","description":"Proxy CA Cert"},"proxyCaKey":{"type":"string","description":"Proxy CA Key"},"proxyCaPassphrase":{"type":"string","description":"Proxy CA Passphrase"},"proxySsl":{"type":"string","description":"Proxy SSL enabled / disabled.  Default is disabled."},"proxySslPassthrough":{"type":"string","description":"Proxy SSL passthrough enabled / disabled.  Default is disabled."},"renegotiatePeriod":{"type":"string","description":"Renogotiate Period (seconds)"},"renegotiateSize":{"type":"string","description":"Renogotiate Size"},"renegotiation":{"type":"string","description":"Enables or disables SSL renegotiation.When creating a new profile, the setting is provided by the parent profile\n"},"retainCertificate":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, client certificate is retained in SSL session.\n"},"secureRenegotiation":{"type":"string","description":"Specifies the method of secure renegotiations for SSL connections. When creating a new profile, the setting is provided by the parent profile.\nWhen \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e is set the system request secure renegotation of SSL connections.\n\u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e is a default setting and when set the system permits initial SSL handshakes from clients but terminates renegotiations from unpatched clients.\nThe `require-strict` setting the system requires strict renegotiation of SSL connections. In this mode the system refuses connections to insecure servers, and terminates existing SSL connections to insecure servers\n"},"serverName":{"type":"string","description":"Specifies the fully qualified DNS hostname of the server used in Server Name Indication communications. When creating a new profile, the setting is provided by the parent profile.The server name can also be a wildcard string containing the asterisk `*` character.\n"},"sessionMirroring":{"type":"string","description":"Session Mirroring (enabled / disabled)"},"sessionTicket":{"type":"string","description":"Session Ticket (enabled / disabled)"},"sniDefault":{"type":"string","description":"Indicates that the system uses this profile as the default SSL profile when there is no match to the server name, or when the client provides no SNI extension support.When creating a new profile, the setting is provided by the parent profile.\nThere can be only one SSL profile with this setting enabled.\n"},"sniRequire":{"type":"string","description":"Requires that the network peers also provide SNI support, this setting only takes effect when \u003cspan pulumi-lang-nodejs=\"`sniDefault`\" pulumi-lang-dotnet=\"`SniDefault`\" pulumi-lang-go=\"`sniDefault`\" pulumi-lang-python=\"`sni_default`\" pulumi-lang-yaml=\"`sniDefault`\" pulumi-lang-java=\"`sniDefault`\"\u003e`sni_default`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.When creating a new profile, the setting is provided by the parent profile\n"},"sslC3d":{"type":"string","description":"Enables or disables SSL client certificate constrained delegation. The default option is disabled. Conversely, you can specify enabled to use the SSL client certificate constrained delegation.\n"},"sslForwardProxy":{"type":"string","description":"Specifies whether SSL forward proxy feature is enabled or not. The default value is disabled.\n"},"sslForwardProxyBypass":{"type":"string","description":"Specifies whether SSL forward proxy bypass feature is enabled or not. The default value is disabled.\n"},"sslSignHash":{"type":"string","description":"SSL sign hash (any, sha1, sha256, sha384)"},"strictResume":{"type":"string","description":"Enables or disables the resumption of SSL sessions after an unclean shutdown.When creating a new profile, the setting is provided by the parent profile.\n"},"tmOptions":{"type":"array","items":{"type":"string"},"description":"List of Enabled selection from a set of industry standard options for handling SSL processing.By default,\nDon't insert empty fragments and No TLSv1.3 are listed as Enabled Options. `Usage` :\u003cspan pulumi-lang-nodejs=\" tmOptions \" pulumi-lang-dotnet=\" TmOptions \" pulumi-lang-go=\" tmOptions \" pulumi-lang-python=\" tm_options \" pulumi-lang-yaml=\" tmOptions \" pulumi-lang-java=\" tmOptions \"\u003e tm_options \u003c/span\u003e   = [\"dont-insert-empty-fragments\",\"no-tlsv1.3\"]\n"},"uncleanShutdown":{"type":"string","description":"Unclean Shutdown (enabled / disabled)"}},"required":["alertTimeout","allowExpiredCrl","allowNonSsl","authenticate","authenticateDepth","c3dClientFallbackCert","c3dDropUnknownOcspStatus","c3dOcsp","caFile","cacheSize","cacheTimeout","cert","certExtensionIncludes","certLifeSpan","certLookupByIpaddrPort","chain","cipherGroup","ciphers","clientCertCa","crlFile","forwardProxyBypassDefaultAction","fullPath","generation","genericAlert","handshakeTimeout","inheritCertKeychain","key","modSslMethods","mode","name","partition","passphrase","peerCertMode","proxyCaCert","proxyCaKey","proxyCaPassphrase","proxySsl","proxySslPassthrough","renegotiatePeriod","renegotiateSize","renegotiation","retainCertificate","secureRenegotiation","serverName","sessionMirroring","sessionTicket","sniDefault","sniRequire","sslC3d","sslForwardProxy","sslForwardProxyBypass","sslSignHash","strictResume","tmOptions","uncleanShutdown"],"inputProperties":{"alertTimeout":{"type":"string","description":"Alert time out"},"allowExpiredCrl":{"type":"string","description":"Instructs the system to use the specified CRL file even if it has expired. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"allowNonSsl":{"type":"string","description":"Enables or disables acceptance of non-SSL connections, When creating a new profile, the setting is provided by the parent profile\n"},"authenticate":{"type":"string","description":"Specifies the frequency of client authentication for an SSL session.When \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e,specifies that the system authenticates the client once for an SSL session.\nWhen \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, specifies that the system authenticates the client once for an SSL session and also upon reuse of that session.\n"},"authenticateDepth":{"type":"integer","description":"Specifies the maximum number of certificates to be traversed in a client certificate chain\n"},"c3dClientFallbackCert":{"type":"string","description":"Specifies the client certificate to use in SSL client certificate constrained delegation. This certificate will be used if client does not provide a cert during the SSL handshake. The default value is none.\n"},"c3dDropUnknownOcspStatus":{"type":"string","description":"Specifies the BIG-IP action when the OCSP responder returns unknown status. The default value is drop, which causes the onnection to be dropped. Conversely, you can specify ignore, which causes the connection to ignore the unknown status and continue.\n"},"c3dOcsp":{"type":"string","description":"Specifies the SSL client certificate constrained delegation OCSP object that the BIG-IP SSL should use to connect to the OCSP responder and check the client certificate status.\n"},"caFile":{"type":"string","description":"(Trusted Certificate Authorities)Specifies a client CA that the system trusts. The default is `None`.\n"},"cacheSize":{"type":"integer","description":"Cache size (sessions)."},"cacheTimeout":{"type":"integer","description":"Cache time out"},"cert":{"type":"string","description":"Specifies the name of the certificate that the system uses for client-side SSL processing. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"certExtensionIncludes":{"type":"array","items":{"type":"string"},"description":"Cert extension includes for ssl forward proxy"},"certKeyChain":{"$ref":"#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain","description":"\u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e Specifies one or more certificates and keys to associate with the SSL profile.\nSee Cert Key Chain below for more details.\n\n\u003e **NOTE**  \u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e is recommend way for adding cert-key-chain to profile. If \u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e block provided, we should not provide \u003cspan pulumi-lang-nodejs=\"`cert`\" pulumi-lang-dotnet=\"`Cert`\" pulumi-lang-go=\"`cert`\" pulumi-lang-python=\"`cert`\" pulumi-lang-yaml=\"`cert`\" pulumi-lang-java=\"`cert`\"\u003e`cert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`chain`\" pulumi-lang-dotnet=\"`Chain`\" pulumi-lang-go=\"`chain`\" pulumi-lang-python=\"`chain`\" pulumi-lang-yaml=\"`chain`\" pulumi-lang-java=\"`chain`\"\u003e`chain`\u003c/span\u003e.\n"},"certLifeSpan":{"type":"integer","description":"Life span of the certificate in days for ssl forward proxy"},"certLookupByIpaddrPort":{"type":"string","description":"Cert lookup by ip address and port enabled / disabled"},"chain":{"type":"string","description":"Specifies a certificate chain file that a server can use for authentication. The default is `None`.\n"},"cipherGroup":{"type":"string","description":"Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, \u003cspan pulumi-lang-nodejs=\"`ciphers`\" pulumi-lang-dotnet=\"`Ciphers`\" pulumi-lang-go=\"`ciphers`\" pulumi-lang-python=\"`ciphers`\" pulumi-lang-yaml=\"`ciphers`\" pulumi-lang-java=\"`ciphers`\"\u003e`ciphers`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"ciphers":{"type":"string","description":"BigIP Cipher string."},"clientCertCa":{"type":"string","description":"(Advertised Certificate Authorities)Specifies that the CAs that the system advertises to clients is being trusted by the profile. The default is `None`.\n"},"crlFile":{"type":"string","description":"Specifies the name of a file containing a list of revoked client certificates. The default is `None`.\n"},"defaultsFrom":{"type":"string","description":"Parent profile for this clientssl profile.Once this value has been set, it cannot be changed. Default value is `/Common/clientssl`. It Should Full path `/partition/profile_name`\n"},"forwardProxyBypassDefaultAction":{"type":"string","description":"Forward proxy bypass default action. (enabled / disabled)"},"fullPath":{"type":"string","description":"full path of the profile"},"generation":{"type":"integer","description":"generation"},"genericAlert":{"type":"string","description":"Generic alerts enabled / disabled."},"handshakeTimeout":{"type":"string","description":"Handshake time out (seconds)"},"inheritCertKeychain":{"type":"string","description":"Inherit cert key chain"},"key":{"type":"string","description":"Specifies the file name of the SSL key. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"modSslMethods":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"mode":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"name":{"type":"string","description":"Specifies the name of the profile.Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-clientssl-profile`.\n","willReplaceOnChanges":true},"ocspStapling":{"type":"string","description":"Specifies whether the system uses OCSP stapling. The default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"partition":{"type":"string","description":"name of partition"},"passphrase":{"type":"string","description":"Client Certificate Constrained Delegation CA passphrase","secret":true},"peerCertMode":{"type":"string","description":"Specifies the way the system handles client certificates.When ignore, specifies that the system ignores certificates from client systems.When require, specifies that the system requires a client to present a valid certificate.When request, specifies that the system requests a valid certificate from a client but always authenticate the client.\n"},"proxyCaCert":{"type":"string","description":"Proxy CA Cert"},"proxyCaKey":{"type":"string","description":"Proxy CA Key"},"proxyCaPassphrase":{"type":"string","description":"Proxy CA Passphrase"},"proxySsl":{"type":"string","description":"Proxy SSL enabled / disabled.  Default is disabled."},"proxySslPassthrough":{"type":"string","description":"Proxy SSL passthrough enabled / disabled.  Default is disabled."},"renegotiatePeriod":{"type":"string","description":"Renogotiate Period (seconds)"},"renegotiateSize":{"type":"string","description":"Renogotiate Size"},"renegotiation":{"type":"string","description":"Enables or disables SSL renegotiation.When creating a new profile, the setting is provided by the parent profile\n"},"retainCertificate":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, client certificate is retained in SSL session.\n"},"secureRenegotiation":{"type":"string","description":"Specifies the method of secure renegotiations for SSL connections. When creating a new profile, the setting is provided by the parent profile.\nWhen \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e is set the system request secure renegotation of SSL connections.\n\u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e is a default setting and when set the system permits initial SSL handshakes from clients but terminates renegotiations from unpatched clients.\nThe `require-strict` setting the system requires strict renegotiation of SSL connections. In this mode the system refuses connections to insecure servers, and terminates existing SSL connections to insecure servers\n"},"serverName":{"type":"string","description":"Specifies the fully qualified DNS hostname of the server used in Server Name Indication communications. When creating a new profile, the setting is provided by the parent profile.The server name can also be a wildcard string containing the asterisk `*` character.\n"},"sessionMirroring":{"type":"string","description":"Session Mirroring (enabled / disabled)"},"sessionTicket":{"type":"string","description":"Session Ticket (enabled / disabled)"},"sniDefault":{"type":"string","description":"Indicates that the system uses this profile as the default SSL profile when there is no match to the server name, or when the client provides no SNI extension support.When creating a new profile, the setting is provided by the parent profile.\nThere can be only one SSL profile with this setting enabled.\n"},"sniRequire":{"type":"string","description":"Requires that the network peers also provide SNI support, this setting only takes effect when \u003cspan pulumi-lang-nodejs=\"`sniDefault`\" pulumi-lang-dotnet=\"`SniDefault`\" pulumi-lang-go=\"`sniDefault`\" pulumi-lang-python=\"`sni_default`\" pulumi-lang-yaml=\"`sniDefault`\" pulumi-lang-java=\"`sniDefault`\"\u003e`sni_default`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.When creating a new profile, the setting is provided by the parent profile\n"},"sslC3d":{"type":"string","description":"Enables or disables SSL client certificate constrained delegation. The default option is disabled. Conversely, you can specify enabled to use the SSL client certificate constrained delegation.\n"},"sslForwardProxy":{"type":"string","description":"Specifies whether SSL forward proxy feature is enabled or not. The default value is disabled.\n"},"sslForwardProxyBypass":{"type":"string","description":"Specifies whether SSL forward proxy bypass feature is enabled or not. The default value is disabled.\n"},"sslSignHash":{"type":"string","description":"SSL sign hash (any, sha1, sha256, sha384)"},"strictResume":{"type":"string","description":"Enables or disables the resumption of SSL sessions after an unclean shutdown.When creating a new profile, the setting is provided by the parent profile.\n"},"tmOptions":{"type":"array","items":{"type":"string"},"description":"List of Enabled selection from a set of industry standard options for handling SSL processing.By default,\nDon't insert empty fragments and No TLSv1.3 are listed as Enabled Options. `Usage` :\u003cspan pulumi-lang-nodejs=\" tmOptions \" pulumi-lang-dotnet=\" TmOptions \" pulumi-lang-go=\" tmOptions \" pulumi-lang-python=\" tm_options \" pulumi-lang-yaml=\" tmOptions \" pulumi-lang-java=\" tmOptions \"\u003e tm_options \u003c/span\u003e   = [\"dont-insert-empty-fragments\",\"no-tlsv1.3\"]\n"},"uncleanShutdown":{"type":"string","description":"Unclean Shutdown (enabled / disabled)"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileClientSsl resources.\n","properties":{"alertTimeout":{"type":"string","description":"Alert time out"},"allowExpiredCrl":{"type":"string","description":"Instructs the system to use the specified CRL file even if it has expired. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"allowNonSsl":{"type":"string","description":"Enables or disables acceptance of non-SSL connections, When creating a new profile, the setting is provided by the parent profile\n"},"authenticate":{"type":"string","description":"Specifies the frequency of client authentication for an SSL session.When \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e,specifies that the system authenticates the client once for an SSL session.\nWhen \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, specifies that the system authenticates the client once for an SSL session and also upon reuse of that session.\n"},"authenticateDepth":{"type":"integer","description":"Specifies the maximum number of certificates to be traversed in a client certificate chain\n"},"c3dClientFallbackCert":{"type":"string","description":"Specifies the client certificate to use in SSL client certificate constrained delegation. This certificate will be used if client does not provide a cert during the SSL handshake. The default value is none.\n"},"c3dDropUnknownOcspStatus":{"type":"string","description":"Specifies the BIG-IP action when the OCSP responder returns unknown status. The default value is drop, which causes the onnection to be dropped. Conversely, you can specify ignore, which causes the connection to ignore the unknown status and continue.\n"},"c3dOcsp":{"type":"string","description":"Specifies the SSL client certificate constrained delegation OCSP object that the BIG-IP SSL should use to connect to the OCSP responder and check the client certificate status.\n"},"caFile":{"type":"string","description":"(Trusted Certificate Authorities)Specifies a client CA that the system trusts. The default is `None`.\n"},"cacheSize":{"type":"integer","description":"Cache size (sessions)."},"cacheTimeout":{"type":"integer","description":"Cache time out"},"cert":{"type":"string","description":"Specifies the name of the certificate that the system uses for client-side SSL processing. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"certExtensionIncludes":{"type":"array","items":{"type":"string"},"description":"Cert extension includes for ssl forward proxy"},"certKeyChain":{"$ref":"#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain","description":"\u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e Specifies one or more certificates and keys to associate with the SSL profile.\nSee Cert Key Chain below for more details.\n\n\u003e **NOTE**  \u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e is recommend way for adding cert-key-chain to profile. If \u003cspan pulumi-lang-nodejs=\"`certKeyChain`\" pulumi-lang-dotnet=\"`CertKeyChain`\" pulumi-lang-go=\"`certKeyChain`\" pulumi-lang-python=\"`cert_key_chain`\" pulumi-lang-yaml=\"`certKeyChain`\" pulumi-lang-java=\"`certKeyChain`\"\u003e`cert_key_chain`\u003c/span\u003e block provided, we should not provide \u003cspan pulumi-lang-nodejs=\"`cert`\" pulumi-lang-dotnet=\"`Cert`\" pulumi-lang-go=\"`cert`\" pulumi-lang-python=\"`cert`\" pulumi-lang-yaml=\"`cert`\" pulumi-lang-java=\"`cert`\"\u003e`cert`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`chain`\" pulumi-lang-dotnet=\"`Chain`\" pulumi-lang-go=\"`chain`\" pulumi-lang-python=\"`chain`\" pulumi-lang-yaml=\"`chain`\" pulumi-lang-java=\"`chain`\"\u003e`chain`\u003c/span\u003e.\n"},"certLifeSpan":{"type":"integer","description":"Life span of the certificate in days for ssl forward proxy"},"certLookupByIpaddrPort":{"type":"string","description":"Cert lookup by ip address and port enabled / disabled"},"chain":{"type":"string","description":"Specifies a certificate chain file that a server can use for authentication. The default is `None`.\n"},"cipherGroup":{"type":"string","description":"Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, \u003cspan pulumi-lang-nodejs=\"`ciphers`\" pulumi-lang-dotnet=\"`Ciphers`\" pulumi-lang-go=\"`ciphers`\" pulumi-lang-python=\"`ciphers`\" pulumi-lang-yaml=\"`ciphers`\" pulumi-lang-java=\"`ciphers`\"\u003e`ciphers`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"ciphers":{"type":"string","description":"BigIP Cipher string."},"clientCertCa":{"type":"string","description":"(Advertised Certificate Authorities)Specifies that the CAs that the system advertises to clients is being trusted by the profile. The default is `None`.\n"},"crlFile":{"type":"string","description":"Specifies the name of a file containing a list of revoked client certificates. The default is `None`.\n"},"defaultsFrom":{"type":"string","description":"Parent profile for this clientssl profile.Once this value has been set, it cannot be changed. Default value is `/Common/clientssl`. It Should Full path `/partition/profile_name`\n"},"forwardProxyBypassDefaultAction":{"type":"string","description":"Forward proxy bypass default action. (enabled / disabled)"},"fullPath":{"type":"string","description":"full path of the profile"},"generation":{"type":"integer","description":"generation"},"genericAlert":{"type":"string","description":"Generic alerts enabled / disabled."},"handshakeTimeout":{"type":"string","description":"Handshake time out (seconds)"},"inheritCertKeychain":{"type":"string","description":"Inherit cert key chain"},"key":{"type":"string","description":"Specifies the file name of the SSL key. The default is \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e\n"},"modSslMethods":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"mode":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"name":{"type":"string","description":"Specifies the name of the profile.Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-clientssl-profile`.\n","willReplaceOnChanges":true},"ocspStapling":{"type":"string","description":"Specifies whether the system uses OCSP stapling. The default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"partition":{"type":"string","description":"name of partition"},"passphrase":{"type":"string","description":"Client Certificate Constrained Delegation CA passphrase","secret":true},"peerCertMode":{"type":"string","description":"Specifies the way the system handles client certificates.When ignore, specifies that the system ignores certificates from client systems.When require, specifies that the system requires a client to present a valid certificate.When request, specifies that the system requests a valid certificate from a client but always authenticate the client.\n"},"proxyCaCert":{"type":"string","description":"Proxy CA Cert"},"proxyCaKey":{"type":"string","description":"Proxy CA Key"},"proxyCaPassphrase":{"type":"string","description":"Proxy CA Passphrase"},"proxySsl":{"type":"string","description":"Proxy SSL enabled / disabled.  Default is disabled."},"proxySslPassthrough":{"type":"string","description":"Proxy SSL passthrough enabled / disabled.  Default is disabled."},"renegotiatePeriod":{"type":"string","description":"Renogotiate Period (seconds)"},"renegotiateSize":{"type":"string","description":"Renogotiate Size"},"renegotiation":{"type":"string","description":"Enables or disables SSL renegotiation.When creating a new profile, the setting is provided by the parent profile\n"},"retainCertificate":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, client certificate is retained in SSL session.\n"},"secureRenegotiation":{"type":"string","description":"Specifies the method of secure renegotiations for SSL connections. When creating a new profile, the setting is provided by the parent profile.\nWhen \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e is set the system request secure renegotation of SSL connections.\n\u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e is a default setting and when set the system permits initial SSL handshakes from clients but terminates renegotiations from unpatched clients.\nThe `require-strict` setting the system requires strict renegotiation of SSL connections. In this mode the system refuses connections to insecure servers, and terminates existing SSL connections to insecure servers\n"},"serverName":{"type":"string","description":"Specifies the fully qualified DNS hostname of the server used in Server Name Indication communications. When creating a new profile, the setting is provided by the parent profile.The server name can also be a wildcard string containing the asterisk `*` character.\n"},"sessionMirroring":{"type":"string","description":"Session Mirroring (enabled / disabled)"},"sessionTicket":{"type":"string","description":"Session Ticket (enabled / disabled)"},"sniDefault":{"type":"string","description":"Indicates that the system uses this profile as the default SSL profile when there is no match to the server name, or when the client provides no SNI extension support.When creating a new profile, the setting is provided by the parent profile.\nThere can be only one SSL profile with this setting enabled.\n"},"sniRequire":{"type":"string","description":"Requires that the network peers also provide SNI support, this setting only takes effect when \u003cspan pulumi-lang-nodejs=\"`sniDefault`\" pulumi-lang-dotnet=\"`SniDefault`\" pulumi-lang-go=\"`sniDefault`\" pulumi-lang-python=\"`sni_default`\" pulumi-lang-yaml=\"`sniDefault`\" pulumi-lang-java=\"`sniDefault`\"\u003e`sni_default`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.When creating a new profile, the setting is provided by the parent profile\n"},"sslC3d":{"type":"string","description":"Enables or disables SSL client certificate constrained delegation. The default option is disabled. Conversely, you can specify enabled to use the SSL client certificate constrained delegation.\n"},"sslForwardProxy":{"type":"string","description":"Specifies whether SSL forward proxy feature is enabled or not. The default value is disabled.\n"},"sslForwardProxyBypass":{"type":"string","description":"Specifies whether SSL forward proxy bypass feature is enabled or not. The default value is disabled.\n"},"sslSignHash":{"type":"string","description":"SSL sign hash (any, sha1, sha256, sha384)"},"strictResume":{"type":"string","description":"Enables or disables the resumption of SSL sessions after an unclean shutdown.When creating a new profile, the setting is provided by the parent profile.\n"},"tmOptions":{"type":"array","items":{"type":"string"},"description":"List of Enabled selection from a set of industry standard options for handling SSL processing.By default,\nDon't insert empty fragments and No TLSv1.3 are listed as Enabled Options. `Usage` :\u003cspan pulumi-lang-nodejs=\" tmOptions \" pulumi-lang-dotnet=\" TmOptions \" pulumi-lang-go=\" tmOptions \" pulumi-lang-python=\" tm_options \" pulumi-lang-yaml=\" tmOptions \" pulumi-lang-java=\" tmOptions \"\u003e tm_options \u003c/span\u003e   = [\"dont-insert-empty-fragments\",\"no-tlsv1.3\"]\n"},"uncleanShutdown":{"type":"string","description":"Unclean Shutdown (enabled / disabled)"}},"type":"object"}},"f5bigip:ltm/profileFastHttp:ProfileFastHttp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileFastHttp`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileFastHttp`\" pulumi-lang-go=\"`ltm.ProfileFastHttp`\" pulumi-lang-python=\"`ltm.ProfileFastHttp`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileFastHttp`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileFastHttp`\"\u003e`f5bigip.ltm.ProfileFastHttp`\u003c/span\u003e Configures a custom\u003cspan pulumi-lang-nodejs=\" profileFasthttp \" pulumi-lang-dotnet=\" ProfileFasthttp \" pulumi-lang-go=\" profileFasthttp \" pulumi-lang-python=\" profile_fasthttp \" pulumi-lang-yaml=\" profileFasthttp \" pulumi-lang-java=\" profileFasthttp \"\u003e profile_fasthttp \u003c/span\u003efor use by health checks.\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sjfasthttpprofile = new f5bigip.ltm.ProfileFastHttp(\"sjfasthttpprofile\", {\n    name: \"/Common/sjfasthttpprofile\",\n    defaultsFrom: \"/Common/fasthttp\",\n    idleTimeout: 300,\n    connpoolidleTimeoutoverride: 0,\n    connpoolMaxreuse: 2,\n    connpoolMaxsize: 2048,\n    connpoolMinsize: 0,\n    connpoolReplenish: \"enabled\",\n    connpoolStep: 4,\n    forcehttp10response: \"disabled\",\n    maxheaderSize: 32768,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsjfasthttpprofile = f5bigip.ltm.ProfileFastHttp(\"sjfasthttpprofile\",\n    name=\"/Common/sjfasthttpprofile\",\n    defaults_from=\"/Common/fasthttp\",\n    idle_timeout=300,\n    connpoolidle_timeoutoverride=0,\n    connpool_maxreuse=2,\n    connpool_maxsize=2048,\n    connpool_minsize=0,\n    connpool_replenish=\"enabled\",\n    connpool_step=4,\n    forcehttp10response=\"disabled\",\n    maxheader_size=32768)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sjfasthttpprofile = new F5BigIP.Ltm.ProfileFastHttp(\"sjfasthttpprofile\", new()\n    {\n        Name = \"/Common/sjfasthttpprofile\",\n        DefaultsFrom = \"/Common/fasthttp\",\n        IdleTimeout = 300,\n        ConnpoolidleTimeoutoverride = 0,\n        ConnpoolMaxreuse = 2,\n        ConnpoolMaxsize = 2048,\n        ConnpoolMinsize = 0,\n        ConnpoolReplenish = \"enabled\",\n        ConnpoolStep = 4,\n        Forcehttp10response = \"disabled\",\n        MaxheaderSize = 32768,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileFastHttp(ctx, \"sjfasthttpprofile\", \u0026ltm.ProfileFastHttpArgs{\n\t\t\tName:                        pulumi.String(\"/Common/sjfasthttpprofile\"),\n\t\t\tDefaultsFrom:                pulumi.String(\"/Common/fasthttp\"),\n\t\t\tIdleTimeout:                 pulumi.Int(300),\n\t\t\tConnpoolidleTimeoutoverride: pulumi.Int(0),\n\t\t\tConnpoolMaxreuse:            pulumi.Int(2),\n\t\t\tConnpoolMaxsize:             pulumi.Int(2048),\n\t\t\tConnpoolMinsize:             pulumi.Int(0),\n\t\t\tConnpoolReplenish:           pulumi.String(\"enabled\"),\n\t\t\tConnpoolStep:                pulumi.Int(4),\n\t\t\tForcehttp10response:         pulumi.String(\"disabled\"),\n\t\t\tMaxheaderSize:               pulumi.Int(32768),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileFastHttp;\nimport com.pulumi.f5bigip.ltm.ProfileFastHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sjfasthttpprofile = new ProfileFastHttp(\"sjfasthttpprofile\", ProfileFastHttpArgs.builder()\n            .name(\"/Common/sjfasthttpprofile\")\n            .defaultsFrom(\"/Common/fasthttp\")\n            .idleTimeout(300)\n            .connpoolidleTimeoutoverride(0)\n            .connpoolMaxreuse(2)\n            .connpoolMaxsize(2048)\n            .connpoolMinsize(0)\n            .connpoolReplenish(\"enabled\")\n            .connpoolStep(4)\n            .forcehttp10response(\"disabled\")\n            .maxheaderSize(32768)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sjfasthttpprofile:\n    type: f5bigip:ltm:ProfileFastHttp\n    properties:\n      name: /Common/sjfasthttpprofile\n      defaultsFrom: /Common/fasthttp\n      idleTimeout: 300\n      connpoolidleTimeoutoverride: 0\n      connpoolMaxreuse: 2\n      connpoolMaxsize: 2048\n      connpoolMinsize: 0\n      connpoolReplenish: enabled\n      connpoolStep: 4\n      forcehttp10response: disabled\n      maxheaderSize: 32768\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"connpoolMaxreuse":{"type":"integer","description":"Specifies the maximum number of times that the system can re-use a current connection. The default value is 0 (zero).\n"},"connpoolMaxsize":{"type":"integer","description":"Specifies the maximum number of connections to a load balancing pool. A setting of 0 specifies that a pool can accept an unlimited number of connections. The default value is 2048.\n"},"connpoolMinsize":{"type":"integer","description":"Specifies the minimum number of connections to a load balancing pool. A setting of 0 specifies that there is no minimum. The default value is 10.\n"},"connpoolReplenish":{"type":"string","description":"The default value is enabled. When this option is enabled, the system replenishes the number of connections to a load balancing pool to the number of connections that existed when the server closed the connection to the pool. When disabled, the system replenishes the connection that was closed by the server, only when there are fewer connections to the pool than the number of connections set in the connpool-min-size connections option. Also see the connpool-min-size option..\n"},"connpoolStep":{"type":"integer","description":"Specifies the increment in which the system makes additional connections available, when all available connections are in use. The default value is 4.\n"},"connpoolidleTimeoutoverride":{"type":"integer","description":"Specifies the number of seconds after which a server-side connection in a OneConnect pool is eligible for deletion, when the connection has no traffic.The value of this option overrides the idle-timeout value that you specify. The default value is 0 (zero) seconds, which disables the override setting.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"forcehttp10response":{"type":"string","description":"Specifies whether to rewrite the HTTP version in the status line of the server to HTTP 1.0 to discourage the client from pipelining or chunking data. The default value is disabled.\n"},"idleTimeout":{"type":"integer","description":"Specifies an idle timeout in seconds. This setting specifies the number of seconds that a connection is idle before the connection is eligible for deletion.When you specify an idle timeout for the Fast L4 profile, the value must be greater than the bigdb database variable Pva.Scrub time in msec for it to work properly.The default value is 300 seconds.\n"},"maxheaderSize":{"type":"integer","description":"Specifies the maximum amount of HTTP header data that the system buffers before making a load balancing decision. The default setting is 32768.\n"},"name":{"type":"string","description":"Name of the profile_fasthttp\n"}},"required":["connpoolMaxreuse","connpoolMaxsize","connpoolMinsize","connpoolReplenish","connpoolStep","connpoolidleTimeoutoverride","forcehttp10response","idleTimeout","maxheaderSize","name"],"inputProperties":{"connpoolMaxreuse":{"type":"integer","description":"Specifies the maximum number of times that the system can re-use a current connection. The default value is 0 (zero).\n"},"connpoolMaxsize":{"type":"integer","description":"Specifies the maximum number of connections to a load balancing pool. A setting of 0 specifies that a pool can accept an unlimited number of connections. The default value is 2048.\n"},"connpoolMinsize":{"type":"integer","description":"Specifies the minimum number of connections to a load balancing pool. A setting of 0 specifies that there is no minimum. The default value is 10.\n"},"connpoolReplenish":{"type":"string","description":"The default value is enabled. When this option is enabled, the system replenishes the number of connections to a load balancing pool to the number of connections that existed when the server closed the connection to the pool. When disabled, the system replenishes the connection that was closed by the server, only when there are fewer connections to the pool than the number of connections set in the connpool-min-size connections option. Also see the connpool-min-size option..\n"},"connpoolStep":{"type":"integer","description":"Specifies the increment in which the system makes additional connections available, when all available connections are in use. The default value is 4.\n"},"connpoolidleTimeoutoverride":{"type":"integer","description":"Specifies the number of seconds after which a server-side connection in a OneConnect pool is eligible for deletion, when the connection has no traffic.The value of this option overrides the idle-timeout value that you specify. The default value is 0 (zero) seconds, which disables the override setting.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"forcehttp10response":{"type":"string","description":"Specifies whether to rewrite the HTTP version in the status line of the server to HTTP 1.0 to discourage the client from pipelining or chunking data. The default value is disabled.\n"},"idleTimeout":{"type":"integer","description":"Specifies an idle timeout in seconds. This setting specifies the number of seconds that a connection is idle before the connection is eligible for deletion.When you specify an idle timeout for the Fast L4 profile, the value must be greater than the bigdb database variable Pva.Scrub time in msec for it to work properly.The default value is 300 seconds.\n"},"maxheaderSize":{"type":"integer","description":"Specifies the maximum amount of HTTP header data that the system buffers before making a load balancing decision. The default setting is 32768.\n"},"name":{"type":"string","description":"Name of the profile_fasthttp\n","willReplaceOnChanges":true}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileFastHttp resources.\n","properties":{"connpoolMaxreuse":{"type":"integer","description":"Specifies the maximum number of times that the system can re-use a current connection. The default value is 0 (zero).\n"},"connpoolMaxsize":{"type":"integer","description":"Specifies the maximum number of connections to a load balancing pool. A setting of 0 specifies that a pool can accept an unlimited number of connections. The default value is 2048.\n"},"connpoolMinsize":{"type":"integer","description":"Specifies the minimum number of connections to a load balancing pool. A setting of 0 specifies that there is no minimum. The default value is 10.\n"},"connpoolReplenish":{"type":"string","description":"The default value is enabled. When this option is enabled, the system replenishes the number of connections to a load balancing pool to the number of connections that existed when the server closed the connection to the pool. When disabled, the system replenishes the connection that was closed by the server, only when there are fewer connections to the pool than the number of connections set in the connpool-min-size connections option. Also see the connpool-min-size option..\n"},"connpoolStep":{"type":"integer","description":"Specifies the increment in which the system makes additional connections available, when all available connections are in use. The default value is 4.\n"},"connpoolidleTimeoutoverride":{"type":"integer","description":"Specifies the number of seconds after which a server-side connection in a OneConnect pool is eligible for deletion, when the connection has no traffic.The value of this option overrides the idle-timeout value that you specify. The default value is 0 (zero) seconds, which disables the override setting.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"forcehttp10response":{"type":"string","description":"Specifies whether to rewrite the HTTP version in the status line of the server to HTTP 1.0 to discourage the client from pipelining or chunking data. The default value is disabled.\n"},"idleTimeout":{"type":"integer","description":"Specifies an idle timeout in seconds. This setting specifies the number of seconds that a connection is idle before the connection is eligible for deletion.When you specify an idle timeout for the Fast L4 profile, the value must be greater than the bigdb database variable Pva.Scrub time in msec for it to work properly.The default value is 300 seconds.\n"},"maxheaderSize":{"type":"integer","description":"Specifies the maximum amount of HTTP header data that the system buffers before making a load balancing decision. The default setting is 32768.\n"},"name":{"type":"string","description":"Name of the profile_fasthttp\n","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:ltm/profileFastL4:ProfileFastL4":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileFastL4`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileFastL4`\" pulumi-lang-go=\"`ltm.ProfileFastL4`\" pulumi-lang-python=\"`ltm.ProfileFastL4`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileFastL4`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileFastL4`\"\u003e`f5bigip.ltm.ProfileFastL4`\u003c/span\u003e Configures a custom LTM fastL4 profile for use by health checks.\n\nResources should be named with their `full path`. The full path is the combination of the `partition + name` of the resource (For example `/Common/my-fastl4profile`) or  `partition + directory + name` of the resource  (example: `/Common/test/my-fastl4profile`)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst profileFastl4 = new f5bigip.ltm.ProfileFastL4(\"profile_fastl4\", {\n    name: \"/Common/sjfastl4profile\",\n    defaultsFrom: \"/Common/fastL4\",\n    clientTimeout: 40,\n    explicitflowMigration: \"enabled\",\n    hardwareSyncookie: \"enabled\",\n    idleTimeout: \"200\",\n    iptosToclient: \"pass-through\",\n    iptosToserver: \"pass-through\",\n    keepaliveInterval: \"disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nprofile_fastl4 = f5bigip.ltm.ProfileFastL4(\"profile_fastl4\",\n    name=\"/Common/sjfastl4profile\",\n    defaults_from=\"/Common/fastL4\",\n    client_timeout=40,\n    explicitflow_migration=\"enabled\",\n    hardware_syncookie=\"enabled\",\n    idle_timeout=\"200\",\n    iptos_toclient=\"pass-through\",\n    iptos_toserver=\"pass-through\",\n    keepalive_interval=\"disabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var profileFastl4 = new F5BigIP.Ltm.ProfileFastL4(\"profile_fastl4\", new()\n    {\n        Name = \"/Common/sjfastl4profile\",\n        DefaultsFrom = \"/Common/fastL4\",\n        ClientTimeout = 40,\n        ExplicitflowMigration = \"enabled\",\n        HardwareSyncookie = \"enabled\",\n        IdleTimeout = \"200\",\n        IptosToclient = \"pass-through\",\n        IptosToserver = \"pass-through\",\n        KeepaliveInterval = \"disabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileFastL4(ctx, \"profile_fastl4\", \u0026ltm.ProfileFastL4Args{\n\t\t\tName:                  pulumi.String(\"/Common/sjfastl4profile\"),\n\t\t\tDefaultsFrom:          pulumi.String(\"/Common/fastL4\"),\n\t\t\tClientTimeout:         pulumi.Int(40),\n\t\t\tExplicitflowMigration: pulumi.String(\"enabled\"),\n\t\t\tHardwareSyncookie:     pulumi.String(\"enabled\"),\n\t\t\tIdleTimeout:           pulumi.String(\"200\"),\n\t\t\tIptosToclient:         pulumi.String(\"pass-through\"),\n\t\t\tIptosToserver:         pulumi.String(\"pass-through\"),\n\t\t\tKeepaliveInterval:     pulumi.String(\"disabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileFastL4;\nimport com.pulumi.f5bigip.ltm.ProfileFastL4Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var profileFastl4 = new ProfileFastL4(\"profileFastl4\", ProfileFastL4Args.builder()\n            .name(\"/Common/sjfastl4profile\")\n            .defaultsFrom(\"/Common/fastL4\")\n            .clientTimeout(40)\n            .explicitflowMigration(\"enabled\")\n            .hardwareSyncookie(\"enabled\")\n            .idleTimeout(\"200\")\n            .iptosToclient(\"pass-through\")\n            .iptosToserver(\"pass-through\")\n            .keepaliveInterval(\"disabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  profileFastl4:\n    type: f5bigip:ltm:ProfileFastL4\n    name: profile_fastl4\n    properties:\n      name: /Common/sjfastl4profile\n      defaultsFrom: /Common/fastL4\n      clientTimeout: 40\n      explicitflowMigration: enabled\n      hardwareSyncookie: enabled\n      idleTimeout: '200'\n      iptosToclient: pass-through\n      iptosToserver: pass-through\n      keepaliveInterval: disabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBIG-IP LTM fastl4 profiles can be imported using the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import f5bigip:ltm/profileFastL4:ProfileFastL4 test-fastl4 /Common/test-fastl4\n```\n\n","properties":{"clientTimeout":{"type":"integer","description":"Specifies late binding client timeout in seconds. This setting specifies the number of seconds allowed for a client to transmit enough data to select a server when late binding is enabled. If it expires timeout-recovery mode will dictate what action to take.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"explicitflowMigration":{"type":"string","description":"Enables or disables late binding explicit flow migration that allows iRules to control when flows move from software to hardware. Explicit flow migration is disabled by default hence BIG-IP automatically migrates flows from software to hardware.\n"},"hardwareSyncookie":{"type":"string","description":"Enables or disables hardware SYN cookie support when PVA10 is present on the system. Note that when you set the hardware syncookie option to enabled, you may also want to set the following bigdb database variables using the \"/sys modify db\" command, based on your requirements: pva.SynCookies.Full.ConnectionThreshold (default: 500000), pva.SynCookies.Assist.ConnectionThreshold (default: 500000) pva.SynCookies.ClientWindow (default: 0). The default value is disabled.\n"},"idleTimeout":{"type":"string","description":"Specifies an idle timeout in seconds. This setting specifies the number of seconds that a connection is idle before the connection is eligible for deletion.When you specify an idle timeout for the Fast L4 profile, the value must be greater than the bigdb database variable Pva.Scrub time in msec for it to work properly.The default value is 300 seconds.\n"},"iptosToclient":{"type":"string","description":"Specifies an IP ToS number for the client side. This option specifies the Type of Service level that the traffic management system assigns to IP packets when sending them to clients. The default value is 65535 (pass-through), which indicates, do not modify.\n"},"iptosToserver":{"type":"string","description":"Specifies an IP ToS number for the server side. This setting specifies the Type of Service level that the traffic management system assigns to IP packets when sending them to servers. The default value is 65535 (pass-through), which indicates, do not modify.\n"},"keepaliveInterval":{"type":"string","description":"Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds).\n"},"lateBinding":{"type":"string","description":"Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"looseClose":{"type":"string","description":"Specifies, when checked (enabled), that the system closes a loosely-initiated connection when the system receives the first FIN packet from either the client or the server. The default is disabled.\n"},"looseInitiation":{"type":"string","description":"Specifies, when checked (enabled), that the system initializes a connection when it receives any TCP packet, rather that requiring a SYN packet for connection initiation. The default is disabled. We recommend that if you enable the Loose Initiation option, you also enable the Loose Close option.\n"},"name":{"type":"string","description":"Name of the LTM fastL4 Profile.The full path is the combination of the `partition + name` of the resource (For example `/Common/my-fastl4profile`) or  `partition + directory + name` of the resource  (example: `/Common/test/my-fastl4profile`)\n"},"partition":{"type":"string","description":"name of partition"},"receiveWindowsize":{"type":"integer","description":"Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero).\n"},"tcpHandshakeTimeout":{"type":"string","description":"Specifies the acceptable duration for a TCP handshake, that is, the maximum idle time between a client synchronization (SYN) and a client acknowledgment (ACK).The default is `5 seconds`.\n"}},"required":["clientTimeout","defaultsFrom","explicitflowMigration","hardwareSyncookie","idleTimeout","iptosToclient","iptosToserver","keepaliveInterval","lateBinding","looseClose","looseInitiation","name","partition","receiveWindowsize","tcpHandshakeTimeout"],"inputProperties":{"clientTimeout":{"type":"integer","description":"Specifies late binding client timeout in seconds. This setting specifies the number of seconds allowed for a client to transmit enough data to select a server when late binding is enabled. If it expires timeout-recovery mode will dictate what action to take.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"explicitflowMigration":{"type":"string","description":"Enables or disables late binding explicit flow migration that allows iRules to control when flows move from software to hardware. Explicit flow migration is disabled by default hence BIG-IP automatically migrates flows from software to hardware.\n"},"hardwareSyncookie":{"type":"string","description":"Enables or disables hardware SYN cookie support when PVA10 is present on the system. Note that when you set the hardware syncookie option to enabled, you may also want to set the following bigdb database variables using the \"/sys modify db\" command, based on your requirements: pva.SynCookies.Full.ConnectionThreshold (default: 500000), pva.SynCookies.Assist.ConnectionThreshold (default: 500000) pva.SynCookies.ClientWindow (default: 0). The default value is disabled.\n"},"idleTimeout":{"type":"string","description":"Specifies an idle timeout in seconds. This setting specifies the number of seconds that a connection is idle before the connection is eligible for deletion.When you specify an idle timeout for the Fast L4 profile, the value must be greater than the bigdb database variable Pva.Scrub time in msec for it to work properly.The default value is 300 seconds.\n"},"iptosToclient":{"type":"string","description":"Specifies an IP ToS number for the client side. This option specifies the Type of Service level that the traffic management system assigns to IP packets when sending them to clients. The default value is 65535 (pass-through), which indicates, do not modify.\n"},"iptosToserver":{"type":"string","description":"Specifies an IP ToS number for the server side. This setting specifies the Type of Service level that the traffic management system assigns to IP packets when sending them to servers. The default value is 65535 (pass-through), which indicates, do not modify.\n"},"keepaliveInterval":{"type":"string","description":"Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds).\n"},"lateBinding":{"type":"string","description":"Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"looseClose":{"type":"string","description":"Specifies, when checked (enabled), that the system closes a loosely-initiated connection when the system receives the first FIN packet from either the client or the server. The default is disabled.\n"},"looseInitiation":{"type":"string","description":"Specifies, when checked (enabled), that the system initializes a connection when it receives any TCP packet, rather that requiring a SYN packet for connection initiation. The default is disabled. We recommend that if you enable the Loose Initiation option, you also enable the Loose Close option.\n"},"name":{"type":"string","description":"Name of the LTM fastL4 Profile.The full path is the combination of the `partition + name` of the resource (For example `/Common/my-fastl4profile`) or  `partition + directory + name` of the resource  (example: `/Common/test/my-fastl4profile`)\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"name of partition"},"receiveWindowsize":{"type":"integer","description":"Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero).\n"},"tcpHandshakeTimeout":{"type":"string","description":"Specifies the acceptable duration for a TCP handshake, that is, the maximum idle time between a client synchronization (SYN) and a client acknowledgment (ACK).The default is `5 seconds`.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileFastL4 resources.\n","properties":{"clientTimeout":{"type":"integer","description":"Specifies late binding client timeout in seconds. This setting specifies the number of seconds allowed for a client to transmit enough data to select a server when late binding is enabled. If it expires timeout-recovery mode will dictate what action to take.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"explicitflowMigration":{"type":"string","description":"Enables or disables late binding explicit flow migration that allows iRules to control when flows move from software to hardware. Explicit flow migration is disabled by default hence BIG-IP automatically migrates flows from software to hardware.\n"},"hardwareSyncookie":{"type":"string","description":"Enables or disables hardware SYN cookie support when PVA10 is present on the system. Note that when you set the hardware syncookie option to enabled, you may also want to set the following bigdb database variables using the \"/sys modify db\" command, based on your requirements: pva.SynCookies.Full.ConnectionThreshold (default: 500000), pva.SynCookies.Assist.ConnectionThreshold (default: 500000) pva.SynCookies.ClientWindow (default: 0). The default value is disabled.\n"},"idleTimeout":{"type":"string","description":"Specifies an idle timeout in seconds. This setting specifies the number of seconds that a connection is idle before the connection is eligible for deletion.When you specify an idle timeout for the Fast L4 profile, the value must be greater than the bigdb database variable Pva.Scrub time in msec for it to work properly.The default value is 300 seconds.\n"},"iptosToclient":{"type":"string","description":"Specifies an IP ToS number for the client side. This option specifies the Type of Service level that the traffic management system assigns to IP packets when sending them to clients. The default value is 65535 (pass-through), which indicates, do not modify.\n"},"iptosToserver":{"type":"string","description":"Specifies an IP ToS number for the server side. This setting specifies the Type of Service level that the traffic management system assigns to IP packets when sending them to servers. The default value is 65535 (pass-through), which indicates, do not modify.\n"},"keepaliveInterval":{"type":"string","description":"Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds).\n"},"lateBinding":{"type":"string","description":"Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"looseClose":{"type":"string","description":"Specifies, when checked (enabled), that the system closes a loosely-initiated connection when the system receives the first FIN packet from either the client or the server. The default is disabled.\n"},"looseInitiation":{"type":"string","description":"Specifies, when checked (enabled), that the system initializes a connection when it receives any TCP packet, rather that requiring a SYN packet for connection initiation. The default is disabled. We recommend that if you enable the Loose Initiation option, you also enable the Loose Close option.\n"},"name":{"type":"string","description":"Name of the LTM fastL4 Profile.The full path is the combination of the `partition + name` of the resource (For example `/Common/my-fastl4profile`) or  `partition + directory + name` of the resource  (example: `/Common/test/my-fastl4profile`)\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"name of partition"},"receiveWindowsize":{"type":"integer","description":"Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero).\n"},"tcpHandshakeTimeout":{"type":"string","description":"Specifies the acceptable duration for a TCP handshake, that is, the maximum idle time between a client synchronization (SYN) and a client acknowledgment (ACK).The default is `5 seconds`.\n"}},"type":"object"}},"f5bigip:ltm/profileFtp:ProfileFtp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileFtp`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileFtp`\" pulumi-lang-go=\"`ltm.ProfileFtp`\" pulumi-lang-python=\"`ltm.ProfileFtp`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileFtp`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileFtp`\"\u003e`f5bigip.ltm.ProfileFtp`\u003c/span\u003e Configures a custom profile_ftp.\n\nResources should be named with their \"full path\". The full path is the combination of the partition + name (example: /Common/my-pool ) or  partition + directory + name of the resource  (example: /Common/test/my-pool )\n\n## Example Usage\n\n### For Bigip versions (14.x - 16.x)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sanjose_ftp_profile = new f5bigip.ltm.ProfileFtp(\"sanjose-ftp-profile\", {\n    name: \"/Common/sanjose-ftp-profile\",\n    defaultsFrom: \"/Common/ftp\",\n    port: 2020,\n    description: \"test-tftp-profile\",\n    ftpsMode: \"allow\",\n    enforceTlssessionReuse: \"enabled\",\n    allowActiveMode: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_ftp_profile = f5bigip.ltm.ProfileFtp(\"sanjose-ftp-profile\",\n    name=\"/Common/sanjose-ftp-profile\",\n    defaults_from=\"/Common/ftp\",\n    port=2020,\n    description=\"test-tftp-profile\",\n    ftps_mode=\"allow\",\n    enforce_tlssession_reuse=\"enabled\",\n    allow_active_mode=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sanjose_ftp_profile = new F5BigIP.Ltm.ProfileFtp(\"sanjose-ftp-profile\", new()\n    {\n        Name = \"/Common/sanjose-ftp-profile\",\n        DefaultsFrom = \"/Common/ftp\",\n        Port = 2020,\n        Description = \"test-tftp-profile\",\n        FtpsMode = \"allow\",\n        EnforceTlssessionReuse = \"enabled\",\n        AllowActiveMode = \"enabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileFtp(ctx, \"sanjose-ftp-profile\", \u0026ltm.ProfileFtpArgs{\n\t\t\tName:                   pulumi.String(\"/Common/sanjose-ftp-profile\"),\n\t\t\tDefaultsFrom:           pulumi.String(\"/Common/ftp\"),\n\t\t\tPort:                   pulumi.Int(2020),\n\t\t\tDescription:            pulumi.String(\"test-tftp-profile\"),\n\t\t\tFtpsMode:               pulumi.String(\"allow\"),\n\t\t\tEnforceTlssessionReuse: pulumi.String(\"enabled\"),\n\t\t\tAllowActiveMode:        pulumi.String(\"enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileFtp;\nimport com.pulumi.f5bigip.ltm.ProfileFtpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sanjose_ftp_profile = new ProfileFtp(\"sanjose-ftp-profile\", ProfileFtpArgs.builder()\n            .name(\"/Common/sanjose-ftp-profile\")\n            .defaultsFrom(\"/Common/ftp\")\n            .port(2020)\n            .description(\"test-tftp-profile\")\n            .ftpsMode(\"allow\")\n            .enforceTlssessionReuse(\"enabled\")\n            .allowActiveMode(\"enabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sanjose-ftp-profile:\n    type: f5bigip:ltm:ProfileFtp\n    properties:\n      name: /Common/sanjose-ftp-profile\n      defaultsFrom: /Common/ftp\n      port: 2020\n      description: test-tftp-profile\n      ftpsMode: allow\n      enforceTlssessionReuse: enabled\n      allowActiveMode: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### For Bigip versions (12.x - 13.x)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sanjose_ftp_profile = new f5bigip.ltm.ProfileFtp(\"sanjose-ftp-profile\", {\n    name: \"/Common/sanjose-ftp-profile\",\n    defaultsFrom: \"/Common/ftp\",\n    port: 2020,\n    description: \"test-tftp-profile\",\n    allowFtps: \"enabled\",\n    translateExtended: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_ftp_profile = f5bigip.ltm.ProfileFtp(\"sanjose-ftp-profile\",\n    name=\"/Common/sanjose-ftp-profile\",\n    defaults_from=\"/Common/ftp\",\n    port=2020,\n    description=\"test-tftp-profile\",\n    allow_ftps=\"enabled\",\n    translate_extended=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sanjose_ftp_profile = new F5BigIP.Ltm.ProfileFtp(\"sanjose-ftp-profile\", new()\n    {\n        Name = \"/Common/sanjose-ftp-profile\",\n        DefaultsFrom = \"/Common/ftp\",\n        Port = 2020,\n        Description = \"test-tftp-profile\",\n        AllowFtps = \"enabled\",\n        TranslateExtended = \"enabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileFtp(ctx, \"sanjose-ftp-profile\", \u0026ltm.ProfileFtpArgs{\n\t\t\tName:              pulumi.String(\"/Common/sanjose-ftp-profile\"),\n\t\t\tDefaultsFrom:      pulumi.String(\"/Common/ftp\"),\n\t\t\tPort:              pulumi.Int(2020),\n\t\t\tDescription:       pulumi.String(\"test-tftp-profile\"),\n\t\t\tAllowFtps:         pulumi.String(\"enabled\"),\n\t\t\tTranslateExtended: pulumi.String(\"enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileFtp;\nimport com.pulumi.f5bigip.ltm.ProfileFtpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sanjose_ftp_profile = new ProfileFtp(\"sanjose-ftp-profile\", ProfileFtpArgs.builder()\n            .name(\"/Common/sanjose-ftp-profile\")\n            .defaultsFrom(\"/Common/ftp\")\n            .port(2020)\n            .description(\"test-tftp-profile\")\n            .allowFtps(\"enabled\")\n            .translateExtended(\"enabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sanjose-ftp-profile:\n    type: f5bigip:ltm:ProfileFtp\n    properties:\n      name: /Common/sanjose-ftp-profile\n      defaultsFrom: /Common/ftp\n      port: 2020\n      description: test-tftp-profile\n      allowFtps: enabled\n      translateExtended: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## Common Arguments for all versions\n\n* \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e - (Optional)Specifies, when checked (enabled), that the system inspects FTP traffic for security vulnerabilities using an FTP security profile. This option is available only on systems licensed for BIG-IP ASM.\n\n* \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e - (Optional)Allows you to configure the FTP service to run on an alternate port. The default is 20.\n\n* \u003cspan pulumi-lang-nodejs=\"`logProfile`\" pulumi-lang-dotnet=\"`LogProfile`\" pulumi-lang-go=\"`logProfile`\" pulumi-lang-python=\"`log_profile`\" pulumi-lang-yaml=\"`logProfile`\" pulumi-lang-java=\"`logProfile`\"\u003e`log_profile`\u003c/span\u003e - (Optional)Configures the ALG log profile that controls logging\n\n* \u003cspan pulumi-lang-nodejs=\"`logPublisher`\" pulumi-lang-dotnet=\"`LogPublisher`\" pulumi-lang-go=\"`logPublisher`\" pulumi-lang-python=\"`log_publisher`\" pulumi-lang-yaml=\"`logPublisher`\" pulumi-lang-java=\"`logPublisher`\"\u003e`log_publisher`\u003c/span\u003e - (Optional)Configures the log publisher that handles events logging for this profile\n\n*  \u003cspan pulumi-lang-nodejs=\"`inheritParentProfile`\" pulumi-lang-dotnet=\"`InheritParentProfile`\" pulumi-lang-go=\"`inheritParentProfile`\" pulumi-lang-python=\"`inherit_parent_profile`\" pulumi-lang-yaml=\"`inheritParentProfile`\" pulumi-lang-java=\"`inheritParentProfile`\"\u003e`inherit_parent_profile`\u003c/span\u003e - (Optional)Enables the FTP data channel to inherit the TCP profile used by the control channel.If disabled,the data channel uses FastL4 only.\n\n* \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e - (Optional)User defined description for FTP profile\n","properties":{"allowActiveMode":{"type":"string","description":"Specifies, when selected (enabled), that the system allows FTP Active Transfer mode. The default value is enabled."},"allowFtps":{"type":"string","description":"Allows explicit FTPS negotiation"},"appService":{"type":"string","description":"The application service to which the object belongs."},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"description":{"type":"string","description":"User defined description"},"enforceTlssessionReuse":{"type":"string","description":"Specifies, when selected (enabled), that the system enforces the data connection to reuse a TLS session. The default value is unchecked (disabled)."},"ftpsMode":{"type":"string","description":"Allows explicit FTPS negotiation"},"inheritParentProfile":{"type":"string","description":"Enables the FTP data channel to inherit the TCP profile used by the control channel.If disabled,the data channel uses FastL4 only."},"inheritVlanList":{"type":"string","description":"inherent vlan list"},"logProfile":{"type":"string","description":"Configures the ALG log profile that controls logging"},"logPublisher":{"type":"string","description":"Configures the log publisher that handles events logging for this profile"},"name":{"type":"string","description":"Name of the profile_ftp\n"},"partition":{"type":"string","description":"Displays the administrative partition within which this profile resides\n"},"port":{"type":"integer","description":"Specifies a service for the data channel port used for this FTP profile. The default port is ftp-data."},"security":{"type":"string","description":"Enables secure FTP traffic for the BIG-IP Application Security Manager. You can set the security option only if the system is licensed for the BIG-IP Application Security Manager. The default value is disabled."},"translateExtended":{"type":"string","description":"This setting is enabled by default, and thus, automatically translates RFC 2428 extended requests EPSV and EPRT to PASV and PORT when communicating with IPv4 servers."}},"required":["defaultsFrom","logProfile","logPublisher","name","partition","security"],"inputProperties":{"allowActiveMode":{"type":"string","description":"Specifies, when selected (enabled), that the system allows FTP Active Transfer mode. The default value is enabled."},"allowFtps":{"type":"string","description":"Allows explicit FTPS negotiation"},"appService":{"type":"string","description":"The application service to which the object belongs."},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"description":{"type":"string","description":"User defined description"},"enforceTlssessionReuse":{"type":"string","description":"Specifies, when selected (enabled), that the system enforces the data connection to reuse a TLS session. The default value is unchecked (disabled)."},"ftpsMode":{"type":"string","description":"Allows explicit FTPS negotiation"},"inheritParentProfile":{"type":"string","description":"Enables the FTP data channel to inherit the TCP profile used by the control channel.If disabled,the data channel uses FastL4 only."},"inheritVlanList":{"type":"string","description":"inherent vlan list"},"logProfile":{"type":"string","description":"Configures the ALG log profile that controls logging"},"logPublisher":{"type":"string","description":"Configures the log publisher that handles events logging for this profile"},"name":{"type":"string","description":"Name of the profile_ftp\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Displays the administrative partition within which this profile resides\n"},"port":{"type":"integer","description":"Specifies a service for the data channel port used for this FTP profile. The default port is ftp-data."},"security":{"type":"string","description":"Enables secure FTP traffic for the BIG-IP Application Security Manager. You can set the security option only if the system is licensed for the BIG-IP Application Security Manager. The default value is disabled."},"translateExtended":{"type":"string","description":"This setting is enabled by default, and thus, automatically translates RFC 2428 extended requests EPSV and EPRT to PASV and PORT when communicating with IPv4 servers."}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileFtp resources.\n","properties":{"allowActiveMode":{"type":"string","description":"Specifies, when selected (enabled), that the system allows FTP Active Transfer mode. The default value is enabled."},"allowFtps":{"type":"string","description":"Allows explicit FTPS negotiation"},"appService":{"type":"string","description":"The application service to which the object belongs."},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"description":{"type":"string","description":"User defined description"},"enforceTlssessionReuse":{"type":"string","description":"Specifies, when selected (enabled), that the system enforces the data connection to reuse a TLS session. The default value is unchecked (disabled)."},"ftpsMode":{"type":"string","description":"Allows explicit FTPS negotiation"},"inheritParentProfile":{"type":"string","description":"Enables the FTP data channel to inherit the TCP profile used by the control channel.If disabled,the data channel uses FastL4 only."},"inheritVlanList":{"type":"string","description":"inherent vlan list"},"logProfile":{"type":"string","description":"Configures the ALG log profile that controls logging"},"logPublisher":{"type":"string","description":"Configures the log publisher that handles events logging for this profile"},"name":{"type":"string","description":"Name of the profile_ftp\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Displays the administrative partition within which this profile resides\n"},"port":{"type":"integer","description":"Specifies a service for the data channel port used for this FTP profile. The default port is ftp-data."},"security":{"type":"string","description":"Enables secure FTP traffic for the BIG-IP Application Security Manager. You can set the security option only if the system is licensed for the BIG-IP Application Security Manager. The default value is disabled."},"translateExtended":{"type":"string","description":"This setting is enabled by default, and thus, automatically translates RFC 2428 extended requests EPSV and EPRT to PASV and PORT when communicating with IPv4 servers."}},"type":"object"}},"f5bigip:ltm/profileHttp2:ProfileHttp2":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileHttp2`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileHttp2`\" pulumi-lang-go=\"`ltm.ProfileHttp2`\" pulumi-lang-python=\"`ltm.ProfileHttp2`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileHttp2`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileHttp2`\"\u003e`f5bigip.ltm.ProfileHttp2`\u003c/span\u003e Configures a custom\u003cspan pulumi-lang-nodejs=\" profileHttp2 \" pulumi-lang-dotnet=\" ProfileHttp2 \" pulumi-lang-go=\" profileHttp2 \" pulumi-lang-python=\" profile_http2 \" pulumi-lang-yaml=\" profileHttp2 \" pulumi-lang-java=\" profileHttp2 \"\u003e profile_http2 \u003c/span\u003efor use by health checks.\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst nyhttp2 = new f5bigip.ltm.ProfileHttp2(\"nyhttp2\", {\n    name: \"/Common/test-profile-http2\",\n    frameSize: 2021,\n    receiveWindow: 31,\n    writeSize: 16380,\n    headerTableSize: 4092,\n    includeContentLength: \"enabled\",\n    enforceTlsRequirements: \"enabled\",\n    insertHeader: \"disabled\",\n    concurrentStreamsPerConnection: 30,\n    connectionIdleTimeout: 100,\n    activationModes: [\"always\"],\n});\n//Child Profile which inherits parent http2 profile\nconst nyhttp2_child = new f5bigip.ltm.ProfileHttp2(\"nyhttp2-child\", {\n    name: \"/Common/test-profile-http2-child\",\n    defaultsFrom: nyhttp2.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nnyhttp2 = f5bigip.ltm.ProfileHttp2(\"nyhttp2\",\n    name=\"/Common/test-profile-http2\",\n    frame_size=2021,\n    receive_window=31,\n    write_size=16380,\n    header_table_size=4092,\n    include_content_length=\"enabled\",\n    enforce_tls_requirements=\"enabled\",\n    insert_header=\"disabled\",\n    concurrent_streams_per_connection=30,\n    connection_idle_timeout=100,\n    activation_modes=[\"always\"])\n#Child Profile which inherits parent http2 profile\nnyhttp2_child = f5bigip.ltm.ProfileHttp2(\"nyhttp2-child\",\n    name=\"/Common/test-profile-http2-child\",\n    defaults_from=nyhttp2.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nyhttp2 = new F5BigIP.Ltm.ProfileHttp2(\"nyhttp2\", new()\n    {\n        Name = \"/Common/test-profile-http2\",\n        FrameSize = 2021,\n        ReceiveWindow = 31,\n        WriteSize = 16380,\n        HeaderTableSize = 4092,\n        IncludeContentLength = \"enabled\",\n        EnforceTlsRequirements = \"enabled\",\n        InsertHeader = \"disabled\",\n        ConcurrentStreamsPerConnection = 30,\n        ConnectionIdleTimeout = 100,\n        ActivationModes = new[]\n        {\n            \"always\",\n        },\n    });\n\n    //Child Profile which inherits parent http2 profile\n    var nyhttp2_child = new F5BigIP.Ltm.ProfileHttp2(\"nyhttp2-child\", new()\n    {\n        Name = \"/Common/test-profile-http2-child\",\n        DefaultsFrom = nyhttp2.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnyhttp2, err := ltm.NewProfileHttp2(ctx, \"nyhttp2\", \u0026ltm.ProfileHttp2Args{\n\t\t\tName:                           pulumi.String(\"/Common/test-profile-http2\"),\n\t\t\tFrameSize:                      pulumi.Int(2021),\n\t\t\tReceiveWindow:                  pulumi.Int(31),\n\t\t\tWriteSize:                      pulumi.Int(16380),\n\t\t\tHeaderTableSize:                pulumi.Int(4092),\n\t\t\tIncludeContentLength:           pulumi.String(\"enabled\"),\n\t\t\tEnforceTlsRequirements:         pulumi.String(\"enabled\"),\n\t\t\tInsertHeader:                   pulumi.String(\"disabled\"),\n\t\t\tConcurrentStreamsPerConnection: pulumi.Int(30),\n\t\t\tConnectionIdleTimeout:          pulumi.Int(100),\n\t\t\tActivationModes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"always\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Child Profile which inherits parent http2 profile\n\t\t_, err = ltm.NewProfileHttp2(ctx, \"nyhttp2-child\", \u0026ltm.ProfileHttp2Args{\n\t\t\tName:         pulumi.String(\"/Common/test-profile-http2-child\"),\n\t\t\tDefaultsFrom: nyhttp2.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileHttp2;\nimport com.pulumi.f5bigip.ltm.ProfileHttp2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var nyhttp2 = new ProfileHttp2(\"nyhttp2\", ProfileHttp2Args.builder()\n            .name(\"/Common/test-profile-http2\")\n            .frameSize(2021)\n            .receiveWindow(31)\n            .writeSize(16380)\n            .headerTableSize(4092)\n            .includeContentLength(\"enabled\")\n            .enforceTlsRequirements(\"enabled\")\n            .insertHeader(\"disabled\")\n            .concurrentStreamsPerConnection(30)\n            .connectionIdleTimeout(100)\n            .activationModes(\"always\")\n            .build());\n\n        //Child Profile which inherits parent http2 profile\n        var nyhttp2_child = new ProfileHttp2(\"nyhttp2-child\", ProfileHttp2Args.builder()\n            .name(\"/Common/test-profile-http2-child\")\n            .defaultsFrom(nyhttp2.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  nyhttp2:\n    type: f5bigip:ltm:ProfileHttp2\n    properties:\n      name: /Common/test-profile-http2\n      frameSize: 2021\n      receiveWindow: 31\n      writeSize: 16380\n      headerTableSize: 4092\n      includeContentLength: enabled\n      enforceTlsRequirements: enabled\n      insertHeader: disabled\n      concurrentStreamsPerConnection: 30\n      connectionIdleTimeout: 100\n      activationModes:\n        - always\n  #Child Profile which inherits parent http2 profile\n  nyhttp2-child:\n    type: f5bigip:ltm:ProfileHttp2\n    properties:\n      name: /Common/test-profile-http2-child\n      defaultsFrom: ${nyhttp2.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activationModes":{"type":"array","items":{"type":"string"},"description":"This setting specifies the condition that will cause the BIG-IP system to handle an incoming connection as an HTTP/2 connection, Allowed values : `[“alpn”]` (or) `[“always”]`.\n"},"concurrentStreamsPerConnection":{"type":"integer","description":"Specifies how many concurrent requests are allowed to be outstanding on a single HTTP/2 connection.\n"},"connectionIdleTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is idle before the connection is eligible for deletion.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"enforceTlsRequirements":{"type":"string","description":"Enable or disable enforcement of TLS requirements,Allowed Values : `\"enabled\"/\"disabled\"` [Default:`\"enabled\"`].\n"},"frameSize":{"type":"integer","description":"The size of the data frames, in bytes, that the HTTP/2 protocol sends to the client. `Default: 2048`.\n"},"headerTableSize":{"type":"integer","description":"The size of the header table, in KB, for the HTTP headers that the HTTP/2 protocol compresses to save bandwidth.\n"},"includeContentLength":{"type":"string","description":"Enable to include content-length in HTTP/2 headers,Default : disabled"},"insertHeader":{"type":"string","description":"This setting specifies whether the BIG-IP system should add an HTTP header to the HTTP request to show that the request was received over HTTP/2, Allowed Values : `\"enabled\"/\"disabled\"` [ Default: `\"disabled\"`].\n"},"insertHeaderName":{"type":"string","description":"This setting specifies the name of the header that the BIG-IP system will add to the HTTP request when the Insert Header is enabled.\n"},"name":{"type":"string","description":"Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-http2-profile`.\n"},"receiveWindow":{"type":"integer","description":"The flow-control size for upload streams, in KB. `Default: 32`.\n"},"writeSize":{"type":"integer","description":"The total size of combined data frames, in bytes, that the HTTP/2 protocol sends in a single write function. `Default: 16384`\".\n"}},"required":["activationModes","concurrentStreamsPerConnection","connectionIdleTimeout","defaultsFrom","enforceTlsRequirements","frameSize","headerTableSize","includeContentLength","insertHeader","insertHeaderName","name","receiveWindow","writeSize"],"inputProperties":{"activationModes":{"type":"array","items":{"type":"string"},"description":"This setting specifies the condition that will cause the BIG-IP system to handle an incoming connection as an HTTP/2 connection, Allowed values : `[“alpn”]` (or) `[“always”]`.\n"},"concurrentStreamsPerConnection":{"type":"integer","description":"Specifies how many concurrent requests are allowed to be outstanding on a single HTTP/2 connection.\n"},"connectionIdleTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is idle before the connection is eligible for deletion.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"enforceTlsRequirements":{"type":"string","description":"Enable or disable enforcement of TLS requirements,Allowed Values : `\"enabled\"/\"disabled\"` [Default:`\"enabled\"`].\n"},"frameSize":{"type":"integer","description":"The size of the data frames, in bytes, that the HTTP/2 protocol sends to the client. `Default: 2048`.\n"},"headerTableSize":{"type":"integer","description":"The size of the header table, in KB, for the HTTP headers that the HTTP/2 protocol compresses to save bandwidth.\n"},"includeContentLength":{"type":"string","description":"Enable to include content-length in HTTP/2 headers,Default : disabled"},"insertHeader":{"type":"string","description":"This setting specifies whether the BIG-IP system should add an HTTP header to the HTTP request to show that the request was received over HTTP/2, Allowed Values : `\"enabled\"/\"disabled\"` [ Default: `\"disabled\"`].\n"},"insertHeaderName":{"type":"string","description":"This setting specifies the name of the header that the BIG-IP system will add to the HTTP request when the Insert Header is enabled.\n"},"name":{"type":"string","description":"Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-http2-profile`.\n","willReplaceOnChanges":true},"receiveWindow":{"type":"integer","description":"The flow-control size for upload streams, in KB. `Default: 32`.\n"},"writeSize":{"type":"integer","description":"The total size of combined data frames, in bytes, that the HTTP/2 protocol sends in a single write function. `Default: 16384`\".\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileHttp2 resources.\n","properties":{"activationModes":{"type":"array","items":{"type":"string"},"description":"This setting specifies the condition that will cause the BIG-IP system to handle an incoming connection as an HTTP/2 connection, Allowed values : `[“alpn”]` (or) `[“always”]`.\n"},"concurrentStreamsPerConnection":{"type":"integer","description":"Specifies how many concurrent requests are allowed to be outstanding on a single HTTP/2 connection.\n"},"connectionIdleTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is idle before the connection is eligible for deletion.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"enforceTlsRequirements":{"type":"string","description":"Enable or disable enforcement of TLS requirements,Allowed Values : `\"enabled\"/\"disabled\"` [Default:`\"enabled\"`].\n"},"frameSize":{"type":"integer","description":"The size of the data frames, in bytes, that the HTTP/2 protocol sends to the client. `Default: 2048`.\n"},"headerTableSize":{"type":"integer","description":"The size of the header table, in KB, for the HTTP headers that the HTTP/2 protocol compresses to save bandwidth.\n"},"includeContentLength":{"type":"string","description":"Enable to include content-length in HTTP/2 headers,Default : disabled"},"insertHeader":{"type":"string","description":"This setting specifies whether the BIG-IP system should add an HTTP header to the HTTP request to show that the request was received over HTTP/2, Allowed Values : `\"enabled\"/\"disabled\"` [ Default: `\"disabled\"`].\n"},"insertHeaderName":{"type":"string","description":"This setting specifies the name of the header that the BIG-IP system will add to the HTTP request when the Insert Header is enabled.\n"},"name":{"type":"string","description":"Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-http2-profile`.\n","willReplaceOnChanges":true},"receiveWindow":{"type":"integer","description":"The flow-control size for upload streams, in KB. `Default: 32`.\n"},"writeSize":{"type":"integer","description":"The total size of combined data frames, in bytes, that the HTTP/2 protocol sends in a single write function. `Default: 16384`\".\n"}},"type":"object"}},"f5bigip:ltm/profileHttp:ProfileHttp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileHttp`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileHttp`\" pulumi-lang-go=\"`ltm.ProfileHttp`\" pulumi-lang-python=\"`ltm.ProfileHttp`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileHttp`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileHttp`\"\u003e`f5bigip.ltm.ProfileHttp`\u003c/span\u003e Configures a custom\u003cspan pulumi-lang-nodejs=\" profileHttp \" pulumi-lang-dotnet=\" ProfileHttp \" pulumi-lang-go=\" profileHttp \" pulumi-lang-python=\" profile_http \" pulumi-lang-yaml=\" profileHttp \" pulumi-lang-java=\" profileHttp \"\u003e profile_http \u003c/span\u003efor use by health checks.\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sanjose_http = new f5bigip.ltm.ProfileHttp(\"sanjose-http\", {\n    name: \"/Common/sanjose-http\",\n    defaultsFrom: \"/Common/http\",\n    fallbackHost: \"titanic\",\n    fallbackStatusCodes: [\n        \"400\",\n        \"500\",\n        \"300\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_http = f5bigip.ltm.ProfileHttp(\"sanjose-http\",\n    name=\"/Common/sanjose-http\",\n    defaults_from=\"/Common/http\",\n    fallback_host=\"titanic\",\n    fallback_status_codes=[\n        \"400\",\n        \"500\",\n        \"300\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sanjose_http = new F5BigIP.Ltm.ProfileHttp(\"sanjose-http\", new()\n    {\n        Name = \"/Common/sanjose-http\",\n        DefaultsFrom = \"/Common/http\",\n        FallbackHost = \"titanic\",\n        FallbackStatusCodes = new[]\n        {\n            \"400\",\n            \"500\",\n            \"300\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileHttp(ctx, \"sanjose-http\", \u0026ltm.ProfileHttpArgs{\n\t\t\tName:         pulumi.String(\"/Common/sanjose-http\"),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/http\"),\n\t\t\tFallbackHost: pulumi.String(\"titanic\"),\n\t\t\tFallbackStatusCodes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"400\"),\n\t\t\t\tpulumi.String(\"500\"),\n\t\t\t\tpulumi.String(\"300\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileHttp;\nimport com.pulumi.f5bigip.ltm.ProfileHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sanjose_http = new ProfileHttp(\"sanjose-http\", ProfileHttpArgs.builder()\n            .name(\"/Common/sanjose-http\")\n            .defaultsFrom(\"/Common/http\")\n            .fallbackHost(\"titanic\")\n            .fallbackStatusCodes(            \n                \"400\",\n                \"500\",\n                \"300\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sanjose-http:\n    type: f5bigip:ltm:ProfileHttp\n    properties:\n      name: /Common/sanjose-http\n      defaultsFrom: /Common/http\n      fallbackHost: titanic\n      fallbackStatusCodes:\n        - '400'\n        - '500'\n        - '300'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBIG-IP LTM http profiles can be imported using the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http\n```\n\n","properties":{"acceptXff":{"type":"string","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.\n"},"appService":{"type":"string","description":"The application service to which the object belongs."},"basicAuthRealm":{"type":"string","description":"Specifies a quoted string for the basic authentication realm. The system sends this string to a client whenever authorization fails. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"description":{"type":"string","description":"Specifies user-defined description.\n"},"encryptCookieSecret":{"type":"string","description":"Type a passphrase for cookie encryption. Note: Since it's a sensitive entity idempotency will fail for it in the update call.\n"},"encryptCookies":{"type":"array","items":{"type":"string"},"description":"Type the cookie names for the system to encrypt.\n"},"enforcements":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileHttpEnforcement:ProfileHttpEnforcement"},"description":"See Enforcement below for more details.\n"},"fallbackHost":{"type":"string","description":"Specifies an HTTP fallback host. HTTP redirection allows you to redirect HTTP traffic to another protocol identifier, host name, port number\n"},"fallbackStatusCodes":{"type":"array","items":{"type":"string"},"description":"Specifies one or more three-digit status codes that can be returned by an HTTP server,that should trigger a redirection to the fallback host.\n"},"headErase":{"type":"string","description":"Specifies the header string that you want to erase from an HTTP request. Default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"headInsert":{"type":"string","description":"Specifies a quoted header string that you want to insert into an HTTP request.Default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"httpStrictTransportSecurities":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileHttpHttpStrictTransportSecurity:ProfileHttpHttpStrictTransportSecurity"},"description":"See Http_Strict_Transport_Security below for more details.\n"},"insertXforwardedFor":{"type":"string","description":"Specifies, when enabled, that the system inserts an X-Forwarded-For header in an HTTP request with the client IP address, to use with connection pooling. The default is `Disabled`.\n"},"lwsSeparator":{"type":"string","description":"Specifies the linear white space (LWS) separator that the system inserts when a header exceeds the maximum width you specify in the LWS Maximum Columns setting."},"lwsWidth":{"type":"integer","description":"Specifies the linear white space (LWS) separator that the system inserts when a header exceeds the maximum width you specify in the LWS Maximum Columns setting.\n"},"name":{"type":"string","description":"Specifies the name of the http profile,name of Profile should be full path. Full path is the combination of the `partition + profile name`,For example `/Common/test-http-profile`.\n"},"oneconnectTransformations":{"type":"string","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\n"},"proxyType":{"type":"string","description":"Specifies the proxy mode for this profile: reverse, explicit, or transparent. The default is \u003cspan pulumi-lang-nodejs=\"`reverse`\" pulumi-lang-dotnet=\"`Reverse`\" pulumi-lang-go=\"`reverse`\" pulumi-lang-python=\"`reverse`\" pulumi-lang-yaml=\"`reverse`\" pulumi-lang-java=\"`reverse`\"\u003e`reverse`\u003c/span\u003e.\n"},"redirectRewrite":{"type":"string","description":"Specifies whether the system rewrites the URIs that are part of HTTP redirect (3XX) responses. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"requestChunking":{"type":"string","description":"Specifies how the system handles HTTP content that is chunked by a client. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"responseChunking":{"type":"string","description":"Specifies how the system handles HTTP content that is chunked by a server. The default is \u003cspan pulumi-lang-nodejs=\"`selective`\" pulumi-lang-dotnet=\"`Selective`\" pulumi-lang-go=\"`selective`\" pulumi-lang-python=\"`selective`\" pulumi-lang-yaml=\"`selective`\" pulumi-lang-java=\"`selective`\"\u003e`selective`\u003c/span\u003e.\n"},"responseHeadersPermitteds":{"type":"array","items":{"type":"string"},"description":"Specifies headers that the BIG-IP system allows in an HTTP response.If you are specifying more than one header, separate the headers with a blank space.\n"},"serverAgentName":{"type":"string","description":"Specifies the value of the Server header in responses that the BIG-IP itself generates. The default is BigIP. In order to remove it, \"none\" string is to be passed. If\u003cspan pulumi-lang-nodejs=\" serverAgentName \" pulumi-lang-dotnet=\" ServerAgentName \" pulumi-lang-go=\" serverAgentName \" pulumi-lang-python=\" server_agent_name \" pulumi-lang-yaml=\" serverAgentName \" pulumi-lang-java=\" serverAgentName \"\u003e server_agent_name \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"BigIP\" explicitly.\n"},"tmPartition":{"type":"string","description":"Displays the administrative partition within which this profile resides."},"viaHostName":{"type":"string","description":"Specifies the hostname to include into Via header"},"viaRequest":{"type":"string","description":"Specifies whether to append, remove, or preserve a Via header in an HTTP request"},"viaResponse":{"type":"string","description":"Specifies whether to append, remove, or preserve a Via header in an HTTP request"},"xffAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Specifies alternative XFF headers instead of the default X-forwarded-for header.\n"}},"required":["acceptXff","basicAuthRealm","defaultsFrom","description","enforcements","headErase","headInsert","httpStrictTransportSecurities","insertXforwardedFor","lwsSeparator","lwsWidth","name","oneconnectTransformations","proxyType","redirectRewrite","requestChunking","responseChunking","responseHeadersPermitteds","serverAgentName","viaHostName","viaRequest","viaResponse","xffAlternativeNames"],"inputProperties":{"acceptXff":{"type":"string","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.\n"},"appService":{"type":"string","description":"The application service to which the object belongs."},"basicAuthRealm":{"type":"string","description":"Specifies a quoted string for the basic authentication realm. The system sends this string to a client whenever authorization fails. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"description":{"type":"string","description":"Specifies user-defined description.\n"},"encryptCookieSecret":{"type":"string","description":"Type a passphrase for cookie encryption. Note: Since it's a sensitive entity idempotency will fail for it in the update call.\n"},"encryptCookies":{"type":"array","items":{"type":"string"},"description":"Type the cookie names for the system to encrypt.\n"},"enforcements":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileHttpEnforcement:ProfileHttpEnforcement"},"description":"See Enforcement below for more details.\n"},"fallbackHost":{"type":"string","description":"Specifies an HTTP fallback host. HTTP redirection allows you to redirect HTTP traffic to another protocol identifier, host name, port number\n"},"fallbackStatusCodes":{"type":"array","items":{"type":"string"},"description":"Specifies one or more three-digit status codes that can be returned by an HTTP server,that should trigger a redirection to the fallback host.\n"},"headErase":{"type":"string","description":"Specifies the header string that you want to erase from an HTTP request. Default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"headInsert":{"type":"string","description":"Specifies a quoted header string that you want to insert into an HTTP request.Default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"httpStrictTransportSecurities":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileHttpHttpStrictTransportSecurity:ProfileHttpHttpStrictTransportSecurity"},"description":"See Http_Strict_Transport_Security below for more details.\n"},"insertXforwardedFor":{"type":"string","description":"Specifies, when enabled, that the system inserts an X-Forwarded-For header in an HTTP request with the client IP address, to use with connection pooling. The default is `Disabled`.\n"},"lwsSeparator":{"type":"string","description":"Specifies the linear white space (LWS) separator that the system inserts when a header exceeds the maximum width you specify in the LWS Maximum Columns setting."},"lwsWidth":{"type":"integer","description":"Specifies the linear white space (LWS) separator that the system inserts when a header exceeds the maximum width you specify in the LWS Maximum Columns setting.\n"},"name":{"type":"string","description":"Specifies the name of the http profile,name of Profile should be full path. Full path is the combination of the `partition + profile name`,For example `/Common/test-http-profile`.\n","willReplaceOnChanges":true},"oneconnectTransformations":{"type":"string","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\n"},"proxyType":{"type":"string","description":"Specifies the proxy mode for this profile: reverse, explicit, or transparent. The default is \u003cspan pulumi-lang-nodejs=\"`reverse`\" pulumi-lang-dotnet=\"`Reverse`\" pulumi-lang-go=\"`reverse`\" pulumi-lang-python=\"`reverse`\" pulumi-lang-yaml=\"`reverse`\" pulumi-lang-java=\"`reverse`\"\u003e`reverse`\u003c/span\u003e.\n","willReplaceOnChanges":true},"redirectRewrite":{"type":"string","description":"Specifies whether the system rewrites the URIs that are part of HTTP redirect (3XX) responses. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"requestChunking":{"type":"string","description":"Specifies how the system handles HTTP content that is chunked by a client. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"responseChunking":{"type":"string","description":"Specifies how the system handles HTTP content that is chunked by a server. The default is \u003cspan pulumi-lang-nodejs=\"`selective`\" pulumi-lang-dotnet=\"`Selective`\" pulumi-lang-go=\"`selective`\" pulumi-lang-python=\"`selective`\" pulumi-lang-yaml=\"`selective`\" pulumi-lang-java=\"`selective`\"\u003e`selective`\u003c/span\u003e.\n"},"responseHeadersPermitteds":{"type":"array","items":{"type":"string"},"description":"Specifies headers that the BIG-IP system allows in an HTTP response.If you are specifying more than one header, separate the headers with a blank space.\n"},"serverAgentName":{"type":"string","description":"Specifies the value of the Server header in responses that the BIG-IP itself generates. The default is BigIP. In order to remove it, \"none\" string is to be passed. If\u003cspan pulumi-lang-nodejs=\" serverAgentName \" pulumi-lang-dotnet=\" ServerAgentName \" pulumi-lang-go=\" serverAgentName \" pulumi-lang-python=\" server_agent_name \" pulumi-lang-yaml=\" serverAgentName \" pulumi-lang-java=\" serverAgentName \"\u003e server_agent_name \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"BigIP\" explicitly.\n"},"tmPartition":{"type":"string","description":"Displays the administrative partition within which this profile resides."},"viaHostName":{"type":"string","description":"Specifies the hostname to include into Via header"},"viaRequest":{"type":"string","description":"Specifies whether to append, remove, or preserve a Via header in an HTTP request"},"viaResponse":{"type":"string","description":"Specifies whether to append, remove, or preserve a Via header in an HTTP request"},"xffAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Specifies alternative XFF headers instead of the default X-forwarded-for header.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileHttp resources.\n","properties":{"acceptXff":{"type":"string","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.\n"},"appService":{"type":"string","description":"The application service to which the object belongs."},"basicAuthRealm":{"type":"string","description":"Specifies a quoted string for the basic authentication realm. The system sends this string to a client whenever authorization fails. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"description":{"type":"string","description":"Specifies user-defined description.\n"},"encryptCookieSecret":{"type":"string","description":"Type a passphrase for cookie encryption. Note: Since it's a sensitive entity idempotency will fail for it in the update call.\n"},"encryptCookies":{"type":"array","items":{"type":"string"},"description":"Type the cookie names for the system to encrypt.\n"},"enforcements":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileHttpEnforcement:ProfileHttpEnforcement"},"description":"See Enforcement below for more details.\n"},"fallbackHost":{"type":"string","description":"Specifies an HTTP fallback host. HTTP redirection allows you to redirect HTTP traffic to another protocol identifier, host name, port number\n"},"fallbackStatusCodes":{"type":"array","items":{"type":"string"},"description":"Specifies one or more three-digit status codes that can be returned by an HTTP server,that should trigger a redirection to the fallback host.\n"},"headErase":{"type":"string","description":"Specifies the header string that you want to erase from an HTTP request. Default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"headInsert":{"type":"string","description":"Specifies a quoted header string that you want to insert into an HTTP request.Default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"httpStrictTransportSecurities":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileHttpHttpStrictTransportSecurity:ProfileHttpHttpStrictTransportSecurity"},"description":"See Http_Strict_Transport_Security below for more details.\n"},"insertXforwardedFor":{"type":"string","description":"Specifies, when enabled, that the system inserts an X-Forwarded-For header in an HTTP request with the client IP address, to use with connection pooling. The default is `Disabled`.\n"},"lwsSeparator":{"type":"string","description":"Specifies the linear white space (LWS) separator that the system inserts when a header exceeds the maximum width you specify in the LWS Maximum Columns setting."},"lwsWidth":{"type":"integer","description":"Specifies the linear white space (LWS) separator that the system inserts when a header exceeds the maximum width you specify in the LWS Maximum Columns setting.\n"},"name":{"type":"string","description":"Specifies the name of the http profile,name of Profile should be full path. Full path is the combination of the `partition + profile name`,For example `/Common/test-http-profile`.\n","willReplaceOnChanges":true},"oneconnectTransformations":{"type":"string","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\n"},"proxyType":{"type":"string","description":"Specifies the proxy mode for this profile: reverse, explicit, or transparent. The default is \u003cspan pulumi-lang-nodejs=\"`reverse`\" pulumi-lang-dotnet=\"`Reverse`\" pulumi-lang-go=\"`reverse`\" pulumi-lang-python=\"`reverse`\" pulumi-lang-yaml=\"`reverse`\" pulumi-lang-java=\"`reverse`\"\u003e`reverse`\u003c/span\u003e.\n","willReplaceOnChanges":true},"redirectRewrite":{"type":"string","description":"Specifies whether the system rewrites the URIs that are part of HTTP redirect (3XX) responses. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"requestChunking":{"type":"string","description":"Specifies how the system handles HTTP content that is chunked by a client. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"responseChunking":{"type":"string","description":"Specifies how the system handles HTTP content that is chunked by a server. The default is \u003cspan pulumi-lang-nodejs=\"`selective`\" pulumi-lang-dotnet=\"`Selective`\" pulumi-lang-go=\"`selective`\" pulumi-lang-python=\"`selective`\" pulumi-lang-yaml=\"`selective`\" pulumi-lang-java=\"`selective`\"\u003e`selective`\u003c/span\u003e.\n"},"responseHeadersPermitteds":{"type":"array","items":{"type":"string"},"description":"Specifies headers that the BIG-IP system allows in an HTTP response.If you are specifying more than one header, separate the headers with a blank space.\n"},"serverAgentName":{"type":"string","description":"Specifies the value of the Server header in responses that the BIG-IP itself generates. The default is BigIP. In order to remove it, \"none\" string is to be passed. If\u003cspan pulumi-lang-nodejs=\" serverAgentName \" pulumi-lang-dotnet=\" ServerAgentName \" pulumi-lang-go=\" serverAgentName \" pulumi-lang-python=\" server_agent_name \" pulumi-lang-yaml=\" serverAgentName \" pulumi-lang-java=\" serverAgentName \"\u003e server_agent_name \u003c/span\u003eis commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass \"BigIP\" explicitly.\n"},"tmPartition":{"type":"string","description":"Displays the administrative partition within which this profile resides."},"viaHostName":{"type":"string","description":"Specifies the hostname to include into Via header"},"viaRequest":{"type":"string","description":"Specifies whether to append, remove, or preserve a Via header in an HTTP request"},"viaResponse":{"type":"string","description":"Specifies whether to append, remove, or preserve a Via header in an HTTP request"},"xffAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Specifies alternative XFF headers instead of the default X-forwarded-for header.\n"}},"type":"object"}},"f5bigip:ltm/profileHttpCompress:ProfileHttpCompress":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileHttpCompress`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileHttpCompress`\" pulumi-lang-go=\"`ltm.ProfileHttpCompress`\" pulumi-lang-python=\"`ltm.ProfileHttpCompress`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileHttpCompress`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileHttpCompress`\"\u003e`f5bigip.ltm.ProfileHttpCompress`\u003c/span\u003e  Virtual server HTTP compression profile configuration\n\nResources should be named with their `full path`.The full path is the combination of the `partition + name` (example: `/Common/my-httpcompresprofile` ) or  `partition + directory + name` of the resource  (example: `/Common/test/my-httpcompresprofile`)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sjhttpcompression = new f5bigip.ltm.ProfileHttpCompress(\"sjhttpcompression\", {\n    name: \"/Common/sjhttpcompression2\",\n    defaultsFrom: \"/Common/httpcompression\",\n    uriExcludes: [\n        \"www.abc.f5.com\",\n        \"www.abc2.f5.com\",\n    ],\n    uriIncludes: [\"www.xyzbc.cisco.com\"],\n    contentTypeIncludes: [\"nicecontent.com\"],\n    contentTypeExcludes: [\"nicecontentexclude.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsjhttpcompression = f5bigip.ltm.ProfileHttpCompress(\"sjhttpcompression\",\n    name=\"/Common/sjhttpcompression2\",\n    defaults_from=\"/Common/httpcompression\",\n    uri_excludes=[\n        \"www.abc.f5.com\",\n        \"www.abc2.f5.com\",\n    ],\n    uri_includes=[\"www.xyzbc.cisco.com\"],\n    content_type_includes=[\"nicecontent.com\"],\n    content_type_excludes=[\"nicecontentexclude.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sjhttpcompression = new F5BigIP.Ltm.ProfileHttpCompress(\"sjhttpcompression\", new()\n    {\n        Name = \"/Common/sjhttpcompression2\",\n        DefaultsFrom = \"/Common/httpcompression\",\n        UriExcludes = new[]\n        {\n            \"www.abc.f5.com\",\n            \"www.abc2.f5.com\",\n        },\n        UriIncludes = new[]\n        {\n            \"www.xyzbc.cisco.com\",\n        },\n        ContentTypeIncludes = new[]\n        {\n            \"nicecontent.com\",\n        },\n        ContentTypeExcludes = new[]\n        {\n            \"nicecontentexclude.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileHttpCompress(ctx, \"sjhttpcompression\", \u0026ltm.ProfileHttpCompressArgs{\n\t\t\tName:         pulumi.String(\"/Common/sjhttpcompression2\"),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/httpcompression\"),\n\t\t\tUriExcludes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.abc.f5.com\"),\n\t\t\t\tpulumi.String(\"www.abc2.f5.com\"),\n\t\t\t},\n\t\t\tUriIncludes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.xyzbc.cisco.com\"),\n\t\t\t},\n\t\t\tContentTypeIncludes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nicecontent.com\"),\n\t\t\t},\n\t\t\tContentTypeExcludes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nicecontentexclude.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileHttpCompress;\nimport com.pulumi.f5bigip.ltm.ProfileHttpCompressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sjhttpcompression = new ProfileHttpCompress(\"sjhttpcompression\", ProfileHttpCompressArgs.builder()\n            .name(\"/Common/sjhttpcompression2\")\n            .defaultsFrom(\"/Common/httpcompression\")\n            .uriExcludes(            \n                \"www.abc.f5.com\",\n                \"www.abc2.f5.com\")\n            .uriIncludes(\"www.xyzbc.cisco.com\")\n            .contentTypeIncludes(\"nicecontent.com\")\n            .contentTypeExcludes(\"nicecontentexclude.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sjhttpcompression:\n    type: f5bigip:ltm:ProfileHttpCompress\n    properties:\n      name: /Common/sjhttpcompression2\n      defaultsFrom: /Common/httpcompression\n      uriExcludes:\n        - www.abc.f5.com\n        - www.abc2.f5.com\n      uriIncludes:\n        - www.xyzbc.cisco.com\n      contentTypeIncludes:\n        - nicecontent.com\n      contentTypeExcludes:\n        - nicecontentexclude.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBIG-IP LTM HTTP Compress profiles can be imported using the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import f5bigip:ltm/profileHttpCompress:ProfileHttpCompress test-httpcomprs_import /Common/test-httpcomprs\n```\n\n","properties":{"compressionBuffersize":{"type":"integer","description":"Specifies the maximum number of compressed bytes that the system buffers before inserting a Content-Length header (which specifies the compressed size) into the response. The default is \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e bytes.\n"},"contentTypeExcludes":{"type":"array","items":{"type":"string"},"description":"Excludes a specified list of content types from compression of HTTP Content-Type responses. Use a string list to specify a list of content types you want to compress.\n"},"contentTypeIncludes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of content types for compression of HTTP Content-Type responses. Use a string list to specify a list of content types you want to compress.\n"},"cpuSaver":{"type":"string","description":"Specifies, when checked (enabled), that the system monitors the percent CPU usage and adjusts compression rates automatically when the CPU usage reaches either the CPU Saver High Threshold or the CPU Saver Low Threshold. The default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"gzipCompressionLevel":{"type":"integer","description":"Specifies the degree to which the system compresses the content. Higher compression levels cause the compression process to be slower. The default is 1 - Least Compression (Fastest)\n"},"gzipMemoryLevel":{"type":"integer","description":"Specifies the number of bytes of memory that the system uses for internal compression buffers when compressing a server response. The default is `8 kilobytes/8192 bytes`.\n"},"gzipWindowSize":{"type":"integer","description":"Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e kilobytes\n"},"keepAcceptEncoding":{"type":"string","description":"Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the LTM http compress profile,named with their `full path`.The full path is the combination of the `partition + name` (example: `/Common/my-httpcompresprofile` ) or  `partition + directory + name` of the resource  (example: `my-httpcompresprofile`)\n"},"uriExcludes":{"type":"array","items":{"type":"string"},"description":"Disables compression on a specified list of HTTP Request-URI responses. Use a regular expression to specify a list of URIs you do not want to compress.\n"},"uriIncludes":{"type":"array","items":{"type":"string"},"description":"Enables compression on a specified list of HTTP Request-URI responses. Use a regular expression to specify a list of URIs you want to compress.\n"},"varyHeader":{"type":"string","description":"Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"}},"required":["compressionBuffersize","contentTypeExcludes","contentTypeIncludes","cpuSaver","defaultsFrom","gzipCompressionLevel","gzipMemoryLevel","gzipWindowSize","keepAcceptEncoding","name","uriExcludes","uriIncludes","varyHeader"],"inputProperties":{"compressionBuffersize":{"type":"integer","description":"Specifies the maximum number of compressed bytes that the system buffers before inserting a Content-Length header (which specifies the compressed size) into the response. The default is \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e bytes.\n"},"contentTypeExcludes":{"type":"array","items":{"type":"string"},"description":"Excludes a specified list of content types from compression of HTTP Content-Type responses. Use a string list to specify a list of content types you want to compress.\n"},"contentTypeIncludes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of content types for compression of HTTP Content-Type responses. Use a string list to specify a list of content types you want to compress.\n"},"cpuSaver":{"type":"string","description":"Specifies, when checked (enabled), that the system monitors the percent CPU usage and adjusts compression rates automatically when the CPU usage reaches either the CPU Saver High Threshold or the CPU Saver Low Threshold. The default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"gzipCompressionLevel":{"type":"integer","description":"Specifies the degree to which the system compresses the content. Higher compression levels cause the compression process to be slower. The default is 1 - Least Compression (Fastest)\n"},"gzipMemoryLevel":{"type":"integer","description":"Specifies the number of bytes of memory that the system uses for internal compression buffers when compressing a server response. The default is `8 kilobytes/8192 bytes`.\n"},"gzipWindowSize":{"type":"integer","description":"Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e kilobytes\n"},"keepAcceptEncoding":{"type":"string","description":"Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the LTM http compress profile,named with their `full path`.The full path is the combination of the `partition + name` (example: `/Common/my-httpcompresprofile` ) or  `partition + directory + name` of the resource  (example: `my-httpcompresprofile`)\n","willReplaceOnChanges":true},"uriExcludes":{"type":"array","items":{"type":"string"},"description":"Disables compression on a specified list of HTTP Request-URI responses. Use a regular expression to specify a list of URIs you do not want to compress.\n"},"uriIncludes":{"type":"array","items":{"type":"string"},"description":"Enables compression on a specified list of HTTP Request-URI responses. Use a regular expression to specify a list of URIs you want to compress.\n"},"varyHeader":{"type":"string","description":"Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileHttpCompress resources.\n","properties":{"compressionBuffersize":{"type":"integer","description":"Specifies the maximum number of compressed bytes that the system buffers before inserting a Content-Length header (which specifies the compressed size) into the response. The default is \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e bytes.\n"},"contentTypeExcludes":{"type":"array","items":{"type":"string"},"description":"Excludes a specified list of content types from compression of HTTP Content-Type responses. Use a string list to specify a list of content types you want to compress.\n"},"contentTypeIncludes":{"type":"array","items":{"type":"string"},"description":"Specifies a list of content types for compression of HTTP Content-Type responses. Use a string list to specify a list of content types you want to compress.\n"},"cpuSaver":{"type":"string","description":"Specifies, when checked (enabled), that the system monitors the percent CPU usage and adjusts compression rates automatically when the CPU usage reaches either the CPU Saver High Threshold or the CPU Saver Low Threshold. The default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"gzipCompressionLevel":{"type":"integer","description":"Specifies the degree to which the system compresses the content. Higher compression levels cause the compression process to be slower. The default is 1 - Least Compression (Fastest)\n"},"gzipMemoryLevel":{"type":"integer","description":"Specifies the number of bytes of memory that the system uses for internal compression buffers when compressing a server response. The default is `8 kilobytes/8192 bytes`.\n"},"gzipWindowSize":{"type":"integer","description":"Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e kilobytes\n"},"keepAcceptEncoding":{"type":"string","description":"Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the LTM http compress profile,named with their `full path`.The full path is the combination of the `partition + name` (example: `/Common/my-httpcompresprofile` ) or  `partition + directory + name` of the resource  (example: `my-httpcompresprofile`)\n","willReplaceOnChanges":true},"uriExcludes":{"type":"array","items":{"type":"string"},"description":"Disables compression on a specified list of HTTP Request-URI responses. Use a regular expression to specify a list of URIs you do not want to compress.\n"},"uriIncludes":{"type":"array","items":{"type":"string"},"description":"Enables compression on a specified list of HTTP Request-URI responses. Use a regular expression to specify a list of URIs you want to compress.\n"},"varyHeader":{"type":"string","description":"Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"}},"type":"object"}},"f5bigip:ltm/profileOneConnect:ProfileOneConnect":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileOneConnect`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileOneConnect`\" pulumi-lang-go=\"`ltm.ProfileOneConnect`\" pulumi-lang-python=\"`ltm.ProfileOneConnect`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileOneConnect`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileOneConnect`\"\u003e`f5bigip.ltm.ProfileOneConnect`\u003c/span\u003e Configures a custom\u003cspan pulumi-lang-nodejs=\" profileOneconnect \" pulumi-lang-dotnet=\" ProfileOneconnect \" pulumi-lang-go=\" profileOneconnect \" pulumi-lang-python=\" profile_oneconnect \" pulumi-lang-yaml=\" profileOneconnect \" pulumi-lang-java=\" profileOneconnect \"\u003e profile_oneconnect \u003c/span\u003efor use by health checks.\n\nResources should be named with their \"full path\". The full path is the combination of the partition + name (example: /Common/my-pool ) or  partition + directory + name of the resource  (example: /Common/test/my-pool )\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_oneconnect = new f5bigip.ltm.ProfileOneConnect(\"test-oneconnect\", {name: \"/Common/test-oneconnect\"});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_oneconnect = f5bigip.ltm.ProfileOneConnect(\"test-oneconnect\", name=\"/Common/test-oneconnect\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_oneconnect = new F5BigIP.Ltm.ProfileOneConnect(\"test-oneconnect\", new()\n    {\n        Name = \"/Common/test-oneconnect\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileOneConnect(ctx, \"test-oneconnect\", \u0026ltm.ProfileOneConnectArgs{\n\t\t\tName: pulumi.String(\"/Common/test-oneconnect\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileOneConnect;\nimport com.pulumi.f5bigip.ltm.ProfileOneConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_oneconnect = new ProfileOneConnect(\"test-oneconnect\", ProfileOneConnectArgs.builder()\n            .name(\"/Common/test-oneconnect\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-oneconnect:\n    type: f5bigip:ltm:ProfileOneConnect\n    properties:\n      name: /Common/test-oneconnect\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBIG-IP LTM oneconnect profiles can be imported using the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e , e.g.\n\n```sh\n$ pulumi import f5bigip:ltm/profileOneConnect:ProfileOneConnect test-oneconnect /Common/test-oneconnect\n```\n\n","properties":{"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"idleTimeoutOverride":{"type":"string","description":"Specifies the number of seconds that a connection is idle before the connection flow is eligible for deletion. Possible values are \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indefinite`\" pulumi-lang-dotnet=\"`Indefinite`\" pulumi-lang-go=\"`indefinite`\" pulumi-lang-python=\"`indefinite`\" pulumi-lang-yaml=\"`indefinite`\" pulumi-lang-java=\"`indefinite`\"\u003e`indefinite`\u003c/span\u003e, or a numeric value that you specify. The default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e\n"},"limitType":{"type":"string","description":"Controls how connection limits are enforced in conjunction with OneConnect. The default is `None`. Supported Values: `[None,idle,strict]`\n"},"maxAge":{"type":"integer","description":"Specifies the maximum age in number of seconds allowed for a connection in the connection reuse pool. For any connection with an age higher than this value, the system removes that connection from the reuse pool. The default value is \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"},"maxReuse":{"type":"integer","description":"Specifies the maximum number of times that a server-side connection can be reused. The default value is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"maxSize":{"type":"integer","description":"Specifies the maximum number of connections that the system holds in the connection reuse pool. If the pool is already full, then the server-side connection closes after the response is completed. The default value is \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of Profile should be full path.The full path is the combination of the `partition +\u003cspan pulumi-lang-nodejs=\" profileName`\" pulumi-lang-dotnet=\" ProfileName`\" pulumi-lang-go=\" profileName`\" pulumi-lang-python=\" profile_name`\" pulumi-lang-yaml=\" profileName`\" pulumi-lang-java=\" profileName`\"\u003e profile_name`\u003c/span\u003e,For example `/Common/test-oneconnect-profile`.\n"},"partition":{"type":"string","description":"Displays the administrative partition within which this profile resides\n"},"sharePools":{"type":"string","description":"Specify if you want to share the pool, default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"sourceMask":{"type":"string","description":"Specifies a source IP mask. The default value is `0.0.0.0`. The system applies the value of this option to the source address to determine its eligibility for reuse. A mask of 0.0.0.0 causes the system to share reused connections across all clients. A host mask (all 1's in binary), causes the system to share only those reused connections originating from the same client IP address.\n"}},"required":["defaultsFrom","idleTimeoutOverride","limitType","maxAge","maxReuse","maxSize","name","partition","sharePools","sourceMask"],"inputProperties":{"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"idleTimeoutOverride":{"type":"string","description":"Specifies the number of seconds that a connection is idle before the connection flow is eligible for deletion. Possible values are \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indefinite`\" pulumi-lang-dotnet=\"`Indefinite`\" pulumi-lang-go=\"`indefinite`\" pulumi-lang-python=\"`indefinite`\" pulumi-lang-yaml=\"`indefinite`\" pulumi-lang-java=\"`indefinite`\"\u003e`indefinite`\u003c/span\u003e, or a numeric value that you specify. The default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e\n"},"limitType":{"type":"string","description":"Controls how connection limits are enforced in conjunction with OneConnect. The default is `None`. Supported Values: `[None,idle,strict]`\n"},"maxAge":{"type":"integer","description":"Specifies the maximum age in number of seconds allowed for a connection in the connection reuse pool. For any connection with an age higher than this value, the system removes that connection from the reuse pool. The default value is \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"},"maxReuse":{"type":"integer","description":"Specifies the maximum number of times that a server-side connection can be reused. The default value is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"maxSize":{"type":"integer","description":"Specifies the maximum number of connections that the system holds in the connection reuse pool. If the pool is already full, then the server-side connection closes after the response is completed. The default value is \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of Profile should be full path.The full path is the combination of the `partition +\u003cspan pulumi-lang-nodejs=\" profileName`\" pulumi-lang-dotnet=\" ProfileName`\" pulumi-lang-go=\" profileName`\" pulumi-lang-python=\" profile_name`\" pulumi-lang-yaml=\" profileName`\" pulumi-lang-java=\" profileName`\"\u003e profile_name`\u003c/span\u003e,For example `/Common/test-oneconnect-profile`.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Displays the administrative partition within which this profile resides\n"},"sharePools":{"type":"string","description":"Specify if you want to share the pool, default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"sourceMask":{"type":"string","description":"Specifies a source IP mask. The default value is `0.0.0.0`. The system applies the value of this option to the source address to determine its eligibility for reuse. A mask of 0.0.0.0 causes the system to share reused connections across all clients. A host mask (all 1's in binary), causes the system to share only those reused connections originating from the same client IP address.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileOneConnect resources.\n","properties":{"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"idleTimeoutOverride":{"type":"string","description":"Specifies the number of seconds that a connection is idle before the connection flow is eligible for deletion. Possible values are \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`indefinite`\" pulumi-lang-dotnet=\"`Indefinite`\" pulumi-lang-go=\"`indefinite`\" pulumi-lang-python=\"`indefinite`\" pulumi-lang-yaml=\"`indefinite`\" pulumi-lang-java=\"`indefinite`\"\u003e`indefinite`\u003c/span\u003e, or a numeric value that you specify. The default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e\n"},"limitType":{"type":"string","description":"Controls how connection limits are enforced in conjunction with OneConnect. The default is `None`. Supported Values: `[None,idle,strict]`\n"},"maxAge":{"type":"integer","description":"Specifies the maximum age in number of seconds allowed for a connection in the connection reuse pool. For any connection with an age higher than this value, the system removes that connection from the reuse pool. The default value is \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"},"maxReuse":{"type":"integer","description":"Specifies the maximum number of times that a server-side connection can be reused. The default value is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"maxSize":{"type":"integer","description":"Specifies the maximum number of connections that the system holds in the connection reuse pool. If the pool is already full, then the server-side connection closes after the response is completed. The default value is \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of Profile should be full path.The full path is the combination of the `partition +\u003cspan pulumi-lang-nodejs=\" profileName`\" pulumi-lang-dotnet=\" ProfileName`\" pulumi-lang-go=\" profileName`\" pulumi-lang-python=\" profile_name`\" pulumi-lang-yaml=\" profileName`\" pulumi-lang-java=\" profileName`\"\u003e profile_name`\u003c/span\u003e,For example `/Common/test-oneconnect-profile`.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Displays the administrative partition within which this profile resides\n"},"sharePools":{"type":"string","description":"Specify if you want to share the pool, default value is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"sourceMask":{"type":"string","description":"Specifies a source IP mask. The default value is `0.0.0.0`. The system applies the value of this option to the source address to determine its eligibility for reuse. A mask of 0.0.0.0 causes the system to share reused connections across all clients. A host mask (all 1's in binary), causes the system to share only those reused connections originating from the same client IP address.\n"}},"type":"object"}},"f5bigip:ltm/profileRewrite:ProfileRewrite":{"description":"\u003cspan pulumi-lang-nodejs=\"`bigipLtmRewriteProfile`\" pulumi-lang-dotnet=\"`BigipLtmRewriteProfile`\" pulumi-lang-go=\"`bigipLtmRewriteProfile`\" pulumi-lang-python=\"`bigip_ltm_rewrite_profile`\" pulumi-lang-yaml=\"`bigipLtmRewriteProfile`\" pulumi-lang-java=\"`bigipLtmRewriteProfile`\"\u003e`bigip_ltm_rewrite_profile`\u003c/span\u003e Configures ltm policies to manage traffic assigned to a virtual server\n\nFor resources should be named with their `full path`. The full path is the combination of the `partition + name` of the resource. For example `/Common/test-profile`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_profile = new f5bigip.ltm.ProfileRewrite(\"test-profile\", {\n    name: \"/Common/tf_profile\",\n    defaultsFrom: \"/Common/rewrite\",\n    bypassLists: [\"http://notouch.com\"],\n    rewriteLists: [\"http://some.com\"],\n    rewriteMode: \"portal\",\n    cacheType: \"cache-img-css-js\",\n    caFile: \"/Common/ca-bundle.crt\",\n    crlFile: \"none\",\n    signingCert: \"/Common/default.crt\",\n    signingKey: \"/Common/default.key\",\n    splitTunneling: \"true\",\n});\nconst test_profile2 = new f5bigip.ltm.ProfileRewrite(\"test-profile2\", {\n    name: \"/Common/tf_profile_translate\",\n    defaultsFrom: \"/Common/rewrite\",\n    rewriteMode: \"uri-translation\",\n    requests: [{\n        insertXfwdFor: \"enabled\",\n        insertXfwdHost: \"disabled\",\n        insertXfwdProtocol: \"enabled\",\n        rewriteHeaders: \"disabled\",\n    }],\n    responses: [{\n        rewriteContent: \"enabled\",\n        rewriteHeaders: \"disabled\",\n    }],\n    cookieRules: [\n        {\n            ruleName: \"cookie1\",\n            clientDomain: \"wrong.com\",\n            clientPath: \"/this/\",\n            serverDomain: \"wrong.com\",\n            serverPath: \"/this/\",\n        },\n        {\n            ruleName: \"cookie2\",\n            clientDomain: \"incorrect.com\",\n            clientPath: \"/this/\",\n            serverDomain: \"absolute.com\",\n            serverPath: \"/this/\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_profile = f5bigip.ltm.ProfileRewrite(\"test-profile\",\n    name=\"/Common/tf_profile\",\n    defaults_from=\"/Common/rewrite\",\n    bypass_lists=[\"http://notouch.com\"],\n    rewrite_lists=[\"http://some.com\"],\n    rewrite_mode=\"portal\",\n    cache_type=\"cache-img-css-js\",\n    ca_file=\"/Common/ca-bundle.crt\",\n    crl_file=\"none\",\n    signing_cert=\"/Common/default.crt\",\n    signing_key=\"/Common/default.key\",\n    split_tunneling=\"true\")\ntest_profile2 = f5bigip.ltm.ProfileRewrite(\"test-profile2\",\n    name=\"/Common/tf_profile_translate\",\n    defaults_from=\"/Common/rewrite\",\n    rewrite_mode=\"uri-translation\",\n    requests=[{\n        \"insert_xfwd_for\": \"enabled\",\n        \"insert_xfwd_host\": \"disabled\",\n        \"insert_xfwd_protocol\": \"enabled\",\n        \"rewrite_headers\": \"disabled\",\n    }],\n    responses=[{\n        \"rewrite_content\": \"enabled\",\n        \"rewrite_headers\": \"disabled\",\n    }],\n    cookie_rules=[\n        {\n            \"rule_name\": \"cookie1\",\n            \"client_domain\": \"wrong.com\",\n            \"client_path\": \"/this/\",\n            \"server_domain\": \"wrong.com\",\n            \"server_path\": \"/this/\",\n        },\n        {\n            \"rule_name\": \"cookie2\",\n            \"client_domain\": \"incorrect.com\",\n            \"client_path\": \"/this/\",\n            \"server_domain\": \"absolute.com\",\n            \"server_path\": \"/this/\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_profile = new F5BigIP.Ltm.ProfileRewrite(\"test-profile\", new()\n    {\n        Name = \"/Common/tf_profile\",\n        DefaultsFrom = \"/Common/rewrite\",\n        BypassLists = new[]\n        {\n            \"http://notouch.com\",\n        },\n        RewriteLists = new[]\n        {\n            \"http://some.com\",\n        },\n        RewriteMode = \"portal\",\n        CacheType = \"cache-img-css-js\",\n        CaFile = \"/Common/ca-bundle.crt\",\n        CrlFile = \"none\",\n        SigningCert = \"/Common/default.crt\",\n        SigningKey = \"/Common/default.key\",\n        SplitTunneling = \"true\",\n    });\n\n    var test_profile2 = new F5BigIP.Ltm.ProfileRewrite(\"test-profile2\", new()\n    {\n        Name = \"/Common/tf_profile_translate\",\n        DefaultsFrom = \"/Common/rewrite\",\n        RewriteMode = \"uri-translation\",\n        Requests = new[]\n        {\n            new F5BigIP.Ltm.Inputs.ProfileRewriteRequestArgs\n            {\n                InsertXfwdFor = \"enabled\",\n                InsertXfwdHost = \"disabled\",\n                InsertXfwdProtocol = \"enabled\",\n                RewriteHeaders = \"disabled\",\n            },\n        },\n        Responses = new[]\n        {\n            new F5BigIP.Ltm.Inputs.ProfileRewriteResponseArgs\n            {\n                RewriteContent = \"enabled\",\n                RewriteHeaders = \"disabled\",\n            },\n        },\n        CookieRules = new[]\n        {\n            new F5BigIP.Ltm.Inputs.ProfileRewriteCookieRuleArgs\n            {\n                RuleName = \"cookie1\",\n                ClientDomain = \"wrong.com\",\n                ClientPath = \"/this/\",\n                ServerDomain = \"wrong.com\",\n                ServerPath = \"/this/\",\n            },\n            new F5BigIP.Ltm.Inputs.ProfileRewriteCookieRuleArgs\n            {\n                RuleName = \"cookie2\",\n                ClientDomain = \"incorrect.com\",\n                ClientPath = \"/this/\",\n                ServerDomain = \"absolute.com\",\n                ServerPath = \"/this/\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileRewrite(ctx, \"test-profile\", \u0026ltm.ProfileRewriteArgs{\n\t\t\tName:         pulumi.String(\"/Common/tf_profile\"),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/rewrite\"),\n\t\t\tBypassLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"http://notouch.com\"),\n\t\t\t},\n\t\t\tRewriteLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"http://some.com\"),\n\t\t\t},\n\t\t\tRewriteMode:    pulumi.String(\"portal\"),\n\t\t\tCacheType:      pulumi.String(\"cache-img-css-js\"),\n\t\t\tCaFile:         pulumi.String(\"/Common/ca-bundle.crt\"),\n\t\t\tCrlFile:        pulumi.String(\"none\"),\n\t\t\tSigningCert:    pulumi.String(\"/Common/default.crt\"),\n\t\t\tSigningKey:     pulumi.String(\"/Common/default.key\"),\n\t\t\tSplitTunneling: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewProfileRewrite(ctx, \"test-profile2\", \u0026ltm.ProfileRewriteArgs{\n\t\t\tName:         pulumi.String(\"/Common/tf_profile_translate\"),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/rewrite\"),\n\t\t\tRewriteMode:  pulumi.String(\"uri-translation\"),\n\t\t\tRequests: ltm.ProfileRewriteRequestArray{\n\t\t\t\t\u0026ltm.ProfileRewriteRequestArgs{\n\t\t\t\t\tInsertXfwdFor:      pulumi.String(\"enabled\"),\n\t\t\t\t\tInsertXfwdHost:     pulumi.String(\"disabled\"),\n\t\t\t\t\tInsertXfwdProtocol: pulumi.String(\"enabled\"),\n\t\t\t\t\tRewriteHeaders:     pulumi.String(\"disabled\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResponses: ltm.ProfileRewriteResponseArray{\n\t\t\t\t\u0026ltm.ProfileRewriteResponseArgs{\n\t\t\t\t\tRewriteContent: pulumi.String(\"enabled\"),\n\t\t\t\t\tRewriteHeaders: pulumi.String(\"disabled\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCookieRules: ltm.ProfileRewriteCookieRuleArray{\n\t\t\t\t\u0026ltm.ProfileRewriteCookieRuleArgs{\n\t\t\t\t\tRuleName:     pulumi.String(\"cookie1\"),\n\t\t\t\t\tClientDomain: pulumi.String(\"wrong.com\"),\n\t\t\t\t\tClientPath:   pulumi.String(\"/this/\"),\n\t\t\t\t\tServerDomain: pulumi.String(\"wrong.com\"),\n\t\t\t\t\tServerPath:   pulumi.String(\"/this/\"),\n\t\t\t\t},\n\t\t\t\t\u0026ltm.ProfileRewriteCookieRuleArgs{\n\t\t\t\t\tRuleName:     pulumi.String(\"cookie2\"),\n\t\t\t\t\tClientDomain: pulumi.String(\"incorrect.com\"),\n\t\t\t\t\tClientPath:   pulumi.String(\"/this/\"),\n\t\t\t\t\tServerDomain: pulumi.String(\"absolute.com\"),\n\t\t\t\t\tServerPath:   pulumi.String(\"/this/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileRewrite;\nimport com.pulumi.f5bigip.ltm.ProfileRewriteArgs;\nimport com.pulumi.f5bigip.ltm.inputs.ProfileRewriteRequestArgs;\nimport com.pulumi.f5bigip.ltm.inputs.ProfileRewriteResponseArgs;\nimport com.pulumi.f5bigip.ltm.inputs.ProfileRewriteCookieRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_profile = new ProfileRewrite(\"test-profile\", ProfileRewriteArgs.builder()\n            .name(\"/Common/tf_profile\")\n            .defaultsFrom(\"/Common/rewrite\")\n            .bypassLists(\"http://notouch.com\")\n            .rewriteLists(\"http://some.com\")\n            .rewriteMode(\"portal\")\n            .cacheType(\"cache-img-css-js\")\n            .caFile(\"/Common/ca-bundle.crt\")\n            .crlFile(\"none\")\n            .signingCert(\"/Common/default.crt\")\n            .signingKey(\"/Common/default.key\")\n            .splitTunneling(\"true\")\n            .build());\n\n        var test_profile2 = new ProfileRewrite(\"test-profile2\", ProfileRewriteArgs.builder()\n            .name(\"/Common/tf_profile_translate\")\n            .defaultsFrom(\"/Common/rewrite\")\n            .rewriteMode(\"uri-translation\")\n            .requests(ProfileRewriteRequestArgs.builder()\n                .insertXfwdFor(\"enabled\")\n                .insertXfwdHost(\"disabled\")\n                .insertXfwdProtocol(\"enabled\")\n                .rewriteHeaders(\"disabled\")\n                .build())\n            .responses(ProfileRewriteResponseArgs.builder()\n                .rewriteContent(\"enabled\")\n                .rewriteHeaders(\"disabled\")\n                .build())\n            .cookieRules(            \n                ProfileRewriteCookieRuleArgs.builder()\n                    .ruleName(\"cookie1\")\n                    .clientDomain(\"wrong.com\")\n                    .clientPath(\"/this/\")\n                    .serverDomain(\"wrong.com\")\n                    .serverPath(\"/this/\")\n                    .build(),\n                ProfileRewriteCookieRuleArgs.builder()\n                    .ruleName(\"cookie2\")\n                    .clientDomain(\"incorrect.com\")\n                    .clientPath(\"/this/\")\n                    .serverDomain(\"absolute.com\")\n                    .serverPath(\"/this/\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-profile:\n    type: f5bigip:ltm:ProfileRewrite\n    properties:\n      name: /Common/tf_profile\n      defaultsFrom: /Common/rewrite\n      bypassLists:\n        - http://notouch.com\n      rewriteLists:\n        - http://some.com\n      rewriteMode: portal\n      cacheType: cache-img-css-js\n      caFile: /Common/ca-bundle.crt\n      crlFile: none\n      signingCert: /Common/default.crt\n      signingKey: /Common/default.key\n      splitTunneling: 'true'\n  test-profile2:\n    type: f5bigip:ltm:ProfileRewrite\n    properties:\n      name: /Common/tf_profile_translate\n      defaultsFrom: /Common/rewrite\n      rewriteMode: uri-translation\n      requests:\n        - insertXfwdFor: enabled\n          insertXfwdHost: disabled\n          insertXfwdProtocol: enabled\n          rewriteHeaders: disabled\n      responses:\n        - rewriteContent: enabled\n          rewriteHeaders: disabled\n      cookieRules:\n        - ruleName: cookie1\n          clientDomain: wrong.com\n          clientPath: /this/\n          serverDomain: wrong.com\n          serverPath: /this/\n        - ruleName: cookie2\n          clientDomain: incorrect.com\n          clientPath: /this/\n          serverDomain: absolute.com\n          serverPath: /this/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"bypassLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of URIs to bypass inside a web page when the page is accessed using Portal Access.\n"},"caFile":{"type":"string","description":"Specifies a CA against which to verify signed Java applets signatures. (name should be in full path which is combination of partition and CA file name )\n"},"cacheType":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `cache-css-js, cache-all, no-cache, cache-img-css-js`. Default value: `cache-img-css-js`\n"},"cookieRules":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteCookieRule:ProfileRewriteCookieRule"},"description":"Specifies the cookie rewrite rules. Block type. Each request is block type with following arguments.\n"},"crlFile":{"type":"string","description":"Specifies a CRL against which to verify signed Java applets signature certificates. The default option is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied \u003cspan pulumi-lang-nodejs=\"`rewrite`\" pulumi-lang-dotnet=\"`Rewrite`\" pulumi-lang-go=\"`rewrite`\" pulumi-lang-python=\"`rewrite`\" pulumi-lang-yaml=\"`rewrite`\" pulumi-lang-java=\"`rewrite`\"\u003e`rewrite`\u003c/span\u003e profile.\n"},"name":{"type":"string","description":"Name of the rewrite profile. ( profile name should be in full path which is combination of partition and profile name )\n"},"requests":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteRequest:ProfileRewriteRequest"},"description":"Block type. Each request is block type with following arguments.\n"},"responses":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteResponse:ProfileRewriteResponse"},"description":"Block type. Each request is block type with following arguments.\n"},"rewriteLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of URIs to rewrite inside a web page when the page is accessed using Portal Access.\n"},"rewriteMode":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `portal, uri-translation`\n"},"signingCert":{"type":"string","description":"Specifies a certificate to use for re-signing of signed Java applets after patching. (name should be in full path which is combination of partition and certificate name )\n"},"signingKey":{"type":"string","description":"Specifies a certificate to use for re-signing of signed Java applets after patching. (name should be in full path which is combination of partition and key name )\n"},"signingKeyPassword":{"type":"string","description":"Specifies a pass phrase to use for encrypting the private signing key. Since it's a sensitive entity idempotency will fail in the update call.\n","secret":true},"splitTunneling":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `true, false`\n"}},"required":["caFile","name","requests","responses","rewriteMode","signingCert","signingKey","signingKeyPassword","splitTunneling"],"inputProperties":{"bypassLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of URIs to bypass inside a web page when the page is accessed using Portal Access.\n"},"caFile":{"type":"string","description":"Specifies a CA against which to verify signed Java applets signatures. (name should be in full path which is combination of partition and CA file name )\n"},"cacheType":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `cache-css-js, cache-all, no-cache, cache-img-css-js`. Default value: `cache-img-css-js`\n"},"cookieRules":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteCookieRule:ProfileRewriteCookieRule"},"description":"Specifies the cookie rewrite rules. Block type. Each request is block type with following arguments.\n"},"crlFile":{"type":"string","description":"Specifies a CRL against which to verify signed Java applets signature certificates. The default option is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied \u003cspan pulumi-lang-nodejs=\"`rewrite`\" pulumi-lang-dotnet=\"`Rewrite`\" pulumi-lang-go=\"`rewrite`\" pulumi-lang-python=\"`rewrite`\" pulumi-lang-yaml=\"`rewrite`\" pulumi-lang-java=\"`rewrite`\"\u003e`rewrite`\u003c/span\u003e profile.\n"},"name":{"type":"string","description":"Name of the rewrite profile. ( profile name should be in full path which is combination of partition and profile name )\n"},"requests":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteRequest:ProfileRewriteRequest"},"description":"Block type. Each request is block type with following arguments.\n"},"responses":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteResponse:ProfileRewriteResponse"},"description":"Block type. Each request is block type with following arguments.\n"},"rewriteLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of URIs to rewrite inside a web page when the page is accessed using Portal Access.\n"},"rewriteMode":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `portal, uri-translation`\n"},"signingCert":{"type":"string","description":"Specifies a certificate to use for re-signing of signed Java applets after patching. (name should be in full path which is combination of partition and certificate name )\n"},"signingKey":{"type":"string","description":"Specifies a certificate to use for re-signing of signed Java applets after patching. (name should be in full path which is combination of partition and key name )\n"},"signingKeyPassword":{"type":"string","description":"Specifies a pass phrase to use for encrypting the private signing key. Since it's a sensitive entity idempotency will fail in the update call.\n","secret":true},"splitTunneling":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `true, false`\n"}},"requiredInputs":["name","rewriteMode"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileRewrite resources.\n","properties":{"bypassLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of URIs to bypass inside a web page when the page is accessed using Portal Access.\n"},"caFile":{"type":"string","description":"Specifies a CA against which to verify signed Java applets signatures. (name should be in full path which is combination of partition and CA file name )\n"},"cacheType":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `cache-css-js, cache-all, no-cache, cache-img-css-js`. Default value: `cache-img-css-js`\n"},"cookieRules":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteCookieRule:ProfileRewriteCookieRule"},"description":"Specifies the cookie rewrite rules. Block type. Each request is block type with following arguments.\n"},"crlFile":{"type":"string","description":"Specifies a CRL against which to verify signed Java applets signature certificates. The default option is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied \u003cspan pulumi-lang-nodejs=\"`rewrite`\" pulumi-lang-dotnet=\"`Rewrite`\" pulumi-lang-go=\"`rewrite`\" pulumi-lang-python=\"`rewrite`\" pulumi-lang-yaml=\"`rewrite`\" pulumi-lang-java=\"`rewrite`\"\u003e`rewrite`\u003c/span\u003e profile.\n"},"name":{"type":"string","description":"Name of the rewrite profile. ( profile name should be in full path which is combination of partition and profile name )\n"},"requests":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteRequest:ProfileRewriteRequest"},"description":"Block type. Each request is block type with following arguments.\n"},"responses":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteResponse:ProfileRewriteResponse"},"description":"Block type. Each request is block type with following arguments.\n"},"rewriteLists":{"type":"array","items":{"type":"string"},"description":"Specifies a list of URIs to rewrite inside a web page when the page is accessed using Portal Access.\n"},"rewriteMode":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `portal, uri-translation`\n"},"signingCert":{"type":"string","description":"Specifies a certificate to use for re-signing of signed Java applets after patching. (name should be in full path which is combination of partition and certificate name )\n"},"signingKey":{"type":"string","description":"Specifies a certificate to use for re-signing of signed Java applets after patching. (name should be in full path which is combination of partition and key name )\n"},"signingKeyPassword":{"type":"string","description":"Specifies a pass phrase to use for encrypting the private signing key. Since it's a sensitive entity idempotency will fail in the update call.\n","secret":true},"splitTunneling":{"type":"string","description":"Specifies the type of Client caching. Valid choices are: `true, false`\n"}},"type":"object"}},"f5bigip:ltm/profileRewriteUriRules:ProfileRewriteUriRules":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileRewriteUriRules`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileRewriteUriRules`\" pulumi-lang-go=\"`ltm.ProfileRewriteUriRules`\" pulumi-lang-python=\"`ltm.ProfileRewriteUriRules`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileRewriteUriRules`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileRewriteUriRules`\"\u003e`f5bigip.ltm.ProfileRewriteUriRules`\u003c/span\u003e Configures uri rewrite rules attached to the ltm rewrite profile\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst tftest = new f5bigip.ltm.ProfileRewrite(\"tftest\", {\n    name: \"/Common/tf_profile\",\n    defaultsFrom: \"/Common/rewrite\",\n    rewriteMode: \"uri-translation\",\n});\nconst tftestrule1 = new f5bigip.ltm.ProfileRewriteUriRules(\"tftestrule1\", {\n    profileName: tftest.name,\n    ruleName: \"tf_rule\",\n    ruleType: \"request\",\n    clients: [{\n        host: \"www.foo.com\",\n        scheme: \"https\",\n    }],\n    servers: [{\n        host: \"www.bar.com\",\n        path: \"/this/\",\n        scheme: \"https\",\n        port: \"8888\",\n    }],\n});\nconst tftestrule2 = new f5bigip.ltm.ProfileRewriteUriRules(\"tftestrule2\", {\n    profileName: tftest.name,\n    ruleName: \"tf_rule2\",\n    clients: [{\n        host: \"www.baz.com\",\n        path: \"/that/\",\n        scheme: \"ftp\",\n        port: \"8888\",\n    }],\n    servers: [{\n        host: \"www.buz.com\",\n        path: \"/those/\",\n        scheme: \"ftps\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntftest = f5bigip.ltm.ProfileRewrite(\"tftest\",\n    name=\"/Common/tf_profile\",\n    defaults_from=\"/Common/rewrite\",\n    rewrite_mode=\"uri-translation\")\ntftestrule1 = f5bigip.ltm.ProfileRewriteUriRules(\"tftestrule1\",\n    profile_name=tftest.name,\n    rule_name=\"tf_rule\",\n    rule_type=\"request\",\n    clients=[{\n        \"host\": \"www.foo.com\",\n        \"scheme\": \"https\",\n    }],\n    servers=[{\n        \"host\": \"www.bar.com\",\n        \"path\": \"/this/\",\n        \"scheme\": \"https\",\n        \"port\": \"8888\",\n    }])\ntftestrule2 = f5bigip.ltm.ProfileRewriteUriRules(\"tftestrule2\",\n    profile_name=tftest.name,\n    rule_name=\"tf_rule2\",\n    clients=[{\n        \"host\": \"www.baz.com\",\n        \"path\": \"/that/\",\n        \"scheme\": \"ftp\",\n        \"port\": \"8888\",\n    }],\n    servers=[{\n        \"host\": \"www.buz.com\",\n        \"path\": \"/those/\",\n        \"scheme\": \"ftps\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tftest = new F5BigIP.Ltm.ProfileRewrite(\"tftest\", new()\n    {\n        Name = \"/Common/tf_profile\",\n        DefaultsFrom = \"/Common/rewrite\",\n        RewriteMode = \"uri-translation\",\n    });\n\n    var tftestrule1 = new F5BigIP.Ltm.ProfileRewriteUriRules(\"tftestrule1\", new()\n    {\n        ProfileName = tftest.Name,\n        RuleName = \"tf_rule\",\n        RuleType = \"request\",\n        Clients = new[]\n        {\n            new F5BigIP.Ltm.Inputs.ProfileRewriteUriRulesClientArgs\n            {\n                Host = \"www.foo.com\",\n                Scheme = \"https\",\n            },\n        },\n        Servers = new[]\n        {\n            new F5BigIP.Ltm.Inputs.ProfileRewriteUriRulesServerArgs\n            {\n                Host = \"www.bar.com\",\n                Path = \"/this/\",\n                Scheme = \"https\",\n                Port = \"8888\",\n            },\n        },\n    });\n\n    var tftestrule2 = new F5BigIP.Ltm.ProfileRewriteUriRules(\"tftestrule2\", new()\n    {\n        ProfileName = tftest.Name,\n        RuleName = \"tf_rule2\",\n        Clients = new[]\n        {\n            new F5BigIP.Ltm.Inputs.ProfileRewriteUriRulesClientArgs\n            {\n                Host = \"www.baz.com\",\n                Path = \"/that/\",\n                Scheme = \"ftp\",\n                Port = \"8888\",\n            },\n        },\n        Servers = new[]\n        {\n            new F5BigIP.Ltm.Inputs.ProfileRewriteUriRulesServerArgs\n            {\n                Host = \"www.buz.com\",\n                Path = \"/those/\",\n                Scheme = \"ftps\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttftest, err := ltm.NewProfileRewrite(ctx, \"tftest\", \u0026ltm.ProfileRewriteArgs{\n\t\t\tName:         pulumi.String(\"/Common/tf_profile\"),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/rewrite\"),\n\t\t\tRewriteMode:  pulumi.String(\"uri-translation\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewProfileRewriteUriRules(ctx, \"tftestrule1\", \u0026ltm.ProfileRewriteUriRulesArgs{\n\t\t\tProfileName: tftest.Name,\n\t\t\tRuleName:    pulumi.String(\"tf_rule\"),\n\t\t\tRuleType:    pulumi.String(\"request\"),\n\t\t\tClients: ltm.ProfileRewriteUriRulesClientArray{\n\t\t\t\t\u0026ltm.ProfileRewriteUriRulesClientArgs{\n\t\t\t\t\tHost:   pulumi.String(\"www.foo.com\"),\n\t\t\t\t\tScheme: pulumi.String(\"https\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServers: ltm.ProfileRewriteUriRulesServerArray{\n\t\t\t\t\u0026ltm.ProfileRewriteUriRulesServerArgs{\n\t\t\t\t\tHost:   pulumi.String(\"www.bar.com\"),\n\t\t\t\t\tPath:   pulumi.String(\"/this/\"),\n\t\t\t\t\tScheme: pulumi.String(\"https\"),\n\t\t\t\t\tPort:   pulumi.String(\"8888\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ltm.NewProfileRewriteUriRules(ctx, \"tftestrule2\", \u0026ltm.ProfileRewriteUriRulesArgs{\n\t\t\tProfileName: tftest.Name,\n\t\t\tRuleName:    pulumi.String(\"tf_rule2\"),\n\t\t\tClients: ltm.ProfileRewriteUriRulesClientArray{\n\t\t\t\t\u0026ltm.ProfileRewriteUriRulesClientArgs{\n\t\t\t\t\tHost:   pulumi.String(\"www.baz.com\"),\n\t\t\t\t\tPath:   pulumi.String(\"/that/\"),\n\t\t\t\t\tScheme: pulumi.String(\"ftp\"),\n\t\t\t\t\tPort:   pulumi.String(\"8888\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServers: ltm.ProfileRewriteUriRulesServerArray{\n\t\t\t\t\u0026ltm.ProfileRewriteUriRulesServerArgs{\n\t\t\t\t\tHost:   pulumi.String(\"www.buz.com\"),\n\t\t\t\t\tPath:   pulumi.String(\"/those/\"),\n\t\t\t\t\tScheme: pulumi.String(\"ftps\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileRewrite;\nimport com.pulumi.f5bigip.ltm.ProfileRewriteArgs;\nimport com.pulumi.f5bigip.ltm.ProfileRewriteUriRules;\nimport com.pulumi.f5bigip.ltm.ProfileRewriteUriRulesArgs;\nimport com.pulumi.f5bigip.ltm.inputs.ProfileRewriteUriRulesClientArgs;\nimport com.pulumi.f5bigip.ltm.inputs.ProfileRewriteUriRulesServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var tftest = new ProfileRewrite(\"tftest\", ProfileRewriteArgs.builder()\n            .name(\"/Common/tf_profile\")\n            .defaultsFrom(\"/Common/rewrite\")\n            .rewriteMode(\"uri-translation\")\n            .build());\n\n        var tftestrule1 = new ProfileRewriteUriRules(\"tftestrule1\", ProfileRewriteUriRulesArgs.builder()\n            .profileName(tftest.name())\n            .ruleName(\"tf_rule\")\n            .ruleType(\"request\")\n            .clients(ProfileRewriteUriRulesClientArgs.builder()\n                .host(\"www.foo.com\")\n                .scheme(\"https\")\n                .build())\n            .servers(ProfileRewriteUriRulesServerArgs.builder()\n                .host(\"www.bar.com\")\n                .path(\"/this/\")\n                .scheme(\"https\")\n                .port(\"8888\")\n                .build())\n            .build());\n\n        var tftestrule2 = new ProfileRewriteUriRules(\"tftestrule2\", ProfileRewriteUriRulesArgs.builder()\n            .profileName(tftest.name())\n            .ruleName(\"tf_rule2\")\n            .clients(ProfileRewriteUriRulesClientArgs.builder()\n                .host(\"www.baz.com\")\n                .path(\"/that/\")\n                .scheme(\"ftp\")\n                .port(\"8888\")\n                .build())\n            .servers(ProfileRewriteUriRulesServerArgs.builder()\n                .host(\"www.buz.com\")\n                .path(\"/those/\")\n                .scheme(\"ftps\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tftest:\n    type: f5bigip:ltm:ProfileRewrite\n    properties:\n      name: /Common/tf_profile\n      defaultsFrom: /Common/rewrite\n      rewriteMode: uri-translation\n  tftestrule1:\n    type: f5bigip:ltm:ProfileRewriteUriRules\n    properties:\n      profileName: ${tftest.name}\n      ruleName: tf_rule\n      ruleType: request\n      clients:\n        - host: www.foo.com\n          scheme: https\n      servers:\n        - host: www.bar.com\n          path: /this/\n          scheme: https\n          port: '8888'\n  tftestrule2:\n    type: f5bigip:ltm:ProfileRewriteUriRules\n    properties:\n      profileName: ${tftest.name}\n      ruleName: tf_rule2\n      clients:\n        - host: www.baz.com\n          path: /that/\n          scheme: ftp\n          port: '8888'\n      servers:\n        - host: www.buz.com\n          path: /those/\n          scheme: ftps\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"clients":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteUriRulesClient:ProfileRewriteUriRulesClient"},"description":"Block type. Each request is block type with following arguments.\n"},"profileName":{"type":"string","description":"Name of the rewrite profile. ( policy name should be in full path which is combination of partition and policy name )\n"},"ruleName":{"type":"string","description":"Specifies the name of the uri rule.\n"},"ruleType":{"type":"string","description":"Specifies the type of the uri rule. Valid choices are: `request, response, both`. Default value is: \u003cspan pulumi-lang-nodejs=\"`both`\" pulumi-lang-dotnet=\"`Both`\" pulumi-lang-go=\"`both`\" pulumi-lang-python=\"`both`\" pulumi-lang-yaml=\"`both`\" pulumi-lang-java=\"`both`\"\u003e`both`\u003c/span\u003e\n"},"servers":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteUriRulesServer:ProfileRewriteUriRulesServer"},"description":"Block type. Each request is block type with following arguments.\n"}},"required":["clients","profileName","ruleName","servers"],"inputProperties":{"clients":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteUriRulesClient:ProfileRewriteUriRulesClient"},"description":"Block type. Each request is block type with following arguments.\n"},"profileName":{"type":"string","description":"Name of the rewrite profile. ( policy name should be in full path which is combination of partition and policy name )\n","willReplaceOnChanges":true},"ruleName":{"type":"string","description":"Specifies the name of the uri rule.\n","willReplaceOnChanges":true},"ruleType":{"type":"string","description":"Specifies the type of the uri rule. Valid choices are: `request, response, both`. Default value is: \u003cspan pulumi-lang-nodejs=\"`both`\" pulumi-lang-dotnet=\"`Both`\" pulumi-lang-go=\"`both`\" pulumi-lang-python=\"`both`\" pulumi-lang-yaml=\"`both`\" pulumi-lang-java=\"`both`\"\u003e`both`\u003c/span\u003e\n"},"servers":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteUriRulesServer:ProfileRewriteUriRulesServer"},"description":"Block type. Each request is block type with following arguments.\n"}},"requiredInputs":["clients","profileName","ruleName","servers"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileRewriteUriRules resources.\n","properties":{"clients":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteUriRulesClient:ProfileRewriteUriRulesClient"},"description":"Block type. Each request is block type with following arguments.\n"},"profileName":{"type":"string","description":"Name of the rewrite profile. ( policy name should be in full path which is combination of partition and policy name )\n","willReplaceOnChanges":true},"ruleName":{"type":"string","description":"Specifies the name of the uri rule.\n","willReplaceOnChanges":true},"ruleType":{"type":"string","description":"Specifies the type of the uri rule. Valid choices are: `request, response, both`. Default value is: \u003cspan pulumi-lang-nodejs=\"`both`\" pulumi-lang-dotnet=\"`Both`\" pulumi-lang-go=\"`both`\" pulumi-lang-python=\"`both`\" pulumi-lang-yaml=\"`both`\" pulumi-lang-java=\"`both`\"\u003e`both`\u003c/span\u003e\n"},"servers":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/ProfileRewriteUriRulesServer:ProfileRewriteUriRulesServer"},"description":"Block type. Each request is block type with following arguments.\n"}},"type":"object"}},"f5bigip:ltm/profileServerSsl:ProfileServerSsl":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileServerSsl`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileServerSsl`\" pulumi-lang-go=\"`ltm.ProfileServerSsl`\" pulumi-lang-python=\"`ltm.ProfileServerSsl`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileServerSsl`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileServerSsl`\"\u003e`f5bigip.ltm.ProfileServerSsl`\u003c/span\u003e Manages server SSL profiles on a BIG-IP\n\nResources should be named with their \"full path\". The full path is the combination of the partition + name (example: /Common/my-pool ) or  partition + directory + name of the resource  (example: /Common/test/my-pool )\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_ServerSsl = new f5bigip.ltm.ProfileServerSsl(\"test-ServerSsl\", {\n    name: \"/Common/test-ServerSsl\",\n    defaultsFrom: \"/Common/serverssl\",\n    authenticate: \"always\",\n    ciphers: \"DEFAULT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest__server_ssl = f5bigip.ltm.ProfileServerSsl(\"test-ServerSsl\",\n    name=\"/Common/test-ServerSsl\",\n    defaults_from=\"/Common/serverssl\",\n    authenticate=\"always\",\n    ciphers=\"DEFAULT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_ServerSsl = new F5BigIP.Ltm.ProfileServerSsl(\"test-ServerSsl\", new()\n    {\n        Name = \"/Common/test-ServerSsl\",\n        DefaultsFrom = \"/Common/serverssl\",\n        Authenticate = \"always\",\n        Ciphers = \"DEFAULT\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileServerSsl(ctx, \"test-ServerSsl\", \u0026ltm.ProfileServerSslArgs{\n\t\t\tName:         pulumi.String(\"/Common/test-ServerSsl\"),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/serverssl\"),\n\t\t\tAuthenticate: pulumi.String(\"always\"),\n\t\t\tCiphers:      pulumi.String(\"DEFAULT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileServerSsl;\nimport com.pulumi.f5bigip.ltm.ProfileServerSslArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_ServerSsl = new ProfileServerSsl(\"test-ServerSsl\", ProfileServerSslArgs.builder()\n            .name(\"/Common/test-ServerSsl\")\n            .defaultsFrom(\"/Common/serverssl\")\n            .authenticate(\"always\")\n            .ciphers(\"DEFAULT\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-ServerSsl:\n    type: f5bigip:ltm:ProfileServerSsl\n    properties:\n      name: /Common/test-ServerSsl\n      defaultsFrom: /Common/serverssl\n      authenticate: always\n      ciphers: DEFAULT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing server-ssl profile can be imported into this resource by supplying server-ssl profile Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_profile_server_ssl.test-ServerSsl-import /Common/test-ServerSsl\n\n```\n","properties":{"alertTimeout":{"type":"string","description":"Alert time out"},"authenticate":{"type":"string","description":"Specifies the frequency of server authentication for an SSL session.When \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e,specifies that the system authenticates the server once for an SSL session.\nWhen \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, specifies that the system authenticates the server once for an SSL session and also upon reuse of that session.\n"},"authenticateDepth":{"type":"integer","description":"Client certificate chain traversal depth.  Default 9."},"c3dCaCert":{"type":"string","description":"Specifies the name of the certificate file that is used as the certification authority certificate when SSL client certificate constrained delegation is enabled. The certificate should be generated and installed by you on the system. When selecting this option, type a certificate file name.\n"},"c3dCaKey":{"type":"string","description":"Specifies the name of the key file that is used as the certification authority key when SSL client certificate constrained delegation is enabled. The key should be generated and installed by you on the system. When selecting this option, type a key file name.\n\n* `c3d-ca-passphrase` (Optional) Specifies the passphrase of the key file that is used as the certification authority key when SSL client certificate constrained delegation is enabled. When selecting this option, type the passphrase corresponding to the selected c3d-ca-key.\n\n* `c3d-cert-extension-custom-oids` (Optional) Specifies the custom extension OID of the client certificates to be included in the generated certificates using SSL client certificate constrained delegation.\n"},"c3dCaPassphrase":{"type":"string","description":"CA Passphrase. Default"},"c3dCertExtensionCustomOids":{"type":"array","items":{"type":"string"},"description":"Certificate Extensions List.  Default"},"c3dCertExtensionIncludes":{"type":"array","items":{"type":"string"},"description":"Specifies the extensions of the client certificates to be included in the generated certificates using SSL client certificate constrained delegation. For example, { basic-constraints }. The default value is { basic-constraints extended-key-usage key-usage subject-alternative-name }. The extensions are:\n\nbasic-constraints\nBasic constraints are used to indicate whether the certificate belongs\nto a CA.\n\nextended-key-usage\nExtended Key Usage is used, typically on a leaf certificate, to\nindicate the purpose of the public key contained in the certificate.\n\nkey-usage\nKey Usage provides a bitmap specifying the cryptographic operations\nwhich may be performed using the public key contained in the\ncertificate; for example, it could indicate that the key should be\nused for signature but not for encipherment.\n\nsubject-alternative-name\nSubject Alternative Name allows identities to be bound to the subject\nof the certificate. These identities may be included in addition to\nor in place of the identity in the subject field of the certificate.\n\n* `c3d-cert-lifespan` Specifies the lifespan of the certificate generated using the SSL client certificate constrained delegation. The default value is 24.\n"},"c3dCertLifespan":{"type":"integer","description":"Certificate Lifespan.  Default"},"c3dCertificateExtensions":{"type":"string","description":"CA Passphrase. Default enabled"},"caFile":{"type":"string","description":"Client certificate file path.  Default None."},"cacheSize":{"type":"integer","description":"Cache size (sessions)."},"cacheTimeout":{"type":"integer","description":"Cache time out"},"cert":{"type":"string","description":"Specifies the name of the certificate that the system uses for server-side SSL processing.\n"},"chain":{"type":"string","description":"Specifies the certificates-key chain to associate with the SSL profile\n"},"cipherGroup":{"type":"string","description":"Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, \u003cspan pulumi-lang-nodejs=\"`ciphers`\" pulumi-lang-dotnet=\"`Ciphers`\" pulumi-lang-go=\"`ciphers`\" pulumi-lang-python=\"`ciphers`\" pulumi-lang-yaml=\"`ciphers`\" pulumi-lang-java=\"`ciphers`\"\u003e`ciphers`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"ciphers":{"type":"string","description":"Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile.\n"},"defaultsFrom":{"type":"string","description":"The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`.\n"},"expireCertResponseControl":{"type":"string","description":"Response if the cert is expired (drop / ignore)."},"fullPath":{"type":"string","description":"full path of the profile"},"generation":{"type":"integer","description":"generation"},"genericAlert":{"type":"string","description":"Generic alerts enabled / disabled."},"handshakeTimeout":{"type":"string","description":"Handshake time out (seconds)"},"key":{"type":"string","description":"Specifies the file name of the SSL key.\n"},"modSslMethods":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"mode":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"name":{"type":"string","description":"Specifies the name of the profile.Name of Profile should be full path,full path is the combination of the `partition + profile name`. For example `/Common/test-serverssl-profile`.\n"},"partition":{"type":"string","description":"name of partition"},"passphrase":{"type":"string","description":"Client Certificate Constrained Delegation CA passphrase","secret":true},"peerCertMode":{"type":"string","description":"Specifies the way the system handles client certificates.When ignore, specifies that the system ignores certificates from client systems.When require, specifies that the system requires a client to present a valid certificate.When request, specifies that the system requests a valid certificate from a client but always authenticate the client.\n"},"proxyCaCert":{"type":"string","description":"Proxy CA Cert"},"proxyCaKey":{"type":"string","description":"Proxy CA Key"},"proxySsl":{"type":"string","description":"Proxy SSL enabled / disabled.  Default is disabled."},"renegotiatePeriod":{"type":"string","description":"Renogotiate Period (seconds)"},"renegotiateSize":{"type":"string","description":"Renogotiate Size"},"renegotiation":{"type":"string","description":"Enables or disables SSL renegotiation.When creating a new profile, the setting is provided by the parent profile\n"},"retainCertificate":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, client certificate is retained in SSL session.\n"},"secureRenegotiation":{"type":"string","description":"Specifies the method of secure renegotiations for SSL connections. When creating a new profile, the setting is provided by the parent profile.\nWhen \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e is set the system request secure renegotation of SSL connections.\n\u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e is a default setting and when set the system permits initial SSL handshakes from clients but terminates renegotiations from unpatched clients.\nThe `require-strict` setting the system requires strict renegotiation of SSL connections. In this mode the system refuses connections to insecure servers, and terminates existing SSL connections to insecure servers\n"},"serverName":{"type":"string","description":"Specifies the fully qualified DNS hostname of the server used in Server Name Indication communications. When creating a new profile, the setting is provided by the parent profile.The server name can also be a wildcard string containing the asterisk `*` character.\n"},"sessionMirroring":{"type":"string","description":"Session Mirroring (enabled / disabled)"},"sessionTicket":{"type":"string","description":"Session Ticket (enabled / disabled)"},"sniDefault":{"type":"string","description":"Indicates that the system uses this profile as the default SSL profile when there is no match to the server name, or when the client provides no SNI extension support.When creating a new profile, the setting is provided by the parent profile.\nThere can be only one SSL profile with this setting enabled.\n"},"sniRequire":{"type":"string","description":"Requires that the network peers also provide SNI support, this setting only takes effect when \u003cspan pulumi-lang-nodejs=\"`sniDefault`\" pulumi-lang-dotnet=\"`SniDefault`\" pulumi-lang-go=\"`sniDefault`\" pulumi-lang-python=\"`sni_default`\" pulumi-lang-yaml=\"`sniDefault`\" pulumi-lang-java=\"`sniDefault`\"\u003e`sni_default`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.When creating a new profile, the setting is provided by the parent profile\n"},"sslC3d":{"type":"string","description":"Enables or disables SSL forward proxy bypass on receiving\nhandshake_failure,\u003cspan pulumi-lang-nodejs=\" protocolVersion \" pulumi-lang-dotnet=\" ProtocolVersion \" pulumi-lang-go=\" protocolVersion \" pulumi-lang-python=\" protocol_version \" pulumi-lang-yaml=\" protocolVersion \" pulumi-lang-java=\" protocolVersion \"\u003e protocol_version \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" unsupportedExtension \" pulumi-lang-dotnet=\" UnsupportedExtension \" pulumi-lang-go=\" unsupportedExtension \" pulumi-lang-python=\" unsupported_extension \" pulumi-lang-yaml=\" unsupportedExtension \" pulumi-lang-java=\" unsupportedExtension \"\u003e unsupported_extension \u003c/span\u003ealert message during the serverside SSL handshake. When enabled and there is an SSL handshake_failure,\u003cspan pulumi-lang-nodejs=\" protocolVersion \" pulumi-lang-dotnet=\" ProtocolVersion \" pulumi-lang-go=\" protocolVersion \" pulumi-lang-python=\" protocol_version \" pulumi-lang-yaml=\" protocolVersion \" pulumi-lang-java=\" protocolVersion \"\u003e protocol_version \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" unsupportedExtension \" pulumi-lang-dotnet=\" UnsupportedExtension \" pulumi-lang-go=\" unsupportedExtension \" pulumi-lang-python=\" unsupported_extension \" pulumi-lang-yaml=\" unsupportedExtension \" pulumi-lang-java=\" unsupportedExtension \"\u003e unsupported_extension \u003c/span\u003ealert during the serverside SSL handshake, SSL traffic bypasses the BIG-IP system untouched, without decryption/encryption. The default value is disabled. Conversely, you can specify enabled to use this feature.\n"},"sslForwardProxy":{"type":"string","description":"Specifies whether SSL forward proxy feature is enabled or not. The default value is disabled.\n"},"sslForwardProxyBypass":{"type":"string","description":"Specifies whether SSL forward proxy bypass feature is enabled or not. The default value is disabled.\n"},"sslSignHash":{"type":"string","description":"SSL sign hash (any, sha1, sha256, sha384)"},"strictResume":{"type":"string","description":"Enables or disables the resumption of SSL sessions after an unclean shutdown.When creating a new profile, the setting is provided by the parent profile.\n"},"tmOptions":{"type":"array","items":{"type":"string"},"description":"List of Enabled selection from a set of industry standard options for handling SSL processing.By default,\nDon't insert empty fragments and No TLSv1.3 are listed as Enabled Options. `Usage` :\u003cspan pulumi-lang-nodejs=\" tmOptions \" pulumi-lang-dotnet=\" TmOptions \" pulumi-lang-go=\" tmOptions \" pulumi-lang-python=\" tm_options \" pulumi-lang-yaml=\" tmOptions \" pulumi-lang-java=\" tmOptions \"\u003e tm_options \u003c/span\u003e   = [\"dont-insert-empty-fragments\",\"no-tlsv1.3\"]\n"},"uncleanShutdown":{"type":"string","description":"Unclean Shutdown (enabled / disabled)"},"untrustedCertResponseControl":{"type":"string","description":"Unclean Shutdown (drop / ignore)"}},"required":["alertTimeout","authenticate","authenticateDepth","c3dCaPassphrase","c3dCertLifespan","c3dCertificateExtensions","caFile","cacheSize","cacheTimeout","ciphers","expireCertResponseControl","fullPath","generation","genericAlert","handshakeTimeout","modSslMethods","mode","name","partition","passphrase","peerCertMode","proxyCaCert","proxyCaKey","proxySsl","renegotiatePeriod","renegotiateSize","renegotiation","retainCertificate","secureRenegotiation","serverName","sessionMirroring","sessionTicket","sniDefault","sniRequire","sslForwardProxy","sslForwardProxyBypass","sslSignHash","strictResume","tmOptions","uncleanShutdown","untrustedCertResponseControl"],"inputProperties":{"alertTimeout":{"type":"string","description":"Alert time out"},"authenticate":{"type":"string","description":"Specifies the frequency of server authentication for an SSL session.When \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e,specifies that the system authenticates the server once for an SSL session.\nWhen \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, specifies that the system authenticates the server once for an SSL session and also upon reuse of that session.\n"},"authenticateDepth":{"type":"integer","description":"Client certificate chain traversal depth.  Default 9."},"c3dCaCert":{"type":"string","description":"Specifies the name of the certificate file that is used as the certification authority certificate when SSL client certificate constrained delegation is enabled. The certificate should be generated and installed by you on the system. When selecting this option, type a certificate file name.\n"},"c3dCaKey":{"type":"string","description":"Specifies the name of the key file that is used as the certification authority key when SSL client certificate constrained delegation is enabled. The key should be generated and installed by you on the system. When selecting this option, type a key file name.\n\n* `c3d-ca-passphrase` (Optional) Specifies the passphrase of the key file that is used as the certification authority key when SSL client certificate constrained delegation is enabled. When selecting this option, type the passphrase corresponding to the selected c3d-ca-key.\n\n* `c3d-cert-extension-custom-oids` (Optional) Specifies the custom extension OID of the client certificates to be included in the generated certificates using SSL client certificate constrained delegation.\n"},"c3dCaPassphrase":{"type":"string","description":"CA Passphrase. Default"},"c3dCertExtensionCustomOids":{"type":"array","items":{"type":"string"},"description":"Certificate Extensions List.  Default"},"c3dCertExtensionIncludes":{"type":"array","items":{"type":"string"},"description":"Specifies the extensions of the client certificates to be included in the generated certificates using SSL client certificate constrained delegation. For example, { basic-constraints }. The default value is { basic-constraints extended-key-usage key-usage subject-alternative-name }. The extensions are:\n\nbasic-constraints\nBasic constraints are used to indicate whether the certificate belongs\nto a CA.\n\nextended-key-usage\nExtended Key Usage is used, typically on a leaf certificate, to\nindicate the purpose of the public key contained in the certificate.\n\nkey-usage\nKey Usage provides a bitmap specifying the cryptographic operations\nwhich may be performed using the public key contained in the\ncertificate; for example, it could indicate that the key should be\nused for signature but not for encipherment.\n\nsubject-alternative-name\nSubject Alternative Name allows identities to be bound to the subject\nof the certificate. These identities may be included in addition to\nor in place of the identity in the subject field of the certificate.\n\n* `c3d-cert-lifespan` Specifies the lifespan of the certificate generated using the SSL client certificate constrained delegation. The default value is 24.\n"},"c3dCertLifespan":{"type":"integer","description":"Certificate Lifespan.  Default"},"c3dCertificateExtensions":{"type":"string","description":"CA Passphrase. Default enabled"},"caFile":{"type":"string","description":"Client certificate file path.  Default None."},"cacheSize":{"type":"integer","description":"Cache size (sessions)."},"cacheTimeout":{"type":"integer","description":"Cache time out"},"cert":{"type":"string","description":"Specifies the name of the certificate that the system uses for server-side SSL processing.\n"},"chain":{"type":"string","description":"Specifies the certificates-key chain to associate with the SSL profile\n"},"cipherGroup":{"type":"string","description":"Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, \u003cspan pulumi-lang-nodejs=\"`ciphers`\" pulumi-lang-dotnet=\"`Ciphers`\" pulumi-lang-go=\"`ciphers`\" pulumi-lang-python=\"`ciphers`\" pulumi-lang-yaml=\"`ciphers`\" pulumi-lang-java=\"`ciphers`\"\u003e`ciphers`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"ciphers":{"type":"string","description":"Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile.\n"},"defaultsFrom":{"type":"string","description":"The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`.\n"},"expireCertResponseControl":{"type":"string","description":"Response if the cert is expired (drop / ignore)."},"fullPath":{"type":"string","description":"full path of the profile"},"generation":{"type":"integer","description":"generation"},"genericAlert":{"type":"string","description":"Generic alerts enabled / disabled."},"handshakeTimeout":{"type":"string","description":"Handshake time out (seconds)"},"key":{"type":"string","description":"Specifies the file name of the SSL key.\n"},"modSslMethods":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"mode":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"name":{"type":"string","description":"Specifies the name of the profile.Name of Profile should be full path,full path is the combination of the `partition + profile name`. For example `/Common/test-serverssl-profile`.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"name of partition"},"passphrase":{"type":"string","description":"Client Certificate Constrained Delegation CA passphrase","secret":true},"peerCertMode":{"type":"string","description":"Specifies the way the system handles client certificates.When ignore, specifies that the system ignores certificates from client systems.When require, specifies that the system requires a client to present a valid certificate.When request, specifies that the system requests a valid certificate from a client but always authenticate the client.\n"},"proxyCaCert":{"type":"string","description":"Proxy CA Cert"},"proxyCaKey":{"type":"string","description":"Proxy CA Key"},"proxySsl":{"type":"string","description":"Proxy SSL enabled / disabled.  Default is disabled."},"renegotiatePeriod":{"type":"string","description":"Renogotiate Period (seconds)"},"renegotiateSize":{"type":"string","description":"Renogotiate Size"},"renegotiation":{"type":"string","description":"Enables or disables SSL renegotiation.When creating a new profile, the setting is provided by the parent profile\n"},"retainCertificate":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, client certificate is retained in SSL session.\n"},"secureRenegotiation":{"type":"string","description":"Specifies the method of secure renegotiations for SSL connections. When creating a new profile, the setting is provided by the parent profile.\nWhen \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e is set the system request secure renegotation of SSL connections.\n\u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e is a default setting and when set the system permits initial SSL handshakes from clients but terminates renegotiations from unpatched clients.\nThe `require-strict` setting the system requires strict renegotiation of SSL connections. In this mode the system refuses connections to insecure servers, and terminates existing SSL connections to insecure servers\n"},"serverName":{"type":"string","description":"Specifies the fully qualified DNS hostname of the server used in Server Name Indication communications. When creating a new profile, the setting is provided by the parent profile.The server name can also be a wildcard string containing the asterisk `*` character.\n"},"sessionMirroring":{"type":"string","description":"Session Mirroring (enabled / disabled)"},"sessionTicket":{"type":"string","description":"Session Ticket (enabled / disabled)"},"sniDefault":{"type":"string","description":"Indicates that the system uses this profile as the default SSL profile when there is no match to the server name, or when the client provides no SNI extension support.When creating a new profile, the setting is provided by the parent profile.\nThere can be only one SSL profile with this setting enabled.\n"},"sniRequire":{"type":"string","description":"Requires that the network peers also provide SNI support, this setting only takes effect when \u003cspan pulumi-lang-nodejs=\"`sniDefault`\" pulumi-lang-dotnet=\"`SniDefault`\" pulumi-lang-go=\"`sniDefault`\" pulumi-lang-python=\"`sni_default`\" pulumi-lang-yaml=\"`sniDefault`\" pulumi-lang-java=\"`sniDefault`\"\u003e`sni_default`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.When creating a new profile, the setting is provided by the parent profile\n"},"sslC3d":{"type":"string","description":"Enables or disables SSL forward proxy bypass on receiving\nhandshake_failure,\u003cspan pulumi-lang-nodejs=\" protocolVersion \" pulumi-lang-dotnet=\" ProtocolVersion \" pulumi-lang-go=\" protocolVersion \" pulumi-lang-python=\" protocol_version \" pulumi-lang-yaml=\" protocolVersion \" pulumi-lang-java=\" protocolVersion \"\u003e protocol_version \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" unsupportedExtension \" pulumi-lang-dotnet=\" UnsupportedExtension \" pulumi-lang-go=\" unsupportedExtension \" pulumi-lang-python=\" unsupported_extension \" pulumi-lang-yaml=\" unsupportedExtension \" pulumi-lang-java=\" unsupportedExtension \"\u003e unsupported_extension \u003c/span\u003ealert message during the serverside SSL handshake. When enabled and there is an SSL handshake_failure,\u003cspan pulumi-lang-nodejs=\" protocolVersion \" pulumi-lang-dotnet=\" ProtocolVersion \" pulumi-lang-go=\" protocolVersion \" pulumi-lang-python=\" protocol_version \" pulumi-lang-yaml=\" protocolVersion \" pulumi-lang-java=\" protocolVersion \"\u003e protocol_version \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" unsupportedExtension \" pulumi-lang-dotnet=\" UnsupportedExtension \" pulumi-lang-go=\" unsupportedExtension \" pulumi-lang-python=\" unsupported_extension \" pulumi-lang-yaml=\" unsupportedExtension \" pulumi-lang-java=\" unsupportedExtension \"\u003e unsupported_extension \u003c/span\u003ealert during the serverside SSL handshake, SSL traffic bypasses the BIG-IP system untouched, without decryption/encryption. The default value is disabled. Conversely, you can specify enabled to use this feature.\n"},"sslForwardProxy":{"type":"string","description":"Specifies whether SSL forward proxy feature is enabled or not. The default value is disabled.\n"},"sslForwardProxyBypass":{"type":"string","description":"Specifies whether SSL forward proxy bypass feature is enabled or not. The default value is disabled.\n"},"sslSignHash":{"type":"string","description":"SSL sign hash (any, sha1, sha256, sha384)"},"strictResume":{"type":"string","description":"Enables or disables the resumption of SSL sessions after an unclean shutdown.When creating a new profile, the setting is provided by the parent profile.\n"},"tmOptions":{"type":"array","items":{"type":"string"},"description":"List of Enabled selection from a set of industry standard options for handling SSL processing.By default,\nDon't insert empty fragments and No TLSv1.3 are listed as Enabled Options. `Usage` :\u003cspan pulumi-lang-nodejs=\" tmOptions \" pulumi-lang-dotnet=\" TmOptions \" pulumi-lang-go=\" tmOptions \" pulumi-lang-python=\" tm_options \" pulumi-lang-yaml=\" tmOptions \" pulumi-lang-java=\" tmOptions \"\u003e tm_options \u003c/span\u003e   = [\"dont-insert-empty-fragments\",\"no-tlsv1.3\"]\n"},"uncleanShutdown":{"type":"string","description":"Unclean Shutdown (enabled / disabled)"},"untrustedCertResponseControl":{"type":"string","description":"Unclean Shutdown (drop / ignore)"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileServerSsl resources.\n","properties":{"alertTimeout":{"type":"string","description":"Alert time out"},"authenticate":{"type":"string","description":"Specifies the frequency of server authentication for an SSL session.When \u003cspan pulumi-lang-nodejs=\"`once`\" pulumi-lang-dotnet=\"`Once`\" pulumi-lang-go=\"`once`\" pulumi-lang-python=\"`once`\" pulumi-lang-yaml=\"`once`\" pulumi-lang-java=\"`once`\"\u003e`once`\u003c/span\u003e,specifies that the system authenticates the server once for an SSL session.\nWhen \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, specifies that the system authenticates the server once for an SSL session and also upon reuse of that session.\n"},"authenticateDepth":{"type":"integer","description":"Client certificate chain traversal depth.  Default 9."},"c3dCaCert":{"type":"string","description":"Specifies the name of the certificate file that is used as the certification authority certificate when SSL client certificate constrained delegation is enabled. The certificate should be generated and installed by you on the system. When selecting this option, type a certificate file name.\n"},"c3dCaKey":{"type":"string","description":"Specifies the name of the key file that is used as the certification authority key when SSL client certificate constrained delegation is enabled. The key should be generated and installed by you on the system. When selecting this option, type a key file name.\n\n* `c3d-ca-passphrase` (Optional) Specifies the passphrase of the key file that is used as the certification authority key when SSL client certificate constrained delegation is enabled. When selecting this option, type the passphrase corresponding to the selected c3d-ca-key.\n\n* `c3d-cert-extension-custom-oids` (Optional) Specifies the custom extension OID of the client certificates to be included in the generated certificates using SSL client certificate constrained delegation.\n"},"c3dCaPassphrase":{"type":"string","description":"CA Passphrase. Default"},"c3dCertExtensionCustomOids":{"type":"array","items":{"type":"string"},"description":"Certificate Extensions List.  Default"},"c3dCertExtensionIncludes":{"type":"array","items":{"type":"string"},"description":"Specifies the extensions of the client certificates to be included in the generated certificates using SSL client certificate constrained delegation. For example, { basic-constraints }. The default value is { basic-constraints extended-key-usage key-usage subject-alternative-name }. The extensions are:\n\nbasic-constraints\nBasic constraints are used to indicate whether the certificate belongs\nto a CA.\n\nextended-key-usage\nExtended Key Usage is used, typically on a leaf certificate, to\nindicate the purpose of the public key contained in the certificate.\n\nkey-usage\nKey Usage provides a bitmap specifying the cryptographic operations\nwhich may be performed using the public key contained in the\ncertificate; for example, it could indicate that the key should be\nused for signature but not for encipherment.\n\nsubject-alternative-name\nSubject Alternative Name allows identities to be bound to the subject\nof the certificate. These identities may be included in addition to\nor in place of the identity in the subject field of the certificate.\n\n* `c3d-cert-lifespan` Specifies the lifespan of the certificate generated using the SSL client certificate constrained delegation. The default value is 24.\n"},"c3dCertLifespan":{"type":"integer","description":"Certificate Lifespan.  Default"},"c3dCertificateExtensions":{"type":"string","description":"CA Passphrase. Default enabled"},"caFile":{"type":"string","description":"Client certificate file path.  Default None."},"cacheSize":{"type":"integer","description":"Cache size (sessions)."},"cacheTimeout":{"type":"integer","description":"Cache time out"},"cert":{"type":"string","description":"Specifies the name of the certificate that the system uses for server-side SSL processing.\n"},"chain":{"type":"string","description":"Specifies the certificates-key chain to associate with the SSL profile\n"},"cipherGroup":{"type":"string","description":"Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, \u003cspan pulumi-lang-nodejs=\"`ciphers`\" pulumi-lang-dotnet=\"`Ciphers`\" pulumi-lang-go=\"`ciphers`\" pulumi-lang-python=\"`ciphers`\" pulumi-lang-yaml=\"`ciphers`\" pulumi-lang-java=\"`ciphers`\"\u003e`ciphers`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"ciphers":{"type":"string","description":"Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile.\n"},"defaultsFrom":{"type":"string","description":"The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`.\n"},"expireCertResponseControl":{"type":"string","description":"Response if the cert is expired (drop / ignore)."},"fullPath":{"type":"string","description":"full path of the profile"},"generation":{"type":"integer","description":"generation"},"genericAlert":{"type":"string","description":"Generic alerts enabled / disabled."},"handshakeTimeout":{"type":"string","description":"Handshake time out (seconds)"},"key":{"type":"string","description":"Specifies the file name of the SSL key.\n"},"modSslMethods":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"mode":{"type":"string","description":"ModSSL Methods enabled / disabled.  Default is disabled."},"name":{"type":"string","description":"Specifies the name of the profile.Name of Profile should be full path,full path is the combination of the `partition + profile name`. For example `/Common/test-serverssl-profile`.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"name of partition"},"passphrase":{"type":"string","description":"Client Certificate Constrained Delegation CA passphrase","secret":true},"peerCertMode":{"type":"string","description":"Specifies the way the system handles client certificates.When ignore, specifies that the system ignores certificates from client systems.When require, specifies that the system requires a client to present a valid certificate.When request, specifies that the system requests a valid certificate from a client but always authenticate the client.\n"},"proxyCaCert":{"type":"string","description":"Proxy CA Cert"},"proxyCaKey":{"type":"string","description":"Proxy CA Key"},"proxySsl":{"type":"string","description":"Proxy SSL enabled / disabled.  Default is disabled."},"renegotiatePeriod":{"type":"string","description":"Renogotiate Period (seconds)"},"renegotiateSize":{"type":"string","description":"Renogotiate Size"},"renegotiation":{"type":"string","description":"Enables or disables SSL renegotiation.When creating a new profile, the setting is provided by the parent profile\n"},"retainCertificate":{"type":"string","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, client certificate is retained in SSL session.\n"},"secureRenegotiation":{"type":"string","description":"Specifies the method of secure renegotiations for SSL connections. When creating a new profile, the setting is provided by the parent profile.\nWhen \u003cspan pulumi-lang-nodejs=\"`request`\" pulumi-lang-dotnet=\"`Request`\" pulumi-lang-go=\"`request`\" pulumi-lang-python=\"`request`\" pulumi-lang-yaml=\"`request`\" pulumi-lang-java=\"`request`\"\u003e`request`\u003c/span\u003e is set the system request secure renegotation of SSL connections.\n\u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e is a default setting and when set the system permits initial SSL handshakes from clients but terminates renegotiations from unpatched clients.\nThe `require-strict` setting the system requires strict renegotiation of SSL connections. In this mode the system refuses connections to insecure servers, and terminates existing SSL connections to insecure servers\n"},"serverName":{"type":"string","description":"Specifies the fully qualified DNS hostname of the server used in Server Name Indication communications. When creating a new profile, the setting is provided by the parent profile.The server name can also be a wildcard string containing the asterisk `*` character.\n"},"sessionMirroring":{"type":"string","description":"Session Mirroring (enabled / disabled)"},"sessionTicket":{"type":"string","description":"Session Ticket (enabled / disabled)"},"sniDefault":{"type":"string","description":"Indicates that the system uses this profile as the default SSL profile when there is no match to the server name, or when the client provides no SNI extension support.When creating a new profile, the setting is provided by the parent profile.\nThere can be only one SSL profile with this setting enabled.\n"},"sniRequire":{"type":"string","description":"Requires that the network peers also provide SNI support, this setting only takes effect when \u003cspan pulumi-lang-nodejs=\"`sniDefault`\" pulumi-lang-dotnet=\"`SniDefault`\" pulumi-lang-go=\"`sniDefault`\" pulumi-lang-python=\"`sni_default`\" pulumi-lang-yaml=\"`sniDefault`\" pulumi-lang-java=\"`sniDefault`\"\u003e`sni_default`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.When creating a new profile, the setting is provided by the parent profile\n"},"sslC3d":{"type":"string","description":"Enables or disables SSL forward proxy bypass on receiving\nhandshake_failure,\u003cspan pulumi-lang-nodejs=\" protocolVersion \" pulumi-lang-dotnet=\" ProtocolVersion \" pulumi-lang-go=\" protocolVersion \" pulumi-lang-python=\" protocol_version \" pulumi-lang-yaml=\" protocolVersion \" pulumi-lang-java=\" protocolVersion \"\u003e protocol_version \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" unsupportedExtension \" pulumi-lang-dotnet=\" UnsupportedExtension \" pulumi-lang-go=\" unsupportedExtension \" pulumi-lang-python=\" unsupported_extension \" pulumi-lang-yaml=\" unsupportedExtension \" pulumi-lang-java=\" unsupportedExtension \"\u003e unsupported_extension \u003c/span\u003ealert message during the serverside SSL handshake. When enabled and there is an SSL handshake_failure,\u003cspan pulumi-lang-nodejs=\" protocolVersion \" pulumi-lang-dotnet=\" ProtocolVersion \" pulumi-lang-go=\" protocolVersion \" pulumi-lang-python=\" protocol_version \" pulumi-lang-yaml=\" protocolVersion \" pulumi-lang-java=\" protocolVersion \"\u003e protocol_version \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" unsupportedExtension \" pulumi-lang-dotnet=\" UnsupportedExtension \" pulumi-lang-go=\" unsupportedExtension \" pulumi-lang-python=\" unsupported_extension \" pulumi-lang-yaml=\" unsupportedExtension \" pulumi-lang-java=\" unsupportedExtension \"\u003e unsupported_extension \u003c/span\u003ealert during the serverside SSL handshake, SSL traffic bypasses the BIG-IP system untouched, without decryption/encryption. The default value is disabled. Conversely, you can specify enabled to use this feature.\n"},"sslForwardProxy":{"type":"string","description":"Specifies whether SSL forward proxy feature is enabled or not. The default value is disabled.\n"},"sslForwardProxyBypass":{"type":"string","description":"Specifies whether SSL forward proxy bypass feature is enabled or not. The default value is disabled.\n"},"sslSignHash":{"type":"string","description":"SSL sign hash (any, sha1, sha256, sha384)"},"strictResume":{"type":"string","description":"Enables or disables the resumption of SSL sessions after an unclean shutdown.When creating a new profile, the setting is provided by the parent profile.\n"},"tmOptions":{"type":"array","items":{"type":"string"},"description":"List of Enabled selection from a set of industry standard options for handling SSL processing.By default,\nDon't insert empty fragments and No TLSv1.3 are listed as Enabled Options. `Usage` :\u003cspan pulumi-lang-nodejs=\" tmOptions \" pulumi-lang-dotnet=\" TmOptions \" pulumi-lang-go=\" tmOptions \" pulumi-lang-python=\" tm_options \" pulumi-lang-yaml=\" tmOptions \" pulumi-lang-java=\" tmOptions \"\u003e tm_options \u003c/span\u003e   = [\"dont-insert-empty-fragments\",\"no-tlsv1.3\"]\n"},"uncleanShutdown":{"type":"string","description":"Unclean Shutdown (enabled / disabled)"},"untrustedCertResponseControl":{"type":"string","description":"Unclean Shutdown (drop / ignore)"}},"type":"object"}},"f5bigip:ltm/profileTcp:ProfileTcp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileTcp`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileTcp`\" pulumi-lang-go=\"`ltm.ProfileTcp`\" pulumi-lang-python=\"`ltm.ProfileTcp`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileTcp`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileTcp`\"\u003e`f5bigip.ltm.ProfileTcp`\u003c/span\u003e Configures a custom TCP LTM Profile for use by health checks.\n\nResources should be named with their `full path`. The full path is the combination of the `partition + name` (example: /Common/my-pool ) or  `partition + directory + name` of the resource  (example: /Common/test/my-pool )\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sanjose_tcp_lan_profile = new f5bigip.ltm.ProfileTcp(\"sanjose-tcp-lan-profile\", {\n    name: \"/Common/sanjose-tcp-lan-profile\",\n    idleTimeout: 200,\n    closeWaitTimeout: 5,\n    finwait2timeout: 5,\n    finwaitTimeout: 300,\n    keepaliveInterval: 1700,\n    deferredAccept: \"enabled\",\n    fastOpen: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_tcp_lan_profile = f5bigip.ltm.ProfileTcp(\"sanjose-tcp-lan-profile\",\n    name=\"/Common/sanjose-tcp-lan-profile\",\n    idle_timeout=200,\n    close_wait_timeout=5,\n    finwait2timeout=5,\n    finwait_timeout=300,\n    keepalive_interval=1700,\n    deferred_accept=\"enabled\",\n    fast_open=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sanjose_tcp_lan_profile = new F5BigIP.Ltm.ProfileTcp(\"sanjose-tcp-lan-profile\", new()\n    {\n        Name = \"/Common/sanjose-tcp-lan-profile\",\n        IdleTimeout = 200,\n        CloseWaitTimeout = 5,\n        Finwait2timeout = 5,\n        FinwaitTimeout = 300,\n        KeepaliveInterval = 1700,\n        DeferredAccept = \"enabled\",\n        FastOpen = \"enabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileTcp(ctx, \"sanjose-tcp-lan-profile\", \u0026ltm.ProfileTcpArgs{\n\t\t\tName:              pulumi.String(\"/Common/sanjose-tcp-lan-profile\"),\n\t\t\tIdleTimeout:       pulumi.Int(200),\n\t\t\tCloseWaitTimeout:  pulumi.Int(5),\n\t\t\tFinwait2timeout:   pulumi.Int(5),\n\t\t\tFinwaitTimeout:    pulumi.Int(300),\n\t\t\tKeepaliveInterval: pulumi.Int(1700),\n\t\t\tDeferredAccept:    pulumi.String(\"enabled\"),\n\t\t\tFastOpen:          pulumi.String(\"enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileTcp;\nimport com.pulumi.f5bigip.ltm.ProfileTcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sanjose_tcp_lan_profile = new ProfileTcp(\"sanjose-tcp-lan-profile\", ProfileTcpArgs.builder()\n            .name(\"/Common/sanjose-tcp-lan-profile\")\n            .idleTimeout(200)\n            .closeWaitTimeout(5)\n            .finwait2timeout(5)\n            .finwaitTimeout(300)\n            .keepaliveInterval(1700)\n            .deferredAccept(\"enabled\")\n            .fastOpen(\"enabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sanjose-tcp-lan-profile:\n    type: f5bigip:ltm:ProfileTcp\n    properties:\n      name: /Common/sanjose-tcp-lan-profile\n      idleTimeout: 200\n      closeWaitTimeout: 5\n      finwait2timeout: 5\n      finwaitTimeout: 300\n      keepaliveInterval: 1700\n      deferredAccept: enabled\n      fastOpen: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing tcp profile can be imported into this resource by supplying tcp profile Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_profile_tcp.tcp-lan-profile-import /Common/test-tcp-lan-profile\n```\n","properties":{"closeWaitTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection remains in a LAST-ACK state before quitting. A value of 0 represents a term of forever (or until the maxrtx of the FIN state). The default value is 5 seconds.\n"},"congestionControl":{"type":"string","description":"Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"deferredAccept":{"type":"string","description":"Specifies, when enabled, that the system defers allocation of the connection chain context until the client response is received. This option is useful for dealing with 3-way handshake DOS attacks. The default value is disabled.\n"},"delayedAcks":{"type":"string","description":"Specifies, when checked (enabled), that the system can send fewer than one ACK (acknowledgment) segment per data segment received. By default, this setting is enabled.\n"},"earlyRetransmit":{"type":"string","description":"Enabling this setting allows TCP to assume a packet is lost after fewer than the standard number of duplicate ACKs, if there is no way to send new data and generate more duplicate ACKs.\n"},"fastOpen":{"type":"string","description":"When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`fastOpen`\" pulumi-lang-dotnet=\"`FastOpen`\" pulumi-lang-go=\"`fastOpen`\" pulumi-lang-python=\"`fast_open`\" pulumi-lang-yaml=\"`fastOpen`\" pulumi-lang-java=\"`fastOpen`\"\u003e`fast_open`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e, argument \u003cspan pulumi-lang-nodejs=\"`verifiedAccept`\" pulumi-lang-dotnet=\"`VerifiedAccept`\" pulumi-lang-go=\"`verifiedAccept`\" pulumi-lang-python=\"`verified_accept`\" pulumi-lang-yaml=\"`verifiedAccept`\" pulumi-lang-java=\"`verifiedAccept`\"\u003e`verified_accept`\u003c/span\u003e can't be set to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"finwait2timeout":{"type":"integer","description":"Specifies the number of seconds that a connection is in the FIN-WAIT-2 state before quitting. The default value is 300 seconds. A value of 0 (zero) represents a term of forever (or until the maxrtx of the FIN state).\n"},"finwaitTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is in the FIN-WAIT-1 or closing state before quitting. The default value is 5 seconds. A value of 0 (zero) represents a term of forever (or until the maxrtx of the FIN state). You can also specify immediate or indefinite.\n"},"idleTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds.\n"},"initialCongestionWindowsize":{"type":"integer","description":"Specifies the initial congestion window size for connections to this destination. Actual window size is this value multiplied by the MSS (Maximum Segment Size) for the same connection. The default is 10. Valid values range from 0 to 64.\n"},"keepaliveInterval":{"type":"integer","description":"Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds.\n"},"nagle":{"type":"string","description":"Specifies whether the system applies Nagle's algorithm to reduce the number of short segments on the network.If you select Auto, the system determines whether to use Nagle's algorithm based on network conditions. By default, this setting is disabled.\n"},"name":{"type":"string","description":"Name of the LTM TCP Profile,name should be `full path`. The full path is the combination of the `partition + name` (example: /Common/my-pool ) or  `partition + directory + name` of the resource  (example: /Common/test/my-pool )\n"},"partition":{"type":"string","description":"name of partition"},"proxybufferHigh":{"type":"integer","description":"Specifies the proxy buffer level, in bytes, at which the receive window is closed.\n"},"receiveWindowsize":{"type":"integer","description":"Specifies the maximum advertised RECEIVE window size. This value represents the maximum number of bytes to which the RECEIVE window can scale. The default is 65535 bytes.\n"},"sendBuffersize":{"type":"integer","description":"Specifies the SEND window size. The default is 131072 bytes.\n"},"taillossProbe":{"type":"string","description":"Enabling this setting allows TCP to send a probe segment to trigger fast recovery instead of recovering a loss via a retransmission timeout,By default, this setting is enabled.\n"},"timewaitRecycle":{"type":"string","description":"Using this setting enabled, the system can recycle a wait-state connection immediately upon receipt of a new connection request instead of having to wait until the connection times out of the wait state. By default, this setting is enabled.\n"},"verifiedAccept":{"type":"string","description":"Specifies, when checked (enabled), that the system can actually communicate with the server before establishing a client connection. To determine this, the system sends the server a SYN packet before responding to the client's SYN with a SYN-ACK. When unchecked, the system accepts the client connection before selecting a server to talk to. By default, this setting is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"zerowindowTimeout":{"type":"integer","description":"Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window.\n"}},"required":["closeWaitTimeout","defaultsFrom","deferredAccept","fastOpen","finwait2timeout","finwaitTimeout","idleTimeout","keepaliveInterval","name"],"inputProperties":{"closeWaitTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection remains in a LAST-ACK state before quitting. A value of 0 represents a term of forever (or until the maxrtx of the FIN state). The default value is 5 seconds.\n"},"congestionControl":{"type":"string","description":"Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"deferredAccept":{"type":"string","description":"Specifies, when enabled, that the system defers allocation of the connection chain context until the client response is received. This option is useful for dealing with 3-way handshake DOS attacks. The default value is disabled.\n"},"delayedAcks":{"type":"string","description":"Specifies, when checked (enabled), that the system can send fewer than one ACK (acknowledgment) segment per data segment received. By default, this setting is enabled.\n"},"earlyRetransmit":{"type":"string","description":"Enabling this setting allows TCP to assume a packet is lost after fewer than the standard number of duplicate ACKs, if there is no way to send new data and generate more duplicate ACKs.\n"},"fastOpen":{"type":"string","description":"When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`fastOpen`\" pulumi-lang-dotnet=\"`FastOpen`\" pulumi-lang-go=\"`fastOpen`\" pulumi-lang-python=\"`fast_open`\" pulumi-lang-yaml=\"`fastOpen`\" pulumi-lang-java=\"`fastOpen`\"\u003e`fast_open`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e, argument \u003cspan pulumi-lang-nodejs=\"`verifiedAccept`\" pulumi-lang-dotnet=\"`VerifiedAccept`\" pulumi-lang-go=\"`verifiedAccept`\" pulumi-lang-python=\"`verified_accept`\" pulumi-lang-yaml=\"`verifiedAccept`\" pulumi-lang-java=\"`verifiedAccept`\"\u003e`verified_accept`\u003c/span\u003e can't be set to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"finwait2timeout":{"type":"integer","description":"Specifies the number of seconds that a connection is in the FIN-WAIT-2 state before quitting. The default value is 300 seconds. A value of 0 (zero) represents a term of forever (or until the maxrtx of the FIN state).\n"},"finwaitTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is in the FIN-WAIT-1 or closing state before quitting. The default value is 5 seconds. A value of 0 (zero) represents a term of forever (or until the maxrtx of the FIN state). You can also specify immediate or indefinite.\n"},"idleTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds.\n"},"initialCongestionWindowsize":{"type":"integer","description":"Specifies the initial congestion window size for connections to this destination. Actual window size is this value multiplied by the MSS (Maximum Segment Size) for the same connection. The default is 10. Valid values range from 0 to 64.\n"},"keepaliveInterval":{"type":"integer","description":"Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds.\n"},"nagle":{"type":"string","description":"Specifies whether the system applies Nagle's algorithm to reduce the number of short segments on the network.If you select Auto, the system determines whether to use Nagle's algorithm based on network conditions. By default, this setting is disabled.\n"},"name":{"type":"string","description":"Name of the LTM TCP Profile,name should be `full path`. The full path is the combination of the `partition + name` (example: /Common/my-pool ) or  `partition + directory + name` of the resource  (example: /Common/test/my-pool )\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"name of partition"},"proxybufferHigh":{"type":"integer","description":"Specifies the proxy buffer level, in bytes, at which the receive window is closed.\n"},"receiveWindowsize":{"type":"integer","description":"Specifies the maximum advertised RECEIVE window size. This value represents the maximum number of bytes to which the RECEIVE window can scale. The default is 65535 bytes.\n"},"sendBuffersize":{"type":"integer","description":"Specifies the SEND window size. The default is 131072 bytes.\n"},"taillossProbe":{"type":"string","description":"Enabling this setting allows TCP to send a probe segment to trigger fast recovery instead of recovering a loss via a retransmission timeout,By default, this setting is enabled.\n"},"timewaitRecycle":{"type":"string","description":"Using this setting enabled, the system can recycle a wait-state connection immediately upon receipt of a new connection request instead of having to wait until the connection times out of the wait state. By default, this setting is enabled.\n"},"verifiedAccept":{"type":"string","description":"Specifies, when checked (enabled), that the system can actually communicate with the server before establishing a client connection. To determine this, the system sends the server a SYN packet before responding to the client's SYN with a SYN-ACK. When unchecked, the system accepts the client connection before selecting a server to talk to. By default, this setting is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"zerowindowTimeout":{"type":"integer","description":"Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileTcp resources.\n","properties":{"closeWaitTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection remains in a LAST-ACK state before quitting. A value of 0 represents a term of forever (or until the maxrtx of the FIN state). The default value is 5 seconds.\n"},"congestionControl":{"type":"string","description":"Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"deferredAccept":{"type":"string","description":"Specifies, when enabled, that the system defers allocation of the connection chain context until the client response is received. This option is useful for dealing with 3-way handshake DOS attacks. The default value is disabled.\n"},"delayedAcks":{"type":"string","description":"Specifies, when checked (enabled), that the system can send fewer than one ACK (acknowledgment) segment per data segment received. By default, this setting is enabled.\n"},"earlyRetransmit":{"type":"string","description":"Enabling this setting allows TCP to assume a packet is lost after fewer than the standard number of duplicate ACKs, if there is no way to send new data and generate more duplicate ACKs.\n"},"fastOpen":{"type":"string","description":"When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`fastOpen`\" pulumi-lang-dotnet=\"`FastOpen`\" pulumi-lang-go=\"`fastOpen`\" pulumi-lang-python=\"`fast_open`\" pulumi-lang-yaml=\"`fastOpen`\" pulumi-lang-java=\"`fastOpen`\"\u003e`fast_open`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e, argument \u003cspan pulumi-lang-nodejs=\"`verifiedAccept`\" pulumi-lang-dotnet=\"`VerifiedAccept`\" pulumi-lang-go=\"`verifiedAccept`\" pulumi-lang-python=\"`verified_accept`\" pulumi-lang-yaml=\"`verifiedAccept`\" pulumi-lang-java=\"`verifiedAccept`\"\u003e`verified_accept`\u003c/span\u003e can't be set to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"finwait2timeout":{"type":"integer","description":"Specifies the number of seconds that a connection is in the FIN-WAIT-2 state before quitting. The default value is 300 seconds. A value of 0 (zero) represents a term of forever (or until the maxrtx of the FIN state).\n"},"finwaitTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is in the FIN-WAIT-1 or closing state before quitting. The default value is 5 seconds. A value of 0 (zero) represents a term of forever (or until the maxrtx of the FIN state). You can also specify immediate or indefinite.\n"},"idleTimeout":{"type":"integer","description":"Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds.\n"},"initialCongestionWindowsize":{"type":"integer","description":"Specifies the initial congestion window size for connections to this destination. Actual window size is this value multiplied by the MSS (Maximum Segment Size) for the same connection. The default is 10. Valid values range from 0 to 64.\n"},"keepaliveInterval":{"type":"integer","description":"Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds.\n"},"nagle":{"type":"string","description":"Specifies whether the system applies Nagle's algorithm to reduce the number of short segments on the network.If you select Auto, the system determines whether to use Nagle's algorithm based on network conditions. By default, this setting is disabled.\n"},"name":{"type":"string","description":"Name of the LTM TCP Profile,name should be `full path`. The full path is the combination of the `partition + name` (example: /Common/my-pool ) or  `partition + directory + name` of the resource  (example: /Common/test/my-pool )\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"name of partition"},"proxybufferHigh":{"type":"integer","description":"Specifies the proxy buffer level, in bytes, at which the receive window is closed.\n"},"receiveWindowsize":{"type":"integer","description":"Specifies the maximum advertised RECEIVE window size. This value represents the maximum number of bytes to which the RECEIVE window can scale. The default is 65535 bytes.\n"},"sendBuffersize":{"type":"integer","description":"Specifies the SEND window size. The default is 131072 bytes.\n"},"taillossProbe":{"type":"string","description":"Enabling this setting allows TCP to send a probe segment to trigger fast recovery instead of recovering a loss via a retransmission timeout,By default, this setting is enabled.\n"},"timewaitRecycle":{"type":"string","description":"Using this setting enabled, the system can recycle a wait-state connection immediately upon receipt of a new connection request instead of having to wait until the connection times out of the wait state. By default, this setting is enabled.\n"},"verifiedAccept":{"type":"string","description":"Specifies, when checked (enabled), that the system can actually communicate with the server before establishing a client connection. To determine this, the system sends the server a SYN packet before responding to the client's SYN with a SYN-ACK. When unchecked, the system accepts the client connection before selecting a server to talk to. By default, this setting is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"zerowindowTimeout":{"type":"integer","description":"Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window.\n"}},"type":"object"}},"f5bigip:ltm/profileWebAcceleration:ProfileWebAcceleration":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.ProfileWebAcceleration`\" pulumi-lang-dotnet=\"`f5bigip.ltm.ProfileWebAcceleration`\" pulumi-lang-go=\"`ltm.ProfileWebAcceleration`\" pulumi-lang-python=\"`ltm.ProfileWebAcceleration`\" pulumi-lang-yaml=\"`f5bigip.ltm.ProfileWebAcceleration`\" pulumi-lang-java=\"`f5bigip.ltm.ProfileWebAcceleration`\"\u003e`f5bigip.ltm.ProfileWebAcceleration`\u003c/span\u003e Configures a custom web-acceleration profile for use.\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/sample-resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sample_resource = new f5bigip.ltm.ProfileWebAcceleration(\"sample-resource\", {\n    name: \"/Common/sample-resource\",\n    defaultsFrom: \"/Common/test2\",\n    cacheSize: 101,\n    cacheMaxEntries: 201,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsample_resource = f5bigip.ltm.ProfileWebAcceleration(\"sample-resource\",\n    name=\"/Common/sample-resource\",\n    defaults_from=\"/Common/test2\",\n    cache_size=101,\n    cache_max_entries=201)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample_resource = new F5BigIP.Ltm.ProfileWebAcceleration(\"sample-resource\", new()\n    {\n        Name = \"/Common/sample-resource\",\n        DefaultsFrom = \"/Common/test2\",\n        CacheSize = 101,\n        CacheMaxEntries = 201,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewProfileWebAcceleration(ctx, \"sample-resource\", \u0026ltm.ProfileWebAccelerationArgs{\n\t\t\tName:            pulumi.String(\"/Common/sample-resource\"),\n\t\t\tDefaultsFrom:    pulumi.String(\"/Common/test2\"),\n\t\t\tCacheSize:       pulumi.Int(101),\n\t\t\tCacheMaxEntries: pulumi.Int(201),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.ProfileWebAcceleration;\nimport com.pulumi.f5bigip.ltm.ProfileWebAccelerationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sample_resource = new ProfileWebAcceleration(\"sample-resource\", ProfileWebAccelerationArgs.builder()\n            .name(\"/Common/sample-resource\")\n            .defaultsFrom(\"/Common/test2\")\n            .cacheSize(101)\n            .cacheMaxEntries(201)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sample-resource:\n    type: f5bigip:ltm:ProfileWebAcceleration\n    properties:\n      name: /Common/sample-resource\n      defaultsFrom: /Common/test2\n      cacheSize: 101\n      cacheMaxEntries: 201\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cacheAgingRate":{"type":"integer","description":"Specifies how quickly the system ages a cache entry. The aging rate ranges from 0 (slowest aging) to 10 (fastest aging). The default value is \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e.\n"},"cacheClientCacheControlMode":{"type":"string","description":"Specifies which cache disabling headers sent by clients the system ignores. The default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"cacheInsertAgeHeader":{"type":"string","description":"Inserts Age and Date headers in the response. The default value is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"cacheMaxAge":{"type":"integer","description":"Specifies how long the system considers the cached content to be valid. The default value is `3600 seconds`.\n"},"cacheMaxEntries":{"type":"integer","description":"Specifies the maximum number of entries that can be in the cache. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (zero), which means that the system does not limit the maximum entries.\n"},"cacheObjectMaxSize":{"type":"integer","description":"Specifies the smallest object that the system considers eligible for caching. The default value is `500 bytes`.\n"},"cacheObjectMinSize":{"type":"integer","description":"Specifies the smallest object that the system considers eligible for caching. The default value is `500 bytes`.\n"},"cacheSize":{"type":"integer","description":"Specifies the maximum size for the cache. When the cache reaches the maximum size, the system starts removing the oldest entries. The default value is `100 megabytes`.\n"},"cacheUriExcludes":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to exclude from the cache. The default value of \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e specifies no URIs are excluded.\n"},"cacheUriIncludeOverrides":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to include in the cache even if they would normally be excluded due to factors like object size or HTTP request type. The default value of none specifies no URIs are to be forced into the cache.\n"},"cacheUriIncludes":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to include in the cache. The default value of `.*` specifies that all URIs are cacheable.\n"},"cacheUriPinneds":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to keep in the cache. The pinning process keeps URIs in cache when they would normally be evicted to make room for more active URIs.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"name":{"type":"string","description":"Specifies the name of the web acceleration profile service ,name of Profile should be full path. Full path is the combination of the `partition + web acceleration profile name`,For example `/Common/sample-resource`.\n"}},"required":["cacheAgingRate","cacheClientCacheControlMode","cacheInsertAgeHeader","cacheMaxAge","cacheMaxEntries","cacheObjectMaxSize","cacheObjectMinSize","cacheSize","cacheUriExcludes","cacheUriIncludes","cacheUriIncludeOverrides","cacheUriPinneds","defaultsFrom","name"],"inputProperties":{"cacheAgingRate":{"type":"integer","description":"Specifies how quickly the system ages a cache entry. The aging rate ranges from 0 (slowest aging) to 10 (fastest aging). The default value is \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e.\n"},"cacheClientCacheControlMode":{"type":"string","description":"Specifies which cache disabling headers sent by clients the system ignores. The default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"cacheInsertAgeHeader":{"type":"string","description":"Inserts Age and Date headers in the response. The default value is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"cacheMaxAge":{"type":"integer","description":"Specifies how long the system considers the cached content to be valid. The default value is `3600 seconds`.\n"},"cacheMaxEntries":{"type":"integer","description":"Specifies the maximum number of entries that can be in the cache. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (zero), which means that the system does not limit the maximum entries.\n"},"cacheObjectMaxSize":{"type":"integer","description":"Specifies the smallest object that the system considers eligible for caching. The default value is `500 bytes`.\n"},"cacheObjectMinSize":{"type":"integer","description":"Specifies the smallest object that the system considers eligible for caching. The default value is `500 bytes`.\n"},"cacheSize":{"type":"integer","description":"Specifies the maximum size for the cache. When the cache reaches the maximum size, the system starts removing the oldest entries. The default value is `100 megabytes`.\n"},"cacheUriExcludes":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to exclude from the cache. The default value of \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e specifies no URIs are excluded.\n"},"cacheUriIncludeOverrides":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to include in the cache even if they would normally be excluded due to factors like object size or HTTP request type. The default value of none specifies no URIs are to be forced into the cache.\n"},"cacheUriIncludes":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to include in the cache. The default value of `.*` specifies that all URIs are cacheable.\n"},"cacheUriPinneds":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to keep in the cache. The pinning process keeps URIs in cache when they would normally be evicted to make room for more active URIs.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"name":{"type":"string","description":"Specifies the name of the web acceleration profile service ,name of Profile should be full path. Full path is the combination of the `partition + web acceleration profile name`,For example `/Common/sample-resource`.\n","willReplaceOnChanges":true}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering ProfileWebAcceleration resources.\n","properties":{"cacheAgingRate":{"type":"integer","description":"Specifies how quickly the system ages a cache entry. The aging rate ranges from 0 (slowest aging) to 10 (fastest aging). The default value is \u003cspan pulumi-lang-nodejs=\"`9`\" pulumi-lang-dotnet=\"`9`\" pulumi-lang-go=\"`9`\" pulumi-lang-python=\"`9`\" pulumi-lang-yaml=\"`9`\" pulumi-lang-java=\"`9`\"\u003e`9`\u003c/span\u003e.\n"},"cacheClientCacheControlMode":{"type":"string","description":"Specifies which cache disabling headers sent by clients the system ignores. The default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"cacheInsertAgeHeader":{"type":"string","description":"Inserts Age and Date headers in the response. The default value is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"cacheMaxAge":{"type":"integer","description":"Specifies how long the system considers the cached content to be valid. The default value is `3600 seconds`.\n"},"cacheMaxEntries":{"type":"integer","description":"Specifies the maximum number of entries that can be in the cache. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e (zero), which means that the system does not limit the maximum entries.\n"},"cacheObjectMaxSize":{"type":"integer","description":"Specifies the smallest object that the system considers eligible for caching. The default value is `500 bytes`.\n"},"cacheObjectMinSize":{"type":"integer","description":"Specifies the smallest object that the system considers eligible for caching. The default value is `500 bytes`.\n"},"cacheSize":{"type":"integer","description":"Specifies the maximum size for the cache. When the cache reaches the maximum size, the system starts removing the oldest entries. The default value is `100 megabytes`.\n"},"cacheUriExcludes":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to exclude from the cache. The default value of \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e specifies no URIs are excluded.\n"},"cacheUriIncludeOverrides":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to include in the cache even if they would normally be excluded due to factors like object size or HTTP request type. The default value of none specifies no URIs are to be forced into the cache.\n"},"cacheUriIncludes":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to include in the cache. The default value of `.*` specifies that all URIs are cacheable.\n"},"cacheUriPinneds":{"type":"array","items":{"type":"string"},"description":"Configures a list of URIs to keep in the cache. The pinning process keeps URIs in cache when they would normally be evicted to make room for more active URIs.\n"},"defaultsFrom":{"type":"string","description":"Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.\n"},"name":{"type":"string","description":"Specifies the name of the web acceleration profile service ,name of Profile should be full path. Full path is the combination of the `partition + web acceleration profile name`,For example `/Common/sample-resource`.\n","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:ltm/requestLogProfile:RequestLogProfile":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.RequestLogProfile`\" pulumi-lang-dotnet=\"`f5bigip.ltm.RequestLogProfile`\" pulumi-lang-go=\"`ltm.RequestLogProfile`\" pulumi-lang-python=\"`ltm.RequestLogProfile`\" pulumi-lang-yaml=\"`f5bigip.ltm.RequestLogProfile`\" pulumi-lang-java=\"`f5bigip.ltm.RequestLogProfile`\"\u003e`f5bigip.ltm.RequestLogProfile`\u003c/span\u003e Resource used for Configures request logging using the Request Logging profile\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst request_log_profile_tc1_child = new f5bigip.ltm.RequestLogProfile(\"request-log-profile-tc1-child\", {\n    name: \"/Common/request-log-profile-tc1-child\",\n    defaultsFrom: request_log_profile_tc1.name,\n    requestLogging: \"disabled\",\n    requestlogPool: \"/Common/pool2\",\n    requestlogErrorPool: \"/Common/pool1\",\n    requestlogProtocol: \"mds-tcp\",\n    requestlogErrorProtocol: \"mds-tcp\",\n    responselogProtocol: \"mds-tcp\",\n    responselogErrorProtocol: \"mds-tcp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nrequest_log_profile_tc1_child = f5bigip.ltm.RequestLogProfile(\"request-log-profile-tc1-child\",\n    name=\"/Common/request-log-profile-tc1-child\",\n    defaults_from=request_log_profile_tc1[\"name\"],\n    request_logging=\"disabled\",\n    requestlog_pool=\"/Common/pool2\",\n    requestlog_error_pool=\"/Common/pool1\",\n    requestlog_protocol=\"mds-tcp\",\n    requestlog_error_protocol=\"mds-tcp\",\n    responselog_protocol=\"mds-tcp\",\n    responselog_error_protocol=\"mds-tcp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var request_log_profile_tc1_child = new F5BigIP.Ltm.RequestLogProfile(\"request-log-profile-tc1-child\", new()\n    {\n        Name = \"/Common/request-log-profile-tc1-child\",\n        DefaultsFrom = request_log_profile_tc1.Name,\n        RequestLogging = \"disabled\",\n        RequestlogPool = \"/Common/pool2\",\n        RequestlogErrorPool = \"/Common/pool1\",\n        RequestlogProtocol = \"mds-tcp\",\n        RequestlogErrorProtocol = \"mds-tcp\",\n        ResponselogProtocol = \"mds-tcp\",\n        ResponselogErrorProtocol = \"mds-tcp\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewRequestLogProfile(ctx, \"request-log-profile-tc1-child\", \u0026ltm.RequestLogProfileArgs{\n\t\t\tName:                     pulumi.String(\"/Common/request-log-profile-tc1-child\"),\n\t\t\tDefaultsFrom:             pulumi.Any(request_log_profile_tc1.Name),\n\t\t\tRequestLogging:           pulumi.String(\"disabled\"),\n\t\t\tRequestlogPool:           pulumi.String(\"/Common/pool2\"),\n\t\t\tRequestlogErrorPool:      pulumi.String(\"/Common/pool1\"),\n\t\t\tRequestlogProtocol:       pulumi.String(\"mds-tcp\"),\n\t\t\tRequestlogErrorProtocol:  pulumi.String(\"mds-tcp\"),\n\t\t\tResponselogProtocol:      pulumi.String(\"mds-tcp\"),\n\t\t\tResponselogErrorProtocol: pulumi.String(\"mds-tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.RequestLogProfile;\nimport com.pulumi.f5bigip.ltm.RequestLogProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var request_log_profile_tc1_child = new RequestLogProfile(\"request-log-profile-tc1-child\", RequestLogProfileArgs.builder()\n            .name(\"/Common/request-log-profile-tc1-child\")\n            .defaultsFrom(request_log_profile_tc1.name())\n            .requestLogging(\"disabled\")\n            .requestlogPool(\"/Common/pool2\")\n            .requestlogErrorPool(\"/Common/pool1\")\n            .requestlogProtocol(\"mds-tcp\")\n            .requestlogErrorProtocol(\"mds-tcp\")\n            .responselogProtocol(\"mds-tcp\")\n            .responselogErrorProtocol(\"mds-tcp\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  request-log-profile-tc1-child:\n    type: f5bigip:ltm:RequestLogProfile\n    properties:\n      name: /Common/request-log-profile-tc1-child\n      defaultsFrom: ${[\"request-log-profile-tc1\"].name}\n      requestLogging: disabled\n      requestlogPool: /Common/pool2\n      requestlogErrorPool: /Common/pool1\n      requestlogProtocol: mds-tcp\n      requestlogErrorProtocol: mds-tcp\n      responselogProtocol: mds-tcp\n      responselogErrorProtocol: mds-tcp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBIG-IP LTM Request Log profiles can be imported using the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, e.g.\n\n```sh\n$ pulumi import f5bigip:ltm/requestLogProfile:RequestLogProfile test-request-log /Common/test-request-log\n```\n\n","properties":{"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `request-log` profile.\n"},"description":{"type":"string","description":"Specifies user-defined description.\n"},"name":{"type":"string","description":"Name of the Request Logging profile,name of Profile should be full path. Full path is the combination of the `partition + profile name`,For example `/Common/request-log-profile-tc1`.\n"},"proxyResponse":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"proxycloseOnError":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"proxyrespondOnLoggingerror":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"requestLogging":{"type":"string","description":"Enables or disables request logging. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, possible values are \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"requestlogErrorPool":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"requestlogErrorProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of request errors. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"requestlogErrorTemplate":{"type":"string","description":"Specifies the directives and entries to be logged for request errors.\n"},"requestlogPool":{"type":"string","description":"Defines the pool to send logs to. Typically, the pool will contain one or more syslog servers. It is recommended that you create a pool specifically for logging requests. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"requestlogProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of requests. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"requestlogTemplate":{"type":"string","description":"Specifies the directives and entries to be logged. More infor on\u003cspan pulumi-lang-nodejs=\" requestlogTemplate \" pulumi-lang-dotnet=\" RequestlogTemplate \" pulumi-lang-go=\" requestlogTemplate \" pulumi-lang-python=\" requestlog_template \" pulumi-lang-yaml=\" requestlogTemplate \" pulumi-lang-java=\" requestlogTemplate \"\u003e requestlog_template \u003c/span\u003ecan be found [here](https://techdocs.f5.com/en-us/bigip-15-0-0/external-monitoring-of-big-ip-systems-implementations/configuring-request-logging.html). how to use can be find [here](https://my.f5.com/manage/s/article/K00847516).\n"},"responseLogging":{"type":"string","description":"Enables or disables response logging. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, possible values are \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"responselogErrorPool":{"type":"string","description":"Defines the pool associated with logging response errors. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"responselogErrorProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of response errors. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"responselogErrorTemplate":{"type":"string","description":"Specifies the directives and entries to be logged for request errors.\n"},"responselogPool":{"type":"string","description":"Defines the pool to send logs to. Typically, the pool contains one or more syslog servers. It is recommended that you create a pool specifically for logging responses. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"responselogProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of responses. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"responselogTemplate":{"type":"string","description":"Specifies the directives and entries to be logged. More infor on\u003cspan pulumi-lang-nodejs=\" responselogTemplate \" pulumi-lang-dotnet=\" ResponselogTemplate \" pulumi-lang-go=\" responselogTemplate \" pulumi-lang-python=\" responselog_template \" pulumi-lang-yaml=\" responselogTemplate \" pulumi-lang-java=\" responselogTemplate \"\u003e responselog_template \u003c/span\u003ecan be found [here](https://techdocs.f5.com/en-us/bigip-15-0-0/external-monitoring-of-big-ip-systems-implementations/configuring-request-logging.html). how to use can be find [here](https://my.f5.com/manage/s/article/K00847516).\n"}},"required":["description","name","requestLogging","responseLogging"],"inputProperties":{"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `request-log` profile.\n"},"description":{"type":"string","description":"Specifies user-defined description.\n"},"name":{"type":"string","description":"Name of the Request Logging profile,name of Profile should be full path. Full path is the combination of the `partition + profile name`,For example `/Common/request-log-profile-tc1`.\n","willReplaceOnChanges":true},"proxyResponse":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"proxycloseOnError":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"proxyrespondOnLoggingerror":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"requestLogging":{"type":"string","description":"Enables or disables request logging. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, possible values are \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"requestlogErrorPool":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"requestlogErrorProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of request errors. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"requestlogErrorTemplate":{"type":"string","description":"Specifies the directives and entries to be logged for request errors.\n"},"requestlogPool":{"type":"string","description":"Defines the pool to send logs to. Typically, the pool will contain one or more syslog servers. It is recommended that you create a pool specifically for logging requests. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"requestlogProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of requests. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"requestlogTemplate":{"type":"string","description":"Specifies the directives and entries to be logged. More infor on\u003cspan pulumi-lang-nodejs=\" requestlogTemplate \" pulumi-lang-dotnet=\" RequestlogTemplate \" pulumi-lang-go=\" requestlogTemplate \" pulumi-lang-python=\" requestlog_template \" pulumi-lang-yaml=\" requestlogTemplate \" pulumi-lang-java=\" requestlogTemplate \"\u003e requestlog_template \u003c/span\u003ecan be found [here](https://techdocs.f5.com/en-us/bigip-15-0-0/external-monitoring-of-big-ip-systems-implementations/configuring-request-logging.html). how to use can be find [here](https://my.f5.com/manage/s/article/K00847516).\n"},"responseLogging":{"type":"string","description":"Enables or disables response logging. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, possible values are \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"responselogErrorPool":{"type":"string","description":"Defines the pool associated with logging response errors. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"responselogErrorProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of response errors. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"responselogErrorTemplate":{"type":"string","description":"Specifies the directives and entries to be logged for request errors.\n"},"responselogPool":{"type":"string","description":"Defines the pool to send logs to. Typically, the pool contains one or more syslog servers. It is recommended that you create a pool specifically for logging responses. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"responselogProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of responses. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"responselogTemplate":{"type":"string","description":"Specifies the directives and entries to be logged. More infor on\u003cspan pulumi-lang-nodejs=\" responselogTemplate \" pulumi-lang-dotnet=\" ResponselogTemplate \" pulumi-lang-go=\" responselogTemplate \" pulumi-lang-python=\" responselog_template \" pulumi-lang-yaml=\" responselogTemplate \" pulumi-lang-java=\" responselogTemplate \"\u003e responselog_template \u003c/span\u003ecan be found [here](https://techdocs.f5.com/en-us/bigip-15-0-0/external-monitoring-of-big-ip-systems-implementations/configuring-request-logging.html). how to use can be find [here](https://my.f5.com/manage/s/article/K00847516).\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering RequestLogProfile resources.\n","properties":{"defaultsFrom":{"type":"string","description":"Specifies the profile from which this profile inherits settings. The default is the system-supplied `request-log` profile.\n"},"description":{"type":"string","description":"Specifies user-defined description.\n"},"name":{"type":"string","description":"Name of the Request Logging profile,name of Profile should be full path. Full path is the combination of the `partition + profile name`,For example `/Common/request-log-profile-tc1`.\n","willReplaceOnChanges":true},"proxyResponse":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"proxycloseOnError":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"proxyrespondOnLoggingerror":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"requestLogging":{"type":"string","description":"Enables or disables request logging. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, possible values are \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"requestlogErrorPool":{"type":"string","description":"Defines the pool associated with logging request errors. The default is None."},"requestlogErrorProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of request errors. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"requestlogErrorTemplate":{"type":"string","description":"Specifies the directives and entries to be logged for request errors.\n"},"requestlogPool":{"type":"string","description":"Defines the pool to send logs to. Typically, the pool will contain one or more syslog servers. It is recommended that you create a pool specifically for logging requests. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"requestlogProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of requests. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"requestlogTemplate":{"type":"string","description":"Specifies the directives and entries to be logged. More infor on\u003cspan pulumi-lang-nodejs=\" requestlogTemplate \" pulumi-lang-dotnet=\" RequestlogTemplate \" pulumi-lang-go=\" requestlogTemplate \" pulumi-lang-python=\" requestlog_template \" pulumi-lang-yaml=\" requestlogTemplate \" pulumi-lang-java=\" requestlogTemplate \"\u003e requestlog_template \u003c/span\u003ecan be found [here](https://techdocs.f5.com/en-us/bigip-15-0-0/external-monitoring-of-big-ip-systems-implementations/configuring-request-logging.html). how to use can be find [here](https://my.f5.com/manage/s/article/K00847516).\n"},"responseLogging":{"type":"string","description":"Enables or disables response logging. The default is \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, possible values are \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e.\n"},"responselogErrorPool":{"type":"string","description":"Defines the pool associated with logging response errors. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"responselogErrorProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of response errors. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"responselogErrorTemplate":{"type":"string","description":"Specifies the directives and entries to be logged for request errors.\n"},"responselogPool":{"type":"string","description":"Defines the pool to send logs to. Typically, the pool contains one or more syslog servers. It is recommended that you create a pool specifically for logging responses. The default is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"responselogProtocol":{"type":"string","description":"Specifies the protocol to be used for high-speed logging of responses. The default is `mds-udp`,possible values are `mds-udp` and `mds-tcp`.\n"},"responselogTemplate":{"type":"string","description":"Specifies the directives and entries to be logged. More infor on\u003cspan pulumi-lang-nodejs=\" responselogTemplate \" pulumi-lang-dotnet=\" ResponselogTemplate \" pulumi-lang-go=\" responselogTemplate \" pulumi-lang-python=\" responselog_template \" pulumi-lang-yaml=\" responselogTemplate \" pulumi-lang-java=\" responselogTemplate \"\u003e responselog_template \u003c/span\u003ecan be found [here](https://techdocs.f5.com/en-us/bigip-15-0-0/external-monitoring-of-big-ip-systems-implementations/configuring-request-logging.html). how to use can be find [here](https://my.f5.com/manage/s/article/K00847516).\n"}},"type":"object"}},"f5bigip:ltm/snat:Snat":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Snat`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Snat`\" pulumi-lang-go=\"`ltm.Snat`\" pulumi-lang-python=\"`ltm.Snat`\" pulumi-lang-yaml=\"`f5bigip.ltm.Snat`\" pulumi-lang-java=\"`f5bigip.ltm.Snat`\"\u003e`f5bigip.ltm.Snat`\u003c/span\u003e Manages a SNAT configuration\n\nFor resources should be named with their `full path`. The full path is the combination of the `partition + name` of the resource.For example `/Common/test-snat`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_snat = new f5bigip.ltm.Snat(\"test-snat\", {\n    name: \"/Common/test-snat\",\n    translation: \"/Common/136.1.1.2\",\n    sourceport: \"preserve\",\n    origins: [{\n        name: \"0.0.0.0/0\",\n    }],\n    vlans: [\"/Common/internal\"],\n    vlansdisabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_snat = f5bigip.ltm.Snat(\"test-snat\",\n    name=\"/Common/test-snat\",\n    translation=\"/Common/136.1.1.2\",\n    sourceport=\"preserve\",\n    origins=[{\n        \"name\": \"0.0.0.0/0\",\n    }],\n    vlans=[\"/Common/internal\"],\n    vlansdisabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_snat = new F5BigIP.Ltm.Snat(\"test-snat\", new()\n    {\n        Name = \"/Common/test-snat\",\n        Translation = \"/Common/136.1.1.2\",\n        Sourceport = \"preserve\",\n        Origins = new[]\n        {\n            new F5BigIP.Ltm.Inputs.SnatOriginArgs\n            {\n                Name = \"0.0.0.0/0\",\n            },\n        },\n        Vlans = new[]\n        {\n            \"/Common/internal\",\n        },\n        Vlansdisabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewSnat(ctx, \"test-snat\", \u0026ltm.SnatArgs{\n\t\t\tName:        pulumi.String(\"/Common/test-snat\"),\n\t\t\tTranslation: pulumi.String(\"/Common/136.1.1.2\"),\n\t\t\tSourceport:  pulumi.String(\"preserve\"),\n\t\t\tOrigins: ltm.SnatOriginArray{\n\t\t\t\t\u0026ltm.SnatOriginArgs{\n\t\t\t\t\tName: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVlans: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/Common/internal\"),\n\t\t\t},\n\t\t\tVlansdisabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.Snat;\nimport com.pulumi.f5bigip.ltm.SnatArgs;\nimport com.pulumi.f5bigip.ltm.inputs.SnatOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_snat = new Snat(\"test-snat\", SnatArgs.builder()\n            .name(\"/Common/test-snat\")\n            .translation(\"/Common/136.1.1.2\")\n            .sourceport(\"preserve\")\n            .origins(SnatOriginArgs.builder()\n                .name(\"0.0.0.0/0\")\n                .build())\n            .vlans(\"/Common/internal\")\n            .vlansdisabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-snat:\n    type: f5bigip:ltm:Snat\n    properties:\n      name: /Common/test-snat\n      translation: /Common/136.1.1.2\n      sourceport: preserve\n      origins:\n        - name: 0.0.0.0/0\n      vlans:\n        - /Common/internal\n      vlansdisabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"autolasthop":{"type":"string","description":"Specifies whether to automatically map last hop for pools or not. The default is to use next level's default.\n"},"fullPath":{"type":"string","description":"Fullpath"},"mirror":{"type":"string","description":"Enables or disables mirroring of SNAT connections.\n"},"name":{"type":"string","description":"Name of the SNAT, name of SNAT should be full path. Full path is the combination of the `partition + SNAT name`,For example `/Common/test-snat`.\n"},"origins":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/SnatOrigin:SnatOrigin"},"description":"Specifies, for each SNAT that you create, the origin addresses that are to be members of that SNAT. Specify origin addresses by their IP addresses and service ports\n"},"partition":{"type":"string","description":"Partition or path to which the SNAT belongs"},"snatpool":{"type":"string","description":"Specifies the name of a SNAT pool. You can only use this option when \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`translation`\" pulumi-lang-dotnet=\"`Translation`\" pulumi-lang-go=\"`translation`\" pulumi-lang-python=\"`translation`\" pulumi-lang-yaml=\"`translation`\" pulumi-lang-java=\"`translation`\"\u003e`translation`\u003c/span\u003e are not used.\n"},"sourceport":{"type":"string","description":"Specifies how the SNAT object handles the client's source port. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"translation":{"type":"string","description":"Specifies the IP address configured for translation. Note that translated addresses are outside the traffic management system. You can only use this option when \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`snatpool`\" pulumi-lang-dotnet=\"`Snatpool`\" pulumi-lang-go=\"`snatpool`\" pulumi-lang-python=\"`snatpool`\" pulumi-lang-yaml=\"`snatpool`\" pulumi-lang-java=\"`snatpool`\"\u003e`snatpool`\u003c/span\u003e are not used.\n"},"vlans":{"type":"array","items":{"type":"string"},"description":"Specifies the available VLANs or tunnels and those for which the SNAT is enabled or disabled.\n"},"vlansdisabled":{"type":"boolean","description":"Specifies the VLANs or tunnels for which the SNAT is enabled or disabled. The default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, vlandisabled on VLANS specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e,if set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e vlanEnabled set on VLANS specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e .\n"}},"required":["autolasthop","mirror","name","origins"],"inputProperties":{"autolasthop":{"type":"string","description":"Specifies whether to automatically map last hop for pools or not. The default is to use next level's default.\n"},"fullPath":{"type":"string","description":"Fullpath"},"mirror":{"type":"string","description":"Enables or disables mirroring of SNAT connections.\n"},"name":{"type":"string","description":"Name of the SNAT, name of SNAT should be full path. Full path is the combination of the `partition + SNAT name`,For example `/Common/test-snat`.\n","willReplaceOnChanges":true},"origins":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/SnatOrigin:SnatOrigin"},"description":"Specifies, for each SNAT that you create, the origin addresses that are to be members of that SNAT. Specify origin addresses by their IP addresses and service ports\n"},"partition":{"type":"string","description":"Partition or path to which the SNAT belongs"},"snatpool":{"type":"string","description":"Specifies the name of a SNAT pool. You can only use this option when \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`translation`\" pulumi-lang-dotnet=\"`Translation`\" pulumi-lang-go=\"`translation`\" pulumi-lang-python=\"`translation`\" pulumi-lang-yaml=\"`translation`\" pulumi-lang-java=\"`translation`\"\u003e`translation`\u003c/span\u003e are not used.\n"},"sourceport":{"type":"string","description":"Specifies how the SNAT object handles the client's source port. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"translation":{"type":"string","description":"Specifies the IP address configured for translation. Note that translated addresses are outside the traffic management system. You can only use this option when \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`snatpool`\" pulumi-lang-dotnet=\"`Snatpool`\" pulumi-lang-go=\"`snatpool`\" pulumi-lang-python=\"`snatpool`\" pulumi-lang-yaml=\"`snatpool`\" pulumi-lang-java=\"`snatpool`\"\u003e`snatpool`\u003c/span\u003e are not used.\n"},"vlans":{"type":"array","items":{"type":"string"},"description":"Specifies the available VLANs or tunnels and those for which the SNAT is enabled or disabled.\n"},"vlansdisabled":{"type":"boolean","description":"Specifies the VLANs or tunnels for which the SNAT is enabled or disabled. The default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, vlandisabled on VLANS specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e,if set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e vlanEnabled set on VLANS specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e .\n"}},"requiredInputs":["name","origins"],"stateInputs":{"description":"Input properties used for looking up and filtering Snat resources.\n","properties":{"autolasthop":{"type":"string","description":"Specifies whether to automatically map last hop for pools or not. The default is to use next level's default.\n"},"fullPath":{"type":"string","description":"Fullpath"},"mirror":{"type":"string","description":"Enables or disables mirroring of SNAT connections.\n"},"name":{"type":"string","description":"Name of the SNAT, name of SNAT should be full path. Full path is the combination of the `partition + SNAT name`,For example `/Common/test-snat`.\n","willReplaceOnChanges":true},"origins":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/SnatOrigin:SnatOrigin"},"description":"Specifies, for each SNAT that you create, the origin addresses that are to be members of that SNAT. Specify origin addresses by their IP addresses and service ports\n"},"partition":{"type":"string","description":"Partition or path to which the SNAT belongs"},"snatpool":{"type":"string","description":"Specifies the name of a SNAT pool. You can only use this option when \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`translation`\" pulumi-lang-dotnet=\"`Translation`\" pulumi-lang-go=\"`translation`\" pulumi-lang-python=\"`translation`\" pulumi-lang-yaml=\"`translation`\" pulumi-lang-java=\"`translation`\"\u003e`translation`\u003c/span\u003e are not used.\n"},"sourceport":{"type":"string","description":"Specifies how the SNAT object handles the client's source port. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"translation":{"type":"string","description":"Specifies the IP address configured for translation. Note that translated addresses are outside the traffic management system. You can only use this option when \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`snatpool`\" pulumi-lang-dotnet=\"`Snatpool`\" pulumi-lang-go=\"`snatpool`\" pulumi-lang-python=\"`snatpool`\" pulumi-lang-yaml=\"`snatpool`\" pulumi-lang-java=\"`snatpool`\"\u003e`snatpool`\u003c/span\u003e are not used.\n"},"vlans":{"type":"array","items":{"type":"string"},"description":"Specifies the available VLANs or tunnels and those for which the SNAT is enabled or disabled.\n"},"vlansdisabled":{"type":"boolean","description":"Specifies the VLANs or tunnels for which the SNAT is enabled or disabled. The default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, vlandisabled on VLANS specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e,if set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e vlanEnabled set on VLANS specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e .\n"}},"type":"object"}},"f5bigip:ltm/snatPool:SnatPool":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.SnatPool`\" pulumi-lang-dotnet=\"`f5bigip.ltm.SnatPool`\" pulumi-lang-go=\"`ltm.SnatPool`\" pulumi-lang-python=\"`ltm.SnatPool`\" pulumi-lang-yaml=\"`f5bigip.ltm.SnatPool`\" pulumi-lang-java=\"`f5bigip.ltm.SnatPool`\"\u003e`f5bigip.ltm.SnatPool`\u003c/span\u003e Collections of SNAT translation addresses\n\nResource should be named with their \"full path\". The full path is the combination of the partition + name of the resource, for example /Common/my-snatpool. \n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst snatpoolSanjose = new f5bigip.ltm.SnatPool(\"snatpool_sanjose\", {\n    name: \"/Common/snatpool_sanjose\",\n    members: [\n        \"191.1.1.1\",\n        \"194.2.2.2\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsnatpool_sanjose = f5bigip.ltm.SnatPool(\"snatpool_sanjose\",\n    name=\"/Common/snatpool_sanjose\",\n    members=[\n        \"191.1.1.1\",\n        \"194.2.2.2\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snatpoolSanjose = new F5BigIP.Ltm.SnatPool(\"snatpool_sanjose\", new()\n    {\n        Name = \"/Common/snatpool_sanjose\",\n        Members = new[]\n        {\n            \"191.1.1.1\",\n            \"194.2.2.2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewSnatPool(ctx, \"snatpool_sanjose\", \u0026ltm.SnatPoolArgs{\n\t\t\tName: pulumi.String(\"/Common/snatpool_sanjose\"),\n\t\t\tMembers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"191.1.1.1\"),\n\t\t\t\tpulumi.String(\"194.2.2.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.SnatPool;\nimport com.pulumi.f5bigip.ltm.SnatPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var snatpoolSanjose = new SnatPool(\"snatpoolSanjose\", SnatPoolArgs.builder()\n            .name(\"/Common/snatpool_sanjose\")\n            .members(            \n                \"191.1.1.1\",\n                \"194.2.2.2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snatpoolSanjose:\n    type: f5bigip:ltm:SnatPool\n    name: snatpool_sanjose\n    properties:\n      name: /Common/snatpool_sanjose\n      members:\n        - 191.1.1.1\n        - 194.2.2.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"members":{"type":"array","items":{"type":"string"},"description":"Specifies a translation address to add to or delete from a SNAT pool (at least one address is required)\n"},"name":{"type":"string","description":"Name of the snatpool\n"}},"required":["members","name"],"inputProperties":{"members":{"type":"array","items":{"type":"string"},"description":"Specifies a translation address to add to or delete from a SNAT pool (at least one address is required)\n"},"name":{"type":"string","description":"Name of the snatpool\n","willReplaceOnChanges":true}},"requiredInputs":["members","name"],"stateInputs":{"description":"Input properties used for looking up and filtering SnatPool resources.\n","properties":{"members":{"type":"array","items":{"type":"string"},"description":"Specifies a translation address to add to or delete from a SNAT pool (at least one address is required)\n"},"name":{"type":"string","description":"Name of the snatpool\n","willReplaceOnChanges":true}},"type":"object"}},"f5bigip:ltm/virtualAddress:VirtualAddress":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.VirtualAddress`\" pulumi-lang-dotnet=\"`f5bigip.ltm.VirtualAddress`\" pulumi-lang-go=\"`ltm.VirtualAddress`\" pulumi-lang-python=\"`ltm.VirtualAddress`\" pulumi-lang-yaml=\"`f5bigip.ltm.VirtualAddress`\" pulumi-lang-java=\"`f5bigip.ltm.VirtualAddress`\"\u003e`f5bigip.ltm.VirtualAddress`\u003c/span\u003e Configures Virtual Server\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/virtual_server.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vsVa = new f5bigip.ltm.VirtualAddress(\"vs_va\", {\n    name: \"/Common/xxxxx\",\n    advertizeRoute: \"enabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nvs_va = f5bigip.ltm.VirtualAddress(\"vs_va\",\n    name=\"/Common/xxxxx\",\n    advertize_route=\"enabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vsVa = new F5BigIP.Ltm.VirtualAddress(\"vs_va\", new()\n    {\n        Name = \"/Common/xxxxx\",\n        AdvertizeRoute = \"enabled\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.NewVirtualAddress(ctx, \"vs_va\", \u0026ltm.VirtualAddressArgs{\n\t\t\tName:           pulumi.String(\"/Common/xxxxx\"),\n\t\t\tAdvertizeRoute: pulumi.String(\"enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.VirtualAddress;\nimport com.pulumi.f5bigip.ltm.VirtualAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vsVa = new VirtualAddress(\"vsVa\", VirtualAddressArgs.builder()\n            .name(\"/Common/xxxxx\")\n            .advertizeRoute(\"enabled\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vsVa:\n    type: f5bigip:ltm:VirtualAddress\n    name: vs_va\n    properties:\n      name: /Common/xxxxx\n      advertizeRoute: enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"advertizeRoute":{"type":"string","description":"Enabled dynamic routing of the address ( In versions prior to BIG-IP 13.0.0 HF1, you can configure the Route Advertisement option for a virtual address to be either Enabled or Disabled only. Beginning with BIG-IP 13.0.0 HF1, F5 added more settings for the Route Advertisement option. In addition, the Enabled setting is deprecated and replaced by the Selective setting. For more information, please look into KB article https://support.f5.com/csp/article/K85543242 )\n"},"arp":{"type":"boolean","description":"Enable or disable ARP for the virtual address\n"},"autoDelete":{"type":"boolean","description":"Automatically delete the virtual address with the virtual server\n"},"connLimit":{"type":"integer","description":"Max number of connections for virtual address\n"},"enabled":{"type":"boolean","description":"Enable or disable the virtual address\n"},"icmpEcho":{"type":"string","description":"Specifies how the system sends responses to ICMP echo requests on a per-virtual address basis.\n"},"name":{"type":"string","description":"Name of the virtual address\n"},"trafficGroup":{"type":"string","description":"Specify the partition and traffic group\n"}},"required":["name"],"inputProperties":{"advertizeRoute":{"type":"string","description":"Enabled dynamic routing of the address ( In versions prior to BIG-IP 13.0.0 HF1, you can configure the Route Advertisement option for a virtual address to be either Enabled or Disabled only. Beginning with BIG-IP 13.0.0 HF1, F5 added more settings for the Route Advertisement option. In addition, the Enabled setting is deprecated and replaced by the Selective setting. For more information, please look into KB article https://support.f5.com/csp/article/K85543242 )\n"},"arp":{"type":"boolean","description":"Enable or disable ARP for the virtual address\n"},"autoDelete":{"type":"boolean","description":"Automatically delete the virtual address with the virtual server\n"},"connLimit":{"type":"integer","description":"Max number of connections for virtual address\n"},"enabled":{"type":"boolean","description":"Enable or disable the virtual address\n"},"icmpEcho":{"type":"string","description":"Specifies how the system sends responses to ICMP echo requests on a per-virtual address basis.\n"},"name":{"type":"string","description":"Name of the virtual address\n","willReplaceOnChanges":true},"trafficGroup":{"type":"string","description":"Specify the partition and traffic group\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualAddress resources.\n","properties":{"advertizeRoute":{"type":"string","description":"Enabled dynamic routing of the address ( In versions prior to BIG-IP 13.0.0 HF1, you can configure the Route Advertisement option for a virtual address to be either Enabled or Disabled only. Beginning with BIG-IP 13.0.0 HF1, F5 added more settings for the Route Advertisement option. In addition, the Enabled setting is deprecated and replaced by the Selective setting. For more information, please look into KB article https://support.f5.com/csp/article/K85543242 )\n"},"arp":{"type":"boolean","description":"Enable or disable ARP for the virtual address\n"},"autoDelete":{"type":"boolean","description":"Automatically delete the virtual address with the virtual server\n"},"connLimit":{"type":"integer","description":"Max number of connections for virtual address\n"},"enabled":{"type":"boolean","description":"Enable or disable the virtual address\n"},"icmpEcho":{"type":"string","description":"Specifies how the system sends responses to ICMP echo requests on a per-virtual address basis.\n"},"name":{"type":"string","description":"Name of the virtual address\n","willReplaceOnChanges":true},"trafficGroup":{"type":"string","description":"Specify the partition and traffic group\n"}},"type":"object"}},"f5bigip:ltm/virtualServer:VirtualServer":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.VirtualServer`\" pulumi-lang-dotnet=\"`f5bigip.ltm.VirtualServer`\" pulumi-lang-go=\"`ltm.VirtualServer`\" pulumi-lang-python=\"`ltm.VirtualServer`\" pulumi-lang-yaml=\"`f5bigip.ltm.VirtualServer`\" pulumi-lang-java=\"`f5bigip.ltm.VirtualServer`\"\u003e`f5bigip.ltm.VirtualServer`\u003c/span\u003e Configures Virtual Server\n\nFor resources should be named with their `full path`. The full path is the combination of the `partition + name` of the resource (example: `/Common/test-virtualserver` ) or `partition + directory + name` of the resource (example: `/Common/test/test-virtualserver` ).\nWhen including directory in \u003cspan pulumi-lang-nodejs=\"`fullpath`\" pulumi-lang-dotnet=\"`Fullpath`\" pulumi-lang-go=\"`fullpath`\" pulumi-lang-python=\"`fullpath`\" pulumi-lang-yaml=\"`fullpath`\" pulumi-lang-java=\"`fullpath`\"\u003e`fullpath`\u003c/span\u003e we have to make sure it is created in the given partition before using it.\n\n\n\n## Importing\n\nAn existing virtual-server can be imported into this resource by supplying virtual-server Name in `full path` as \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e.\nAn example is below:\n```sh\n$ terraform import bigip_ltm_virtual_server.http /Common/terraform_vs_http\n```\n","properties":{"clientProfiles":{"type":"array","items":{"type":"string"},"description":"List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles\n"},"connectionLimit":{"type":"integer","description":"Specifies the maximum number of connections allowed for the virtual server."},"defaultPersistenceProfile":{"type":"string"},"description":{"type":"string","description":"Description of Virtual server\n"},"destination":{"type":"string","description":"Destination IP\n"},"fallbackPersistenceProfile":{"type":"string","description":"Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available.\n"},"firewallEnforcedPolicy":{"type":"string","description":"Applies the specified AFM policy to the virtual in an enforcing way,when creating a new virtual, if this parameter is not specified, the enforced is disabled.This should be in full path ex: `/Common/afm-test-policy`.\n"},"ipProtocol":{"type":"string","description":"Specifies a network protocol name you want the system to use to direct traffic on this virtual server. The default is \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e. valid options are [\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e]\n"},"irules":{"type":"array","items":{"type":"string"},"description":"The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic.\n"},"mask":{"type":"string","description":"Mask can either be in CIDR notation or decimal, i.e.: 24 or 255.255.255.0. A CIDR mask of 0 is the same as 0.0.0.0\n"},"name":{"type":"string","description":"Name of the virtual server\n"},"perFlowRequestAccessPolicy":{"type":"string"},"persistenceProfiles":{"type":"array","items":{"type":"string"},"description":"List of persistence profiles associated with the Virtual Server.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"Specifies the policies for the virtual server.\n"},"pool":{"type":"string","description":"Default pool name\n"},"port":{"type":"integer","description":"Listen port for the virtual server\n"},"profiles":{"type":"array","items":{"type":"string"},"description":"List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"Specifies the log profile applied to the virtual server.\n"},"serverProfiles":{"type":"array","items":{"type":"string"},"description":"List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles\n"},"snatpool":{"type":"string","description":"Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs.\n"},"source":{"type":"string","description":"Specifies an IP address or network from which the virtual server will accept traffic.\n"},"sourceAddressTranslation":{"type":"string","description":"Can be either omitted for \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e or the values \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e options : [\u003cspan pulumi-lang-nodejs=\"`snat`\" pulumi-lang-dotnet=\"`Snat`\" pulumi-lang-go=\"`snat`\" pulumi-lang-python=\"`snat`\" pulumi-lang-yaml=\"`snat`\" pulumi-lang-java=\"`snat`\"\u003e`snat`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e].\n"},"sourcePort":{"type":"string","description":"Specifies whether the system preserves the source port of the connection. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"state":{"type":"string","description":"Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled"},"trafficmatchingCriteria":{"type":"string","description":"Specifies destination traffic matching information to which the virtual server sends traffic"},"translateAddress":{"type":"string","description":"Enables or disables address translation for the virtual server. Turn address translation off for a virtual server if you want to use the virtual server to load balance connections to any address. This option is useful when the system is load balancing devices that have the same IP address.\n"},"translatePort":{"type":"string","description":"Enables or disables port translation. Turn port translation off for a virtual server if you want to use the virtual server to load balance connections to any service\n"},"vlans":{"type":"array","items":{"type":"string"},"description":"The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\"\u003e`vlan_enabled`\u003c/span\u003e\n"},"vlansEnabled":{"type":"boolean","description":"Enables the virtual server on the VLANs specified by the \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e option.\nBy default it is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e i.e vlanDisabled on specified vlans, if we want enable virtual server on VLANs specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e, mark this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"required":["connectionLimit","defaultPersistenceProfile","fallbackPersistenceProfile","firewallEnforcedPolicy","mask","name","perFlowRequestAccessPolicy","port","profiles","snatpool","source","sourceAddressTranslation","sourcePort","trafficmatchingCriteria"],"inputProperties":{"clientProfiles":{"type":"array","items":{"type":"string"},"description":"List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles\n"},"connectionLimit":{"type":"integer","description":"Specifies the maximum number of connections allowed for the virtual server."},"defaultPersistenceProfile":{"type":"string"},"description":{"type":"string","description":"Description of Virtual server\n"},"destination":{"type":"string","description":"Destination IP\n"},"fallbackPersistenceProfile":{"type":"string","description":"Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available.\n"},"firewallEnforcedPolicy":{"type":"string","description":"Applies the specified AFM policy to the virtual in an enforcing way,when creating a new virtual, if this parameter is not specified, the enforced is disabled.This should be in full path ex: `/Common/afm-test-policy`.\n"},"ipProtocol":{"type":"string","description":"Specifies a network protocol name you want the system to use to direct traffic on this virtual server. The default is \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e. valid options are [\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e]\n"},"irules":{"type":"array","items":{"type":"string"},"description":"The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic.\n"},"mask":{"type":"string","description":"Mask can either be in CIDR notation or decimal, i.e.: 24 or 255.255.255.0. A CIDR mask of 0 is the same as 0.0.0.0\n"},"name":{"type":"string","description":"Name of the virtual server\n","willReplaceOnChanges":true},"perFlowRequestAccessPolicy":{"type":"string"},"persistenceProfiles":{"type":"array","items":{"type":"string"},"description":"List of persistence profiles associated with the Virtual Server.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"Specifies the policies for the virtual server.\n"},"pool":{"type":"string","description":"Default pool name\n"},"port":{"type":"integer","description":"Listen port for the virtual server\n"},"profiles":{"type":"array","items":{"type":"string"},"description":"List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"Specifies the log profile applied to the virtual server.\n"},"serverProfiles":{"type":"array","items":{"type":"string"},"description":"List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles\n"},"snatpool":{"type":"string","description":"Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs.\n"},"source":{"type":"string","description":"Specifies an IP address or network from which the virtual server will accept traffic.\n"},"sourceAddressTranslation":{"type":"string","description":"Can be either omitted for \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e or the values \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e options : [\u003cspan pulumi-lang-nodejs=\"`snat`\" pulumi-lang-dotnet=\"`Snat`\" pulumi-lang-go=\"`snat`\" pulumi-lang-python=\"`snat`\" pulumi-lang-yaml=\"`snat`\" pulumi-lang-java=\"`snat`\"\u003e`snat`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e].\n"},"sourcePort":{"type":"string","description":"Specifies whether the system preserves the source port of the connection. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"state":{"type":"string","description":"Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled"},"trafficmatchingCriteria":{"type":"string","description":"Specifies destination traffic matching information to which the virtual server sends traffic"},"translateAddress":{"type":"string","description":"Enables or disables address translation for the virtual server. Turn address translation off for a virtual server if you want to use the virtual server to load balance connections to any address. This option is useful when the system is load balancing devices that have the same IP address.\n"},"translatePort":{"type":"string","description":"Enables or disables port translation. Turn port translation off for a virtual server if you want to use the virtual server to load balance connections to any service\n"},"vlans":{"type":"array","items":{"type":"string"},"description":"The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\"\u003e`vlan_enabled`\u003c/span\u003e\n"},"vlansEnabled":{"type":"boolean","description":"Enables the virtual server on the VLANs specified by the \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e option.\nBy default it is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e i.e vlanDisabled on specified vlans, if we want enable virtual server on VLANs specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e, mark this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualServer resources.\n","properties":{"clientProfiles":{"type":"array","items":{"type":"string"},"description":"List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles\n"},"connectionLimit":{"type":"integer","description":"Specifies the maximum number of connections allowed for the virtual server."},"defaultPersistenceProfile":{"type":"string"},"description":{"type":"string","description":"Description of Virtual server\n"},"destination":{"type":"string","description":"Destination IP\n"},"fallbackPersistenceProfile":{"type":"string","description":"Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available.\n"},"firewallEnforcedPolicy":{"type":"string","description":"Applies the specified AFM policy to the virtual in an enforcing way,when creating a new virtual, if this parameter is not specified, the enforced is disabled.This should be in full path ex: `/Common/afm-test-policy`.\n"},"ipProtocol":{"type":"string","description":"Specifies a network protocol name you want the system to use to direct traffic on this virtual server. The default is \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e. valid options are [\u003cspan pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\"\u003e`any`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e]\n"},"irules":{"type":"array","items":{"type":"string"},"description":"The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic.\n"},"mask":{"type":"string","description":"Mask can either be in CIDR notation or decimal, i.e.: 24 or 255.255.255.0. A CIDR mask of 0 is the same as 0.0.0.0\n"},"name":{"type":"string","description":"Name of the virtual server\n","willReplaceOnChanges":true},"perFlowRequestAccessPolicy":{"type":"string"},"persistenceProfiles":{"type":"array","items":{"type":"string"},"description":"List of persistence profiles associated with the Virtual Server.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"Specifies the policies for the virtual server.\n"},"pool":{"type":"string","description":"Default pool name\n"},"port":{"type":"integer","description":"Listen port for the virtual server\n"},"profiles":{"type":"array","items":{"type":"string"},"description":"List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc.\n"},"securityLogProfiles":{"type":"array","items":{"type":"string"},"description":"Specifies the log profile applied to the virtual server.\n"},"serverProfiles":{"type":"array","items":{"type":"string"},"description":"List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles\n"},"snatpool":{"type":"string","description":"Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs.\n"},"source":{"type":"string","description":"Specifies an IP address or network from which the virtual server will accept traffic.\n"},"sourceAddressTranslation":{"type":"string","description":"Can be either omitted for \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e or the values \u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e options : [\u003cspan pulumi-lang-nodejs=\"`snat`\" pulumi-lang-dotnet=\"`Snat`\" pulumi-lang-go=\"`snat`\" pulumi-lang-python=\"`snat`\" pulumi-lang-yaml=\"`snat`\" pulumi-lang-java=\"`snat`\"\u003e`snat`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`automap`\" pulumi-lang-dotnet=\"`Automap`\" pulumi-lang-go=\"`automap`\" pulumi-lang-python=\"`automap`\" pulumi-lang-yaml=\"`automap`\" pulumi-lang-java=\"`automap`\"\u003e`automap`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e].\n"},"sourcePort":{"type":"string","description":"Specifies whether the system preserves the source port of the connection. The default is \u003cspan pulumi-lang-nodejs=\"`preserve`\" pulumi-lang-dotnet=\"`Preserve`\" pulumi-lang-go=\"`preserve`\" pulumi-lang-python=\"`preserve`\" pulumi-lang-yaml=\"`preserve`\" pulumi-lang-java=\"`preserve`\"\u003e`preserve`\u003c/span\u003e.\n"},"state":{"type":"string","description":"Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled"},"trafficmatchingCriteria":{"type":"string","description":"Specifies destination traffic matching information to which the virtual server sends traffic"},"translateAddress":{"type":"string","description":"Enables or disables address translation for the virtual server. Turn address translation off for a virtual server if you want to use the virtual server to load balance connections to any address. This option is useful when the system is load balancing devices that have the same IP address.\n"},"translatePort":{"type":"string","description":"Enables or disables port translation. Turn port translation off for a virtual server if you want to use the virtual server to load balance connections to any service\n"},"vlans":{"type":"array","items":{"type":"string"},"description":"The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute \u003cspan pulumi-lang-nodejs=\"`vlanEnabled`\" pulumi-lang-dotnet=\"`VlanEnabled`\" pulumi-lang-go=\"`vlanEnabled`\" pulumi-lang-python=\"`vlan_enabled`\" pulumi-lang-yaml=\"`vlanEnabled`\" pulumi-lang-java=\"`vlanEnabled`\"\u003e`vlan_enabled`\u003c/span\u003e\n"},"vlansEnabled":{"type":"boolean","description":"Enables the virtual server on the VLANs specified by the \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e option.\nBy default it is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e i.e vlanDisabled on specified vlans, if we want enable virtual server on VLANs specified by \u003cspan pulumi-lang-nodejs=\"`vlans`\" pulumi-lang-dotnet=\"`Vlans`\" pulumi-lang-go=\"`vlans`\" pulumi-lang-python=\"`vlans`\" pulumi-lang-yaml=\"`vlans`\" pulumi-lang-java=\"`vlans`\"\u003e`vlans`\u003c/span\u003e, mark this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"}},"f5bigip:net/route:Route":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.net.Route`\" pulumi-lang-dotnet=\"`f5bigip.net.Route`\" pulumi-lang-go=\"`net.Route`\" pulumi-lang-python=\"`net.Route`\" pulumi-lang-yaml=\"`f5bigip.net.Route`\" pulumi-lang-java=\"`f5bigip.net.Route`\"\u003e`f5bigip.net.Route`\u003c/span\u003e Manages a route configuration\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst route2 = new f5bigip.net.Route(\"route2\", {\n    name: \"/Common/external-route\",\n    network: \"10.10.10.0/24\",\n    gw: \"1.1.1.2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nroute2 = f5bigip.net.Route(\"route2\",\n    name=\"/Common/external-route\",\n    network=\"10.10.10.0/24\",\n    gw=\"1.1.1.2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var route2 = new F5BigIP.Net.Route(\"route2\", new()\n    {\n        Name = \"/Common/external-route\",\n        Network = \"10.10.10.0/24\",\n        Gw = \"1.1.1.2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/net\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := net.NewRoute(ctx, \"route2\", \u0026net.RouteArgs{\n\t\t\tName:    pulumi.String(\"/Common/external-route\"),\n\t\t\tNetwork: pulumi.String(\"10.10.10.0/24\"),\n\t\t\tGw:      pulumi.String(\"1.1.1.2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.net.Route;\nimport com.pulumi.f5bigip.net.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var route2 = new Route(\"route2\", RouteArgs.builder()\n            .name(\"/Common/external-route\")\n            .network(\"10.10.10.0/24\")\n            .gw(\"1.1.1.2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  route2:\n    type: f5bigip:net:Route\n    properties:\n      name: /Common/external-route\n      network: 10.10.10.0/24\n      gw: 1.1.1.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"gw":{"type":"string","description":"Specifies a gateway address for the route.\n"},"name":{"type":"string","description":"Name of the route.Name of Route should be full path,full path is the combination of the `partition + route name`,For ex: `/Common/test-net-route`.\n"},"network":{"type":"string","description":"The destination subnet and netmask for the route.\n"},"reject":{"type":"boolean","description":"reject route"},"tunnelRef":{"type":"string","description":"tunnel_ref to route traffic"}},"required":["name","network"],"inputProperties":{"gw":{"type":"string","description":"Specifies a gateway address for the route.\n"},"name":{"type":"string","description":"Name of the route.Name of Route should be full path,full path is the combination of the `partition + route name`,For ex: `/Common/test-net-route`.\n","willReplaceOnChanges":true},"network":{"type":"string","description":"The destination subnet and netmask for the route.\n"},"reject":{"type":"boolean","description":"reject route"},"tunnelRef":{"type":"string","description":"tunnel_ref to route traffic"}},"requiredInputs":["name","network"],"stateInputs":{"description":"Input properties used for looking up and filtering Route resources.\n","properties":{"gw":{"type":"string","description":"Specifies a gateway address for the route.\n"},"name":{"type":"string","description":"Name of the route.Name of Route should be full path,full path is the combination of the `partition + route name`,For ex: `/Common/test-net-route`.\n","willReplaceOnChanges":true},"network":{"type":"string","description":"The destination subnet and netmask for the route.\n"},"reject":{"type":"boolean","description":"reject route"},"tunnelRef":{"type":"string","description":"tunnel_ref to route traffic"}},"type":"object"}},"f5bigip:net/selfIp:SelfIp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.net.SelfIp`\" pulumi-lang-dotnet=\"`f5bigip.net.SelfIp`\" pulumi-lang-go=\"`net.SelfIp`\" pulumi-lang-python=\"`net.SelfIp`\" pulumi-lang-yaml=\"`f5bigip.net.SelfIp`\" pulumi-lang-java=\"`f5bigip.net.SelfIp`\"\u003e`f5bigip.net.SelfIp`\u003c/span\u003e Manages a selfip configuration\n\nResource should be named with their `full path`. The full path is the combination of the `partition + name of the resource`, for example `/Common/my-selfip`.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vlan1 = new f5bigip.net.Vlan(\"vlan1\", {\n    name: \"/Common/Internal\",\n    tag: 101,\n    interfaces: [{\n        vlanport: \"1.2\",\n        tagged: false,\n    }],\n});\nconst selfip1 = new f5bigip.net.SelfIp(\"selfip1\", {\n    name: \"/Common/internalselfIP\",\n    ip: \"11.1.1.1/24\",\n    vlan: \"/Common/internal\",\n}, {\n    dependsOn: [vlan1],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nvlan1 = f5bigip.net.Vlan(\"vlan1\",\n    name=\"/Common/Internal\",\n    tag=101,\n    interfaces=[{\n        \"vlanport\": \"1.2\",\n        \"tagged\": False,\n    }])\nselfip1 = f5bigip.net.SelfIp(\"selfip1\",\n    name=\"/Common/internalselfIP\",\n    ip=\"11.1.1.1/24\",\n    vlan=\"/Common/internal\",\n    opts = pulumi.ResourceOptions(depends_on=[vlan1]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vlan1 = new F5BigIP.Net.Vlan(\"vlan1\", new()\n    {\n        Name = \"/Common/Internal\",\n        Tag = 101,\n        Interfaces = new[]\n        {\n            new F5BigIP.Net.Inputs.VlanInterfaceArgs\n            {\n                Vlanport = \"1.2\",\n                Tagged = false,\n            },\n        },\n    });\n\n    var selfip1 = new F5BigIP.Net.SelfIp(\"selfip1\", new()\n    {\n        Name = \"/Common/internalselfIP\",\n        Ip = \"11.1.1.1/24\",\n        Vlan = \"/Common/internal\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vlan1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/net\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvlan1, err := net.NewVlan(ctx, \"vlan1\", \u0026net.VlanArgs{\n\t\t\tName: pulumi.String(\"/Common/Internal\"),\n\t\t\tTag:  pulumi.Int(101),\n\t\t\tInterfaces: net.VlanInterfaceArray{\n\t\t\t\t\u0026net.VlanInterfaceArgs{\n\t\t\t\t\tVlanport: pulumi.String(\"1.2\"),\n\t\t\t\t\tTagged:   pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = net.NewSelfIp(ctx, \"selfip1\", \u0026net.SelfIpArgs{\n\t\t\tName: pulumi.String(\"/Common/internalselfIP\"),\n\t\t\tIp:   pulumi.String(\"11.1.1.1/24\"),\n\t\t\tVlan: pulumi.String(\"/Common/internal\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvlan1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.net.Vlan;\nimport com.pulumi.f5bigip.net.VlanArgs;\nimport com.pulumi.f5bigip.net.inputs.VlanInterfaceArgs;\nimport com.pulumi.f5bigip.net.SelfIp;\nimport com.pulumi.f5bigip.net.SelfIpArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vlan1 = new Vlan(\"vlan1\", VlanArgs.builder()\n            .name(\"/Common/Internal\")\n            .tag(101)\n            .interfaces(VlanInterfaceArgs.builder()\n                .vlanport(\"1.2\")\n                .tagged(false)\n                .build())\n            .build());\n\n        var selfip1 = new SelfIp(\"selfip1\", SelfIpArgs.builder()\n            .name(\"/Common/internalselfIP\")\n            .ip(\"11.1.1.1/24\")\n            .vlan(\"/Common/internal\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vlan1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vlan1:\n    type: f5bigip:net:Vlan\n    properties:\n      name: /Common/Internal\n      tag: 101\n      interfaces:\n        - vlanport: 1.2\n          tagged: false\n  selfip1:\n    type: f5bigip:net:SelfIp\n    properties:\n      name: /Common/internalselfIP\n      ip: 11.1.1.1/24\n      vlan: /Common/internal\n    options:\n      dependsOn:\n        - ${vlan1}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n### Example usage with \u003cspan pulumi-lang-nodejs=\"`portLockdown`\" pulumi-lang-dotnet=\"`PortLockdown`\" pulumi-lang-go=\"`portLockdown`\" pulumi-lang-python=\"`port_lockdown`\" pulumi-lang-yaml=\"`portLockdown`\" pulumi-lang-java=\"`portLockdown`\"\u003e`port_lockdown`\u003c/span\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst selfip1 = new f5bigip.net.SelfIp(\"selfip1\", {\n    name: \"/Common/internalselfIP\",\n    ip: \"11.1.1.1/24\",\n    vlan: \"/Common/internal\",\n    trafficGroup: \"traffic-group-1\",\n    portLockdowns: [\n        \"tcp:4040\",\n        \"udp:5050\",\n        \"egp:0\",\n    ],\n}, {\n    dependsOn: [vlan1],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nselfip1 = f5bigip.net.SelfIp(\"selfip1\",\n    name=\"/Common/internalselfIP\",\n    ip=\"11.1.1.1/24\",\n    vlan=\"/Common/internal\",\n    traffic_group=\"traffic-group-1\",\n    port_lockdowns=[\n        \"tcp:4040\",\n        \"udp:5050\",\n        \"egp:0\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[vlan1]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var selfip1 = new F5BigIP.Net.SelfIp(\"selfip1\", new()\n    {\n        Name = \"/Common/internalselfIP\",\n        Ip = \"11.1.1.1/24\",\n        Vlan = \"/Common/internal\",\n        TrafficGroup = \"traffic-group-1\",\n        PortLockdowns = new[]\n        {\n            \"tcp:4040\",\n            \"udp:5050\",\n            \"egp:0\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vlan1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/net\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := net.NewSelfIp(ctx, \"selfip1\", \u0026net.SelfIpArgs{\n\t\t\tName:         pulumi.String(\"/Common/internalselfIP\"),\n\t\t\tIp:           pulumi.String(\"11.1.1.1/24\"),\n\t\t\tVlan:         pulumi.String(\"/Common/internal\"),\n\t\t\tTrafficGroup: pulumi.String(\"traffic-group-1\"),\n\t\t\tPortLockdowns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tcp:4040\"),\n\t\t\t\tpulumi.String(\"udp:5050\"),\n\t\t\t\tpulumi.String(\"egp:0\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvlan1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.net.SelfIp;\nimport com.pulumi.f5bigip.net.SelfIpArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var selfip1 = new SelfIp(\"selfip1\", SelfIpArgs.builder()\n            .name(\"/Common/internalselfIP\")\n            .ip(\"11.1.1.1/24\")\n            .vlan(\"/Common/internal\")\n            .trafficGroup(\"traffic-group-1\")\n            .portLockdowns(            \n                \"tcp:4040\",\n                \"udp:5050\",\n                \"egp:0\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vlan1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  selfip1:\n    type: f5bigip:net:SelfIp\n    properties:\n      name: /Common/internalselfIP\n      ip: 11.1.1.1/24\n      vlan: /Common/internal\n      trafficGroup: traffic-group-1\n      portLockdowns:\n        - tcp:4040\n        - udp:5050\n        - egp:0\n    options:\n      dependsOn:\n        - ${vlan1}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example usage with \u003cspan pulumi-lang-nodejs=\"`portLockdown`\" pulumi-lang-dotnet=\"`PortLockdown`\" pulumi-lang-go=\"`portLockdown`\" pulumi-lang-python=\"`port_lockdown`\" pulumi-lang-yaml=\"`portLockdown`\" pulumi-lang-java=\"`portLockdown`\"\u003e`port_lockdown`\u003c/span\u003e set to `[\"none\"]`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst selfip1 = new f5bigip.net.SelfIp(\"selfip1\", {\n    name: \"/Common/internalselfIP\",\n    ip: \"11.1.1.1/24\",\n    vlan: \"/Common/internal\",\n    trafficGroup: \"traffic-group-1\",\n    portLockdowns: [\"none\"],\n}, {\n    dependsOn: [vlan1],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nselfip1 = f5bigip.net.SelfIp(\"selfip1\",\n    name=\"/Common/internalselfIP\",\n    ip=\"11.1.1.1/24\",\n    vlan=\"/Common/internal\",\n    traffic_group=\"traffic-group-1\",\n    port_lockdowns=[\"none\"],\n    opts = pulumi.ResourceOptions(depends_on=[vlan1]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var selfip1 = new F5BigIP.Net.SelfIp(\"selfip1\", new()\n    {\n        Name = \"/Common/internalselfIP\",\n        Ip = \"11.1.1.1/24\",\n        Vlan = \"/Common/internal\",\n        TrafficGroup = \"traffic-group-1\",\n        PortLockdowns = new[]\n        {\n            \"none\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vlan1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/net\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := net.NewSelfIp(ctx, \"selfip1\", \u0026net.SelfIpArgs{\n\t\t\tName:         pulumi.String(\"/Common/internalselfIP\"),\n\t\t\tIp:           pulumi.String(\"11.1.1.1/24\"),\n\t\t\tVlan:         pulumi.String(\"/Common/internal\"),\n\t\t\tTrafficGroup: pulumi.String(\"traffic-group-1\"),\n\t\t\tPortLockdowns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"none\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvlan1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.net.SelfIp;\nimport com.pulumi.f5bigip.net.SelfIpArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var selfip1 = new SelfIp(\"selfip1\", SelfIpArgs.builder()\n            .name(\"/Common/internalselfIP\")\n            .ip(\"11.1.1.1/24\")\n            .vlan(\"/Common/internal\")\n            .trafficGroup(\"traffic-group-1\")\n            .portLockdowns(\"none\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vlan1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  selfip1:\n    type: f5bigip:net:SelfIp\n    properties:\n      name: /Common/internalselfIP\n      ip: 11.1.1.1/24\n      vlan: /Common/internal\n      trafficGroup: traffic-group-1\n      portLockdowns:\n        - none\n    options:\n      dependsOn:\n        - ${vlan1}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example usage with route domain embedded in the \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst selfip1 = new f5bigip.net.SelfIp(\"selfip1\", {\n    name: \"/Common/internalselfIP\",\n    ip: \"11.1.1.1%4/24\",\n    vlan: \"/Common/internal\",\n    trafficGroup: \"traffic-group-1\",\n    portLockdowns: [\"none\"],\n}, {\n    dependsOn: [vlan1],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nselfip1 = f5bigip.net.SelfIp(\"selfip1\",\n    name=\"/Common/internalselfIP\",\n    ip=\"11.1.1.1%4/24\",\n    vlan=\"/Common/internal\",\n    traffic_group=\"traffic-group-1\",\n    port_lockdowns=[\"none\"],\n    opts = pulumi.ResourceOptions(depends_on=[vlan1]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var selfip1 = new F5BigIP.Net.SelfIp(\"selfip1\", new()\n    {\n        Name = \"/Common/internalselfIP\",\n        Ip = \"11.1.1.1%4/24\",\n        Vlan = \"/Common/internal\",\n        TrafficGroup = \"traffic-group-1\",\n        PortLockdowns = new[]\n        {\n            \"none\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vlan1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/net\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := net.NewSelfIp(ctx, \"selfip1\", \u0026net.SelfIpArgs{\n\t\t\tName:         pulumi.String(\"/Common/internalselfIP\"),\n\t\t\tIp:           pulumi.String(\"11.1.1.1%4/24\"),\n\t\t\tVlan:         pulumi.String(\"/Common/internal\"),\n\t\t\tTrafficGroup: pulumi.String(\"traffic-group-1\"),\n\t\t\tPortLockdowns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"none\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvlan1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.net.SelfIp;\nimport com.pulumi.f5bigip.net.SelfIpArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var selfip1 = new SelfIp(\"selfip1\", SelfIpArgs.builder()\n            .name(\"/Common/internalselfIP\")\n            .ip(\"11.1.1.1%4/24\")\n            .vlan(\"/Common/internal\")\n            .trafficGroup(\"traffic-group-1\")\n            .portLockdowns(\"none\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vlan1)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  selfip1:\n    type: f5bigip:net:SelfIp\n    properties:\n      name: /Common/internalselfIP\n      ip: 11.1.1.1%4/24\n      vlan: /Common/internal\n      trafficGroup: traffic-group-1\n      portLockdowns:\n        - none\n    options:\n      dependsOn:\n        - ${vlan1}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"ip":{"type":"string","description":"The Self IP's address and netmask. The IP address could also contain the route domain, e.g. `10.12.13.14%4/24`.\n"},"name":{"type":"string","description":"Name of the selfip\n"},"portLockdowns":{"type":"array","items":{"type":"string"},"description":"Specifies the port lockdown, defaults to `Allow None` if not specified.\n"},"trafficGroup":{"type":"string","description":"Specifies the traffic group, defaults to `traffic-group-local-only` if not specified.\n"},"vlan":{"type":"string","description":"Specifies the VLAN for which you are setting a self IP address. This setting must be provided when a self IP is created.\n"}},"required":["ip","name","vlan"],"inputProperties":{"ip":{"type":"string","description":"The Self IP's address and netmask. The IP address could also contain the route domain, e.g. `10.12.13.14%4/24`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the selfip\n","willReplaceOnChanges":true},"portLockdowns":{"type":"array","items":{"type":"string"},"description":"Specifies the port lockdown, defaults to `Allow None` if not specified.\n"},"trafficGroup":{"type":"string","description":"Specifies the traffic group, defaults to `traffic-group-local-only` if not specified.\n"},"vlan":{"type":"string","description":"Specifies the VLAN for which you are setting a self IP address. This setting must be provided when a self IP is created.\n"}},"requiredInputs":["ip","name","vlan"],"stateInputs":{"description":"Input properties used for looking up and filtering SelfIp resources.\n","properties":{"ip":{"type":"string","description":"The Self IP's address and netmask. The IP address could also contain the route domain, e.g. `10.12.13.14%4/24`.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the selfip\n","willReplaceOnChanges":true},"portLockdowns":{"type":"array","items":{"type":"string"},"description":"Specifies the port lockdown, defaults to `Allow None` if not specified.\n"},"trafficGroup":{"type":"string","description":"Specifies the traffic group, defaults to `traffic-group-local-only` if not specified.\n"},"vlan":{"type":"string","description":"Specifies the VLAN for which you are setting a self IP address. This setting must be provided when a self IP is created.\n"}},"type":"object"}},"f5bigip:net/vlan:Vlan":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.net.Vlan`\" pulumi-lang-dotnet=\"`f5bigip.net.Vlan`\" pulumi-lang-go=\"`net.Vlan`\" pulumi-lang-python=\"`net.Vlan`\" pulumi-lang-yaml=\"`f5bigip.net.Vlan`\" pulumi-lang-java=\"`f5bigip.net.Vlan`\"\u003e`f5bigip.net.Vlan`\u003c/span\u003e Manages a vlan configuration\n\nFor resources should be named with their \"full path\". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vlan1 = new f5bigip.net.Vlan(\"vlan1\", {\n    name: \"/Common/Internal\",\n    tag: 101,\n    interfaces: [{\n        vlanport: \"1.2\",\n        tagged: false,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nvlan1 = f5bigip.net.Vlan(\"vlan1\",\n    name=\"/Common/Internal\",\n    tag=101,\n    interfaces=[{\n        \"vlanport\": \"1.2\",\n        \"tagged\": False,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vlan1 = new F5BigIP.Net.Vlan(\"vlan1\", new()\n    {\n        Name = \"/Common/Internal\",\n        Tag = 101,\n        Interfaces = new[]\n        {\n            new F5BigIP.Net.Inputs.VlanInterfaceArgs\n            {\n                Vlanport = \"1.2\",\n                Tagged = false,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/net\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := net.NewVlan(ctx, \"vlan1\", \u0026net.VlanArgs{\n\t\t\tName: pulumi.String(\"/Common/Internal\"),\n\t\t\tTag:  pulumi.Int(101),\n\t\t\tInterfaces: net.VlanInterfaceArray{\n\t\t\t\t\u0026net.VlanInterfaceArgs{\n\t\t\t\t\tVlanport: pulumi.String(\"1.2\"),\n\t\t\t\t\tTagged:   pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.net.Vlan;\nimport com.pulumi.f5bigip.net.VlanArgs;\nimport com.pulumi.f5bigip.net.inputs.VlanInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vlan1 = new Vlan(\"vlan1\", VlanArgs.builder()\n            .name(\"/Common/Internal\")\n            .tag(101)\n            .interfaces(VlanInterfaceArgs.builder()\n                .vlanport(\"1.2\")\n                .tagged(false)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vlan1:\n    type: f5bigip:net:Vlan\n    properties:\n      name: /Common/Internal\n      tag: 101\n      interfaces:\n        - vlanport: 1.2\n          tagged: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cmpHash":{"type":"string","description":"Specifies how the traffic on the VLAN will be disaggregated. The value selected determines the traffic disaggregation method. possible options: [\u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `src-ip`, `dst-ip`]\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/f5bigip:net/VlanInterface:VlanInterface"},"description":"Specifies which interfaces you want this VLAN to use for traffic management.\n"},"mtu":{"type":"integer","description":"Specifies the maximum transmission unit (MTU) for traffic on this VLAN. The default value is \u003cspan pulumi-lang-nodejs=\"`1500`\" pulumi-lang-dotnet=\"`1500`\" pulumi-lang-go=\"`1500`\" pulumi-lang-python=\"`1500`\" pulumi-lang-yaml=\"`1500`\" pulumi-lang-java=\"`1500`\"\u003e`1500`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the vlan\n"},"tag":{"type":"integer","description":"Specifies a number that the system adds into the header of any frame passing through the VLAN.\n"}},"required":["cmpHash","name"],"inputProperties":{"cmpHash":{"type":"string","description":"Specifies how the traffic on the VLAN will be disaggregated. The value selected determines the traffic disaggregation method. possible options: [\u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `src-ip`, `dst-ip`]\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/f5bigip:net/VlanInterface:VlanInterface"},"description":"Specifies which interfaces you want this VLAN to use for traffic management.\n"},"mtu":{"type":"integer","description":"Specifies the maximum transmission unit (MTU) for traffic on this VLAN. The default value is \u003cspan pulumi-lang-nodejs=\"`1500`\" pulumi-lang-dotnet=\"`1500`\" pulumi-lang-go=\"`1500`\" pulumi-lang-python=\"`1500`\" pulumi-lang-yaml=\"`1500`\" pulumi-lang-java=\"`1500`\"\u003e`1500`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the vlan\n","willReplaceOnChanges":true},"tag":{"type":"integer","description":"Specifies a number that the system adds into the header of any frame passing through the VLAN.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering Vlan resources.\n","properties":{"cmpHash":{"type":"string","description":"Specifies how the traffic on the VLAN will be disaggregated. The value selected determines the traffic disaggregation method. possible options: [\u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, `src-ip`, `dst-ip`]\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/f5bigip:net/VlanInterface:VlanInterface"},"description":"Specifies which interfaces you want this VLAN to use for traffic management.\n"},"mtu":{"type":"integer","description":"Specifies the maximum transmission unit (MTU) for traffic on this VLAN. The default value is \u003cspan pulumi-lang-nodejs=\"`1500`\" pulumi-lang-dotnet=\"`1500`\" pulumi-lang-go=\"`1500`\" pulumi-lang-python=\"`1500`\" pulumi-lang-yaml=\"`1500`\" pulumi-lang-java=\"`1500`\"\u003e`1500`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the vlan\n","willReplaceOnChanges":true},"tag":{"type":"integer","description":"Specifies a number that the system adds into the header of any frame passing through the VLAN.\n"}},"type":"object"}},"f5bigip:ssl/certificate:Certificate":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ssl.Certificate`\" pulumi-lang-dotnet=\"`f5bigip.ssl.Certificate`\" pulumi-lang-go=\"`ssl.Certificate`\" pulumi-lang-python=\"`ssl.Certificate`\" pulumi-lang-yaml=\"`f5bigip.ssl.Certificate`\" pulumi-lang-java=\"`f5bigip.ssl.Certificate`\"\u003e`f5bigip.ssl.Certificate`\u003c/span\u003e This resource will import SSL certificates on BIG-IP LTM. \nCertificates can be imported from certificate files on the local disk, in PEM format\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nconst test_cert = new f5bigip.ssl.Certificate(\"test-cert\", {\n    name: \"servercert.crt\",\n    content: std.file({\n        input: \"servercert.crt\",\n    }).then(invoke =\u003e invoke.result),\n    partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\ntest_cert = f5bigip.ssl.Certificate(\"test-cert\",\n    name=\"servercert.crt\",\n    content=std.file(input=\"servercert.crt\").result,\n    partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_cert = new F5BigIP.Ssl.Certificate(\"test-cert\", new()\n    {\n        Name = \"servercert.crt\",\n        Content = Std.File.Invoke(new()\n        {\n            Input = \"servercert.crt\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Partition = \"Common\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"servercert.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssl.NewCertificate(ctx, \"test-cert\", \u0026ssl.CertificateArgs{\n\t\t\tName:      pulumi.String(\"servercert.crt\"),\n\t\t\tContent:   pulumi.String(invokeFile.Result),\n\t\t\tPartition: pulumi.String(\"Common\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.Certificate;\nimport com.pulumi.f5bigip.ssl.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_cert = new Certificate(\"test-cert\", CertificateArgs.builder()\n            .name(\"servercert.crt\")\n            .content(StdFunctions.file(FileArgs.builder()\n                .input(\"servercert.crt\")\n                .build()).result())\n            .partition(\"Common\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-cert:\n    type: f5bigip:ssl:Certificate\n    properties:\n      name: servercert.crt\n      content:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: servercert.crt\n          return: result\n      partition: Common\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"content":{"type":"string","description":"Content of certificate on Local Disk,path of SSL certificate will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function\n","secret":true},"fullPath":{"type":"string","description":"Full Path Name of ssl certificate"},"issuerCert":{"type":"string","description":"Specifies the issuer certificate.\n"},"monitoringType":{"type":"string","description":"Specifies the type of monitoring used.\n"},"name":{"type":"string","description":"Name of the SSL Certificate to be Imported on to BIGIP\n"},"ocsp":{"type":"string","description":"Specifies the OCSP responder.\n"},"partition":{"type":"string","description":"Partition on to SSL Certificate to be imported. The parameter is not required when running terraform import operation. In such case the name must be provided in\u003cspan pulumi-lang-nodejs=\" fullPath \" pulumi-lang-dotnet=\" FullPath \" pulumi-lang-go=\" fullPath \" pulumi-lang-python=\" full_path \" pulumi-lang-yaml=\" fullPath \" pulumi-lang-java=\" fullPath \"\u003e full_path \u003c/span\u003eformat.\n"}},"required":["content","fullPath","name"],"inputProperties":{"content":{"type":"string","description":"Content of certificate on Local Disk,path of SSL certificate will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function\n","secret":true},"fullPath":{"type":"string","description":"Full Path Name of ssl certificate"},"issuerCert":{"type":"string","description":"Specifies the issuer certificate.\n"},"monitoringType":{"type":"string","description":"Specifies the type of monitoring used.\n"},"name":{"type":"string","description":"Name of the SSL Certificate to be Imported on to BIGIP\n","willReplaceOnChanges":true},"ocsp":{"type":"string","description":"Specifies the OCSP responder.\n"},"partition":{"type":"string","description":"Partition on to SSL Certificate to be imported. The parameter is not required when running terraform import operation. In such case the name must be provided in\u003cspan pulumi-lang-nodejs=\" fullPath \" pulumi-lang-dotnet=\" FullPath \" pulumi-lang-go=\" fullPath \" pulumi-lang-python=\" full_path \" pulumi-lang-yaml=\" fullPath \" pulumi-lang-java=\" fullPath \"\u003e full_path \u003c/span\u003eformat.\n"}},"requiredInputs":["content","name"],"stateInputs":{"description":"Input properties used for looking up and filtering Certificate resources.\n","properties":{"content":{"type":"string","description":"Content of certificate on Local Disk,path of SSL certificate will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function\n","secret":true},"fullPath":{"type":"string","description":"Full Path Name of ssl certificate"},"issuerCert":{"type":"string","description":"Specifies the issuer certificate.\n"},"monitoringType":{"type":"string","description":"Specifies the type of monitoring used.\n"},"name":{"type":"string","description":"Name of the SSL Certificate to be Imported on to BIGIP\n","willReplaceOnChanges":true},"ocsp":{"type":"string","description":"Specifies the OCSP responder.\n"},"partition":{"type":"string","description":"Partition on to SSL Certificate to be imported. The parameter is not required when running terraform import operation. In such case the name must be provided in\u003cspan pulumi-lang-nodejs=\" fullPath \" pulumi-lang-dotnet=\" FullPath \" pulumi-lang-go=\" fullPath \" pulumi-lang-python=\" full_path \" pulumi-lang-yaml=\" fullPath \" pulumi-lang-java=\" fullPath \"\u003e full_path \u003c/span\u003eformat.\n"}},"type":"object"}},"f5bigip:ssl/key:Key":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.ssl.Key`\" pulumi-lang-dotnet=\"`f5bigip.ssl.Key`\" pulumi-lang-go=\"`ssl.Key`\" pulumi-lang-python=\"`ssl.Key`\" pulumi-lang-yaml=\"`f5bigip.ssl.Key`\" pulumi-lang-java=\"`f5bigip.ssl.Key`\"\u003e`f5bigip.ssl.Key`\u003c/span\u003e This resource will import SSL certificate key on BIG-IP LTM. \nCertificate key can be imported from certificate key files on the local disk, in PEM format\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nconst test_key = new f5bigip.ssl.Key(\"test-key\", {\n    name: \"serverkey.key\",\n    content: std.file({\n        input: \"serverkey.key\",\n    }).then(invoke =\u003e invoke.result),\n    partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\ntest_key = f5bigip.ssl.Key(\"test-key\",\n    name=\"serverkey.key\",\n    content=std.file(input=\"serverkey.key\").result,\n    partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_key = new F5BigIP.Ssl.Key(\"test-key\", new()\n    {\n        Name = \"serverkey.key\",\n        Content = Std.File.Invoke(new()\n        {\n            Input = \"serverkey.key\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Partition = \"Common\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"serverkey.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssl.NewKey(ctx, \"test-key\", \u0026ssl.KeyArgs{\n\t\t\tName:      pulumi.String(\"serverkey.key\"),\n\t\t\tContent:   pulumi.String(invokeFile.Result),\n\t\t\tPartition: pulumi.String(\"Common\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.Key;\nimport com.pulumi.f5bigip.ssl.KeyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_key = new Key(\"test-key\", KeyArgs.builder()\n            .name(\"serverkey.key\")\n            .content(StdFunctions.file(FileArgs.builder()\n                .input(\"serverkey.key\")\n                .build()).result())\n            .partition(\"Common\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-key:\n    type: f5bigip:ssl:Key\n    properties:\n      name: serverkey.key\n      content:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: serverkey.key\n          return: result\n      partition: Common\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"content":{"type":"string","description":"Content of certificate key on Local Disk,path of SSL certificate key will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function\n","secret":true},"fullPath":{"type":"string","description":"Full Path Name of ssl key"},"name":{"type":"string","description":"Name of the SSL Certificate key to be Imported on to BIGIP\n"},"partition":{"type":"string","description":"Partition on to SSL Certificate key to be imported. The parameter is not required when running terraform import operation. In such case the name must be provided in \u003cspan pulumi-lang-nodejs=\"`fullPath`\" pulumi-lang-dotnet=\"`FullPath`\" pulumi-lang-go=\"`fullPath`\" pulumi-lang-python=\"`full_path`\" pulumi-lang-yaml=\"`fullPath`\" pulumi-lang-java=\"`fullPath`\"\u003e`full_path`\u003c/span\u003e format.\n"},"passphrase":{"type":"string","description":"Passphrase on key.","secret":true}},"required":["content","fullPath","name"],"inputProperties":{"content":{"type":"string","description":"Content of certificate key on Local Disk,path of SSL certificate key will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function\n","secret":true},"fullPath":{"type":"string","description":"Full Path Name of ssl key"},"name":{"type":"string","description":"Name of the SSL Certificate key to be Imported on to BIGIP\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition on to SSL Certificate key to be imported. The parameter is not required when running terraform import operation. In such case the name must be provided in \u003cspan pulumi-lang-nodejs=\"`fullPath`\" pulumi-lang-dotnet=\"`FullPath`\" pulumi-lang-go=\"`fullPath`\" pulumi-lang-python=\"`full_path`\" pulumi-lang-yaml=\"`fullPath`\" pulumi-lang-java=\"`fullPath`\"\u003e`full_path`\u003c/span\u003e format.\n"},"passphrase":{"type":"string","description":"Passphrase on key.","secret":true}},"requiredInputs":["content","name"],"stateInputs":{"description":"Input properties used for looking up and filtering Key resources.\n","properties":{"content":{"type":"string","description":"Content of certificate key on Local Disk,path of SSL certificate key will be provided to terraform \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e function\n","secret":true},"fullPath":{"type":"string","description":"Full Path Name of ssl key"},"name":{"type":"string","description":"Name of the SSL Certificate key to be Imported on to BIGIP\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition on to SSL Certificate key to be imported. The parameter is not required when running terraform import operation. In such case the name must be provided in \u003cspan pulumi-lang-nodejs=\"`fullPath`\" pulumi-lang-dotnet=\"`FullPath`\" pulumi-lang-go=\"`fullPath`\" pulumi-lang-python=\"`full_path`\" pulumi-lang-yaml=\"`fullPath`\" pulumi-lang-java=\"`fullPath`\"\u003e`full_path`\u003c/span\u003e format.\n"},"passphrase":{"type":"string","description":"Passphrase on key.","secret":true}},"type":"object"}},"f5bigip:sys/bigIpLicense:BigIpLicense":{"properties":{"command":{"type":"string","description":"Tmsh command to execute tmsh commands like install"},"registrationKey":{"type":"string","description":"A unique Key F5 provides for Licensing BIG-IP"}},"required":["command","registrationKey"],"inputProperties":{"command":{"type":"string","description":"Tmsh command to execute tmsh commands like install"},"registrationKey":{"type":"string","description":"A unique Key F5 provides for Licensing BIG-IP"}},"requiredInputs":["command","registrationKey"],"stateInputs":{"description":"Input properties used for looking up and filtering BigIpLicense resources.\n","properties":{"command":{"type":"string","description":"Tmsh command to execute tmsh commands like install"},"registrationKey":{"type":"string","description":"A unique Key F5 provides for Licensing BIG-IP"}},"type":"object"}},"f5bigip:sys/dns:Dns":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Dns`\" pulumi-lang-dotnet=\"`f5bigip.sys.Dns`\" pulumi-lang-go=\"`sys.Dns`\" pulumi-lang-python=\"`sys.Dns`\" pulumi-lang-yaml=\"`f5bigip.sys.Dns`\" pulumi-lang-java=\"`f5bigip.sys.Dns`\"\u003e`f5bigip.sys.Dns`\u003c/span\u003e Configures DNS Name server on F5 BIG-IP\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dns1 = new f5bigip.sys.Dns(\"dns1\", {\n    description: \"/Common/DNS1\",\n    nameServers: [\"1.1.1.1\"],\n    searches: [\"f5.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndns1 = f5bigip.sys.Dns(\"dns1\",\n    description=\"/Common/DNS1\",\n    name_servers=[\"1.1.1.1\"],\n    searches=[\"f5.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dns1 = new F5BigIP.Sys.Dns(\"dns1\", new()\n    {\n        Description = \"/Common/DNS1\",\n        NameServers = new[]\n        {\n            \"1.1.1.1\",\n        },\n        Searches = new[]\n        {\n            \"f5.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewDns(ctx, \"dns1\", \u0026sys.DnsArgs{\n\t\t\tDescription: pulumi.String(\"/Common/DNS1\"),\n\t\t\tNameServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tSearches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"f5.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.Dns;\nimport com.pulumi.f5bigip.sys.DnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dns1 = new Dns(\"dns1\", DnsArgs.builder()\n            .description(\"/Common/DNS1\")\n            .nameServers(\"1.1.1.1\")\n            .searches(\"f5.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dns1:\n    type: f5bigip:sys:Dns\n    properties:\n      description: /Common/DNS1\n      nameServers:\n        - 1.1.1.1\n      searches:\n        - f5.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"Provide description for your DNS server\n"},"nameServers":{"type":"array","items":{"type":"string"},"description":"Specifies the name servers that the system uses to validate DNS lookups, and resolve host names.\n"},"numberOfDots":{"type":"integer","description":"Configures the number of dots needed in a name before an initial absolute query will be made.\n"},"searches":{"type":"array","items":{"type":"string"},"description":"Specifies the domains that the system searches for local domain lookups, to resolve local host names.\n"}},"required":["description","nameServers","numberOfDots"],"inputProperties":{"description":{"type":"string","description":"Provide description for your DNS server\n"},"nameServers":{"type":"array","items":{"type":"string"},"description":"Specifies the name servers that the system uses to validate DNS lookups, and resolve host names.\n"},"numberOfDots":{"type":"integer","description":"Configures the number of dots needed in a name before an initial absolute query will be made.\n"},"searches":{"type":"array","items":{"type":"string"},"description":"Specifies the domains that the system searches for local domain lookups, to resolve local host names.\n"}},"requiredInputs":["description","nameServers"],"stateInputs":{"description":"Input properties used for looking up and filtering Dns resources.\n","properties":{"description":{"type":"string","description":"Provide description for your DNS server\n"},"nameServers":{"type":"array","items":{"type":"string"},"description":"Specifies the name servers that the system uses to validate DNS lookups, and resolve host names.\n"},"numberOfDots":{"type":"integer","description":"Configures the number of dots needed in a name before an initial absolute query will be made.\n"},"searches":{"type":"array","items":{"type":"string"},"description":"Specifies the domains that the system searches for local domain lookups, to resolve local host names.\n"}},"type":"object"}},"f5bigip:sys/iApp:IApp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.IApp`\" pulumi-lang-dotnet=\"`f5bigip.sys.IApp`\" pulumi-lang-go=\"`sys.IApp`\" pulumi-lang-python=\"`sys.IApp`\" pulumi-lang-yaml=\"`f5bigip.sys.IApp`\" pulumi-lang-java=\"`f5bigip.sys.IApp`\"\u003e`f5bigip.sys.IApp`\u003c/span\u003e resource helps you to deploy Application Services template that can be used to automate and orchestrate Layer 4-7 applications service deployments using F5 Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as std from \"@pulumi/std\";\n\nconst simplehttp = new f5bigip.sys.IApp(\"simplehttp\", {\n    name: \"simplehttp\",\n    jsonfile: std.file({\n        input: \"simplehttp.json\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\nimport pulumi_std as std\n\nsimplehttp = f5bigip.sys.IApp(\"simplehttp\",\n    name=\"simplehttp\",\n    jsonfile=std.file(input=\"simplehttp.json\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var simplehttp = new F5BigIP.Sys.IApp(\"simplehttp\", new()\n    {\n        Name = \"simplehttp\",\n        Jsonfile = Std.File.Invoke(new()\n        {\n            Input = \"simplehttp.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"simplehttp.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sys.NewIApp(ctx, \"simplehttp\", \u0026sys.IAppArgs{\n\t\t\tName:     pulumi.String(\"simplehttp\"),\n\t\t\tJsonfile: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.IApp;\nimport com.pulumi.f5bigip.sys.IAppArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var simplehttp = new IApp(\"simplehttp\", IAppArgs.builder()\n            .name(\"simplehttp\")\n            .jsonfile(StdFunctions.file(FileArgs.builder()\n                .input(\"simplehttp.json\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  simplehttp:\n    type: f5bigip:sys:IApp\n    properties:\n      name: simplehttp\n      jsonfile:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: simplehttp.json\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Json File\n```json\n{\n\"fullPath\":\"/Common/simplehttp.app/simplehttp\",\n\"generation\":222,\n\"inheritedDevicegroup\":\"true\",\n\"inheritedTrafficGroup\":\"true\",\n\"kind\":\"tm:sys:application:service:servicestate\",\n\"name\":\"simplehttp\",\n\"partition\":\"Common\",\n\"selfLink\":\"https://localhost/mgmt/tm/sys/application/service/~Common~simplehttp.app~simplehttp?ver=13.0.0\",\n\"strictUpdates\":\"enabled\",\n\"subPath\":\"simplehttp.app\",\n\"tables\":[\n   {\n      \"name\":\"basic__snatpool_members\"\n   },\n   {\n      \"name\":\"net__snatpool_members\"\n   },\n   {\n      \"name\":\"optimizations__hosts\"\n   },\n   {\n      \"columnNames\":[\n         \"name\"\n      ],\n      \"name\":\"pool__hosts\",\n      \"rows\":[\n         {\n            \"row\":[\n               \"f5.cisco.com\"\n            ]\n         }\n      ]\n   },\n   {\n      \"columnNames\":[\n         \"addr\",\n         \"port\",\n         \"connection_limit\"\n      ],\n      \"name\":\"pool__members\",\n      \"rows\":[\n         {\n            \"row\":[\n               \"10.0.2.167\",\n               \"80\",\n               \"0\"\n            ]\n         },\n         {\n            \"row\":[\n               \"10.0.2.168\",\n               \"80\",\n               \"0\"\n            ]\n         }\n      ]\n   },\n   {\n      \"name\":\"server_pools__servers\"\n   }\n],\n\"template\":\"/Common/f5.http\",\n\"templateModified\":\"no\",\n\"templateReference\":{\n   \"link\":\"https://localhost/mgmt/tm/sys/application/template/~Common~f5.http?ver=13.0.0\"\n},\n\"trafficGroup\":\"/Common/traffic-group-1\",\n\"trafficGroupReference\":{\n   \"link\":\"https://localhost/mgmt/tm/cm/traffic-group/~Common~traffic-group-1?ver=13.0.0\"\n},\n\"variables\":[  \n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"client__http_compression\",\n      \"value\":\"/#create_new#\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"monitor__monitor\",\n      \"value\":\"/Common/http\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"net__client_mode\",\n      \"value\":\"wan\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"net__server_mode\",\n      \"value\":\"lan\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"net__v13_tcp\",\n      \"value\":\"warn\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"pool__addr\",\n      \"value\":\"10.0.1.100\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"pool__pool_to_use\",\n      \"value\":\"/#create_new#\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"pool__port\",\n      \"value\":\"80\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"ssl__mode\",\n      \"value\":\"no_ssl\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"ssl_encryption_questions__advanced\",\n      \"value\":\"no\"\n   },\n   {  \n      \"encrypted\":\"no\",\n      \"name\":\"ssl_encryption_questions__help\",\n      \"value\":\"hide\"\n   }\n]\n}\n```\n","properties":{"description":{"type":"string","description":"User defined description.\n"},"devicegroup":{"type":"string","description":"BIG-IP password"},"executeAction":{"type":"string","description":"Run the specified template action associated with the application, this option can be specified in \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e with `executeAction`, value specified with \u003cspan pulumi-lang-nodejs=\"`executeAction`\" pulumi-lang-dotnet=\"`ExecuteAction`\" pulumi-lang-go=\"`executeAction`\" pulumi-lang-python=\"`execute_action`\" pulumi-lang-yaml=\"`executeAction`\" pulumi-lang-java=\"`executeAction`\"\u003e`execute_action`\u003c/span\u003e attribute take precedence over \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e value\n"},"inheritedDevicegroup":{"type":"string","description":"Read-only. Shows whether the application folder will automatically remain with the same device-group as its parent folder. Use 'device-group default' or 'device-group non-default' to set this.\n"},"inheritedTrafficGroup":{"type":"string","description":"Read-only. Shows whether the application folder will automatically remain with the same traffic-group as its parent folder. Use 'traffic-group default' or 'traffic-group non-default' to set this.\n"},"jsonfile":{"type":"string","description":"Refer to the Json file which will be deployed on F5 BIG-IP.\n"},"lists":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppList:IAppList"},"description":"string values\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppMetadata:IAppMetadata"},"description":"User defined generic data for the application service. It is a name and value pair.\n"},"name":{"type":"string","description":"Name of the iApp.\n"},"partition":{"type":"string","description":"Displays the administrative partition within which the application resides.\n"},"strictUpdates":{"type":"string","description":"Specifies whether configuration objects contained in the application may be directly modified, outside the context of the system's application management interfaces.\n"},"tables":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppTable:IAppTable"}},"template":{"type":"string","description":"The template defines the configuration for the application. This may be changed after the application has been created to move the application to a new template.\n"},"templateModified":{"type":"string","description":"Indicates that the application template used to deploy the application has been modified. The application should be updated to make use of the latest changes.\n"},"templatePrerequisiteErrors":{"type":"string","description":"Indicates any missing prerequisites associated with the template that defines this application.\n"},"trafficGroup":{"type":"string","description":"The name of the traffic group that the application service is assigned to.\n"},"variables":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppVariable:IAppVariable"}}},"required":["devicegroup","executeAction","jsonfile","name"],"inputProperties":{"description":{"type":"string","description":"User defined description.\n"},"devicegroup":{"type":"string","description":"BIG-IP password"},"executeAction":{"type":"string","description":"Run the specified template action associated with the application, this option can be specified in \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e with `executeAction`, value specified with \u003cspan pulumi-lang-nodejs=\"`executeAction`\" pulumi-lang-dotnet=\"`ExecuteAction`\" pulumi-lang-go=\"`executeAction`\" pulumi-lang-python=\"`execute_action`\" pulumi-lang-yaml=\"`executeAction`\" pulumi-lang-java=\"`executeAction`\"\u003e`execute_action`\u003c/span\u003e attribute take precedence over \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e value\n"},"inheritedDevicegroup":{"type":"string","description":"Read-only. Shows whether the application folder will automatically remain with the same device-group as its parent folder. Use 'device-group default' or 'device-group non-default' to set this.\n"},"inheritedTrafficGroup":{"type":"string","description":"Read-only. Shows whether the application folder will automatically remain with the same traffic-group as its parent folder. Use 'traffic-group default' or 'traffic-group non-default' to set this.\n"},"jsonfile":{"type":"string","description":"Refer to the Json file which will be deployed on F5 BIG-IP.\n"},"lists":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppList:IAppList"},"description":"string values\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppMetadata:IAppMetadata"},"description":"User defined generic data for the application service. It is a name and value pair.\n"},"name":{"type":"string","description":"Name of the iApp.\n"},"partition":{"type":"string","description":"Displays the administrative partition within which the application resides.\n"},"strictUpdates":{"type":"string","description":"Specifies whether configuration objects contained in the application may be directly modified, outside the context of the system's application management interfaces.\n"},"tables":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppTable:IAppTable"}},"template":{"type":"string","description":"The template defines the configuration for the application. This may be changed after the application has been created to move the application to a new template.\n"},"templateModified":{"type":"string","description":"Indicates that the application template used to deploy the application has been modified. The application should be updated to make use of the latest changes.\n"},"templatePrerequisiteErrors":{"type":"string","description":"Indicates any missing prerequisites associated with the template that defines this application.\n"},"trafficGroup":{"type":"string","description":"The name of the traffic group that the application service is assigned to.\n"},"variables":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppVariable:IAppVariable"}}},"requiredInputs":["jsonfile","name"],"stateInputs":{"description":"Input properties used for looking up and filtering IApp resources.\n","properties":{"description":{"type":"string","description":"User defined description.\n"},"devicegroup":{"type":"string","description":"BIG-IP password"},"executeAction":{"type":"string","description":"Run the specified template action associated with the application, this option can be specified in \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e with `executeAction`, value specified with \u003cspan pulumi-lang-nodejs=\"`executeAction`\" pulumi-lang-dotnet=\"`ExecuteAction`\" pulumi-lang-go=\"`executeAction`\" pulumi-lang-python=\"`execute_action`\" pulumi-lang-yaml=\"`executeAction`\" pulumi-lang-java=\"`executeAction`\"\u003e`execute_action`\u003c/span\u003e attribute take precedence over \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e value\n"},"inheritedDevicegroup":{"type":"string","description":"Read-only. Shows whether the application folder will automatically remain with the same device-group as its parent folder. Use 'device-group default' or 'device-group non-default' to set this.\n"},"inheritedTrafficGroup":{"type":"string","description":"Read-only. Shows whether the application folder will automatically remain with the same traffic-group as its parent folder. Use 'traffic-group default' or 'traffic-group non-default' to set this.\n"},"jsonfile":{"type":"string","description":"Refer to the Json file which will be deployed on F5 BIG-IP.\n"},"lists":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppList:IAppList"},"description":"string values\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppMetadata:IAppMetadata"},"description":"User defined generic data for the application service. It is a name and value pair.\n"},"name":{"type":"string","description":"Name of the iApp.\n"},"partition":{"type":"string","description":"Displays the administrative partition within which the application resides.\n"},"strictUpdates":{"type":"string","description":"Specifies whether configuration objects contained in the application may be directly modified, outside the context of the system's application management interfaces.\n"},"tables":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppTable:IAppTable"}},"template":{"type":"string","description":"The template defines the configuration for the application. This may be changed after the application has been created to move the application to a new template.\n"},"templateModified":{"type":"string","description":"Indicates that the application template used to deploy the application has been modified. The application should be updated to make use of the latest changes.\n"},"templatePrerequisiteErrors":{"type":"string","description":"Indicates any missing prerequisites associated with the template that defines this application.\n"},"trafficGroup":{"type":"string","description":"The name of the traffic group that the application service is assigned to.\n"},"variables":{"type":"array","items":{"$ref":"#/types/f5bigip:sys/IAppVariable:IAppVariable"}}},"type":"object"}},"f5bigip:sys/ifile:Ifile":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.sys.Ifile`\" pulumi-lang-go=\"`sys.Ifile`\" pulumi-lang-python=\"`sys.Ifile`\" pulumi-lang-yaml=\"`f5bigip.sys.Ifile`\" pulumi-lang-java=\"`f5bigip.sys.Ifile`\"\u003e`f5bigip.sys.Ifile`\u003c/span\u003e This resource uploads and manages system iFiles on F5 BIG-IP devices. \nSystem iFiles store file content on the BIG-IP that can be referenced by iRules, LTM policies, and other BIG-IP configurations for traffic processing and decision making.\n\n## Example Usage\n\n### System iFile with Sub-path\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst templateFile = new f5bigip.sys.Ifile(\"template_file\", {\n    name: \"error-template\",\n    partition: \"Common\",\n    subPath: \"templates\",\n    content: `\u003chtml\u003e\n  \u003chead\u003e\u003ctitle\u003eService Unavailable\u003c/title\u003e\u003c/head\u003e\n  \u003cbody\u003e\n    \u003ch1\u003e503 - Service Temporarily Unavailable\u003c/h1\u003e\n    \u003cp\u003ePlease try again later.\u003c/p\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntemplate_file = f5bigip.sys.Ifile(\"template_file\",\n    name=\"error-template\",\n    partition=\"Common\",\n    sub_path=\"templates\",\n    content=\"\"\"\u003chtml\u003e\n  \u003chead\u003e\u003ctitle\u003eService Unavailable\u003c/title\u003e\u003c/head\u003e\n  \u003cbody\u003e\n    \u003ch1\u003e503 - Service Temporarily Unavailable\u003c/h1\u003e\n    \u003cp\u003ePlease try again later.\u003c/p\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templateFile = new F5BigIP.Sys.Ifile(\"template_file\", new()\n    {\n        Name = \"error-template\",\n        Partition = \"Common\",\n        SubPath = \"templates\",\n        Content = @\"\u003chtml\u003e\n  \u003chead\u003e\u003ctitle\u003eService Unavailable\u003c/title\u003e\u003c/head\u003e\n  \u003cbody\u003e\n    \u003ch1\u003e503 - Service Temporarily Unavailable\u003c/h1\u003e\n    \u003cp\u003ePlease try again later.\u003c/p\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewIfile(ctx, \"template_file\", \u0026sys.IfileArgs{\n\t\t\tName:      pulumi.String(\"error-template\"),\n\t\t\tPartition: pulumi.String(\"Common\"),\n\t\t\tSubPath:   pulumi.String(\"templates\"),\n\t\t\tContent: pulumi.String(`\u003chtml\u003e\n  \u003chead\u003e\u003ctitle\u003eService Unavailable\u003c/title\u003e\u003c/head\u003e\n  \u003cbody\u003e\n    \u003ch1\u003e503 - Service Temporarily Unavailable\u003c/h1\u003e\n    \u003cp\u003ePlease try again later.\u003c/p\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.Ifile;\nimport com.pulumi.f5bigip.sys.IfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var templateFile = new Ifile(\"templateFile\", IfileArgs.builder()\n            .name(\"error-template\")\n            .partition(\"Common\")\n            .subPath(\"templates\")\n            .content(\"\"\"\n\u003chtml\u003e\n  \u003chead\u003e\u003ctitle\u003eService Unavailable\u003c/title\u003e\u003c/head\u003e\n  \u003cbody\u003e\n    \u003ch1\u003e503 - Service Temporarily Unavailable\u003c/h1\u003e\n    \u003cp\u003ePlease try again later.\u003c/p\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  templateFile:\n    type: f5bigip:sys:Ifile\n    name: template_file\n    properties:\n      name: error-template\n      partition: Common\n      subPath: templates\n      content: |\n        \u003chtml\u003e\n          \u003chead\u003e\u003ctitle\u003eService Unavailable\u003c/title\u003e\u003c/head\u003e\n          \u003cbody\u003e\n            \u003ch1\u003e503 - Service Temporarily Unavailable\u003c/h1\u003e\n            \u003cp\u003ePlease try again later.\u003c/p\u003e\n          \u003c/body\u003e\n        \u003c/html\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### JSON Configuration File\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst serverList = JSON.stringify({\n    servers: [\n        {\n            name: \"web1\",\n            ip: \"10.1.1.10\",\n            port: 80,\n        },\n        {\n            name: \"web2\",\n            ip: \"10.1.1.11\",\n            port: 80,\n        },\n        {\n            name: \"web3\",\n            ip: \"10.1.1.12\",\n            port: 80,\n        },\n    ],\n});\nconst serverConfig = new f5bigip.sys.Ifile(\"server_config\", {\n    name: \"server-list\",\n    partition: \"MyApp\",\n    content: serverList,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_f5bigip as f5bigip\n\nserver_list = json.dumps({\n    \"servers\": [\n        {\n            \"name\": \"web1\",\n            \"ip\": \"10.1.1.10\",\n            \"port\": 80,\n        },\n        {\n            \"name\": \"web2\",\n            \"ip\": \"10.1.1.11\",\n            \"port\": 80,\n        },\n        {\n            \"name\": \"web3\",\n            \"ip\": \"10.1.1.12\",\n            \"port\": 80,\n        },\n    ],\n})\nserver_config = f5bigip.sys.Ifile(\"server_config\",\n    name=\"server-list\",\n    partition=\"MyApp\",\n    content=server_list)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serverList = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n    {\n        [\"servers\"] = new[]\n        {\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"name\"] = \"web1\",\n                [\"ip\"] = \"10.1.1.10\",\n                [\"port\"] = 80,\n            },\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"name\"] = \"web2\",\n                [\"ip\"] = \"10.1.1.11\",\n                [\"port\"] = 80,\n            },\n            new Dictionary\u003cstring, object?\u003e\n            {\n                [\"name\"] = \"web3\",\n                [\"ip\"] = \"10.1.1.12\",\n                [\"port\"] = 80,\n            },\n        },\n    });\n\n    var serverConfig = new F5BigIP.Sys.Ifile(\"server_config\", new()\n    {\n        Name = \"server-list\",\n        Partition = \"MyApp\",\n        Content = serverList,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"servers\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"web1\",\n\t\t\t\t\t\"ip\":   \"10.1.1.10\",\n\t\t\t\t\t\"port\": 80,\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"web2\",\n\t\t\t\t\t\"ip\":   \"10.1.1.11\",\n\t\t\t\t\t\"port\": 80,\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"web3\",\n\t\t\t\t\t\"ip\":   \"10.1.1.12\",\n\t\t\t\t\t\"port\": 80,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tserverList := json0\n\t\t_, err = sys.NewIfile(ctx, \"server_config\", \u0026sys.IfileArgs{\n\t\t\tName:      pulumi.String(\"server-list\"),\n\t\t\tPartition: pulumi.String(\"MyApp\"),\n\t\t\tContent:   pulumi.String(serverList),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.Ifile;\nimport com.pulumi.f5bigip.sys.IfileArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var serverList = serializeJson(\n            jsonObject(\n                jsonProperty(\"servers\", jsonArray(\n                    jsonObject(\n                        jsonProperty(\"name\", \"web1\"),\n                        jsonProperty(\"ip\", \"10.1.1.10\"),\n                        jsonProperty(\"port\", 80)\n                    ), \n                    jsonObject(\n                        jsonProperty(\"name\", \"web2\"),\n                        jsonProperty(\"ip\", \"10.1.1.11\"),\n                        jsonProperty(\"port\", 80)\n                    ), \n                    jsonObject(\n                        jsonProperty(\"name\", \"web3\"),\n                        jsonProperty(\"ip\", \"10.1.1.12\"),\n                        jsonProperty(\"port\", 80)\n                    )\n                ))\n            ));\n\n        var serverConfig = new Ifile(\"serverConfig\", IfileArgs.builder()\n            .name(\"server-list\")\n            .partition(\"MyApp\")\n            .content(serverList)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serverConfig:\n    type: f5bigip:sys:Ifile\n    name: server_config\n    properties:\n      name: server-list\n      partition: MyApp\n      content: ${serverList}\nvariables:\n  serverList:\n    fn::toJSON:\n      servers:\n        - name: web1\n          ip: 10.1.1.10\n          port: 80\n        - name: web2\n          ip: 10.1.1.11\n          port: 80\n        - name: web3\n          ip: 10.1.1.12\n          port: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using System iFile with LTM iFile\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\n// Create system iFile with content\nconst lookupTable = new f5bigip.sys.Ifile(\"lookup_table\", {\n    name: \"url-rewrite-map\",\n    partition: \"Common\",\n    content: `/old-api/v1/ /api/v2/\n/legacy/ /new/\n/deprecated/ /current/\n`,\n});\n// Create LTM iFile that references the system iFile\nconst ltmLookup = new f5bigip.ltm.Ifile(\"ltm_lookup\", {\n    name: \"ltm-url-rewrite-map\",\n    partition: \"Common\",\n    fileName: \"/Common/url-rewrite-map\",\n});\n// Use in an iRule\nconst urlRewriter = new f5bigip.ltm.IRule(\"url_rewriter\", {\n    name: \"url-rewrite-rule\",\n    irule: `when HTTP_REQUEST {\n  set uri [HTTP::uri]\n  set mapping [ifile get ltm-url-rewrite-map]\n  foreach line [split mapping \\\\\"\\\\\n\\\\\"] {\n    set parts [split line \\\\\" \\\\\"]\n    if {[string match [lindex parts 0]* uri]} {\n      HTTP::uri [string map [list [lindex parts 0] [lindex parts 1]] uri]\n      break\n    }\n  }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\n# Create system iFile with content\nlookup_table = f5bigip.sys.Ifile(\"lookup_table\",\n    name=\"url-rewrite-map\",\n    partition=\"Common\",\n    content=\"\"\"/old-api/v1/ /api/v2/\n/legacy/ /new/\n/deprecated/ /current/\n\"\"\")\n# Create LTM iFile that references the system iFile\nltm_lookup = f5bigip.ltm.Ifile(\"ltm_lookup\",\n    name=\"ltm-url-rewrite-map\",\n    partition=\"Common\",\n    file_name=\"/Common/url-rewrite-map\")\n# Use in an iRule\nurl_rewriter = f5bigip.ltm.IRule(\"url_rewriter\",\n    name=\"url-rewrite-rule\",\n    irule=\"\"\"when HTTP_REQUEST {\n  set uri [HTTP::uri]\n  set mapping [ifile get ltm-url-rewrite-map]\n  foreach line [split $mapping \\\"\\\n\\\"] {\n    set parts [split $line \\\" \\\"]\n    if {[string match [lindex $parts 0]* $uri]} {\n      HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]\n      break\n    }\n  }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create system iFile with content\n    var lookupTable = new F5BigIP.Sys.Ifile(\"lookup_table\", new()\n    {\n        Name = \"url-rewrite-map\",\n        Partition = \"Common\",\n        Content = @\"/old-api/v1/ /api/v2/\n/legacy/ /new/\n/deprecated/ /current/\n\",\n    });\n\n    // Create LTM iFile that references the system iFile\n    var ltmLookup = new F5BigIP.Ltm.Ifile(\"ltm_lookup\", new()\n    {\n        Name = \"ltm-url-rewrite-map\",\n        Partition = \"Common\",\n        FileName = \"/Common/url-rewrite-map\",\n    });\n\n    // Use in an iRule\n    var urlRewriter = new F5BigIP.Ltm.IRule(\"url_rewriter\", new()\n    {\n        Name = \"url-rewrite-rule\",\n        Irule = @\"when HTTP_REQUEST {\n  set uri [HTTP::uri]\n  set mapping [ifile get ltm-url-rewrite-map]\n  foreach line [split $mapping \\\"\"\\\n\\\"\"] {\n    set parts [split $line \\\"\" \\\"\"]\n    if {[string match [lindex $parts 0]* $uri]} {\n      HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]\n      break\n    }\n  }\n}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create system iFile with content\n\t\t_, err := sys.NewIfile(ctx, \"lookup_table\", \u0026sys.IfileArgs{\n\t\t\tName:      pulumi.String(\"url-rewrite-map\"),\n\t\t\tPartition: pulumi.String(\"Common\"),\n\t\t\tContent:   pulumi.String(\"/old-api/v1/ /api/v2/\\n/legacy/ /new/\\n/deprecated/ /current/\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create LTM iFile that references the system iFile\n\t\t_, err = ltm.NewIfile(ctx, \"ltm_lookup\", \u0026ltm.IfileArgs{\n\t\t\tName:      pulumi.String(\"ltm-url-rewrite-map\"),\n\t\t\tPartition: pulumi.String(\"Common\"),\n\t\t\tFileName:  pulumi.String(\"/Common/url-rewrite-map\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Use in an iRule\n\t\t_, err = ltm.NewIRule(ctx, \"url_rewriter\", \u0026ltm.IRuleArgs{\n\t\t\tName: pulumi.String(\"url-rewrite-rule\"),\n\t\t\tIrule: pulumi.String(`when HTTP_REQUEST {\n  set uri [HTTP::uri]\n  set mapping [ifile get ltm-url-rewrite-map]\n  foreach line [split $mapping \\\"\\\n\\\"] {\n    set parts [split $line \\\" \\\"]\n    if {[string match [lindex $parts 0]* $uri]} {\n      HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]\n      break\n    }\n  }\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.IRule;\nimport com.pulumi.f5bigip.ltm.IRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create system iFile with content\n        var lookupTable = new com.pulumi.f5bigip.sys.Ifile(\"lookupTable\", com.pulumi.f5bigip.sys.IfileArgs.builder()\n            .name(\"url-rewrite-map\")\n            .partition(\"Common\")\n            .content(\"\"\"\n/old-api/v1/ /api/v2/\n/legacy/ /new/\n/deprecated/ /current/\n            \"\"\")\n            .build());\n\n        // Create LTM iFile that references the system iFile\n        var ltmLookup = new com.pulumi.f5bigip.ltm.Ifile(\"ltmLookup\", com.pulumi.f5bigip.ltm.IfileArgs.builder()\n            .name(\"ltm-url-rewrite-map\")\n            .partition(\"Common\")\n            .fileName(\"/Common/url-rewrite-map\")\n            .build());\n\n        // Use in an iRule\n        var urlRewriter = new IRule(\"urlRewriter\", IRuleArgs.builder()\n            .name(\"url-rewrite-rule\")\n            .irule(\"\"\"\nwhen HTTP_REQUEST {\n  set uri [HTTP::uri]\n  set mapping [ifile get ltm-url-rewrite-map]\n  foreach line [split $mapping \\\"\\\n\\\"] {\n    set parts [split $line \\\" \\\"]\n    if {[string match [lindex $parts 0]* $uri]} {\n      HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]\n      break\n    }\n  }\n}\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create system iFile with content\n  lookupTable:\n    type: f5bigip:sys:Ifile\n    name: lookup_table\n    properties:\n      name: url-rewrite-map\n      partition: Common\n      content: |\n        /old-api/v1/ /api/v2/\n        /legacy/ /new/\n        /deprecated/ /current/\n  # Create LTM iFile that references the system iFile\n  ltmLookup:\n    type: f5bigip:ltm:Ifile\n    name: ltm_lookup\n    properties:\n      name: ltm-url-rewrite-map\n      partition: Common\n      fileName: /Common/url-rewrite-map\n  # Use in an iRule\n  urlRewriter:\n    type: f5bigip:ltm:IRule\n    name: url_rewriter\n    properties:\n      name: url-rewrite-rule\n      irule: |\n        when HTTP_REQUEST {\n          set uri [HTTP::uri]\n          set mapping [ifile get ltm-url-rewrite-map]\n          foreach line [split $mapping \\\"\\\n        \\\"] {\n            set parts [split $line \\\" \\\"]\n            if {[string match [lindex $parts 0]* $uri]} {\n              HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]\n              break\n            }\n          }\n        }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notes\n\n* The \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e field is marked as sensitive and will not be displayed in Terraform logs or state output.\n* Changes to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e will force recreation of the resource since iFile names cannot be changed after creation.\n* The \u003cspan pulumi-lang-nodejs=\"`checksum`\" pulumi-lang-dotnet=\"`Checksum`\" pulumi-lang-go=\"`checksum`\" pulumi-lang-python=\"`checksum`\" pulumi-lang-yaml=\"`checksum`\" pulumi-lang-java=\"`checksum`\"\u003e`checksum`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e attributes are automatically computed by the BIG-IP system.\n* iFile content is uploaded to the BIG-IP system and stored there permanently until the resource is destroyed.\n* Use `file()` function to load content from local files or `templatefile()` for dynamic content generation.\n* System iFiles can be referenced by \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Ifile`\" pulumi-lang-go=\"`ltm.Ifile`\" pulumi-lang-python=\"`ltm.Ifile`\" pulumi-lang-yaml=\"`f5bigip.ltm.Ifile`\" pulumi-lang-java=\"`f5bigip.ltm.Ifile`\"\u003e`f5bigip.ltm.Ifile`\u003c/span\u003e resources for use in LTM configurations.\n\n## Path Structure\n\nThe full path of an iFile follows this pattern:\n- Without sub-path: `/{partition}/{name}`\n- With sub-path: `/{partition}/{sub_path}/{name}`\n\nExamples:\n- `/Common/config-file`\n- `/Production/templates/error-page`\n- `/MyApp/configs/database-settings`\n\n## Related Resources\n\n* \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Ifile`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Ifile`\" pulumi-lang-go=\"`ltm.Ifile`\" pulumi-lang-python=\"`ltm.Ifile`\" pulumi-lang-yaml=\"`f5bigip.ltm.Ifile`\" pulumi-lang-java=\"`f5bigip.ltm.Ifile`\"\u003e`f5bigip.ltm.Ifile`\u003c/span\u003e - Creates LTM iFiles that reference system iFiles\n* \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.IRule`\" pulumi-lang-dotnet=\"`f5bigip.ltm.IRule`\" pulumi-lang-go=\"`ltm.IRule`\" pulumi-lang-python=\"`ltm.IRule`\" pulumi-lang-yaml=\"`f5bigip.ltm.IRule`\" pulumi-lang-java=\"`f5bigip.ltm.IRule`\"\u003e`f5bigip.ltm.IRule`\u003c/span\u003e - Creates iRules that can access iFile content\n* \u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Policy`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Policy`\" pulumi-lang-go=\"`ltm.Policy`\" pulumi-lang-python=\"`ltm.Policy`\" pulumi-lang-yaml=\"`f5bigip.ltm.Policy`\" pulumi-lang-java=\"`f5bigip.ltm.Policy`\"\u003e`f5bigip.ltm.Policy`\u003c/span\u003e - Creates LTM policies that can use iFile content\n\n## Security Considerations\n\n* iFile content is stored on the BIG-IP system and may contain sensitive information\n* Use appropriate BIG-IP access controls to limit who can view or modify iFiles\n* Consider using Terraform's sensitive variable handling for confidential content\n* The \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\"\u003e`content`\u003c/span\u003e field is marked as sensitive in Terraform state to prevent accidental exposure\n\n## Import\n\nSystem iFiles can be imported using their full path:\n\n```sh\n$ pulumi import f5bigip:sys/ifile:Ifile example /Common/my-ifile\n```\n\nFor iFiles with sub-paths:\n\n```sh\n$ pulumi import f5bigip:sys/ifile:Ifile example /Common/templates/my-ifile\n```\n\n","properties":{"checksum":{"type":"string","description":"MD5 checksum of the iFile content, automatically calculated by BIG-IP.\n"},"content":{"type":"string","description":"The content of the iFile. This can be inline text, file content loaded with `file()`, or dynamically generated content. This field is marked as sensitive.\n","secret":true},"name":{"type":"string","description":"Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.\n"},"partition":{"type":"string","description":"Partition where the iFile will be stored. Defaults to `Common`.\n"},"size":{"type":"integer","description":"Size of the iFile content in bytes.\n"},"subPath":{"type":"string","description":"Subdirectory within the partition for organizing iFiles hierarchically.\n"}},"required":["checksum","content","name","size"],"inputProperties":{"content":{"type":"string","description":"The content of the iFile. This can be inline text, file content loaded with `file()`, or dynamically generated content. This field is marked as sensitive.\n","secret":true},"name":{"type":"string","description":"Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition where the iFile will be stored. Defaults to `Common`.\n"},"subPath":{"type":"string","description":"Subdirectory within the partition for organizing iFiles hierarchically.\n"}},"requiredInputs":["content","name"],"stateInputs":{"description":"Input properties used for looking up and filtering Ifile resources.\n","properties":{"checksum":{"type":"string","description":"MD5 checksum of the iFile content, automatically calculated by BIG-IP.\n"},"content":{"type":"string","description":"The content of the iFile. This can be inline text, file content loaded with `file()`, or dynamically generated content. This field is marked as sensitive.\n","secret":true},"name":{"type":"string","description":"Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.\n","willReplaceOnChanges":true},"partition":{"type":"string","description":"Partition where the iFile will be stored. Defaults to `Common`.\n"},"size":{"type":"integer","description":"Size of the iFile content in bytes.\n"},"subPath":{"type":"string","description":"Subdirectory within the partition for organizing iFiles hierarchically.\n"}},"type":"object"}},"f5bigip:sys/ntp:Ntp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Ntp`\" pulumi-lang-dotnet=\"`f5bigip.sys.Ntp`\" pulumi-lang-go=\"`sys.Ntp`\" pulumi-lang-python=\"`sys.Ntp`\" pulumi-lang-yaml=\"`f5bigip.sys.Ntp`\" pulumi-lang-java=\"`f5bigip.sys.Ntp`\"\u003e`f5bigip.sys.Ntp`\u003c/span\u003e resource is helpful when configuring NTP server on the BIG-IP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst ntp1 = new f5bigip.sys.Ntp(\"ntp1\", {\n    description: \"/Common/NTP1\",\n    servers: [\"time.facebook.com\"],\n    timezone: \"America/Los_Angeles\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nntp1 = f5bigip.sys.Ntp(\"ntp1\",\n    description=\"/Common/NTP1\",\n    servers=[\"time.facebook.com\"],\n    timezone=\"America/Los_Angeles\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ntp1 = new F5BigIP.Sys.Ntp(\"ntp1\", new()\n    {\n        Description = \"/Common/NTP1\",\n        Servers = new[]\n        {\n            \"time.facebook.com\",\n        },\n        Timezone = \"America/Los_Angeles\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewNtp(ctx, \"ntp1\", \u0026sys.NtpArgs{\n\t\t\tDescription: pulumi.String(\"/Common/NTP1\"),\n\t\t\tServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"time.facebook.com\"),\n\t\t\t},\n\t\t\tTimezone: pulumi.String(\"America/Los_Angeles\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.Ntp;\nimport com.pulumi.f5bigip.sys.NtpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ntp1 = new Ntp(\"ntp1\", NtpArgs.builder()\n            .description(\"/Common/NTP1\")\n            .servers(\"time.facebook.com\")\n            .timezone(\"America/Los_Angeles\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ntp1:\n    type: f5bigip:sys:Ntp\n    properties:\n      description: /Common/NTP1\n      servers:\n        - time.facebook.com\n      timezone: America/Los_Angeles\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"User defined description.\n"},"servers":{"type":"array","items":{"type":"string"},"description":"Specifies the time servers that the system uses to update the system time.\n"},"timezone":{"type":"string","description":"Specifies the time zone that you want to use for the system time.\n"}},"required":["description","servers"],"inputProperties":{"description":{"type":"string","description":"User defined description.\n"},"servers":{"type":"array","items":{"type":"string"},"description":"Specifies the time servers that the system uses to update the system time.\n"},"timezone":{"type":"string","description":"Specifies the time zone that you want to use for the system time.\n"}},"requiredInputs":["description","servers"],"stateInputs":{"description":"Input properties used for looking up and filtering Ntp resources.\n","properties":{"description":{"type":"string","description":"User defined description.\n"},"servers":{"type":"array","items":{"type":"string"},"description":"Specifies the time servers that the system uses to update the system time.\n"},"timezone":{"type":"string","description":"Specifies the time zone that you want to use for the system time.\n"}},"type":"object"}},"f5bigip:sys/ocsp:Ocsp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Ocsp`\" pulumi-lang-dotnet=\"`f5bigip.sys.Ocsp`\" pulumi-lang-go=\"`sys.Ocsp`\" pulumi-lang-python=\"`sys.Ocsp`\" pulumi-lang-yaml=\"`f5bigip.sys.Ocsp`\" pulumi-lang-java=\"`f5bigip.sys.Ocsp`\"\u003e`f5bigip.sys.Ocsp`\u003c/span\u003e Manages F5 BIG-IP OCSP responder using iControl REST.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_ocsp = new f5bigip.sys.Ocsp(\"test-ocsp\", {\n    name: \"/Uncommon/test-ocsp\",\n    proxyServerPool: \"/Common/test-poolxyz\",\n    signerKey: \"/Common/le-ssl\",\n    signerCert: \"/Common/le-ssl\",\n    passphrase: \"testabcdef\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_ocsp = f5bigip.sys.Ocsp(\"test-ocsp\",\n    name=\"/Uncommon/test-ocsp\",\n    proxy_server_pool=\"/Common/test-poolxyz\",\n    signer_key=\"/Common/le-ssl\",\n    signer_cert=\"/Common/le-ssl\",\n    passphrase=\"testabcdef\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_ocsp = new F5BigIP.Sys.Ocsp(\"test-ocsp\", new()\n    {\n        Name = \"/Uncommon/test-ocsp\",\n        ProxyServerPool = \"/Common/test-poolxyz\",\n        SignerKey = \"/Common/le-ssl\",\n        SignerCert = \"/Common/le-ssl\",\n        Passphrase = \"testabcdef\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewOcsp(ctx, \"test-ocsp\", \u0026sys.OcspArgs{\n\t\t\tName:            pulumi.String(\"/Uncommon/test-ocsp\"),\n\t\t\tProxyServerPool: pulumi.String(\"/Common/test-poolxyz\"),\n\t\t\tSignerKey:       pulumi.String(\"/Common/le-ssl\"),\n\t\t\tSignerCert:      pulumi.String(\"/Common/le-ssl\"),\n\t\t\tPassphrase:      pulumi.String(\"testabcdef\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.Ocsp;\nimport com.pulumi.f5bigip.sys.OcspArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_ocsp = new Ocsp(\"test-ocsp\", OcspArgs.builder()\n            .name(\"/Uncommon/test-ocsp\")\n            .proxyServerPool(\"/Common/test-poolxyz\")\n            .signerKey(\"/Common/le-ssl\")\n            .signerCert(\"/Common/le-ssl\")\n            .passphrase(\"testabcdef\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-ocsp:\n    type: f5bigip:sys:Ocsp\n    properties:\n      name: /Uncommon/test-ocsp\n      proxyServerPool: /Common/test-poolxyz\n      signerKey: /Common/le-ssl\n      signerCert: /Common/le-ssl\n      passphrase: testabcdef\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Importing\n\nAn existing OCSP can be imported into this resource by supplying the full path name  ex : `/partition/name`\nAn example is below:\n```sh\n$ terraform import bigip_sys_ocsp.test-ocsp /Common/test-ocsp\n```\n","properties":{"cacheErrorTimeout":{"type":"integer","description":"Specifies the lifetime of an error response in the cache, in seconds. This value must be greater than connection_timeout. The default value is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"cacheTimeout":{"type":"string","description":"Specifies the lifetime of the OCSP response in the cache, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`indefinite`\" pulumi-lang-dotnet=\"`Indefinite`\" pulumi-lang-go=\"`indefinite`\" pulumi-lang-python=\"`indefinite`\" pulumi-lang-yaml=\"`indefinite`\" pulumi-lang-java=\"`indefinite`\"\u003e`indefinite`\u003c/span\u003e.\n"},"clockSkew":{"type":"integer","description":"Specifies the time interval that the BIG-IP system allows for clock skew, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"concurrentConnectionsLimit":{"type":"integer","description":"Specifies the maximum number of connections per second allowed for the OCSP certificate validator. The default value is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"connectionTimeout":{"type":"integer","description":"Specifies the time interval that the BIG-IP system waits for before ending the connection to the OCSP responder, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"dnsResolver":{"type":"string","description":"Specifies the internal DNS resolver the BIG-IP system uses to fetch the OCSP response.\n"},"name":{"type":"string","description":"Name of the OCSP Responder. Name should be in pattern `/partition/ocsp_name`.\n"},"passphrase":{"type":"string","description":"Specifies a passphrase used to sign an OCSP request.\n","secret":true},"proxyServerPool":{"type":"string","description":"Specifies the proxy server pool the BIG-IP system uses to fetch the OCSP response.\n"},"responderUrl":{"type":"string","description":"Specifies the URL of the OCSP responder.\n"},"routeDomain":{"type":"string","description":"Specifies the route domain for the OCSP responder.\n"},"signHash":{"type":"string","description":"Specifies the hash algorithm used to sign the OCSP request. The default value is \u003cspan pulumi-lang-nodejs=\"`sha256`\" pulumi-lang-dotnet=\"`Sha256`\" pulumi-lang-go=\"`sha256`\" pulumi-lang-python=\"`sha256`\" pulumi-lang-yaml=\"`sha256`\" pulumi-lang-java=\"`sha256`\"\u003e`sha256`\u003c/span\u003e.\n"},"signerCert":{"type":"string","description":"Specifies the certificate used to sign the OCSP request.\n"},"signerKey":{"type":"string","description":"Specifies the key used to sign the OCSP request.\n"},"statusAge":{"type":"integer","description":"Specifies the maximum allowed lag time that the BIG-IP system accepts for the 'thisUpdate' time in the OCSP response, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"strictRespCertCheck":{"type":"string","description":"Specifies whether the responder's certificate is checked for an OCSP signing extension. The default value is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"trustedResponders":{"type":"string","description":"Specifies the certificates used for validating the OCSP response.\n"}},"required":["name"],"inputProperties":{"cacheErrorTimeout":{"type":"integer","description":"Specifies the lifetime of an error response in the cache, in seconds. This value must be greater than connection_timeout. The default value is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"cacheTimeout":{"type":"string","description":"Specifies the lifetime of the OCSP response in the cache, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`indefinite`\" pulumi-lang-dotnet=\"`Indefinite`\" pulumi-lang-go=\"`indefinite`\" pulumi-lang-python=\"`indefinite`\" pulumi-lang-yaml=\"`indefinite`\" pulumi-lang-java=\"`indefinite`\"\u003e`indefinite`\u003c/span\u003e.\n"},"clockSkew":{"type":"integer","description":"Specifies the time interval that the BIG-IP system allows for clock skew, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"concurrentConnectionsLimit":{"type":"integer","description":"Specifies the maximum number of connections per second allowed for the OCSP certificate validator. The default value is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"connectionTimeout":{"type":"integer","description":"Specifies the time interval that the BIG-IP system waits for before ending the connection to the OCSP responder, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"dnsResolver":{"type":"string","description":"Specifies the internal DNS resolver the BIG-IP system uses to fetch the OCSP response.\n"},"name":{"type":"string","description":"Name of the OCSP Responder. Name should be in pattern `/partition/ocsp_name`.\n"},"passphrase":{"type":"string","description":"Specifies a passphrase used to sign an OCSP request.\n","secret":true},"proxyServerPool":{"type":"string","description":"Specifies the proxy server pool the BIG-IP system uses to fetch the OCSP response.\n"},"responderUrl":{"type":"string","description":"Specifies the URL of the OCSP responder.\n"},"routeDomain":{"type":"string","description":"Specifies the route domain for the OCSP responder.\n"},"signHash":{"type":"string","description":"Specifies the hash algorithm used to sign the OCSP request. The default value is \u003cspan pulumi-lang-nodejs=\"`sha256`\" pulumi-lang-dotnet=\"`Sha256`\" pulumi-lang-go=\"`sha256`\" pulumi-lang-python=\"`sha256`\" pulumi-lang-yaml=\"`sha256`\" pulumi-lang-java=\"`sha256`\"\u003e`sha256`\u003c/span\u003e.\n"},"signerCert":{"type":"string","description":"Specifies the certificate used to sign the OCSP request.\n"},"signerKey":{"type":"string","description":"Specifies the key used to sign the OCSP request.\n"},"statusAge":{"type":"integer","description":"Specifies the maximum allowed lag time that the BIG-IP system accepts for the 'thisUpdate' time in the OCSP response, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"strictRespCertCheck":{"type":"string","description":"Specifies whether the responder's certificate is checked for an OCSP signing extension. The default value is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"trustedResponders":{"type":"string","description":"Specifies the certificates used for validating the OCSP response.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering Ocsp resources.\n","properties":{"cacheErrorTimeout":{"type":"integer","description":"Specifies the lifetime of an error response in the cache, in seconds. This value must be greater than connection_timeout. The default value is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"cacheTimeout":{"type":"string","description":"Specifies the lifetime of the OCSP response in the cache, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`indefinite`\" pulumi-lang-dotnet=\"`Indefinite`\" pulumi-lang-go=\"`indefinite`\" pulumi-lang-python=\"`indefinite`\" pulumi-lang-yaml=\"`indefinite`\" pulumi-lang-java=\"`indefinite`\"\u003e`indefinite`\u003c/span\u003e.\n"},"clockSkew":{"type":"integer","description":"Specifies the time interval that the BIG-IP system allows for clock skew, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"concurrentConnectionsLimit":{"type":"integer","description":"Specifies the maximum number of connections per second allowed for the OCSP certificate validator. The default value is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"connectionTimeout":{"type":"integer","description":"Specifies the time interval that the BIG-IP system waits for before ending the connection to the OCSP responder, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"dnsResolver":{"type":"string","description":"Specifies the internal DNS resolver the BIG-IP system uses to fetch the OCSP response.\n"},"name":{"type":"string","description":"Name of the OCSP Responder. Name should be in pattern `/partition/ocsp_name`.\n"},"passphrase":{"type":"string","description":"Specifies a passphrase used to sign an OCSP request.\n","secret":true},"proxyServerPool":{"type":"string","description":"Specifies the proxy server pool the BIG-IP system uses to fetch the OCSP response.\n"},"responderUrl":{"type":"string","description":"Specifies the URL of the OCSP responder.\n"},"routeDomain":{"type":"string","description":"Specifies the route domain for the OCSP responder.\n"},"signHash":{"type":"string","description":"Specifies the hash algorithm used to sign the OCSP request. The default value is \u003cspan pulumi-lang-nodejs=\"`sha256`\" pulumi-lang-dotnet=\"`Sha256`\" pulumi-lang-go=\"`sha256`\" pulumi-lang-python=\"`sha256`\" pulumi-lang-yaml=\"`sha256`\" pulumi-lang-java=\"`sha256`\"\u003e`sha256`\u003c/span\u003e.\n"},"signerCert":{"type":"string","description":"Specifies the certificate used to sign the OCSP request.\n"},"signerKey":{"type":"string","description":"Specifies the key used to sign the OCSP request.\n"},"statusAge":{"type":"integer","description":"Specifies the maximum allowed lag time that the BIG-IP system accepts for the 'thisUpdate' time in the OCSP response, in seconds. The default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"strictRespCertCheck":{"type":"string","description":"Specifies whether the responder's certificate is checked for an OCSP signing extension. The default value is \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e.\n"},"trustedResponders":{"type":"string","description":"Specifies the certificates used for validating the OCSP response.\n"}},"type":"object"}},"f5bigip:sys/provision:Provision":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Provision`\" pulumi-lang-dotnet=\"`f5bigip.sys.Provision`\" pulumi-lang-go=\"`sys.Provision`\" pulumi-lang-python=\"`sys.Provision`\" pulumi-lang-yaml=\"`f5bigip.sys.Provision`\" pulumi-lang-java=\"`f5bigip.sys.Provision`\"\u003e`f5bigip.sys.Provision`\u003c/span\u003e Manage BIG-IP module provisioning. This resource will only provision at the standard levels of Dedicated, Nominal, and Minimum.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst gtm = new f5bigip.sys.Provision(\"gtm\", {\n    name: \"gtm\",\n    cpuRatio: 0,\n    diskRatio: 0,\n    level: \"nominal\",\n    memoryRatio: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ngtm = f5bigip.sys.Provision(\"gtm\",\n    name=\"gtm\",\n    cpu_ratio=0,\n    disk_ratio=0,\n    level=\"nominal\",\n    memory_ratio=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gtm = new F5BigIP.Sys.Provision(\"gtm\", new()\n    {\n        Name = \"gtm\",\n        CpuRatio = 0,\n        DiskRatio = 0,\n        Level = \"nominal\",\n        MemoryRatio = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewProvision(ctx, \"gtm\", \u0026sys.ProvisionArgs{\n\t\t\tName:        pulumi.String(\"gtm\"),\n\t\t\tCpuRatio:    pulumi.Int(0),\n\t\t\tDiskRatio:   pulumi.Int(0),\n\t\t\tLevel:       pulumi.String(\"nominal\"),\n\t\t\tMemoryRatio: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.Provision;\nimport com.pulumi.f5bigip.sys.ProvisionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var gtm = new Provision(\"gtm\", ProvisionArgs.builder()\n            .name(\"gtm\")\n            .cpuRatio(0)\n            .diskRatio(0)\n            .level(\"nominal\")\n            .memoryRatio(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  gtm:\n    type: f5bigip:sys:Provision\n    properties:\n      name: gtm\n      cpuRatio: 0\n      diskRatio: 0\n      level: nominal\n      memoryRatio: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cpuRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"diskRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"fullPath":{"type":"string"},"level":{"type":"string","description":"Sets the provisioning level for the requested modules. Changing the level for one module may require modifying the level of another module. For example, changing one module to \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e requires setting all others to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e. Setting the level of a module to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e means the module is not activated.\ndefault is \u003cspan pulumi-lang-nodejs=\"`nominal`\" pulumi-lang-dotnet=\"`Nominal`\" pulumi-lang-go=\"`nominal`\" pulumi-lang-python=\"`nominal`\" pulumi-lang-yaml=\"`nominal`\" pulumi-lang-java=\"`nominal`\"\u003e`nominal`\u003c/span\u003e\npossible options:\n* nominal\n* minimum\n* none\n* dedicated\n"},"memoryRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"name":{"type":"string","description":"Name of module to provision in BIG-IP. \npossible options:\n* afm\n* am\n* apm\n* cgnat\n* asm\n* avr\n* dos\n* fps\n* gtm\n* ilx\n* lc\n* ltm\n* pem\n* sslo\n* swg\n* urldb\n"}},"required":["fullPath","name"],"inputProperties":{"cpuRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"diskRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"fullPath":{"type":"string"},"level":{"type":"string","description":"Sets the provisioning level for the requested modules. Changing the level for one module may require modifying the level of another module. For example, changing one module to \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e requires setting all others to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e. Setting the level of a module to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e means the module is not activated.\ndefault is \u003cspan pulumi-lang-nodejs=\"`nominal`\" pulumi-lang-dotnet=\"`Nominal`\" pulumi-lang-go=\"`nominal`\" pulumi-lang-python=\"`nominal`\" pulumi-lang-yaml=\"`nominal`\" pulumi-lang-java=\"`nominal`\"\u003e`nominal`\u003c/span\u003e\npossible options:\n* nominal\n* minimum\n* none\n* dedicated\n"},"memoryRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"name":{"type":"string","description":"Name of module to provision in BIG-IP. \npossible options:\n* afm\n* am\n* apm\n* cgnat\n* asm\n* avr\n* dos\n* fps\n* gtm\n* ilx\n* lc\n* ltm\n* pem\n* sslo\n* swg\n* urldb\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering Provision resources.\n","properties":{"cpuRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"diskRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"fullPath":{"type":"string"},"level":{"type":"string","description":"Sets the provisioning level for the requested modules. Changing the level for one module may require modifying the level of another module. For example, changing one module to \u003cspan pulumi-lang-nodejs=\"`dedicated`\" pulumi-lang-dotnet=\"`Dedicated`\" pulumi-lang-go=\"`dedicated`\" pulumi-lang-python=\"`dedicated`\" pulumi-lang-yaml=\"`dedicated`\" pulumi-lang-java=\"`dedicated`\"\u003e`dedicated`\u003c/span\u003e requires setting all others to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e. Setting the level of a module to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e means the module is not activated.\ndefault is \u003cspan pulumi-lang-nodejs=\"`nominal`\" pulumi-lang-dotnet=\"`Nominal`\" pulumi-lang-go=\"`nominal`\" pulumi-lang-python=\"`nominal`\" pulumi-lang-yaml=\"`nominal`\" pulumi-lang-java=\"`nominal`\"\u003e`nominal`\u003c/span\u003e\npossible options:\n* nominal\n* minimum\n* none\n* dedicated\n"},"memoryRatio":{"type":"integer","description":"Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none\n"},"name":{"type":"string","description":"Name of module to provision in BIG-IP. \npossible options:\n* afm\n* am\n* apm\n* cgnat\n* asm\n* avr\n* dos\n* fps\n* gtm\n* ilx\n* lc\n* ltm\n* pem\n* sslo\n* swg\n* urldb\n"}},"type":"object"}},"f5bigip:sys/snmp:Snmp":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.Snmp`\" pulumi-lang-dotnet=\"`f5bigip.sys.Snmp`\" pulumi-lang-go=\"`sys.Snmp`\" pulumi-lang-python=\"`sys.Snmp`\" pulumi-lang-yaml=\"`f5bigip.sys.Snmp`\" pulumi-lang-java=\"`f5bigip.sys.Snmp`\"\u003e`f5bigip.sys.Snmp`\u003c/span\u003e provides details bout how to enable \"ilx\", \"asm\" \"apm\" resource on BIG-IP\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst snmp = new f5bigip.sys.Snmp(\"snmp\", {\n    sysContact: \" NetOPsAdmin s.shitole@f5.com\",\n    sysLocation: \"SeattleHQ\",\n    allowedaddresses: [\"202.10.10.2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsnmp = f5bigip.sys.Snmp(\"snmp\",\n    sys_contact=\" NetOPsAdmin s.shitole@f5.com\",\n    sys_location=\"SeattleHQ\",\n    allowedaddresses=[\"202.10.10.2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snmp = new F5BigIP.Sys.Snmp(\"snmp\", new()\n    {\n        SysContact = \" NetOPsAdmin s.shitole@f5.com\",\n        SysLocation = \"SeattleHQ\",\n        Allowedaddresses = new[]\n        {\n            \"202.10.10.2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewSnmp(ctx, \"snmp\", \u0026sys.SnmpArgs{\n\t\t\tSysContact:  pulumi.String(\" NetOPsAdmin s.shitole@f5.com\"),\n\t\t\tSysLocation: pulumi.String(\"SeattleHQ\"),\n\t\t\tAllowedaddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"202.10.10.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.Snmp;\nimport com.pulumi.f5bigip.sys.SnmpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var snmp = new Snmp(\"snmp\", SnmpArgs.builder()\n            .sysContact(\" NetOPsAdmin s.shitole@f5.com\")\n            .sysLocation(\"SeattleHQ\")\n            .allowedaddresses(\"202.10.10.2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snmp:\n    type: f5bigip:sys:Snmp\n    properties:\n      sysContact: ' NetOPsAdmin s.shitole@f5.com'\n      sysLocation: SeattleHQ\n      allowedaddresses:\n        - 202.10.10.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allowedaddresses":{"type":"array","items":{"type":"string"},"description":"Configures hosts or networks from which snmpd can accept traffic. Entries go directly into hosts.allow.\n"},"sysContact":{"type":"string","description":"Specifies the contact information for the system administrator.\n"},"sysLocation":{"type":"string","description":"Describes the system's physical location.\n"}},"inputProperties":{"allowedaddresses":{"type":"array","items":{"type":"string"},"description":"Configures hosts or networks from which snmpd can accept traffic. Entries go directly into hosts.allow.\n"},"sysContact":{"type":"string","description":"Specifies the contact information for the system administrator.\n"},"sysLocation":{"type":"string","description":"Describes the system's physical location.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Snmp resources.\n","properties":{"allowedaddresses":{"type":"array","items":{"type":"string"},"description":"Configures hosts or networks from which snmpd can accept traffic. Entries go directly into hosts.allow.\n"},"sysContact":{"type":"string","description":"Specifies the contact information for the system administrator.\n"},"sysLocation":{"type":"string","description":"Describes the system's physical location.\n"}},"type":"object"}},"f5bigip:sys/snmpTraps:SnmpTraps":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.sys.SnmpTraps`\" pulumi-lang-dotnet=\"`f5bigip.sys.SnmpTraps`\" pulumi-lang-go=\"`sys.SnmpTraps`\" pulumi-lang-python=\"`sys.SnmpTraps`\" pulumi-lang-yaml=\"`f5bigip.sys.SnmpTraps`\" pulumi-lang-java=\"`f5bigip.sys.SnmpTraps`\"\u003e`f5bigip.sys.SnmpTraps`\u003c/span\u003e provides details bout how to enable\u003cspan pulumi-lang-nodejs=\" snmpTraps \" pulumi-lang-dotnet=\" SnmpTraps \" pulumi-lang-go=\" snmpTraps \" pulumi-lang-python=\" snmp_traps \" pulumi-lang-yaml=\" snmpTraps \" pulumi-lang-java=\" snmpTraps \"\u003e snmp_traps \u003c/span\u003eresource on BIG-IP\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst snmpTraps = new f5bigip.sys.SnmpTraps(\"snmp_traps\", {\n    name: \"snmptraps\",\n    community: \"f5community\",\n    host: \"195.10.10.1\",\n    description: \"Setup snmp traps\",\n    port: 111,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsnmp_traps = f5bigip.sys.SnmpTraps(\"snmp_traps\",\n    name=\"snmptraps\",\n    community=\"f5community\",\n    host=\"195.10.10.1\",\n    description=\"Setup snmp traps\",\n    port=111)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snmpTraps = new F5BigIP.Sys.SnmpTraps(\"snmp_traps\", new()\n    {\n        Name = \"snmptraps\",\n        Community = \"f5community\",\n        Host = \"195.10.10.1\",\n        Description = \"Setup snmp traps\",\n        Port = 111,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewSnmpTraps(ctx, \"snmp_traps\", \u0026sys.SnmpTrapsArgs{\n\t\t\tName:        pulumi.String(\"snmptraps\"),\n\t\t\tCommunity:   pulumi.String(\"f5community\"),\n\t\t\tHost:        pulumi.String(\"195.10.10.1\"),\n\t\t\tDescription: pulumi.String(\"Setup snmp traps\"),\n\t\t\tPort:        pulumi.Int(111),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.sys.SnmpTraps;\nimport com.pulumi.f5bigip.sys.SnmpTrapsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var snmpTraps = new SnmpTraps(\"snmpTraps\", SnmpTrapsArgs.builder()\n            .name(\"snmptraps\")\n            .community(\"f5community\")\n            .host(\"195.10.10.1\")\n            .description(\"Setup snmp traps\")\n            .port(111)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snmpTraps:\n    type: f5bigip:sys:SnmpTraps\n    name: snmp_traps\n    properties:\n      name: snmptraps\n      community: f5community\n      host: 195.10.10.1\n      description: Setup snmp traps\n      port: 111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"authPasswordencrypted":{"type":"string","description":"Encrypted password"},"authProtocol":{"type":"string","description":"Specifies the protocol used to authenticate the user."},"community":{"type":"string","description":"Specifies the community string used for this trap.\n"},"description":{"type":"string","description":"The port that the trap will be sent to.\n"},"engineId":{"type":"string","description":"Specifies the authoritative security engine for SNMPv3."},"host":{"type":"string","description":"The host the trap will be sent to.\n"},"name":{"type":"string","description":"Name of the snmp trap.\n"},"port":{"type":"integer","description":"User defined description.\n"},"privacyPassword":{"type":"string","description":"Specifies the clear text password used to encrypt traffic. This field will not be displayed."},"privacyPasswordEncrypted":{"type":"string","description":"Specifies the encrypted password used to encrypt traffic."},"privacyProtocol":{"type":"string","description":"Specifies the protocol used to encrypt traffic."},"securityLevel":{"type":"string","description":"Specifies whether or not traffic is encrypted and whether or not authentication is required."},"securityName":{"type":"string","description":"Security name used in conjunction with SNMPv3."},"version":{"type":"string","description":"SNMP version used for sending the trap."}},"required":["securityLevel","version"],"inputProperties":{"authPasswordencrypted":{"type":"string","description":"Encrypted password"},"authProtocol":{"type":"string","description":"Specifies the protocol used to authenticate the user."},"community":{"type":"string","description":"Specifies the community string used for this trap.\n"},"description":{"type":"string","description":"The port that the trap will be sent to.\n"},"engineId":{"type":"string","description":"Specifies the authoritative security engine for SNMPv3."},"host":{"type":"string","description":"The host the trap will be sent to.\n"},"name":{"type":"string","description":"Name of the snmp trap.\n"},"port":{"type":"integer","description":"User defined description.\n"},"privacyPassword":{"type":"string","description":"Specifies the clear text password used to encrypt traffic. This field will not be displayed."},"privacyPasswordEncrypted":{"type":"string","description":"Specifies the encrypted password used to encrypt traffic."},"privacyProtocol":{"type":"string","description":"Specifies the protocol used to encrypt traffic."},"securityLevel":{"type":"string","description":"Specifies whether or not traffic is encrypted and whether or not authentication is required."},"securityName":{"type":"string","description":"Security name used in conjunction with SNMPv3."},"version":{"type":"string","description":"SNMP version used for sending the trap."}},"stateInputs":{"description":"Input properties used for looking up and filtering SnmpTraps resources.\n","properties":{"authPasswordencrypted":{"type":"string","description":"Encrypted password"},"authProtocol":{"type":"string","description":"Specifies the protocol used to authenticate the user."},"community":{"type":"string","description":"Specifies the community string used for this trap.\n"},"description":{"type":"string","description":"The port that the trap will be sent to.\n"},"engineId":{"type":"string","description":"Specifies the authoritative security engine for SNMPv3."},"host":{"type":"string","description":"The host the trap will be sent to.\n"},"name":{"type":"string","description":"Name of the snmp trap.\n"},"port":{"type":"integer","description":"User defined description.\n"},"privacyPassword":{"type":"string","description":"Specifies the clear text password used to encrypt traffic. This field will not be displayed."},"privacyPasswordEncrypted":{"type":"string","description":"Specifies the encrypted password used to encrypt traffic."},"privacyProtocol":{"type":"string","description":"Specifies the protocol used to encrypt traffic."},"securityLevel":{"type":"string","description":"Specifies whether or not traffic is encrypted and whether or not authentication is required."},"securityName":{"type":"string","description":"Security name used in conjunction with SNMPv3."},"version":{"type":"string","description":"SNMP version used for sending the trap."}},"type":"object"}},"f5bigip:vcmp/guest:Guest":{"description":"\u003cspan pulumi-lang-nodejs=\"`f5bigip.vcmp.Guest`\" pulumi-lang-dotnet=\"`f5bigip.vcmp.Guest`\" pulumi-lang-go=\"`vcmp.Guest`\" pulumi-lang-python=\"`vcmp.Guest`\" pulumi-lang-yaml=\"`f5bigip.vcmp.Guest`\" pulumi-lang-java=\"`f5bigip.vcmp.Guest`\"\u003e`f5bigip.vcmp.Guest`\u003c/span\u003e Manages a vCMP guest configuration\n\nResource does not wait for vCMP guest to reach the desired state, it only ensures that a desired configuration is set on the target device.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vcmp_test = new f5bigip.vcmp.Guest(\"vcmp-test\", {\n    name: \"tf_guest\",\n    initialImage: \"12.1.2.iso\",\n    mgmtNetwork: \"bridged\",\n    mgmtAddress: \"10.1.1.1/24\",\n    mgmtRoute: \"none\",\n    state: \"provisioned\",\n    coresPerSlot: 2,\n    numberOfSlots: 1,\n    minNumberOfSlots: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nvcmp_test = f5bigip.vcmp.Guest(\"vcmp-test\",\n    name=\"tf_guest\",\n    initial_image=\"12.1.2.iso\",\n    mgmt_network=\"bridged\",\n    mgmt_address=\"10.1.1.1/24\",\n    mgmt_route=\"none\",\n    state=\"provisioned\",\n    cores_per_slot=2,\n    number_of_slots=1,\n    min_number_of_slots=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vcmp_test = new F5BigIP.VCMP.Guest(\"vcmp-test\", new()\n    {\n        Name = \"tf_guest\",\n        InitialImage = \"12.1.2.iso\",\n        MgmtNetwork = \"bridged\",\n        MgmtAddress = \"10.1.1.1/24\",\n        MgmtRoute = \"none\",\n        State = \"provisioned\",\n        CoresPerSlot = 2,\n        NumberOfSlots = 1,\n        MinNumberOfSlots = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/vcmp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vcmp.NewGuest(ctx, \"vcmp-test\", \u0026vcmp.GuestArgs{\n\t\t\tName:             pulumi.String(\"tf_guest\"),\n\t\t\tInitialImage:     pulumi.String(\"12.1.2.iso\"),\n\t\t\tMgmtNetwork:      pulumi.String(\"bridged\"),\n\t\t\tMgmtAddress:      pulumi.String(\"10.1.1.1/24\"),\n\t\t\tMgmtRoute:        pulumi.String(\"none\"),\n\t\t\tState:            pulumi.String(\"provisioned\"),\n\t\t\tCoresPerSlot:     pulumi.Int(2),\n\t\t\tNumberOfSlots:    pulumi.Int(1),\n\t\t\tMinNumberOfSlots: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.vcmp.Guest;\nimport com.pulumi.f5bigip.vcmp.GuestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vcmp_test = new Guest(\"vcmp-test\", GuestArgs.builder()\n            .name(\"tf_guest\")\n            .initialImage(\"12.1.2.iso\")\n            .mgmtNetwork(\"bridged\")\n            .mgmtAddress(\"10.1.1.1/24\")\n            .mgmtRoute(\"none\")\n            .state(\"provisioned\")\n            .coresPerSlot(2)\n            .numberOfSlots(1)\n            .minNumberOfSlots(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vcmp-test:\n    type: f5bigip:vcmp:Guest\n    properties:\n      name: tf_guest\n      initialImage: 12.1.2.iso\n      mgmtNetwork: bridged\n      mgmtAddress: 10.1.1.1/24\n      mgmtRoute: none\n      state: provisioned\n      coresPerSlot: 2\n      numberOfSlots: 1\n      minNumberOfSlots: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allowedSlots":{"type":"array","items":{"type":"integer"},"description":"Contains those slots to which the guest is allowed to be assigned."},"coresPerSlot":{"type":"integer","description":"Specifies the number of cores the system allocates to the guest.\n"},"deleteVirtualDisk":{"type":"boolean","description":"Indicates if virtual disk associated with vCMP guest should be removed during remove operation.  The default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"fullPath":{"type":"string","description":"Resource name including prepended partition path."},"initialHotfix":{"type":"string","description":"Specifies the hotfix ISO image file which is applied on top of the base image.\n"},"initialImage":{"type":"string","description":"Specifies the base software release ISO image file for installing the TMOS hypervisor instance.\n"},"mgmtAddress":{"type":"string","description":"Specifies the IP address and subnet or subnet mask you use to access the guest when you want to manage a module running within the guest.\n"},"mgmtNetwork":{"type":"string","description":"Specifies the method by which the management address is used in the vCMP guest. options : [\u003cspan pulumi-lang-nodejs=\"`bridged`\" pulumi-lang-dotnet=\"`Bridged`\" pulumi-lang-go=\"`bridged`\" pulumi-lang-python=\"`bridged`\" pulumi-lang-yaml=\"`bridged`\" pulumi-lang-java=\"`bridged`\"\u003e`bridged`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`isolated`\" pulumi-lang-dotnet=\"`Isolated`\" pulumi-lang-go=\"`isolated`\" pulumi-lang-python=\"`isolated`\" pulumi-lang-yaml=\"`isolated`\" pulumi-lang-java=\"`isolated`\"\u003e`isolated`\u003c/span\u003e,`host-only`].\n"},"mgmtRoute":{"type":"string","description":"Specifies the gateway address for the \u003cspan pulumi-lang-nodejs=\"`mgmtAddress`\" pulumi-lang-dotnet=\"`MgmtAddress`\" pulumi-lang-go=\"`mgmtAddress`\" pulumi-lang-python=\"`mgmt_address`\" pulumi-lang-yaml=\"`mgmtAddress`\" pulumi-lang-java=\"`mgmtAddress`\"\u003e`mgmt_address`\u003c/span\u003e. Can be set to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e to remove the value from the configuration.\n"},"minNumberOfSlots":{"type":"integer","description":"Specifies the minimum number of slots the guest must be assigned to in order to deploy.\n"},"name":{"type":"string","description":"Name of the vCMP guest\n"},"numberOfSlots":{"type":"integer","description":"Specifies the number of slots for the system to use when creating the guest.\n"},"state":{"type":"string","description":"Specifies the state of the vCMP guest on the system. options : [\u003cspan pulumi-lang-nodejs=\"`configured`\" pulumi-lang-dotnet=\"`Configured`\" pulumi-lang-go=\"`configured`\" pulumi-lang-python=\"`configured`\" pulumi-lang-yaml=\"`configured`\" pulumi-lang-java=\"`configured`\"\u003e`configured`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`provisioned`\" pulumi-lang-dotnet=\"`Provisioned`\" pulumi-lang-go=\"`provisioned`\" pulumi-lang-python=\"`provisioned`\" pulumi-lang-yaml=\"`provisioned`\" pulumi-lang-java=\"`provisioned`\"\u003e`provisioned`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\"\u003e`deployed`\u003c/span\u003e].\n"},"virtualDisk":{"type":"string","description":"Virtual disk associated with vCMP guest."},"vlans":{"type":"array","items":{"type":"string"},"description":"Specifies the list of VLANs the vCMP guest uses to communicate with other guests, the host, and with the external network. The naming format must be the combination of the partition + name. For example /Common/my-vlan\n"}},"required":["allowedSlots","coresPerSlot","fullPath","initialHotfix","initialImage","mgmtAddress","mgmtNetwork","mgmtRoute","minNumberOfSlots","name","numberOfSlots","state","virtualDisk","vlans"],"inputProperties":{"allowedSlots":{"type":"array","items":{"type":"integer"},"description":"Contains those slots to which the guest is allowed to be assigned."},"coresPerSlot":{"type":"integer","description":"Specifies the number of cores the system allocates to the guest.\n"},"deleteVirtualDisk":{"type":"boolean","description":"Indicates if virtual disk associated with vCMP guest should be removed during remove operation.  The default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"initialHotfix":{"type":"string","description":"Specifies the hotfix ISO image file which is applied on top of the base image.\n"},"initialImage":{"type":"string","description":"Specifies the base software release ISO image file for installing the TMOS hypervisor instance.\n"},"mgmtAddress":{"type":"string","description":"Specifies the IP address and subnet or subnet mask you use to access the guest when you want to manage a module running within the guest.\n"},"mgmtNetwork":{"type":"string","description":"Specifies the method by which the management address is used in the vCMP guest. options : [\u003cspan pulumi-lang-nodejs=\"`bridged`\" pulumi-lang-dotnet=\"`Bridged`\" pulumi-lang-go=\"`bridged`\" pulumi-lang-python=\"`bridged`\" pulumi-lang-yaml=\"`bridged`\" pulumi-lang-java=\"`bridged`\"\u003e`bridged`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`isolated`\" pulumi-lang-dotnet=\"`Isolated`\" pulumi-lang-go=\"`isolated`\" pulumi-lang-python=\"`isolated`\" pulumi-lang-yaml=\"`isolated`\" pulumi-lang-java=\"`isolated`\"\u003e`isolated`\u003c/span\u003e,`host-only`].\n"},"mgmtRoute":{"type":"string","description":"Specifies the gateway address for the \u003cspan pulumi-lang-nodejs=\"`mgmtAddress`\" pulumi-lang-dotnet=\"`MgmtAddress`\" pulumi-lang-go=\"`mgmtAddress`\" pulumi-lang-python=\"`mgmt_address`\" pulumi-lang-yaml=\"`mgmtAddress`\" pulumi-lang-java=\"`mgmtAddress`\"\u003e`mgmt_address`\u003c/span\u003e. Can be set to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e to remove the value from the configuration.\n"},"minNumberOfSlots":{"type":"integer","description":"Specifies the minimum number of slots the guest must be assigned to in order to deploy.\n"},"name":{"type":"string","description":"Name of the vCMP guest\n","willReplaceOnChanges":true},"numberOfSlots":{"type":"integer","description":"Specifies the number of slots for the system to use when creating the guest.\n"},"state":{"type":"string","description":"Specifies the state of the vCMP guest on the system. options : [\u003cspan pulumi-lang-nodejs=\"`configured`\" pulumi-lang-dotnet=\"`Configured`\" pulumi-lang-go=\"`configured`\" pulumi-lang-python=\"`configured`\" pulumi-lang-yaml=\"`configured`\" pulumi-lang-java=\"`configured`\"\u003e`configured`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`provisioned`\" pulumi-lang-dotnet=\"`Provisioned`\" pulumi-lang-go=\"`provisioned`\" pulumi-lang-python=\"`provisioned`\" pulumi-lang-yaml=\"`provisioned`\" pulumi-lang-java=\"`provisioned`\"\u003e`provisioned`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\"\u003e`deployed`\u003c/span\u003e].\n"},"vlans":{"type":"array","items":{"type":"string"},"description":"Specifies the list of VLANs the vCMP guest uses to communicate with other guests, the host, and with the external network. The naming format must be the combination of the partition + name. For example /Common/my-vlan\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering Guest resources.\n","properties":{"allowedSlots":{"type":"array","items":{"type":"integer"},"description":"Contains those slots to which the guest is allowed to be assigned."},"coresPerSlot":{"type":"integer","description":"Specifies the number of cores the system allocates to the guest.\n"},"deleteVirtualDisk":{"type":"boolean","description":"Indicates if virtual disk associated with vCMP guest should be removed during remove operation.  The default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"fullPath":{"type":"string","description":"Resource name including prepended partition path."},"initialHotfix":{"type":"string","description":"Specifies the hotfix ISO image file which is applied on top of the base image.\n"},"initialImage":{"type":"string","description":"Specifies the base software release ISO image file for installing the TMOS hypervisor instance.\n"},"mgmtAddress":{"type":"string","description":"Specifies the IP address and subnet or subnet mask you use to access the guest when you want to manage a module running within the guest.\n"},"mgmtNetwork":{"type":"string","description":"Specifies the method by which the management address is used in the vCMP guest. options : [\u003cspan pulumi-lang-nodejs=\"`bridged`\" pulumi-lang-dotnet=\"`Bridged`\" pulumi-lang-go=\"`bridged`\" pulumi-lang-python=\"`bridged`\" pulumi-lang-yaml=\"`bridged`\" pulumi-lang-java=\"`bridged`\"\u003e`bridged`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`isolated`\" pulumi-lang-dotnet=\"`Isolated`\" pulumi-lang-go=\"`isolated`\" pulumi-lang-python=\"`isolated`\" pulumi-lang-yaml=\"`isolated`\" pulumi-lang-java=\"`isolated`\"\u003e`isolated`\u003c/span\u003e,`host-only`].\n"},"mgmtRoute":{"type":"string","description":"Specifies the gateway address for the \u003cspan pulumi-lang-nodejs=\"`mgmtAddress`\" pulumi-lang-dotnet=\"`MgmtAddress`\" pulumi-lang-go=\"`mgmtAddress`\" pulumi-lang-python=\"`mgmt_address`\" pulumi-lang-yaml=\"`mgmtAddress`\" pulumi-lang-java=\"`mgmtAddress`\"\u003e`mgmt_address`\u003c/span\u003e. Can be set to \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e to remove the value from the configuration.\n"},"minNumberOfSlots":{"type":"integer","description":"Specifies the minimum number of slots the guest must be assigned to in order to deploy.\n"},"name":{"type":"string","description":"Name of the vCMP guest\n","willReplaceOnChanges":true},"numberOfSlots":{"type":"integer","description":"Specifies the number of slots for the system to use when creating the guest.\n"},"state":{"type":"string","description":"Specifies the state of the vCMP guest on the system. options : [\u003cspan pulumi-lang-nodejs=\"`configured`\" pulumi-lang-dotnet=\"`Configured`\" pulumi-lang-go=\"`configured`\" pulumi-lang-python=\"`configured`\" pulumi-lang-yaml=\"`configured`\" pulumi-lang-java=\"`configured`\"\u003e`configured`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`provisioned`\" pulumi-lang-dotnet=\"`Provisioned`\" pulumi-lang-go=\"`provisioned`\" pulumi-lang-python=\"`provisioned`\" pulumi-lang-yaml=\"`provisioned`\" pulumi-lang-java=\"`provisioned`\"\u003e`provisioned`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\"\u003e`deployed`\u003c/span\u003e].\n"},"virtualDisk":{"type":"string","description":"Virtual disk associated with vCMP guest."},"vlans":{"type":"array","items":{"type":"string"},"description":"Specifies the list of VLANs the vCMP guest uses to communicate with other guests, the host, and with the external network. The naming format must be the combination of the partition + name. For example /Common/my-vlan\n"}},"type":"object"}}},"functions":{"f5bigip:fast/getAwsServiceDiscovery:getAwsServiceDiscovery":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.fast.getAwsServiceDiscovery`\" pulumi-lang-dotnet=\"`f5bigip.fast.getAwsServiceDiscovery`\" pulumi-lang-go=\"`fast.getAwsServiceDiscovery`\" pulumi-lang-python=\"`fast_get_aws_service_discovery`\" pulumi-lang-yaml=\"`f5bigip.fast.getAwsServiceDiscovery`\" pulumi-lang-java=\"`f5bigip.fast.getAwsServiceDiscovery`\"\u003e`f5bigip.fast.getAwsServiceDiscovery`\u003c/span\u003e) to get the AWS Service discovery config to be used for \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e app deployment in FAST.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst TC2 = f5bigip.fast.getAwsServiceDiscovery({\n    tagKey: \"testawstagkey\",\n    tagValue: \"testawstagvalue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntc2 = f5bigip.fast.get_aws_service_discovery(tag_key=\"testawstagkey\",\n    tag_value=\"testawstagvalue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var TC2 = F5BigIP.Fast.GetAwsServiceDiscovery.Invoke(new()\n    {\n        TagKey = \"testawstagkey\",\n        TagValue = \"testawstagvalue\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/fast\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fast.GetAwsServiceDiscovery(ctx, \u0026fast.GetAwsServiceDiscoveryArgs{\n\t\t\tTagKey:   \"testawstagkey\",\n\t\t\tTagValue: \"testawstagvalue\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.fast.FastFunctions;\nimport com.pulumi.f5bigip.fast.inputs.GetAwsServiceDiscoveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var TC2 = FastFunctions.getAwsServiceDiscovery(GetAwsServiceDiscoveryArgs.builder()\n            .tagKey(\"testawstagkey\")\n            .tagValue(\"testawstagvalue\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  TC2:\n    fn::invoke:\n      function: f5bigip:fast:getAwsServiceDiscovery\n      arguments:\n        tagKey: testawstagkey\n        tagValue: testawstagvalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsServiceDiscovery.\n","properties":{"addressRealm":{"type":"string","description":"Specifies whether to look for public or private IP addresses,default \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"awsAccessKey":{"type":"string","description":"Information for discovering AWS nodes that are not in the same region as your BIG-IP (also requires the \u003cspan pulumi-lang-nodejs=\"`awsSecretAccessKey`\" pulumi-lang-dotnet=\"`AwsSecretAccessKey`\" pulumi-lang-go=\"`awsSecretAccessKey`\" pulumi-lang-python=\"`aws_secret_access_key`\" pulumi-lang-yaml=\"`awsSecretAccessKey`\" pulumi-lang-java=\"`awsSecretAccessKey`\"\u003e`aws_secret_access_key`\u003c/span\u003e field)\n","secret":true},"awsRegion":{"type":"string","description":"AWS region in which ADC is running,default Empty string.\n"},"awsSecretAccessKey":{"type":"string","description":"Information for discovering AWS nodes that are not in the same region as your BIG-IP (also requires the \u003cspan pulumi-lang-nodejs=\"`awsSecretAccessKey`\" pulumi-lang-dotnet=\"`AwsSecretAccessKey`\" pulumi-lang-go=\"`awsSecretAccessKey`\" pulumi-lang-python=\"`aws_secret_access_key`\" pulumi-lang-yaml=\"`awsSecretAccessKey`\" pulumi-lang-java=\"`awsSecretAccessKey`\"\u003e`aws_secret_access_key`\u003c/span\u003e field)\n","secret":true},"credentialUpdate":{"type":"boolean","description":"Specifies whether you are updating your credentials,default \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"externalId":{"type":"string","description":"AWS externalID field.\n"},"minimumMonitors":{"type":"string","description":"Member is down when fewer than minimum monitors report it healthy.\n"},"port":{"type":"integer","description":"Port to be used for AWS service discovery,default \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n"},"roleArn":{"type":"string","description":"Assume a role (also requires the \u003cspan pulumi-lang-nodejs=\"`externalId`\" pulumi-lang-dotnet=\"`ExternalId`\" pulumi-lang-go=\"`externalId`\" pulumi-lang-python=\"`external_id`\" pulumi-lang-yaml=\"`externalId`\" pulumi-lang-java=\"`externalId`\"\u003e`external_id`\u003c/span\u003e field)\n"},"tagKey":{"type":"string","description":"The tag key associated with the node to add to this pool.\n"},"tagValue":{"type":"string","description":"The tag value associated with the node to add to this pool.\n"},"type":{"type":"string"},"undetectableAction":{"type":"string","description":"Action to take when node cannot be detected,default \u003cspan pulumi-lang-nodejs=\"`remove`\" pulumi-lang-dotnet=\"`Remove`\" pulumi-lang-go=\"`remove`\" pulumi-lang-python=\"`remove`\" pulumi-lang-yaml=\"`remove`\" pulumi-lang-java=\"`remove`\"\u003e`remove`\u003c/span\u003e.\n"},"updateInterval":{"type":"string","description":"Update interval for service discovery.\n"}},"type":"object","required":["tagKey","tagValue"]},"outputs":{"description":"A collection of values returned by getAwsServiceDiscovery.\n","properties":{"addressRealm":{"type":"string"},"awsAccessKey":{"secret":true,"type":"string"},"awsRegion":{"type":"string"},"awsSdJson":{"description":"The JSON for AWS service discovery block.\n","type":"string"},"awsSecretAccessKey":{"secret":true,"type":"string"},"credentialUpdate":{"type":"boolean"},"externalId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"minimumMonitors":{"type":"string"},"port":{"type":"integer"},"roleArn":{"type":"string"},"tagKey":{"type":"string"},"tagValue":{"type":"string"},"type":{"type":"string"},"undetectableAction":{"type":"string"},"updateInterval":{"type":"string"}},"required":["awsRegion","awsSdJson","externalId","roleArn","tagKey","tagValue","id"],"type":"object"}},"f5bigip:fast/getAzureServiceDiscovery:getAzureServiceDiscovery":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.fast.getAzureServiceDiscovery`\" pulumi-lang-dotnet=\"`f5bigip.fast.getAzureServiceDiscovery`\" pulumi-lang-go=\"`fast.getAzureServiceDiscovery`\" pulumi-lang-python=\"`fast_get_azure_service_discovery`\" pulumi-lang-yaml=\"`f5bigip.fast.getAzureServiceDiscovery`\" pulumi-lang-java=\"`f5bigip.fast.getAzureServiceDiscovery`\"\u003e`f5bigip.fast.getAzureServiceDiscovery`\u003c/span\u003e) to get the Azure Service discovery config to be used for \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e app deployment in FAST.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst TC3 = f5bigip.fast.getAzureServiceDiscovery({\n    resourceGroup: \"testazurerg\",\n    subscriptionId: \"testazuresid\",\n    tagKey: \"testazuretag\",\n    tagValue: \"testazurevalue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntc3 = f5bigip.fast.get_azure_service_discovery(resource_group=\"testazurerg\",\n    subscription_id=\"testazuresid\",\n    tag_key=\"testazuretag\",\n    tag_value=\"testazurevalue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var TC3 = F5BigIP.Fast.GetAzureServiceDiscovery.Invoke(new()\n    {\n        ResourceGroup = \"testazurerg\",\n        SubscriptionId = \"testazuresid\",\n        TagKey = \"testazuretag\",\n        TagValue = \"testazurevalue\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/fast\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fast.GetAzureServiceDiscovery(ctx, \u0026fast.GetAzureServiceDiscoveryArgs{\n\t\t\tResourceGroup:  \"testazurerg\",\n\t\t\tSubscriptionId: \"testazuresid\",\n\t\t\tTagKey:         pulumi.StringRef(\"testazuretag\"),\n\t\t\tTagValue:       pulumi.StringRef(\"testazurevalue\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.fast.FastFunctions;\nimport com.pulumi.f5bigip.fast.inputs.GetAzureServiceDiscoveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var TC3 = FastFunctions.getAzureServiceDiscovery(GetAzureServiceDiscoveryArgs.builder()\n            .resourceGroup(\"testazurerg\")\n            .subscriptionId(\"testazuresid\")\n            .tagKey(\"testazuretag\")\n            .tagValue(\"testazurevalue\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  TC3:\n    fn::invoke:\n      function: f5bigip:fast:getAzureServiceDiscovery\n      arguments:\n        resourceGroup: testazurerg\n        subscriptionId: testazuresid\n        tagKey: testazuretag\n        tagValue: testazurevalue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzureServiceDiscovery.\n","properties":{"addressRealm":{"type":"string","description":"Specifies whether to look for public or private IP addresses,default \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"credentialUpdate":{"type":"boolean","description":"Specifies whether you are updating your credentials,default \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"minimumMonitors":{"type":"string","description":"Member is down when fewer than minimum monitors report it healthy.\n"},"port":{"type":"integer","description":"Port to be used for Azure service discovery,default \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n"},"resourceGroup":{"type":"string","description":"Azure Resource Group name.\n"},"subscriptionId":{"type":"string","description":"Azure subscription ID.\n"},"tagKey":{"type":"string","description":"The tag key associated with the node to add to this pool.\n"},"tagValue":{"type":"string","description":"The tag value associated with the node to add to this pool.\n"},"type":{"type":"string"},"undetectableAction":{"type":"string","description":"Action to take when node cannot be detected,default \u003cspan pulumi-lang-nodejs=\"`remove`\" pulumi-lang-dotnet=\"`Remove`\" pulumi-lang-go=\"`remove`\" pulumi-lang-python=\"`remove`\" pulumi-lang-yaml=\"`remove`\" pulumi-lang-java=\"`remove`\"\u003e`remove`\u003c/span\u003e.\n"},"updateInterval":{"type":"string","description":"Update interval for service discovery.\n"}},"type":"object","required":["resourceGroup","subscriptionId"]},"outputs":{"description":"A collection of values returned by getAzureServiceDiscovery.\n","properties":{"addressRealm":{"type":"string"},"azureSdJson":{"description":"The JSON for Azure service discovery block.\n","type":"string"},"credentialUpdate":{"type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"minimumMonitors":{"type":"string"},"port":{"type":"integer"},"resourceGroup":{"type":"string"},"subscriptionId":{"type":"string"},"tagKey":{"type":"string"},"tagValue":{"type":"string"},"type":{"type":"string"},"undetectableAction":{"type":"string"},"updateInterval":{"type":"string"}},"required":["azureSdJson","resourceGroup","subscriptionId","id"],"type":"object"}},"f5bigip:fast/getConsulServiceDiscovery:getConsulServiceDiscovery":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.fast.getConsulServiceDiscovery`\" pulumi-lang-dotnet=\"`f5bigip.fast.getConsulServiceDiscovery`\" pulumi-lang-go=\"`fast.getConsulServiceDiscovery`\" pulumi-lang-python=\"`fast_get_consul_service_discovery`\" pulumi-lang-yaml=\"`f5bigip.fast.getConsulServiceDiscovery`\" pulumi-lang-java=\"`f5bigip.fast.getConsulServiceDiscovery`\"\u003e`f5bigip.fast.getConsulServiceDiscovery`\u003c/span\u003e) to get the Consul Service discovery config to be used for \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e app deployment in FAST.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst TC2 = f5bigip.fast.getConsulServiceDiscovery({\n    uri: \"https://192.0.2.100:8500/v1/catalog/nodes\",\n    port: 8080,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntc2 = f5bigip.fast.get_consul_service_discovery(uri=\"https://192.0.2.100:8500/v1/catalog/nodes\",\n    port=8080)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var TC2 = F5BigIP.Fast.GetConsulServiceDiscovery.Invoke(new()\n    {\n        Uri = \"https://192.0.2.100:8500/v1/catalog/nodes\",\n        Port = 8080,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/fast\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fast.GetConsulServiceDiscovery(ctx, \u0026fast.GetConsulServiceDiscoveryArgs{\n\t\t\tUri:  \"https://192.0.2.100:8500/v1/catalog/nodes\",\n\t\t\tPort: 8080,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.fast.FastFunctions;\nimport com.pulumi.f5bigip.fast.inputs.GetConsulServiceDiscoveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var TC2 = FastFunctions.getConsulServiceDiscovery(GetConsulServiceDiscoveryArgs.builder()\n            .uri(\"https://192.0.2.100:8500/v1/catalog/nodes\")\n            .port(8080)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  TC2:\n    fn::invoke:\n      function: f5bigip:fast:getConsulServiceDiscovery\n      arguments:\n        uri: https://192.0.2.100:8500/v1/catalog/nodes\n        port: 8080\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getConsulServiceDiscovery.\n","properties":{"addressRealm":{"type":"string","description":"Specifies whether to look for public or private IP addresses,default \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"credentialUpdate":{"type":"boolean","description":"Specifies whether you are updating your credentials,default \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"encodedToken":{"type":"string","description":"Base 64 encoded bearer token to make requests to the Consul API. Will be stored in the declaration in an encrypted format.\n"},"jmesPathQuery":{"type":"string","description":"Custom JMESPath Query.\n"},"minimumMonitors":{"type":"string","description":"Member is down when fewer than minimum monitors report it healthy.\n"},"port":{"type":"integer","description":"Port to be used for AWS service discovery,default \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n"},"rejectUnauthorized":{"type":"boolean","description":"If true, the server certificate is verified against the list of supplied/default CAs when making requests to the Consul API.\n"},"trustCa":{"type":"string","description":"CA Bundle to validate server certificates.\n"},"type":{"type":"string"},"undetectableAction":{"type":"string","description":"Action to take when node cannot be detected,default \u003cspan pulumi-lang-nodejs=\"`remove`\" pulumi-lang-dotnet=\"`Remove`\" pulumi-lang-go=\"`remove`\" pulumi-lang-python=\"`remove`\" pulumi-lang-yaml=\"`remove`\" pulumi-lang-java=\"`remove`\"\u003e`remove`\u003c/span\u003e.\n"},"updateInterval":{"type":"string","description":"Update interval for service discovery.\n"},"uri":{"type":"string","description":"The location of the node data.\n"}},"type":"object","required":["port","uri"]},"outputs":{"description":"A collection of values returned by getConsulServiceDiscovery.\n","properties":{"addressRealm":{"type":"string"},"consulSdJson":{"description":"The JSON for Hashicorp Consul service discovery block.\n","type":"string"},"credentialUpdate":{"type":"boolean"},"encodedToken":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"jmesPathQuery":{"type":"string"},"minimumMonitors":{"type":"string"},"port":{"type":"integer"},"rejectUnauthorized":{"type":"boolean"},"trustCa":{"type":"string"},"type":{"type":"string"},"undetectableAction":{"type":"string"},"updateInterval":{"type":"string"},"uri":{"type":"string"}},"required":["consulSdJson","port","uri","id"],"type":"object"}},"f5bigip:fast/getGceServiceDiscovery:getGceServiceDiscovery":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.fast.getGceServiceDiscovery`\" pulumi-lang-dotnet=\"`f5bigip.fast.getGceServiceDiscovery`\" pulumi-lang-go=\"`fast.getGceServiceDiscovery`\" pulumi-lang-python=\"`fast_get_gce_service_discovery`\" pulumi-lang-yaml=\"`f5bigip.fast.getGceServiceDiscovery`\" pulumi-lang-java=\"`f5bigip.fast.getGceServiceDiscovery`\"\u003e`f5bigip.fast.getGceServiceDiscovery`\u003c/span\u003e) to get the GCE Service discovery config to be used for \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e app deployment in FAST.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst TC3 = f5bigip.fast.getGceServiceDiscovery({\n    tagKey: \"testgcetag\",\n    tagValue: \"testgcevalue\",\n    region: \"testgceregion\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntc3 = f5bigip.fast.get_gce_service_discovery(tag_key=\"testgcetag\",\n    tag_value=\"testgcevalue\",\n    region=\"testgceregion\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var TC3 = F5BigIP.Fast.GetGceServiceDiscovery.Invoke(new()\n    {\n        TagKey = \"testgcetag\",\n        TagValue = \"testgcevalue\",\n        Region = \"testgceregion\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/fast\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fast.GetGceServiceDiscovery(ctx, \u0026fast.GetGceServiceDiscoveryArgs{\n\t\t\tTagKey:   \"testgcetag\",\n\t\t\tTagValue: \"testgcevalue\",\n\t\t\tRegion:   \"testgceregion\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.fast.FastFunctions;\nimport com.pulumi.f5bigip.fast.inputs.GetGceServiceDiscoveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var TC3 = FastFunctions.getGceServiceDiscovery(GetGceServiceDiscoveryArgs.builder()\n            .tagKey(\"testgcetag\")\n            .tagValue(\"testgcevalue\")\n            .region(\"testgceregion\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  TC3:\n    fn::invoke:\n      function: f5bigip:fast:getGceServiceDiscovery\n      arguments:\n        tagKey: testgcetag\n        tagValue: testgcevalue\n        region: testgceregion\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGceServiceDiscovery.\n","properties":{"addressRealm":{"type":"string","description":"Specifies whether to look for public or private IP addresses,default \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n"},"credentialUpdate":{"type":"boolean","description":"Specifies whether you are updating your credentials,default \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"encodedCredentials":{"type":"string","description":"Base 64 encoded service account credentials JSON.\n"},"minimumMonitors":{"type":"string","description":"Member is down when fewer than minimum monitors report it healthy.\n"},"port":{"type":"integer","description":"Port to be used for AWS service discovery,default \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e.\n"},"projectId":{"type":"string","description":"For Google Cloud Engine (GCE) only: The ID of the project in which the members are located.\n"},"region":{"type":"string","description":"GCE region in which ADC is running.\n"},"tagKey":{"type":"string","description":"The tag key associated with the node to add to this pool.\n"},"tagValue":{"type":"string","description":"The tag value associated with the node to add to this pool.\n"},"type":{"type":"string"},"undetectableAction":{"type":"string","description":"Action to take when node cannot be detected,default \u003cspan pulumi-lang-nodejs=\"`remove`\" pulumi-lang-dotnet=\"`Remove`\" pulumi-lang-go=\"`remove`\" pulumi-lang-python=\"`remove`\" pulumi-lang-yaml=\"`remove`\" pulumi-lang-java=\"`remove`\"\u003e`remove`\u003c/span\u003e.\n"},"updateInterval":{"type":"string","description":"Update interval for service discovery.\n"}},"type":"object","required":["region","tagKey","tagValue"]},"outputs":{"description":"A collection of values returned by getGceServiceDiscovery.\n","properties":{"addressRealm":{"type":"string"},"credentialUpdate":{"type":"boolean"},"encodedCredentials":{"type":"string"},"gceSdJson":{"description":"The JSON for GCE service discovery block.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"minimumMonitors":{"type":"string"},"port":{"type":"integer"},"projectId":{"type":"string"},"region":{"type":"string"},"tagKey":{"type":"string"},"tagValue":{"type":"string"},"type":{"type":"string"},"undetectableAction":{"type":"string"},"updateInterval":{"type":"string"}},"required":["gceSdJson","region","tagKey","tagValue","id"],"type":"object"}},"f5bigip:index/getAs3DeviceInformation:getAs3DeviceInformation":{"inputs":{"description":"A collection of arguments for invoking getAs3DeviceInformation.\n","properties":{"applications":{"type":"array","items":{"type":"string"}},"tenant":{"type":"string"}},"type":"object","required":["tenant"]},"outputs":{"description":"A collection of values returned by getAs3DeviceInformation.\n","properties":{"applications":{"items":{"type":"string"},"type":"array"},"as3Json":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"tenant":{"type":"string"}},"required":["as3Json","tenant","id"],"type":"object"}},"f5bigip:ltm/getDataGroup:getDataGroup":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.DataGroup`\" pulumi-lang-dotnet=\"`f5bigip.ltm.DataGroup`\" pulumi-lang-go=\"`ltm.DataGroup`\" pulumi-lang-python=\"`ltm.DataGroup`\" pulumi-lang-yaml=\"`f5bigip.ltm.DataGroup`\" pulumi-lang-java=\"`f5bigip.ltm.DataGroup`\"\u003e`f5bigip.ltm.DataGroup`\u003c/span\u003e) to get the data group details available on BIG-IP\n \n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst DG_TC3 = f5bigip.ltm.getDataGroup({\n    name: \"test-dg\",\n    partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nd_g__tc3 = f5bigip.ltm.get_data_group(name=\"test-dg\",\n    partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var DG_TC3 = F5BigIP.Ltm.GetDataGroup.Invoke(new()\n    {\n        Name = \"test-dg\",\n        Partition = \"Common\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.LookupDataGroup(ctx, \u0026ltm.LookupDataGroupArgs{\n\t\t\tName:      \"test-dg\",\n\t\t\tPartition: \"Common\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.LtmFunctions;\nimport com.pulumi.f5bigip.ltm.inputs.GetDataGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var DG-TC3 = LtmFunctions.getDataGroup(GetDataGroupArgs.builder()\n            .name(\"test-dg\")\n            .partition(\"Common\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  DG-TC3:\n    fn::invoke:\n      function: f5bigip:ltm:getDataGroup\n      arguments:\n        name: test-dg\n        partition: Common\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDataGroup.\n","properties":{"name":{"type":"string","description":"Name of the datagroup\n"},"partition":{"type":"string","description":"partition of the datagroup\n"},"records":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/getDataGroupRecord:getDataGroupRecord"},"description":"Specifies record of type (string/ip/integer)\n"},"type":{"type":"string","description":"The Data Group type (string, ip, integer)\"\n"}},"type":"object","required":["name","partition"]},"outputs":{"description":"A collection of values returned by getDataGroup.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"partition":{"type":"string"},"records":{"description":"Specifies record of type (string/ip/integer)\n","items":{"$ref":"#/types/f5bigip:ltm/getDataGroupRecord:getDataGroupRecord"},"type":"array"},"type":{"description":"The Data Group type (string, ip, integer)\"\n","type":"string"}},"required":["name","partition","records","type","id"],"type":"object"}},"f5bigip:ltm/getIrule:getIrule":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.IRule`\" pulumi-lang-dotnet=\"`f5bigip.ltm.IRule`\" pulumi-lang-go=\"`ltm.IRule`\" pulumi-lang-python=\"`ltm.IRule`\" pulumi-lang-yaml=\"`f5bigip.ltm.IRule`\" pulumi-lang-java=\"`f5bigip.ltm.IRule`\"\u003e`f5bigip.ltm.IRule`\u003c/span\u003e) to get the ltm irule details available on BIG-IP\n \n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test = f5bigip.ltm.getIrule({\n    name: \"terraform_irule\",\n    partition: \"Common\",\n});\nexport const bigipIrule = test.then(test =\u003e test.irule);\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest = f5bigip.ltm.get_irule(name=\"terraform_irule\",\n    partition=\"Common\")\npulumi.export(\"bigipIrule\", test.irule)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = F5BigIP.Ltm.GetIrule.Invoke(new()\n    {\n        Name = \"terraform_irule\",\n        Partition = \"Common\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"bigipIrule\"] = test.Apply(getIruleResult =\u003e getIruleResult.Irule),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ltm.GetIrule(ctx, \u0026ltm.GetIruleArgs{\n\t\t\tName:      \"terraform_irule\",\n\t\t\tPartition: \"Common\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"bigipIrule\", test.Irule)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.LtmFunctions;\nimport com.pulumi.f5bigip.ltm.inputs.GetIruleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = LtmFunctions.getIrule(GetIruleArgs.builder()\n            .name(\"terraform_irule\")\n            .partition(\"Common\")\n            .build());\n\n        ctx.export(\"bigipIrule\", test.irule());\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: f5bigip:ltm:getIrule\n      arguments:\n        name: terraform_irule\n        partition: Common\noutputs:\n  bigipIrule: ${test.irule}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIrule.\n","properties":{"irule":{"type":"string","description":"Irule configured on bigip\n"},"name":{"type":"string","description":"Name of the irule\n"},"partition":{"type":"string","description":"partition of the ltm irule\n"}},"type":"object","required":["name","partition"]},"outputs":{"description":"A collection of values returned by getIrule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"irule":{"description":"Irule configured on bigip\n","type":"string"},"name":{"description":"Name of irule configured on bigip with full path\n","type":"string"},"partition":{"description":"Bigip partition in which rule is configured\n","type":"string"}},"required":["name","partition","id"],"type":"object"}},"f5bigip:ltm/getMonitor:getMonitor":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Monitor`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Monitor`\" pulumi-lang-go=\"`ltm.Monitor`\" pulumi-lang-python=\"`ltm.Monitor`\" pulumi-lang-yaml=\"`f5bigip.ltm.Monitor`\" pulumi-lang-java=\"`f5bigip.ltm.Monitor`\"\u003e`f5bigip.ltm.Monitor`\u003c/span\u003e) to get the ltm monitor details available on BIG-IP\n \n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst monitor_TC1 = f5bigip.ltm.getMonitor({\n    name: \"test-monitor\",\n    partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmonitor__tc1 = f5bigip.ltm.get_monitor(name=\"test-monitor\",\n    partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var monitor_TC1 = F5BigIP.Ltm.GetMonitor.Invoke(new()\n    {\n        Name = \"test-monitor\",\n        Partition = \"Common\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.LookupMonitor(ctx, \u0026ltm.LookupMonitorArgs{\n\t\t\tName:      \"test-monitor\",\n\t\t\tPartition: \"Common\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.LtmFunctions;\nimport com.pulumi.f5bigip.ltm.inputs.GetMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var monitor-TC1 = LtmFunctions.getMonitor(GetMonitorArgs.builder()\n            .name(\"test-monitor\")\n            .partition(\"Common\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  monitor-TC1:\n    fn::invoke:\n      function: f5bigip:ltm:getMonitor\n      arguments:\n        name: test-monitor\n        partition: Common\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMonitor.\n","properties":{"name":{"type":"string","description":"Name of the ltm monitor\n"},"partition":{"type":"string","description":"partition of the ltm monitor\n"}},"type":"object","required":["name","partition"]},"outputs":{"description":"A collection of values returned by getMonitor.\n","properties":{"adaptive":{"description":"Displays whether adaptive response time monitoring is enabled for this monitor.\n","type":"string"},"adaptiveLimit":{"description":"Displays whether adaptive response time monitoring is enabled for this monitor.\n","type":"integer"},"base":{"type":"string"},"chaseReferrals":{"type":"string"},"database":{"type":"string"},"defaultsFrom":{"type":"string"},"destination":{"description":"id will be full path name of ltm monitor.\n","type":"string"},"filename":{"type":"string"},"filter":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"interval":{"description":"Specifies, in seconds, the frequency at which the system issues the monitor check when either the resource is down or the status of the resource is unknown.\n","type":"integer"},"ipDscp":{"description":"Displays the differentiated services code point (DSCP). DSCP is a 6-bit value in the Differentiated Services (DS) field of the IP header.\n","type":"integer"},"mandatoryAttributes":{"type":"string"},"manualResume":{"description":"Displays whether the system automatically changes the status of a resource to Enabled at the next successful monitor check.\n","type":"string"},"mode":{"type":"string"},"name":{"type":"string"},"partition":{"type":"string"},"receiveDisable":{"type":"string"},"reverse":{"description":"Instructs the system to mark the target resource down when the test is successful.\n","type":"string"},"security":{"type":"string"},"timeUntilUp":{"type":"integer"},"timeout":{"type":"integer"},"transparent":{"description":"Displays whether the monitor operates in transparent mode.\n","type":"string"},"username":{"type":"string"}},"required":["adaptive","adaptiveLimit","base","chaseReferrals","database","defaultsFrom","destination","filename","filter","interval","ipDscp","mandatoryAttributes","manualResume","mode","name","partition","receiveDisable","reverse","security","timeUntilUp","timeout","transparent","username","id"],"type":"object"}},"f5bigip:ltm/getNode:getNode":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Node`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Node`\" pulumi-lang-go=\"`ltm.Node`\" pulumi-lang-python=\"`ltm.Node`\" pulumi-lang-yaml=\"`f5bigip.ltm.Node`\" pulumi-lang-java=\"`f5bigip.ltm.Node`\"\u003e`f5bigip.ltm.Node`\u003c/span\u003e) to get the ltm node details available on BIG-IP\n\n\n","inputs":{"description":"A collection of arguments for invoking getNode.\n","properties":{"address":{"type":"string","description":"The address of the node.\n"},"description":{"type":"string","description":"User defined description of the node.\n"},"fqdn":{"$ref":"#/types/f5bigip:ltm/getNodeFqdn:getNodeFqdn"},"fullPath":{"type":"string","description":"Full path of the node (partition and name)\n"},"name":{"type":"string","description":"Name of the node.\n"},"partition":{"type":"string","description":"partition of the node.\n"}},"type":"object","required":["name","partition"]},"outputs":{"description":"A collection of values returned by getNode.\n","properties":{"address":{"description":"The address of the node.\n","type":"string"},"connectionLimit":{"description":"Node connection limit.\n","type":"integer"},"description":{"description":"User defined description of the node.\n","type":"string"},"dynamicRatio":{"description":"The dynamic ratio number for the node.\n","type":"integer"},"fqdn":{"$ref":"#/types/f5bigip:ltm/getNodeFqdn:getNodeFqdn"},"fullPath":{"description":"Full path of the node (partition and name)\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"monitor":{"description":"Specifies the health monitors the system currently uses to monitor this node.\n","type":"string"},"name":{"type":"string"},"partition":{"type":"string"},"rateLimit":{"description":"Node rate limit.\n","type":"string"},"ratio":{"description":"Node ratio weight.\n","type":"integer"},"session":{"type":"string"},"state":{"description":"The current state of the node.\n","type":"string"}},"required":["connectionLimit","dynamicRatio","fqdn","monitor","name","partition","rateLimit","ratio","session","state","id"],"type":"object"}},"f5bigip:ltm/getPolicy:getPolicy":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Policy`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Policy`\" pulumi-lang-go=\"`ltm.Policy`\" pulumi-lang-python=\"`ltm.Policy`\" pulumi-lang-yaml=\"`f5bigip.ltm.Policy`\" pulumi-lang-java=\"`f5bigip.ltm.Policy`\"\u003e`f5bigip.ltm.Policy`\u003c/span\u003e) to get the ltm policy details available on BIG-IP\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test = f5bigip.ltm.getPolicy({\n    name: \"/Common/test-policy\",\n});\nexport const bigipPolicy = test.then(test =\u003e test.rules);\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest = f5bigip.ltm.get_policy(name=\"/Common/test-policy\")\npulumi.export(\"bigipPolicy\", test.rules)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = F5BigIP.Ltm.GetPolicy.Invoke(new()\n    {\n        Name = \"/Common/test-policy\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"bigipPolicy\"] = test.Apply(getPolicyResult =\u003e getPolicyResult.Rules),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ltm.LookupPolicy(ctx, \u0026ltm.LookupPolicyArgs{\n\t\t\tName: \"/Common/test-policy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"bigipPolicy\", test.Rules)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.LtmFunctions;\nimport com.pulumi.f5bigip.ltm.inputs.GetPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = LtmFunctions.getPolicy(GetPolicyArgs.builder()\n            .name(\"/Common/test-policy\")\n            .build());\n\n        ctx.export(\"bigipPolicy\", test.rules());\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: f5bigip:ltm:getPolicy\n      arguments:\n        name: /Common/test-policy\noutputs:\n  bigipPolicy: ${test.rules}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicy.\n","properties":{"controls":{"type":"array","items":{"type":"string"},"description":"Specifies the controls.\n"},"name":{"type":"string","description":"Name of the policy which includes partion ( /partition/policy-name )\n","willReplaceOnChanges":true},"publishedCopy":{"type":"string","willReplaceOnChanges":true},"requires":{"type":"array","items":{"type":"string"},"description":"Specifies the protocol.\n"},"rules":{"type":"array","items":{"$ref":"#/types/f5bigip:ltm/getPolicyRule:getPolicyRule"},"description":"Rules defined in the policy.\n"},"strategy":{"type":"string","description":"Specifies the match strategy.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getPolicy.\n","properties":{"controls":{"description":"Specifies the controls.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of the policy.\n","type":"string"},"publishedCopy":{"type":"string"},"requires":{"description":"Specifies the protocol.\n","items":{"type":"string"},"type":"array"},"rules":{"description":"Rules defined in the policy.\n","items":{"$ref":"#/types/f5bigip:ltm/getPolicyRule:getPolicyRule"},"type":"array"},"strategy":{"description":"Specifies the match strategy.\n","type":"string"}},"required":["name","id"],"type":"object"}},"f5bigip:ltm/getPool:getPool":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ltm.Pool`\" pulumi-lang-dotnet=\"`f5bigip.ltm.Pool`\" pulumi-lang-go=\"`ltm.Pool`\" pulumi-lang-python=\"`ltm.Pool`\" pulumi-lang-yaml=\"`f5bigip.ltm.Pool`\" pulumi-lang-java=\"`f5bigip.ltm.Pool`\"\u003e`f5bigip.ltm.Pool`\u003c/span\u003e) to get the ltm monitor details available on BIG-IP\n \n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst pool_Example = f5bigip.ltm.getPool({\n    name: \"example-pool\",\n    partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\npool__example = f5bigip.ltm.get_pool(name=\"example-pool\",\n    partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pool_Example = F5BigIP.Ltm.GetPool.Invoke(new()\n    {\n        Name = \"example-pool\",\n        Partition = \"Common\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ltm.LookupPool(ctx, \u0026ltm.LookupPoolArgs{\n\t\t\tName:      \"example-pool\",\n\t\t\tPartition: \"Common\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ltm.LtmFunctions;\nimport com.pulumi.f5bigip.ltm.inputs.GetPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pool-Example = LtmFunctions.getPool(GetPoolArgs.builder()\n            .name(\"example-pool\")\n            .partition(\"Common\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  pool-Example:\n    fn::invoke:\n      function: f5bigip:ltm:getPool\n      arguments:\n        name: example-pool\n        partition: Common\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPool.\n","properties":{"name":{"type":"string","description":"Name of the ltm monitor\n"},"partition":{"type":"string","description":"partition of the ltm monitor\n"}},"type":"object","required":["name","partition"]},"outputs":{"description":"A collection of values returned by getPool.\n","properties":{"fullPath":{"description":"Full path to the pool.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"type":"string"},"partition":{"type":"string"}},"required":["fullPath","name","partition","id"],"type":"object"}},"f5bigip:ssl/getCertificate:getCertificate":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ssl.Certificate`\" pulumi-lang-dotnet=\"`f5bigip.ssl.Certificate`\" pulumi-lang-go=\"`ssl.Certificate`\" pulumi-lang-python=\"`ssl.Certificate`\" pulumi-lang-yaml=\"`f5bigip.ssl.Certificate`\" pulumi-lang-java=\"`f5bigip.ssl.Certificate`\"\u003e`f5bigip.ssl.Certificate`\u003c/span\u003e) to get the ssl-certificate details available on BIG-IP\n \n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test = f5bigip.ssl.getCertificate({\n    name: \"terraform_ssl_certificate\",\n    partition: \"Common\",\n});\nexport const bigipSslCertificateName = test.then(test =\u003e test.name);\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest = f5bigip.ssl.get_certificate(name=\"terraform_ssl_certificate\",\n    partition=\"Common\")\npulumi.export(\"bigipSslCertificateName\", test.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = F5BigIP.Ssl.GetCertificate.Invoke(new()\n    {\n        Name = \"terraform_ssl_certificate\",\n        Partition = \"Common\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"bigipSslCertificateName\"] = test.Apply(getCertificateResult =\u003e getCertificateResult.Name),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := ssl.LookupCertificate(ctx, \u0026ssl.LookupCertificateArgs{\n\t\t\tName:      \"terraform_ssl_certificate\",\n\t\t\tPartition: \"Common\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"bigipSslCertificateName\", test.Name)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = SslFunctions.getCertificate(GetCertificateArgs.builder()\n            .name(\"terraform_ssl_certificate\")\n            .partition(\"Common\")\n            .build());\n\n        ctx.export(\"bigipSslCertificateName\", test.name());\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: f5bigip:ssl:getCertificate\n      arguments:\n        name: terraform_ssl_certificate\n        partition: Common\noutputs:\n  bigipSslCertificateName: ${test.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCertificate.\n","properties":{"name":{"type":"string","description":"Name of the ssl_certificate\n"},"partition":{"type":"string","description":"partition of the ltm ssl_certificate\n"}},"type":"object","required":["name","partition"]},"outputs":{"description":"A collection of values returned by getCertificate.\n","properties":{"certificate":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"Name of\u003cspan pulumi-lang-nodejs=\" sslCertificate \" pulumi-lang-dotnet=\" SslCertificate \" pulumi-lang-go=\" sslCertificate \" pulumi-lang-python=\" ssl_certificate \" pulumi-lang-yaml=\" sslCertificate \" pulumi-lang-java=\" sslCertificate \"\u003e ssl_certificate \u003c/span\u003econfigured on bigip with full path\n","type":"string"},"partition":{"description":"Bigip partition in which ssl-certificate is configured\n","type":"string"}},"required":["certificate","name","partition","id"],"type":"object"}},"f5bigip:ssl/getVWanConfig:getVWanConfig":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ssl.getVWanConfig`\" pulumi-lang-dotnet=\"`f5bigip.ssl.getVWanConfig`\" pulumi-lang-go=\"`ssl.getVWanConfig`\" pulumi-lang-python=\"`ssl_get_v_wan_config`\" pulumi-lang-yaml=\"`f5bigip.ssl.getVWanConfig`\" pulumi-lang-java=\"`f5bigip.ssl.getVWanConfig`\"\u003e`f5bigip.ssl.getVWanConfig`\u003c/span\u003e) to get the vWAN site config from Azure VWAN Site\n \n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vwanconfig = f5bigip.ssl.getVWanConfig({\n    azureVwanResourcegroup: \"azurevwan-bigip-rg-9c8d\",\n    azureVwanName: \"azurevwan-bigip-vwan-9c8d\",\n    azureVwanVpnsite: \"azurevwan-bigip-vsite-9c8d\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nvwanconfig = f5bigip.ssl.get_v_wan_config(azure_vwan_resourcegroup=\"azurevwan-bigip-rg-9c8d\",\n    azure_vwan_name=\"azurevwan-bigip-vwan-9c8d\",\n    azure_vwan_vpnsite=\"azurevwan-bigip-vsite-9c8d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vwanconfig = F5BigIP.Ssl.GetVWanConfig.Invoke(new()\n    {\n        AzureVwanResourcegroup = \"azurevwan-bigip-rg-9c8d\",\n        AzureVwanName = \"azurevwan-bigip-vwan-9c8d\",\n        AzureVwanVpnsite = \"azurevwan-bigip-vsite-9c8d\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssl.GetVWanConfig(ctx, \u0026ssl.GetVWanConfigArgs{\n\t\t\tAzureVwanResourcegroup: \"azurevwan-bigip-rg-9c8d\",\n\t\t\tAzureVwanName:          \"azurevwan-bigip-vwan-9c8d\",\n\t\t\tAzureVwanVpnsite:       \"azurevwan-bigip-vsite-9c8d\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetVWanConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vwanconfig = SslFunctions.getVWanConfig(GetVWanConfigArgs.builder()\n            .azureVwanResourcegroup(\"azurevwan-bigip-rg-9c8d\")\n            .azureVwanName(\"azurevwan-bigip-vwan-9c8d\")\n            .azureVwanVpnsite(\"azurevwan-bigip-vsite-9c8d\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vwanconfig:\n    fn::invoke:\n      function: f5bigip:ssl:getVWanConfig\n      arguments:\n        azureVwanResourcegroup: azurevwan-bigip-rg-9c8d\n        azureVwanName: azurevwan-bigip-vwan-9c8d\n        azureVwanVpnsite: azurevwan-bigip-vsite-9c8d\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Pre-required Environment Settings:\n\n* `AZURE_CLIENT_ID` - (Required) Set this environment variable with the Azure app client ID to use.\n\n* `AZURE_CLIENT_SECRET` - (Required) Set this environment variable with the Azure app secret to use.\n\n* `AZURE_SUBSCRIPTION_ID` - (Required) Set this environment variable with the Azure subscription ID to use.\n\n* `AZURE_TENANT_ID` - (Required) Set this environment variable with the Tenant ID to which to authenticate.\n\n* `STORAGE_ACCOUNT_NAME` - (Required) Set this environment variable with the storage account for download config.\n\n* `STORAGE_ACCOUNT_KEY` - (Required) Specifies the storage account key to authenticate,set this Environment variable with account key value.\n","inputs":{"description":"A collection of arguments for invoking getVWanConfig.\n","properties":{"azureVwanName":{"type":"string","description":"Name of the Azure vWAN Name\n"},"azureVwanResourcegroup":{"type":"string","description":"Name of the Azure vWAN resource group\n"},"azureVwanVpnsite":{"type":"string","description":"Name of the Azure vWAN VPN site from which configuration to be download\n"}},"type":"object","required":["azureVwanName","azureVwanResourcegroup","azureVwanVpnsite"]},"outputs":{"description":"A collection of values returned by getVWanConfig.\n","properties":{"azureVwanName":{"type":"string"},"azureVwanResourcegroup":{"type":"string"},"azureVwanVpnsite":{"type":"string"},"bigipGwIp":{"description":"(type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e) provides IP address of BIGIP G/W for IPSec Endpoint.\n","type":"string"},"hubAddressSpace":{"description":"(type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e) Provides IP Address space used on vWAN Hub.\n","type":"string"},"hubConnectedSubnets":{"description":"(type \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\"\u003e`list`\u003c/span\u003e) Provides Subnets connected to vWAN Hub.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"presharedKey":{"description":"(type \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e) provides pre-shared-key used for IPSec Tunnel creation.\n","secret":true,"type":"string"},"vwanGwAddresses":{"description":"(type \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\"\u003e`list`\u003c/span\u003e) Provides vWAN Gateway Address for IPSec End point\n","items":{"type":"string"},"type":"array"}},"required":["azureVwanName","azureVwanResourcegroup","azureVwanVpnsite","bigipGwIp","hubAddressSpace","hubConnectedSubnets","presharedKey","vwanGwAddresses","id"],"type":"object"}},"f5bigip:ssl/getWafEntityParameter:getWafEntityParameter":{"inputs":{"description":"A collection of arguments for invoking getWafEntityParameter.\n","properties":{"allowEmptyType":{"type":"boolean"},"allowRepeatedParameterName":{"type":"boolean"},"attackSignaturesCheck":{"type":"boolean"},"checkMaxValueLength":{"type":"boolean"},"checkMinValueLength":{"type":"boolean"},"dataType":{"type":"string"},"description":{"type":"string"},"enableRegularExpression":{"type":"boolean"},"isBase64":{"type":"boolean"},"isCookie":{"type":"boolean"},"isHeader":{"type":"boolean"},"json":{"type":"string"},"level":{"type":"string"},"mandatory":{"type":"boolean"},"maxValueLength":{"type":"integer"},"metacharsOnParameterValueCheck":{"type":"boolean"},"minValueLength":{"type":"integer"},"name":{"type":"string"},"parameterLocation":{"type":"string"},"performStaging":{"type":"boolean"},"sensitiveParameter":{"type":"boolean"},"signatureOverridesDisables":{"type":"array","items":{"type":"integer"}},"type":{"type":"string"},"url":{"$ref":"#/types/f5bigip:ssl/getWafEntityParameterUrl:getWafEntityParameterUrl"},"valueType":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getWafEntityParameter.\n","properties":{"allowEmptyType":{"type":"boolean"},"allowRepeatedParameterName":{"type":"boolean"},"attackSignaturesCheck":{"type":"boolean"},"checkMaxValueLength":{"type":"boolean"},"checkMinValueLength":{"type":"boolean"},"dataType":{"type":"string"},"description":{"type":"string"},"enableRegularExpression":{"type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isBase64":{"type":"boolean"},"isCookie":{"type":"boolean"},"isHeader":{"type":"boolean"},"json":{"type":"string"},"level":{"type":"string"},"mandatory":{"type":"boolean"},"maxValueLength":{"type":"integer"},"metacharsOnParameterValueCheck":{"type":"boolean"},"minValueLength":{"type":"integer"},"name":{"type":"string"},"parameterLocation":{"type":"string"},"performStaging":{"type":"boolean"},"sensitiveParameter":{"type":"boolean"},"signatureOverridesDisables":{"items":{"type":"integer"},"type":"array"},"type":{"type":"string"},"url":{"$ref":"#/types/f5bigip:ssl/getWafEntityParameterUrl:getWafEntityParameterUrl"},"valueType":{"type":"string"}},"required":["json","name","id"],"type":"object"}},"f5bigip:ssl/getWafEntityUrl:getWafEntityUrl":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ssl.getWafPbSuggestions`\" pulumi-lang-dotnet=\"`f5bigip.ssl.getWafPbSuggestions`\" pulumi-lang-go=\"`ssl.getWafPbSuggestions`\" pulumi-lang-python=\"`ssl_get_waf_pb_suggestions`\" pulumi-lang-yaml=\"`f5bigip.ssl.getWafPbSuggestions`\" pulumi-lang-java=\"`f5bigip.ssl.getWafPbSuggestions`\"\u003e`f5bigip.ssl.getWafPbSuggestions`\u003c/span\u003e) to create JSON for WAF URL to later use with an existing WAF policy.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst WAFURL1 = f5bigip.ssl.getWafEntityUrl({\n    name: \"/foobar\",\n    description: \"this is a test\",\n    type: \"explicit\",\n    protocol: \"HTTP\",\n    performStaging: true,\n    signatureOverridesDisables: [\n        12345678,\n        87654321,\n    ],\n    methodOverrides: [\n        {\n            allow: false,\n            method: \"BCOPY\",\n        },\n        {\n            allow: true,\n            method: \"BDELETE\",\n        },\n    ],\n    crossOriginRequestsEnforcements: [\n        {\n            includeSubdomains: true,\n            originName: \"app1.com\",\n            originPort: \"80\",\n            originProtocol: \"http\",\n        },\n        {\n            includeSubdomains: true,\n            originName: \"app2.com\",\n            originPort: \"443\",\n            originProtocol: \"http\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nwafurl1 = f5bigip.ssl.get_waf_entity_url(name=\"/foobar\",\n    description=\"this is a test\",\n    type=\"explicit\",\n    protocol=\"HTTP\",\n    perform_staging=True,\n    signature_overrides_disables=[\n        12345678,\n        87654321,\n    ],\n    method_overrides=[\n        {\n            \"allow\": False,\n            \"method\": \"BCOPY\",\n        },\n        {\n            \"allow\": True,\n            \"method\": \"BDELETE\",\n        },\n    ],\n    cross_origin_requests_enforcements=[\n        {\n            \"include_subdomains\": True,\n            \"origin_name\": \"app1.com\",\n            \"origin_port\": \"80\",\n            \"origin_protocol\": \"http\",\n        },\n        {\n            \"include_subdomains\": True,\n            \"origin_name\": \"app2.com\",\n            \"origin_port\": \"443\",\n            \"origin_protocol\": \"http\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var WAFURL1 = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n    {\n        Name = \"/foobar\",\n        Description = \"this is a test\",\n        Type = \"explicit\",\n        Protocol = \"HTTP\",\n        PerformStaging = true,\n        SignatureOverridesDisables = new[]\n        {\n            12345678,\n            87654321,\n        },\n        MethodOverrides = new[]\n        {\n            new F5BigIP.Ssl.Inputs.GetWafEntityUrlMethodOverrideInputArgs\n            {\n                Allow = false,\n                Method = \"BCOPY\",\n            },\n            new F5BigIP.Ssl.Inputs.GetWafEntityUrlMethodOverrideInputArgs\n            {\n                Allow = true,\n                Method = \"BDELETE\",\n            },\n        },\n        CrossOriginRequestsEnforcements = new[]\n        {\n            new F5BigIP.Ssl.Inputs.GetWafEntityUrlCrossOriginRequestsEnforcementInputArgs\n            {\n                IncludeSubdomains = true,\n                OriginName = \"app1.com\",\n                OriginPort = \"80\",\n                OriginProtocol = \"http\",\n            },\n            new F5BigIP.Ssl.Inputs.GetWafEntityUrlCrossOriginRequestsEnforcementInputArgs\n            {\n                IncludeSubdomains = true,\n                OriginName = \"app2.com\",\n                OriginPort = \"443\",\n                OriginProtocol = \"http\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := ssl.GetWafEntityUrl(ctx, \u0026ssl.GetWafEntityUrlArgs{\nName: \"/foobar\",\nDescription: pulumi.StringRef(\"this is a test\"),\nType: pulumi.StringRef(\"explicit\"),\nProtocol: pulumi.StringRef(\"HTTP\"),\nPerformStaging: pulumi.BoolRef(true),\nSignatureOverridesDisables: interface{}{\n12345678,\n87654321,\n},\nMethodOverrides: []ssl.GetWafEntityUrlMethodOverride{\n{\nAllow: false,\nMethod: \"BCOPY\",\n},\n{\nAllow: true,\nMethod: \"BDELETE\",\n},\n},\nCrossOriginRequestsEnforcements: []ssl.GetWafEntityUrlCrossOriginRequestsEnforcement{\n{\nIncludeSubdomains: pulumi.BoolRef(true),\nOriginName: \"app1.com\",\nOriginPort: \"80\",\nOriginProtocol: \"http\",\n},\n{\nIncludeSubdomains: pulumi.BoolRef(true),\nOriginName: \"app2.com\",\nOriginPort: \"443\",\nOriginProtocol: \"http\",\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafEntityUrlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var WAFURL1 = SslFunctions.getWafEntityUrl(GetWafEntityUrlArgs.builder()\n            .name(\"/foobar\")\n            .description(\"this is a test\")\n            .type(\"explicit\")\n            .protocol(\"HTTP\")\n            .performStaging(true)\n            .signatureOverridesDisables(            \n                12345678,\n                87654321)\n            .methodOverrides(            \n                GetWafEntityUrlMethodOverrideArgs.builder()\n                    .allow(false)\n                    .method(\"BCOPY\")\n                    .build(),\n                GetWafEntityUrlMethodOverrideArgs.builder()\n                    .allow(true)\n                    .method(\"BDELETE\")\n                    .build())\n            .crossOriginRequestsEnforcements(            \n                GetWafEntityUrlCrossOriginRequestsEnforcementArgs.builder()\n                    .includeSubdomains(true)\n                    .originName(\"app1.com\")\n                    .originPort(\"80\")\n                    .originProtocol(\"http\")\n                    .build(),\n                GetWafEntityUrlCrossOriginRequestsEnforcementArgs.builder()\n                    .includeSubdomains(true)\n                    .originName(\"app2.com\")\n                    .originPort(\"443\")\n                    .originProtocol(\"http\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  WAFURL1:\n    fn::invoke:\n      function: f5bigip:ssl:getWafEntityUrl\n      arguments:\n        name: /foobar\n        description: this is a test\n        type: explicit\n        protocol: HTTP\n        performStaging: true\n        signatureOverridesDisables:\n          - 1.2345678e+07\n          - 8.7654321e+07\n        methodOverrides:\n          - allow: false\n            method: BCOPY\n          - allow: true\n            method: BDELETE\n        crossOriginRequestsEnforcements:\n          - includeSubdomains: true\n            originName: app1.com\n            originPort: '80'\n            originProtocol: http\n          - includeSubdomains: true\n            originName: app2.com\n            originPort: '443'\n            originProtocol: http\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWafEntityUrl.\n","properties":{"crossOriginRequestsEnforcements":{"type":"array","items":{"$ref":"#/types/f5bigip:ssl/getWafEntityUrlCrossOriginRequestsEnforcement:getWafEntityUrlCrossOriginRequestsEnforcement"},"description":"A list of options that enables your web-application to share data with a website hosted on a\ndifferent domain.\n"},"description":{"type":"string","description":"A description of the URL.\n"},"method":{"type":"string","description":"Select a Method for the URL to create an API endpoint. Default is : *.\n"},"methodOverrides":{"type":"array","items":{"$ref":"#/types/f5bigip:ssl/getWafEntityUrlMethodOverride:getWafEntityUrlMethodOverride"},"description":"A list of methods that are allowed or disallowed for a specific URL.\n"},"name":{"type":"string","description":"WAF entity URL name.\n","willReplaceOnChanges":true},"performStaging":{"type":"boolean","description":"If true then any violation associated to the respective URL will not be enforced, and the request will not be considered illegal.\n"},"protocol":{"type":"string","description":"Specifies whether the protocol for the URL is 'http' or 'https'. Default is: http.\n"},"signatureOverridesDisables":{"type":"array","items":{"type":"integer"},"description":"List of Attack Signature Ids which are disabled for this particular URL.\n"},"type":{"type":"string","description":"Specifies whether the parameter is an 'explicit' or a 'wildcard' attribute. Default is: wildcard.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getWafEntityUrl.\n","properties":{"crossOriginRequestsEnforcements":{"items":{"$ref":"#/types/f5bigip:ssl/getWafEntityUrlCrossOriginRequestsEnforcement:getWafEntityUrlCrossOriginRequestsEnforcement"},"type":"array"},"description":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"json":{"description":"Json string representing created WAF entity URL declaration in JSON format\n","type":"string"},"method":{"type":"string"},"methodOverrides":{"items":{"$ref":"#/types/f5bigip:ssl/getWafEntityUrlMethodOverride:getWafEntityUrlMethodOverride"},"type":"array"},"name":{"type":"string"},"performStaging":{"type":"boolean"},"protocol":{"type":"string"},"signatureOverridesDisables":{"items":{"type":"integer"},"type":"array"},"type":{"type":"string"}},"required":["json","name","id"],"type":"object"}},"f5bigip:ssl/getWafPbSuggestions:getWafPbSuggestions":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ssl.getWafPbSuggestions`\" pulumi-lang-dotnet=\"`f5bigip.ssl.getWafPbSuggestions`\" pulumi-lang-go=\"`ssl.getWafPbSuggestions`\" pulumi-lang-python=\"`ssl_get_waf_pb_suggestions`\" pulumi-lang-yaml=\"`f5bigip.ssl.getWafPbSuggestions`\" pulumi-lang-java=\"`f5bigip.ssl.getWafPbSuggestions`\"\u003e`f5bigip.ssl.getWafPbSuggestions`\u003c/span\u003e) to export PB suggestions from an existing WAF policy.\n \n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst PBWAF1 = f5bigip.ssl.getWafPbSuggestions({\n    policyName: \"protect_me_policy\",\n    partition: \"Common\",\n    minimumLearningScore: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\npbwaf1 = f5bigip.ssl.get_waf_pb_suggestions(policy_name=\"protect_me_policy\",\n    partition=\"Common\",\n    minimum_learning_score=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var PBWAF1 = F5BigIP.Ssl.GetWafPbSuggestions.Invoke(new()\n    {\n        PolicyName = \"protect_me_policy\",\n        Partition = \"Common\",\n        MinimumLearningScore = 20,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssl.GetWafPbSuggestions(ctx, \u0026ssl.GetWafPbSuggestionsArgs{\n\t\t\tPolicyName:           \"protect_me_policy\",\n\t\t\tPartition:            \"Common\",\n\t\t\tMinimumLearningScore: 20,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafPbSuggestionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var PBWAF1 = SslFunctions.getWafPbSuggestions(GetWafPbSuggestionsArgs.builder()\n            .policyName(\"protect_me_policy\")\n            .partition(\"Common\")\n            .minimumLearningScore(20)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  PBWAF1:\n    fn::invoke:\n      function: f5bigip:ssl:getWafPbSuggestions\n      arguments:\n        policyName: protect_me_policy\n        partition: Common\n        minimumLearningScore: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWafPbSuggestions.\n","properties":{"minimumLearningScore":{"type":"integer","description":"The minimum learning score for suggestions.\n"},"partition":{"type":"string","description":"Partition on which WAF policy is located.\n"},"policyId":{"type":"string","description":"System generated id of the WAF policy\n"},"policyName":{"type":"string","description":"WAF policy name from which PB suggestions should be exported.\n"}},"type":"object","required":["minimumLearningScore","partition","policyName"]},"outputs":{"description":"A collection of values returned by getWafPbSuggestions.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"json":{"description":"Json string representing exported PB suggestions ready to be used in WAF policy declaration\n","type":"string"},"minimumLearningScore":{"type":"integer"},"partition":{"type":"string"},"policyId":{"description":"System generated id of the WAF policy\n","type":"string"},"policyName":{"type":"string"}},"required":["json","minimumLearningScore","partition","policyId","policyName","id"],"type":"object"}},"f5bigip:ssl/getWafPolicy:getWafPolicy":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.WafPolicy`\" pulumi-lang-dotnet=\"`f5bigip.WafPolicy`\" pulumi-lang-go=\"`WafPolicy`\" pulumi-lang-python=\"`WafPolicy`\" pulumi-lang-yaml=\"`f5bigip.WafPolicy`\" pulumi-lang-java=\"`f5bigip.WafPolicy`\"\u003e`f5bigip.WafPolicy`\u003c/span\u003e) to get the details of exist WAF policy BIG-IP.\n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst existpolicy = f5bigip.ssl.getWafPolicy({\n    policyId: \"xxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nexistpolicy = f5bigip.ssl.get_waf_policy(policy_id=\"xxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existpolicy = F5BigIP.Ssl.GetWafPolicy.Invoke(new()\n    {\n        PolicyId = \"xxxxx\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssl.GetWafPolicy(ctx, \u0026ssl.GetWafPolicyArgs{\n\t\t\tPolicyId: \"xxxxx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var existpolicy = SslFunctions.getWafPolicy(GetWafPolicyArgs.builder()\n            .policyId(\"xxxxx\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  existpolicy:\n    fn::invoke:\n      function: f5bigip:ssl:getWafPolicy\n      arguments:\n        policyId: xxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWafPolicy.\n","properties":{"policyId":{"type":"string","description":"ID of the WAF policy deployed in the BIG-IP.\n"},"policyJson":{"type":"string","description":"Exported WAF policy JSON\n"}},"type":"object","required":["policyId"]},"outputs":{"description":"A collection of values returned by getWafPolicy.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"policyId":{"type":"string"},"policyJson":{"description":"Exported WAF policy JSON\n","type":"string"}},"required":["policyId","policyJson","id"],"type":"object"}},"f5bigip:ssl/getWafSignatures:getWafSignatures":{"description":"Use this data source (\u003cspan pulumi-lang-nodejs=\"`f5bigip.ssl.getWafSignatures`\" pulumi-lang-dotnet=\"`f5bigip.ssl.getWafSignatures`\" pulumi-lang-go=\"`ssl.getWafSignatures`\" pulumi-lang-python=\"`ssl_get_waf_signatures`\" pulumi-lang-yaml=\"`f5bigip.ssl.getWafSignatures`\" pulumi-lang-java=\"`f5bigip.ssl.getWafSignatures`\"\u003e`f5bigip.ssl.getWafSignatures`\u003c/span\u003e) to get the details of attack signatures available on BIG-IP WAF\n \n \n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst WAFSIG1 = f5bigip.ssl.getWafSignatures({\n    signatureId: 200104004,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nwafsig1 = f5bigip.ssl.get_waf_signatures(signature_id=200104004)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var WAFSIG1 = F5BigIP.Ssl.GetWafSignatures.Invoke(new()\n    {\n        SignatureId = 200104004,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ssl\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssl.GetWafSignatures(ctx, \u0026ssl.GetWafSignaturesArgs{\n\t\t\tSignatureId: 200104004,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.f5bigip.ssl.SslFunctions;\nimport com.pulumi.f5bigip.ssl.inputs.GetWafSignaturesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var WAFSIG1 = SslFunctions.getWafSignatures(GetWafSignaturesArgs.builder()\n            .signatureId(200104004)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  WAFSIG1:\n    fn::invoke:\n      function: f5bigip:ssl:getWafSignatures\n      arguments:\n        signatureId: 2.00104004e+08\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWafSignatures.\n","properties":{"accuracy":{"type":"string","description":"The relative detection accuracy of the signature.\n"},"description":{"type":"string","description":"Description of the signature.\n"},"enabled":{"type":"boolean"},"name":{"type":"string","description":"Name of the signature as configured on the system.\n"},"performStaging":{"type":"boolean"},"risk":{"type":"string","description":"The relative risk level of the attack that matches this signature.\n"},"signatureId":{"type":"integer","description":"ID of the signature in the BIG-IP WAF database.\n"},"systemSignatureId":{"type":"string","description":"System generated ID of the signature.\n"},"tag":{"type":"string"},"type":{"type":"string","description":"Type of the signature.\n"}},"type":"object","required":["signatureId"]},"outputs":{"description":"A collection of values returned by getWafSignatures.\n","properties":{"accuracy":{"description":"The relative detection accuracy of the signature.\n","type":"string"},"description":{"description":"Description of the signature.\n","type":"string"},"enabled":{"type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"json":{"type":"string"},"name":{"description":"Name of the signature as configured on the system.\n","type":"string"},"performStaging":{"type":"boolean"},"risk":{"description":"The relative risk level of the attack that matches this signature.\n","type":"string"},"signatureId":{"description":"ID of the signature in the database.\n","type":"integer"},"systemSignatureId":{"description":"System generated ID of the signature.\n","type":"string"},"tag":{"type":"string"},"type":{"description":"Type of the signature.\n","type":"string"}},"required":["accuracy","json","name","risk","signatureId","systemSignatureId","tag","type","id"],"type":"object"}},"pulumi:providers:f5bigip/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:f5bigip/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}