From c7489965b48176488a2c1aecff83b4cc61067783 Mon Sep 17 00:00:00 2001 From: Ian Wahbe Date: Sat, 21 Jan 2023 20:22:26 -0800 Subject: [PATCH] Upgrade terraform-provider-bigip to v1.16.1 (#182) * Upgrade terraform-provider-bigip to v1.16.1 I have decided to put `bigip_vcmp_guest` into it's own module since it seems like it will be a common prefix in the future. This could be a premature optimization. I put `bigip_fast_udp_app` in the same place as `bigip_fast_tcp_app`. * Regenerate SDKs * Specify a new AMI --- examples/virtualappliance/virtualappliance.ts | 81 +- .../cmd/pulumi-resource-f5bigip/schema.json | 2336 +++++++++++++---- provider/go.mod | 155 +- provider/go.sum | 1599 +++++++++-- provider/resources.go | 27 +- sdk/dotnet/As3.cs | 4 +- sdk/dotnet/BigIqAs3.cs | 148 +- sdk/dotnet/CommonLicenseManageBigIq.cs | 148 +- sdk/dotnet/Config/Config.cs | 22 +- sdk/dotnet/Do.cs | 61 +- sdk/dotnet/FastHttpApp.cs | 241 +- sdk/dotnet/FastHttpsApp.cs | 330 ++- sdk/dotnet/FastTcpApp.cs | 192 +- sdk/dotnet/FastUdpApp.cs | 568 ++++ .../FastHttpAppFastCreatePoolMemberGetArgs.cs | 56 - ...nitorArgs.cs => FastHttpAppMonitorArgs.cs} | 20 +- ...orArgs.cs => FastHttpAppMonitorGetArgs.cs} | 20 +- ...erArgs.cs => FastHttpAppPoolMemberArgs.cs} | 6 +- ...rgs.cs => FastHttpAppPoolMemberGetArgs.cs} | 6 +- .../Inputs/FastHttpAppVirtualServerArgs.cs | 2 +- .../Inputs/FastHttpAppVirtualServerGetArgs.cs | 2 +- .../FastHttpAppWafSecurityPolicyArgs.cs | 26 + .../FastHttpAppWafSecurityPolicyGetArgs.cs | 26 + ...FastHttpsAppFastCreatePoolMemberGetArgs.cs | 56 - ...rGetArgs.cs => FastHttpsAppMonitorArgs.cs} | 20 +- ...tArgs.cs => FastHttpsAppMonitorGetArgs.cs} | 20 +- ...rArgs.cs => FastHttpsAppPoolMemberArgs.cs} | 6 +- ...gs.cs => FastHttpsAppPoolMemberGetArgs.cs} | 6 +- ...cs => FastHttpsAppTlsClientProfileArgs.cs} | 6 +- ...=> FastHttpsAppTlsClientProfileGetArgs.cs} | 6 +- .../FastHttpsAppTlsServerProfileArgs.cs | 32 + .../FastHttpsAppTlsServerProfileGetArgs.cs | 32 + .../Inputs/FastHttpsAppVirtualServerArgs.cs | 2 +- .../FastHttpsAppVirtualServerGetArgs.cs | 2 +- .../FastHttpsAppWafSecurityPolicyArgs.cs | 26 + .../FastHttpsAppWafSecurityPolicyGetArgs.cs | 26 + ...onitorArgs.cs => FastTcpAppMonitorArgs.cs} | 6 +- ...GetArgs.cs => FastTcpAppMonitorGetArgs.cs} | 6 +- sdk/dotnet/Inputs/FastTcpAppPoolMemberArgs.cs | 56 + .../Inputs/FastTcpAppPoolMemberGetArgs.cs | 56 + .../Inputs/FastTcpAppVirtualServerArgs.cs | 2 +- .../Inputs/FastTcpAppVirtualServerGetArgs.cs | 2 +- sdk/dotnet/Inputs/FastUdpAppMonitorArgs.cs | 38 + sdk/dotnet/Inputs/FastUdpAppMonitorGetArgs.cs | 38 + sdk/dotnet/Inputs/FastUdpAppPoolMemberArgs.cs | 56 + .../Inputs/FastUdpAppPoolMemberGetArgs.cs | 56 + .../Inputs/FastUdpAppVirtualServerArgs.cs | 32 + .../Inputs/FastUdpAppVirtualServerGetArgs.cs | 32 + sdk/dotnet/Ltm/GetDataGroup.cs | 4 +- sdk/dotnet/Ltm/GetIrule.cs | 4 +- sdk/dotnet/Ltm/GetMonitor.cs | 4 +- sdk/dotnet/Ltm/GetNode.cs | 4 +- sdk/dotnet/Ltm/GetPolicy.cs | 4 +- sdk/dotnet/Ltm/GetPool.cs | 4 +- .../Ltm/Inputs/GetPolicyRuleCondition.cs | 3 + .../Ltm/Inputs/GetPolicyRuleConditionArgs.cs | 3 + sdk/dotnet/Ltm/Inputs/PolicyRuleArgs.cs | 10 +- .../Ltm/Inputs/PolicyRuleConditionArgs.cs | 6 + .../Ltm/Inputs/PolicyRuleConditionGetArgs.cs | 6 + sdk/dotnet/Ltm/Inputs/PolicyRuleGetArgs.cs | 10 +- .../ProfileClientSslCertKeyChainArgs.cs | 11 +- .../ProfileClientSslCertKeyChainGetArgs.cs | 11 +- sdk/dotnet/Ltm/Monitor.cs | 32 +- .../Outputs/GetPolicyRuleConditionResult.cs | 4 + sdk/dotnet/Ltm/Outputs/PolicyRule.cs | 8 +- sdk/dotnet/Ltm/Outputs/PolicyRuleCondition.cs | 8 + sdk/dotnet/Ltm/Policy.cs | 12 +- sdk/dotnet/Ltm/ProfileClientSsl.cs | 78 +- sdk/dotnet/Ltm/ProfileFastL4.cs | 106 +- sdk/dotnet/Ltm/ProfileHttpCompress.cs | 142 +- sdk/dotnet/Ltm/ProfileServerSsl.cs | 56 +- sdk/dotnet/Ltm/ProfileTcp.cs | 238 +- sdk/dotnet/Ltm/Snat.cs | 6 +- sdk/dotnet/Ltm/VirtualServer.cs | 86 +- ...CreateMonitor.cs => FastHttpAppMonitor.cs} | 4 +- ...PoolMember.cs => FastHttpAppPoolMember.cs} | 4 +- .../Outputs/FastHttpAppVirtualServer.cs | 2 +- .../Outputs/FastHttpAppWafSecurityPolicy.cs | 27 + ...reateMonitor.cs => FastHttpsAppMonitor.cs} | 4 +- ...oolMember.cs => FastHttpsAppPoolMember.cs} | 4 +- ...ile.cs => FastHttpsAppTlsClientProfile.cs} | 4 +- .../Outputs/FastHttpsAppTlsServerProfile.cs | 35 + .../Outputs/FastHttpsAppVirtualServer.cs | 2 +- .../Outputs/FastHttpsAppWafSecurityPolicy.cs | 27 + ...tCreateMonitor.cs => FastTcpAppMonitor.cs} | 4 +- ...ePoolMember.cs => FastTcpAppPoolMember.cs} | 4 +- sdk/dotnet/Outputs/FastTcpAppVirtualServer.cs | 2 +- sdk/dotnet/Outputs/FastUdpAppMonitor.cs | 42 + sdk/dotnet/Outputs/FastUdpAppPoolMember.cs | 56 + sdk/dotnet/Outputs/FastUdpAppVirtualServer.cs | 35 + sdk/dotnet/Provider.cs | 18 + sdk/dotnet/Ssl/Certificate.cs | 32 +- sdk/dotnet/Ssl/GetCertificate.cs | 4 +- sdk/dotnet/Ssl/GetVWanConfig.cs | 4 +- sdk/dotnet/Ssl/GetWafEntityParameter.cs | 14 +- sdk/dotnet/Ssl/GetWafEntityUrl.cs | 4 +- sdk/dotnet/Ssl/GetWafPbSuggestions.cs | 4 +- sdk/dotnet/Ssl/GetWafPolicy.cs | 4 +- sdk/dotnet/Ssl/GetWafSignatures.cs | 4 +- .../Ssl/Inputs/GetWafEntityParameterUrl.cs | 32 + .../Inputs/GetWafEntityParameterUrlArgs.cs | 32 + sdk/dotnet/Ssl/Key.cs | 71 +- .../Outputs/GetWafEntityParameterUrlResult.cs | 37 + sdk/dotnet/Sys/Dns.cs | 19 +- sdk/dotnet/Sys/Ntp.cs | 17 +- sdk/dotnet/VCMP/Guest.cs | 386 +++ sdk/dotnet/VCMP/README.md | 1 + sdk/dotnet/WafPolicy.cs | 8 +- sdk/go/f5bigip/as3.go | 4 +- sdk/go/f5bigip/bigIqAs3.go | 23 + sdk/go/f5bigip/commonLicenseManageBigIq.go | 23 + sdk/go/f5bigip/config/config.go | 10 + sdk/go/f5bigip/do.go | 11 + sdk/go/f5bigip/doc.go | 1 - sdk/go/f5bigip/eventServiceDiscovery.go | 6 +- sdk/go/f5bigip/fastHttpApp.go | 211 +- sdk/go/f5bigip/fastHttpsApp.go | 311 ++- sdk/go/f5bigip/fastTcpApp.go | 150 +- sdk/go/f5bigip/fastUdpApp.go | 577 ++++ sdk/go/f5bigip/init.go | 7 + sdk/go/f5bigip/ltm/monitor.go | 7 + sdk/go/f5bigip/ltm/policy.go | 24 +- sdk/go/f5bigip/ltm/profileClientSsl.go | 66 +- sdk/go/f5bigip/ltm/profileFastL4.go | 103 +- sdk/go/f5bigip/ltm/profileHttpCompress.go | 129 +- sdk/go/f5bigip/ltm/profileServerSsl.go | 40 +- sdk/go/f5bigip/ltm/profileTcp.go | 220 +- sdk/go/f5bigip/ltm/pulumiTypes.go | 159 +- sdk/go/f5bigip/ltm/snat.go | 12 +- sdk/go/f5bigip/ltm/virtualServer.go | 119 +- sdk/go/f5bigip/provider.go | 15 + sdk/go/f5bigip/pulumiTypes.go | 1956 ++++++++++---- sdk/go/f5bigip/ssl/certificate.go | 7 + sdk/go/f5bigip/ssl/getWafEntityParameter.go | 125 +- sdk/go/f5bigip/ssl/key.go | 26 + sdk/go/f5bigip/ssl/pulumiTypes.go | 182 ++ sdk/go/f5bigip/sys/dns.go | 36 +- sdk/go/f5bigip/sys/ntp.go | 30 +- sdk/go/f5bigip/vcmp/guest.go | 455 ++++ sdk/go/f5bigip/vcmp/init.go | 44 + sdk/go/f5bigip/wafPolicy.go | 14 +- .../src/main/java/com/pulumi/f5bigip/As3.java | 4 +- .../java/com/pulumi/f5bigip/BigIqAs3.java | 8 + .../f5bigip/CommonLicenseManageBigIq.java | 8 + .../main/java/com/pulumi/f5bigip/Config.java | 14 + .../src/main/java/com/pulumi/f5bigip/Do.java | 5 + .../java/com/pulumi/f5bigip/FastHttpApp.java | 145 +- .../com/pulumi/f5bigip/FastHttpAppArgs.java | 335 ++- .../java/com/pulumi/f5bigip/FastHttpsApp.java | 206 +- .../com/pulumi/f5bigip/FastHttpsAppArgs.java | 488 +++- .../java/com/pulumi/f5bigip/FastTcpApp.java | 112 +- .../com/pulumi/f5bigip/FastTcpAppArgs.java | 214 +- .../java/com/pulumi/f5bigip/FastUdpApp.java | 424 +++ .../com/pulumi/f5bigip/FastUdpAppArgs.java | 867 ++++++ .../java/com/pulumi/f5bigip/NetIkePeer.java | 1 + .../java/com/pulumi/f5bigip/Provider.java | 14 + .../java/com/pulumi/f5bigip/ProviderArgs.java | 74 + .../java/com/pulumi/f5bigip/WafPolicy.java | 2 + .../com/pulumi/f5bigip/WafPolicyArgs.java | 37 - ...rArgs.java => FastHttpAppMonitorArgs.java} | 20 +- ...gs.java => FastHttpAppPoolMemberArgs.java} | 20 +- .../f5bigip/inputs/FastHttpAppState.java | 372 ++- .../inputs/FastHttpAppVirtualServerArgs.java | 8 +- .../FastHttpAppWafSecurityPolicyArgs.java | 82 + ...Args.java => FastHttpsAppMonitorArgs.java} | 20 +- ...s.java => FastHttpsAppPoolMemberArgs.java} | 20 +- .../f5bigip/inputs/FastHttpsAppState.java | 515 +++- ... => FastHttpsAppTlsClientProfileArgs.java} | 20 +- .../FastHttpsAppTlsServerProfileArgs.java | 120 + .../inputs/FastHttpsAppVirtualServerArgs.java | 8 +- .../FastHttpsAppWafSecurityPolicyArgs.java | 82 + ...orArgs.java => FastTcpAppMonitorArgs.java} | 20 +- ...rgs.java => FastTcpAppPoolMemberArgs.java} | 20 +- .../f5bigip/inputs/FastTcpAppState.java | 242 +- .../inputs/FastTcpAppVirtualServerArgs.java | 8 +- .../f5bigip/inputs/FastUdpAppMonitorArgs.java | 158 ++ .../inputs/FastUdpAppPoolMemberArgs.java | 245 ++ .../f5bigip/inputs/FastUdpAppState.java | 902 +++++++ .../inputs/FastUdpAppVirtualServerArgs.java | 121 + .../java/com/pulumi/f5bigip/ltm/Monitor.java | 4 + .../java/com/pulumi/f5bigip/ltm/Policy.java | 8 +- .../com/pulumi/f5bigip/ltm/PolicyArgs.java | 18 +- .../pulumi/f5bigip/ltm/ProfileClientSsl.java | 49 +- .../f5bigip/ltm/ProfileClientSslArgs.java | 87 +- .../com/pulumi/f5bigip/ltm/ProfileFastL4.java | 82 +- .../pulumi/f5bigip/ltm/ProfileFastL4Args.java | 201 +- .../f5bigip/ltm/ProfileHttpCompress.java | 113 +- .../f5bigip/ltm/ProfileHttpCompressArgs.java | 268 +- .../pulumi/f5bigip/ltm/ProfileServerSsl.java | 35 +- .../f5bigip/ltm/ProfileServerSslArgs.java | 37 + .../com/pulumi/f5bigip/ltm/ProfileTcp.java | 184 +- .../pulumi/f5bigip/ltm/ProfileTcpArgs.java | 468 +++- .../java/com/pulumi/f5bigip/ltm/Snat.java | 4 +- .../java/com/pulumi/f5bigip/ltm/SnatArgs.java | 8 +- .../com/pulumi/f5bigip/ltm/VirtualServer.java | 86 +- .../pulumi/f5bigip/ltm/VirtualServerArgs.java | 149 +- .../ltm/inputs/GetPolicyRuleCondition.java | 14 + .../inputs/GetPolicyRuleConditionArgs.java | 18 + .../f5bigip/ltm/inputs/PolicyRuleArgs.java | 60 +- .../ltm/inputs/PolicyRuleConditionArgs.java | 34 + .../f5bigip/ltm/inputs/PolicyState.java | 18 +- .../ltm/inputs/ProfileClientSslState.java | 87 +- .../ltm/inputs/ProfileFastL4State.java | 201 +- .../ltm/inputs/ProfileHttpCompressState.java | 268 +- .../ltm/inputs/ProfileServerSslState.java | 37 + .../f5bigip/ltm/inputs/ProfileTcpState.java | 468 +++- .../pulumi/f5bigip/ltm/inputs/SnatState.java | 8 +- .../ltm/inputs/VirtualServerState.java | 127 +- .../ltm/outputs/GetPolicyRuleCondition.java | 12 + .../f5bigip/ltm/outputs/PolicyRule.java | 20 +- .../ltm/outputs/PolicyRuleCondition.java | 24 + ...teMonitor.java => FastHttpAppMonitor.java} | 12 +- ...Member.java => FastHttpAppPoolMember.java} | 12 +- .../outputs/FastHttpAppVirtualServer.java | 4 +- .../outputs/FastHttpAppWafSecurityPolicy.java | 54 + ...eMonitor.java => FastHttpsAppMonitor.java} | 12 +- ...ember.java => FastHttpsAppPoolMember.java} | 12 +- ...java => FastHttpsAppTlsClientProfile.java} | 12 +- .../outputs/FastHttpsAppTlsServerProfile.java | 74 + .../outputs/FastHttpsAppVirtualServer.java | 4 +- .../FastHttpsAppWafSecurityPolicy.java | 54 + ...ateMonitor.java => FastTcpAppMonitor.java} | 12 +- ...lMember.java => FastTcpAppPoolMember.java} | 12 +- .../outputs/FastTcpAppVirtualServer.java | 4 +- .../f5bigip/outputs/FastUdpAppMonitor.java | 97 + .../f5bigip/outputs/FastUdpAppPoolMember.java | 142 + .../outputs/FastUdpAppVirtualServer.java | 75 + .../com/pulumi/f5bigip/ssl/Certificate.java | 4 + .../main/java/com/pulumi/f5bigip/ssl/Key.java | 19 + .../java/com/pulumi/f5bigip/ssl/KeyArgs.java | 37 + .../ssl/inputs/GetWafEntityParameterArgs.java | 18 + .../GetWafEntityParameterPlainArgs.java | 14 + .../ssl/inputs/GetWafEntityParameterUrl.java | 99 + .../inputs/GetWafEntityParameterUrlArgs.java | 116 + .../pulumi/f5bigip/ssl/inputs/KeyState.java | 37 + .../outputs/GetWafEntityParameterResult.java | 13 + .../ssl/outputs/GetWafEntityParameterUrl.java | 82 + .../main/java/com/pulumi/f5bigip/sys/Dns.java | 23 +- .../java/com/pulumi/f5bigip/sys/DnsArgs.java | 31 +- .../main/java/com/pulumi/f5bigip/sys/Ntp.java | 17 +- .../java/com/pulumi/f5bigip/sys/NtpArgs.java | 29 +- .../pulumi/f5bigip/sys/inputs/DnsState.java | 20 +- .../pulumi/f5bigip/sys/inputs/NtpState.java | 18 +- .../java/com/pulumi/f5bigip/vcmp/Guest.java | 325 +++ .../com/pulumi/f5bigip/vcmp/GuestArgs.java | 551 ++++ .../f5bigip/vcmp/inputs/GuestState.java | 624 +++++ sdk/nodejs/as3.ts | 4 +- sdk/nodejs/bigIqAs3.ts | 14 +- sdk/nodejs/cm/device.ts | 2 +- sdk/nodejs/cm/deviceGroup.ts | 5 +- sdk/nodejs/cm/index.ts | 14 +- sdk/nodejs/commonLicenseManageBigIq.ts | 12 +- sdk/nodejs/config/vars.ts | 22 + sdk/nodejs/do.ts | 8 +- sdk/nodejs/eventServiceDiscovery.ts | 3 +- sdk/nodejs/fastApplication.ts | 2 +- sdk/nodejs/fastHttpApp.ts | 162 +- sdk/nodejs/fastHttpsApp.ts | 231 +- sdk/nodejs/fastTcpApp.ts | 125 +- sdk/nodejs/fastUdpApp.ts | 403 +++ sdk/nodejs/index.ts | 140 +- sdk/nodejs/ipsecProfile.ts | 2 +- sdk/nodejs/ltm/dataGroup.ts | 3 +- sdk/nodejs/ltm/getDataGroup.ts | 30 +- sdk/nodejs/ltm/getIrule.ts | 31 +- sdk/nodejs/ltm/getMonitor.ts | 27 +- sdk/nodejs/ltm/getNode.ts | 14 +- sdk/nodejs/ltm/getPolicy.ts | 26 +- sdk/nodejs/ltm/getPool.ts | 27 +- sdk/nodejs/ltm/index.ts | 213 +- sdk/nodejs/ltm/monitor.ts | 12 +- sdk/nodejs/ltm/node.ts | 3 +- sdk/nodejs/ltm/policy.ts | 15 +- sdk/nodejs/ltm/profileClientSsl.ts | 46 +- sdk/nodejs/ltm/profileFastL4.ts | 90 +- sdk/nodejs/ltm/profileHttpCompress.ts | 114 +- sdk/nodejs/ltm/profileOneConnect.ts | 4 +- sdk/nodejs/ltm/profileServerSsl.ts | 24 +- sdk/nodejs/ltm/profileTcp.ts | 190 +- sdk/nodejs/ltm/snat.ts | 9 +- sdk/nodejs/ltm/snatPool.ts | 2 +- sdk/nodejs/ltm/virtualAddress.ts | 2 +- sdk/nodejs/ltm/virtualServer.ts | 76 +- sdk/nodejs/net/index.ts | 21 +- sdk/nodejs/net/vlan.ts | 3 +- sdk/nodejs/netIkePeer.ts | 13 - sdk/nodejs/provider.ts | 14 + sdk/nodejs/ssl/certificate.ts | 4 +- sdk/nodejs/ssl/getCertificate.ts | 31 +- sdk/nodejs/ssl/getVWanConfig.ts | 41 +- sdk/nodejs/ssl/getWafEntityParameter.ts | 14 +- sdk/nodejs/ssl/getWafEntityUrl.ts | 47 +- sdk/nodejs/ssl/getWafPbSuggestions.ts | 28 +- sdk/nodejs/ssl/getWafPolicy.ts | 26 +- sdk/nodejs/ssl/getWafSignatures.ts | 26 +- sdk/nodejs/ssl/index.ts | 58 +- sdk/nodejs/ssl/key.ts | 18 +- sdk/nodejs/sys/dns.ts | 24 +- sdk/nodejs/sys/iapp.ts | 3 +- sdk/nodejs/sys/index.ts | 51 +- sdk/nodejs/sys/ntp.ts | 22 +- sdk/nodejs/sys/snmpTraps.ts | 2 +- sdk/nodejs/tsconfig.json | 3 + sdk/nodejs/types/index.ts | 2 + sdk/nodejs/types/input.ts | 172 +- sdk/nodejs/types/output.ts | 130 +- sdk/nodejs/utilities.ts | 12 + sdk/nodejs/vcmp/guest.ts | 296 +++ sdk/nodejs/vcmp/index.ts | 25 + sdk/nodejs/wafPolicy.ts | 13 +- sdk/python/pulumi_f5bigip/__init__.py | 20 + sdk/python/pulumi_f5bigip/_inputs.py | 355 ++- sdk/python/pulumi_f5bigip/as3.py | 8 +- sdk/python/pulumi_f5bigip/big_iq_as3.py | 12 +- .../common_license_manage_big_iq.py | 12 +- sdk/python/pulumi_f5bigip/config/__init__.pyi | 10 + sdk/python/pulumi_f5bigip/config/vars.py | 14 + sdk/python/pulumi_f5bigip/do.py | 6 +- sdk/python/pulumi_f5bigip/fast_http_app.py | 545 ++-- sdk/python/pulumi_f5bigip/fast_https_app.py | 788 ++++-- sdk/python/pulumi_f5bigip/fast_tcp_app.py | 398 +-- sdk/python/pulumi_f5bigip/fast_udp_app.py | 1141 ++++++++ sdk/python/pulumi_f5bigip/ltm/_inputs.py | 47 +- sdk/python/pulumi_f5bigip/ltm/monitor.py | 4 +- sdk/python/pulumi_f5bigip/ltm/outputs.py | 37 +- sdk/python/pulumi_f5bigip/ltm/policy.py | 28 +- .../pulumi_f5bigip/ltm/profile_client_ssl.py | 118 +- .../pulumi_f5bigip/ltm/profile_fast_l4.py | 277 +- .../ltm/profile_http_compress.py | 369 ++- .../pulumi_f5bigip/ltm/profile_server_ssl.py | 57 +- sdk/python/pulumi_f5bigip/ltm/profile_tcp.py | 620 ++++- sdk/python/pulumi_f5bigip/ltm/snat.py | 14 +- .../pulumi_f5bigip/ltm/virtual_server.py | 247 +- sdk/python/pulumi_f5bigip/outputs.py | 412 ++- sdk/python/pulumi_f5bigip/provider.py | 50 +- sdk/python/pulumi_f5bigip/ssl/_inputs.py | 50 + sdk/python/pulumi_f5bigip/ssl/certificate.py | 4 +- .../ssl/get_waf_entity_parameter.py | 17 +- sdk/python/pulumi_f5bigip/ssl/key.py | 57 +- sdk/python/pulumi_f5bigip/ssl/outputs.py | 34 + sdk/python/pulumi_f5bigip/sys/dns.py | 49 +- sdk/python/pulumi_f5bigip/sys/ntp.py | 47 +- sdk/python/pulumi_f5bigip/vcmp/__init__.py | 8 + sdk/python/pulumi_f5bigip/vcmp/guest.py | 806 ++++++ sdk/python/pulumi_f5bigip/waf_policy.py | 25 +- 345 files changed, 30103 insertions(+), 5222 deletions(-) create mode 100644 sdk/dotnet/FastUdpApp.cs delete mode 100644 sdk/dotnet/Inputs/FastHttpAppFastCreatePoolMemberGetArgs.cs rename sdk/dotnet/Inputs/{FastHttpAppFastCreateMonitorArgs.cs => FastHttpAppMonitorArgs.cs} (75%) rename sdk/dotnet/Inputs/{FastHttpsAppFastCreateMonitorArgs.cs => FastHttpAppMonitorGetArgs.cs} (74%) rename sdk/dotnet/Inputs/{FastTcpAppFastCreatePoolMemberArgs.cs => FastHttpAppPoolMemberArgs.cs} (86%) rename sdk/dotnet/Inputs/{FastHttpAppFastCreatePoolMemberArgs.cs => FastHttpAppPoolMemberGetArgs.cs} (85%) create mode 100644 sdk/dotnet/Inputs/FastHttpAppWafSecurityPolicyArgs.cs create mode 100644 sdk/dotnet/Inputs/FastHttpAppWafSecurityPolicyGetArgs.cs delete mode 100644 sdk/dotnet/Inputs/FastHttpsAppFastCreatePoolMemberGetArgs.cs rename sdk/dotnet/Inputs/{FastHttpAppFastCreateMonitorGetArgs.cs => FastHttpsAppMonitorArgs.cs} (75%) rename sdk/dotnet/Inputs/{FastHttpsAppFastCreateMonitorGetArgs.cs => FastHttpsAppMonitorGetArgs.cs} (74%) rename sdk/dotnet/Inputs/{FastHttpsAppFastCreatePoolMemberArgs.cs => FastHttpsAppPoolMemberArgs.cs} (85%) rename sdk/dotnet/Inputs/{FastTcpAppFastCreatePoolMemberGetArgs.cs => FastHttpsAppPoolMemberGetArgs.cs} (85%) rename sdk/dotnet/Inputs/{FastHttpsAppCreateTlsServerProfileArgs.cs => FastHttpsAppTlsClientProfileArgs.cs} (76%) rename sdk/dotnet/Inputs/{FastHttpsAppCreateTlsServerProfileGetArgs.cs => FastHttpsAppTlsClientProfileGetArgs.cs} (76%) create mode 100644 sdk/dotnet/Inputs/FastHttpsAppTlsServerProfileArgs.cs create mode 100644 sdk/dotnet/Inputs/FastHttpsAppTlsServerProfileGetArgs.cs create mode 100644 sdk/dotnet/Inputs/FastHttpsAppWafSecurityPolicyArgs.cs create mode 100644 sdk/dotnet/Inputs/FastHttpsAppWafSecurityPolicyGetArgs.cs rename sdk/dotnet/Inputs/{FastTcpAppFastCreateMonitorArgs.cs => FastTcpAppMonitorArgs.cs} (71%) rename sdk/dotnet/Inputs/{FastTcpAppFastCreateMonitorGetArgs.cs => FastTcpAppMonitorGetArgs.cs} (70%) create mode 100644 sdk/dotnet/Inputs/FastTcpAppPoolMemberArgs.cs create mode 100644 sdk/dotnet/Inputs/FastTcpAppPoolMemberGetArgs.cs create mode 100644 sdk/dotnet/Inputs/FastUdpAppMonitorArgs.cs create mode 100644 sdk/dotnet/Inputs/FastUdpAppMonitorGetArgs.cs create mode 100644 sdk/dotnet/Inputs/FastUdpAppPoolMemberArgs.cs create mode 100644 sdk/dotnet/Inputs/FastUdpAppPoolMemberGetArgs.cs create mode 100644 sdk/dotnet/Inputs/FastUdpAppVirtualServerArgs.cs create mode 100644 sdk/dotnet/Inputs/FastUdpAppVirtualServerGetArgs.cs rename sdk/dotnet/Outputs/{FastHttpAppFastCreateMonitor.cs => FastHttpAppMonitor.cs} (95%) rename sdk/dotnet/Outputs/{FastTcpAppFastCreatePoolMember.cs => FastHttpAppPoolMember.cs} (93%) create mode 100644 sdk/dotnet/Outputs/FastHttpAppWafSecurityPolicy.cs rename sdk/dotnet/Outputs/{FastHttpsAppFastCreateMonitor.cs => FastHttpsAppMonitor.cs} (94%) rename sdk/dotnet/Outputs/{FastHttpAppFastCreatePoolMember.cs => FastHttpsAppPoolMember.cs} (93%) rename sdk/dotnet/Outputs/{FastHttpsAppCreateTlsServerProfile.cs => FastHttpsAppTlsClientProfile.cs} (89%) create mode 100644 sdk/dotnet/Outputs/FastHttpsAppTlsServerProfile.cs create mode 100644 sdk/dotnet/Outputs/FastHttpsAppWafSecurityPolicy.cs rename sdk/dotnet/Outputs/{FastTcpAppFastCreateMonitor.cs => FastTcpAppMonitor.cs} (85%) rename sdk/dotnet/Outputs/{FastHttpsAppFastCreatePoolMember.cs => FastTcpAppPoolMember.cs} (93%) create mode 100644 sdk/dotnet/Outputs/FastUdpAppMonitor.cs create mode 100644 sdk/dotnet/Outputs/FastUdpAppPoolMember.cs create mode 100644 sdk/dotnet/Outputs/FastUdpAppVirtualServer.cs create mode 100644 sdk/dotnet/Ssl/Inputs/GetWafEntityParameterUrl.cs create mode 100644 sdk/dotnet/Ssl/Inputs/GetWafEntityParameterUrlArgs.cs create mode 100644 sdk/dotnet/Ssl/Outputs/GetWafEntityParameterUrlResult.cs create mode 100644 sdk/dotnet/VCMP/Guest.cs create mode 100644 sdk/dotnet/VCMP/README.md create mode 100644 sdk/go/f5bigip/fastUdpApp.go create mode 100644 sdk/go/f5bigip/vcmp/guest.go create mode 100644 sdk/go/f5bigip/vcmp/init.go create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/FastUdpApp.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/FastUdpAppArgs.java rename sdk/java/src/main/java/com/pulumi/f5bigip/inputs/{FastHttpAppFastCreateMonitorArgs.java => FastHttpAppMonitorArgs.java} (90%) rename sdk/java/src/main/java/com/pulumi/f5bigip/inputs/{FastTcpAppFastCreatePoolMemberArgs.java => FastHttpAppPoolMemberArgs.java} (89%) create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppWafSecurityPolicyArgs.java rename sdk/java/src/main/java/com/pulumi/f5bigip/inputs/{FastHttpsAppFastCreateMonitorArgs.java => FastHttpsAppMonitorArgs.java} (90%) rename sdk/java/src/main/java/com/pulumi/f5bigip/inputs/{FastHttpsAppFastCreatePoolMemberArgs.java => FastHttpsAppPoolMemberArgs.java} (88%) rename sdk/java/src/main/java/com/pulumi/f5bigip/inputs/{FastHttpsAppCreateTlsServerProfileArgs.java => FastHttpsAppTlsClientProfileArgs.java} (78%) create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppTlsServerProfileArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppWafSecurityPolicyArgs.java rename sdk/java/src/main/java/com/pulumi/f5bigip/inputs/{FastTcpAppFastCreateMonitorArgs.java => FastTcpAppMonitorArgs.java} (70%) rename sdk/java/src/main/java/com/pulumi/f5bigip/inputs/{FastHttpAppFastCreatePoolMemberArgs.java => FastTcpAppPoolMemberArgs.java} (88%) create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppMonitorArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppPoolMemberArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppState.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppVirtualServerArgs.java rename sdk/java/src/main/java/com/pulumi/f5bigip/outputs/{FastHttpAppFastCreateMonitor.java => FastHttpAppMonitor.java} (93%) rename sdk/java/src/main/java/com/pulumi/f5bigip/outputs/{FastTcpAppFastCreatePoolMember.java => FastHttpAppPoolMember.java} (91%) create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppWafSecurityPolicy.java rename sdk/java/src/main/java/com/pulumi/f5bigip/outputs/{FastHttpsAppFastCreateMonitor.java => FastHttpsAppMonitor.java} (92%) rename sdk/java/src/main/java/com/pulumi/f5bigip/outputs/{FastHttpsAppFastCreatePoolMember.java => FastHttpsAppPoolMember.java} (91%) rename sdk/java/src/main/java/com/pulumi/f5bigip/outputs/{FastHttpsAppCreateTlsServerProfile.java => FastHttpsAppTlsClientProfile.java} (83%) create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppTlsServerProfile.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppWafSecurityPolicy.java rename sdk/java/src/main/java/com/pulumi/f5bigip/outputs/{FastTcpAppFastCreateMonitor.java => FastTcpAppMonitor.java} (79%) rename sdk/java/src/main/java/com/pulumi/f5bigip/outputs/{FastHttpAppFastCreatePoolMember.java => FastTcpAppPoolMember.java} (91%) create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppMonitor.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppPoolMember.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppVirtualServer.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterUrl.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterUrlArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/ssl/outputs/GetWafEntityParameterUrl.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/Guest.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/GuestArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/inputs/GuestState.java create mode 100644 sdk/nodejs/fastUdpApp.ts create mode 100644 sdk/nodejs/vcmp/guest.ts create mode 100644 sdk/nodejs/vcmp/index.ts create mode 100644 sdk/python/pulumi_f5bigip/fast_udp_app.py create mode 100644 sdk/python/pulumi_f5bigip/vcmp/__init__.py create mode 100644 sdk/python/pulumi_f5bigip/vcmp/guest.py diff --git a/examples/virtualappliance/virtualappliance.ts b/examples/virtualappliance/virtualappliance.ts index 693e248f..564a5dfe 100644 --- a/examples/virtualappliance/virtualappliance.ts +++ b/examples/virtualappliance/virtualappliance.ts @@ -2,51 +2,50 @@ import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws"; import * as random from "@pulumi/random"; -import * as fs from "fs"; - -const config = new pulumi.Config(); - -const bigIpAdminPassword = new random.RandomString("password", { - special: false, - length: 20 +const bigIpAdminPassword = new random.RandomString("password", { + special: false, + length: 20, }); const baseTags = { - project: `${pulumi.getProject()}-${pulumi.getStack()}`, + project: `${pulumi.getProject()}-${pulumi.getStack()}`, }; const firewall = new aws.ec2.SecurityGroup("bigIp", { - description: "admin access", - ingress: [ - // Admin access - { protocol: "tcp", fromPort: 8443, toPort: 8443, cidrBlocks: ["0.0.0.0/0"] }, - // Client access - { protocol: "tcp", fromPort: 80, toPort: 80, cidrBlocks: ["0.0.0.0/0"] }, - ], - egress: [ - { protocol: "-1", fromPort: 0, toPort: 0, cidrBlocks: ["0.0.0.0/0"] }, - ], - tags: baseTags, + description: "admin access", + ingress: [ + // Admin access + { + protocol: "tcp", + fromPort: 8443, + toPort: 8443, + cidrBlocks: ["0.0.0.0/0"], + }, + // Client access + { protocol: "tcp", fromPort: 80, toPort: 80, cidrBlocks: ["0.0.0.0/0"] }, + ], + egress: [ + { protocol: "-1", fromPort: 0, toPort: 0, cidrBlocks: ["0.0.0.0/0"] }, + ], + tags: baseTags, }); /* - NOTE: We pin to a specific AMI Name because later versions seem to never complete startup - even without our userdata script. - https://aws.amazon.com/marketplace/pp/B079C44MFH?qid=1546534998240&sr=0-13 - aws ec2 describe-images \ - --filters "Name=product-code,Values=8esk90vx7v713sa0muq2skw3j" \ - --filters "Name=name,Values='F5 Networks BIGIP-14.0.0.1-0.0.2 PAYG - Good 25Mbps *'" -*/ + * NOTE: Performing this test requires that the CI AWS account subscribe to: + * https://aws.amazon.com/marketplace/pp/B079C44MFH?qid=1546534998240&sr=0-13 + * + * If the subscription is missing, the test will fail with a helpful error message and a + * link to subscribe. + */ const bigIpAmiId = aws.getAmi({ - mostRecent: true, - owners: ["679593333241"], - filters: [ - { name: "product-code", values: ["8esk90vx7v713sa0muq2skw3j"] }, - { name: "name", values: ["F5 Networks BIGIP-14.0.0.1-0.0.2 PAYG - Good 25Mbps *"] }, - ] -}).then(ami => ami.id); + mostRecent: true, + owners: ["679593333241"], + filters: [ + { name: "product-code", values: ["6gxrih3enhavyxlj11or9z9ht"] }, + ], +}).then((ami) => ami.id); -const bigIpUserData = - pulumi.interpolate`#!/bin/bash +const bigIpUserData = pulumi.interpolate`#!/bin/bash # Adapted from https://github.com/f5devcentral/f5-terraform/blob/master/modules/providers/aws/infrastructure/proxy/standalone/1nic/byol/user_data.tpl. # Script must be non-blocking or run in the background. @@ -78,14 +77,16 @@ nohup /tmp/pulumi-startup-script.sh &> /tmp/pulumi-startup-script.out & `; const f5BigIpInstance = new aws.ec2.Instance("bigIp", { - ami: bigIpAmiId, - instanceType: "t2.medium", - tags: Object.assign({ Name: "bigIp" }, baseTags), - userData: bigIpUserData, + ami: bigIpAmiId, + instanceType: "t2.medium", + tags: Object.assign({ Name: "bigIp" }, baseTags), + userData: bigIpUserData, - vpcSecurityGroupIds: [firewall.id], + vpcSecurityGroupIds: [firewall.id], }); -export const f5Address = f5BigIpInstance.publicIp.apply(x => `https://${x}:8443`); +export const f5Address = f5BigIpInstance.publicIp.apply((x) => + `https://${x}:8443` +); export const f5PrivateIp = f5BigIpInstance.privateIp; export const f5Password = bigIpAdminPassword.result; diff --git a/provider/cmd/pulumi-resource-f5bigip/schema.json b/provider/cmd/pulumi-resource-f5bigip/schema.json index 33fb5cc2..266c004f 100644 --- a/provider/cmd/pulumi-resource-f5bigip/schema.json +++ b/provider/cmd/pulumi-resource-f5bigip/schema.json @@ -23,7 +23,8 @@ "ltm": "Ltm", "net": "Net", "ssl": "Ssl", - "sys": "Sys" + "sys": "Sys", + "vcmp": "VCMP" }, "packageReferences": { "Pulumi": "3.*" @@ -86,9 +87,17 @@ "type": "string", "description": "A token generated outside the provider, in place of password\n" }, + "trustedCertPath": { + "type": "string", + "description": "Valid Trusted Certificate path\n" + }, "username": { "type": "string", "description": "Username with API access to the BigIP\n" + }, + "validateCertsDisable": { + "type": "boolean", + "description": "If set to true, Disables TLS certificate check on BIG-IP. Default : True\n" } } }, @@ -144,7 +153,7 @@ }, "type": "object" }, - "f5bigip:index/FastHttpAppFastCreateMonitor:FastHttpAppFastCreateMonitor": { + "f5bigip:index/FastHttpAppMonitor:FastHttpAppMonitor": { "properties": { "interval": { "type": "integer", @@ -171,7 +180,8 @@ "python": { "mapCase": false } - } + }, + "secret": true }, "response": { "type": "string", @@ -203,7 +213,7 @@ }, "type": "object" }, - "f5bigip:index/FastHttpAppFastCreatePoolMember:FastHttpAppFastCreatePoolMember": { + "f5bigip:index/FastHttpAppPoolMember:FastHttpAppPoolMember": { "properties": { "addresses": { "type": "array", @@ -272,7 +282,7 @@ }, "port": { "type": "integer", - "description": "-(Optional , `int`) Port number to used for accessing virtual server/application\n", + "description": "Port number to used for accessing virtual server/application\n", "language": { "python": { "mapCase": false @@ -286,20 +296,11 @@ "port" ] }, - "f5bigip:index/FastHttpsAppCreateTlsServerProfile:FastHttpsAppCreateTlsServerProfile": { + "f5bigip:index/FastHttpAppWafSecurityPolicy:FastHttpAppWafSecurityPolicy": { "properties": { - "tlsCertName": { - "type": "string", - "description": "Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile.\n", - "language": { - "python": { - "mapCase": false - } - } - }, - "tlsKeyName": { - "type": "string", - "description": "Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.\n", + "enable": { + "type": "boolean", + "description": "Setting `true` will enable FAST to create WAF Security Policy.\n", "language": { "python": { "mapCase": false @@ -309,11 +310,10 @@ }, "type": "object", "required": [ - "tlsCertName", - "tlsKeyName" + "enable" ] }, - "f5bigip:index/FastHttpsAppFastCreateMonitor:FastHttpsAppFastCreateMonitor": { + "f5bigip:index/FastHttpsAppMonitor:FastHttpsAppMonitor": { "properties": { "interval": { "type": "integer", @@ -340,7 +340,8 @@ "python": { "mapCase": false } - } + }, + "secret": true }, "response": { "type": "string", @@ -372,7 +373,7 @@ }, "type": "object" }, - "f5bigip:index/FastHttpsAppFastCreatePoolMember:FastHttpsAppFastCreatePoolMember": { + "f5bigip:index/FastHttpsAppPoolMember:FastHttpsAppPoolMember": { "properties": { "addresses": { "type": "array", @@ -428,6 +429,60 @@ "addresses" ] }, + "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", + "language": { + "python": { + "mapCase": false + } + } + }, + "tlsKeyName": { + "type": "string", + "description": "Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "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", + "language": { + "python": { + "mapCase": false + } + } + }, + "tlsKeyName": { + "type": "string", + "description": "Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "tlsCertName", + "tlsKeyName" + ] + }, "f5bigip:index/FastHttpsAppVirtualServer:FastHttpsAppVirtualServer": { "properties": { "ip": { @@ -441,7 +496,7 @@ }, "port": { "type": "integer", - "description": "-(Optional , `int`) Port number to used for accessing virtual server/application\n", + "description": "Port number to used for accessing virtual server/application\n", "language": { "python": { "mapCase": false @@ -455,7 +510,24 @@ "port" ] }, - "f5bigip:index/FastTcpAppFastCreateMonitor:FastTcpAppFastCreateMonitor": { + "f5bigip:index/FastHttpsAppWafSecurityPolicy:FastHttpsAppWafSecurityPolicy": { + "properties": { + "enable": { + "type": "boolean", + "description": "Setting `true` will enable FAST to create WAF Security Policy.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "enable" + ] + }, + "f5bigip:index/FastTcpAppMonitor:FastTcpAppMonitor": { "properties": { "interval": { "type": "integer", @@ -469,7 +541,7 @@ }, "type": "object" }, - "f5bigip:index/FastTcpAppFastCreatePoolMember:FastTcpAppFastCreatePoolMember": { + "f5bigip:index/FastTcpAppPoolMember:FastTcpAppPoolMember": { "properties": { "addresses": { "type": "array", @@ -538,7 +610,122 @@ }, "port": { "type": "integer", - "description": "-(Optional , `int`) Port number to used for accessing virtual server/application\n", + "description": "Port number to used for accessing virtual server/application\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "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", + "language": { + "python": { + "mapCase": false + } + } + }, + "interval": { + "type": "integer", + "description": "Set the time between health checks,in seconds for FAST-Generated Pool Monitor.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "sendString": { + "type": "string", + "description": "Optional data to be sent during each health check.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "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", + "language": { + "python": { + "mapCase": false + } + } + }, + "connectionLimit": { + "type": "integer", + "description": "connectionLimit value to be used for FAST-Generated Pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "port": { + "type": "integer", + "description": "port number of serviceport to be used for FAST-Generated Pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "priorityGroup": { + "type": "integer", + "description": "priorityGroup value to be used for FAST-Generated Pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "shareNodes": { + "type": "boolean", + "description": "shareNodes value to be used for FAST-Generated Pool.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "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", + "language": { + "python": { + "mapCase": false + } + } + }, + "port": { + "type": "integer", + "description": "Port number to used for accessing virtual server/application\n", "language": { "python": { "mapCase": false @@ -714,6 +901,7 @@ "items": { "$ref": "#/types/f5bigip:ltm/PolicyRuleAction:PolicyRuleAction" }, + "description": "Block type. See action block for more details.\n", "language": { "python": { "mapCase": false @@ -725,6 +913,7 @@ "items": { "$ref": "#/types/f5bigip:ltm/PolicyRuleCondition:PolicyRuleCondition" }, + "description": "Block type. See condition block for more details.\n", "language": { "python": { "mapCase": false @@ -733,7 +922,7 @@ }, "name": { "type": "string", - "description": "Name of the Policy ( policy name should be in full path which is combination of partition and policy name )\n", + "description": "Name of Rule to be applied in policy.\n", "language": { "python": { "mapCase": false @@ -1766,6 +1955,14 @@ } } }, + "clientAccepted": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, "clientSsl": { "type": "boolean", "language": { @@ -1830,6 +2027,14 @@ } } }, + "datagroup": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, "deviceMake": { "type": "boolean", "language": { @@ -2439,6 +2644,7 @@ "caseSensitive", "cipher", "cipherBits", + "clientAccepted", "clientSsl", "code", "commonName", @@ -2569,10 +2775,18 @@ "python": { "mapCase": false } - } + }, + "secret": true } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "passphrase" + ] + } + } }, "f5bigip:ltm/SnatOrigin:SnatOrigin": { "properties": { @@ -3804,6 +4018,14 @@ } } }, + "datagroup": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, "deviceMake": { "type": "boolean", "language": { @@ -4411,6 +4633,7 @@ "countryCode", "countryName", "cpuUsage", + "datagroup", "deviceMake", "deviceModel", "domain", @@ -4514,36 +4737,25 @@ }, "type": "object" }, - "f5bigip:ssl/getWafEntityUrlMethodOverride:getWafEntityUrlMethodOverride": { + "f5bigip:ssl/getWafEntityParameterUrl:getWafEntityParameterUrl": { "properties": { - "allow": { - "type": "boolean", - "description": "Specifies that the system allows or disallows a method for this URL\n", + "method": { + "type": "string", "language": { "python": { "mapCase": false } } }, - "method": { + "name": { "type": "string", - "description": "Specifies an HTTP method.\n", "language": { "python": { "mapCase": false } } - } - }, - "type": "object", - "required": [ - "allow", - "method" - ] - }, - "f5bigip:sys/IAppList:IAppList": { - "properties": { - "encrypted": { + }, + "protocol": { "type": "string", "language": { "python": { @@ -4551,7 +4763,7 @@ } } }, - "value": { + "type": { "type": "string", "language": { "python": { @@ -4560,9 +4772,63 @@ } } }, - "type": "object" - }, - "f5bigip:sys/IAppMetadata:IAppMetadata": { + "type": "object", + "required": [ + "method", + "name", + "protocol", + "type" + ] + }, + "f5bigip:ssl/getWafEntityUrlMethodOverride:getWafEntityUrlMethodOverride": { + "properties": { + "allow": { + "type": "boolean", + "description": "Specifies that the system allows or disallows a method for this URL\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "method": { + "type": "string", + "description": "Specifies an HTTP method.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "allow", + "method" + ] + }, + "f5bigip:sys/IAppList:IAppList": { + "properties": { + "encrypted": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "f5bigip:sys/IAppMetadata:IAppMetadata": { "properties": { "persists": { "type": "string", @@ -4705,9 +4971,17 @@ "type": "string", "description": "A token generated outside the provider, in place of password\n" }, + "trustedCertPath": { + "type": "string", + "description": "Valid Trusted Certificate path\n" + }, "username": { "type": "string", "description": "Username with API access to the BigIP\n" + }, + "validateCertsDisable": { + "type": "boolean", + "description": "If set to true, Disables TLS certificate check on BIG-IP. Default : True\n" } }, "inputProperties": { @@ -4739,15 +5013,23 @@ "type": "string", "description": "A token generated outside the provider, in place of password\n" }, + "trustedCertPath": { + "type": "string", + "description": "Valid Trusted Certificate path\n" + }, "username": { "type": "string", "description": "Username with API access to the BigIP\n" + }, + "validateCertsDisable": { + "type": "boolean", + "description": "If set to true, Disables TLS certificate check on BIG-IP. Default : True\n" } } }, "resources": { "f5bigip:cm/device:Device": { - "description": "`f5bigip.cm.Device` provides details about a specific bigip\n\nThis resource is helpful when configuring the BIG-IP device in cluster or in HA mode.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 configsyncIp: \"2.2.2.2\",\n mirrorIp: \"10.10.10.10\",\n mirrorSecondaryIp: \"11.11.11.11\",\n name: \"bigip300.f5.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmy_new_device = f5bigip.cm.Device(\"myNewDevice\",\n configsync_ip=\"2.2.2.2\",\n mirror_ip=\"10.10.10.10\",\n mirror_secondary_ip=\"11.11.11.11\",\n name=\"bigip300.f5.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myNewDevice = new F5BigIP.CM.Device(\"myNewDevice\", new()\n {\n ConfigsyncIp = \"2.2.2.2\",\n MirrorIp = \"10.10.10.10\",\n MirrorSecondaryIp = \"11.11.11.11\",\n Name = \"bigip300.f5.com\",\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, \"myNewDevice\", \u0026cm.DeviceArgs{\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\tName: pulumi.String(\"bigip300.f5.com\"),\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 .configsyncIp(\"2.2.2.2\")\n .mirrorIp(\"10.10.10.10\")\n .mirrorSecondaryIp(\"11.11.11.11\")\n .name(\"bigip300.f5.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myNewDevice:\n type: f5bigip:cm:Device\n properties:\n configsyncIp: 2.2.2.2\n mirrorIp: 10.10.10.10\n mirrorSecondaryIp: 11.11.11.11\n name: bigip300.f5.com\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.cm.Device` provides details about a specific bigip\n\nThis resource is helpful when configuring the BIG-IP device in cluster or in HA mode.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst myNewDevice = new f5bigip.cm.Device(\"myNewDevice\", {\n configsyncIp: \"2.2.2.2\",\n mirrorIp: \"10.10.10.10\",\n mirrorSecondaryIp: \"11.11.11.11\",\n name: \"bigip300.f5.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmy_new_device = f5bigip.cm.Device(\"myNewDevice\",\n configsync_ip=\"2.2.2.2\",\n mirror_ip=\"10.10.10.10\",\n mirror_secondary_ip=\"11.11.11.11\",\n name=\"bigip300.f5.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myNewDevice = new F5BigIP.CM.Device(\"myNewDevice\", new()\n {\n ConfigsyncIp = \"2.2.2.2\",\n MirrorIp = \"10.10.10.10\",\n MirrorSecondaryIp = \"11.11.11.11\",\n Name = \"bigip300.f5.com\",\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, \"myNewDevice\", \u0026cm.DeviceArgs{\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\tName: pulumi.String(\"bigip300.f5.com\"),\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 .configsyncIp(\"2.2.2.2\")\n .mirrorIp(\"10.10.10.10\")\n .mirrorSecondaryIp(\"11.11.11.11\")\n .name(\"bigip300.f5.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myNewDevice:\n type: f5bigip:cm:Device\n properties:\n configsyncIp: 2.2.2.2\n mirrorIp: 10.10.10.10\n mirrorSecondaryIp: 11.11.11.11\n name: bigip300.f5.com\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "configsyncIp": { "type": "string", @@ -4816,7 +5098,7 @@ } }, "f5bigip:cm/deviceGroup:DeviceGroup": { - "description": "`f5bigip.cm.DeviceGroup` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 autoSync: \"enabled\",\n devices: [\n {\n name: \"bigip1.cisco.com\",\n },\n {\n name: \"bigip200.f5.com\",\n },\n ],\n fullLoadOnSync: \"true\",\n name: \"sanjose_devicegroup\",\n type: \"sync-only\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmy_new_devicegroup = f5bigip.cm.DeviceGroup(\"myNewDevicegroup\",\n auto_sync=\"enabled\",\n devices=[\n f5bigip.cm.DeviceGroupDeviceArgs(\n name=\"bigip1.cisco.com\",\n ),\n f5bigip.cm.DeviceGroupDeviceArgs(\n name=\"bigip200.f5.com\",\n ),\n ],\n full_load_on_sync=\"true\",\n name=\"sanjose_devicegroup\",\n type=\"sync-only\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myNewDevicegroup = new F5BigIP.CM.DeviceGroup(\"myNewDevicegroup\", new()\n {\n AutoSync = \"enabled\",\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 FullLoadOnSync = \"true\",\n Name = \"sanjose_devicegroup\",\n Type = \"sync-only\",\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, \"myNewDevicegroup\", \u0026cm.DeviceGroupArgs{\n\t\t\tAutoSync: pulumi.String(\"enabled\"),\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\tFullLoadOnSync: pulumi.String(\"true\"),\n\t\t\tName: pulumi.String(\"sanjose_devicegroup\"),\n\t\t\tType: pulumi.String(\"sync-only\"),\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 .autoSync(\"enabled\")\n .devices( \n DeviceGroupDeviceArgs.builder()\n .name(\"bigip1.cisco.com\")\n .build(),\n DeviceGroupDeviceArgs.builder()\n .name(\"bigip200.f5.com\")\n .build())\n .fullLoadOnSync(\"true\")\n .name(\"sanjose_devicegroup\")\n .type(\"sync-only\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myNewDevicegroup:\n type: f5bigip:cm:DeviceGroup\n properties:\n autoSync: enabled\n devices:\n - name: bigip1.cisco.com\n - name: bigip200.f5.com\n fullLoadOnSync: true\n name: sanjose_devicegroup\n type: sync-only\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.cm.DeviceGroup` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst myNewDevicegroup = new f5bigip.cm.DeviceGroup(\"myNewDevicegroup\", {\n autoSync: \"enabled\",\n devices: [\n {\n name: \"bigip1.cisco.com\",\n },\n {\n name: \"bigip200.f5.com\",\n },\n ],\n fullLoadOnSync: \"true\",\n name: \"sanjose_devicegroup\",\n type: \"sync-only\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmy_new_devicegroup = f5bigip.cm.DeviceGroup(\"myNewDevicegroup\",\n auto_sync=\"enabled\",\n devices=[\n f5bigip.cm.DeviceGroupDeviceArgs(\n name=\"bigip1.cisco.com\",\n ),\n f5bigip.cm.DeviceGroupDeviceArgs(\n name=\"bigip200.f5.com\",\n ),\n ],\n full_load_on_sync=\"true\",\n name=\"sanjose_devicegroup\",\n type=\"sync-only\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myNewDevicegroup = new F5BigIP.CM.DeviceGroup(\"myNewDevicegroup\", new()\n {\n AutoSync = \"enabled\",\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 FullLoadOnSync = \"true\",\n Name = \"sanjose_devicegroup\",\n Type = \"sync-only\",\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, \"myNewDevicegroup\", \u0026cm.DeviceGroupArgs{\n\t\t\tAutoSync: pulumi.String(\"enabled\"),\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\tFullLoadOnSync: pulumi.String(\"true\"),\n\t\t\tName: pulumi.String(\"sanjose_devicegroup\"),\n\t\t\tType: pulumi.String(\"sync-only\"),\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 .autoSync(\"enabled\")\n .devices( \n DeviceGroupDeviceArgs.builder()\n .name(\"bigip1.cisco.com\")\n .build(),\n DeviceGroupDeviceArgs.builder()\n .name(\"bigip200.f5.com\")\n .build())\n .fullLoadOnSync(\"true\")\n .name(\"sanjose_devicegroup\")\n .type(\"sync-only\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myNewDevicegroup:\n type: f5bigip:cm:DeviceGroup\n properties:\n autoSync: enabled\n devices:\n - name: bigip1.cisco.com\n - name: bigip200.f5.com\n fullLoadOnSync: 'true'\n name: sanjose_devicegroup\n type: sync-only\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "autoSync": { "type": "string", @@ -4958,7 +5240,7 @@ } }, "f5bigip:index/as3:As3": { - "description": "`f5bigip.As3` provides details about bigip as3 resource\n\nThis resource is helpful to configure as3 declarative JSON on BIG-IP.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\n// Example Usage for json file\nconst as3_example1As3 = new f5bigip.As3(\"as3-example1As3\", {as3Json: fs.readFileSync(\"example1.json\")});\n// Example Usage for json file with tenant filter\nconst as3_example1Index_as3As3 = new f5bigip.As3(\"as3-example1Index/as3As3\", {\n as3Json: fs.readFileSync(\"example2.json\"),\n tenantFilter: \"Sample_03\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\n# Example Usage for json file\nas3_example1_as3 = f5bigip.As3(\"as3-example1As3\", as3_json=(lambda path: open(path).read())(\"example1.json\"))\n# Example Usage for json file with tenant filter\nas3_example1_index_as3_as3 = f5bigip.As3(\"as3-example1Index/as3As3\",\n as3_json=(lambda path: open(path).read())(\"example2.json\"),\n tenant_filter=\"Sample_03\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage for json file\n var as3_example1As3 = new F5BigIP.As3(\"as3-example1As3\", new()\n {\n As3Json = File.ReadAllText(\"example1.json\"),\n });\n\n // Example Usage for json file with tenant filter\n var as3_example1Index_as3As3 = new F5BigIP.As3(\"as3-example1Index/as3As3\", new()\n {\n As3Json = File.ReadAllText(\"example2.json\"),\n TenantFilter = \"Sample_03\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewAs3(ctx, \"as3-example1As3\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: readFileOrPanic(\"example1.json\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewAs3(ctx, \"as3-example1Index/as3As3\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: readFileOrPanic(\"example2.json\"),\n\t\t\tTenantFilter: pulumi.String(\"Sample_03\"),\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 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_example1As3 = new As3(\"as3-example1As3\", As3Args.builder() \n .as3Json(Files.readString(Paths.get(\"example1.json\")))\n .build());\n\n var as3_example1Index_as3As3 = new As3(\"as3-example1Index/as3As3\", As3Args.builder() \n .as3Json(Files.readString(Paths.get(\"example2.json\")))\n .tenantFilter(\"Sample_03\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\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 bigip_as3.test Sample_http_01\n```\n\n\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01\n```\n\n #### Import examples ( single and multiple partitions )\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 test Sample_http_01\n```\n\n bigip_as3.testImporting from ID \"Sample_http_01\"... bigip_as3.testImport prepared!\n\n Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource \"bigip_as3\" \"test\" {\n\n\n\n as3_json\n\n\n\n\n\n= jsonencode(\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n action\n\n\n\n\n\n= \"deploy\"\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"AS3\"\n\n\n\n\n\n\n\n\n\n\n\n declaration = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_http_01 = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n A1\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n= \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n jsessionid = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n = \"Persist\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieMethod\n\n\n\n\n\n= \"hash\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieName\n\n\n\n\n\n\n\n= \"JSESSIONID\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethod = \"cookie\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_HTTP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethods = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n use = \"jsessionid\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"web_pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses\n\n = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n web_pool\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.11\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 80\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"http\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n= \"ADC\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n = \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n label\n\n\n\n\n\n\n\n\n\n= \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n remark\n\n\n\n\n\n\n\n = \"Sample of a UDP DNS Load Balancer Service\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n schemaVersion\n\n= \"3.0.0\"\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n persist\n\n\n\n = true\n\n\n\n\n\n\n\n }\n\n\n\n )\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n= \"Sample_http_01\"\n\n\n\n tenant_filter = \"Sample_http_01\"\n\n\n\n tenant_list\n\n = \"Sample_http_01\" }\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01\n```\n\n bigip_as3.testImporting from ID \"Sample_http_01,Sample_non_http_01\"... bigip_as3.testImport prepared!\n\n Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource \"bigip_as3\" \"test\" {\n\n\n\n as3_json\n\n\n\n\n\n= jsonencode(\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n action\n\n\n\n\n\n= \"deploy\"\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"AS3\"\n\n\n\n\n\n\n\n\n\n\n\n declaration = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_http_01\n\n\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n A1\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n= \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n jsessionid = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n = \"Persist\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieMethod\n\n\n\n\n\n= \"hash\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieName\n\n\n\n\n\n\n\n= \"JSESSIONID\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethod = \"cookie\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_HTTP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethods = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n use = \"jsessionid\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"web_pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses\n\n = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n web_pool\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.11\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 80\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"http\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_non_http_01 = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n DNS_Service = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Pool1\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.10.100\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.10.101\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"icmp\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n = \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_UDP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n = \"Pool1\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.20.121\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualPort\n\n\n\n\n\n= 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"ADC\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n label\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n remark\n\n\n\n\n\n\n\n\n\n\n\n = \"Sample of a UDP DNS Load Balancer Service\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n schemaVersion\n\n\n\n\n\n= \"3.0.0\"\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n persist\n\n\n\n = true\n\n\n\n\n\n\n\n }\n\n\n\n )\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n= \"Sample_http_01,Sample_non_http_01\"\n\n\n\n tenant_filter = \"Sample_http_01,Sample_non_http_01\"\n\n\n\n tenant_list\n\n = \"Sample_http_01,Sample_non_http_01\" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html ", + "description": "`f5bigip.As3` provides details about bigip as3 resource\n\nThis resource is helpful to configure as3 declarative JSON on BIG-IP.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\n// Example Usage for json file\nconst as3_example1As3 = new f5bigip.As3(\"as3-example1As3\", {as3Json: fs.readFileSync(\"example1.json\")});\n// Example Usage for json file with tenant filter\nconst as3_example1Index_as3As3 = new f5bigip.As3(\"as3-example1Index/as3As3\", {\n as3Json: fs.readFileSync(\"example2.json\"),\n tenantFilter: \"Sample_03\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\n# Example Usage for json file\nas3_example1_as3 = f5bigip.As3(\"as3-example1As3\", as3_json=(lambda path: open(path).read())(\"example1.json\"))\n# Example Usage for json file with tenant filter\nas3_example1_index_as3_as3 = f5bigip.As3(\"as3-example1Index/as3As3\",\n as3_json=(lambda path: open(path).read())(\"example2.json\"),\n tenant_filter=\"Sample_03\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage for json file\n var as3_example1As3 = new F5BigIP.As3(\"as3-example1As3\", new()\n {\n As3Json = File.ReadAllText(\"example1.json\"),\n });\n\n // Example Usage for json file with tenant filter\n var as3_example1Index_as3As3 = new F5BigIP.As3(\"as3-example1Index/as3As3\", new()\n {\n As3Json = File.ReadAllText(\"example2.json\"),\n TenantFilter = \"Sample_03\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewAs3(ctx, \"as3-example1As3\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: readFileOrPanic(\"example1.json\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = f5bigip.NewAs3(ctx, \"as3-example1Index/as3As3\", \u0026f5bigip.As3Args{\n\t\t\tAs3Json: readFileOrPanic(\"example2.json\"),\n\t\t\tTenantFilter: pulumi.String(\"Sample_03\"),\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 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_example1As3 = new As3(\"as3-example1As3\", As3Args.builder() \n .as3Json(Files.readString(Paths.get(\"example1.json\")))\n .build());\n\n var as3_example1Index_as3As3 = new As3(\"as3-example1Index/as3As3\", As3Args.builder() \n .as3Json(Files.readString(Paths.get(\"example2.json\")))\n .tenantFilter(\"Sample_03\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage for json file\n as3-example1As3:\n type: f5bigip:As3\n properties:\n as3Json:\n fn::readFile: example1.json\n # Example Usage for json file with tenant filter\n as3-example1Index/as3As3:\n type: f5bigip:As3\n properties:\n as3Json:\n fn::readFile: example2.json\n tenantFilter: Sample_03\n```\n{{% /example %}}\n{{% /examples %}}\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 bigip_as3.test Sample_http_01\n```\n\n\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 bigip_as3.test Sample_http_01,Sample_non_http_01\n```\n\n #### Import examples ( single and multiple partitions )\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 test Sample_http_01\n```\n\n bigip_as3.testImporting from ID \"Sample_http_01\"... bigip_as3.testImport prepared!\n\n Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource \"bigip_as3\" \"test\" {\n\n\n\n as3_json\n\n\n\n\n\n= jsonencode(\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n action\n\n\n\n\n\n= \"deploy\"\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"AS3\"\n\n\n\n\n\n\n\n\n\n\n\n declaration = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_http_01 = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n A1\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n= \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n jsessionid = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n = \"Persist\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieMethod\n\n\n\n\n\n= \"hash\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieName\n\n\n\n\n\n\n\n= \"JSESSIONID\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethod = \"cookie\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_HTTP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethods = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n use = \"jsessionid\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"web_pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses\n\n = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n web_pool\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.11\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 80\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"http\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n= \"ADC\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n = \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n label\n\n\n\n\n\n\n\n\n\n= \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n remark\n\n\n\n\n\n\n\n = \"Sample of a UDP DNS Load Balancer Service\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n schemaVersion\n\n= \"3.0.0\"\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n persist\n\n\n\n = true\n\n\n\n\n\n\n\n }\n\n\n\n )\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n= \"Sample_http_01\"\n\n\n\n tenant_filter = \"Sample_http_01\"\n\n\n\n tenant_list\n\n = \"Sample_http_01\" }\n\n```sh\n $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01\n```\n\n bigip_as3.testImporting from ID \"Sample_http_01,Sample_non_http_01\"... bigip_as3.testImport prepared!\n\n Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource \"bigip_as3\" \"test\" {\n\n\n\n as3_json\n\n\n\n\n\n= jsonencode(\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n action\n\n\n\n\n\n= \"deploy\"\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"AS3\"\n\n\n\n\n\n\n\n\n\n\n\n declaration = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_http_01\n\n\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n A1\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n= \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n jsessionid = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n = \"Persist\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieMethod\n\n\n\n\n\n= \"hash\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n cookieName\n\n\n\n\n\n\n\n= \"JSESSIONID\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethod = \"cookie\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service\n\n\n\n= {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_HTTP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n persistenceMethods = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n use = \"jsessionid\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"web_pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses\n\n = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n web_pool\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.10\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"192.0.2.11\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 80\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"http\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Sample_non_http_01 = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n DNS_Service = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Pool1\n\n = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n= \"Pool\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n members\n\n= [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.10.100\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n serverAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.10.101\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n servicePort\n\n\n\n = 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n },\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n monitors = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"icmp\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n = \"Application\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n service = {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n= \"Service_UDP\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n pool\n\n\n\n\n\n\n\n\n\n\n\n = \"Pool1\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualAddresses = [\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \"10.1.20.121\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n virtualPort\n\n\n\n\n\n= 53\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n = \"Tenant\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n class\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"ADC\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n = \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n label\n\n\n\n\n\n\n\n\n\n\n\n\n\n= \"UDP_DNS_Sample\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n remark\n\n\n\n\n\n\n\n\n\n\n\n = \"Sample of a UDP DNS Load Balancer Service\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n schemaVersion\n\n\n\n\n\n= \"3.0.0\"\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n\n\n\n\n\n\n\n\n\n persist\n\n\n\n = true\n\n\n\n\n\n\n\n }\n\n\n\n )\n\n\n\n id\n\n\n\n\n\n\n\n\n\n\n\n= \"Sample_http_01,Sample_non_http_01\"\n\n\n\n tenant_filter = \"Sample_http_01,Sample_non_http_01\"\n\n\n\n tenant_list\n\n = \"Sample_http_01,Sample_non_http_01\" } * `AS3 documentation` - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html ", "properties": { "applicationList": { "type": "string", @@ -5063,7 +5345,7 @@ } }, "f5bigip:index/bigIqAs3:BigIqAs3": { - "description": "`f5bigip.BigIqAs3` provides details about bigiq as3 resource\n\nThis resource is helpful to configure as3 declarative JSON on BIG-IP through BIG-IQ.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\n// Example Usage for json file\nconst exampletask = new f5bigip.BigIqAs3(\"exampletask\", {\n as3Json: fs.readFileSync(\"bigiq_example.json\", \"utf-8\"),\n bigiqAddress: \"xx.xx.xxx.xx\",\n bigiqPassword: \"xxxxxxxxx\",\n bigiqUser: \"xxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\n# Example Usage for json file\nexampletask = f5bigip.BigIqAs3(\"exampletask\",\n as3_json=(lambda path: open(path).read())(\"bigiq_example.json\"),\n bigiq_address=\"xx.xx.xxx.xx\",\n bigiq_password=\"xxxxxxxxx\",\n bigiq_user=\"xxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage for json file\n var exampletask = new F5BigIP.BigIqAs3(\"exampletask\", new()\n {\n As3Json = File.ReadAllText(\"bigiq_example.json\"),\n BigiqAddress = \"xx.xx.xxx.xx\",\n BigiqPassword = \"xxxxxxxxx\",\n BigiqUser = \"xxxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewBigIqAs3(ctx, \"exampletask\", \u0026f5bigip.BigIqAs3Args{\n\t\t\tAs3Json: readFileOrPanic(\"bigiq_example.json\"),\n\t\t\tBigiqAddress: pulumi.String(\"xx.xx.xxx.xx\"),\n\t\t\tBigiqPassword: pulumi.String(\"xxxxxxxxx\"),\n\t\t\tBigiqUser: pulumi.String(\"xxxxx\"),\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 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 exampletask = new BigIqAs3(\"exampletask\", BigIqAs3Args.builder() \n .as3Json(Files.readString(Paths.get(\"bigiq_example.json\")))\n .bigiqAddress(\"xx.xx.xxx.xx\")\n .bigiqPassword(\"xxxxxxxxx\")\n .bigiqUser(\"xxxxx\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.BigIqAs3` provides details about bigiq as3 resource\n\nThis resource is helpful to configure as3 declarative JSON on BIG-IP through BIG-IQ.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\n// Example Usage for json file\nconst exampletask = new f5bigip.BigIqAs3(\"exampletask\", {\n as3Json: fs.readFileSync(\"bigiq_example.json\"),\n bigiqAddress: \"xx.xx.xxx.xx\",\n bigiqPassword: \"xxxxxxxxx\",\n bigiqUser: \"xxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\n# Example Usage for json file\nexampletask = f5bigip.BigIqAs3(\"exampletask\",\n as3_json=(lambda path: open(path).read())(\"bigiq_example.json\"),\n bigiq_address=\"xx.xx.xxx.xx\",\n bigiq_password=\"xxxxxxxxx\",\n bigiq_user=\"xxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Example Usage for json file\n var exampletask = new F5BigIP.BigIqAs3(\"exampletask\", new()\n {\n As3Json = File.ReadAllText(\"bigiq_example.json\"),\n BigiqAddress = \"xx.xx.xxx.xx\",\n BigiqPassword = \"xxxxxxxxx\",\n BigiqUser = \"xxxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewBigIqAs3(ctx, \"exampletask\", \u0026f5bigip.BigIqAs3Args{\n\t\t\tAs3Json: readFileOrPanic(\"bigiq_example.json\"),\n\t\t\tBigiqAddress: pulumi.String(\"xx.xx.xxx.xx\"),\n\t\t\tBigiqPassword: pulumi.String(\"xxxxxxxxx\"),\n\t\t\tBigiqUser: pulumi.String(\"xxxxx\"),\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 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 exampletask = new BigIqAs3(\"exampletask\", BigIqAs3Args.builder() \n .as3Json(Files.readString(Paths.get(\"bigiq_example.json\")))\n .bigiqAddress(\"xx.xx.xxx.xx\")\n .bigiqPassword(\"xxxxxxxxx\")\n .bigiqUser(\"xxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example Usage for json file\n exampletask:\n type: f5bigip:BigIqAs3\n properties:\n as3Json:\n fn::readFile: bigiq_example.json\n bigiqAddress: xx.xx.xxx.xx\n bigiqPassword: xxxxxxxxx\n bigiqUser: xxxxx\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "as3Json": { "type": "string", @@ -5075,23 +5357,28 @@ }, "bigiqLoginRef": { "type": "string", - "description": "BIGIQ Login reference for token authentication\n" + "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" + "description": "Password of the BIG-IQ to which your targer BIG-IP is attached\n", + "secret": true }, "bigiqPort": { "type": "string", - "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n" + "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n", + "secret": true }, "bigiqTokenAuth": { "type": "boolean", - "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n" + "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n", + "secret": true }, "bigiqUser": { "type": "string", - "description": "User name of the BIG-IQ to which your targer BIG-IP is attached\n" + "description": "User name of the BIG-IQ to which your targer BIG-IP is attached\n", + "secret": true }, "ignoreMetadata": { "type": "boolean", @@ -5120,23 +5407,28 @@ }, "bigiqLoginRef": { "type": "string", - "description": "BIGIQ Login reference for token authentication\n" + "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" + "description": "Password of the BIG-IQ to which your targer BIG-IP is attached\n", + "secret": true }, "bigiqPort": { "type": "string", - "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n" + "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n", + "secret": true }, "bigiqTokenAuth": { "type": "boolean", - "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n" + "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n", + "secret": true }, "bigiqUser": { "type": "string", - "description": "User name of the BIG-IQ to which your targer BIG-IP is attached\n" + "description": "User name of the BIG-IQ to which your targer BIG-IP is attached\n", + "secret": true }, "ignoreMetadata": { "type": "boolean", @@ -5166,23 +5458,28 @@ }, "bigiqLoginRef": { "type": "string", - "description": "BIGIQ Login reference for token authentication\n" + "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" + "description": "Password of the BIG-IQ to which your targer BIG-IP is attached\n", + "secret": true }, "bigiqPort": { "type": "string", - "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n" + "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n", + "secret": true }, "bigiqTokenAuth": { "type": "boolean", - "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n" + "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n", + "secret": true }, "bigiqUser": { "type": "string", - "description": "User name of the BIG-IQ to which your targer BIG-IP is attached\n" + "description": "User name of the BIG-IQ to which your targer BIG-IP is attached\n", + "secret": true }, "ignoreMetadata": { "type": "boolean", @@ -5280,23 +5577,28 @@ }, "bigiqLoginRef": { "type": "string", - "description": "BIGIQ Login reference for token authentication\n" + "description": "BIGIQ Login reference for token authentication\n", + "secret": true }, "bigiqPassword": { "type": "string", - "description": "BIGIQ License Manager password. variable type `string`\n" + "description": "BIGIQ License Manager password. variable type `string`\n", + "secret": true }, "bigiqPort": { "type": "string", - "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n" + "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n", + "secret": true }, "bigiqTokenAuth": { "type": "boolean", - "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n" + "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n", + "secret": true }, "bigiqUser": { "type": "string", - "description": "BIGIQ License Manager username, variable type `string`\n" + "description": "BIGIQ License Manager username, variable type `string`\n", + "secret": true }, "deviceLicenseStatus": { "type": "string", @@ -5354,23 +5656,28 @@ }, "bigiqLoginRef": { "type": "string", - "description": "BIGIQ Login reference for token authentication\n" + "description": "BIGIQ Login reference for token authentication\n", + "secret": true }, "bigiqPassword": { "type": "string", - "description": "BIGIQ License Manager password. variable type `string`\n" + "description": "BIGIQ License Manager password. variable type `string`\n", + "secret": true }, "bigiqPort": { "type": "string", - "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n" + "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n", + "secret": true }, "bigiqTokenAuth": { "type": "boolean", - "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n" + "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n", + "secret": true }, "bigiqUser": { "type": "string", - "description": "BIGIQ License Manager username, variable type `string`\n" + "description": "BIGIQ License Manager username, variable type `string`\n", + "secret": true }, "deviceLicenseStatus": { "type": "string", @@ -5429,23 +5736,28 @@ }, "bigiqLoginRef": { "type": "string", - "description": "BIGIQ Login reference for token authentication\n" + "description": "BIGIQ Login reference for token authentication\n", + "secret": true }, "bigiqPassword": { "type": "string", - "description": "BIGIQ License Manager password. variable type `string`\n" + "description": "BIGIQ License Manager password. variable type `string`\n", + "secret": true }, "bigiqPort": { "type": "string", - "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n" + "description": "type `int`, BIGIQ License Manager Port number, specify if port is other than `443`\n", + "secret": true }, "bigiqTokenAuth": { "type": "boolean", - "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n" + "description": "type `bool`, if set to `true` enables Token based Authentication,default is `false`\n", + "secret": true }, "bigiqUser": { "type": "string", - "description": "BIGIQ License Manager username, variable type `string`\n" + "description": "BIGIQ License Manager username, variable type `string`\n", + "secret": true }, "deviceLicenseStatus": { "type": "string", @@ -5488,7 +5800,7 @@ } }, "f5bigip:index/do:Do": { - "description": "`f5bigip.Do` provides details about bigip do resource\n\nThis resource is helpful to configure do declarative JSON on BIG-IP.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst do_example = new f5bigip.Do(\"do-example\", {\n doJson: fs.readFileSync(\"example.json\", \"utf-8\"),\n timeout: 15,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndo_example = f5bigip.Do(\"do-example\",\n do_json=(lambda path: open(path).read())(\"example.json\"),\n timeout=15)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var do_example = new F5BigIP.Do(\"do-example\", new()\n {\n DoJson = File.ReadAllText(\"example.json\"),\n Timeout = 15,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewDo(ctx, \"do-example\", \u0026f5bigip.DoArgs{\n\t\t\tDoJson: readFileOrPanic(\"example.json\"),\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 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(Files.readString(Paths.get(\"example.json\")))\n .timeout(15)\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.Do` provides details about bigip do resource\n\nThis resource is helpful to configure do declarative JSON on BIG-IP.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst do_example = new f5bigip.Do(\"do-example\", {\n doJson: fs.readFileSync(\"example.json\"),\n timeout: 15,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ndo_example = f5bigip.Do(\"do-example\",\n do_json=(lambda path: open(path).read())(\"example.json\"),\n timeout=15)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var do_example = new F5BigIP.Do(\"do-example\", new()\n {\n DoJson = File.ReadAllText(\"example.json\"),\n Timeout = 15,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewDo(ctx, \"do-example\", \u0026f5bigip.DoArgs{\n\t\t\tDoJson: readFileOrPanic(\"example.json\"),\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 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(Files.readString(Paths.get(\"example.json\")))\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::readFile: example.json\n timeout: 15\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "bigipAddress": { "type": "string", @@ -5496,7 +5808,8 @@ }, "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" + "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", + "secret": true }, "bigipPort": { "type": "string", @@ -5504,7 +5817,8 @@ }, "bigipTokenAuth": { "type": "boolean", - "description": "Enable to use an external authentication source (LDAP, TACACS, etc)\n" + "description": "Enable to use an external authentication source (LDAP, TACACS, etc)\n", + "secret": true }, "bigipUser": { "type": "string", @@ -5534,7 +5848,8 @@ }, "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" + "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", + "secret": true }, "bigipPort": { "type": "string", @@ -5542,7 +5857,8 @@ }, "bigipTokenAuth": { "type": "boolean", - "description": "Enable to use an external authentication source (LDAP, TACACS, etc)\n" + "description": "Enable to use an external authentication source (LDAP, TACACS, etc)\n", + "secret": true }, "bigipUser": { "type": "string", @@ -5574,7 +5890,8 @@ }, "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" + "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", + "secret": true }, "bigipPort": { "type": "string", @@ -5582,7 +5899,8 @@ }, "bigipTokenAuth": { "type": "boolean", - "description": "Enable to use an external authentication source (LDAP, TACACS, etc)\n" + "description": "Enable to use an external authentication source (LDAP, TACACS, etc)\n", + "secret": true }, "bigipUser": { "type": "string", @@ -5606,7 +5924,7 @@ } }, "f5bigip:index/eventServiceDiscovery:EventServiceDiscovery": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test = new f5bigip.EventServiceDiscovery(\"test\", {\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 taskid: \"~Sample_event_sd~My_app~My_pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest = f5bigip.EventServiceDiscovery(\"test\",\n nodes=[\n f5bigip.EventServiceDiscoveryNodeArgs(\n id=\"newNode1\",\n ip=\"192.168.2.3\",\n port=8080,\n ),\n f5bigip.EventServiceDiscoveryNodeArgs(\n id=\"newNode2\",\n ip=\"192.168.2.4\",\n port=8080,\n ),\n ],\n taskid=\"~Sample_event_sd~My_app~My_pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new F5BigIP.EventServiceDiscovery(\"test\", new()\n {\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 Taskid = \"~Sample_event_sd~My_app~My_pool\",\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\tNodes: EventServiceDiscoveryNodeArray{\n\t\t\t\t\u0026EventServiceDiscoveryNodeArgs{\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\u0026EventServiceDiscoveryNodeArgs{\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\tTaskid: pulumi.String(\"~Sample_event_sd~My_app~My_pool\"),\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 .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 .taskid(\"~Sample_event_sd~My_app~My_pool\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: f5bigip:EventServiceDiscovery\n properties:\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 taskid: ~Sample_event_sd~My_app~My_pool\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test = new f5bigip.EventServiceDiscovery(\"test\", {\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 taskid: \"~Sample_event_sd~My_app~My_pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest = f5bigip.EventServiceDiscovery(\"test\",\n nodes=[\n f5bigip.EventServiceDiscoveryNodeArgs(\n id=\"newNode1\",\n ip=\"192.168.2.3\",\n port=8080,\n ),\n f5bigip.EventServiceDiscoveryNodeArgs(\n id=\"newNode2\",\n ip=\"192.168.2.4\",\n port=8080,\n ),\n ],\n taskid=\"~Sample_event_sd~My_app~My_pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new F5BigIP.EventServiceDiscovery(\"test\", new()\n {\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 Taskid = \"~Sample_event_sd~My_app~My_pool\",\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\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\tTaskid: pulumi.String(\"~Sample_event_sd~My_app~My_pool\"),\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 .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 .taskid(\"~Sample_event_sd~My_app~My_pool\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: f5bigip:EventServiceDiscovery\n properties:\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 taskid: ~Sample_event_sd~My_app~My_pool\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "nodes": { "type": "array", @@ -5660,7 +5978,7 @@ } }, "f5bigip:index/fastApplication:FastApplication": { - "description": "`f5bigip.FastApplication` This resource will create and manage FAST applications on BIG-IP from provided JSON declaration. \n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst foo_app = new f5bigip.FastApplication(\"foo-app\", {\n fastJson: fs.readFileSync(\"new_fast_app.json\", \"utf-8\"),\n template: \"examples/simple_http\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nfoo_app = f5bigip.FastApplication(\"foo-app\",\n fast_json=(lambda path: open(path).read())(\"new_fast_app.json\"),\n template=\"examples/simple_http\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_app = new F5BigIP.FastApplication(\"foo-app\", new()\n {\n FastJson = File.ReadAllText(\"new_fast_app.json\"),\n Template = \"examples/simple_http\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewFastApplication(ctx, \"foo-app\", \u0026f5bigip.FastApplicationArgs{\n\t\t\tFastJson: readFileOrPanic(\"new_fast_app.json\"),\n\t\t\tTemplate: pulumi.String(\"examples/simple_http\"),\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 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 .fastJson(Files.readString(Paths.get(\"new_fast_app.json\")))\n .template(\"examples/simple_http\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.FastApplication` This resource will create and manage FAST applications on BIG-IP from provided JSON declaration. \n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst foo_app = new f5bigip.FastApplication(\"foo-app\", {\n fastJson: fs.readFileSync(\"new_fast_app.json\"),\n template: \"examples/simple_http\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nfoo_app = f5bigip.FastApplication(\"foo-app\",\n fast_json=(lambda path: open(path).read())(\"new_fast_app.json\"),\n template=\"examples/simple_http\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_app = new F5BigIP.FastApplication(\"foo-app\", new()\n {\n FastJson = File.ReadAllText(\"new_fast_app.json\"),\n Template = \"examples/simple_http\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := f5bigip.NewFastApplication(ctx, \"foo-app\", \u0026f5bigip.FastApplicationArgs{\n\t\t\tFastJson: readFileOrPanic(\"new_fast_app.json\"),\n\t\t\tTemplate: pulumi.String(\"examples/simple_http\"),\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 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 .fastJson(Files.readString(Paths.get(\"new_fast_app.json\")))\n .template(\"examples/simple_http\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-app:\n type: f5bigip:FastApplication\n properties:\n fastJson:\n fn::readFile: new_fast_app.json\n template: examples/simple_http\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "application": { "type": "string", @@ -5721,50 +6039,72 @@ } }, "f5bigip:index/fastHttpApp:FastHttpApp": { - "description": "`f5bigip.FastHttpApp` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst fastHttpApp = new f5bigip.FastHttpApp(\"fast_http_app\", {\n application: \"fasthttpapp\",\n tenant: \"fasthttptenant\",\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(\"fastHttpApp\",\n application=\"fasthttpapp\",\n tenant=\"fasthttptenant\",\n virtual_server=f5bigip.FastHttpAppVirtualServerArgs(\n ip=\"10.30.30.44\",\n port=443,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fastHttpApp = new F5BigIP.FastHttpApp(\"fastHttpApp\", new()\n {\n Application = \"fasthttpapp\",\n Tenant = \"fasthttptenant\",\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, \"fastHttpApp\", \u0026f5bigip.FastHttpAppArgs{\n\t\t\tApplication: pulumi.String(\"fasthttpapp\"),\n\t\t\tTenant: pulumi.String(\"fasthttptenant\"),\n\t\t\tVirtualServer: \u0026FastHttpAppVirtualServerArgs{\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 .application(\"fasthttpapp\")\n .tenant(\"fasthttptenant\")\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 properties:\n application: fasthttpapp\n tenant: fasthttptenant\n virtualServer:\n ip: 10.30.30.44\n port: 443\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.FastHttpApp` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst fastHttpApp = new f5bigip.FastHttpApp(\"fastHttpApp\", {\n application: \"fasthttpapp\",\n tenant: \"fasthttptenant\",\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(\"fastHttpApp\",\n application=\"fasthttpapp\",\n tenant=\"fasthttptenant\",\n virtual_server=f5bigip.FastHttpAppVirtualServerArgs(\n ip=\"10.30.30.44\",\n port=443,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fastHttpApp = new F5BigIP.FastHttpApp(\"fastHttpApp\", new()\n {\n Application = \"fasthttpapp\",\n Tenant = \"fasthttptenant\",\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, \"fastHttpApp\", \u0026f5bigip.FastHttpAppArgs{\n\t\t\tApplication: pulumi.String(\"fasthttpapp\"),\n\t\t\tTenant: pulumi.String(\"fasthttptenant\"),\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 .application(\"fasthttpapp\")\n .tenant(\"fasthttptenant\")\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 properties:\n application: fasthttpapp\n tenant: fasthttptenant\n virtualServer:\n ip: 10.30.30.44\n port: 443\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "application": { "type": "string", "description": "Name of the FAST HTTPS application.\n" }, - "existPoolName": { - "type": "string", - "description": "Name of an existing BIG-IP pool.\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\n" + }, "existingSnatPool": { "type": "string", "description": "Name of an existing BIG-IP SNAT pool.\n" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastHttpAppFastCreateMonitor:FastHttpAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" + "existingWafSecurityPolicy": { + "type": "string", + "description": "Name of an existing WAF Security policy.\n" + }, + "fastHttpJson": { + "type": "string", + "description": "Json payload for FAST HTTP application.\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": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" }, - "fastCreatePoolMembers": { + "poolMembers": { "type": "array", "items": { - "$ref": "#/types/f5bigip:index/FastHttpAppFastCreatePoolMember:FastHttpAppFastCreatePoolMember" + "$ref": "#/types/f5bigip:index/FastHttpAppPoolMember:FastHttpAppPoolMember" }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "description": "`pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" }, - "fastCreateSnatPoolAddresses": { + "securityLogProfiles": { "type": "array", "items": { "type": "string" }, - "description": "List of address to be used for FAST-Generated SNAT Pool.\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" + "description": "List of security log profiles to be used for FAST application\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" @@ -5772,10 +6112,15 @@ "virtualServer": { "$ref": "#/types/f5bigip:index/FastHttpAppVirtualServer:FastHttpAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` options to be used for virtual server.\nSee virtual server below for more details.\n" + }, + "wafSecurityPolicy": { + "$ref": "#/types/f5bigip:index/FastHttpAppWafSecurityPolicy:FastHttpAppWafSecurityPolicy", + "description": "`waf_security_policy` block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n" } }, "required": [ "application", + "fastHttpJson", "tenant" ], "inputProperties": { @@ -5784,44 +6129,62 @@ "description": "Name of the FAST HTTPS application.\n", "willReplaceOnChanges": true }, - "existPoolName": { - "type": "string", - "description": "Name of an existing BIG-IP pool.\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\n" + }, "existingSnatPool": { "type": "string", "description": "Name of an existing BIG-IP SNAT pool.\n" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastHttpAppFastCreateMonitor:FastHttpAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" + "existingWafSecurityPolicy": { + "type": "string", + "description": "Name of an existing WAF Security policy.\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": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" }, - "fastCreatePoolMembers": { + "poolMembers": { "type": "array", "items": { - "$ref": "#/types/f5bigip:index/FastHttpAppFastCreatePoolMember:FastHttpAppFastCreatePoolMember" + "$ref": "#/types/f5bigip:index/FastHttpAppPoolMember:FastHttpAppPoolMember" }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "description": "`pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" }, - "fastCreateSnatPoolAddresses": { + "securityLogProfiles": { "type": "array", "items": { "type": "string" }, - "description": "List of address to be used for FAST-Generated SNAT Pool.\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" + "description": "List of security log profiles to be used for FAST application\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", @@ -5830,6 +6193,10 @@ "virtualServer": { "$ref": "#/types/f5bigip:index/FastHttpAppVirtualServer:FastHttpAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` options to be used for virtual server.\nSee virtual server below for more details.\n" + }, + "wafSecurityPolicy": { + "$ref": "#/types/f5bigip:index/FastHttpAppWafSecurityPolicy:FastHttpAppWafSecurityPolicy", + "description": "`waf_security_policy` block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n" } }, "requiredInputs": [ @@ -5844,44 +6211,66 @@ "description": "Name of the FAST HTTPS application.\n", "willReplaceOnChanges": true }, - "existPoolName": { - "type": "string", - "description": "Name of an existing BIG-IP pool.\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\n" + }, "existingSnatPool": { "type": "string", "description": "Name of an existing BIG-IP SNAT pool.\n" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastHttpAppFastCreateMonitor:FastHttpAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" + "existingWafSecurityPolicy": { + "type": "string", + "description": "Name of an existing WAF Security policy.\n" + }, + "fastHttpJson": { + "type": "string", + "description": "Json payload for FAST HTTP application.\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": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" }, - "fastCreatePoolMembers": { + "poolMembers": { "type": "array", "items": { - "$ref": "#/types/f5bigip:index/FastHttpAppFastCreatePoolMember:FastHttpAppFastCreatePoolMember" + "$ref": "#/types/f5bigip:index/FastHttpAppPoolMember:FastHttpAppPoolMember" }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "description": "`pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" }, - "fastCreateSnatPoolAddresses": { + "securityLogProfiles": { "type": "array", "items": { "type": "string" }, - "description": "List of address to be used for FAST-Generated SNAT Pool.\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" + "description": "List of security log profiles to be used for FAST application\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", @@ -5890,75 +6279,114 @@ "virtualServer": { "$ref": "#/types/f5bigip:index/FastHttpAppVirtualServer:FastHttpAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` options to be used for virtual server.\nSee virtual server below for more details.\n" + }, + "wafSecurityPolicy": { + "$ref": "#/types/f5bigip:index/FastHttpAppWafSecurityPolicy:FastHttpAppWafSecurityPolicy", + "description": "`waf_security_policy` 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": "`f5bigip.FastHttpsApp` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst fastHttpsApp = new f5bigip.FastHttpsApp(\"fast_https_app\", {\n application: \"fasthttpsapp\",\n tenant: \"fasthttpstenant\",\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(\"fastHttpsApp\",\n application=\"fasthttpsapp\",\n tenant=\"fasthttpstenant\",\n virtual_server=f5bigip.FastHttpsAppVirtualServerArgs(\n ip=\"10.30.40.44\",\n port=443,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fastHttpsApp = new F5BigIP.FastHttpsApp(\"fastHttpsApp\", new()\n {\n Application = \"fasthttpsapp\",\n Tenant = \"fasthttpstenant\",\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, \"fastHttpsApp\", \u0026f5bigip.FastHttpsAppArgs{\n\t\t\tApplication: pulumi.String(\"fasthttpsapp\"),\n\t\t\tTenant: pulumi.String(\"fasthttpstenant\"),\n\t\t\tVirtualServer: \u0026FastHttpsAppVirtualServerArgs{\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 .application(\"fasthttpsapp\")\n .tenant(\"fasthttpstenant\")\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 properties:\n application: fasthttpsapp\n tenant: fasthttpstenant\n virtualServer:\n ip: 10.30.40.44\n port: 443\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.FastHttpsApp` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst fastHttpsApp = new f5bigip.FastHttpsApp(\"fastHttpsApp\", {\n application: \"fasthttpsapp\",\n tenant: \"fasthttpstenant\",\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(\"fastHttpsApp\",\n application=\"fasthttpsapp\",\n tenant=\"fasthttpstenant\",\n virtual_server=f5bigip.FastHttpsAppVirtualServerArgs(\n ip=\"10.30.40.44\",\n port=443,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fastHttpsApp = new F5BigIP.FastHttpsApp(\"fastHttpsApp\", new()\n {\n Application = \"fasthttpsapp\",\n Tenant = \"fasthttpstenant\",\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, \"fastHttpsApp\", \u0026f5bigip.FastHttpsAppArgs{\n\t\t\tApplication: pulumi.String(\"fasthttpsapp\"),\n\t\t\tTenant: pulumi.String(\"fasthttpstenant\"),\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 .application(\"fasthttpsapp\")\n .tenant(\"fasthttpstenant\")\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 properties:\n application: fasthttpsapp\n tenant: fasthttpstenant\n virtualServer:\n ip: 10.30.40.44\n port: 443\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "application": { "type": "string", "description": "Name of the FAST HTTPS application.\n" }, - "createTlsServerProfile": { - "$ref": "#/types/f5bigip:index/FastHttpsAppCreateTlsServerProfile:FastHttpsAppCreateTlsServerProfile", - "description": "`create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n" - }, - "existPoolName": { - "type": "string", - "description": "Name of an existing BIG-IP pool.\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" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastHttpsAppFastCreateMonitor:FastHttpsAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\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" + }, + "fastHttpsJson": { + "type": "string", + "description": "Json payload for FAST HTTPS application.\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": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" }, - "fastCreatePoolMembers": { + "poolMembers": { "type": "array", "items": { - "$ref": "#/types/f5bigip:index/FastHttpsAppFastCreatePoolMember:FastHttpsAppFastCreatePoolMember" + "$ref": "#/types/f5bigip:index/FastHttpsAppPoolMember:FastHttpsAppPoolMember" }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "description": "`pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" }, - "fastCreateSnatPoolAddresses": { + "securityLogProfiles": { "type": "array", "items": { "type": "string" }, - "description": "List of address to be used for FAST-Generated SNAT Pool.\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" + "description": "List of security log profiles to be used for FAST application\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" }, - "tlsServerProfileName": { - "type": "string", - "description": "Name of an existing TLS server profile.\n" + "tlsClientProfile": { + "$ref": "#/types/f5bigip:index/FastHttpsAppTlsClientProfile:FastHttpsAppTlsClientProfile", + "description": "`tls_client_profile` block takes input for FAST-Generated TLS client Profile.\nSee TLS Client Profile below for more details.\n" + }, + "tlsServerProfile": { + "$ref": "#/types/f5bigip:index/FastHttpsAppTlsServerProfile:FastHttpsAppTlsServerProfile", + "description": "`tls_server_profile` block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n" }, "virtualServer": { "$ref": "#/types/f5bigip:index/FastHttpsAppVirtualServer:FastHttpsAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` options to be used for virtual server.\nSee virtual server below for more details.\n" + }, + "wafSecurityPolicy": { + "$ref": "#/types/f5bigip:index/FastHttpsAppWafSecurityPolicy:FastHttpsAppWafSecurityPolicy", + "description": "`waf_security_policy` block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n" } }, "required": [ "application", + "fastHttpsJson", "tenant" ], "inputProperties": { @@ -5967,60 +6395,90 @@ "description": "Name of the FAST HTTPS application.\n", "willReplaceOnChanges": true }, - "createTlsServerProfile": { - "$ref": "#/types/f5bigip:index/FastHttpsAppCreateTlsServerProfile:FastHttpsAppCreateTlsServerProfile", - "description": "`create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n" - }, - "existPoolName": { - "type": "string", - "description": "Name of an existing BIG-IP pool.\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" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastHttpsAppFastCreateMonitor:FastHttpsAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\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" + }, + "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": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" }, - "fastCreatePoolMembers": { + "poolMembers": { "type": "array", "items": { - "$ref": "#/types/f5bigip:index/FastHttpsAppFastCreatePoolMember:FastHttpsAppFastCreatePoolMember" + "$ref": "#/types/f5bigip:index/FastHttpsAppPoolMember:FastHttpsAppPoolMember" }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "description": "`pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" }, - "fastCreateSnatPoolAddresses": { + "securityLogProfiles": { "type": "array", "items": { "type": "string" }, - "description": "List of address to be used for FAST-Generated SNAT Pool.\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" + "description": "List of security log profiles to be used for FAST application\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 }, - "tlsServerProfileName": { - "type": "string", - "description": "Name of an existing TLS server profile.\n" + "tlsClientProfile": { + "$ref": "#/types/f5bigip:index/FastHttpsAppTlsClientProfile:FastHttpsAppTlsClientProfile", + "description": "`tls_client_profile` block takes input for FAST-Generated TLS client Profile.\nSee TLS Client Profile below for more details.\n" + }, + "tlsServerProfile": { + "$ref": "#/types/f5bigip:index/FastHttpsAppTlsServerProfile:FastHttpsAppTlsServerProfile", + "description": "`tls_server_profile` block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n" }, "virtualServer": { "$ref": "#/types/f5bigip:index/FastHttpsAppVirtualServer:FastHttpsAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` options to be used for virtual server.\nSee virtual server below for more details.\n" + }, + "wafSecurityPolicy": { + "$ref": "#/types/f5bigip:index/FastHttpsAppWafSecurityPolicy:FastHttpsAppWafSecurityPolicy", + "description": "`waf_security_policy` block takes input for FAST-Generated WAF Security Policy.\nSee WAF Security Policy below for more details.\n" } }, "requiredInputs": [ @@ -6035,180 +6493,555 @@ "description": "Name of the FAST HTTPS application.\n", "willReplaceOnChanges": true }, - "createTlsServerProfile": { - "$ref": "#/types/f5bigip:index/FastHttpsAppCreateTlsServerProfile:FastHttpsAppCreateTlsServerProfile", - "description": "`create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n" - }, - "existPoolName": { - "type": "string", - "description": "Name of an existing BIG-IP pool.\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" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastHttpsAppFastCreateMonitor:FastHttpsAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\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" + }, + "fastHttpsJson": { + "type": "string", + "description": "Json payload for FAST HTTPS application.\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": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" }, - "fastCreatePoolMembers": { + "poolMembers": { "type": "array", "items": { - "$ref": "#/types/f5bigip:index/FastHttpsAppFastCreatePoolMember:FastHttpsAppFastCreatePoolMember" + "$ref": "#/types/f5bigip:index/FastHttpsAppPoolMember:FastHttpsAppPoolMember" }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "description": "`pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" }, - "fastCreateSnatPoolAddresses": { + "securityLogProfiles": { "type": "array", "items": { "type": "string" }, - "description": "List of address to be used for FAST-Generated SNAT Pool.\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" + "description": "List of security log profiles to be used for FAST application\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 }, - "tlsServerProfileName": { - "type": "string", - "description": "Name of an existing TLS server profile.\n" + "tlsClientProfile": { + "$ref": "#/types/f5bigip:index/FastHttpsAppTlsClientProfile:FastHttpsAppTlsClientProfile", + "description": "`tls_client_profile` block takes input for FAST-Generated TLS client Profile.\nSee TLS Client Profile below for more details.\n" + }, + "tlsServerProfile": { + "$ref": "#/types/f5bigip:index/FastHttpsAppTlsServerProfile:FastHttpsAppTlsServerProfile", + "description": "`tls_server_profile` block takes input for FAST-Generated TLS Server Profile.\nSee TLS Server Profile below for more details.\n" }, "virtualServer": { "$ref": "#/types/f5bigip:index/FastHttpsAppVirtualServer:FastHttpsAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` options to be used for virtual server.\nSee virtual server below for more details.\n" + }, + "wafSecurityPolicy": { + "$ref": "#/types/f5bigip:index/FastHttpsAppWafSecurityPolicy:FastHttpsAppWafSecurityPolicy", + "description": "`waf_security_policy` 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": "`f5bigip.FastTcpApp` This resource will create and manage FAST TCP applications on BIG-IP from provided JSON declaration. \n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 fastCreatePoolMembers: [{\n addresses: [\n \"10.11.34.65\",\n \"56.43.23.76\",\n ],\n connectionLimit: 4,\n port: 443,\n priorityGroup: 1,\n shareNodes: true,\n }],\n tenant: \"tcp_app_tenant\",\n virtualServer: {\n ip: \"11.12.16.30\",\n port: 443,\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 fast_create_pool_members=[f5bigip.FastTcpAppFastCreatePoolMemberArgs(\n addresses=[\n \"10.11.34.65\",\n \"56.43.23.76\",\n ],\n connection_limit=4,\n port=443,\n priority_group=1,\n share_nodes=True,\n )],\n tenant=\"tcp_app_tenant\",\n virtual_server=f5bigip.FastTcpAppVirtualServerArgs(\n ip=\"11.12.16.30\",\n port=443,\n ))\n```\n```csharp\nusing System.Collections.Generic;\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 FastCreatePoolMembers = new[]\n {\n new F5BigIP.Inputs.FastTcpAppFastCreatePoolMemberArgs\n {\n Addresses = new[]\n {\n \"10.11.34.65\",\n \"56.43.23.76\",\n },\n ConnectionLimit = 4,\n Port = 443,\n PriorityGroup = 1,\n ShareNodes = true,\n },\n },\n Tenant = \"tcp_app_tenant\",\n VirtualServer = new F5BigIP.Inputs.FastTcpAppVirtualServerArgs\n {\n Ip = \"11.12.16.30\",\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.NewFastTcpApp(ctx, \"fast-tcp-app\", \u0026f5bigip.FastTcpAppArgs{\n\t\t\tApplication: pulumi.String(\"tcp_app_2\"),\n\t\t\tFastCreatePoolMembers: FastTcpAppFastCreatePoolMemberArray{\n\t\t\t\t\u0026FastTcpAppFastCreatePoolMemberArgs{\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\tConnectionLimit: pulumi.Int(4),\n\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\tPriorityGroup: pulumi.Int(1),\n\t\t\t\t\tShareNodes: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTenant: pulumi.String(\"tcp_app_tenant\"),\n\t\t\tVirtualServer: \u0026FastTcpAppVirtualServerArgs{\n\t\t\t\tIp: pulumi.String(\"11.12.16.30\"),\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.FastTcpApp;\nimport com.pulumi.f5bigip.FastTcpAppArgs;\nimport com.pulumi.f5bigip.inputs.FastTcpAppFastCreatePoolMemberArgs;\nimport com.pulumi.f5bigip.inputs.FastTcpAppVirtualServerArgs;\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 .fastCreatePoolMembers(FastTcpAppFastCreatePoolMemberArgs.builder()\n .addresses( \n \"10.11.34.65\",\n \"56.43.23.76\")\n .connectionLimit(4)\n .port(443)\n .priorityGroup(1)\n .shareNodes(true)\n .build())\n .tenant(\"tcp_app_tenant\")\n .virtualServer(FastTcpAppVirtualServerArgs.builder()\n .ip(\"11.12.16.30\")\n .port(443)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fast-tcp-app:\n type: f5bigip:FastTcpApp\n properties:\n application: tcp_app_2\n fastCreatePoolMembers:\n - addresses:\n - 10.11.34.65\n - 56.43.23.76\n connectionLimit: 4\n port: 443\n priorityGroup: 1\n shareNodes: true\n tenant: tcp_app_tenant\n virtualServer:\n ip: 11.12.16.30\n port: 443\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.FastTcpApp` This resource will create and manage FAST TCP applications on BIG-IP from provided JSON declaration. \n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 poolMembers: [{\n addresses: [\n \"10.11.34.65\",\n \"56.43.23.76\",\n ],\n connectionLimit: 4,\n port: 443,\n priorityGroup: 1,\n shareNodes: true,\n }],\n tenant: \"tcp_app_tenant\",\n virtualServer: {\n ip: \"11.12.16.30\",\n port: 443,\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 pool_members=[f5bigip.FastTcpAppPoolMemberArgs(\n addresses=[\n \"10.11.34.65\",\n \"56.43.23.76\",\n ],\n connection_limit=4,\n port=443,\n priority_group=1,\n share_nodes=True,\n )],\n tenant=\"tcp_app_tenant\",\n virtual_server=f5bigip.FastTcpAppVirtualServerArgs(\n ip=\"11.12.16.30\",\n port=443,\n ))\n```\n```csharp\nusing System.Collections.Generic;\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 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 ConnectionLimit = 4,\n Port = 443,\n PriorityGroup = 1,\n ShareNodes = true,\n },\n },\n Tenant = \"tcp_app_tenant\",\n VirtualServer = new F5BigIP.Inputs.FastTcpAppVirtualServerArgs\n {\n Ip = \"11.12.16.30\",\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.NewFastTcpApp(ctx, \"fast-tcp-app\", \u0026f5bigip.FastTcpAppArgs{\n\t\t\tApplication: pulumi.String(\"tcp_app_2\"),\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\tConnectionLimit: pulumi.Int(4),\n\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\tPriorityGroup: pulumi.Int(1),\n\t\t\t\t\tShareNodes: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTenant: pulumi.String(\"tcp_app_tenant\"),\n\t\t\tVirtualServer: \u0026f5bigip.FastTcpAppVirtualServerArgs{\n\t\t\t\tIp: pulumi.String(\"11.12.16.30\"),\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.FastTcpApp;\nimport com.pulumi.f5bigip.FastTcpAppArgs;\nimport com.pulumi.f5bigip.inputs.FastTcpAppPoolMemberArgs;\nimport com.pulumi.f5bigip.inputs.FastTcpAppVirtualServerArgs;\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 .poolMembers(FastTcpAppPoolMemberArgs.builder()\n .addresses( \n \"10.11.34.65\",\n \"56.43.23.76\")\n .connectionLimit(4)\n .port(443)\n .priorityGroup(1)\n .shareNodes(true)\n .build())\n .tenant(\"tcp_app_tenant\")\n .virtualServer(FastTcpAppVirtualServerArgs.builder()\n .ip(\"11.12.16.30\")\n .port(443)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fast-tcp-app:\n type: f5bigip:FastTcpApp\n properties:\n application: tcp_app_2\n poolMembers:\n - addresses:\n - 10.11.34.65\n - 56.43.23.76\n connectionLimit: 4\n port: 443\n priorityGroup: 1\n shareNodes: true\n tenant: tcp_app_tenant\n virtualServer:\n ip: 11.12.16.30\n port: 443\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "application": { "type": "string", "description": "Name of the FAST TCP application.\n" }, - "existPoolName": { + "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" + }, + "fastTcpJson": { + "type": "string", + "description": "Json payload for FAST TCP application.\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": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" + }, + "poolMembers": { + "type": "array", + "items": { + "$ref": "#/types/f5bigip:index/FastTcpAppPoolMember:FastTcpAppPoolMember" + }, + "description": "`pool_members` 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": "`virtual_server` block will provide `ip` and `port` 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" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastTcpAppFastCreateMonitor:FastTcpAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\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" }, - "fastCreatePoolMembers": { + "monitor": { + "$ref": "#/types/f5bigip:index/FastTcpAppMonitor:FastTcpAppMonitor", + "description": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" + }, + "poolMembers": { "type": "array", "items": { - "$ref": "#/types/f5bigip:index/FastTcpAppFastCreatePoolMember:FastTcpAppFastCreatePoolMember" + "$ref": "#/types/f5bigip:index/FastTcpAppPoolMember:FastTcpAppPoolMember" }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "description": "`pool_members` 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" }, - "fastCreateSnatPoolAddresses": { + "snatPoolAddresses": { "type": "array", "items": { "type": "string" }, "description": "List of address to be used for FAST-Generated SNAT Pool.\n" }, - "fastTcpJson": { + "tenant": { "type": "string", - "description": "Json payload for FAST TCP application.\n" + "description": "Name of the FAST TCP application tenant.\n", + "willReplaceOnChanges": true + }, + "virtualServer": { + "$ref": "#/types/f5bigip:index/FastTcpAppVirtualServer:FastTcpAppVirtualServer", + "description": "`virtual_server` block will provide `ip` and `port` 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" + }, + "fastTcpJson": { + "type": "string", + "description": "Json payload for FAST TCP application.\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": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" + }, + "poolMembers": { + "type": "array", + "items": { + "$ref": "#/types/f5bigip:index/FastTcpAppPoolMember:FastTcpAppPoolMember" + }, + "description": "`pool_members` 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": "`virtual_server` block will provide `ip` and `port` options to be used for virtual server.\nSee virtual server below for more details.\n" + } + }, + "type": "object" + } + }, + "f5bigip:index/fastTemplate:FastTemplate": { + "description": "`f5bigip.FastTemplate` 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", + "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": "`f5bigip.FastUdpApp` This resource will create and manage FAST UDP applications on BIG-IP from provided JSON declaration. \n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 poolMembers: [{\n addresses: [\n \"10.11.34.65\",\n \"56.43.23.76\",\n ],\n connectionLimit: 4,\n port: 443,\n priorityGroup: 1,\n shareNodes: true,\n }],\n tenant: \"udp_app_tenant\",\n virtualServer: {\n ip: \"11.12.16.30\",\n port: 443,\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 pool_members=[f5bigip.FastUdpAppPoolMemberArgs(\n addresses=[\n \"10.11.34.65\",\n \"56.43.23.76\",\n ],\n connection_limit=4,\n port=443,\n priority_group=1,\n share_nodes=True,\n )],\n tenant=\"udp_app_tenant\",\n virtual_server=f5bigip.FastUdpAppVirtualServerArgs(\n ip=\"11.12.16.30\",\n port=443,\n ))\n```\n```csharp\nusing System.Collections.Generic;\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 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 ConnectionLimit = 4,\n Port = 443,\n PriorityGroup = 1,\n ShareNodes = true,\n },\n },\n Tenant = \"udp_app_tenant\",\n VirtualServer = new F5BigIP.Inputs.FastUdpAppVirtualServerArgs\n {\n Ip = \"11.12.16.30\",\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.NewFastUdpApp(ctx, \"fast-udp-app\", \u0026f5bigip.FastUdpAppArgs{\n\t\t\tApplication: pulumi.String(\"udp_app_2\"),\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\tConnectionLimit: pulumi.Int(4),\n\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t\tPriorityGroup: pulumi.Int(1),\n\t\t\t\t\tShareNodes: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTenant: pulumi.String(\"udp_app_tenant\"),\n\t\t\tVirtualServer: \u0026f5bigip.FastUdpAppVirtualServerArgs{\n\t\t\t\tIp: pulumi.String(\"11.12.16.30\"),\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.FastUdpApp;\nimport com.pulumi.f5bigip.FastUdpAppArgs;\nimport com.pulumi.f5bigip.inputs.FastUdpAppPoolMemberArgs;\nimport com.pulumi.f5bigip.inputs.FastUdpAppVirtualServerArgs;\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 .poolMembers(FastUdpAppPoolMemberArgs.builder()\n .addresses( \n \"10.11.34.65\",\n \"56.43.23.76\")\n .connectionLimit(4)\n .port(443)\n .priorityGroup(1)\n .shareNodes(true)\n .build())\n .tenant(\"udp_app_tenant\")\n .virtualServer(FastUdpAppVirtualServerArgs.builder()\n .ip(\"11.12.16.30\")\n .port(443)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fast-udp-app:\n type: f5bigip:FastUdpApp\n properties:\n application: udp_app_2\n poolMembers:\n - addresses:\n - 10.11.34.65\n - 56.43.23.76\n connectionLimit: 4\n port: 443\n priorityGroup: 1\n shareNodes: true\n tenant: udp_app_tenant\n virtualServer:\n ip: 11.12.16.30\n port: 443\n```\n{{% /example %}}\n{{% /examples %}}", + "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.\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": "`monitor` 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": "`pool_members` 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 TCP application tenant.\n" + "description": "Name of the FAST UDP application tenant.\n" }, "virtualServer": { - "$ref": "#/types/f5bigip:index/FastTcpAppVirtualServer:FastTcpAppVirtualServer", + "$ref": "#/types/f5bigip:index/FastUdpAppVirtualServer:FastUdpAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` 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", - "fastTcpJson", + "fastUdpJson", "tenant" ], "inputProperties": { "application": { "type": "string", - "description": "Name of the FAST TCP application.\n", + "description": "Name of the FAST UDP application.\n", "willReplaceOnChanges": true }, - "existPoolName": { + "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": "Name of an existing BIG-IP pool.\n" + "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" }, - "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" + "monitor": { + "$ref": "#/types/f5bigip:index/FastUdpAppMonitor:FastUdpAppMonitor", + "description": "`monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" }, - "existingSnatPool": { + "persistenceProfile": { "type": "string", - "description": "Name of an existing BIG-IP SNAT pool.\n" + "description": "Name of an existing BIG-IP persistence profile to be used.\n" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastTcpAppFastCreateMonitor:FastTcpAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" + "persistenceType": { + "type": "string", + "description": "Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles.\n" }, - "fastCreatePoolMembers": { + "poolMembers": { "type": "array", "items": { - "$ref": "#/types/f5bigip:index/FastTcpAppFastCreatePoolMember:FastTcpAppFastCreatePoolMember" + "$ref": "#/types/f5bigip:index/FastUdpAppPoolMember:FastUdpAppPoolMember" }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "description": "`pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" }, - "fastCreateSnatPoolAddresses": { + "securityLogProfiles": { "type": "array", "items": { "type": "string" }, - "description": "List of address to be used for FAST-Generated SNAT Pool.\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" + "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 TCP application tenant.\n", + "description": "Name of the FAST UDP application tenant.\n", "willReplaceOnChanges": true }, "virtualServer": { - "$ref": "#/types/f5bigip:index/FastTcpAppVirtualServer:FastTcpAppVirtualServer", + "$ref": "#/types/f5bigip:index/FastUdpAppVirtualServer:FastUdpAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` 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": [ @@ -6216,124 +7049,111 @@ "tenant" ], "stateInputs": { - "description": "Input properties used for looking up and filtering FastTcpApp resources.\n", + "description": "Input properties used for looking up and filtering FastUdpApp resources.\n", "properties": { "application": { "type": "string", - "description": "Name of the FAST TCP application.\n", + "description": "Name of the FAST UDP application.\n", "willReplaceOnChanges": true }, - "existPoolName": { + "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" }, - "existingMonitor": { + "existingProfile": { "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" + "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" }, - "fastCreateMonitor": { - "$ref": "#/types/f5bigip:index/FastTcpAppFastCreateMonitor:FastTcpAppFastCreateMonitor", - "description": "`fast_create_monitor` block takes input for FAST-Generated Pool Monitor.\nSee Pool Monitor below for more details.\n" + "fallbackPersistence": { + "type": "string", + "description": "Type of fallback persistence record to be created for each new client connection.\n" }, - "fastCreatePoolMembers": { - "type": "array", - "items": { - "$ref": "#/types/f5bigip:index/FastTcpAppFastCreatePoolMember:FastTcpAppFastCreatePoolMember" - }, - "description": "`fast_create_pool_members` block takes input for FAST-Generated Pool.\nSee Pool Members below for more details.\n" + "fastUdpJson": { + "type": "string", + "description": "Json payload for FAST UDP application.\n" }, - "fastCreateSnatPoolAddresses": { + "irules": { "type": "array", "items": { "type": "string" }, - "description": "List of address to be used for FAST-Generated SNAT Pool.\n" - }, - "fastTcpJson": { - "type": "string", - "description": "Json payload for FAST TCP application.\n" + "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": "`monitor` 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": "`pool_members` 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 TCP application tenant.\n", + "description": "Name of the FAST UDP application tenant.\n", "willReplaceOnChanges": true }, "virtualServer": { - "$ref": "#/types/f5bigip:index/FastTcpAppVirtualServer:FastTcpAppVirtualServer", + "$ref": "#/types/f5bigip:index/FastUdpAppVirtualServer:FastUdpAppVirtualServer", "description": "`virtual_server` block will provide `ip` and `port` options to be used for virtual server.\nSee virtual server below for more details.\n" - } - }, - "type": "object" - } - }, - "f5bigip:index/fastTemplate:FastTemplate": { - "description": "`f5bigip.FastTemplate` 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", - "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 + "vlansAlloweds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Names of existing VLANs to allow.\n" }, - "source": { - "type": "string", - "description": "Path to the zip archive file containing FAST template set on Local Disk\n", - "willReplaceOnChanges": true + "vlansRejecteds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Names of existing VLANs to reject.\n" } }, "type": "object" @@ -6516,7 +7336,7 @@ } }, "f5bigip:index/ipsecProfile:IpsecProfile": { - "description": "`f5bigip.IpsecProfile` Manage IPSec Profiles on a BIG-IP\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst azurevWANProfile = new f5bigip.IpsecProfile(\"azurevWAN_profile\", {\n description: \"mytestipsecprofile\",\n name: \"/Common/Mytestipsecprofile\",\n trafficSelector: \"test-trafficselector\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nazurev_wan_profile = f5bigip.IpsecProfile(\"azurevWANProfile\",\n description=\"mytestipsecprofile\",\n name=\"/Common/Mytestipsecprofile\",\n traffic_selector=\"test-trafficselector\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azurevWANProfile = new F5BigIP.IpsecProfile(\"azurevWANProfile\", new()\n {\n Description = \"mytestipsecprofile\",\n Name = \"/Common/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, \"azurevWANProfile\", \u0026f5bigip.IpsecProfileArgs{\n\t\t\tDescription: pulumi.String(\"mytestipsecprofile\"),\n\t\t\tName: pulumi.String(\"/Common/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 .description(\"mytestipsecprofile\")\n .name(\"/Common/Mytestipsecprofile\")\n .trafficSelector(\"test-trafficselector\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n azurevWANProfile:\n type: f5bigip:IpsecProfile\n properties:\n description: mytestipsecprofile\n name: /Common/Mytestipsecprofile\n trafficSelector: test-trafficselector\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.IpsecProfile` Manage IPSec Profiles on a BIG-IP\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst azurevWANProfile = new f5bigip.IpsecProfile(\"azurevWANProfile\", {\n description: \"mytestipsecprofile\",\n name: \"/Common/Mytestipsecprofile\",\n trafficSelector: \"test-trafficselector\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nazurev_wan_profile = f5bigip.IpsecProfile(\"azurevWANProfile\",\n description=\"mytestipsecprofile\",\n name=\"/Common/Mytestipsecprofile\",\n traffic_selector=\"test-trafficselector\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azurevWANProfile = new F5BigIP.IpsecProfile(\"azurevWANProfile\", new()\n {\n Description = \"mytestipsecprofile\",\n Name = \"/Common/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, \"azurevWANProfile\", \u0026f5bigip.IpsecProfileArgs{\n\t\t\tDescription: pulumi.String(\"mytestipsecprofile\"),\n\t\t\tName: pulumi.String(\"/Common/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 .description(\"mytestipsecprofile\")\n .name(\"/Common/Mytestipsecprofile\")\n .trafficSelector(\"test-trafficselector\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n azurevWANProfile:\n type: f5bigip:IpsecProfile\n properties:\n description: mytestipsecprofile\n name: /Common/Mytestipsecprofile\n trafficSelector: test-trafficselector\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", @@ -6587,7 +7407,7 @@ } }, "f5bigip:index/netIkePeer:NetIkePeer": { - "description": "`f5bigip.NetIkePeer` Manages a ike_peer configuration\n\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst example1 = new f5bigip.NetIkePeer(\"example1\", {\n localAddress: \"192.16.81.240\",\n name: \"example1\",\n profile: \"/Common/dslite\",\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 .localAddress(\"192.16.81.240\")\n .name(\"example1\")\n .profile(\"/Common/dslite\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: f5bigip:NetIkePeer\n properties:\n localAddress: 192.16.81.240\n name: example1\n profile: /Common/dslite\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.NetIkePeer` Manages a ike_peer configuration\n\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\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 .localAddress(\"192.16.81.240\")\n .name(\"example1\")\n .profile(\"/Common/dslite\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: f5bigip:NetIkePeer\n properties:\n localAddress: 192.16.81.240\n name: example1\n profile: /Common/dslite\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "appService": { "type": "string", @@ -7447,7 +8267,7 @@ } }, "f5bigip:index/wafPolicy:WafPolicy": { - "description": "`f5bigip.WafPolicy` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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)\nu_rl = f5bigip.ssl.get_waf_entity_url(name=\"URL1\",\n protocol=\"http\")\nu_rl2 = 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 u_rl.json,\n u_rl2.json,\n ])\n```\n```csharp\nusing System.Collections.Generic;\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.applyValue(getWafEntityParameterResult -\u003e getWafEntityParameterResult.json()),\n param2.applyValue(getWafEntityParameterResult -\u003e getWafEntityParameterResult.json()))\n .urls( \n uRL.applyValue(getWafEntityUrlResult -\u003e getWafEntityUrlResult.json()),\n uRL2.applyValue(getWafEntityUrlResult -\u003e getWafEntityUrlResult.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{{% /example %}}\n{{% /examples %}}\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 `id`. e.g\n\n```sh\n $ pulumi import f5bigip:index/wafPolicy:WafPolicy example \u003cid\u003e\n```\n\n ", + "description": "`f5bigip.WafPolicy` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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)\nu_rl = f5bigip.ssl.get_waf_entity_url(name=\"URL1\",\n protocol=\"http\")\nu_rl2 = 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 u_rl.json,\n u_rl2.json,\n ])\n```\n```csharp\nusing System.Collections.Generic;\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\t*pulumi.String(param1.Json),\n\t\t\t\t*pulumi.String(param2.Json),\n\t\t\t},\n\t\t\tUrls: pulumi.StringArray{\n\t\t\t\t*pulumi.String(uRL.Json),\n\t\t\t\t*pulumi.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.applyValue(getWafEntityParameterResult -\u003e getWafEntityParameterResult.json()),\n param2.applyValue(getWafEntityParameterResult -\u003e getWafEntityParameterResult.json()))\n .urls( \n uRL.applyValue(getWafEntityUrlResult -\u003e getWafEntityUrlResult.json()),\n uRL2.applyValue(getWafEntityUrlResult -\u003e getWafEntityUrlResult.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{{% /example %}}\n{{% /examples %}}\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 `id`. e.g\n\n```sh\n $ pulumi import f5bigip:index/wafPolicy:WafPolicy example \u003cid\u003e\n```\n\n ", "properties": { "applicationLanguage": { "type": "string", @@ -7658,10 +8478,6 @@ }, "description": "`policy_builder` block will provide `learning_mode` 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" @@ -8004,7 +8820,7 @@ } }, "f5bigip:ltm/monitor:Monitor": { - "description": "`f5bigip.ltm.Monitor` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst monitor = new f5bigip.ltm.Monitor(\"monitor\", {\n destination: \"1.2.3.4:1234\",\n interval: 998,\n name: \"/Common/terraform_monitor\",\n parent: \"/Common/http\",\n send: \"GET /some/path\r\\n\",\n timeout: 999,\n});\nconst test_https_monitor = new f5bigip.ltm.Monitor(\"test-https-monitor\", {\n interval: 999,\n name: \"/Common/terraform_monitor\",\n parent: \"/Common/http\",\n send: \"GET /some/path\r\\n\",\n sslProfile: \"/Common/serverssl\",\n timeout: 1000,\n});\nconst test_ftp_monitor = new f5bigip.ltm.Monitor(\"test-ftp-monitor\", {\n destination: \"*:8008\",\n filename: \"somefile\",\n interval: 5,\n name: \"/Common/ftp-test\",\n parent: \"/Common/ftp\",\n timeUntilUp: 0,\n timeout: 16,\n});\nconst test_postgresql_monitor = new f5bigip.ltm.Monitor(\"test-postgresql-monitor\", {\n interval: 5,\n name: \"/Common/test-postgresql-monitor\",\n parent: \"/Common/postgresql\",\n password: \"abcd1234\",\n receive: \"Test\",\n send: \"SELECT 'Test';\",\n timeout: 16,\n username: \"abcd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmonitor = f5bigip.ltm.Monitor(\"monitor\",\n destination=\"1.2.3.4:1234\",\n interval=998,\n name=\"/Common/terraform_monitor\",\n parent=\"/Common/http\",\n send=\"\"\"GET /some/path\r\n\n\"\"\",\n timeout=999)\ntest_https_monitor = f5bigip.ltm.Monitor(\"test-https-monitor\",\n interval=999,\n name=\"/Common/terraform_monitor\",\n parent=\"/Common/http\",\n send=\"\"\"GET /some/path\r\n\n\"\"\",\n ssl_profile=\"/Common/serverssl\",\n timeout=1000)\ntest_ftp_monitor = f5bigip.ltm.Monitor(\"test-ftp-monitor\",\n destination=\"*:8008\",\n filename=\"somefile\",\n interval=5,\n name=\"/Common/ftp-test\",\n parent=\"/Common/ftp\",\n time_until_up=0,\n timeout=16)\ntest_postgresql_monitor = f5bigip.ltm.Monitor(\"test-postgresql-monitor\",\n interval=5,\n name=\"/Common/test-postgresql-monitor\",\n parent=\"/Common/postgresql\",\n password=\"abcd1234\",\n receive=\"Test\",\n send=\"SELECT 'Test';\",\n timeout=16,\n username=\"abcd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new F5BigIP.Ltm.Monitor(\"monitor\", new()\n {\n Destination = \"1.2.3.4:1234\",\n Interval = 998,\n Name = \"/Common/terraform_monitor\",\n Parent = \"/Common/http\",\n Send = @\"GET /some/path\r\n\n\",\n Timeout = 999,\n });\n\n var test_https_monitor = new F5BigIP.Ltm.Monitor(\"test-https-monitor\", new()\n {\n Interval = 999,\n Name = \"/Common/terraform_monitor\",\n Parent = \"/Common/http\",\n Send = @\"GET /some/path\r\n\n\",\n SslProfile = \"/Common/serverssl\",\n Timeout = 1000,\n });\n\n var test_ftp_monitor = new F5BigIP.Ltm.Monitor(\"test-ftp-monitor\", new()\n {\n Destination = \"*:8008\",\n Filename = \"somefile\",\n Interval = 5,\n Name = \"/Common/ftp-test\",\n Parent = \"/Common/ftp\",\n TimeUntilUp = 0,\n Timeout = 16,\n });\n\n var test_postgresql_monitor = new F5BigIP.Ltm.Monitor(\"test-postgresql-monitor\", new()\n {\n Interval = 5,\n Name = \"/Common/test-postgresql-monitor\",\n Parent = \"/Common/postgresql\",\n Password = \"abcd1234\",\n Receive = \"Test\",\n Send = \"SELECT 'Test';\",\n Timeout = 16,\n Username = \"abcd\",\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\t_, err := ltm.NewMonitor(ctx, \"monitor\", \u0026ltm.MonitorArgs{\n\t\t\tDestination: pulumi.String(\"1.2.3.4:1234\"),\n\t\t\tInterval: pulumi.Int(998),\n\t\t\tName: pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent: pulumi.String(\"/Common/http\"),\n\t\t\tSend: pulumi.String(fmt.Sprintf(\"GET /some/path\r\\n\\n\")),\n\t\t\tTimeout: pulumi.Int(999),\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\tInterval: pulumi.Int(999),\n\t\t\tName: pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent: pulumi.String(\"/Common/http\"),\n\t\t\tSend: pulumi.String(fmt.Sprintf(\"GET /some/path\r\\n\\n\")),\n\t\t\tSslProfile: pulumi.String(\"/Common/serverssl\"),\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\tDestination: pulumi.String(\"*:8008\"),\n\t\t\tFilename: pulumi.String(\"somefile\"),\n\t\t\tInterval: pulumi.Int(5),\n\t\t\tName: pulumi.String(\"/Common/ftp-test\"),\n\t\t\tParent: pulumi.String(\"/Common/ftp\"),\n\t\t\tTimeUntilUp: pulumi.Int(0),\n\t\t\tTimeout: pulumi.Int(16),\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\tInterval: pulumi.Int(5),\n\t\t\tName: pulumi.String(\"/Common/test-postgresql-monitor\"),\n\t\t\tParent: pulumi.String(\"/Common/postgresql\"),\n\t\t\tPassword: pulumi.String(\"abcd1234\"),\n\t\t\tReceive: pulumi.String(\"Test\"),\n\t\t\tSend: pulumi.String(\"SELECT 'Test';\"),\n\t\t\tTimeout: pulumi.Int(16),\n\t\t\tUsername: pulumi.String(\"abcd\"),\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 .destination(\"1.2.3.4:1234\")\n .interval(\"998\")\n .name(\"/Common/terraform_monitor\")\n .parent(\"/Common/http\")\n .send(\"\"\"\nGET /some/path\r\n\n \"\"\")\n .timeout(\"999\")\n .build());\n\n var test_https_monitor = new Monitor(\"test-https-monitor\", MonitorArgs.builder() \n .interval(\"999\")\n .name(\"/Common/terraform_monitor\")\n .parent(\"/Common/http\")\n .send(\"\"\"\nGET /some/path\r\n\n \"\"\")\n .sslProfile(\"/Common/serverssl\")\n .timeout(\"1000\")\n .build());\n\n var test_ftp_monitor = new Monitor(\"test-ftp-monitor\", MonitorArgs.builder() \n .destination(\"*:8008\")\n .filename(\"somefile\")\n .interval(5)\n .name(\"/Common/ftp-test\")\n .parent(\"/Common/ftp\")\n .timeUntilUp(0)\n .timeout(16)\n .build());\n\n var test_postgresql_monitor = new Monitor(\"test-postgresql-monitor\", MonitorArgs.builder() \n .interval(5)\n .name(\"/Common/test-postgresql-monitor\")\n .parent(\"/Common/postgresql\")\n .password(\"abcd1234\")\n .receive(\"Test\")\n .send(\"SELECT 'Test';\")\n .timeout(16)\n .username(\"abcd\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: f5bigip:ltm:Monitor\n properties:\n destination: 1.2.3.4:1234\n interval: 998\n name: /Common/terraform_monitor\n parent: /Common/http\n send: \"GET /some/path\\r\\n\\n\"\n timeout: 999\n test-https-monitor:\n type: f5bigip:ltm:Monitor\n properties:\n interval: 999\n name: /Common/terraform_monitor\n parent: /Common/http\n send: \"GET /some/path\\r\\n\\n\"\n sslProfile: /Common/serverssl\n timeout: 1000\n test-ftp-monitor:\n type: f5bigip:ltm:Monitor\n properties:\n destination: '*:8008'\n filename: somefile\n interval: 5\n name: /Common/ftp-test\n parent: /Common/ftp\n timeUntilUp: 0\n timeout: 16\n test-postgresql-monitor:\n type: f5bigip:ltm:Monitor\n properties:\n interval: 5\n name: /Common/test-postgresql-monitor\n parent: /Common/postgresql\n password: abcd1234\n receive: Test\n send: SELECT 'Test';\n timeout: 16\n username: abcd\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ltm.Monitor` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst monitor = new f5bigip.ltm.Monitor(\"monitor\", {\n destination: \"1.2.3.4:1234\",\n interval: 998,\n name: \"/Common/terraform_monitor\",\n parent: \"/Common/http\",\n send: `GET /some/path\r\n\n`,\n timeout: 999,\n});\nconst test_https_monitor = new f5bigip.ltm.Monitor(\"test-https-monitor\", {\n interval: 999,\n name: \"/Common/terraform_monitor\",\n parent: \"/Common/http\",\n send: `GET /some/path\r\n\n`,\n sslProfile: \"/Common/serverssl\",\n timeout: 1000,\n});\nconst test_ftp_monitor = new f5bigip.ltm.Monitor(\"test-ftp-monitor\", {\n destination: \"*:8008\",\n filename: \"somefile\",\n interval: 5,\n name: \"/Common/ftp-test\",\n parent: \"/Common/ftp\",\n timeUntilUp: 0,\n timeout: 16,\n});\nconst test_postgresql_monitor = new f5bigip.ltm.Monitor(\"test-postgresql-monitor\", {\n interval: 5,\n name: \"/Common/test-postgresql-monitor\",\n parent: \"/Common/postgresql\",\n password: \"abcd1234\",\n receive: \"Test\",\n send: \"SELECT 'Test';\",\n timeout: 16,\n username: \"abcd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nmonitor = f5bigip.ltm.Monitor(\"monitor\",\n destination=\"1.2.3.4:1234\",\n interval=998,\n name=\"/Common/terraform_monitor\",\n parent=\"/Common/http\",\n send=\"\"\"GET /some/path\r\n\n\"\"\",\n timeout=999)\ntest_https_monitor = f5bigip.ltm.Monitor(\"test-https-monitor\",\n interval=999,\n name=\"/Common/terraform_monitor\",\n parent=\"/Common/http\",\n send=\"\"\"GET /some/path\r\n\n\"\"\",\n ssl_profile=\"/Common/serverssl\",\n timeout=1000)\ntest_ftp_monitor = f5bigip.ltm.Monitor(\"test-ftp-monitor\",\n destination=\"*:8008\",\n filename=\"somefile\",\n interval=5,\n name=\"/Common/ftp-test\",\n parent=\"/Common/ftp\",\n time_until_up=0,\n timeout=16)\ntest_postgresql_monitor = f5bigip.ltm.Monitor(\"test-postgresql-monitor\",\n interval=5,\n name=\"/Common/test-postgresql-monitor\",\n parent=\"/Common/postgresql\",\n password=\"abcd1234\",\n receive=\"Test\",\n send=\"SELECT 'Test';\",\n timeout=16,\n username=\"abcd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new F5BigIP.Ltm.Monitor(\"monitor\", new()\n {\n Destination = \"1.2.3.4:1234\",\n Interval = 998,\n Name = \"/Common/terraform_monitor\",\n Parent = \"/Common/http\",\n Send = @\"GET /some/path\r\n\n\",\n Timeout = 999,\n });\n\n var test_https_monitor = new F5BigIP.Ltm.Monitor(\"test-https-monitor\", new()\n {\n Interval = 999,\n Name = \"/Common/terraform_monitor\",\n Parent = \"/Common/http\",\n Send = @\"GET /some/path\r\n\n\",\n SslProfile = \"/Common/serverssl\",\n Timeout = 1000,\n });\n\n var test_ftp_monitor = new F5BigIP.Ltm.Monitor(\"test-ftp-monitor\", new()\n {\n Destination = \"*:8008\",\n Filename = \"somefile\",\n Interval = 5,\n Name = \"/Common/ftp-test\",\n Parent = \"/Common/ftp\",\n TimeUntilUp = 0,\n Timeout = 16,\n });\n\n var test_postgresql_monitor = new F5BigIP.Ltm.Monitor(\"test-postgresql-monitor\", new()\n {\n Interval = 5,\n Name = \"/Common/test-postgresql-monitor\",\n Parent = \"/Common/postgresql\",\n Password = \"abcd1234\",\n Receive = \"Test\",\n Send = \"SELECT 'Test';\",\n Timeout = 16,\n Username = \"abcd\",\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\t_, err := ltm.NewMonitor(ctx, \"monitor\", \u0026ltm.MonitorArgs{\n\t\t\tDestination: pulumi.String(\"1.2.3.4:1234\"),\n\t\t\tInterval: pulumi.Int(998),\n\t\t\tName: pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent: pulumi.String(\"/Common/http\"),\n\t\t\tSend: pulumi.String(fmt.Sprintf(\"GET /some/path\r\\n\\n\")),\n\t\t\tTimeout: pulumi.Int(999),\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\tInterval: pulumi.Int(999),\n\t\t\tName: pulumi.String(\"/Common/terraform_monitor\"),\n\t\t\tParent: pulumi.String(\"/Common/http\"),\n\t\t\tSend: pulumi.String(fmt.Sprintf(\"GET /some/path\r\\n\\n\")),\n\t\t\tSslProfile: pulumi.String(\"/Common/serverssl\"),\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\tDestination: pulumi.String(\"*:8008\"),\n\t\t\tFilename: pulumi.String(\"somefile\"),\n\t\t\tInterval: pulumi.Int(5),\n\t\t\tName: pulumi.String(\"/Common/ftp-test\"),\n\t\t\tParent: pulumi.String(\"/Common/ftp\"),\n\t\t\tTimeUntilUp: pulumi.Int(0),\n\t\t\tTimeout: pulumi.Int(16),\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\tInterval: pulumi.Int(5),\n\t\t\tName: pulumi.String(\"/Common/test-postgresql-monitor\"),\n\t\t\tParent: pulumi.String(\"/Common/postgresql\"),\n\t\t\tPassword: pulumi.String(\"abcd1234\"),\n\t\t\tReceive: pulumi.String(\"Test\"),\n\t\t\tSend: pulumi.String(\"SELECT 'Test';\"),\n\t\t\tTimeout: pulumi.Int(16),\n\t\t\tUsername: pulumi.String(\"abcd\"),\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 .destination(\"1.2.3.4:1234\")\n .interval(\"998\")\n .name(\"/Common/terraform_monitor\")\n .parent(\"/Common/http\")\n .send(\"\"\"\nGET /some/path\r\n\n \"\"\")\n .timeout(\"999\")\n .build());\n\n var test_https_monitor = new Monitor(\"test-https-monitor\", MonitorArgs.builder() \n .interval(\"999\")\n .name(\"/Common/terraform_monitor\")\n .parent(\"/Common/http\")\n .send(\"\"\"\nGET /some/path\r\n\n \"\"\")\n .sslProfile(\"/Common/serverssl\")\n .timeout(\"1000\")\n .build());\n\n var test_ftp_monitor = new Monitor(\"test-ftp-monitor\", MonitorArgs.builder() \n .destination(\"*:8008\")\n .filename(\"somefile\")\n .interval(5)\n .name(\"/Common/ftp-test\")\n .parent(\"/Common/ftp\")\n .timeUntilUp(0)\n .timeout(16)\n .build());\n\n var test_postgresql_monitor = new Monitor(\"test-postgresql-monitor\", MonitorArgs.builder() \n .interval(5)\n .name(\"/Common/test-postgresql-monitor\")\n .parent(\"/Common/postgresql\")\n .password(\"abcd1234\")\n .receive(\"Test\")\n .send(\"SELECT 'Test';\")\n .timeout(16)\n .username(\"abcd\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: f5bigip:ltm:Monitor\n properties:\n destination: 1.2.3.4:1234\n interval: '998'\n name: /Common/terraform_monitor\n parent: /Common/http\n send: \"GET /some/path\\r\\n\\n\"\n timeout: '999'\n test-https-monitor:\n type: f5bigip:ltm:Monitor\n properties:\n interval: '999'\n name: /Common/terraform_monitor\n parent: /Common/http\n send: \"GET /some/path\\r\\n\\n\"\n sslProfile: /Common/serverssl\n timeout: '1000'\n test-ftp-monitor:\n type: f5bigip:ltm:Monitor\n properties:\n destination: '*:8008'\n filename: somefile\n interval: 5\n name: /Common/ftp-test\n parent: /Common/ftp\n timeUntilUp: 0\n timeout: 16\n test-postgresql-monitor:\n type: f5bigip:ltm:Monitor\n properties:\n interval: 5\n name: /Common/test-postgresql-monitor\n parent: /Common/postgresql\n password: abcd1234\n receive: Test\n send: SELECT 'Test';\n timeout: 16\n username: abcd\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "adaptive": { "type": "string", @@ -8056,7 +8872,8 @@ }, "password": { "type": "string", - "description": "Specifies the password if the monitored target requires authentication\n" + "description": "Specifies the password if the monitored target requires authentication\n", + "secret": true }, "receive": { "type": "string", @@ -8169,7 +8986,8 @@ }, "password": { "type": "string", - "description": "Specifies the password if the monitored target requires authentication\n" + "description": "Specifies the password if the monitored target requires authentication\n", + "secret": true }, "receive": { "type": "string", @@ -8271,7 +9089,8 @@ }, "password": { "type": "string", - "description": "Specifies the password if the monitored target requires authentication\n" + "description": "Specifies the password if the monitored target requires authentication\n", + "secret": true }, "receive": { "type": "string", @@ -8318,7 +9137,7 @@ } }, "f5bigip:ltm/node:Node": { - "description": "`f5bigip.ltm.Node` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst node = new f5bigip.ltm.Node(\"node\", {\n address: \"192.168.30.1\",\n connectionLimit: 0,\n description: \"Test-Node\",\n dynamicRatio: 1,\n fqdn: {\n addressFamily: \"ipv4\",\n interval: \"3000\",\n },\n monitor: \"/Common/icmp\",\n name: \"/Common/terraform_node1\",\n rateLimit: \"disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nnode = f5bigip.ltm.Node(\"node\",\n address=\"192.168.30.1\",\n connection_limit=0,\n description=\"Test-Node\",\n dynamic_ratio=1,\n fqdn=f5bigip.ltm.NodeFqdnArgs(\n address_family=\"ipv4\",\n interval=\"3000\",\n ),\n monitor=\"/Common/icmp\",\n name=\"/Common/terraform_node1\",\n rate_limit=\"disabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var node = new F5BigIP.Ltm.Node(\"node\", new()\n {\n Address = \"192.168.30.1\",\n ConnectionLimit = 0,\n Description = \"Test-Node\",\n DynamicRatio = 1,\n Fqdn = new F5BigIP.Ltm.Inputs.NodeFqdnArgs\n {\n AddressFamily = \"ipv4\",\n Interval = \"3000\",\n },\n Monitor = \"/Common/icmp\",\n Name = \"/Common/terraform_node1\",\n RateLimit = \"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.NewNode(ctx, \"node\", \u0026ltm.NodeArgs{\n\t\t\tAddress: pulumi.String(\"192.168.30.1\"),\n\t\t\tConnectionLimit: pulumi.Int(0),\n\t\t\tDescription: pulumi.String(\"Test-Node\"),\n\t\t\tDynamicRatio: pulumi.Int(1),\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\tMonitor: pulumi.String(\"/Common/icmp\"),\n\t\t\tName: pulumi.String(\"/Common/terraform_node1\"),\n\t\t\tRateLimit: 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.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 .address(\"192.168.30.1\")\n .connectionLimit(\"0\")\n .description(\"Test-Node\")\n .dynamicRatio(\"1\")\n .fqdn(NodeFqdnArgs.builder()\n .addressFamily(\"ipv4\")\n .interval(\"3000\")\n .build())\n .monitor(\"/Common/icmp\")\n .name(\"/Common/terraform_node1\")\n .rateLimit(\"disabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n node:\n type: f5bigip:ltm:Node\n properties:\n address: 192.168.30.1\n connectionLimit: 0\n description: Test-Node\n dynamicRatio: 1\n fqdn:\n addressFamily: ipv4\n interval: 3000\n monitor: /Common/icmp\n name: /Common/terraform_node1\n rateLimit: disabled\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ltm.Node` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst node = new f5bigip.ltm.Node(\"node\", {\n address: \"192.168.30.1\",\n connectionLimit: 0,\n description: \"Test-Node\",\n dynamicRatio: 1,\n fqdn: {\n addressFamily: \"ipv4\",\n interval: \"3000\",\n },\n monitor: \"/Common/icmp\",\n name: \"/Common/terraform_node1\",\n rateLimit: \"disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nnode = f5bigip.ltm.Node(\"node\",\n address=\"192.168.30.1\",\n connection_limit=0,\n description=\"Test-Node\",\n dynamic_ratio=1,\n fqdn=f5bigip.ltm.NodeFqdnArgs(\n address_family=\"ipv4\",\n interval=\"3000\",\n ),\n monitor=\"/Common/icmp\",\n name=\"/Common/terraform_node1\",\n rate_limit=\"disabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var node = new F5BigIP.Ltm.Node(\"node\", new()\n {\n Address = \"192.168.30.1\",\n ConnectionLimit = 0,\n Description = \"Test-Node\",\n DynamicRatio = 1,\n Fqdn = new F5BigIP.Ltm.Inputs.NodeFqdnArgs\n {\n AddressFamily = \"ipv4\",\n Interval = \"3000\",\n },\n Monitor = \"/Common/icmp\",\n Name = \"/Common/terraform_node1\",\n RateLimit = \"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.NewNode(ctx, \"node\", \u0026ltm.NodeArgs{\n\t\t\tAddress: pulumi.String(\"192.168.30.1\"),\n\t\t\tConnectionLimit: pulumi.Int(0),\n\t\t\tDescription: pulumi.String(\"Test-Node\"),\n\t\t\tDynamicRatio: pulumi.Int(1),\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\tMonitor: pulumi.String(\"/Common/icmp\"),\n\t\t\tName: pulumi.String(\"/Common/terraform_node1\"),\n\t\t\tRateLimit: 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.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 .address(\"192.168.30.1\")\n .connectionLimit(\"0\")\n .description(\"Test-Node\")\n .dynamicRatio(\"1\")\n .fqdn(NodeFqdnArgs.builder()\n .addressFamily(\"ipv4\")\n .interval(\"3000\")\n .build())\n .monitor(\"/Common/icmp\")\n .name(\"/Common/terraform_node1\")\n .rateLimit(\"disabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n node:\n type: f5bigip:ltm:Node\n properties:\n address: 192.168.30.1\n connectionLimit: '0'\n description: Test-Node\n dynamicRatio: '1'\n fqdn:\n addressFamily: ipv4\n interval: '3000'\n monitor: /Common/icmp\n name: /Common/terraform_node1\n rateLimit: disabled\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "address": { "type": "string", @@ -9201,7 +10020,7 @@ }, "name": { "type": "string", - "description": "Name of the Policy ( policy name should be in full path which is combination of partition and policy name )\n" + "description": "Name of Rule to be applied in policy.\n" }, "publishedCopy": { "type": "string", @@ -9219,7 +10038,7 @@ "items": { "$ref": "#/types/f5bigip:ltm/PolicyRule:PolicyRule" }, - "description": "Rules can be applied using the policy\n" + "description": "List of Rules can be applied using the policy. Each rule is block type with following arguments.\n" }, "strategy": { "type": "string", @@ -9239,7 +10058,7 @@ }, "name": { "type": "string", - "description": "Name of the Policy ( policy name should be in full path which is combination of partition and policy name )\n", + "description": "Name of Rule to be applied in policy.\n", "willReplaceOnChanges": true }, "publishedCopy": { @@ -9259,7 +10078,7 @@ "items": { "$ref": "#/types/f5bigip:ltm/PolicyRule:PolicyRule" }, - "description": "Rules can be applied using the policy\n" + "description": "List of Rules can be applied using the policy. Each rule is block type with following arguments.\n" }, "strategy": { "type": "string", @@ -9281,7 +10100,7 @@ }, "name": { "type": "string", - "description": "Name of the Policy ( policy name should be in full path which is combination of partition and policy name )\n", + "description": "Name of Rule to be applied in policy.\n", "willReplaceOnChanges": true }, "publishedCopy": { @@ -9301,7 +10120,7 @@ "items": { "$ref": "#/types/f5bigip:ltm/PolicyRule:PolicyRule" }, - "description": "Rules can be applied using the policy\n" + "description": "List of Rules can be applied using the policy. Each rule is block type with following arguments.\n" }, "strategy": { "type": "string", @@ -9470,7 +10289,7 @@ } }, "f5bigip:ltm/poolAttachment:PoolAttachment": { - "description": "`f5bigip.ltm.PoolAttachment` Manages nodes membership in pools\n\n{{% examples %}}\n## Example Usage\n\nThere are two ways to use ltm_pool_attachment resource, where we can take node reference from ltm_node or we can specify node directly with ip:port/fqdn:port which will also create node and atach to pool.\n\n{{% example %}}\n### Pool attachment with node directly taking `ip:port` / `fqdn:port`\n\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\r\\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 attachNode = new f5bigip.ltm.PoolAttachment(\"attachNode\", {\n pool: pool.name,\n node: \"1.1.1.1: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\r\\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\")\nattach_node = f5bigip.ltm.PoolAttachment(\"attachNode\",\n pool=pool.name,\n node=\"1.1.1.1:80\")\n```\n```csharp\nusing System.Collections.Generic;\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 attachNode = new F5BigIP.Ltm.PoolAttachment(\"attachNode\", new()\n {\n Pool = pool.Name,\n Node = \"1.1.1.1: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_, err = ltm.NewPoolAttachment(ctx, \"attachNode\", \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\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 var attachNode = new PoolAttachment(\"attachNode\", PoolAttachmentArgs.builder() \n .pool(pool.name())\n .node(\"1.1.1.1: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 attachNode:\n type: f5bigip:ltm:PoolAttachment\n properties:\n pool: ${pool.name}\n node: 1.1.1.1:80\n```\n{{% /example %}}\n{{% example %}}\n### Pool attachment with node referenced from `f5bigip.ltm.Node`\n\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\r\\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(\"attachNode\", {\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\r\\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(\"attachNode\",\n pool=pool.name,\n node=node.name.apply(lambda name: f\"{name}:80\"))\n```\n```csharp\nusing System.Collections.Generic;\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(\"attachNode\", 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, \"attachNode\", \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 properties:\n pool: ${pool.name}\n node: ${node.name}:80\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ltm.PoolAttachment` Manages nodes membership in pools\n\n{{% examples %}}\n## Example Usage\n\nThere are two ways to use ltm_pool_attachment resource, where we can take node reference from ltm_node or we can specify node directly with ip:port/fqdn:port which will also create node and atach to pool.\n\n{{% example %}}\n### Pool attachment with node directly taking `ip:port` / `fqdn:port`\n\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\r\\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 attachNode = new f5bigip.ltm.PoolAttachment(\"attachNode\", {\n pool: pool.name,\n node: \"1.1.1.1: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\r\\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\")\nattach_node = f5bigip.ltm.PoolAttachment(\"attachNode\",\n pool=pool.name,\n node=\"1.1.1.1:80\")\n```\n```csharp\nusing System.Collections.Generic;\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 attachNode = new F5BigIP.Ltm.PoolAttachment(\"attachNode\", new()\n {\n Pool = pool.Name,\n Node = \"1.1.1.1: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_, err = ltm.NewPoolAttachment(ctx, \"attachNode\", \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\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 var attachNode = new PoolAttachment(\"attachNode\", PoolAttachmentArgs.builder() \n .pool(pool.name())\n .node(\"1.1.1.1: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 attachNode:\n type: f5bigip:ltm:PoolAttachment\n properties:\n pool: ${pool.name}\n node: 1.1.1.1:80\n```\n{{% /example %}}\n{{% example %}}\n### Pool attachment with node referenced from `f5bigip.ltm.Node`\n\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\r\\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(\"attachNode\", {\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\r\\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(\"attachNode\",\n pool=pool.name,\n node=node.name.apply(lambda name: f\"{name}:80\"))\n```\n```csharp\nusing System.Collections.Generic;\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(\"attachNode\", 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, \"attachNode\", \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 properties:\n pool: ${pool.name}\n node: ${node.name}:80\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "connectionLimit": { "type": "integer", @@ -9651,11 +10470,9 @@ }, "description": "Cert extension includes for ssl forward proxy\n" }, - "certKeyChains": { - "type": "array", - "items": { - "$ref": "#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain" - } + "certKeyChain": { + "$ref": "#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain", + "deprecationMessage": "This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute." }, "certLifeSpan": { "type": "integer", @@ -9669,6 +10486,10 @@ "type": "string", "description": "Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional\n" }, + "cipherGroup": { + "type": "string", + "description": "Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`.\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" @@ -9731,7 +10552,8 @@ }, "passphrase": { "type": "string", - "description": "Client Certificate Constrained Delegation CA passphrase\n" + "description": "Client Certificate Constrained Delegation CA passphrase\n", + "secret": true }, "peerCertMode": { "type": "string", @@ -9840,12 +10662,9 @@ "caFile", "cacheSize", "cacheTimeout", - "cert", "certExtensionIncludes", - "certKeyChains", "certLifeSpan", "certLookupByIpaddrPort", - "chain", "ciphers", "clientCertCa", "crlFile", @@ -9855,7 +10674,6 @@ "genericAlert", "handshakeTimeout", "inheritCertKeychain", - "key", "modSslMethods", "mode", "name", @@ -9937,11 +10755,9 @@ }, "description": "Cert extension includes for ssl forward proxy\n" }, - "certKeyChains": { - "type": "array", - "items": { - "$ref": "#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain" - } + "certKeyChain": { + "$ref": "#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain", + "deprecationMessage": "This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute." }, "certLifeSpan": { "type": "integer", @@ -9955,6 +10771,10 @@ "type": "string", "description": "Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional\n" }, + "cipherGroup": { + "type": "string", + "description": "Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`.\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" @@ -10018,7 +10838,8 @@ }, "passphrase": { "type": "string", - "description": "Client Certificate Constrained Delegation CA passphrase\n" + "description": "Client Certificate Constrained Delegation CA passphrase\n", + "secret": true }, "peerCertMode": { "type": "string", @@ -10173,11 +10994,9 @@ }, "description": "Cert extension includes for ssl forward proxy\n" }, - "certKeyChains": { - "type": "array", - "items": { - "$ref": "#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain" - } + "certKeyChain": { + "$ref": "#/types/f5bigip:ltm/ProfileClientSslCertKeyChain:ProfileClientSslCertKeyChain", + "deprecationMessage": "This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute." }, "certLifeSpan": { "type": "integer", @@ -10191,6 +11010,10 @@ "type": "string", "description": "Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional\n" }, + "cipherGroup": { + "type": "string", + "description": "Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`.\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" @@ -10254,7 +11077,8 @@ }, "passphrase": { "type": "string", - "description": "Client Certificate Constrained Delegation CA passphrase\n" + "description": "Client Certificate Constrained Delegation CA passphrase\n", + "secret": true }, "peerCertMode": { "type": "string", @@ -10518,7 +11342,7 @@ } }, "f5bigip:ltm/profileFastL4:ProfileFastL4": { - "description": "`f5bigip.ltm.ProfileFastL4` Configures a custom profile_fastl4 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/my-pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst profileFastl4 = new f5bigip.ltm.ProfileFastL4(\"profile_fastl4\", {\n clientTimeout: 40,\n defaultsFrom: \"/Common/fastL4\",\n explicitflowMigration: \"enabled\",\n hardwareSyncookie: \"enabled\",\n idleTimeout: \"200\",\n iptosToclient: \"pass-through\",\n iptosToserver: \"pass-through\",\n keepaliveInterval: \"disabled\", //This cannot take enabled\n name: \"/Common/sjfastl4profile\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nprofile_fastl4 = f5bigip.ltm.ProfileFastL4(\"profileFastl4\",\n client_timeout=40,\n defaults_from=\"/Common/fastL4\",\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 name=\"/Common/sjfastl4profile\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var profileFastl4 = new F5BigIP.Ltm.ProfileFastL4(\"profileFastl4\", new()\n {\n ClientTimeout = 40,\n DefaultsFrom = \"/Common/fastL4\",\n ExplicitflowMigration = \"enabled\",\n HardwareSyncookie = \"enabled\",\n IdleTimeout = \"200\",\n IptosToclient = \"pass-through\",\n IptosToserver = \"pass-through\",\n KeepaliveInterval = \"disabled\",\n Name = \"/Common/sjfastl4profile\",\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, \"profileFastl4\", \u0026ltm.ProfileFastL4Args{\n\t\t\tClientTimeout: pulumi.Int(40),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/fastL4\"),\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\tName: pulumi.String(\"/Common/sjfastl4profile\"),\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 .clientTimeout(40)\n .defaultsFrom(\"/Common/fastL4\")\n .explicitflowMigration(\"enabled\")\n .hardwareSyncookie(\"enabled\")\n .idleTimeout(\"200\")\n .iptosToclient(\"pass-through\")\n .iptosToserver(\"pass-through\")\n .keepaliveInterval(\"disabled\")\n .name(\"/Common/sjfastl4profile\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n profileFastl4:\n type: f5bigip:ltm:ProfileFastL4\n properties:\n clientTimeout: 40\n defaultsFrom: /Common/fastL4\n explicitflowMigration: enabled\n hardwareSyncookie: enabled\n idleTimeout: 200\n iptosToclient: pass-through\n iptosToserver: pass-through\n keepaliveInterval: disabled\n # This cannot take enabled\n name: /Common/sjfastl4profile\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM fastl4 profiles can be imported using the `name`, e.g.\n\n```sh\n $ pulumi import f5bigip:ltm/profileFastL4:ProfileFastL4 test-fastl4 /Common/test-fastl4\n```\n\n ", + "description": "`f5bigip.ltm.ProfileFastL4` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst profileFastl4 = new f5bigip.ltm.ProfileFastL4(\"profileFastl4\", {\n clientTimeout: 40,\n defaultsFrom: \"/Common/fastL4\",\n explicitflowMigration: \"enabled\",\n hardwareSyncookie: \"enabled\",\n idleTimeout: \"200\",\n iptosToclient: \"pass-through\",\n iptosToserver: \"pass-through\",\n keepaliveInterval: \"disabled\",\n name: \"/Common/sjfastl4profile\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nprofile_fastl4 = f5bigip.ltm.ProfileFastL4(\"profileFastl4\",\n client_timeout=40,\n defaults_from=\"/Common/fastL4\",\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 name=\"/Common/sjfastl4profile\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var profileFastl4 = new F5BigIP.Ltm.ProfileFastL4(\"profileFastl4\", new()\n {\n ClientTimeout = 40,\n DefaultsFrom = \"/Common/fastL4\",\n ExplicitflowMigration = \"enabled\",\n HardwareSyncookie = \"enabled\",\n IdleTimeout = \"200\",\n IptosToclient = \"pass-through\",\n IptosToserver = \"pass-through\",\n KeepaliveInterval = \"disabled\",\n Name = \"/Common/sjfastl4profile\",\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, \"profileFastl4\", \u0026ltm.ProfileFastL4Args{\n\t\t\tClientTimeout: pulumi.Int(40),\n\t\t\tDefaultsFrom: pulumi.String(\"/Common/fastL4\"),\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\tName: pulumi.String(\"/Common/sjfastl4profile\"),\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 .clientTimeout(40)\n .defaultsFrom(\"/Common/fastL4\")\n .explicitflowMigration(\"enabled\")\n .hardwareSyncookie(\"enabled\")\n .idleTimeout(\"200\")\n .iptosToclient(\"pass-through\")\n .iptosToserver(\"pass-through\")\n .keepaliveInterval(\"disabled\")\n .name(\"/Common/sjfastl4profile\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n profileFastl4:\n type: f5bigip:ltm:ProfileFastL4\n properties:\n clientTimeout: 40\n defaultsFrom: /Common/fastL4\n explicitflowMigration: enabled\n hardwareSyncookie: enabled\n idleTimeout: '200'\n iptosToclient: pass-through\n iptosToserver: pass-through\n keepaliveInterval: disabled\n # This cannot take enabled\n name: /Common/sjfastl4profile\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM fastl4 profiles can be imported using the `name`, e.g.\n\n```sh\n $ pulumi import f5bigip:ltm/profileFastL4:ProfileFastL4 test-fastl4 /Common/test-fastl4\n```\n\n ", "properties": { "clientTimeout": { "type": "integer", @@ -10552,13 +11376,33 @@ "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 `disabled`.\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 profile_fastl4\n" + "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": "Displays the administrative partition within which this profile resides\n" + "description": "name of partition\n" + }, + "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": [ @@ -10570,8 +11414,13 @@ "iptosToclient", "iptosToserver", "keepaliveInterval", + "lateBinding", + "looseClose", + "looseInitiation", "name", - "partition" + "partition", + "receiveWindowsize", + "tcpHandshakeTimeout" ], "inputProperties": { "clientTimeout": { @@ -10606,14 +11455,34 @@ "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 `disabled`.\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 profile_fastl4\n", + "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": "Displays the administrative partition within which this profile resides\n" + "description": "name of partition\n" + }, + "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": [ @@ -10654,14 +11523,34 @@ "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 `disabled`.\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 profile_fastl4\n", + "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": "Displays the administrative partition within which this profile resides\n" + "description": "name of partition\n" + }, + "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" @@ -11084,7 +11973,7 @@ } }, "f5bigip:ltm/profileHttp:ProfileHttp": { - "description": "`f5bigip.ltm.ProfileHttp` Configures a custom profile_http 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/my-pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 defaultsFrom: \"/Common/http\",\n fallbackHost: \"titanic\",\n fallbackStatusCodes: [\n \"400\",\n \"500\",\n \"300\",\n ],\n name: \"/Common/sanjose-http\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_http = f5bigip.ltm.ProfileHttp(\"sanjose-http\",\n defaults_from=\"/Common/http\",\n fallback_host=\"titanic\",\n fallback_status_codes=[\n \"400\",\n \"500\",\n \"300\",\n ],\n name=\"/Common/sanjose-http\")\n```\n```csharp\nusing System.Collections.Generic;\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 DefaultsFrom = \"/Common/http\",\n FallbackHost = \"titanic\",\n FallbackStatusCodes = new[]\n {\n \"400\",\n \"500\",\n \"300\",\n },\n Name = \"/Common/sanjose-http\",\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\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\tName: pulumi.String(\"/Common/sanjose-http\"),\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 .defaultsFrom(\"/Common/http\")\n .fallbackHost(\"titanic\")\n .fallbackStatusCodes( \n \"400\",\n \"500\",\n \"300\")\n .name(\"/Common/sanjose-http\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sanjose-http:\n type: f5bigip:ltm:ProfileHttp\n properties:\n defaultsFrom: /Common/http\n fallbackHost: titanic\n fallbackStatusCodes:\n - 400\n - 500\n - 300\n name: /Common/sanjose-http\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM http profiles can be imported using the `name`, e.g. bash\n\n```sh\n $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http\n```\n\n ", + "description": "`f5bigip.ltm.ProfileHttp` Configures a custom profile_http 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/my-pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 defaultsFrom: \"/Common/http\",\n fallbackHost: \"titanic\",\n fallbackStatusCodes: [\n \"400\",\n \"500\",\n \"300\",\n ],\n name: \"/Common/sanjose-http\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_http = f5bigip.ltm.ProfileHttp(\"sanjose-http\",\n defaults_from=\"/Common/http\",\n fallback_host=\"titanic\",\n fallback_status_codes=[\n \"400\",\n \"500\",\n \"300\",\n ],\n name=\"/Common/sanjose-http\")\n```\n```csharp\nusing System.Collections.Generic;\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 DefaultsFrom = \"/Common/http\",\n FallbackHost = \"titanic\",\n FallbackStatusCodes = new[]\n {\n \"400\",\n \"500\",\n \"300\",\n },\n Name = \"/Common/sanjose-http\",\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\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\tName: pulumi.String(\"/Common/sanjose-http\"),\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 .defaultsFrom(\"/Common/http\")\n .fallbackHost(\"titanic\")\n .fallbackStatusCodes( \n \"400\",\n \"500\",\n \"300\")\n .name(\"/Common/sanjose-http\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sanjose-http:\n type: f5bigip:ltm:ProfileHttp\n properties:\n defaultsFrom: /Common/http\n fallbackHost: titanic\n fallbackStatusCodes:\n - '400'\n - '500'\n - '300'\n name: /Common/sanjose-http\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM http profiles can be imported using the `name`, e.g. bash\n\n```sh\n $ pulumi import f5bigip:ltm/profileHttp:ProfileHttp test-http /Common/test-http\n```\n\n ", "properties": { "acceptXff": { "type": "string", @@ -11488,8 +12377,12 @@ } }, "f5bigip:ltm/profileHttpCompress:ProfileHttpCompress": { - "description": "`f5bigip.ltm.ProfileHttpCompress` 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-pool ) or partition + directory + name of the resource (example: /Common/test/my-pool )\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sjhttpcompression = new f5bigip.ltm.ProfileHttpCompress(\"sjhttpcompression\", {\n contentTypeExcludes: [\"nicecontentexclude.com\"],\n contentTypeIncludes: [\"nicecontent.com\"],\n defaultsFrom: \"/Common/httpcompression\",\n name: \"/Common/sjhttpcompression2\",\n uriExcludes: [\n \"www.abc.f5.com\",\n \"www.abc2.f5.com\",\n ],\n uriIncludes: [\"www.xyzbc.cisco.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsjhttpcompression = f5bigip.ltm.ProfileHttpCompress(\"sjhttpcompression\",\n content_type_excludes=[\"nicecontentexclude.com\"],\n content_type_includes=[\"nicecontent.com\"],\n defaults_from=\"/Common/httpcompression\",\n name=\"/Common/sjhttpcompression2\",\n uri_excludes=[\n \"www.abc.f5.com\",\n \"www.abc2.f5.com\",\n ],\n uri_includes=[\"www.xyzbc.cisco.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sjhttpcompression = new F5BigIP.Ltm.ProfileHttpCompress(\"sjhttpcompression\", new()\n {\n ContentTypeExcludes = new[]\n {\n \"nicecontentexclude.com\",\n },\n ContentTypeIncludes = new[]\n {\n \"nicecontent.com\",\n },\n DefaultsFrom = \"/Common/httpcompression\",\n Name = \"/Common/sjhttpcompression2\",\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 });\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\tContentTypeExcludes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nicecontentexclude.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\tDefaultsFrom: pulumi.String(\"/Common/httpcompression\"),\n\t\t\tName: pulumi.String(\"/Common/sjhttpcompression2\"),\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})\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 .contentTypeExcludes(\"nicecontentexclude.com\")\n .contentTypeIncludes(\"nicecontent.com\")\n .defaultsFrom(\"/Common/httpcompression\")\n .name(\"/Common/sjhttpcompression2\")\n .uriExcludes( \n \"www.abc.f5.com\",\n \"www.abc2.f5.com\")\n .uriIncludes(\"www.xyzbc.cisco.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sjhttpcompression:\n type: f5bigip:ltm:ProfileHttpCompress\n properties:\n contentTypeExcludes:\n - nicecontentexclude.com\n contentTypeIncludes:\n - nicecontent.com\n defaultsFrom: /Common/httpcompression\n name: /Common/sjhttpcompression2\n uriExcludes:\n - www.abc.f5.com\n - www.abc2.f5.com\n uriIncludes:\n - www.xyzbc.cisco.com\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ltm.ProfileHttpCompress` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst sjhttpcompression = new f5bigip.ltm.ProfileHttpCompress(\"sjhttpcompression\", {\n contentTypeExcludes: [\"nicecontentexclude.com\"],\n contentTypeIncludes: [\"nicecontent.com\"],\n defaultsFrom: \"/Common/httpcompression\",\n name: \"/Common/sjhttpcompression2\",\n uriExcludes: [\n \"www.abc.f5.com\",\n \"www.abc2.f5.com\",\n ],\n uriIncludes: [\"www.xyzbc.cisco.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsjhttpcompression = f5bigip.ltm.ProfileHttpCompress(\"sjhttpcompression\",\n content_type_excludes=[\"nicecontentexclude.com\"],\n content_type_includes=[\"nicecontent.com\"],\n defaults_from=\"/Common/httpcompression\",\n name=\"/Common/sjhttpcompression2\",\n uri_excludes=[\n \"www.abc.f5.com\",\n \"www.abc2.f5.com\",\n ],\n uri_includes=[\"www.xyzbc.cisco.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sjhttpcompression = new F5BigIP.Ltm.ProfileHttpCompress(\"sjhttpcompression\", new()\n {\n ContentTypeExcludes = new[]\n {\n \"nicecontentexclude.com\",\n },\n ContentTypeIncludes = new[]\n {\n \"nicecontent.com\",\n },\n DefaultsFrom = \"/Common/httpcompression\",\n Name = \"/Common/sjhttpcompression2\",\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 });\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\tContentTypeExcludes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nicecontentexclude.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\tDefaultsFrom: pulumi.String(\"/Common/httpcompression\"),\n\t\t\tName: pulumi.String(\"/Common/sjhttpcompression2\"),\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})\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 .contentTypeExcludes(\"nicecontentexclude.com\")\n .contentTypeIncludes(\"nicecontent.com\")\n .defaultsFrom(\"/Common/httpcompression\")\n .name(\"/Common/sjhttpcompression2\")\n .uriExcludes( \n \"www.abc.f5.com\",\n \"www.abc2.f5.com\")\n .uriIncludes(\"www.xyzbc.cisco.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sjhttpcompression:\n type: f5bigip:ltm:ProfileHttpCompress\n properties:\n contentTypeExcludes:\n - nicecontentexclude.com\n contentTypeIncludes:\n - nicecontent.com\n defaultsFrom: /Common/httpcompression\n name: /Common/sjhttpcompression2\n uriExcludes:\n - www.abc.f5.com\n - www.abc2.f5.com\n uriIncludes:\n - www.xyzbc.cisco.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM HTTP Compress profiles can be imported using the `name`, 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 `4096` bytes.\n" + }, "contentTypeExcludes": { "type": "array", "items": { @@ -11504,13 +12397,33 @@ }, "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 `enabled`.\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 `16` 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 `disabled`.\n" + }, "name": { "type": "string", - "description": "Name of the profile_httpcompress\n" + "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", @@ -11525,17 +12438,32 @@ "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 `enabled`.\n" } }, "required": [ + "compressionBuffersize", "contentTypeExcludes", "contentTypeIncludes", + "cpuSaver", "defaultsFrom", + "gzipCompressionLevel", + "gzipMemoryLevel", + "gzipWindowSize", + "keepAcceptEncoding", "name", "uriExcludes", - "uriIncludes" + "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 `4096` bytes.\n" + }, "contentTypeExcludes": { "type": "array", "items": { @@ -11550,13 +12478,33 @@ }, "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 `enabled`.\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 `16` 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 `disabled`.\n" + }, "name": { "type": "string", - "description": "Name of the profile_httpcompress\n", + "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": { @@ -11572,6 +12520,10 @@ "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 `enabled`.\n" } }, "requiredInputs": [ @@ -11580,6 +12532,10 @@ "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 `4096` bytes.\n" + }, "contentTypeExcludes": { "type": "array", "items": { @@ -11594,13 +12550,33 @@ }, "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 `enabled`.\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 `16` 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 `disabled`.\n" + }, "name": { "type": "string", - "description": "Name of the profile_httpcompress\n", + "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": { @@ -11616,13 +12592,17 @@ "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 `enabled`.\n" } }, "type": "object" } }, "f5bigip:ltm/profileOneConnect:ProfileOneConnect": { - "description": "`f5bigip.ltm.ProfileOneConnect` Configures a custom profile_oneconnect 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test_oneconnect = new f5bigip.ltm.ProfileOneConnect(\"test-oneconnect\", {\n name: \"/Common/test-oneconnect\",\n});\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 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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM oneconnect profiles can be imported using the `name` , e.g.\n\n```sh\n $ pulumi import f5bigip:ltm/profileOneConnect:ProfileOneConnect test-oneconnect /Common/test-oneconnect\n```\n\n ", + "description": "`f5bigip.ltm.ProfileOneConnect` Configures a custom profile_oneconnect 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBIG-IP LTM oneconnect profiles can be imported using the `name` , e.g.\n\n```sh\n $ pulumi import f5bigip:ltm/profileOneConnect:ProfileOneConnect test-oneconnect /Common/test-oneconnect\n```\n\n ", "properties": { "defaultsFrom": { "type": "string", @@ -11840,6 +12820,10 @@ "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, `ciphers`. The default value is `none`.\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" @@ -11890,7 +12874,8 @@ }, "passphrase": { "type": "string", - "description": "Client Certificate Constrained Delegation CA passphrase\n" + "description": "Client Certificate Constrained Delegation CA passphrase\n", + "secret": true }, "peerCertMode": { "type": "string", @@ -11994,15 +12979,12 @@ "caFile", "cacheSize", "cacheTimeout", - "cert", - "chain", "ciphers", "expireCertResponseControl", "fullPath", "generation", "genericAlert", "handshakeTimeout", - "key", "modSslMethods", "mode", "name", @@ -12097,6 +13079,10 @@ "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, `ciphers`. The default value is `none`.\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" @@ -12148,7 +13134,8 @@ }, "passphrase": { "type": "string", - "description": "Client Certificate Constrained Delegation CA passphrase\n" + "description": "Client Certificate Constrained Delegation CA passphrase\n", + "secret": true }, "peerCertMode": { "type": "string", @@ -12314,6 +13301,10 @@ "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, `ciphers`. The default value is `none`.\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" @@ -12365,7 +13356,8 @@ }, "passphrase": { "type": "string", - "description": "Client Certificate Constrained Delegation CA passphrase\n" + "description": "Client Certificate Constrained Delegation CA passphrase\n", + "secret": true }, "peerCertMode": { "type": "string", @@ -12463,12 +13455,16 @@ } }, "f5bigip:ltm/profileTcp:ProfileTcp": { - "description": "`f5bigip.ltm.ProfileTcp` Configures a custom profile_tcp 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 closeWaitTimeout: 5,\n deferredAccept: \"enabled\",\n fastOpen: \"enabled\",\n finwait2timeout: 5,\n finwaitTimeout: 300,\n idleTimeout: 200,\n keepaliveInterval: 1700,\n name: \"/Common/sanjose-tcp-lan-profile\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_tcp_lan_profile = f5bigip.ltm.ProfileTcp(\"sanjose-tcp-lan-profile\",\n close_wait_timeout=5,\n deferred_accept=\"enabled\",\n fast_open=\"enabled\",\n finwait2timeout=5,\n finwait_timeout=300,\n idle_timeout=200,\n keepalive_interval=1700,\n name=\"/Common/sanjose-tcp-lan-profile\")\n```\n```csharp\nusing System.Collections.Generic;\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 CloseWaitTimeout = 5,\n DeferredAccept = \"enabled\",\n FastOpen = \"enabled\",\n Finwait2timeout = 5,\n FinwaitTimeout = 300,\n IdleTimeout = 200,\n KeepaliveInterval = 1700,\n Name = \"/Common/sanjose-tcp-lan-profile\",\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\tCloseWaitTimeout: pulumi.Int(5),\n\t\t\tDeferredAccept: pulumi.String(\"enabled\"),\n\t\t\tFastOpen: pulumi.String(\"enabled\"),\n\t\t\tFinwait2timeout: pulumi.Int(5),\n\t\t\tFinwaitTimeout: pulumi.Int(300),\n\t\t\tIdleTimeout: pulumi.Int(200),\n\t\t\tKeepaliveInterval: pulumi.Int(1700),\n\t\t\tName: pulumi.String(\"/Common/sanjose-tcp-lan-profile\"),\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 .closeWaitTimeout(5)\n .deferredAccept(\"enabled\")\n .fastOpen(\"enabled\")\n .finwait2timeout(5)\n .finwaitTimeout(300)\n .idleTimeout(200)\n .keepaliveInterval(1700)\n .name(\"/Common/sanjose-tcp-lan-profile\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sanjose-tcp-lan-profile:\n type: f5bigip:ltm:ProfileTcp\n properties:\n closeWaitTimeout: 5\n deferredAccept: enabled\n fastOpen: enabled\n finwait2timeout: 5\n finwaitTimeout: 300\n idleTimeout: 200\n keepaliveInterval: 1700\n name: /Common/sanjose-tcp-lan-profile\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ltm.ProfileTcp` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 closeWaitTimeout: 5,\n deferredAccept: \"enabled\",\n fastOpen: \"enabled\",\n finwait2timeout: 5,\n finwaitTimeout: 300,\n idleTimeout: 200,\n keepaliveInterval: 1700,\n name: \"/Common/sanjose-tcp-lan-profile\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsanjose_tcp_lan_profile = f5bigip.ltm.ProfileTcp(\"sanjose-tcp-lan-profile\",\n close_wait_timeout=5,\n deferred_accept=\"enabled\",\n fast_open=\"enabled\",\n finwait2timeout=5,\n finwait_timeout=300,\n idle_timeout=200,\n keepalive_interval=1700,\n name=\"/Common/sanjose-tcp-lan-profile\")\n```\n```csharp\nusing System.Collections.Generic;\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 CloseWaitTimeout = 5,\n DeferredAccept = \"enabled\",\n FastOpen = \"enabled\",\n Finwait2timeout = 5,\n FinwaitTimeout = 300,\n IdleTimeout = 200,\n KeepaliveInterval = 1700,\n Name = \"/Common/sanjose-tcp-lan-profile\",\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\tCloseWaitTimeout: pulumi.Int(5),\n\t\t\tDeferredAccept: pulumi.String(\"enabled\"),\n\t\t\tFastOpen: pulumi.String(\"enabled\"),\n\t\t\tFinwait2timeout: pulumi.Int(5),\n\t\t\tFinwaitTimeout: pulumi.Int(300),\n\t\t\tIdleTimeout: pulumi.Int(200),\n\t\t\tKeepaliveInterval: pulumi.Int(1700),\n\t\t\tName: pulumi.String(\"/Common/sanjose-tcp-lan-profile\"),\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 .closeWaitTimeout(5)\n .deferredAccept(\"enabled\")\n .fastOpen(\"enabled\")\n .finwait2timeout(5)\n .finwaitTimeout(300)\n .idleTimeout(200)\n .keepaliveInterval(1700)\n .name(\"/Common/sanjose-tcp-lan-profile\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sanjose-tcp-lan-profile:\n type: f5bigip:ltm:ProfileTcp\n properties:\n closeWaitTimeout: 5\n deferredAccept: enabled\n fastOpen: enabled\n finwait2timeout: 5\n finwaitTimeout: 300\n idleTimeout: 200\n keepaliveInterval: 1700\n name: /Common/sanjose-tcp-lan-profile\n```\n{{% /example %}}\n{{% /examples %}}", "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" @@ -12477,9 +13473,17 @@ "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.\n" + "description": "When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`.\n" }, "finwait2timeout": { "type": "integer", @@ -12493,17 +13497,53 @@ "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 profile_tcp\n" + "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": "Displays the administrative partition within which this profile resides\n" + "description": "name of partition\n" + }, + "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 `disabled`.\n" + }, + "zerowindowTimeout": { + "type": "integer", + "description": "Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window.\n" } }, "required": [ @@ -12522,6 +13562,10 @@ "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" @@ -12530,9 +13574,17 @@ "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.\n" + "description": "When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`.\n" }, "finwait2timeout": { "type": "integer", @@ -12546,18 +13598,54 @@ "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 profile_tcp\n", + "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": "Displays the administrative partition within which this profile resides\n" + "description": "name of partition\n" + }, + "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 `disabled`.\n" + }, + "zerowindowTimeout": { + "type": "integer", + "description": "Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window.\n" } }, "requiredInputs": [ @@ -12570,6 +13658,10 @@ "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" @@ -12578,9 +13670,17 @@ "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.\n" + "description": "When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`.\n" }, "finwait2timeout": { "type": "integer", @@ -12594,18 +13694,54 @@ "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 profile_tcp\n", + "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": "Displays the administrative partition within which this profile resides\n" + "description": "name of partition\n" + }, + "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 `disabled`.\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" @@ -12616,7 +13752,7 @@ "properties": { "autolasthop": { "type": "string", - "description": "-(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default.\n" + "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", @@ -12674,7 +13810,7 @@ "inputProperties": { "autolasthop": { "type": "string", - "description": "-(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default.\n" + "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", @@ -12733,7 +13869,7 @@ "properties": { "autolasthop": { "type": "string", - "description": "-(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default.\n" + "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", @@ -12787,7 +13923,7 @@ } }, "f5bigip:ltm/snatPool:SnatPool": { - "description": "`f5bigip.ltm.SnatPool` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst snatpoolSanjose = new f5bigip.ltm.SnatPool(\"snatpool_sanjose\", {\n members: [\n \"191.1.1.1\",\n \"194.2.2.2\",\n ],\n name: \"/Common/snatpool_sanjose\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsnatpool_sanjose = f5bigip.ltm.SnatPool(\"snatpoolSanjose\",\n members=[\n \"191.1.1.1\",\n \"194.2.2.2\",\n ],\n name=\"/Common/snatpool_sanjose\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snatpoolSanjose = new F5BigIP.Ltm.SnatPool(\"snatpoolSanjose\", new()\n {\n Members = new[]\n {\n \"191.1.1.1\",\n \"194.2.2.2\",\n },\n Name = \"/Common/snatpool_sanjose\",\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, \"snatpoolSanjose\", \u0026ltm.SnatPoolArgs{\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\tName: pulumi.String(\"/Common/snatpool_sanjose\"),\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 .members( \n \"191.1.1.1\",\n \"194.2.2.2\")\n .name(\"/Common/snatpool_sanjose\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snatpoolSanjose:\n type: f5bigip:ltm:SnatPool\n properties:\n members:\n - 191.1.1.1\n - 194.2.2.2\n name: /Common/snatpool_sanjose\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ltm.SnatPool` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst snatpoolSanjose = new f5bigip.ltm.SnatPool(\"snatpoolSanjose\", {\n members: [\n \"191.1.1.1\",\n \"194.2.2.2\",\n ],\n name: \"/Common/snatpool_sanjose\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsnatpool_sanjose = f5bigip.ltm.SnatPool(\"snatpoolSanjose\",\n members=[\n \"191.1.1.1\",\n \"194.2.2.2\",\n ],\n name=\"/Common/snatpool_sanjose\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snatpoolSanjose = new F5BigIP.Ltm.SnatPool(\"snatpoolSanjose\", new()\n {\n Members = new[]\n {\n \"191.1.1.1\",\n \"194.2.2.2\",\n },\n Name = \"/Common/snatpool_sanjose\",\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, \"snatpoolSanjose\", \u0026ltm.SnatPoolArgs{\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\tName: pulumi.String(\"/Common/snatpool_sanjose\"),\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 .members( \n \"191.1.1.1\",\n \"194.2.2.2\")\n .name(\"/Common/snatpool_sanjose\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snatpoolSanjose:\n type: f5bigip:ltm:SnatPool\n properties:\n members:\n - 191.1.1.1\n - 194.2.2.2\n name: /Common/snatpool_sanjose\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "members": { "type": "array", @@ -12843,7 +13979,7 @@ } }, "f5bigip:ltm/virtualAddress:VirtualAddress": { - "description": "`f5bigip.ltm.VirtualAddress` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vsVa = new f5bigip.ltm.VirtualAddress(\"vs_va\", {\n advertizeRoute: \"enabled\",\n name: \"/Common/xxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nvs_va = f5bigip.ltm.VirtualAddress(\"vsVa\",\n advertize_route=\"enabled\",\n name=\"/Common/xxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vsVa = new F5BigIP.Ltm.VirtualAddress(\"vsVa\", new()\n {\n AdvertizeRoute = \"enabled\",\n Name = \"/Common/xxxxx\",\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, \"vsVa\", \u0026ltm.VirtualAddressArgs{\n\t\t\tAdvertizeRoute: pulumi.String(\"enabled\"),\n\t\t\tName: pulumi.String(\"/Common/xxxxx\"),\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 .advertizeRoute(\"enabled\")\n .name(\"/Common/xxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vsVa:\n type: f5bigip:ltm:VirtualAddress\n properties:\n advertizeRoute: enabled\n name: /Common/xxxxx\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ltm.VirtualAddress` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vsVa = new f5bigip.ltm.VirtualAddress(\"vsVa\", {\n advertizeRoute: \"enabled\",\n name: \"/Common/xxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nvs_va = f5bigip.ltm.VirtualAddress(\"vsVa\",\n advertize_route=\"enabled\",\n name=\"/Common/xxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vsVa = new F5BigIP.Ltm.VirtualAddress(\"vsVa\", new()\n {\n AdvertizeRoute = \"enabled\",\n Name = \"/Common/xxxxx\",\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, \"vsVa\", \u0026ltm.VirtualAddressArgs{\n\t\t\tAdvertizeRoute: pulumi.String(\"enabled\"),\n\t\t\tName: pulumi.String(\"/Common/xxxxx\"),\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 .advertizeRoute(\"enabled\")\n .name(\"/Common/xxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vsVa:\n type: f5bigip:ltm:VirtualAddress\n properties:\n advertizeRoute: enabled\n name: /Common/xxxxx\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "advertizeRoute": { "type": "string", @@ -12984,6 +14120,10 @@ "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": "Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid)\n" @@ -13050,7 +14190,7 @@ }, "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. DEPRECATED - see Virtual Server Property Groups source-address-translation\n" + "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", @@ -13058,12 +14198,20 @@ }, "sourceAddressTranslation": { "type": "string", - "description": "Can be either omitted for none or the values automap or snat\n" + "description": "Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`].\n" + }, + "sourcePort": { + "type": "string", + "description": "Specifies whether the system preserves the source port of the connection. The default is `preserve`.\n" }, "state": { "type": "string", "description": "Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled\n" }, + "trafficmatchingCriteria": { + "type": "string", + "description": "Specifies destination traffic matching information to which the virtual server sends traffic\n" + }, "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" @@ -13085,9 +14233,9 @@ } }, "required": [ - "destination", + "defaultPersistenceProfile", "fallbackPersistenceProfile", - "ipProtocol", + "firewallEnforcedPolicy", "mask", "name", "perFlowRequestAccessPolicy", @@ -13095,9 +14243,8 @@ "profiles", "snatpool", "source", - "sourceAddressTranslation", - "translateAddress", - "translatePort" + "sourcePort", + "trafficmatchingCriteria" ], "inputProperties": { "clientProfiles": { @@ -13122,6 +14269,10 @@ "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": "Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid)\n" @@ -13189,7 +14340,7 @@ }, "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. DEPRECATED - see Virtual Server Property Groups source-address-translation\n" + "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", @@ -13197,12 +14348,20 @@ }, "sourceAddressTranslation": { "type": "string", - "description": "Can be either omitted for none or the values automap or snat\n" + "description": "Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`].\n" + }, + "sourcePort": { + "type": "string", + "description": "Specifies whether the system preserves the source port of the connection. The default is `preserve`.\n" }, "state": { "type": "string", "description": "Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled\n" }, + "trafficmatchingCriteria": { + "type": "string", + "description": "Specifies destination traffic matching information to which the virtual server sends traffic\n" + }, "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" @@ -13224,9 +14383,7 @@ } }, "requiredInputs": [ - "destination", - "name", - "port" + "name" ], "stateInputs": { "description": "Input properties used for looking up and filtering VirtualServer resources.\n", @@ -13253,6 +14410,10 @@ "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": "Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid)\n" @@ -13320,7 +14481,7 @@ }, "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. DEPRECATED - see Virtual Server Property Groups source-address-translation\n" + "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", @@ -13328,12 +14489,20 @@ }, "sourceAddressTranslation": { "type": "string", - "description": "Can be either omitted for none or the values automap or snat\n" + "description": "Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`].\n" + }, + "sourcePort": { + "type": "string", + "description": "Specifies whether the system preserves the source port of the connection. The default is `preserve`.\n" }, "state": { "type": "string", "description": "Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled\n" }, + "trafficmatchingCriteria": { + "type": "string", + "description": "Specifies destination traffic matching information to which the virtual server sends traffic\n" + }, "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" @@ -13603,11 +14772,12 @@ } }, "f5bigip:ssl/certificate:Certificate": { - "description": "`f5bigip.ssl.Certificate` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst test_cert = new f5bigip.ssl.Certificate(\"test-cert\", {\n name: \"servercert.crt\",\n content: fs.readFileSync(\"servercert.crt\"),\n partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_cert = f5bigip.ssl.Certificate(\"test-cert\",\n name=\"servercert.crt\",\n content=(lambda path: open(path).read())(\"servercert.crt\"),\n partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\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 = File.ReadAllText(\"servercert.crt\"),\n Partition = \"Common\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssl.NewCertificate(ctx, \"test-cert\", \u0026ssl.CertificateArgs{\n\t\t\tName: pulumi.String(\"servercert.crt\"),\n\t\t\tContent: readFileOrPanic(\"servercert.crt\"),\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 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(Files.readString(Paths.get(\"servercert.crt\")))\n .partition(\"Common\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ssl.Certificate` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst test_cert = new f5bigip.ssl.Certificate(\"test-cert\", {\n name: \"servercert.crt\",\n content: fs.readFileSync(\"servercert.crt\"),\n partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_cert = f5bigip.ssl.Certificate(\"test-cert\",\n name=\"servercert.crt\",\n content=(lambda path: open(path).read())(\"servercert.crt\"),\n partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\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 = File.ReadAllText(\"servercert.crt\"),\n Partition = \"Common\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssl.NewCertificate(ctx, \"test-cert\", \u0026ssl.CertificateArgs{\n\t\t\tName: pulumi.String(\"servercert.crt\"),\n\t\t\tContent: readFileOrPanic(\"servercert.crt\"),\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 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(Files.readString(Paths.get(\"servercert.crt\")))\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::readFile: servercert.crt\n partition: Common\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "content": { "type": "string", - "description": "Content of certificate on Disk\n" + "description": "Content of certificate on Disk\n", + "secret": true }, "fullPath": { "type": "string", @@ -13630,7 +14800,8 @@ "inputProperties": { "content": { "type": "string", - "description": "Content of certificate on Disk\n" + "description": "Content of certificate on Disk\n", + "secret": true }, "fullPath": { "type": "string", @@ -13655,7 +14826,8 @@ "properties": { "content": { "type": "string", - "description": "Content of certificate on Disk\n" + "description": "Content of certificate on Disk\n", + "secret": true }, "fullPath": { "type": "string", @@ -13675,11 +14847,12 @@ } }, "f5bigip:ssl/key:Key": { - "description": "`f5bigip.ssl.Key` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst test_key = new f5bigip.ssl.Key(\"test-key\", {\n name: \"serverkey.key\",\n content: fs.readFileSync(\"serverkey.key\"),\n partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_key = f5bigip.ssl.Key(\"test-key\",\n name=\"serverkey.key\",\n content=(lambda path: open(path).read())(\"serverkey.key\"),\n partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\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 = File.ReadAllText(\"serverkey.key\"),\n Partition = \"Common\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssl.NewKey(ctx, \"test-key\", \u0026ssl.KeyArgs{\n\t\t\tName: pulumi.String(\"serverkey.key\"),\n\t\t\tContent: readFileOrPanic(\"serverkey.key\"),\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 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(Files.readString(Paths.get(\"serverkey.key\")))\n .partition(\"Common\")\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.ssl.Key` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst test_key = new f5bigip.ssl.Key(\"test-key\", {\n name: \"serverkey.key\",\n content: fs.readFileSync(\"serverkey.key\"),\n partition: \"Common\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\ntest_key = f5bigip.ssl.Key(\"test-key\",\n name=\"serverkey.key\",\n content=(lambda path: open(path).read())(\"serverkey.key\"),\n partition=\"Common\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\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 = File.ReadAllText(\"serverkey.key\"),\n Partition = \"Common\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssl.NewKey(ctx, \"test-key\", \u0026ssl.KeyArgs{\n\t\t\tName: pulumi.String(\"serverkey.key\"),\n\t\t\tContent: readFileOrPanic(\"serverkey.key\"),\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 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(Files.readString(Paths.get(\"serverkey.key\")))\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::readFile: serverkey.key\n partition: Common\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "content": { "type": "string", - "description": "Content of SSL certificate key present on local Disk\n" + "description": "Content of SSL certificate key present on local Disk\n", + "secret": true }, "fullPath": { "type": "string", @@ -13692,6 +14865,11 @@ "partition": { "type": "string", "description": "Partition of ssl certificate key\n" + }, + "passphrase": { + "type": "string", + "description": "Passphrase on key.\n", + "secret": true } }, "required": [ @@ -13702,7 +14880,8 @@ "inputProperties": { "content": { "type": "string", - "description": "Content of SSL certificate key present on local Disk\n" + "description": "Content of SSL certificate key present on local Disk\n", + "secret": true }, "fullPath": { "type": "string", @@ -13716,6 +14895,11 @@ "partition": { "type": "string", "description": "Partition of ssl certificate key\n" + }, + "passphrase": { + "type": "string", + "description": "Passphrase on key.\n", + "secret": true } }, "requiredInputs": [ @@ -13727,7 +14911,8 @@ "properties": { "content": { "type": "string", - "description": "Content of SSL certificate key present on local Disk\n" + "description": "Content of SSL certificate key present on local Disk\n", + "secret": true }, "fullPath": { "type": "string", @@ -13741,6 +14926,11 @@ "partition": { "type": "string", "description": "Partition of ssl certificate key\n" + }, + "passphrase": { + "type": "string", + "description": "Passphrase on key.\n", + "secret": true } }, "type": "object" @@ -13791,7 +14981,7 @@ } }, "f5bigip:sys/dns:Dns": { - "description": "`f5bigip.sys.Dns` Configures DNS server on F5 BIG-IP\n\n\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 numberOfDots: 2,\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 number_of_dots=2,\n searches=[\"f5.com\"])\n```\n```csharp\nusing System.Collections.Generic;\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 NumberOfDots = 2,\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\tNumberOfDots: pulumi.Int(2),\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 .numberOfDots(2)\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 numberOfDots: 2\n searches:\n - f5.com\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.sys.Dns` Configures DNS Name server on F5 BIG-IP\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", @@ -13802,7 +14992,7 @@ "items": { "type": "string" }, - "description": "Name or IP address of the DNS server\n" + "description": "Specifies the name servers that the system uses to validate DNS lookups, and resolve host names.\n" }, "numberOfDots": { "type": "integer", @@ -13813,11 +15003,13 @@ "items": { "type": "string" }, - "description": "Specify what domains you want to search\n" + "description": "Specifies the domains that the system searches for local domain lookups, to resolve local host names.\n" } }, "required": [ - "description" + "description", + "nameServers", + "numberOfDots" ], "inputProperties": { "description": { @@ -13829,7 +15021,7 @@ "items": { "type": "string" }, - "description": "Name or IP address of the DNS server\n" + "description": "Specifies the name servers that the system uses to validate DNS lookups, and resolve host names.\n" }, "numberOfDots": { "type": "integer", @@ -13840,11 +15032,12 @@ "items": { "type": "string" }, - "description": "Specify what domains you want to search\n" + "description": "Specifies the domains that the system searches for local domain lookups, to resolve local host names.\n" } }, "requiredInputs": [ - "description" + "description", + "nameServers" ], "stateInputs": { "description": "Input properties used for looking up and filtering Dns resources.\n", @@ -13858,7 +15051,7 @@ "items": { "type": "string" }, - "description": "Name or IP address of the DNS server\n" + "description": "Specifies the name servers that the system uses to validate DNS lookups, and resolve host names.\n" }, "numberOfDots": { "type": "integer", @@ -13869,14 +15062,14 @@ "items": { "type": "string" }, - "description": "Specify what domains you want to search\n" + "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": "`f5bigip.sys.IApp` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst simplehttp = new f5bigip.sys.IApp(\"simplehttp\", {\n name: \"simplehttp\",\n jsonfile: fs.readFileSync(\"simplehttp.json\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsimplehttp = f5bigip.sys.IApp(\"simplehttp\",\n name=\"simplehttp\",\n jsonfile=(lambda path: open(path).read())(\"simplehttp.json\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simplehttp = new F5BigIP.Sys.IApp(\"simplehttp\", new()\n {\n Name = \"simplehttp\",\n Jsonfile = File.ReadAllText(\"simplehttp.json\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewIApp(ctx, \"simplehttp\", \u0026sys.IAppArgs{\n\t\t\tName: pulumi.String(\"simplehttp\"),\n\t\t\tJsonfile: readFileOrPanic(\"simplehttp.json\"),\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 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(Files.readString(Paths.get(\"simplehttp.json\")))\n .build());\n\n }\n}\n```\n\n{{% /example %}}\n{{% example %}}\n### Json File\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\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 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 }\n}\n```\n```yaml\n{}\n```\n\n * `description` - User defined description.\n * `deviceGroup` - The name of the device group that the application service is assigned to.\n * `executeAction` - Run the specified template action associated with the application.\n * `inheritedDevicegroup`- 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` - 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 * `partition` - Displays the administrative partition within which the application resides.\n * `strictUpdates` - Specifies whether configuration objects contained in the application may be directly modified, outside the context of the system's application management interfaces.\n * `template` - 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` - 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` - Indicates any missing prerequisites associated with the template that defines this application.\n * `trafficGroup` - The name of the traffic group that the application service is assigned to.\n * `lists` - string values\n * `metadata` - User defined generic data for the application service. It is a name and value pair.\n * `tables` - Values provided like pool name, nodes etc.\n * `variables` - Name, values, encrypted or not\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.sys.IApp` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\nimport * as fs from \"fs\";\n\nconst simplehttp = new f5bigip.sys.IApp(\"simplehttp\", {\n name: \"simplehttp\",\n jsonfile: fs.readFileSync(\"simplehttp.json\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsimplehttp = f5bigip.sys.IApp(\"simplehttp\",\n name=\"simplehttp\",\n jsonfile=(lambda path: open(path).read())(\"simplehttp.json\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simplehttp = new F5BigIP.Sys.IApp(\"simplehttp\", new()\n {\n Name = \"simplehttp\",\n Jsonfile = File.ReadAllText(\"simplehttp.json\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sys.NewIApp(ctx, \"simplehttp\", \u0026sys.IAppArgs{\n\t\t\tName: pulumi.String(\"simplehttp\"),\n\t\t\tJsonfile: readFileOrPanic(\"simplehttp.json\"),\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 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(Files.readString(Paths.get(\"simplehttp.json\")))\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::readFile: simplehttp.json\n```\n\n{{% /example %}}\n{{% example %}}\n### Json File\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\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 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 }\n}\n```\n```yaml\n{}\n```\n\n * `description` - User defined description.\n * `deviceGroup` - The name of the device group that the application service is assigned to.\n * `executeAction` - Run the specified template action associated with the application.\n * `inheritedDevicegroup`- 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` - 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 * `partition` - Displays the administrative partition within which the application resides.\n * `strictUpdates` - Specifies whether configuration objects contained in the application may be directly modified, outside the context of the system's application management interfaces.\n * `template` - 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` - 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` - Indicates any missing prerequisites associated with the template that defines this application.\n * `trafficGroup` - The name of the traffic group that the application service is assigned to.\n * `lists` - string values\n * `metadata` - User defined generic data for the application service. It is a name and value pair.\n * `tables` - Values provided like pool name, nodes etc.\n * `variables` - Name, values, encrypted or not\n{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", @@ -14117,18 +15310,18 @@ } }, "f5bigip:sys/ntp:Ntp": { - "description": "`f5bigip.sys.Ntp` provides details about a specific bigip\n\nThis resource is helpful when configuring NTP server on the BIG-IP.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.sys.Ntp` resource is helpful when configuring NTP server on the BIG-IP.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", - "description": "Name of the ntp Servers\n" + "description": "User defined description.\n" }, "servers": { "type": "array", "items": { "type": "string" }, - "description": "Adds NTP servers to or deletes NTP servers from the BIG-IP system.\n" + "description": "Specifies the time servers that the system uses to update the system time.\n" }, "timezone": { "type": "string", @@ -14136,19 +15329,20 @@ } }, "required": [ - "description" + "description", + "servers" ], "inputProperties": { "description": { "type": "string", - "description": "Name of the ntp Servers\n" + "description": "User defined description.\n" }, "servers": { "type": "array", "items": { "type": "string" }, - "description": "Adds NTP servers to or deletes NTP servers from the BIG-IP system.\n" + "description": "Specifies the time servers that the system uses to update the system time.\n" }, "timezone": { "type": "string", @@ -14156,21 +15350,22 @@ } }, "requiredInputs": [ - "description" + "description", + "servers" ], "stateInputs": { "description": "Input properties used for looking up and filtering Ntp resources.\n", "properties": { "description": { "type": "string", - "description": "Name of the ntp Servers\n" + "description": "User defined description.\n" }, "servers": { "type": "array", "items": { "type": "string" }, - "description": "Adds NTP servers to or deletes NTP servers from the BIG-IP system.\n" + "description": "Specifies the time servers that the system uses to update the system time.\n" }, "timezone": { "type": "string", @@ -14328,7 +15523,7 @@ } }, "f5bigip:sys/snmpTraps:SnmpTraps": { - "description": "`f5bigip.sys.SnmpTraps` provides details bout how to enable snmp_traps resource on BIG-IP\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst snmpTraps = new f5bigip.sys.SnmpTraps(\"snmp_traps\", {\n community: \"f5community\",\n description: \"Setup snmp traps\",\n host: \"195.10.10.1\",\n name: \"snmptraps\",\n port: 111,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsnmp_traps = f5bigip.sys.SnmpTraps(\"snmpTraps\",\n community=\"f5community\",\n description=\"Setup snmp traps\",\n host=\"195.10.10.1\",\n name=\"snmptraps\",\n port=111)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snmpTraps = new F5BigIP.Sys.SnmpTraps(\"snmpTraps\", new()\n {\n Community = \"f5community\",\n Description = \"Setup snmp traps\",\n Host = \"195.10.10.1\",\n Name = \"snmptraps\",\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, \"snmpTraps\", \u0026sys.SnmpTrapsArgs{\n\t\t\tCommunity: pulumi.String(\"f5community\"),\n\t\t\tDescription: pulumi.String(\"Setup snmp traps\"),\n\t\t\tHost: pulumi.String(\"195.10.10.1\"),\n\t\t\tName: pulumi.String(\"snmptraps\"),\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 .community(\"f5community\")\n .description(\"Setup snmp traps\")\n .host(\"195.10.10.1\")\n .name(\"snmptraps\")\n .port(111)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snmpTraps:\n type: f5bigip:sys:SnmpTraps\n properties:\n community: f5community\n description: Setup snmp traps\n host: 195.10.10.1\n name: snmptraps\n port: 111\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`f5bigip.sys.SnmpTraps` provides details bout how to enable snmp_traps resource on BIG-IP\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst snmpTraps = new f5bigip.sys.SnmpTraps(\"snmpTraps\", {\n community: \"f5community\",\n description: \"Setup snmp traps\",\n host: \"195.10.10.1\",\n name: \"snmptraps\",\n port: 111,\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nsnmp_traps = f5bigip.sys.SnmpTraps(\"snmpTraps\",\n community=\"f5community\",\n description=\"Setup snmp traps\",\n host=\"195.10.10.1\",\n name=\"snmptraps\",\n port=111)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snmpTraps = new F5BigIP.Sys.SnmpTraps(\"snmpTraps\", new()\n {\n Community = \"f5community\",\n Description = \"Setup snmp traps\",\n Host = \"195.10.10.1\",\n Name = \"snmptraps\",\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, \"snmpTraps\", \u0026sys.SnmpTrapsArgs{\n\t\t\tCommunity: pulumi.String(\"f5community\"),\n\t\t\tDescription: pulumi.String(\"Setup snmp traps\"),\n\t\t\tHost: pulumi.String(\"195.10.10.1\"),\n\t\t\tName: pulumi.String(\"snmptraps\"),\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 .community(\"f5community\")\n .description(\"Setup snmp traps\")\n .host(\"195.10.10.1\")\n .name(\"snmptraps\")\n .port(111)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snmpTraps:\n type: f5bigip:sys:SnmpTraps\n properties:\n community: f5community\n description: Setup snmp traps\n host: 195.10.10.1\n name: snmptraps\n port: 111\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "authPasswordencrypted": { "type": "string", @@ -14511,11 +15706,235 @@ }, "type": "object" } + }, + "f5bigip:vcmp/guest:Guest": { + "description": "`f5bigip.vcmp.Guest` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 coresPerSlot: 2,\n initialImage: \"12.1.2.iso\",\n mgmtAddress: \"10.1.1.1/24\",\n mgmtNetwork: \"bridged\",\n mgmtRoute: \"none\",\n minNumberOfSlots: 1,\n name: \"tf_guest\",\n numberOfSlots: 1,\n state: \"provisioned\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nvcmp_test = f5bigip.vcmp.Guest(\"vcmp-test\",\n cores_per_slot=2,\n initial_image=\"12.1.2.iso\",\n mgmt_address=\"10.1.1.1/24\",\n mgmt_network=\"bridged\",\n mgmt_route=\"none\",\n min_number_of_slots=1,\n name=\"tf_guest\",\n number_of_slots=1,\n state=\"provisioned\")\n```\n```csharp\nusing System.Collections.Generic;\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 CoresPerSlot = 2,\n InitialImage = \"12.1.2.iso\",\n MgmtAddress = \"10.1.1.1/24\",\n MgmtNetwork = \"bridged\",\n MgmtRoute = \"none\",\n MinNumberOfSlots = 1,\n Name = \"tf_guest\",\n NumberOfSlots = 1,\n State = \"provisioned\",\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\tCoresPerSlot: pulumi.Int(2),\n\t\t\tInitialImage: pulumi.String(\"12.1.2.iso\"),\n\t\t\tMgmtAddress: pulumi.String(\"10.1.1.1/24\"),\n\t\t\tMgmtNetwork: pulumi.String(\"bridged\"),\n\t\t\tMgmtRoute: pulumi.String(\"none\"),\n\t\t\tMinNumberOfSlots: pulumi.Int(1),\n\t\t\tName: pulumi.String(\"tf_guest\"),\n\t\t\tNumberOfSlots: pulumi.Int(1),\n\t\t\tState: pulumi.String(\"provisioned\"),\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 .coresPerSlot(2)\n .initialImage(\"12.1.2.iso\")\n .mgmtAddress(\"10.1.1.1/24\")\n .mgmtNetwork(\"bridged\")\n .mgmtRoute(\"none\")\n .minNumberOfSlots(1)\n .name(\"tf_guest\")\n .numberOfSlots(1)\n .state(\"provisioned\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vcmp-test:\n type: f5bigip:vcmp:Guest\n properties:\n coresPerSlot: 2\n initialImage: 12.1.2.iso\n mgmtAddress: 10.1.1.1/24\n mgmtNetwork: bridged\n mgmtRoute: none\n minNumberOfSlots: 1\n name: tf_guest\n numberOfSlots: 1\n state: provisioned\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "allowedSlots": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Contains those slots to which the guest is allowed to be assigned.\n" + }, + "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 `true`\n" + }, + "fullPath": { + "type": "string", + "description": "Resource name including prepended partition path.\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 : [`bridged`,`isolated`,`host-only`].\n" + }, + "mgmtRoute": { + "type": "string", + "description": "Specifies the gateway address for the `mgmt_address`. Can be set to `none` 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 : [`configured`,`provisioned`,`deployed`].\n" + }, + "virtualDisk": { + "type": "string", + "description": "Virtual disk associated with vCMP guest.\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" + } + }, + "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.\n" + }, + "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 `true`\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 : [`bridged`,`isolated`,`host-only`].\n" + }, + "mgmtRoute": { + "type": "string", + "description": "Specifies the gateway address for the `mgmt_address`. Can be set to `none` 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 : [`configured`,`provisioned`,`deployed`].\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.\n" + }, + "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 `true`\n" + }, + "fullPath": { + "type": "string", + "description": "Resource name including prepended partition path.\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 : [`bridged`,`isolated`,`host-only`].\n" + }, + "mgmtRoute": { + "type": "string", + "description": "Specifies the gateway address for the `mgmt_address`. Can be set to `none` 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 : [`configured`,`provisioned`,`deployed`].\n" + }, + "virtualDisk": { + "type": "string", + "description": "Virtual disk associated with vCMP guest.\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" + } + }, + "type": "object" + } } }, "functions": { "f5bigip:ltm/getDataGroup:getDataGroup": { - "description": "Use this data source (`f5bigip.ltm.DataGroup`) to get the data group details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst dG_TC3 = pulumi.output(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 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{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ltm.DataGroup`) to get the data group details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getDataGroup.\n", "properties": { @@ -14581,7 +16000,7 @@ } }, "f5bigip:ltm/getIrule:getIrule": { - "description": "Use this data source (`f5bigip.ltm.IRule`) to get the ltm irule details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test = pulumi.output(f5bigip.ltm.getIrule({\n name: \"terraform_irule\",\n partition: \"Common\",\n}));\n\nexport const bigipIrule = 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 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.applyValue(getIruleResult -\u003e getIruleResult.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{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ltm.IRule`) to get the ltm irule details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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.applyValue(getIruleResult -\u003e getIruleResult.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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getIrule.\n", "properties": { @@ -14630,7 +16049,7 @@ } }, "f5bigip:ltm/getMonitor:getMonitor": { - "description": "Use this data source (`f5bigip.ltm.Monitor`) to get the ltm monitor details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst monitor_TC1 = pulumi.output(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 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{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ltm.Monitor`) to get the ltm monitor details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getMonitor.\n", "properties": { @@ -14851,7 +16270,7 @@ } }, "f5bigip:ltm/getPolicy:getPolicy": { - "description": "Use this data source (`f5bigip.ltm.Policy`) to get the ltm policy details available on BIG-IP\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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.applyValue(getPolicyResult -\u003e getPolicyResult.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{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ltm.Policy`) to get the ltm policy details available on BIG-IP\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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.applyValue(getPolicyResult -\u003e getPolicyResult.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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getPolicy.\n", "properties": { @@ -14943,7 +16362,7 @@ } }, "f5bigip:ltm/getPool:getPool": { - "description": "Use this data source (`f5bigip.ltm.Pool`) to get the ltm monitor details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst pool_Example = pulumi.output(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 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{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ltm.Pool`) to get the ltm monitor details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getPool.\n", "properties": { @@ -14990,7 +16409,7 @@ } }, "f5bigip:ssl/getCertificate:getCertificate": { - "description": "Use this data source (`f5bigip.ssl.Certificate`) to get the ssl-certificate details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst test = pulumi.output(f5bigip.ssl.getCertificate({\n name: \"terraform_ssl_certificate\",\n partition: \"Common\",\n}));\n\nexport const bigipSslCertificateName = 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 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.applyValue(getCertificateResult -\u003e getCertificateResult.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{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ssl.Certificate`) to get the ssl-certificate details available on BIG-IP\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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.applyValue(getCertificateResult -\u003e getCertificateResult.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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getCertificate.\n", "properties": { @@ -15038,7 +16457,7 @@ } }, "f5bigip:ssl/getVWanConfig:getVWanConfig": { - "description": "Use this data source (`f5bigip.ssl.getVWanConfig`) to get the vWAN site config from Azure VWAN Site\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vwanconfig = pulumi.output(f5bigip.ssl.getVWanConfig({\n azureVwanName: \"azurevwan-bigip-vwan-9c8d\",\n azureVwanResourcegroup: \"azurevwan-bigip-rg-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_name=\"azurevwan-bigip-vwan-9c8d\",\n azure_vwan_resourcegroup=\"azurevwan-bigip-rg-9c8d\",\n azure_vwan_vpnsite=\"azurevwan-bigip-vsite-9c8d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vwanconfig = F5BigIP.Ssl.GetVWanConfig.Invoke(new()\n {\n AzureVwanName = \"azurevwan-bigip-vwan-9c8d\",\n AzureVwanResourcegroup = \"azurevwan-bigip-rg-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\tAzureVwanName: \"azurevwan-bigip-vwan-9c8d\",\n\t\t\tAzureVwanResourcegroup: \"azurevwan-bigip-rg-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 .azureVwanName(\"azurevwan-bigip-vwan-9c8d\")\n .azureVwanResourcegroup(\"azurevwan-bigip-rg-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 azureVwanName: azurevwan-bigip-vwan-9c8d\n azureVwanResourcegroup: azurevwan-bigip-rg-9c8d\n azureVwanVpnsite: azurevwan-bigip-vsite-9c8d\n```\n{{% /example %}}\n{{% /examples %}}\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", + "description": "Use this data source (`f5bigip.ssl.getVWanConfig`) to get the vWAN site config from Azure VWAN Site\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst vwanconfig = f5bigip.ssl.getVWanConfig({\n azureVwanName: \"azurevwan-bigip-vwan-9c8d\",\n azureVwanResourcegroup: \"azurevwan-bigip-rg-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_name=\"azurevwan-bigip-vwan-9c8d\",\n azure_vwan_resourcegroup=\"azurevwan-bigip-rg-9c8d\",\n azure_vwan_vpnsite=\"azurevwan-bigip-vsite-9c8d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vwanconfig = F5BigIP.Ssl.GetVWanConfig.Invoke(new()\n {\n AzureVwanName = \"azurevwan-bigip-vwan-9c8d\",\n AzureVwanResourcegroup = \"azurevwan-bigip-rg-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\tAzureVwanName: \"azurevwan-bigip-vwan-9c8d\",\n\t\t\tAzureVwanResourcegroup: \"azurevwan-bigip-rg-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 .azureVwanName(\"azurevwan-bigip-vwan-9c8d\")\n .azureVwanResourcegroup(\"azurevwan-bigip-rg-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 azureVwanName: azurevwan-bigip-vwan-9c8d\n azureVwanResourcegroup: azurevwan-bigip-rg-9c8d\n azureVwanVpnsite: azurevwan-bigip-vsite-9c8d\n```\n{{% /example %}}\n{{% /examples %}}\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": { @@ -15095,7 +16514,8 @@ }, "presharedKey": { "type": "string", - "description": "(type `string`) provides pre-shared-key used for IPSec Tunnel creation.\n" + "description": "(type `string`) provides pre-shared-key used for IPSec Tunnel creation.\n", + "secret": true }, "vwanGwAddresses": { "type": "array", @@ -15189,6 +16609,9 @@ "type": { "type": "string" }, + "url": { + "$ref": "#/types/f5bigip:ssl/getWafEntityParameterUrl:getWafEntityParameterUrl" + }, "valueType": { "type": "string" } @@ -15271,6 +16694,9 @@ "type": { "type": "string" }, + "url": { + "$ref": "#/types/f5bigip:ssl/getWafEntityParameterUrl:getWafEntityParameterUrl" + }, "valueType": { "type": "string" } @@ -15284,7 +16710,7 @@ } }, "f5bigip:ssl/getWafEntityUrl:getWafEntityUrl": { - "description": "Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to create JSON for WAF URL to later use with an existing WAF policy.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst wAFURL1 = pulumi.output(f5bigip.ssl.getWafEntityUrl({\n description: \"this is a test\",\n methodOverrides: [\n {\n allow: false,\n method: \"BCOPY\",\n },\n {\n allow: true,\n method: \"BDELETE\",\n },\n ],\n name: \"/foobar\",\n performStaging: true,\n protocol: \"HTTP\",\n signatureOverridesDisables: [\n 12345678,\n 87654321,\n ],\n type: \"explicit\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nw_afurl1 = f5bigip.ssl.get_waf_entity_url(description=\"this is a test\",\n method_overrides=[\n f5bigip.ssl.GetWafEntityUrlMethodOverrideArgs(\n allow=False,\n method=\"BCOPY\",\n ),\n f5bigip.ssl.GetWafEntityUrlMethodOverrideArgs(\n allow=True,\n method=\"BDELETE\",\n ),\n ],\n name=\"/foobar\",\n perform_staging=True,\n protocol=\"HTTP\",\n signature_overrides_disables=[\n 12345678,\n 87654321,\n ],\n type=\"explicit\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wAFURL1 = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n {\n Description = \"this is a test\",\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 Name = \"/foobar\",\n PerformStaging = true,\n Protocol = \"HTTP\",\n SignatureOverridesDisables = new[]\n {\n 12345678,\n 87654321,\n },\n Type = \"explicit\",\n });\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 .description(\"this is a test\")\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 .name(\"/foobar\")\n .performStaging(true)\n .protocol(\"HTTP\")\n .signatureOverridesDisables( \n 12345678,\n 87654321)\n .type(\"explicit\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n wAFURL1:\n Fn::Invoke:\n Function: f5bigip:ssl:getWafEntityUrl\n Arguments:\n description: this is a test\n methodOverrides:\n - allow: false\n method: BCOPY\n - allow: true\n method: BDELETE\n name: /foobar\n performStaging: true\n protocol: HTTP\n signatureOverridesDisables:\n - 1.2345678e+07\n - 8.7654321e+07\n type: explicit\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to create JSON for WAF URL to later use with an existing WAF policy.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst wAFURL1 = f5bigip.ssl.getWafEntityUrl({\n description: \"this is a test\",\n methodOverrides: [\n {\n allow: false,\n method: \"BCOPY\",\n },\n {\n allow: true,\n method: \"BDELETE\",\n },\n ],\n name: \"/foobar\",\n performStaging: true,\n protocol: \"HTTP\",\n signatureOverridesDisables: [\n 12345678,\n 87654321,\n ],\n type: \"explicit\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nw_afurl1 = f5bigip.ssl.get_waf_entity_url(description=\"this is a test\",\n method_overrides=[\n f5bigip.ssl.GetWafEntityUrlMethodOverrideArgs(\n allow=False,\n method=\"BCOPY\",\n ),\n f5bigip.ssl.GetWafEntityUrlMethodOverrideArgs(\n allow=True,\n method=\"BDELETE\",\n ),\n ],\n name=\"/foobar\",\n perform_staging=True,\n protocol=\"HTTP\",\n signature_overrides_disables=[\n 12345678,\n 87654321,\n ],\n type=\"explicit\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wAFURL1 = F5BigIP.Ssl.GetWafEntityUrl.Invoke(new()\n {\n Description = \"this is a test\",\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 Name = \"/foobar\",\n PerformStaging = true,\n Protocol = \"HTTP\",\n SignatureOverridesDisables = new[]\n {\n 12345678,\n 87654321,\n },\n Type = \"explicit\",\n });\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 .description(\"this is a test\")\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 .name(\"/foobar\")\n .performStaging(true)\n .protocol(\"HTTP\")\n .signatureOverridesDisables( \n 12345678,\n 87654321)\n .type(\"explicit\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n wAFURL1:\n fn::invoke:\n Function: f5bigip:ssl:getWafEntityUrl\n Arguments:\n description: this is a test\n methodOverrides:\n - allow: false\n method: BCOPY\n - allow: true\n method: BDELETE\n name: /foobar\n performStaging: true\n protocol: HTTP\n signatureOverridesDisables:\n - 1.2345678e+07\n - 8.7654321e+07\n type: explicit\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getWafEntityUrl.\n", "properties": { @@ -15384,7 +16810,7 @@ } }, "f5bigip:ssl/getWafPbSuggestions:getWafPbSuggestions": { - "description": "Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to export PB suggestions from an existing WAF policy.\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst pBWAF1 = pulumi.output(f5bigip.ssl.getWafPbSuggestions({\n minimumLearningScore: 20,\n partition: \"Common\",\n policyName: \"protect_me_policy\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\np_bwaf1 = f5bigip.ssl.get_waf_pb_suggestions(minimum_learning_score=20,\n partition=\"Common\",\n policy_name=\"protect_me_policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pBWAF1 = F5BigIP.Ssl.GetWafPbSuggestions.Invoke(new()\n {\n MinimumLearningScore = 20,\n Partition = \"Common\",\n PolicyName = \"protect_me_policy\",\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\tMinimumLearningScore: 20,\n\t\t\tPartition: \"Common\",\n\t\t\tPolicyName: \"protect_me_policy\",\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 .minimumLearningScore(20)\n .partition(\"Common\")\n .policyName(\"protect_me_policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n pBWAF1:\n Fn::Invoke:\n Function: f5bigip:ssl:getWafPbSuggestions\n Arguments:\n minimumLearningScore: 20\n partition: Common\n policyName: protect_me_policy\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to export PB suggestions from an existing WAF policy.\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst pBWAF1 = f5bigip.ssl.getWafPbSuggestions({\n minimumLearningScore: 20,\n partition: \"Common\",\n policyName: \"protect_me_policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\np_bwaf1 = f5bigip.ssl.get_waf_pb_suggestions(minimum_learning_score=20,\n partition=\"Common\",\n policy_name=\"protect_me_policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing F5BigIP = Pulumi.F5BigIP;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pBWAF1 = F5BigIP.Ssl.GetWafPbSuggestions.Invoke(new()\n {\n MinimumLearningScore = 20,\n Partition = \"Common\",\n PolicyName = \"protect_me_policy\",\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\tMinimumLearningScore: 20,\n\t\t\tPartition: \"Common\",\n\t\t\tPolicyName: \"protect_me_policy\",\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 .minimumLearningScore(20)\n .partition(\"Common\")\n .policyName(\"protect_me_policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n pBWAF1:\n fn::invoke:\n Function: f5bigip:ssl:getWafPbSuggestions\n Arguments:\n minimumLearningScore: 20\n partition: Common\n policyName: protect_me_policy\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getWafPbSuggestions.\n", "properties": { @@ -15449,7 +16875,7 @@ } }, "f5bigip:ssl/getWafPolicy:getWafPolicy": { - "description": "Use this data source (`f5bigip.WafPolicy`) to get the details of exist WAF policy BIG-IP.\n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst existpolicy = pulumi.output(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 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{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.WafPolicy`) to get the details of exist WAF policy BIG-IP.\n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getWafPolicy.\n", "properties": { @@ -15491,7 +16917,7 @@ } }, "f5bigip:ssl/getWafSignatures:getWafSignatures": { - "description": "Use this data source (`f5bigip.ssl.getWafSignatures`) to get the details of attack signatures available on BIG-IP WAF\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as f5bigip from \"@pulumi/f5bigip\";\n\nconst wAFSIG1 = pulumi.output(f5bigip.ssl.getWafSignatures({\n signatureId: 200104004,\n}));\n```\n```python\nimport pulumi\nimport pulumi_f5bigip as f5bigip\n\nw_afsig1 = f5bigip.ssl.get_waf_signatures(signature_id=200104004)\n```\n```csharp\nusing System.Collections.Generic;\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{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source (`f5bigip.ssl.getWafSignatures`) to get the details of attack signatures available on BIG-IP WAF\n \n \n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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\nw_afsig1 = f5bigip.ssl.get_waf_signatures(signature_id=200104004)\n```\n```csharp\nusing System.Collections.Generic;\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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getWafSignatures.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 9b54c51d..0e2353d7 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -2,34 +2,41 @@ module github.com/pulumi/pulumi-f5bigip/provider/v3 go 1.18 +replace github.com/F5Networks/terraform-provider-bigip => github.com/pulumi/terraform-provider-bigip v1.1.1-0.20221222064343-a10637b19c50 + require ( github.com/F5Networks/terraform-provider-bigip v1.3.3 github.com/hashicorp/terraform-plugin-sdk v1.7.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.28.1 - github.com/pulumi/pulumi/sdk/v3 v3.38.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.38.0 + github.com/pulumi/pulumi/sdk/v3 v3.51.0 ) require ( - cloud.google.com/go v0.100.2 // indirect - cloud.google.com/go/compute v1.5.0 // indirect + cloud.google.com/go v0.103.0 // indirect + cloud.google.com/go/compute v1.7.0 // indirect cloud.google.com/go/iam v0.3.0 // indirect - cloud.google.com/go/kms v1.1.0 // indirect + cloud.google.com/go/kms v1.4.0 // indirect cloud.google.com/go/logging v1.0.0 // indirect - cloud.google.com/go/storage v1.22.0 // indirect + cloud.google.com/go/storage v1.24.0 // indirect + github.com/AlecAivazis/survey/v2 v2.0.5 // indirect github.com/Azure/azure-pipeline-go v0.2.3 // indirect - github.com/Azure/azure-sdk-for-go v57.0.0+incompatible // indirect + github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1 // indirect github.com/Azure/azure-storage-blob-go v0.14.0 // indirect - github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.20 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.15 // indirect - github.com/Azure/go-autorest/autorest/azure/auth v0.5.8 // indirect - github.com/Azure/go-autorest/autorest/azure/cli v0.4.3 // indirect + github.com/Azure/go-autorest/autorest v0.11.28 // indirect + github.com/Azure/go-autorest/autorest/adal v0.9.21 // indirect + github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 // indirect + github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 // indirect github.com/Masterminds/goutils v1.1.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/Masterminds/sprig v2.22.0+incompatible // indirect @@ -40,18 +47,28 @@ require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/armon/go-metrics v0.4.0 // indirect github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go v1.40.34 // indirect - github.com/aws/aws-sdk-go-v2 v1.9.0 // indirect - github.com/aws/aws-sdk-go-v2/config v1.7.0 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.4.0 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.2.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.5.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.4.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.7.0 // indirect - github.com/aws/smithy-go v1.8.0 // indirect + github.com/aws/aws-sdk-go v1.44.68 // indirect + github.com/aws/aws-sdk-go-v2 v1.17.1 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/config v1.15.15 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.12.10 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.11.13 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.16.10 // indirect + github.com/aws/smithy-go v1.13.4 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/blang/semver v3.5.1+incompatible // indirect @@ -64,8 +81,8 @@ require ( github.com/edsrzf/mmap-go v1.1.0 // indirect github.com/emirpasic/gods v1.12.0 // indirect github.com/ettle/strcase v0.1.1 // indirect - github.com/f5devcentral/go-bigip v0.0.0-20220817175609-60a96e5b7c18 // indirect - github.com/f5devcentral/go-bigip/f5teem v0.0.0-20220817175609-60a96e5b7c18 // indirect + github.com/f5devcentral/go-bigip v0.0.0-20221222052045-30be93e76e22 // indirect + github.com/f5devcentral/go-bigip/f5teem v0.0.0-20221222052045-30be93e76e22 // indirect github.com/fatih/color v1.13.0 // indirect github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect github.com/go-git/gcfg v1.5.0 // indirect @@ -73,7 +90,8 @@ require ( github.com/go-git/go-git/v5 v5.4.2 // indirect github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.0.0 // indirect + github.com/golang-jwt/jwt v3.2.1+incompatible // indirect + github.com/golang-jwt/jwt/v4 v4.4.2 // indirect github.com/golang/glog v1.0.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect @@ -83,39 +101,48 @@ require ( github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/uuid v1.3.0 // indirect github.com/google/wire v0.5.0 // indirect - github.com/googleapis/gax-go/v2 v2.2.0 // indirect - github.com/googleapis/go-type-adapters v1.0.0 // indirect - github.com/gorilla/mux v1.7.4 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.1.0 // indirect + github.com/googleapis/gax-go/v2 v2.4.0 // indirect + github.com/gorilla/mux v1.8.0 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect github.com/hashicorp/go-getter v1.6.1 // indirect + github.com/hashicorp/go-hclog v1.2.2 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-retryablehttp v0.7.0 // indirect + github.com/hashicorp/go-plugin v1.4.5 // indirect + github.com/hashicorp/go-retryablehttp v0.7.1 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect + github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect + github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 // indirect + github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect github.com/hashicorp/go-sockaddr v1.0.2 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.13.0 // indirect + github.com/hashicorp/hcl/v2 v2.15.0 // indirect github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 // indirect - github.com/hashicorp/vault/api v1.1.1 // indirect - github.com/hashicorp/vault/sdk v0.2.1 // indirect + github.com/hashicorp/vault/api v1.8.2 // indirect + github.com/hashicorp/vault/sdk v0.6.1 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect github.com/huandu/xstrings v1.3.2 // indirect github.com/iancoleman/strcase v0.2.0 // indirect github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect github.com/imdario/mergo v0.3.12 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/kevinburke/ssh_config v1.1.0 // indirect - github.com/klauspost/compress v1.13.5 // indirect + github.com/klauspost/compress v1.15.1 // indirect + github.com/kylelemons/godebug v1.1.0 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-ieproxy v0.0.1 // indirect github.com/mattn/go-isatty v0.0.14 // indirect @@ -130,25 +157,27 @@ require ( github.com/mitchellh/hashstructure v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/muesli/cancelreader v0.2.2 // indirect github.com/natefinch/atomic v1.0.1 // indirect + github.com/oklog/run v1.1.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect github.com/pierrec/lz4 v2.6.1+incompatible // indirect + github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/posener/complete v1.2.1 // indirect - github.com/pulumi/pulumi-java/pkg v0.5.3 // indirect - github.com/pulumi/pulumi-yaml v0.5.4 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.38.0 // indirect + github.com/posener/complete v1.2.3 // indirect + github.com/pulumi/pulumi-java/pkg v0.7.1 // indirect + github.com/pulumi/pulumi-yaml v1.0.4 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.51.0 // indirect + github.com/pulumi/schema-tools v0.1.0 // indirect github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e // indirect github.com/rivo/uniseg v0.2.0 // indirect - github.com/rjeczalik/notify v0.9.2 // indirect - github.com/rogpeppe/go-internal v1.8.1 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect @@ -158,9 +187,9 @@ require ( github.com/sergi/go-diff v1.2.0 // indirect github.com/spf13/afero v1.6.0 // indirect github.com/spf13/cast v1.4.1 // indirect - github.com/spf13/cobra v1.4.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/stretchr/testify v1.7.2 // indirect + github.com/stretchr/testify v1.8.1 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect @@ -168,38 +197,34 @@ require ( github.com/ulikunitz/xz v0.5.8 // indirect github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect github.com/vmihailenco/tagparser v0.1.1 // indirect - github.com/xanzy/ssh-agent v0.3.1 // indirect + github.com/xanzy/ssh-agent v0.3.2 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/zclconf/go-cty v1.10.0 // indirect + github.com/zclconf/go-cty v1.12.1 // indirect github.com/zclconf/go-cty-yaml v1.0.1 // indirect go.opencensus.io v0.23.0 // indirect go.uber.org/atomic v1.9.0 // indirect - gocloud.dev v0.24.0 // indirect - gocloud.dev/secrets/hashivault v0.24.0 // indirect - golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect - golang.org/x/mod v0.5.0 // indirect - golang.org/x/net v0.0.0-20220325170049-de3da57026de // indirect - golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a // indirect - golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + gocloud.dev v0.27.0 // indirect + gocloud.dev/secrets/hashivault v0.27.0 // indirect + golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 // indirect + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect + golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b // indirect + golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c // indirect + golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect + golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24 // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect - google.golang.org/api v0.74.0 // indirect + golang.org/x/text v0.4.0 // indirect + golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect + golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect + google.golang.org/api v0.91.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf // indirect - google.golang.org/grpc v1.48.0 // indirect - google.golang.org/protobuf v1.28.0 // indirect - gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f // indirect + google.golang.org/genproto v0.0.0-20220802133213-ce4fa296bf78 // indirect + google.golang.org/grpc v1.51.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect lukechampine.com/frand v1.4.2 // indirect sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 // indirect ) - -replace github.com/F5Networks/terraform-provider-bigip => github.com/pulumi/terraform-provider-bigip v1.1.1-0.20220818130412-87fdfe6c19f9 diff --git a/provider/go.sum b/provider/go.sum index 4d41edab..f26d7862 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1,5 +1,5 @@ bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= -bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -19,7 +19,6 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= @@ -27,18 +26,17 @@ cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2T cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.88.0/go.mod h1:dnKwfYbP9hQhefiUvpbcAyoGSHUrOxR20JVElLiUvEY= -cloud.google.com/go v0.89.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.92.2/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.92.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.0/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.103.0 h1:YXtxp9ymmZjlGzxV7VrYQ8aaQuAgcqxSy6YhDX4I458= +cloud.google.com/go v0.103.0/go.mod h1:vwLx1nqLrzLX/fpwSMOXmFIqBOyHsvHbnAdbGSJ+mKk= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -47,82 +45,108 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0 h1:b1zWmYuuHz7gO9kDcM/EpHGr06UgsYNRpNJzI2kFiLM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/kms v0.1.0/go.mod h1:8Qp8PCAypHg4FdmlyW1QRAv09BGQ9Uzh7JnmIZxPk+c= -cloud.google.com/go/kms v1.1.0 h1:1yc4rLqCkVDS9Zvc7m+3mJ47kw0Uo5Q5+sMjcmUVUeM= -cloud.google.com/go/kms v1.1.0/go.mod h1:WdbppnCDMDpOvoYBMn1+gNmOeEoZYqAv+HeuKARGCXI= +cloud.google.com/go/kms v1.4.0 h1:iElbfoE61VeLhnZcGOltqL8HIly8Nhbe5t6JlH9GXjo= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/logging v1.0.0 h1:kaunpnoEh9L4hu6JUsBa8Y20LBfKnCuDhKUgdZp7oK8= cloud.google.com/go/logging v1.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= -cloud.google.com/go/monitoring v0.1.0/go.mod h1:Hpm3XfzJv+UTiXzCG5Ffp0wijzHTC7Cv4eR7o3x/fEE= +cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= +cloud.google.com/go/monitoring v1.5.0/go.mod h1:/o9y8NYX5j91JjD/JvGLYbi86kL11OjyJXq2XziLJu4= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.16.0/go.mod h1:6A8EfoWZ/lUvCWStKGwAWauJZSiuV0Mkmu6WilK/TxQ= -cloud.google.com/go/secretmanager v0.1.0/go.mod h1:3nGKHvnzDUVit7U0S9KAKJ4aOsO1xtwRG+7ey5LK1bM= +cloud.google.com/go/pubsub v1.24.0/go.mod h1:rWv09Te1SsRpRGPiWOMDKraMQTJyJps4MkUCoMGUgqw= +cloud.google.com/go/secretmanager v1.5.0/go.mod h1:5C9kM+RwSpkURNovKySkNvGQLUaOgyoR5W0RUx2SyHQ= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.16.1/go.mod h1:LaNorbty3ehnU3rEjXSNV/NRgQA0O8Y+uh6bPe5UOk4= -cloud.google.com/go/storage v1.22.0 h1:NUV0NNp9nkBuW66BFRLuMgldN60C57ET3dhbwLIYio8= -cloud.google.com/go/storage v1.22.0/go.mod h1:GbaLEoMqbVm6sx3Z0R++gSiBlgMv6yUi2q1DeGFKQgE= -cloud.google.com/go/trace v0.1.0/go.mod h1:wxEwsoeRVPbeSkt7ZC9nWCgmoKQRAoySN7XHW2AmI7g= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.24.0 h1:a4N0gIkx83uoVFGz8B2eAV3OhN90QoWF5OZWLKl39ig= +cloud.google.com/go/storage v1.24.0/go.mod h1:3xrJEFMXBsQLgxwThyjuD3aYlroL0TMRec1ypGUQ0KE= +cloud.google.com/go/trace v1.0.0/go.mod h1:4iErSByzxkyHWzzlAj63/Gmjz0NH1ASqhJguHpGcr6A= +cloud.google.com/go/trace v1.2.0/go.mod h1:Wc8y/uYyOhPy12KEnXG9XGrvfMz5F5SrYecQlbW1rwM= +code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= -contrib.go.opencensus.io/exporter/stackdriver v0.13.8/go.mod h1:huNtlWx75MwO7qMs0KrMxPZXzNNWebav1Sq/pm02JdQ= +contrib.go.opencensus.io/exporter/stackdriver v0.13.13/go.mod h1:5pSSGY0Bhuk7waTHuDf4aQ8D2DrhgETRo9fy6k3Xlzc= contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= +github.com/AlecAivazis/survey/v2 v2.0.5 h1:xpZp+Q55wi5C7Iaze+40onHnEkex1jSc34CltJjOoPM= github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= -github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= -github.com/Azure/azure-amqp-common-go/v3 v3.1.1/go.mod h1:YsDaPfaO9Ub2XeSKdIy2DfwuiQlHQCauHJwSqtrkECI= +github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-sdk-for-go v51.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v53.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go v57.0.0+incompatible h1:isVki3PbIFrwKvKdVP1byxo73/pt+Nn174YxW1k4PNw= -github.com/Azure/azure-sdk-for-go v57.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-service-bus-go v0.10.16/go.mod h1:MlkLwGGf1ewcx5jZadn0gUEty+tTg0RaElr6bPf+QhI= +github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible h1:bmmC38SlE8/E81nNADlgmVGurPWMHDX2YNXVQMrBpEE= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 h1:tz19qLF65vuu2ibfTqGVJxG/zZAI27NEIIbvAOQwYbw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 h1:Yoicul8bnVdQrhDMTHxdEckRGX01XvwXDHUT9zYZ3k0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 h1:jp0dGvZ7ZK0mgqnTSClMxa5xuRL7NZgHameVYF6BurY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.0.2/go.mod h1:LH9XQnMr2ZYxQdVdCrzLO9mxeDyrDFa6wbSI3x5zCZk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1 h1:QSdcrd/UFJv6Bp/CfoVf2SrENpFn9P6Yh8yb+xNhYMM= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1/go.mod h1:eZ4g6GUvXiGulfIbbhh1Xr4XwUYaYaWMqzGD/284wCA= github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= github.com/Azure/azure-storage-blob-go v0.14.0 h1:1BCg74AmVdYwO3dlKwtFU1V0wU2PZdREkXvAmZJRUlM= github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= -github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= -github.com/Azure/go-amqp v0.13.11/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= -github.com/Azure/go-amqp v0.13.12/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-amqp v0.17.0/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-amqp v0.17.5/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.3/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= -github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest v0.11.20 h1:s8H1PbCZSqg/DH7JMlOz6YMig6htWLNPsjDdlLqCx3M= -github.com/Azure/go-autorest/autorest v0.11.20/go.mod h1:o3tqFY+QR40VOlk+pV4d77mORO64jOXSgEnPQgLK6JY= +github.com/Azure/go-autorest/autorest v0.11.24/go.mod h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc= +github.com/Azure/go-autorest/autorest v0.11.25/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM= +github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/adal v0.9.15 h1:X+p2GF0GWyOiSmqohIaEeuNFNDY4I4EOlVuUQvFdWMk= -github.com/Azure/go-autorest/autorest/adal v0.9.15/go.mod h1:tGMin8I49Yij6AQ+rvV+Xa/zwxYQB5hmsd6DkfAx2+A= -github.com/Azure/go-autorest/autorest/azure/auth v0.5.8 h1:TzPg6B6fTZ0G1zBf3T54aI7p3cAT6u//TOXGPmFMOXg= -github.com/Azure/go-autorest/autorest/azure/auth v0.5.8/go.mod h1:kxyKZTSfKh8OVFWPAgOgQ/frrJgeYQJPyR5fLFmXko4= -github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= -github.com/Azure/go-autorest/autorest/azure/cli v0.4.3 h1:DOhB+nXkF7LN0JfBGB5YtCF6QLK8mLe4psaHF7ZQEKM= -github.com/Azure/go-autorest/autorest/azure/cli v0.4.3/go.mod h1:yAQ2b6eP/CmLPnmLvxtT1ALIY3OR1oFcCqVBi8vHiTc= +github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.21 h1:jjQnVFXPfekaqb8vIsv2G1lxshoW+oGv4MDlhRtnYZk= +github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 h1:P6bYXFoao05z5uhOQzbC3Qd8JqF3jUoocoTeIxkp2cA= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.5/go.mod h1:ADQAXrkgm7acgWVUNamOgh8YNrv4p27l3Wc55oVfpzg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 h1:w77/uPk80ZET2F+AfQExZyEWtn+0Rk/uw17m9fv5Ajc= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6/go.mod h1:piCfgPho7BiIDdEQ1+g4VmKyD5y+p/XtSNqE6Hc4QD0= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= +github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= @@ -132,33 +156,65 @@ github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+Z github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 h1:WVsrXCnHlDDX8ls+tootqRE87/hL9S/g4ewig9RsD/c= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/GoogleCloudPlatform/cloudsql-proxy v1.24.0/go.mod h1:3tx938GhY4FC+E1KT/jNjDw7Z5qxAEtIiERJ2sXjnII= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2/go.mod h1:qR6jVnZTKDCW3j+fC9mOEPHm++1nKDMkqbbkD6KNsfo= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= -github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= @@ -169,9 +225,15 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= @@ -182,45 +244,85 @@ github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/ github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= -github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q= +github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.19.39/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.40.34 h1:SBYmodndE2d4AYucuuJnOXk4MD1SFbucoIdpwKVKeSA= -github.com/aws/aws-sdk-go v1.40.34/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= -github.com/aws/aws-sdk-go-v2 v1.9.0 h1:+S+dSqQCN3MSU5vJRu1HqHrq00cJn6heIMU7X9hcsoo= -github.com/aws/aws-sdk-go-v2 v1.9.0/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= -github.com/aws/aws-sdk-go-v2/config v1.7.0 h1:J2cZ7qe+3IpqBEXnHUrFrOjoB9BlsXg7j53vxcl5IVg= -github.com/aws/aws-sdk-go-v2/config v1.7.0/go.mod h1:w9+nMZ7soXCe5nT46Ri354SNhXDQ6v+V5wqDjnZE+GY= -github.com/aws/aws-sdk-go-v2/credentials v1.4.0 h1:kmvesfjY861FzlCU9mvAfe01D9aeXcG2ZuC+k9F2YLM= -github.com/aws/aws-sdk-go-v2/credentials v1.4.0/go.mod h1:dgGR+Qq7Wjcd4AOAW5Rf5Tnv3+x7ed6kETXyS9WCuAY= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.0 h1:OxTAgH8Y4BXHD6PGCJ8DHx2kaZPCQfSTqmDsdRZFezE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.0/go.mod h1:CpNzHK9VEFUCknu50kkB8z58AH2B5DvPP7ea1LHve/Y= -github.com/aws/aws-sdk-go-v2/internal/ini v1.2.2 h1:d95cddM3yTm4qffj3P6EnP+TzX1SSkWaQypXSgT/hpA= -github.com/aws/aws-sdk-go-v2/internal/ini v1.2.2/go.mod h1:BQV0agm+JEhqR+2RT5e1XTFIDcAAV0eW6z2trp+iduw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0 h1:VNJ5NLBteVXEwE2F1zEXVmyIH58mZ6kIQGJoC7C+vkg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0/go.mod h1:R1KK+vY8AfalhG1AOu5e35pOD2SdoPKQCFLTvnxiohk= -github.com/aws/aws-sdk-go-v2/service/kms v1.5.0 h1:10e9mzaaYIIePEuxUzW5YJ8LKHNG/NX63evcvS3ux9U= -github.com/aws/aws-sdk-go-v2/service/kms v1.5.0/go.mod h1:w7JuP9Oq1IKMFQPkNe3V6s9rOssXzOVEMNEqK1L1bao= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.6.0/go.mod h1:B+7C5UKdVq1ylkI/A6O8wcurFtaux0R1njePNPtKwoA= -github.com/aws/aws-sdk-go-v2/service/ssm v1.10.0/go.mod h1:4dXS5YNqI3SNbetQ7X7vfsMlX6ZnboJA2dulBwJx7+g= -github.com/aws/aws-sdk-go-v2/service/sso v1.4.0 h1:sHXMIKYS6YiLPzmKSvDpPmOpJDHxmAUgbiF49YNVztg= -github.com/aws/aws-sdk-go-v2/service/sso v1.4.0/go.mod h1:+1fpWnL96DL23aXPpMGbsmKe8jLTEfbjuQoA4WS1VaA= -github.com/aws/aws-sdk-go-v2/service/sts v1.7.0 h1:1at4e5P+lvHNl2nUktdM2/v+rpICg/QSEr9TO/uW9vU= -github.com/aws/aws-sdk-go-v2/service/sts v1.7.0/go.mod h1:0qcSMCyASQPN2sk/1KQLQ2Fh6yq8wm0HSDAimPhzCoM= -github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= -github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.68 h1:7zNr5+HLG0TMq+ZcZ8KhT4eT2KyL7v+u7/jANKEIinM= +github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= +github.com/aws/aws-sdk-go-v2 v1.17.1 h1:02c72fDJr87N8RAC2s3Qu0YuvMRZKNZJ9F+lAehCazk= +github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3 h1:S/ZBwevQkr7gv5YxONYpGQxlMFFYSRfz3RMcjsC9Qhk= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3/go.mod h1:gNsR5CaXKmQSSzrmGxmwmct/r+ZBfbxorAuXYsj/M5Y= +github.com/aws/aws-sdk-go-v2/config v1.15.15 h1:yBV+J7Au5KZwOIrIYhYkTGJbifZPCkAnCFSvGsF3ui8= +github.com/aws/aws-sdk-go-v2/config v1.15.15/go.mod h1:A1Lzyy/o21I5/s2FbyX5AevQfSVXpvvIDCoVFD0BC4E= +github.com/aws/aws-sdk-go-v2/credentials v1.12.10 h1:7gGcMQePejwiKoDWjB9cWnpfVdnz/e5JwJFuT6OrroI= +github.com/aws/aws-sdk-go-v2/credentials v1.12.10/go.mod h1:g5eIM5XRs/OzIIK81QMBl+dAuDyoLN0VYaLP+tBqEOk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9 h1:hz8tc+OW17YqxyFFPSkvfSikbqWcyyHRyPVSTzC0+aI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9/go.mod h1:KDCCm4ONIdHtUloDcFvK2+vshZvx4Zmj7UMDfusuz5s= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21 h1:bpiKFJ9aC0xTVpygSRRRL/YHC1JZ+pHQHENATHuoiwo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21/go.mod h1:iIYPrQ2rYfZiB/iADYlhj9HHZ9TTi6PqKQPAqygohbE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.15/go.mod h1:pWrr2OoHlT7M/Pd2y4HV3gJyPb3qj5qMmnPkKSNPYK4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25 h1:nBO/RFxeq/IS5G9Of+ZrgucRciie2qpLy++3UGZ+q2E= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.9/go.mod h1:08tUpeSGN33QKSO7fwxXczNfiwCpbj+GxK6XKwqWVv0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19 h1:oRHDrwCTVT8ZXi4sr9Ld+EXk7N/KGssOr2ygNeojEhw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16 h1:f0ySVcmQhwmzn7zQozd8wBM3yuGBfzdpsOaKQ0/Epzw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6 h1:3L8pcjvgaSOs0zzZcMKzxDSkYKEpwJ2dNVDdxm68jAY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3 h1:4n4KCtv5SUoT5Er5XV41huuzrCqepxlW3SDI9qHQebc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10 h1:7LJcuRalaLw+GYQTMGmVUl4opg2HrDZkvn/L3KvIQfw= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9 h1:sHfDuhbOuuWSIAEDd3pma6p0JgUcR2iePxtCE8gfCxQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9 h1:sJdKvydGYDML9LTFcp6qq6Z5fIjN0Rdq2Gvw1hUg8tc= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 h1:y07kzPdcjuuyDVYWf1CCsQQ6kcAWMbFy+yIJ71xQBS0= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= +github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2 h1:NvzGue25jKnuAsh6yQ+TZ4ResMcnp49AWgWGm2L4b5o= +github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= +github.com/aws/aws-sdk-go-v2/service/sns v1.17.10/go.mod h1:uITsRNVMeCB3MkWpXxXw0eDz8pW4TYLzj+eyQtbhSxM= +github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFeI7UVv3riy/YBFOfICVqFvU= +github.com/aws/aws-sdk-go-v2/service/ssm v1.27.6/go.mod h1:fiFzQgj4xNOg4/wqmAiPvzgDMXPD+cUEplX/CYn+0j0= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.13 h1:DQpf+al+aWozOEmVEdml67qkVZ6vdtGUi71BZZWw40k= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.13/go.mod h1:d7ptRksDDgvXaUvxyHZ9SYh+iMDymm94JbVcgvSYSzU= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.10 h1:7tquJrhjYz2EsCBvA9VTl+sBAAh1bv7h/sGASdZOGGo= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmclSfl4l7cySoay8vz7p/ce0E= +github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.13.4 h1:/RN2z1txIJWeXeOkzX+Hk/4Uuvv7dWtCjbmVJcrskyk= +github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= @@ -228,24 +330,56 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1U github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= github.com/bsm/go-vlq v0.0.0-20150828105119-ec6e8d4f5f4e/go.mod h1:N+BjUcTjSxc2mtRGSCPsat1kze3CUtvJN3/jTXlp29k= +github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= +github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -256,44 +390,194 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= +github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= +github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= +github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/digitalocean/godo v1.78.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= +github.com/digitalocean/godo v1.81.0/go.mod h1:BPCqvwbjbGqxuUnIKB4EvS/AX7IDnNmt5fwvIkWo+ew= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.14+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -302,31 +586,56 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= -github.com/f5devcentral/go-bigip v0.0.0-20220817175609-60a96e5b7c18 h1:8gvD/Yhl72mYWx9Jb4PED3c0vGttFWZf/8QryXuSr20= -github.com/f5devcentral/go-bigip v0.0.0-20220817175609-60a96e5b7c18/go.mod h1:JZj/iVxDmEnGPyEwuNj7x0fuH2CtUBbD2J48MMp/SE8= -github.com/f5devcentral/go-bigip/f5teem v0.0.0-20220817175609-60a96e5b7c18 h1:i+qS+gfheTIP+XK5zPbF/xVBmb3DnrMPWzQy5j5V7mA= -github.com/f5devcentral/go-bigip/f5teem v0.0.0-20220817175609-60a96e5b7c18/go.mod h1:r7o5I22EvO+fps2u10bz4ZUlTlNHopQSWzVcW19hK3U= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= +github.com/f5devcentral/go-bigip v0.0.0-20221222052045-30be93e76e22 h1:/E23QOe3QdVoOlilDpIiW6Ga7DIh/CdR2ivmfd5lOA8= +github.com/f5devcentral/go-bigip v0.0.0-20221222052045-30be93e76e22/go.mod h1:JZj/iVxDmEnGPyEwuNj7x0fuH2CtUBbD2J48MMp/SE8= +github.com/f5devcentral/go-bigip/f5teem v0.0.0-20221222052045-30be93e76e22 h1:uhoo541F0pP+oumukbfo1ALKcDzecEdma/I7p8ofD8s= +github.com/f5devcentral/go-bigip/f5teem v0.0.0-20221222052045-30be93e76e22/go.mod h1:r7o5I22EvO+fps2u10bz4ZUlTlNHopQSWzVcW19hK3U= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/frankban/quicktest v1.13.0 h1:yNZif1OkDfNoDfb9zZa9aXIpejNR4F23Wely0c+Qdqk= +github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSGFplbWBSHaGolEQlNLgMgSE3ccnIQ= github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= @@ -348,39 +657,129 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2 github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= +github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/runtime v0.23.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-yaml v1.9.5/go.mod h1:U/jl18uSupI5rdI2jmuCswEA2htH9eXfferR3KfscvA= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0 h1:RAqyYixv1p7uEnocuy8P1nru5wprCh/MH2BIlW5z5/o= +github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= +github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -414,12 +813,15 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -435,20 +837,25 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/go-replayers/grpcreplay v1.1.0 h1:S5+I3zYyZ+GQz68OfbURDdt/+cSMqCK1wrvNx7WBzTE= github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= -github.com/google/go-replayers/httpreplay v1.0.0 h1:8SmT8fUYM4nueF+UnXIX8LJxNTb1vpPuknXz+yTWzL4= -github.com/google/go-replayers/httpreplay v1.0.0/go.mod h1:LJhKoTwS5Wy5Ld/peq8dFFG5OfJyHEz7ft+DsTUv25M= +github.com/google/go-replayers/httpreplay v1.1.1 h1:H91sIMlt1NZzN7R+/ASswyouLJfW0WLW7fhyUFvDEkY= +github.com/google/go-replayers/httpreplay v1.1.1/go.mod h1:gN9GeLIs7l6NUoVaSSnv2RiqK1NiwAmD0MrKeC9IIks= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -458,18 +865,19 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210506205249-923b5ab0fc1a/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210715191844-86eeefc3e471/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20220318212150-b2ab0324ddda/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= +github.com/google/pprof v0.0.0-20220608213341-c488b8fa1db3/go.mod h1:gSuNB+gJaOiQKLEZ+q+PK9Mq3SOzhRcw2GsGS/FhYDk= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -477,20 +885,59 @@ github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0 h1:zO8WHNx/MYiAKJ3d5spxZXZE6KHmIQGQcAzwUzV7qQw= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0 h1:s7jOdKSaksJVOxE0Y/S32otcfiP+UQ0cL8/GTKaONwE= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= -github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= -github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gophercloud/gophercloud v0.24.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gophercloud/gophercloud v0.25.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.10.2/go.mod h1:chrfS3YoLAlKTRE5cFWvCbt8uGAjshktT4PveTUpsFQ= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hanwen/go-fuse v1.0.0/go.mod h1:unqXarDXqzAk0rt98O2tVndEPIpUgLD9+rwFisZH3Ok= +github.com/hanwen/go-fuse/v2 v2.1.0/go.mod h1:oRyA5eK+pvJyv5otpO/DgccS8y/RvYMaO00GgRLGryc= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/cronexpr v1.1.1/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= +github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v0.0.0-20180715044906-d6c0cd880357/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= @@ -509,12 +956,18 @@ github.com/hashicorp/go-getter v1.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6p github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.16.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.1 h1:YQsLlGDJgwhXFpucSPyVbCBviQtjlHv3jLTlp8YmtEw= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.2 h1:ihRI7YFwcZdiSD7SIenIhHfQH3OuDvWerAUBZbeQS3M= +github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v0.0.0-20180717150148-3d5d8f294aa0/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= @@ -522,19 +975,35 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= -github.com/hashicorp/go-plugin v1.4.4 h1:NVdrSdFRt3SkZtNckJ6tog7gbpRrcbOjQi/rgF7JYWQ= +github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= +github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.5 h1:oTE/oQR4eghggRg8VY7PAz3dr++VwDNBGCcOfIvHpBo= +github.com/hashicorp/go-plugin v1.4.5/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= -github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= +github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= +github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 h1:p4AKXPPS24tO8Wc8i1gLvSKdmkiSY5xuju57czJ/IJQ= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.2/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 h1:om4Al8Oy7kCm/B86rLCLah4Dt5Aa0Fr5rYBG60OzwHQ= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= @@ -545,22 +1014,32 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= -github.com/hashicorp/hcl/v2 v2.13.0 h1:0Apadu1w6M11dyGFxWnmhhcMjkbAiKCv7G1r/2QgCNc= -github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hcl/v2 v2.15.0 h1:CPDXO6+uORPjKflkWCCwoWc9uRp+zSIPcCQ+BrxV7m8= +github.com/hashicorp/hcl/v2 v2.15.0/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= github.com/hashicorp/hcl2 v0.0.0-20190821123243-0c888d1241f6/go.mod h1:Cxv+IJLuBiEhQ7pBYGEuORa0nr4U994pE8mYLuFd7v0= github.com/hashicorp/hil v0.0.0-20190212112733-ab17b08d6590/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79oXjopTyH6E8LF0CEMq67STgrlmBRIyijA0tuR5o= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/terraform-config-inspect v0.0.0-20190821133035-82a99dc22ef4/go.mod h1:JDmizlhaP5P0rYTTZB0reDMefAiJyfWPEtugV4in1oI= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8 h1:+RyjwU+Gnd/aTJBPZVDNm903eXVjjqhbaR4Ypx3xYyY= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= @@ -581,55 +1060,123 @@ github.com/hashicorp/terraform-plugin-test/v2 v2.1.1/go.mod h1:HaW2G5cDTVyiEKt7P github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 h1:HKLsbzeOsfXmKNpr3GiT18XAblV0BjCbzL8KQAMZGa0= github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= -github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE= -github.com/hashicorp/vault/api v1.1.1 h1:907ld+Z9cALyvbZK2qUX9cLwvSaEQsMVQB3x2KE8+AI= -github.com/hashicorp/vault/api v1.1.1/go.mod h1:29UXcn/1cLOPHQNMWA7bCz2By4PSd0VKPAydKXS5yN0= -github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= -github.com/hashicorp/vault/sdk v0.2.1 h1:S4O6Iv/dyKlE9AUTXGa7VOvZmsCvg36toPKgV4f2P4M= -github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U= +github.com/hashicorp/vault/api v1.7.2/go.mod h1:xbfA+1AvxFseDzxxdWaL0uO99n1+tndus4GCrtouy0M= +github.com/hashicorp/vault/api v1.8.2 h1:C7OL9YtOtwQbTKI9ogB0A1wffRbCN+rH/LLCHO3d8HM= +github.com/hashicorp/vault/api v1.8.2/go.mod h1:ML8aYzBIhY5m1MD1B2Q0JV89cC85YVH4t5kBaZiyVaE= +github.com/hashicorp/vault/sdk v0.5.1/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= +github.com/hashicorp/vault/sdk v0.5.3/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= +github.com/hashicorp/vault/sdk v0.6.1 h1:sjZC1z4j5Rh2GXYbkxn5BLK05S1p7+MhW4AgdUmgRUA= +github.com/hashicorp/vault/sdk v0.6.1/go.mod h1:Ck4JuAC6usTphfrrRJCRH+7/N7O2ozZzkm/fzQFt4uM= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hetznercloud/hcloud-go v1.33.1/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQbda1pHxkUmDlUME= +github.com/hetznercloud/hcloud-go v1.35.0/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= github.com/hexops/autogold v1.3.0 h1:IEtGNPxBeBu8RMn8eKWh/Ll9dVNgSnJ7bp/qHgMQ14o= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/valast v1.4.0 h1:sFzyxPDP0riFQUzSBXTCCrAbbIndHPWMndxuEjXdZlc= -github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174 h1:WlZsjVhE8Af9IcZDGgJGQpNflI3+MJSBhsgT5PCtzBQ= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd h1:anPrsicrIi2ColgWTVPk+TrN42hJIWlfPHSBP9S0ZkM= github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/ionos-cloud/sdk-go/v6 v6.1.0/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= +github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.12.1/go.mod h1:ZkhRC59Llhrq3oSfrikvwQ5NaxYExr6twkdkMLaKono= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.3.0/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= +github.com/jackc/pgtype v1.11.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= +github.com/jackc/pgx/v4 v4.16.1/go.mod h1:SIhx0D5hoADaiXZVyv+3gSm3LCIIINTVO0PficsvWGQ= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= @@ -643,18 +1190,26 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.13.5 h1:9O69jUPDcsT9fEm74W92rZL9FQY7rCdaXVneq+yyzl4= -github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.1 h1:y9FcTHGyrebwfP0ZZqFiaxTaiDnUrGkJkI+f583BL1A= +github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -662,7 +1217,29 @@ github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LE github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linode/linodego v1.4.0/go.mod h1:PVsRxSlOiJyvG4/scTszpmZDTdgS+to3X6eS8pRrWI8= +github.com/linode/linodego v1.8.0/go.mod h1:heqhl91D8QTPVm2k9qZHP78zzbOdTFLXE9NJc3bcc50= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= @@ -670,6 +1247,7 @@ github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcncea github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= @@ -678,19 +1256,35 @@ github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/ github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/microsoft/ApplicationInsights-Go v0.4.4/go.mod h1:fKRUseBqkw6bDiXTs3ESTiU/4YTIHsQS4W3fP2ieF4U= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.48/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/cli v1.1.1/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/cli v1.1.2 h1:PvH+lL2B7IQ101xQL63Of8yFS2y+aDlsFcsqNc+u/Kw= github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= @@ -713,20 +1307,33 @@ github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZX github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/hashstructure v1.0.0 h1:ZkRJX1CyOoTkar7p/mLS5TZU4nJ1Rn/F8u9dGS02Q3Y= github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= @@ -735,100 +1342,247 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nightlyone/lockfile v1.0.0 h1:RHep2cFKK4PonZJDdEl4GmkabuhbsRMgk/k3uAmxBiA= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.1 h1:LrvDIY//XNo65Lq84G/akBuMGlawHvGBABv8f/ZN6DI= github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= +github.com/prometheus/alertmanager v0.24.0/go.mod h1:r6fy/D7FRuZh5YbnX6J3MBY0eI4Pb5yPYS7/bPSXXqI= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common/assets v0.1.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/assets v0.2.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= +github.com/prometheus/exporter-toolkit v0.7.1/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g= github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/pulumi/pulumi-java/pkg v0.5.3 h1:wqiP6TnKZm+ocTRLVwjzmd3fApCKQkvwba0qoh7zMV4= -github.com/pulumi/pulumi-java/pkg v0.5.3/go.mod h1:leMQvQ5IR3APhejwcWSfwZnkHosKHygKRaWkIyhsvtw= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.28.1 h1:eA9UqT9fywdd47eB1rLfEOwx+FE24+DFlFxsm2dIL9k= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.28.1/go.mod h1:vJGI7DS84/eqsOjn1lOml/PpnYqO/f+2PQSf0X/VLyw= -github.com/pulumi/pulumi-yaml v0.5.4 h1:O4H0PD0hiJjpci0GJFSkihS+yC8rWACKxuLyjYVt5wo= -github.com/pulumi/pulumi-yaml v0.5.4/go.mod h1:e8BcP30yunk/u3mLXDykhtEQf8tTItYgQzPHDmRvJcg= -github.com/pulumi/pulumi/pkg/v3 v3.38.0 h1:JeL4iFCpW+56CPih/FOzdEFE4UyYBmiBt7g2hlu6JyU= -github.com/pulumi/pulumi/pkg/v3 v3.38.0/go.mod h1:AYMD/cLcFwYW0lZDTIgdy+QyCj3t/pTS1hNpUNwiXAs= -github.com/pulumi/pulumi/sdk/v3 v3.38.0 h1:xqO+t81RDY9w+GT+YRUZDHuvfYEz+vgQBkdtLe/8i7U= -github.com/pulumi/pulumi/sdk/v3 v3.38.0/go.mod h1:3/6Fr/c01n7Hw7mtAlO7X8WMBgLP5AVTyYe4CRfJQc4= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/prometheus v0.35.0/go.mod h1:7HaLx5kEPKJ0GDgbODG0fZgXbQ8K/XjZNJXQmbmgQlY= +github.com/prometheus/prometheus v0.37.0/go.mod h1:egARUgz+K93zwqsVIAneFlLZefyGOON44WyAp4Xqbbk= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/pulumi/pulumi-java/pkg v0.7.1 h1:3tl36+I5BRYVXbq10mqDeh3X5kdJBaNDYiATOfEfgSY= +github.com/pulumi/pulumi-java/pkg v0.7.1/go.mod h1:XdN2jYNlcQewr0MFecZfBnY3gnGcvV+WoPTzQqH48k4= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.38.0 h1:Bho2n0wbfq6UwE7YXYahHURXKTwpZVz2bBtz9WVpzN4= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.38.0/go.mod h1:RC9XOYwRU6c+1TtZKwwzpojz6POHz8Mbtx9qZcU+lPA= +github.com/pulumi/pulumi-yaml v1.0.4 h1:p+989rW3AqkkxbzxtxccHKAN4xCJi3K2cRpvA2K84tw= +github.com/pulumi/pulumi-yaml v1.0.4/go.mod h1:Szj8ud4Vqyq3oO1n3kzIUfaP3AiCjYZM4FYjOVWwJn8= +github.com/pulumi/pulumi/pkg/v3 v3.51.0 h1:FAgWGex4SIMvu3wCIoANjhI4uEUXk4IgHM/HMVZnZ0M= +github.com/pulumi/pulumi/pkg/v3 v3.51.0/go.mod h1:bFQ7L/kRgR7NIcVM4ET0Jm7n0k2oCeiEIUQtcEibKLs= +github.com/pulumi/pulumi/sdk/v3 v3.51.0 h1:i9xhvte67aNNk9q9M8/KV7An3zWp6Na8huKRznZx1lw= +github.com/pulumi/pulumi/sdk/v3 v3.51.0/go.mod h1:tqQ4z9ocyM/UI2VQ7ZReWR3w6dF5ffEozoHipOMcDh4= +github.com/pulumi/schema-tools v0.1.0 h1:o1nVQaJEnmcA+3trxe+0sIDlrILxEIOvgUQ2Ze4OFsk= +github.com/pulumi/schema-tools v0.1.0/go.mod h1:feL1siLWdcCNUm+irXoHyNHbGaqoX7pfYojpGZe2ziY= github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e h1:Dik4Qe/+xguB8JagPyXNlbOnRiXGmq/PSPQTGunYnTk= github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-provider-bigip v1.1.1-0.20220818130412-87fdfe6c19f9 h1:dJq4bYIUONbH5N+V76/K3eNUR0g5tk85tAlaw9JHBd8= -github.com/pulumi/terraform-provider-bigip v1.1.1-0.20220818130412-87fdfe6c19f9/go.mod h1:PL0w17at/PK8CNSePLNOhQ8veAqQ4XF7fBN6iqveS7E= +github.com/pulumi/terraform-provider-bigip v1.1.1-0.20221222064343-a10637b19c50 h1:fRHsXn9ywnHARL/EnPPKL4WuNLyNZ6DqbkSaBFfrpnE= +github.com/pulumi/terraform-provider-bigip v1.1.1-0.20221222064343-a10637b19c50/go.mod h1:2qOz91zSlvQoFs5zqIhBzBC7Th1oeNxuSzbs7wDEa+E= +github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8= -github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= +github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= +github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSvt8Y= @@ -837,31 +1591,67 @@ github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAm github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17 h1:lRAUE0dIvigSSFAmaM2dfg7OH8T+a8zJ5smEh09a/GI= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.4.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -869,17 +1659,33 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= @@ -887,6 +1693,17 @@ github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oW github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= @@ -894,79 +1711,184 @@ github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvC github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= +github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= -github.com/xanzy/ssh-agent v0.3.1 h1:AmzO1SSWxw73zxFZPRwaMN1MohDw8UyHnmuxyceTEGo= -github.com/xanzy/ssh-agent v0.3.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= +github.com/xanzy/ssh-agent v0.3.2 h1:eKj4SX2Fe7mui28ZgnFW5fmTz1EIr7ugo5s6wDxdHBM= +github.com/xanzy/ssh-agent v0.3.2/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.5.1/go.mod h1:nHzOclRkoj++EU9ZjSrZvRG0BXIWt8c7loYc0qXAFGQ= -github.com/zclconf/go-cty v1.10.0 h1:mp9ZXQeIcN8kAwuqorjH+Q+njbJKjLrvB2yIh4q7U+0= -github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.12.1 h1:PcupnljUm9EIvbgSHQnHhUr3fO6oFmkOrvs2BAFNXXY= +github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0/go.mod h1:5eCOqeGphOyz6TsY3ZDNjE33SM/TFAK3RGuCL2naTgY= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= +go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= +go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.1/go.mod h1:NEu79Xo32iVb+0gVNV8PMd7GoWqnyDXRlj04yFjqz40= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0/go.mod h1:M1hVZHNxcbkAlcvrOMlpQ4YOO3Awf+4N2dxkZL3xm04= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.6.1/go.mod h1:YJ/JbY5ag/tSQFXzH3mtDmHqzF3aFn3DI/aB1n7pt4w= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0/go.mod h1:ceUgdyfNv4h4gLxHR0WNfDiiVmZFodZhZSbOLhpxqXE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.6.1/go.mod h1:UJJXJj0rltNIemDMwkOJyggsvyMG9QHfJeFH0HS5JjM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0/go.mod h1:E+/KKhwOSw8yoPxSSuUHG6vKppkvhN+S1Jc7Nib3k3o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.6.1/go.mod h1:DAKwdo06hFLc0U88O10x4xnb5sc7dDRDqRuiN+io8JE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.7.0/go.mod h1:aFXT9Ng2seM9eizF+LfKiyPBGy8xIZKwhusC1gIu3hA= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= +go.opentelemetry.io/otel/metric v0.30.0/go.mod h1:/ShZ7+TS4dHzDFmfi1kSXMhMVubNoP0oIaBp70J6UXU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= +go.opentelemetry.io/otel/sdk v1.7.0/go.mod h1:uTEOTwaqIVuTGiJN7ii13Ibp75wJmYUDe374q6cZwUU= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= +go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= +go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.16.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -gocloud.dev v0.24.0 h1:cNtHD07zQQiv02OiwwDyVMuHmR7iQt2RLkzoAgz7wBs= -gocloud.dev v0.24.0/go.mod h1:uA+als++iBX5ShuG4upQo/3Zoz49iIPlYUWHV5mM8w8= -gocloud.dev/secrets/hashivault v0.24.0 h1:rutqnevHcRze+92YMGmjCH3gX+qES8IArg5qPhr8ZnM= -gocloud.dev/secrets/hashivault v0.24.0/go.mod h1:I4EieZgy8VTp5iVK2jSPlTidjENujhKq2Y/wXz8r8V0= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +gocloud.dev v0.27.0 h1:j0WTUsnKTxCsWO7y8T+YCiBZUmLl9w/WIowqAY3yo0g= +gocloud.dev v0.27.0/go.mod h1:YlYKhYsY5/1JdHGWQDkAuqkezVKowu7qbe9aIeUF6p0= +gocloud.dev/secrets/hashivault v0.27.0 h1:AAeGJXr0tiHHJgg5tL8atOGktB4eK9EJAqkZbPKAcOo= +gocloud.dev/secrets/hashivault v0.27.0/go.mod h1:offqsI5oj0B0bVHZdfk/88uIb3NnN93ia8py0yvRlHY= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 h1:vJ2V3lFLg+bBhgroYuRfyN583UzVveQmIXjc8T/y3to= +golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1002,28 +1924,39 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0 h1:UG21uOlmZabA4fW5i7ZX6bjw1xELEGg/ZLgZq9auk/Q= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190502183928-7f726cade0ab/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1038,14 +1971,17 @@ golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= @@ -1053,14 +1989,30 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de h1:pZB1TWnKi+o4bENlbzAgLrEbY4RMYmUIRobMcSmfeYc= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b h1:3ogNYyK4oIQdIKzTu68hQrr4iuVxF3AxKl9Aj/eDrw0= +golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1069,7 +2021,6 @@ golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -1078,28 +2029,39 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a h1:qfl7ob3DIEs3Ml9oLuPwY2N04gymzAW04WsUQHIClgM= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220628200809-02e64fa58f26/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c h1:q3gFqPqH7NVofKo3c3yETAP//pPI+G5mvB7qqj1Y5kY= +golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1107,29 +2069,52 @@ golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1137,52 +2122,94 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24 h1:TyKJRhyo17yWxOMCTHKWrc5rddHORMlnZ/j57umaUd8= +golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1193,34 +2220,55 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 h1:ftMN5LMiBFjbzleLqtoBZk7KdJwhuybIU+FckUHgoyQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1230,6 +2278,7 @@ golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1242,8 +2291,10 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -1251,24 +2302,36 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1287,7 +2350,6 @@ google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSr google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.37.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= @@ -1296,20 +2358,29 @@ google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59t google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.52.0/go.mod h1:Him/adpjt0sxtkWViy0b6xyKW/SD71CwdJ7HqJo7SrU= google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0 h1:ExR2D+5TYIrMphWgs5JCgwRhEDlPDXXrLwHHMgPHTXE= google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.86.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.91.0 h1:731+JzuwaJoZXRQGmPoBiV+SrsAfUaIkdMCWTcQNPyA= +google.golang.org/api v0.91.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= @@ -1317,12 +2388,15 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= @@ -1333,6 +2407,7 @@ google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1341,23 +2416,25 @@ google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1373,20 +2450,20 @@ google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxH google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210721163202-f1cecdd8b78a/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= @@ -1398,16 +2475,36 @@ google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf h1:JTjwKJX9erVpsw17w+OIPP7iAgEkN/r8urhWSunEDTs= -google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220802133213-ce4fa296bf78 h1:QntLWYqZeuBtJkth3m/6DLznnI0AHJr+AgJXvVh/izw= +google.golang.org/genproto v0.0.0-20220802133213-ce4fa296bf78/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1430,10 +2527,17 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.48.0 h1:rQOsyJ/8+ufEDJd/Gdsz7HG220Mh9HAhFHRGnIjda0w= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1448,29 +2552,40 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f h1:AQkMzsSzHWrgZWqGRpuRaRPDmyNibcXlpGcnQJ7HxZw= -gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/telebot.v3 v3.0.0/go.mod h1:7rExV8/0mDDNu9epSrDm/8j22KLaActH1Tbee6YjzWg= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1481,13 +2596,15 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1496,14 +2613,86 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= +k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8= +k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4= +k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= +k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.70.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= mvdan.cc/gofumpt v0.1.0 h1:hsVv+Y9UsZ/mFZTxJZuHVI6shSQCtzZ11h1JEFPAZLw= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 h1:hfyJ5ku9yFtLVOiSxa3IN+dx5eBQT9mPmKFypAmg8XM= sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/provider/resources.go b/provider/resources.go index d5e54573..e6d22932 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -36,6 +36,7 @@ const ( netMod = "Net" // Network sysMod = "Sys" // System sslMod = "Ssl" // Ssl + vcmpMod = "VCMP" // Virtual Clustered Multiprocessing (VCMP) mainMod = "Index" // Index ) @@ -123,25 +124,31 @@ func Provider() tfbridge.ProviderInfo { Markdown: []byte(" "), }, }, - "bigip_ssl_certificate": {Tok: makeResource(sslMod, "Certificate")}, - "bigip_ssl_key": {Tok: makeResource(sslMod, "Key")}, + + // VCMP + "bigip_vcmp_guest": {Tok: makeResource(vcmpMod, "Guest")}, + + // Index "bigip_as3": {Tok: makeResource(mainMod, "As3")}, - "bigip_do": {Tok: makeResource(mainMod, "Do")}, "bigip_bigiq_as3": {Tok: makeResource(mainMod, "BigIqAs3")}, "bigip_command": {Tok: makeResource(mainMod, "Command")}, "bigip_common_license_manage_bigiq": {Tok: makeResource(mainMod, "CommonLicenseManageBigIq")}, + "bigip_do": {Tok: makeResource(mainMod, "Do")}, "bigip_event_service_discovery": {Tok: makeResource(mainMod, "EventServiceDiscovery")}, - "bigip_ipsec_policy": {Tok: makeResource(mainMod, "IpsecPolicy")}, - "bigip_net_tunnel": {Tok: makeResource(mainMod, "NetTunnel")}, - "bigip_net_ike_peer": {Tok: makeResource(mainMod, "NetIkePeer")}, - "bigip_traffic_selector": {Tok: makeResource(mainMod, "TrafficSelector")}, - "bigip_fast_template": {Tok: makeResource(mainMod, "FastTemplate")}, "bigip_fast_application": {Tok: makeResource(mainMod, "FastApplication")}, - "bigip_ipsec_profile": {Tok: makeResource(mainMod, "IpsecProfile")}, - "bigip_waf_policy": {Tok: makeResource(mainMod, "WafPolicy")}, "bigip_fast_http_app": {Tok: makeResource(mainMod, "FastHttpApp")}, "bigip_fast_https_app": {Tok: makeResource(mainMod, "FastHttpsApp")}, "bigip_fast_tcp_app": {Tok: makeResource(mainMod, "FastTcpApp")}, + "bigip_fast_template": {Tok: makeResource(mainMod, "FastTemplate")}, + "bigip_fast_udp_app": {Tok: makeResource(mainMod, "FastUdpApp")}, + "bigip_ipsec_policy": {Tok: makeResource(mainMod, "IpsecPolicy")}, + "bigip_ipsec_profile": {Tok: makeResource(mainMod, "IpsecProfile")}, + "bigip_net_ike_peer": {Tok: makeResource(mainMod, "NetIkePeer")}, + "bigip_net_tunnel": {Tok: makeResource(mainMod, "NetTunnel")}, + "bigip_ssl_certificate": {Tok: makeResource(sslMod, "Certificate")}, + "bigip_ssl_key": {Tok: makeResource(sslMod, "Key")}, + "bigip_traffic_selector": {Tok: makeResource(mainMod, "TrafficSelector")}, + "bigip_waf_policy": {Tok: makeResource(mainMod, "WafPolicy")}, }, DataSources: map[string]*tfbridge.DataSourceInfo{ "bigip_ltm_datagroup": {Tok: makeDataSource(ltmMod, "getDataGroup")}, diff --git a/sdk/dotnet/As3.cs b/sdk/dotnet/As3.cs index 9bd1c6d3..15679ef6 100644 --- a/sdk/dotnet/As3.cs +++ b/sdk/dotnet/As3.cs @@ -60,7 +60,7 @@ namespace Pulumi.F5BigIP /// /// bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! /// - /// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + /// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { /// /// as3_json /// @@ -228,7 +228,7 @@ namespace Pulumi.F5BigIP /// /// bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! /// - /// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + /// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { /// /// as3_json /// diff --git a/sdk/dotnet/BigIqAs3.cs b/sdk/dotnet/BigIqAs3.cs index e8e35cba..7502d98c 100644 --- a/sdk/dotnet/BigIqAs3.cs +++ b/sdk/dotnet/BigIqAs3.cs @@ -116,6 +116,14 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "bigiqLoginRef", + "bigiqPassword", + "bigiqPort", + "bigiqTokenAuth", + "bigiqUser", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -151,35 +159,85 @@ public sealed class BigIqAs3Args : global::Pulumi.ResourceArgs [Input("bigiqAddress", required: true)] public Input BigiqAddress { get; set; } = null!; + [Input("bigiqLoginRef")] + private Input? _bigiqLoginRef; + /// /// BIGIQ Login reference for token authentication /// - [Input("bigiqLoginRef")] - public Input? BigiqLoginRef { get; set; } + public Input? BigiqLoginRef + { + get => _bigiqLoginRef; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqLoginRef = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqPassword", required: true)] + private Input? _bigiqPassword; /// /// Password of the BIG-IQ to which your targer BIG-IP is attached /// - [Input("bigiqPassword", required: true)] - public Input BigiqPassword { get; set; } = null!; + public Input? BigiqPassword + { + get => _bigiqPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqPort")] + private Input? _bigiqPort; /// /// type `int`, BIGIQ License Manager Port number, specify if port is other than `443` /// - [Input("bigiqPort")] - public Input? BigiqPort { get; set; } + public Input? BigiqPort + { + get => _bigiqPort; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqPort = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqTokenAuth")] + private Input? _bigiqTokenAuth; /// /// type `bool`, if set to `true` enables Token based Authentication,default is `false` /// - [Input("bigiqTokenAuth")] - public Input? BigiqTokenAuth { get; set; } + public Input? BigiqTokenAuth + { + get => _bigiqTokenAuth; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqTokenAuth = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqUser", required: true)] + private Input? _bigiqUser; /// /// User name of the BIG-IQ to which your targer BIG-IP is attached /// - [Input("bigiqUser", required: true)] - public Input BigiqUser { get; set; } = null!; + public Input? BigiqUser + { + get => _bigiqUser; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqUser = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Set True if you want to ignore metadata changes during update. By default it is set to `true` @@ -213,35 +271,85 @@ public sealed class BigIqAs3State : global::Pulumi.ResourceArgs [Input("bigiqAddress")] public Input? BigiqAddress { get; set; } + [Input("bigiqLoginRef")] + private Input? _bigiqLoginRef; + /// /// BIGIQ Login reference for token authentication /// - [Input("bigiqLoginRef")] - public Input? BigiqLoginRef { get; set; } + public Input? BigiqLoginRef + { + get => _bigiqLoginRef; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqLoginRef = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqPassword")] + private Input? _bigiqPassword; /// /// Password of the BIG-IQ to which your targer BIG-IP is attached /// - [Input("bigiqPassword")] - public Input? BigiqPassword { get; set; } + public Input? BigiqPassword + { + get => _bigiqPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqPort")] + private Input? _bigiqPort; /// /// type `int`, BIGIQ License Manager Port number, specify if port is other than `443` /// - [Input("bigiqPort")] - public Input? BigiqPort { get; set; } + public Input? BigiqPort + { + get => _bigiqPort; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqPort = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqTokenAuth")] + private Input? _bigiqTokenAuth; /// /// type `bool`, if set to `true` enables Token based Authentication,default is `false` /// - [Input("bigiqTokenAuth")] - public Input? BigiqTokenAuth { get; set; } + public Input? BigiqTokenAuth + { + get => _bigiqTokenAuth; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqTokenAuth = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqUser")] + private Input? _bigiqUser; /// /// User name of the BIG-IQ to which your targer BIG-IP is attached /// - [Input("bigiqUser")] - public Input? BigiqUser { get; set; } + public Input? BigiqUser + { + get => _bigiqUser; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqUser = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Set True if you want to ignore metadata changes during update. By default it is set to `true` diff --git a/sdk/dotnet/CommonLicenseManageBigIq.cs b/sdk/dotnet/CommonLicenseManageBigIq.cs index e30f5c78..33cf5304 100644 --- a/sdk/dotnet/CommonLicenseManageBigIq.cs +++ b/sdk/dotnet/CommonLicenseManageBigIq.cs @@ -210,6 +210,14 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "bigiqLoginRef", + "bigiqPassword", + "bigiqPort", + "bigiqTokenAuth", + "bigiqUser", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -245,35 +253,85 @@ public sealed class CommonLicenseManageBigIqArgs : global::Pulumi.ResourceArgs [Input("bigiqAddress", required: true)] public Input BigiqAddress { get; set; } = null!; + [Input("bigiqLoginRef")] + private Input? _bigiqLoginRef; + /// /// BIGIQ Login reference for token authentication /// - [Input("bigiqLoginRef")] - public Input? BigiqLoginRef { get; set; } + public Input? BigiqLoginRef + { + get => _bigiqLoginRef; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqLoginRef = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqPassword", required: true)] + private Input? _bigiqPassword; /// /// BIGIQ License Manager password. variable type `string` /// - [Input("bigiqPassword", required: true)] - public Input BigiqPassword { get; set; } = null!; + public Input? BigiqPassword + { + get => _bigiqPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqPort")] + private Input? _bigiqPort; /// /// type `int`, BIGIQ License Manager Port number, specify if port is other than `443` /// - [Input("bigiqPort")] - public Input? BigiqPort { get; set; } + public Input? BigiqPort + { + get => _bigiqPort; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqPort = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqTokenAuth")] + private Input? _bigiqTokenAuth; /// /// type `bool`, if set to `true` enables Token based Authentication,default is `false` /// - [Input("bigiqTokenAuth")] - public Input? BigiqTokenAuth { get; set; } + public Input? BigiqTokenAuth + { + get => _bigiqTokenAuth; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqTokenAuth = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqUser", required: true)] + private Input? _bigiqUser; /// /// BIGIQ License Manager username, variable type `string` /// - [Input("bigiqUser", required: true)] - public Input BigiqUser { get; set; } = null!; + public Input? BigiqUser + { + get => _bigiqUser; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqUser = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Status of Licence Assignment @@ -349,35 +407,85 @@ public sealed class CommonLicenseManageBigIqState : global::Pulumi.ResourceArgs [Input("bigiqAddress")] public Input? BigiqAddress { get; set; } + [Input("bigiqLoginRef")] + private Input? _bigiqLoginRef; + /// /// BIGIQ Login reference for token authentication /// - [Input("bigiqLoginRef")] - public Input? BigiqLoginRef { get; set; } + public Input? BigiqLoginRef + { + get => _bigiqLoginRef; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqLoginRef = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqPassword")] + private Input? _bigiqPassword; /// /// BIGIQ License Manager password. variable type `string` /// - [Input("bigiqPassword")] - public Input? BigiqPassword { get; set; } + public Input? BigiqPassword + { + get => _bigiqPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqPort")] + private Input? _bigiqPort; /// /// type `int`, BIGIQ License Manager Port number, specify if port is other than `443` /// - [Input("bigiqPort")] - public Input? BigiqPort { get; set; } + public Input? BigiqPort + { + get => _bigiqPort; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqPort = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqTokenAuth")] + private Input? _bigiqTokenAuth; /// /// type `bool`, if set to `true` enables Token based Authentication,default is `false` /// - [Input("bigiqTokenAuth")] - public Input? BigiqTokenAuth { get; set; } + public Input? BigiqTokenAuth + { + get => _bigiqTokenAuth; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqTokenAuth = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("bigiqUser")] + private Input? _bigiqUser; /// /// BIGIQ License Manager username, variable type `string` /// - [Input("bigiqUser")] - public Input? BigiqUser { get; set; } + public Input? BigiqUser + { + get => _bigiqUser; + set + { + var emptySecret = Output.CreateSecret(0); + _bigiqUser = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Status of Licence Assignment diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index d7265ba4..e45a24f8 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -30,7 +30,7 @@ public void Set(T value) } } - private static readonly Pulumi.Config __config = new Pulumi.Config("f5bigip"); + private static readonly global::Pulumi.Config __config = new global::Pulumi.Config("f5bigip"); private static readonly __Value _address = new __Value(() => __config.Get("address")); /// @@ -102,6 +102,16 @@ public static string? TokenValue set => _tokenValue.Set(value); } + private static readonly __Value _trustedCertPath = new __Value(() => __config.Get("trustedCertPath")); + /// + /// Valid Trusted Certificate path + /// + public static string? TrustedCertPath + { + get => _trustedCertPath.Get(); + set => _trustedCertPath.Set(value); + } + private static readonly __Value _username = new __Value(() => __config.Get("username")); /// /// Username with API access to the BigIP @@ -112,5 +122,15 @@ public static string? Username set => _username.Set(value); } + private static readonly __Value _validateCertsDisable = new __Value(() => __config.GetBoolean("validateCertsDisable")); + /// + /// If set to true, Disables TLS certificate check on BIG-IP. Default : True + /// + public static bool? ValidateCertsDisable + { + get => _validateCertsDisable.Get(); + set => _validateCertsDisable.Set(value); + } + } } diff --git a/sdk/dotnet/Do.cs b/sdk/dotnet/Do.cs index a7ad062c..551db953 100644 --- a/sdk/dotnet/Do.cs +++ b/sdk/dotnet/Do.cs @@ -110,6 +110,11 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "bigipPassword", + "bigipTokenAuth", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -140,12 +145,22 @@ public sealed class DoArgs : global::Pulumi.ResourceArgs [Input("bigipAddress")] public Input? BigipAddress { get; set; } + [Input("bigipPassword")] + private Input? _bigipPassword; + /// /// Password of BIGIP host to be used for this resource,this is optional parameter. /// whenever we specify this parameter it gets overwrite provider configuration /// - [Input("bigipPassword")] - public Input? BigipPassword { get; set; } + public Input? BigipPassword + { + get => _bigipPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _bigipPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Port number of BIGIP host to be used for this resource,this is optional parameter. @@ -154,11 +169,21 @@ public sealed class DoArgs : global::Pulumi.ResourceArgs [Input("bigipPort")] public Input? BigipPort { get; set; } + [Input("bigipTokenAuth")] + private Input? _bigipTokenAuth; + /// /// Enable to use an external authentication source (LDAP, TACACS, etc) /// - [Input("bigipTokenAuth")] - public Input? BigipTokenAuth { get; set; } + public Input? BigipTokenAuth + { + get => _bigipTokenAuth; + set + { + var emptySecret = Output.CreateSecret(0); + _bigipTokenAuth = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// UserName of BIGIP host to be used for this resource,this is optional parameter. @@ -200,12 +225,22 @@ public sealed class DoState : global::Pulumi.ResourceArgs [Input("bigipAddress")] public Input? BigipAddress { get; set; } + [Input("bigipPassword")] + private Input? _bigipPassword; + /// /// Password of BIGIP host to be used for this resource,this is optional parameter. /// whenever we specify this parameter it gets overwrite provider configuration /// - [Input("bigipPassword")] - public Input? BigipPassword { get; set; } + public Input? BigipPassword + { + get => _bigipPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _bigipPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Port number of BIGIP host to be used for this resource,this is optional parameter. @@ -214,11 +249,21 @@ public sealed class DoState : global::Pulumi.ResourceArgs [Input("bigipPort")] public Input? BigipPort { get; set; } + [Input("bigipTokenAuth")] + private Input? _bigipTokenAuth; + /// /// Enable to use an external authentication source (LDAP, TACACS, etc) /// - [Input("bigipTokenAuth")] - public Input? BigipTokenAuth { get; set; } + public Input? BigipTokenAuth + { + get => _bigipTokenAuth; + set + { + var emptySecret = Output.CreateSecret(0); + _bigipTokenAuth = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// UserName of BIGIP host to be used for this resource,this is optional parameter. diff --git a/sdk/dotnet/FastHttpApp.cs b/sdk/dotnet/FastHttpApp.cs index 9b99b2ea..a714352d 100644 --- a/sdk/dotnet/FastHttpApp.cs +++ b/sdk/dotnet/FastHttpApp.cs @@ -47,10 +47,10 @@ public partial class FastHttpApp : global::Pulumi.CustomResource public Output Application { get; private set; } = null!; /// - /// Name of an existing BIG-IP pool. + /// List of LTM Policies to be applied FAST HTTP Application. /// - [Output("existPoolName")] - public Output ExistPoolName { get; private set; } = null!; + [Output("endpointLtmPolicies")] + public Output> EndpointLtmPolicies { get; private set; } = null!; /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -59,30 +59,28 @@ public partial class FastHttpApp : global::Pulumi.CustomResource public Output ExistingMonitor { get; private set; } = null!; /// - /// Name of an existing BIG-IP SNAT pool. + /// Select an existing BIG-IP Pool /// - [Output("existingSnatPool")] - public Output ExistingSnatPool { get; private set; } = null!; + [Output("existingPool")] + public Output ExistingPool { get; private set; } = null!; /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - /// See Pool Monitor below for more details. + /// Name of an existing BIG-IP SNAT pool. /// - [Output("fastCreateMonitor")] - public Output FastCreateMonitor { get; private set; } = null!; + [Output("existingSnatPool")] + public Output ExistingSnatPool { get; private set; } = null!; /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. - /// See Pool Members below for more details. + /// Name of an existing WAF Security policy. /// - [Output("fastCreatePoolMembers")] - public Output> FastCreatePoolMembers { get; private set; } = null!; + [Output("existingWafSecurityPolicy")] + public Output ExistingWafSecurityPolicy { get; private set; } = null!; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// Json payload for FAST HTTP application. /// - [Output("fastCreateSnatPoolAddresses")] - public Output> FastCreateSnatPoolAddresses { get; private set; } = null!; + [Output("fastHttpJson")] + public Output FastHttpJson { get; private set; } = null!; /// /// 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 @@ -90,12 +88,38 @@ public partial class FastHttpApp : global::Pulumi.CustomResource [Output("loadBalancingMode")] public Output LoadBalancingMode { get; private set; } = null!; + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. + /// See Pool Monitor below for more details. + /// + [Output("monitor")] + public Output Monitor { get; private set; } = null!; + + /// + /// `pool_members` block takes input for FAST-Generated Pool. + /// See Pool Members below for more details. + /// + [Output("poolMembers")] + public Output> PoolMembers { get; private set; } = null!; + + /// + /// List of security log profiles to be used for FAST application + /// + [Output("securityLogProfiles")] + public Output> SecurityLogProfiles { get; private set; } = null!; + /// /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// [Output("slowRampTime")] public Output SlowRampTime { get; private set; } = null!; + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + [Output("snatPoolAddresses")] + public Output> SnatPoolAddresses { get; private set; } = null!; + /// /// Name of the FAST HTTPS application tenant. /// @@ -109,6 +133,13 @@ public partial class FastHttpApp : global::Pulumi.CustomResource [Output("virtualServer")] public Output VirtualServer { get; private set; } = null!; + /// + /// `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + /// See WAF Security Policy below for more details. + /// + [Output("wafSecurityPolicy")] + public Output WafSecurityPolicy { get; private set; } = null!; + /// /// Create a FastHttpApp resource with the given unique name, arguments, and options. @@ -161,11 +192,17 @@ public sealed class FastHttpAppArgs : global::Pulumi.ResourceArgs [Input("application", required: true)] public Input Application { get; set; } = null!; + [Input("endpointLtmPolicies")] + private InputList? _endpointLtmPolicies; + /// - /// Name of an existing BIG-IP pool. + /// List of LTM Policies to be applied FAST HTTP Application. /// - [Input("existPoolName")] - public Input? ExistPoolName { get; set; } + public InputList EndpointLtmPolicies + { + get => _endpointLtmPolicies ?? (_endpointLtmPolicies = new InputList()); + set => _endpointLtmPolicies = value; + } /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -173,6 +210,12 @@ public sealed class FastHttpAppArgs : global::Pulumi.ResourceArgs [Input("existingMonitor")] public Input? ExistingMonitor { get; set; } + /// + /// Select an existing BIG-IP Pool + /// + [Input("existingPool")] + public Input? ExistingPool { get; set; } + /// /// Name of an existing BIG-IP SNAT pool. /// @@ -180,49 +223,67 @@ public sealed class FastHttpAppArgs : global::Pulumi.ResourceArgs public Input? ExistingSnatPool { get; set; } /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + /// Name of an existing WAF Security policy. + /// + [Input("existingWafSecurityPolicy")] + public Input? ExistingWafSecurityPolicy { get; set; } + + /// + /// 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 + /// + [Input("loadBalancingMode")] + public Input? LoadBalancingMode { get; set; } + + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. /// See Pool Monitor below for more details. /// - [Input("fastCreateMonitor")] - public Input? FastCreateMonitor { get; set; } + [Input("monitor")] + public Input? Monitor { get; set; } - [Input("fastCreatePoolMembers")] - private InputList? _fastCreatePoolMembers; + [Input("poolMembers")] + private InputList? _poolMembers; /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. + /// `pool_members` block takes input for FAST-Generated Pool. /// See Pool Members below for more details. /// - public InputList FastCreatePoolMembers + public InputList PoolMembers { - get => _fastCreatePoolMembers ?? (_fastCreatePoolMembers = new InputList()); - set => _fastCreatePoolMembers = value; + get => _poolMembers ?? (_poolMembers = new InputList()); + set => _poolMembers = value; } - [Input("fastCreateSnatPoolAddresses")] - private InputList? _fastCreateSnatPoolAddresses; + [Input("securityLogProfiles")] + private InputList? _securityLogProfiles; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// List of security log profiles to be used for FAST application /// - public InputList FastCreateSnatPoolAddresses + public InputList SecurityLogProfiles { - get => _fastCreateSnatPoolAddresses ?? (_fastCreateSnatPoolAddresses = new InputList()); - set => _fastCreateSnatPoolAddresses = value; + get => _securityLogProfiles ?? (_securityLogProfiles = new InputList()); + set => _securityLogProfiles = value; } - /// - /// 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 - /// - [Input("loadBalancingMode")] - public Input? LoadBalancingMode { get; set; } - /// /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// [Input("slowRampTime")] public Input? SlowRampTime { get; set; } + [Input("snatPoolAddresses")] + private InputList? _snatPoolAddresses; + + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + public InputList SnatPoolAddresses + { + get => _snatPoolAddresses ?? (_snatPoolAddresses = new InputList()); + set => _snatPoolAddresses = value; + } + /// /// Name of the FAST HTTPS application tenant. /// @@ -236,6 +297,13 @@ public InputList FastCreateSnatPoolAddresses [Input("virtualServer")] public Input? VirtualServer { get; set; } + /// + /// `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + /// See WAF Security Policy below for more details. + /// + [Input("wafSecurityPolicy")] + public Input? WafSecurityPolicy { get; set; } + public FastHttpAppArgs() { } @@ -250,11 +318,17 @@ public sealed class FastHttpAppState : global::Pulumi.ResourceArgs [Input("application")] public Input? Application { get; set; } + [Input("endpointLtmPolicies")] + private InputList? _endpointLtmPolicies; + /// - /// Name of an existing BIG-IP pool. + /// List of LTM Policies to be applied FAST HTTP Application. /// - [Input("existPoolName")] - public Input? ExistPoolName { get; set; } + public InputList EndpointLtmPolicies + { + get => _endpointLtmPolicies ?? (_endpointLtmPolicies = new InputList()); + set => _endpointLtmPolicies = value; + } /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -262,6 +336,12 @@ public sealed class FastHttpAppState : global::Pulumi.ResourceArgs [Input("existingMonitor")] public Input? ExistingMonitor { get; set; } + /// + /// Select an existing BIG-IP Pool + /// + [Input("existingPool")] + public Input? ExistingPool { get; set; } + /// /// Name of an existing BIG-IP SNAT pool. /// @@ -269,49 +349,73 @@ public sealed class FastHttpAppState : global::Pulumi.ResourceArgs public Input? ExistingSnatPool { get; set; } /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + /// Name of an existing WAF Security policy. + /// + [Input("existingWafSecurityPolicy")] + public Input? ExistingWafSecurityPolicy { get; set; } + + /// + /// Json payload for FAST HTTP application. + /// + [Input("fastHttpJson")] + public Input? FastHttpJson { get; set; } + + /// + /// 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 + /// + [Input("loadBalancingMode")] + public Input? LoadBalancingMode { get; set; } + + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. /// See Pool Monitor below for more details. /// - [Input("fastCreateMonitor")] - public Input? FastCreateMonitor { get; set; } + [Input("monitor")] + public Input? Monitor { get; set; } - [Input("fastCreatePoolMembers")] - private InputList? _fastCreatePoolMembers; + [Input("poolMembers")] + private InputList? _poolMembers; /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. + /// `pool_members` block takes input for FAST-Generated Pool. /// See Pool Members below for more details. /// - public InputList FastCreatePoolMembers + public InputList PoolMembers { - get => _fastCreatePoolMembers ?? (_fastCreatePoolMembers = new InputList()); - set => _fastCreatePoolMembers = value; + get => _poolMembers ?? (_poolMembers = new InputList()); + set => _poolMembers = value; } - [Input("fastCreateSnatPoolAddresses")] - private InputList? _fastCreateSnatPoolAddresses; + [Input("securityLogProfiles")] + private InputList? _securityLogProfiles; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// List of security log profiles to be used for FAST application /// - public InputList FastCreateSnatPoolAddresses + public InputList SecurityLogProfiles { - get => _fastCreateSnatPoolAddresses ?? (_fastCreateSnatPoolAddresses = new InputList()); - set => _fastCreateSnatPoolAddresses = value; + get => _securityLogProfiles ?? (_securityLogProfiles = new InputList()); + set => _securityLogProfiles = value; } - /// - /// 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 - /// - [Input("loadBalancingMode")] - public Input? LoadBalancingMode { get; set; } - /// /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// [Input("slowRampTime")] public Input? SlowRampTime { get; set; } + [Input("snatPoolAddresses")] + private InputList? _snatPoolAddresses; + + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + public InputList SnatPoolAddresses + { + get => _snatPoolAddresses ?? (_snatPoolAddresses = new InputList()); + set => _snatPoolAddresses = value; + } + /// /// Name of the FAST HTTPS application tenant. /// @@ -325,6 +429,13 @@ public InputList FastCreateSnatPoolAddresses [Input("virtualServer")] public Input? VirtualServer { get; set; } + /// + /// `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + /// See WAF Security Policy below for more details. + /// + [Input("wafSecurityPolicy")] + public Input? WafSecurityPolicy { get; set; } + public FastHttpAppState() { } diff --git a/sdk/dotnet/FastHttpsApp.cs b/sdk/dotnet/FastHttpsApp.cs index ef02a84a..44a34cc7 100644 --- a/sdk/dotnet/FastHttpsApp.cs +++ b/sdk/dotnet/FastHttpsApp.cs @@ -47,17 +47,10 @@ public partial class FastHttpsApp : global::Pulumi.CustomResource public Output Application { get; private set; } = null!; /// - /// `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - /// See TLS Server Profile below for more details. - /// - [Output("createTlsServerProfile")] - public Output CreateTlsServerProfile { get; private set; } = null!; - - /// - /// Name of an existing BIG-IP pool. + /// List of LTM Policies to be applied FAST HTTPS Application. /// - [Output("existPoolName")] - public Output ExistPoolName { get; private set; } = null!; + [Output("endpointLtmPolicies")] + public Output> EndpointLtmPolicies { get; private set; } = null!; /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -65,6 +58,12 @@ public partial class FastHttpsApp : global::Pulumi.CustomResource [Output("existingMonitor")] public Output ExistingMonitor { get; private set; } = null!; + /// + /// Name of an existing BIG-IP pool. + /// + [Output("existingPool")] + public Output ExistingPool { get; private set; } = null!; + /// /// Name of an existing BIG-IP SNAT pool. /// @@ -72,24 +71,28 @@ public partial class FastHttpsApp : global::Pulumi.CustomResource public Output ExistingSnatPool { get; private set; } = null!; /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - /// See Pool Monitor below for more details. + /// Name of an existing TLS client profile. /// - [Output("fastCreateMonitor")] - public Output FastCreateMonitor { get; private set; } = null!; + [Output("existingTlsClientProfile")] + public Output ExistingTlsClientProfile { get; private set; } = null!; /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. - /// See Pool Members below for more details. + /// Name of an existing TLS server profile. /// - [Output("fastCreatePoolMembers")] - public Output> FastCreatePoolMembers { get; private set; } = null!; + [Output("existingTlsServerProfile")] + public Output ExistingTlsServerProfile { get; private set; } = null!; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// Name of an existing WAF Security policy. /// - [Output("fastCreateSnatPoolAddresses")] - public Output> FastCreateSnatPoolAddresses { get; private set; } = null!; + [Output("existingWafSecurityPolicy")] + public Output ExistingWafSecurityPolicy { get; private set; } = null!; + + /// + /// Json payload for FAST HTTPS application. + /// + [Output("fastHttpsJson")] + public Output FastHttpsJson { get; private set; } = null!; /// /// 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 @@ -97,12 +100,38 @@ public partial class FastHttpsApp : global::Pulumi.CustomResource [Output("loadBalancingMode")] public Output LoadBalancingMode { get; private set; } = null!; + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. + /// See Pool Monitor below for more details. + /// + [Output("monitor")] + public Output Monitor { get; private set; } = null!; + + /// + /// `pool_members` block takes input for FAST-Generated Pool. + /// See Pool Members below for more details. + /// + [Output("poolMembers")] + public Output> PoolMembers { get; private set; } = null!; + + /// + /// List of security log profiles to be used for FAST application + /// + [Output("securityLogProfiles")] + public Output> SecurityLogProfiles { get; private set; } = null!; + /// /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// [Output("slowRampTime")] public Output SlowRampTime { get; private set; } = null!; + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + [Output("snatPoolAddresses")] + public Output> SnatPoolAddresses { get; private set; } = null!; + /// /// Name of the FAST HTTPS application tenant. /// @@ -110,10 +139,18 @@ public partial class FastHttpsApp : global::Pulumi.CustomResource public Output Tenant { get; private set; } = null!; /// - /// Name of an existing TLS server profile. + /// `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + /// See TLS Client Profile below for more details. /// - [Output("tlsServerProfileName")] - public Output TlsServerProfileName { get; private set; } = null!; + [Output("tlsClientProfile")] + public Output TlsClientProfile { get; private set; } = null!; + + /// + /// `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + /// See TLS Server Profile below for more details. + /// + [Output("tlsServerProfile")] + public Output TlsServerProfile { get; private set; } = null!; /// /// `virtual_server` block will provide `ip` and `port` options to be used for virtual server. @@ -122,6 +159,13 @@ public partial class FastHttpsApp : global::Pulumi.CustomResource [Output("virtualServer")] public Output VirtualServer { get; private set; } = null!; + /// + /// `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + /// See WAF Security Policy below for more details. + /// + [Output("wafSecurityPolicy")] + public Output WafSecurityPolicy { get; private set; } = null!; + /// /// Create a FastHttpsApp resource with the given unique name, arguments, and options. @@ -174,18 +218,17 @@ public sealed class FastHttpsAppArgs : global::Pulumi.ResourceArgs [Input("application", required: true)] public Input Application { get; set; } = null!; - /// - /// `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - /// See TLS Server Profile below for more details. - /// - [Input("createTlsServerProfile")] - public Input? CreateTlsServerProfile { get; set; } + [Input("endpointLtmPolicies")] + private InputList? _endpointLtmPolicies; /// - /// Name of an existing BIG-IP pool. + /// List of LTM Policies to be applied FAST HTTPS Application. /// - [Input("existPoolName")] - public Input? ExistPoolName { get; set; } + public InputList EndpointLtmPolicies + { + get => _endpointLtmPolicies ?? (_endpointLtmPolicies = new InputList()); + set => _endpointLtmPolicies = value; + } /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -193,6 +236,12 @@ public sealed class FastHttpsAppArgs : global::Pulumi.ResourceArgs [Input("existingMonitor")] public Input? ExistingMonitor { get; set; } + /// + /// Name of an existing BIG-IP pool. + /// + [Input("existingPool")] + public Input? ExistingPool { get; set; } + /// /// Name of an existing BIG-IP SNAT pool. /// @@ -200,49 +249,79 @@ public sealed class FastHttpsAppArgs : global::Pulumi.ResourceArgs public Input? ExistingSnatPool { get; set; } /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + /// Name of an existing TLS client profile. + /// + [Input("existingTlsClientProfile")] + public Input? ExistingTlsClientProfile { get; set; } + + /// + /// Name of an existing TLS server profile. + /// + [Input("existingTlsServerProfile")] + public Input? ExistingTlsServerProfile { get; set; } + + /// + /// Name of an existing WAF Security policy. + /// + [Input("existingWafSecurityPolicy")] + public Input? ExistingWafSecurityPolicy { get; set; } + + /// + /// 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 + /// + [Input("loadBalancingMode")] + public Input? LoadBalancingMode { get; set; } + + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. /// See Pool Monitor below for more details. /// - [Input("fastCreateMonitor")] - public Input? FastCreateMonitor { get; set; } + [Input("monitor")] + public Input? Monitor { get; set; } - [Input("fastCreatePoolMembers")] - private InputList? _fastCreatePoolMembers; + [Input("poolMembers")] + private InputList? _poolMembers; /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. + /// `pool_members` block takes input for FAST-Generated Pool. /// See Pool Members below for more details. /// - public InputList FastCreatePoolMembers + public InputList PoolMembers { - get => _fastCreatePoolMembers ?? (_fastCreatePoolMembers = new InputList()); - set => _fastCreatePoolMembers = value; + get => _poolMembers ?? (_poolMembers = new InputList()); + set => _poolMembers = value; } - [Input("fastCreateSnatPoolAddresses")] - private InputList? _fastCreateSnatPoolAddresses; + [Input("securityLogProfiles")] + private InputList? _securityLogProfiles; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// List of security log profiles to be used for FAST application /// - public InputList FastCreateSnatPoolAddresses + public InputList SecurityLogProfiles { - get => _fastCreateSnatPoolAddresses ?? (_fastCreateSnatPoolAddresses = new InputList()); - set => _fastCreateSnatPoolAddresses = value; + get => _securityLogProfiles ?? (_securityLogProfiles = new InputList()); + set => _securityLogProfiles = value; } - /// - /// 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 - /// - [Input("loadBalancingMode")] - public Input? LoadBalancingMode { get; set; } - /// /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// [Input("slowRampTime")] public Input? SlowRampTime { get; set; } + [Input("snatPoolAddresses")] + private InputList? _snatPoolAddresses; + + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + public InputList SnatPoolAddresses + { + get => _snatPoolAddresses ?? (_snatPoolAddresses = new InputList()); + set => _snatPoolAddresses = value; + } + /// /// Name of the FAST HTTPS application tenant. /// @@ -250,10 +329,18 @@ public InputList FastCreateSnatPoolAddresses public Input Tenant { get; set; } = null!; /// - /// Name of an existing TLS server profile. + /// `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + /// See TLS Client Profile below for more details. /// - [Input("tlsServerProfileName")] - public Input? TlsServerProfileName { get; set; } + [Input("tlsClientProfile")] + public Input? TlsClientProfile { get; set; } + + /// + /// `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + /// See TLS Server Profile below for more details. + /// + [Input("tlsServerProfile")] + public Input? TlsServerProfile { get; set; } /// /// `virtual_server` block will provide `ip` and `port` options to be used for virtual server. @@ -262,6 +349,13 @@ public InputList FastCreateSnatPoolAddresses [Input("virtualServer")] public Input? VirtualServer { get; set; } + /// + /// `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + /// See WAF Security Policy below for more details. + /// + [Input("wafSecurityPolicy")] + public Input? WafSecurityPolicy { get; set; } + public FastHttpsAppArgs() { } @@ -276,18 +370,17 @@ public sealed class FastHttpsAppState : global::Pulumi.ResourceArgs [Input("application")] public Input? Application { get; set; } - /// - /// `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - /// See TLS Server Profile below for more details. - /// - [Input("createTlsServerProfile")] - public Input? CreateTlsServerProfile { get; set; } + [Input("endpointLtmPolicies")] + private InputList? _endpointLtmPolicies; /// - /// Name of an existing BIG-IP pool. + /// List of LTM Policies to be applied FAST HTTPS Application. /// - [Input("existPoolName")] - public Input? ExistPoolName { get; set; } + public InputList EndpointLtmPolicies + { + get => _endpointLtmPolicies ?? (_endpointLtmPolicies = new InputList()); + set => _endpointLtmPolicies = value; + } /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -295,6 +388,12 @@ public sealed class FastHttpsAppState : global::Pulumi.ResourceArgs [Input("existingMonitor")] public Input? ExistingMonitor { get; set; } + /// + /// Name of an existing BIG-IP pool. + /// + [Input("existingPool")] + public Input? ExistingPool { get; set; } + /// /// Name of an existing BIG-IP SNAT pool. /// @@ -302,49 +401,85 @@ public sealed class FastHttpsAppState : global::Pulumi.ResourceArgs public Input? ExistingSnatPool { get; set; } /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + /// Name of an existing TLS client profile. + /// + [Input("existingTlsClientProfile")] + public Input? ExistingTlsClientProfile { get; set; } + + /// + /// Name of an existing TLS server profile. + /// + [Input("existingTlsServerProfile")] + public Input? ExistingTlsServerProfile { get; set; } + + /// + /// Name of an existing WAF Security policy. + /// + [Input("existingWafSecurityPolicy")] + public Input? ExistingWafSecurityPolicy { get; set; } + + /// + /// Json payload for FAST HTTPS application. + /// + [Input("fastHttpsJson")] + public Input? FastHttpsJson { get; set; } + + /// + /// 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 + /// + [Input("loadBalancingMode")] + public Input? LoadBalancingMode { get; set; } + + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. /// See Pool Monitor below for more details. /// - [Input("fastCreateMonitor")] - public Input? FastCreateMonitor { get; set; } + [Input("monitor")] + public Input? Monitor { get; set; } - [Input("fastCreatePoolMembers")] - private InputList? _fastCreatePoolMembers; + [Input("poolMembers")] + private InputList? _poolMembers; /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. + /// `pool_members` block takes input for FAST-Generated Pool. /// See Pool Members below for more details. /// - public InputList FastCreatePoolMembers + public InputList PoolMembers { - get => _fastCreatePoolMembers ?? (_fastCreatePoolMembers = new InputList()); - set => _fastCreatePoolMembers = value; + get => _poolMembers ?? (_poolMembers = new InputList()); + set => _poolMembers = value; } - [Input("fastCreateSnatPoolAddresses")] - private InputList? _fastCreateSnatPoolAddresses; + [Input("securityLogProfiles")] + private InputList? _securityLogProfiles; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// List of security log profiles to be used for FAST application /// - public InputList FastCreateSnatPoolAddresses + public InputList SecurityLogProfiles { - get => _fastCreateSnatPoolAddresses ?? (_fastCreateSnatPoolAddresses = new InputList()); - set => _fastCreateSnatPoolAddresses = value; + get => _securityLogProfiles ?? (_securityLogProfiles = new InputList()); + set => _securityLogProfiles = value; } - /// - /// 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 - /// - [Input("loadBalancingMode")] - public Input? LoadBalancingMode { get; set; } - /// /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// [Input("slowRampTime")] public Input? SlowRampTime { get; set; } + [Input("snatPoolAddresses")] + private InputList? _snatPoolAddresses; + + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + public InputList SnatPoolAddresses + { + get => _snatPoolAddresses ?? (_snatPoolAddresses = new InputList()); + set => _snatPoolAddresses = value; + } + /// /// Name of the FAST HTTPS application tenant. /// @@ -352,10 +487,18 @@ public InputList FastCreateSnatPoolAddresses public Input? Tenant { get; set; } /// - /// Name of an existing TLS server profile. + /// `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + /// See TLS Client Profile below for more details. + /// + [Input("tlsClientProfile")] + public Input? TlsClientProfile { get; set; } + + /// + /// `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + /// See TLS Server Profile below for more details. /// - [Input("tlsServerProfileName")] - public Input? TlsServerProfileName { get; set; } + [Input("tlsServerProfile")] + public Input? TlsServerProfile { get; set; } /// /// `virtual_server` block will provide `ip` and `port` options to be used for virtual server. @@ -364,6 +507,13 @@ public InputList FastCreateSnatPoolAddresses [Input("virtualServer")] public Input? VirtualServer { get; set; } + /// + /// `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + /// See WAF Security Policy below for more details. + /// + [Input("wafSecurityPolicy")] + public Input? WafSecurityPolicy { get; set; } + public FastHttpsAppState() { } diff --git a/sdk/dotnet/FastTcpApp.cs b/sdk/dotnet/FastTcpApp.cs index 3fa63c8d..377d9ca3 100644 --- a/sdk/dotnet/FastTcpApp.cs +++ b/sdk/dotnet/FastTcpApp.cs @@ -24,9 +24,9 @@ namespace Pulumi.F5BigIP /// var fast_tcp_app = new F5BigIP.FastTcpApp("fast-tcp-app", new() /// { /// Application = "tcp_app_2", - /// FastCreatePoolMembers = new[] + /// PoolMembers = new[] /// { - /// new F5BigIP.Inputs.FastTcpAppFastCreatePoolMemberArgs + /// new F5BigIP.Inputs.FastTcpAppPoolMemberArgs /// { /// Addresses = new[] /// { @@ -59,12 +59,6 @@ public partial class FastTcpApp : global::Pulumi.CustomResource [Output("application")] public Output Application { get; private set; } = null!; - /// - /// Name of an existing BIG-IP pool. - /// - [Output("existPoolName")] - public Output ExistPoolName { get; private set; } = null!; - /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. /// @@ -72,30 +66,16 @@ public partial class FastTcpApp : global::Pulumi.CustomResource public Output ExistingMonitor { get; private set; } = null!; /// - /// Name of an existing BIG-IP SNAT pool. - /// - [Output("existingSnatPool")] - public Output ExistingSnatPool { get; private set; } = null!; - - /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - /// See Pool Monitor below for more details. - /// - [Output("fastCreateMonitor")] - public Output FastCreateMonitor { get; private set; } = null!; - - /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. - /// See Pool Members below for more details. + /// Name of an existing BIG-IP pool. /// - [Output("fastCreatePoolMembers")] - public Output> FastCreatePoolMembers { get; private set; } = null!; + [Output("existingPool")] + public Output ExistingPool { get; private set; } = null!; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// Name of an existing BIG-IP SNAT pool. /// - [Output("fastCreateSnatPoolAddresses")] - public Output> FastCreateSnatPoolAddresses { get; private set; } = null!; + [Output("existingSnatPool")] + public Output ExistingSnatPool { get; private set; } = null!; /// /// Json payload for FAST TCP application. @@ -109,12 +89,32 @@ public partial class FastTcpApp : global::Pulumi.CustomResource [Output("loadBalancingMode")] public Output LoadBalancingMode { get; private set; } = null!; + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. + /// See Pool Monitor below for more details. + /// + [Output("monitor")] + public Output Monitor { get; private set; } = null!; + + /// + /// `pool_members` block takes input for FAST-Generated Pool. + /// See Pool Members below for more details. + /// + [Output("poolMembers")] + public Output> PoolMembers { get; private set; } = null!; + /// /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// [Output("slowRampTime")] public Output SlowRampTime { get; private set; } = null!; + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + [Output("snatPoolAddresses")] + public Output> SnatPoolAddresses { get; private set; } = null!; + /// /// Name of the FAST TCP application tenant. /// @@ -180,18 +180,18 @@ public sealed class FastTcpAppArgs : global::Pulumi.ResourceArgs [Input("application", required: true)] public Input Application { get; set; } = null!; - /// - /// Name of an existing BIG-IP pool. - /// - [Input("existPoolName")] - public Input? ExistPoolName { get; set; } - /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. /// [Input("existingMonitor")] public Input? ExistingMonitor { get; set; } + /// + /// Name of an existing BIG-IP pool. + /// + [Input("existingPool")] + public Input? ExistingPool { get; set; } + /// /// Name of an existing BIG-IP SNAT pool. /// @@ -199,49 +199,49 @@ public sealed class FastTcpAppArgs : global::Pulumi.ResourceArgs public Input? ExistingSnatPool { get; set; } /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - /// See Pool Monitor below for more details. + /// 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 /// - [Input("fastCreateMonitor")] - public Input? FastCreateMonitor { get; set; } - - [Input("fastCreatePoolMembers")] - private InputList? _fastCreatePoolMembers; + [Input("loadBalancingMode")] + public Input? LoadBalancingMode { get; set; } /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. - /// See Pool Members below for more details. + /// `monitor` block takes input for FAST-Generated Pool Monitor. + /// See Pool Monitor below for more details. /// - public InputList FastCreatePoolMembers - { - get => _fastCreatePoolMembers ?? (_fastCreatePoolMembers = new InputList()); - set => _fastCreatePoolMembers = value; - } + [Input("monitor")] + public Input? Monitor { get; set; } - [Input("fastCreateSnatPoolAddresses")] - private InputList? _fastCreateSnatPoolAddresses; + [Input("poolMembers")] + private InputList? _poolMembers; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// `pool_members` block takes input for FAST-Generated Pool. + /// See Pool Members below for more details. /// - public InputList FastCreateSnatPoolAddresses + public InputList PoolMembers { - get => _fastCreateSnatPoolAddresses ?? (_fastCreateSnatPoolAddresses = new InputList()); - set => _fastCreateSnatPoolAddresses = value; + get => _poolMembers ?? (_poolMembers = new InputList()); + set => _poolMembers = value; } - /// - /// 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 - /// - [Input("loadBalancingMode")] - public Input? LoadBalancingMode { get; set; } - /// /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// [Input("slowRampTime")] public Input? SlowRampTime { get; set; } + [Input("snatPoolAddresses")] + private InputList? _snatPoolAddresses; + + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + public InputList SnatPoolAddresses + { + get => _snatPoolAddresses ?? (_snatPoolAddresses = new InputList()); + set => _snatPoolAddresses = value; + } + /// /// Name of the FAST TCP application tenant. /// @@ -269,18 +269,18 @@ public sealed class FastTcpAppState : global::Pulumi.ResourceArgs [Input("application")] public Input? Application { get; set; } - /// - /// Name of an existing BIG-IP pool. - /// - [Input("existPoolName")] - public Input? ExistPoolName { get; set; } - /// /// Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. /// [Input("existingMonitor")] public Input? ExistingMonitor { get; set; } + /// + /// Name of an existing BIG-IP pool. + /// + [Input("existingPool")] + public Input? ExistingPool { get; set; } + /// /// Name of an existing BIG-IP SNAT pool. /// @@ -288,54 +288,54 @@ public sealed class FastTcpAppState : global::Pulumi.ResourceArgs public Input? ExistingSnatPool { get; set; } /// - /// `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - /// See Pool Monitor below for more details. + /// Json payload for FAST TCP application. /// - [Input("fastCreateMonitor")] - public Input? FastCreateMonitor { get; set; } + [Input("fastTcpJson")] + public Input? FastTcpJson { get; set; } - [Input("fastCreatePoolMembers")] - private InputList? _fastCreatePoolMembers; + /// + /// 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 + /// + [Input("loadBalancingMode")] + public Input? LoadBalancingMode { get; set; } /// - /// `fast_create_pool_members` block takes input for FAST-Generated Pool. - /// See Pool Members below for more details. + /// `monitor` block takes input for FAST-Generated Pool Monitor. + /// See Pool Monitor below for more details. /// - public InputList FastCreatePoolMembers - { - get => _fastCreatePoolMembers ?? (_fastCreatePoolMembers = new InputList()); - set => _fastCreatePoolMembers = value; - } + [Input("monitor")] + public Input? Monitor { get; set; } - [Input("fastCreateSnatPoolAddresses")] - private InputList? _fastCreateSnatPoolAddresses; + [Input("poolMembers")] + private InputList? _poolMembers; /// - /// List of address to be used for FAST-Generated SNAT Pool. + /// `pool_members` block takes input for FAST-Generated Pool. + /// See Pool Members below for more details. /// - public InputList FastCreateSnatPoolAddresses + public InputList PoolMembers { - get => _fastCreateSnatPoolAddresses ?? (_fastCreateSnatPoolAddresses = new InputList()); - set => _fastCreateSnatPoolAddresses = value; + get => _poolMembers ?? (_poolMembers = new InputList()); + set => _poolMembers = value; } /// - /// Json payload for FAST TCP application. + /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds /// - [Input("fastTcpJson")] - public Input? FastTcpJson { get; set; } + [Input("slowRampTime")] + public Input? SlowRampTime { get; set; } - /// - /// 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 - /// - [Input("loadBalancingMode")] - public Input? LoadBalancingMode { get; set; } + [Input("snatPoolAddresses")] + private InputList? _snatPoolAddresses; /// - /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + /// List of address to be used for FAST-Generated SNAT Pool. /// - [Input("slowRampTime")] - public Input? SlowRampTime { get; set; } + public InputList SnatPoolAddresses + { + get => _snatPoolAddresses ?? (_snatPoolAddresses = new InputList()); + set => _snatPoolAddresses = value; + } /// /// Name of the FAST TCP application tenant. diff --git a/sdk/dotnet/FastUdpApp.cs b/sdk/dotnet/FastUdpApp.cs new file mode 100644 index 00000000..4b761964 --- /dev/null +++ b/sdk/dotnet/FastUdpApp.cs @@ -0,0 +1,568 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP +{ + /// + /// `f5bigip.FastUdpApp` This resource will create and manage FAST UDP applications on BIG-IP from provided JSON declaration. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using F5BigIP = Pulumi.F5BigIP; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var fast_udp_app = new F5BigIP.FastUdpApp("fast-udp-app", new() + /// { + /// Application = "udp_app_2", + /// PoolMembers = new[] + /// { + /// new F5BigIP.Inputs.FastUdpAppPoolMemberArgs + /// { + /// Addresses = new[] + /// { + /// "10.11.34.65", + /// "56.43.23.76", + /// }, + /// ConnectionLimit = 4, + /// Port = 443, + /// PriorityGroup = 1, + /// ShareNodes = true, + /// }, + /// }, + /// Tenant = "udp_app_tenant", + /// VirtualServer = new F5BigIP.Inputs.FastUdpAppVirtualServerArgs + /// { + /// Ip = "11.12.16.30", + /// Port = 443, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [F5BigIPResourceType("f5bigip:index/fastUdpApp:FastUdpApp")] + public partial class FastUdpApp : global::Pulumi.CustomResource + { + /// + /// Name of the FAST UDP application. + /// + [Output("application")] + public Output Application { get; private set; } = null!; + + /// + /// Enables use of FastL4 profiles. + /// + [Output("enableFastl4")] + public Output EnableFastl4 { get; private set; } = null!; + + /// + /// Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + /// + [Output("existingMonitor")] + public Output ExistingMonitor { get; private set; } = null!; + + /// + /// Name of an existing BIG-IP pool. + /// + [Output("existingPool")] + public Output ExistingPool { get; private set; } = null!; + + /// + /// Name of an existing BIG-IP FastL4 or UDP profile. + /// + [Output("existingProfile")] + public Output ExistingProfile { get; private set; } = null!; + + /// + /// Name of an existing BIG-IP SNAT pool. + /// + [Output("existingSnatPool")] + public Output ExistingSnatPool { get; private set; } = null!; + + /// + /// Type of fallback persistence record to be created for each new client connection. + /// + [Output("fallbackPersistence")] + public Output FallbackPersistence { get; private set; } = null!; + + /// + /// Json payload for FAST UDP application. + /// + [Output("fastUdpJson")] + public Output FastUdpJson { get; private set; } = null!; + + /// + /// Irules to attach to Virtual Server. + /// + [Output("irules")] + public Output> Irules { get; private set; } = null!; + + /// + /// 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 + /// + [Output("loadBalancingMode")] + public Output LoadBalancingMode { get; private set; } = null!; + + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. + /// See Pool Monitor below for more details. + /// + [Output("monitor")] + public Output Monitor { get; private set; } = null!; + + /// + /// Name of an existing BIG-IP persistence profile to be used. + /// + [Output("persistenceProfile")] + public Output PersistenceProfile { get; private set; } = null!; + + /// + /// Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + /// + [Output("persistenceType")] + public Output PersistenceType { get; private set; } = null!; + + /// + /// `pool_members` block takes input for FAST-Generated Pool. + /// See Pool Members below for more details. + /// + [Output("poolMembers")] + public Output> PoolMembers { get; private set; } = null!; + + /// + /// Existing security log profiles to enable. + /// + [Output("securityLogProfiles")] + public Output> SecurityLogProfiles { get; private set; } = null!; + + /// + /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + /// + [Output("slowRampTime")] + public Output SlowRampTime { get; private set; } = null!; + + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + [Output("snatPoolAddresses")] + public Output> SnatPoolAddresses { get; private set; } = null!; + + /// + /// Name of the FAST UDP application tenant. + /// + [Output("tenant")] + public Output Tenant { get; private set; } = null!; + + /// + /// `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + /// See virtual server below for more details. + /// + [Output("virtualServer")] + public Output VirtualServer { get; private set; } = null!; + + /// + /// Names of existing VLANs to allow. + /// + [Output("vlansAlloweds")] + public Output> VlansAlloweds { get; private set; } = null!; + + /// + /// Names of existing VLANs to reject. + /// + [Output("vlansRejecteds")] + public Output> VlansRejecteds { get; private set; } = null!; + + + /// + /// Create a FastUdpApp resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public FastUdpApp(string name, FastUdpAppArgs args, CustomResourceOptions? options = null) + : base("f5bigip:index/fastUdpApp:FastUdpApp", name, args ?? new FastUdpAppArgs(), MakeResourceOptions(options, "")) + { + } + + private FastUdpApp(string name, Input id, FastUdpAppState? state = null, CustomResourceOptions? options = null) + : base("f5bigip:index/fastUdpApp:FastUdpApp", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing FastUdpApp resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static FastUdpApp Get(string name, Input id, FastUdpAppState? state = null, CustomResourceOptions? options = null) + { + return new FastUdpApp(name, id, state, options); + } + } + + public sealed class FastUdpAppArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the FAST UDP application. + /// + [Input("application", required: true)] + public Input Application { get; set; } = null!; + + /// + /// Enables use of FastL4 profiles. + /// + [Input("enableFastl4")] + public Input? EnableFastl4 { get; set; } + + /// + /// Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + /// + [Input("existingMonitor")] + public Input? ExistingMonitor { get; set; } + + /// + /// Name of an existing BIG-IP pool. + /// + [Input("existingPool")] + public Input? ExistingPool { get; set; } + + /// + /// Name of an existing BIG-IP FastL4 or UDP profile. + /// + [Input("existingProfile")] + public Input? ExistingProfile { get; set; } + + /// + /// Name of an existing BIG-IP SNAT pool. + /// + [Input("existingSnatPool")] + public Input? ExistingSnatPool { get; set; } + + /// + /// Type of fallback persistence record to be created for each new client connection. + /// + [Input("fallbackPersistence")] + public Input? FallbackPersistence { get; set; } + + [Input("irules")] + private InputList? _irules; + + /// + /// Irules to attach to Virtual Server. + /// + public InputList Irules + { + get => _irules ?? (_irules = new InputList()); + set => _irules = value; + } + + /// + /// 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 + /// + [Input("loadBalancingMode")] + public Input? LoadBalancingMode { get; set; } + + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. + /// See Pool Monitor below for more details. + /// + [Input("monitor")] + public Input? Monitor { get; set; } + + /// + /// Name of an existing BIG-IP persistence profile to be used. + /// + [Input("persistenceProfile")] + public Input? PersistenceProfile { get; set; } + + /// + /// Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + /// + [Input("persistenceType")] + public Input? PersistenceType { get; set; } + + [Input("poolMembers")] + private InputList? _poolMembers; + + /// + /// `pool_members` block takes input for FAST-Generated Pool. + /// See Pool Members below for more details. + /// + public InputList PoolMembers + { + get => _poolMembers ?? (_poolMembers = new InputList()); + set => _poolMembers = value; + } + + [Input("securityLogProfiles")] + private InputList? _securityLogProfiles; + + /// + /// Existing security log profiles to enable. + /// + public InputList SecurityLogProfiles + { + get => _securityLogProfiles ?? (_securityLogProfiles = new InputList()); + set => _securityLogProfiles = value; + } + + /// + /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + /// + [Input("slowRampTime")] + public Input? SlowRampTime { get; set; } + + [Input("snatPoolAddresses")] + private InputList? _snatPoolAddresses; + + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + public InputList SnatPoolAddresses + { + get => _snatPoolAddresses ?? (_snatPoolAddresses = new InputList()); + set => _snatPoolAddresses = value; + } + + /// + /// Name of the FAST UDP application tenant. + /// + [Input("tenant", required: true)] + public Input Tenant { get; set; } = null!; + + /// + /// `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + /// See virtual server below for more details. + /// + [Input("virtualServer")] + public Input? VirtualServer { get; set; } + + [Input("vlansAlloweds")] + private InputList? _vlansAlloweds; + + /// + /// Names of existing VLANs to allow. + /// + public InputList VlansAlloweds + { + get => _vlansAlloweds ?? (_vlansAlloweds = new InputList()); + set => _vlansAlloweds = value; + } + + [Input("vlansRejecteds")] + private InputList? _vlansRejecteds; + + /// + /// Names of existing VLANs to reject. + /// + public InputList VlansRejecteds + { + get => _vlansRejecteds ?? (_vlansRejecteds = new InputList()); + set => _vlansRejecteds = value; + } + + public FastUdpAppArgs() + { + } + public static new FastUdpAppArgs Empty => new FastUdpAppArgs(); + } + + public sealed class FastUdpAppState : global::Pulumi.ResourceArgs + { + /// + /// Name of the FAST UDP application. + /// + [Input("application")] + public Input? Application { get; set; } + + /// + /// Enables use of FastL4 profiles. + /// + [Input("enableFastl4")] + public Input? EnableFastl4 { get; set; } + + /// + /// Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + /// + [Input("existingMonitor")] + public Input? ExistingMonitor { get; set; } + + /// + /// Name of an existing BIG-IP pool. + /// + [Input("existingPool")] + public Input? ExistingPool { get; set; } + + /// + /// Name of an existing BIG-IP FastL4 or UDP profile. + /// + [Input("existingProfile")] + public Input? ExistingProfile { get; set; } + + /// + /// Name of an existing BIG-IP SNAT pool. + /// + [Input("existingSnatPool")] + public Input? ExistingSnatPool { get; set; } + + /// + /// Type of fallback persistence record to be created for each new client connection. + /// + [Input("fallbackPersistence")] + public Input? FallbackPersistence { get; set; } + + /// + /// Json payload for FAST UDP application. + /// + [Input("fastUdpJson")] + public Input? FastUdpJson { get; set; } + + [Input("irules")] + private InputList? _irules; + + /// + /// Irules to attach to Virtual Server. + /// + public InputList Irules + { + get => _irules ?? (_irules = new InputList()); + set => _irules = value; + } + + /// + /// 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 + /// + [Input("loadBalancingMode")] + public Input? LoadBalancingMode { get; set; } + + /// + /// `monitor` block takes input for FAST-Generated Pool Monitor. + /// See Pool Monitor below for more details. + /// + [Input("monitor")] + public Input? Monitor { get; set; } + + /// + /// Name of an existing BIG-IP persistence profile to be used. + /// + [Input("persistenceProfile")] + public Input? PersistenceProfile { get; set; } + + /// + /// Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + /// + [Input("persistenceType")] + public Input? PersistenceType { get; set; } + + [Input("poolMembers")] + private InputList? _poolMembers; + + /// + /// `pool_members` block takes input for FAST-Generated Pool. + /// See Pool Members below for more details. + /// + public InputList PoolMembers + { + get => _poolMembers ?? (_poolMembers = new InputList()); + set => _poolMembers = value; + } + + [Input("securityLogProfiles")] + private InputList? _securityLogProfiles; + + /// + /// Existing security log profiles to enable. + /// + public InputList SecurityLogProfiles + { + get => _securityLogProfiles ?? (_securityLogProfiles = new InputList()); + set => _securityLogProfiles = value; + } + + /// + /// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + /// + [Input("slowRampTime")] + public Input? SlowRampTime { get; set; } + + [Input("snatPoolAddresses")] + private InputList? _snatPoolAddresses; + + /// + /// List of address to be used for FAST-Generated SNAT Pool. + /// + public InputList SnatPoolAddresses + { + get => _snatPoolAddresses ?? (_snatPoolAddresses = new InputList()); + set => _snatPoolAddresses = value; + } + + /// + /// Name of the FAST UDP application tenant. + /// + [Input("tenant")] + public Input? Tenant { get; set; } + + /// + /// `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + /// See virtual server below for more details. + /// + [Input("virtualServer")] + public Input? VirtualServer { get; set; } + + [Input("vlansAlloweds")] + private InputList? _vlansAlloweds; + + /// + /// Names of existing VLANs to allow. + /// + public InputList VlansAlloweds + { + get => _vlansAlloweds ?? (_vlansAlloweds = new InputList()); + set => _vlansAlloweds = value; + } + + [Input("vlansRejecteds")] + private InputList? _vlansRejecteds; + + /// + /// Names of existing VLANs to reject. + /// + public InputList VlansRejecteds + { + get => _vlansRejecteds ?? (_vlansRejecteds = new InputList()); + set => _vlansRejecteds = value; + } + + public FastUdpAppState() + { + } + public static new FastUdpAppState Empty => new FastUdpAppState(); + } +} diff --git a/sdk/dotnet/Inputs/FastHttpAppFastCreatePoolMemberGetArgs.cs b/sdk/dotnet/Inputs/FastHttpAppFastCreatePoolMemberGetArgs.cs deleted file mode 100644 index 24b0cd27..00000000 --- a/sdk/dotnet/Inputs/FastHttpAppFastCreatePoolMemberGetArgs.cs +++ /dev/null @@ -1,56 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.F5BigIP.Inputs -{ - - public sealed class FastHttpAppFastCreatePoolMemberGetArgs : global::Pulumi.ResourceArgs - { - [Input("addresses", required: true)] - private InputList? _addresses; - - /// - /// List of server address to be used for FAST-Generated Pool. - /// - public InputList Addresses - { - get => _addresses ?? (_addresses = new InputList()); - set => _addresses = value; - } - - /// - /// connectionLimit value to be used for FAST-Generated Pool. - /// - [Input("connectionLimit")] - public Input? ConnectionLimit { get; set; } - - /// - /// port number of serviceport to be used for FAST-Generated Pool. - /// - [Input("port")] - public Input? Port { get; set; } - - /// - /// priorityGroup value to be used for FAST-Generated Pool. - /// - [Input("priorityGroup")] - public Input? PriorityGroup { get; set; } - - /// - /// shareNodes value to be used for FAST-Generated Pool. - /// - [Input("shareNodes")] - public Input? ShareNodes { get; set; } - - public FastHttpAppFastCreatePoolMemberGetArgs() - { - } - public static new FastHttpAppFastCreatePoolMemberGetArgs Empty => new FastHttpAppFastCreatePoolMemberGetArgs(); - } -} diff --git a/sdk/dotnet/Inputs/FastHttpAppFastCreateMonitorArgs.cs b/sdk/dotnet/Inputs/FastHttpAppMonitorArgs.cs similarity index 75% rename from sdk/dotnet/Inputs/FastHttpAppFastCreateMonitorArgs.cs rename to sdk/dotnet/Inputs/FastHttpAppMonitorArgs.cs index fa827fc2..89a1b69b 100644 --- a/sdk/dotnet/Inputs/FastHttpAppFastCreateMonitorArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpAppMonitorArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastHttpAppFastCreateMonitorArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpAppMonitorArgs : global::Pulumi.ResourceArgs { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -24,11 +24,21 @@ public sealed class FastHttpAppFastCreateMonitorArgs : global::Pulumi.ResourceAr [Input("monitorAuth")] public Input? MonitorAuth { get; set; } + [Input("password")] + private Input? _password; + /// /// password for web access on FAST-Generated Pool Monitor. /// - [Input("password")] - public Input? Password { get; set; } + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// The presence of this string anywhere in the HTTP response implies availability. @@ -48,9 +58,9 @@ public sealed class FastHttpAppFastCreateMonitorArgs : global::Pulumi.ResourceAr [Input("username")] public Input? Username { get; set; } - public FastHttpAppFastCreateMonitorArgs() + public FastHttpAppMonitorArgs() { } - public static new FastHttpAppFastCreateMonitorArgs Empty => new FastHttpAppFastCreateMonitorArgs(); + public static new FastHttpAppMonitorArgs Empty => new FastHttpAppMonitorArgs(); } } diff --git a/sdk/dotnet/Inputs/FastHttpsAppFastCreateMonitorArgs.cs b/sdk/dotnet/Inputs/FastHttpAppMonitorGetArgs.cs similarity index 74% rename from sdk/dotnet/Inputs/FastHttpsAppFastCreateMonitorArgs.cs rename to sdk/dotnet/Inputs/FastHttpAppMonitorGetArgs.cs index 7cee2cb4..be4e5985 100644 --- a/sdk/dotnet/Inputs/FastHttpsAppFastCreateMonitorArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpAppMonitorGetArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastHttpsAppFastCreateMonitorArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpAppMonitorGetArgs : global::Pulumi.ResourceArgs { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -24,11 +24,21 @@ public sealed class FastHttpsAppFastCreateMonitorArgs : global::Pulumi.ResourceA [Input("monitorAuth")] public Input? MonitorAuth { get; set; } + [Input("password")] + private Input? _password; + /// /// password for web access on FAST-Generated Pool Monitor. /// - [Input("password")] - public Input? Password { get; set; } + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// The presence of this string anywhere in the HTTP response implies availability. @@ -48,9 +58,9 @@ public sealed class FastHttpsAppFastCreateMonitorArgs : global::Pulumi.ResourceA [Input("username")] public Input? Username { get; set; } - public FastHttpsAppFastCreateMonitorArgs() + public FastHttpAppMonitorGetArgs() { } - public static new FastHttpsAppFastCreateMonitorArgs Empty => new FastHttpsAppFastCreateMonitorArgs(); + public static new FastHttpAppMonitorGetArgs Empty => new FastHttpAppMonitorGetArgs(); } } diff --git a/sdk/dotnet/Inputs/FastTcpAppFastCreatePoolMemberArgs.cs b/sdk/dotnet/Inputs/FastHttpAppPoolMemberArgs.cs similarity index 86% rename from sdk/dotnet/Inputs/FastTcpAppFastCreatePoolMemberArgs.cs rename to sdk/dotnet/Inputs/FastHttpAppPoolMemberArgs.cs index 8d825565..a698c861 100644 --- a/sdk/dotnet/Inputs/FastTcpAppFastCreatePoolMemberArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpAppPoolMemberArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastTcpAppFastCreatePoolMemberArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpAppPoolMemberArgs : global::Pulumi.ResourceArgs { [Input("addresses", required: true)] private InputList? _addresses; @@ -48,9 +48,9 @@ public InputList Addresses [Input("shareNodes")] public Input? ShareNodes { get; set; } - public FastTcpAppFastCreatePoolMemberArgs() + public FastHttpAppPoolMemberArgs() { } - public static new FastTcpAppFastCreatePoolMemberArgs Empty => new FastTcpAppFastCreatePoolMemberArgs(); + public static new FastHttpAppPoolMemberArgs Empty => new FastHttpAppPoolMemberArgs(); } } diff --git a/sdk/dotnet/Inputs/FastHttpAppFastCreatePoolMemberArgs.cs b/sdk/dotnet/Inputs/FastHttpAppPoolMemberGetArgs.cs similarity index 85% rename from sdk/dotnet/Inputs/FastHttpAppFastCreatePoolMemberArgs.cs rename to sdk/dotnet/Inputs/FastHttpAppPoolMemberGetArgs.cs index b977a228..a962afb8 100644 --- a/sdk/dotnet/Inputs/FastHttpAppFastCreatePoolMemberArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpAppPoolMemberGetArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastHttpAppFastCreatePoolMemberArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpAppPoolMemberGetArgs : global::Pulumi.ResourceArgs { [Input("addresses", required: true)] private InputList? _addresses; @@ -48,9 +48,9 @@ public InputList Addresses [Input("shareNodes")] public Input? ShareNodes { get; set; } - public FastHttpAppFastCreatePoolMemberArgs() + public FastHttpAppPoolMemberGetArgs() { } - public static new FastHttpAppFastCreatePoolMemberArgs Empty => new FastHttpAppFastCreatePoolMemberArgs(); + public static new FastHttpAppPoolMemberGetArgs Empty => new FastHttpAppPoolMemberGetArgs(); } } diff --git a/sdk/dotnet/Inputs/FastHttpAppVirtualServerArgs.cs b/sdk/dotnet/Inputs/FastHttpAppVirtualServerArgs.cs index 89c7f0a2..42236f6c 100644 --- a/sdk/dotnet/Inputs/FastHttpAppVirtualServerArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpAppVirtualServerArgs.cs @@ -19,7 +19,7 @@ public sealed class FastHttpAppVirtualServerArgs : global::Pulumi.ResourceArgs public Input Ip { get; set; } = null!; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// [Input("port", required: true)] public Input Port { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/FastHttpAppVirtualServerGetArgs.cs b/sdk/dotnet/Inputs/FastHttpAppVirtualServerGetArgs.cs index 07fcc733..8a8db33e 100644 --- a/sdk/dotnet/Inputs/FastHttpAppVirtualServerGetArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpAppVirtualServerGetArgs.cs @@ -19,7 +19,7 @@ public sealed class FastHttpAppVirtualServerGetArgs : global::Pulumi.ResourceArg public Input Ip { get; set; } = null!; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// [Input("port", required: true)] public Input Port { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/FastHttpAppWafSecurityPolicyArgs.cs b/sdk/dotnet/Inputs/FastHttpAppWafSecurityPolicyArgs.cs new file mode 100644 index 00000000..074279a3 --- /dev/null +++ b/sdk/dotnet/Inputs/FastHttpAppWafSecurityPolicyArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastHttpAppWafSecurityPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Setting `true` will enable FAST to create WAF Security Policy. + /// + [Input("enable", required: true)] + public Input Enable { get; set; } = null!; + + public FastHttpAppWafSecurityPolicyArgs() + { + } + public static new FastHttpAppWafSecurityPolicyArgs Empty => new FastHttpAppWafSecurityPolicyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastHttpAppWafSecurityPolicyGetArgs.cs b/sdk/dotnet/Inputs/FastHttpAppWafSecurityPolicyGetArgs.cs new file mode 100644 index 00000000..e1cded45 --- /dev/null +++ b/sdk/dotnet/Inputs/FastHttpAppWafSecurityPolicyGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastHttpAppWafSecurityPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Setting `true` will enable FAST to create WAF Security Policy. + /// + [Input("enable", required: true)] + public Input Enable { get; set; } = null!; + + public FastHttpAppWafSecurityPolicyGetArgs() + { + } + public static new FastHttpAppWafSecurityPolicyGetArgs Empty => new FastHttpAppWafSecurityPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastHttpsAppFastCreatePoolMemberGetArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppFastCreatePoolMemberGetArgs.cs deleted file mode 100644 index f5331ed4..00000000 --- a/sdk/dotnet/Inputs/FastHttpsAppFastCreatePoolMemberGetArgs.cs +++ /dev/null @@ -1,56 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.F5BigIP.Inputs -{ - - public sealed class FastHttpsAppFastCreatePoolMemberGetArgs : global::Pulumi.ResourceArgs - { - [Input("addresses", required: true)] - private InputList? _addresses; - - /// - /// List of server address to be used for FAST-Generated Pool. - /// - public InputList Addresses - { - get => _addresses ?? (_addresses = new InputList()); - set => _addresses = value; - } - - /// - /// connectionLimit value to be used for FAST-Generated Pool. - /// - [Input("connectionLimit")] - public Input? ConnectionLimit { get; set; } - - /// - /// port number of serviceport to be used for FAST-Generated Pool. - /// - [Input("port")] - public Input? Port { get; set; } - - /// - /// priorityGroup value to be used for FAST-Generated Pool. - /// - [Input("priorityGroup")] - public Input? PriorityGroup { get; set; } - - /// - /// shareNodes value to be used for FAST-Generated Pool. - /// - [Input("shareNodes")] - public Input? ShareNodes { get; set; } - - public FastHttpsAppFastCreatePoolMemberGetArgs() - { - } - public static new FastHttpsAppFastCreatePoolMemberGetArgs Empty => new FastHttpsAppFastCreatePoolMemberGetArgs(); - } -} diff --git a/sdk/dotnet/Inputs/FastHttpAppFastCreateMonitorGetArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppMonitorArgs.cs similarity index 75% rename from sdk/dotnet/Inputs/FastHttpAppFastCreateMonitorGetArgs.cs rename to sdk/dotnet/Inputs/FastHttpsAppMonitorArgs.cs index 21fb47ed..04f358da 100644 --- a/sdk/dotnet/Inputs/FastHttpAppFastCreateMonitorGetArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpsAppMonitorArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastHttpAppFastCreateMonitorGetArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpsAppMonitorArgs : global::Pulumi.ResourceArgs { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -24,11 +24,21 @@ public sealed class FastHttpAppFastCreateMonitorGetArgs : global::Pulumi.Resourc [Input("monitorAuth")] public Input? MonitorAuth { get; set; } + [Input("password")] + private Input? _password; + /// /// password for web access on FAST-Generated Pool Monitor. /// - [Input("password")] - public Input? Password { get; set; } + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// The presence of this string anywhere in the HTTP response implies availability. @@ -48,9 +58,9 @@ public sealed class FastHttpAppFastCreateMonitorGetArgs : global::Pulumi.Resourc [Input("username")] public Input? Username { get; set; } - public FastHttpAppFastCreateMonitorGetArgs() + public FastHttpsAppMonitorArgs() { } - public static new FastHttpAppFastCreateMonitorGetArgs Empty => new FastHttpAppFastCreateMonitorGetArgs(); + public static new FastHttpsAppMonitorArgs Empty => new FastHttpsAppMonitorArgs(); } } diff --git a/sdk/dotnet/Inputs/FastHttpsAppFastCreateMonitorGetArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppMonitorGetArgs.cs similarity index 74% rename from sdk/dotnet/Inputs/FastHttpsAppFastCreateMonitorGetArgs.cs rename to sdk/dotnet/Inputs/FastHttpsAppMonitorGetArgs.cs index ca4af1e8..c97abb64 100644 --- a/sdk/dotnet/Inputs/FastHttpsAppFastCreateMonitorGetArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpsAppMonitorGetArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastHttpsAppFastCreateMonitorGetArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpsAppMonitorGetArgs : global::Pulumi.ResourceArgs { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -24,11 +24,21 @@ public sealed class FastHttpsAppFastCreateMonitorGetArgs : global::Pulumi.Resour [Input("monitorAuth")] public Input? MonitorAuth { get; set; } + [Input("password")] + private Input? _password; + /// /// password for web access on FAST-Generated Pool Monitor. /// - [Input("password")] - public Input? Password { get; set; } + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// The presence of this string anywhere in the HTTP response implies availability. @@ -48,9 +58,9 @@ public sealed class FastHttpsAppFastCreateMonitorGetArgs : global::Pulumi.Resour [Input("username")] public Input? Username { get; set; } - public FastHttpsAppFastCreateMonitorGetArgs() + public FastHttpsAppMonitorGetArgs() { } - public static new FastHttpsAppFastCreateMonitorGetArgs Empty => new FastHttpsAppFastCreateMonitorGetArgs(); + public static new FastHttpsAppMonitorGetArgs Empty => new FastHttpsAppMonitorGetArgs(); } } diff --git a/sdk/dotnet/Inputs/FastHttpsAppFastCreatePoolMemberArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppPoolMemberArgs.cs similarity index 85% rename from sdk/dotnet/Inputs/FastHttpsAppFastCreatePoolMemberArgs.cs rename to sdk/dotnet/Inputs/FastHttpsAppPoolMemberArgs.cs index 3f913f41..b595f10a 100644 --- a/sdk/dotnet/Inputs/FastHttpsAppFastCreatePoolMemberArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpsAppPoolMemberArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastHttpsAppFastCreatePoolMemberArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpsAppPoolMemberArgs : global::Pulumi.ResourceArgs { [Input("addresses", required: true)] private InputList? _addresses; @@ -48,9 +48,9 @@ public InputList Addresses [Input("shareNodes")] public Input? ShareNodes { get; set; } - public FastHttpsAppFastCreatePoolMemberArgs() + public FastHttpsAppPoolMemberArgs() { } - public static new FastHttpsAppFastCreatePoolMemberArgs Empty => new FastHttpsAppFastCreatePoolMemberArgs(); + public static new FastHttpsAppPoolMemberArgs Empty => new FastHttpsAppPoolMemberArgs(); } } diff --git a/sdk/dotnet/Inputs/FastTcpAppFastCreatePoolMemberGetArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppPoolMemberGetArgs.cs similarity index 85% rename from sdk/dotnet/Inputs/FastTcpAppFastCreatePoolMemberGetArgs.cs rename to sdk/dotnet/Inputs/FastHttpsAppPoolMemberGetArgs.cs index f9b482e0..d3e7e4c3 100644 --- a/sdk/dotnet/Inputs/FastTcpAppFastCreatePoolMemberGetArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpsAppPoolMemberGetArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastTcpAppFastCreatePoolMemberGetArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpsAppPoolMemberGetArgs : global::Pulumi.ResourceArgs { [Input("addresses", required: true)] private InputList? _addresses; @@ -48,9 +48,9 @@ public InputList Addresses [Input("shareNodes")] public Input? ShareNodes { get; set; } - public FastTcpAppFastCreatePoolMemberGetArgs() + public FastHttpsAppPoolMemberGetArgs() { } - public static new FastTcpAppFastCreatePoolMemberGetArgs Empty => new FastTcpAppFastCreatePoolMemberGetArgs(); + public static new FastHttpsAppPoolMemberGetArgs Empty => new FastHttpsAppPoolMemberGetArgs(); } } diff --git a/sdk/dotnet/Inputs/FastHttpsAppCreateTlsServerProfileArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppTlsClientProfileArgs.cs similarity index 76% rename from sdk/dotnet/Inputs/FastHttpsAppCreateTlsServerProfileArgs.cs rename to sdk/dotnet/Inputs/FastHttpsAppTlsClientProfileArgs.cs index 2062b44f..dd282b7f 100644 --- a/sdk/dotnet/Inputs/FastHttpsAppCreateTlsServerProfileArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpsAppTlsClientProfileArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastHttpsAppCreateTlsServerProfileArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpsAppTlsClientProfileArgs : global::Pulumi.ResourceArgs { /// /// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. @@ -24,9 +24,9 @@ public sealed class FastHttpsAppCreateTlsServerProfileArgs : global::Pulumi.Reso [Input("tlsKeyName", required: true)] public Input TlsKeyName { get; set; } = null!; - public FastHttpsAppCreateTlsServerProfileArgs() + public FastHttpsAppTlsClientProfileArgs() { } - public static new FastHttpsAppCreateTlsServerProfileArgs Empty => new FastHttpsAppCreateTlsServerProfileArgs(); + public static new FastHttpsAppTlsClientProfileArgs Empty => new FastHttpsAppTlsClientProfileArgs(); } } diff --git a/sdk/dotnet/Inputs/FastHttpsAppCreateTlsServerProfileGetArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppTlsClientProfileGetArgs.cs similarity index 76% rename from sdk/dotnet/Inputs/FastHttpsAppCreateTlsServerProfileGetArgs.cs rename to sdk/dotnet/Inputs/FastHttpsAppTlsClientProfileGetArgs.cs index eda98e39..f27bf964 100644 --- a/sdk/dotnet/Inputs/FastHttpsAppCreateTlsServerProfileGetArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpsAppTlsClientProfileGetArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastHttpsAppCreateTlsServerProfileGetArgs : global::Pulumi.ResourceArgs + public sealed class FastHttpsAppTlsClientProfileGetArgs : global::Pulumi.ResourceArgs { /// /// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. @@ -24,9 +24,9 @@ public sealed class FastHttpsAppCreateTlsServerProfileGetArgs : global::Pulumi.R [Input("tlsKeyName", required: true)] public Input TlsKeyName { get; set; } = null!; - public FastHttpsAppCreateTlsServerProfileGetArgs() + public FastHttpsAppTlsClientProfileGetArgs() { } - public static new FastHttpsAppCreateTlsServerProfileGetArgs Empty => new FastHttpsAppCreateTlsServerProfileGetArgs(); + public static new FastHttpsAppTlsClientProfileGetArgs Empty => new FastHttpsAppTlsClientProfileGetArgs(); } } diff --git a/sdk/dotnet/Inputs/FastHttpsAppTlsServerProfileArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppTlsServerProfileArgs.cs new file mode 100644 index 00000000..b03ba675 --- /dev/null +++ b/sdk/dotnet/Inputs/FastHttpsAppTlsServerProfileArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastHttpsAppTlsServerProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + /// + [Input("tlsCertName", required: true)] + public Input TlsCertName { get; set; } = null!; + + /// + /// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + /// + [Input("tlsKeyName", required: true)] + public Input TlsKeyName { get; set; } = null!; + + public FastHttpsAppTlsServerProfileArgs() + { + } + public static new FastHttpsAppTlsServerProfileArgs Empty => new FastHttpsAppTlsServerProfileArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastHttpsAppTlsServerProfileGetArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppTlsServerProfileGetArgs.cs new file mode 100644 index 00000000..100b9252 --- /dev/null +++ b/sdk/dotnet/Inputs/FastHttpsAppTlsServerProfileGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastHttpsAppTlsServerProfileGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + /// + [Input("tlsCertName", required: true)] + public Input TlsCertName { get; set; } = null!; + + /// + /// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + /// + [Input("tlsKeyName", required: true)] + public Input TlsKeyName { get; set; } = null!; + + public FastHttpsAppTlsServerProfileGetArgs() + { + } + public static new FastHttpsAppTlsServerProfileGetArgs Empty => new FastHttpsAppTlsServerProfileGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastHttpsAppVirtualServerArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppVirtualServerArgs.cs index 477fe238..021df635 100644 --- a/sdk/dotnet/Inputs/FastHttpsAppVirtualServerArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpsAppVirtualServerArgs.cs @@ -19,7 +19,7 @@ public sealed class FastHttpsAppVirtualServerArgs : global::Pulumi.ResourceArgs public Input Ip { get; set; } = null!; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// [Input("port", required: true)] public Input Port { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/FastHttpsAppVirtualServerGetArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppVirtualServerGetArgs.cs index 70a833ee..67ff87aa 100644 --- a/sdk/dotnet/Inputs/FastHttpsAppVirtualServerGetArgs.cs +++ b/sdk/dotnet/Inputs/FastHttpsAppVirtualServerGetArgs.cs @@ -19,7 +19,7 @@ public sealed class FastHttpsAppVirtualServerGetArgs : global::Pulumi.ResourceAr public Input Ip { get; set; } = null!; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// [Input("port", required: true)] public Input Port { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/FastHttpsAppWafSecurityPolicyArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppWafSecurityPolicyArgs.cs new file mode 100644 index 00000000..62c3fcda --- /dev/null +++ b/sdk/dotnet/Inputs/FastHttpsAppWafSecurityPolicyArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastHttpsAppWafSecurityPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Setting `true` will enable FAST to create WAF Security Policy. + /// + [Input("enable", required: true)] + public Input Enable { get; set; } = null!; + + public FastHttpsAppWafSecurityPolicyArgs() + { + } + public static new FastHttpsAppWafSecurityPolicyArgs Empty => new FastHttpsAppWafSecurityPolicyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastHttpsAppWafSecurityPolicyGetArgs.cs b/sdk/dotnet/Inputs/FastHttpsAppWafSecurityPolicyGetArgs.cs new file mode 100644 index 00000000..40cd5752 --- /dev/null +++ b/sdk/dotnet/Inputs/FastHttpsAppWafSecurityPolicyGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastHttpsAppWafSecurityPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Setting `true` will enable FAST to create WAF Security Policy. + /// + [Input("enable", required: true)] + public Input Enable { get; set; } = null!; + + public FastHttpsAppWafSecurityPolicyGetArgs() + { + } + public static new FastHttpsAppWafSecurityPolicyGetArgs Empty => new FastHttpsAppWafSecurityPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastTcpAppFastCreateMonitorArgs.cs b/sdk/dotnet/Inputs/FastTcpAppMonitorArgs.cs similarity index 71% rename from sdk/dotnet/Inputs/FastTcpAppFastCreateMonitorArgs.cs rename to sdk/dotnet/Inputs/FastTcpAppMonitorArgs.cs index cdab95ea..193ea33f 100644 --- a/sdk/dotnet/Inputs/FastTcpAppFastCreateMonitorArgs.cs +++ b/sdk/dotnet/Inputs/FastTcpAppMonitorArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastTcpAppFastCreateMonitorArgs : global::Pulumi.ResourceArgs + public sealed class FastTcpAppMonitorArgs : global::Pulumi.ResourceArgs { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -18,9 +18,9 @@ public sealed class FastTcpAppFastCreateMonitorArgs : global::Pulumi.ResourceArg [Input("interval")] public Input? Interval { get; set; } - public FastTcpAppFastCreateMonitorArgs() + public FastTcpAppMonitorArgs() { } - public static new FastTcpAppFastCreateMonitorArgs Empty => new FastTcpAppFastCreateMonitorArgs(); + public static new FastTcpAppMonitorArgs Empty => new FastTcpAppMonitorArgs(); } } diff --git a/sdk/dotnet/Inputs/FastTcpAppFastCreateMonitorGetArgs.cs b/sdk/dotnet/Inputs/FastTcpAppMonitorGetArgs.cs similarity index 70% rename from sdk/dotnet/Inputs/FastTcpAppFastCreateMonitorGetArgs.cs rename to sdk/dotnet/Inputs/FastTcpAppMonitorGetArgs.cs index 73c1d288..ee7307cd 100644 --- a/sdk/dotnet/Inputs/FastTcpAppFastCreateMonitorGetArgs.cs +++ b/sdk/dotnet/Inputs/FastTcpAppMonitorGetArgs.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Inputs { - public sealed class FastTcpAppFastCreateMonitorGetArgs : global::Pulumi.ResourceArgs + public sealed class FastTcpAppMonitorGetArgs : global::Pulumi.ResourceArgs { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -18,9 +18,9 @@ public sealed class FastTcpAppFastCreateMonitorGetArgs : global::Pulumi.Resource [Input("interval")] public Input? Interval { get; set; } - public FastTcpAppFastCreateMonitorGetArgs() + public FastTcpAppMonitorGetArgs() { } - public static new FastTcpAppFastCreateMonitorGetArgs Empty => new FastTcpAppFastCreateMonitorGetArgs(); + public static new FastTcpAppMonitorGetArgs Empty => new FastTcpAppMonitorGetArgs(); } } diff --git a/sdk/dotnet/Inputs/FastTcpAppPoolMemberArgs.cs b/sdk/dotnet/Inputs/FastTcpAppPoolMemberArgs.cs new file mode 100644 index 00000000..d143257f --- /dev/null +++ b/sdk/dotnet/Inputs/FastTcpAppPoolMemberArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastTcpAppPoolMemberArgs : global::Pulumi.ResourceArgs + { + [Input("addresses", required: true)] + private InputList? _addresses; + + /// + /// List of server address to be used for FAST-Generated Pool. + /// + public InputList Addresses + { + get => _addresses ?? (_addresses = new InputList()); + set => _addresses = value; + } + + /// + /// connectionLimit value to be used for FAST-Generated Pool. + /// + [Input("connectionLimit")] + public Input? ConnectionLimit { get; set; } + + /// + /// port number of serviceport to be used for FAST-Generated Pool. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// priorityGroup value to be used for FAST-Generated Pool. + /// + [Input("priorityGroup")] + public Input? PriorityGroup { get; set; } + + /// + /// shareNodes value to be used for FAST-Generated Pool. + /// + [Input("shareNodes")] + public Input? ShareNodes { get; set; } + + public FastTcpAppPoolMemberArgs() + { + } + public static new FastTcpAppPoolMemberArgs Empty => new FastTcpAppPoolMemberArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastTcpAppPoolMemberGetArgs.cs b/sdk/dotnet/Inputs/FastTcpAppPoolMemberGetArgs.cs new file mode 100644 index 00000000..2a153203 --- /dev/null +++ b/sdk/dotnet/Inputs/FastTcpAppPoolMemberGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastTcpAppPoolMemberGetArgs : global::Pulumi.ResourceArgs + { + [Input("addresses", required: true)] + private InputList? _addresses; + + /// + /// List of server address to be used for FAST-Generated Pool. + /// + public InputList Addresses + { + get => _addresses ?? (_addresses = new InputList()); + set => _addresses = value; + } + + /// + /// connectionLimit value to be used for FAST-Generated Pool. + /// + [Input("connectionLimit")] + public Input? ConnectionLimit { get; set; } + + /// + /// port number of serviceport to be used for FAST-Generated Pool. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// priorityGroup value to be used for FAST-Generated Pool. + /// + [Input("priorityGroup")] + public Input? PriorityGroup { get; set; } + + /// + /// shareNodes value to be used for FAST-Generated Pool. + /// + [Input("shareNodes")] + public Input? ShareNodes { get; set; } + + public FastTcpAppPoolMemberGetArgs() + { + } + public static new FastTcpAppPoolMemberGetArgs Empty => new FastTcpAppPoolMemberGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastTcpAppVirtualServerArgs.cs b/sdk/dotnet/Inputs/FastTcpAppVirtualServerArgs.cs index 5c003aee..9dcb293e 100644 --- a/sdk/dotnet/Inputs/FastTcpAppVirtualServerArgs.cs +++ b/sdk/dotnet/Inputs/FastTcpAppVirtualServerArgs.cs @@ -19,7 +19,7 @@ public sealed class FastTcpAppVirtualServerArgs : global::Pulumi.ResourceArgs public Input Ip { get; set; } = null!; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// [Input("port", required: true)] public Input Port { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/FastTcpAppVirtualServerGetArgs.cs b/sdk/dotnet/Inputs/FastTcpAppVirtualServerGetArgs.cs index 151da452..7659bbdd 100644 --- a/sdk/dotnet/Inputs/FastTcpAppVirtualServerGetArgs.cs +++ b/sdk/dotnet/Inputs/FastTcpAppVirtualServerGetArgs.cs @@ -19,7 +19,7 @@ public sealed class FastTcpAppVirtualServerGetArgs : global::Pulumi.ResourceArgs public Input Ip { get; set; } = null!; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// [Input("port", required: true)] public Input Port { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/FastUdpAppMonitorArgs.cs b/sdk/dotnet/Inputs/FastUdpAppMonitorArgs.cs new file mode 100644 index 00000000..ed64ea05 --- /dev/null +++ b/sdk/dotnet/Inputs/FastUdpAppMonitorArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastUdpAppMonitorArgs : global::Pulumi.ResourceArgs + { + /// + /// The presence of this optional string is required in the response, if specified it confirms availability. + /// + [Input("expectedResponse")] + public Input? ExpectedResponse { get; set; } + + /// + /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + /// + [Input("interval")] + public Input? Interval { get; set; } + + /// + /// Optional data to be sent during each health check. + /// + [Input("sendString")] + public Input? SendString { get; set; } + + public FastUdpAppMonitorArgs() + { + } + public static new FastUdpAppMonitorArgs Empty => new FastUdpAppMonitorArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastUdpAppMonitorGetArgs.cs b/sdk/dotnet/Inputs/FastUdpAppMonitorGetArgs.cs new file mode 100644 index 00000000..63634fb6 --- /dev/null +++ b/sdk/dotnet/Inputs/FastUdpAppMonitorGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastUdpAppMonitorGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The presence of this optional string is required in the response, if specified it confirms availability. + /// + [Input("expectedResponse")] + public Input? ExpectedResponse { get; set; } + + /// + /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + /// + [Input("interval")] + public Input? Interval { get; set; } + + /// + /// Optional data to be sent during each health check. + /// + [Input("sendString")] + public Input? SendString { get; set; } + + public FastUdpAppMonitorGetArgs() + { + } + public static new FastUdpAppMonitorGetArgs Empty => new FastUdpAppMonitorGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastUdpAppPoolMemberArgs.cs b/sdk/dotnet/Inputs/FastUdpAppPoolMemberArgs.cs new file mode 100644 index 00000000..85652ad0 --- /dev/null +++ b/sdk/dotnet/Inputs/FastUdpAppPoolMemberArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastUdpAppPoolMemberArgs : global::Pulumi.ResourceArgs + { + [Input("addresses", required: true)] + private InputList? _addresses; + + /// + /// List of server address to be used for FAST-Generated Pool. + /// + public InputList Addresses + { + get => _addresses ?? (_addresses = new InputList()); + set => _addresses = value; + } + + /// + /// connectionLimit value to be used for FAST-Generated Pool. + /// + [Input("connectionLimit")] + public Input? ConnectionLimit { get; set; } + + /// + /// port number of serviceport to be used for FAST-Generated Pool. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// priorityGroup value to be used for FAST-Generated Pool. + /// + [Input("priorityGroup")] + public Input? PriorityGroup { get; set; } + + /// + /// shareNodes value to be used for FAST-Generated Pool. + /// + [Input("shareNodes")] + public Input? ShareNodes { get; set; } + + public FastUdpAppPoolMemberArgs() + { + } + public static new FastUdpAppPoolMemberArgs Empty => new FastUdpAppPoolMemberArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastUdpAppPoolMemberGetArgs.cs b/sdk/dotnet/Inputs/FastUdpAppPoolMemberGetArgs.cs new file mode 100644 index 00000000..de85336b --- /dev/null +++ b/sdk/dotnet/Inputs/FastUdpAppPoolMemberGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastUdpAppPoolMemberGetArgs : global::Pulumi.ResourceArgs + { + [Input("addresses", required: true)] + private InputList? _addresses; + + /// + /// List of server address to be used for FAST-Generated Pool. + /// + public InputList Addresses + { + get => _addresses ?? (_addresses = new InputList()); + set => _addresses = value; + } + + /// + /// connectionLimit value to be used for FAST-Generated Pool. + /// + [Input("connectionLimit")] + public Input? ConnectionLimit { get; set; } + + /// + /// port number of serviceport to be used for FAST-Generated Pool. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// priorityGroup value to be used for FAST-Generated Pool. + /// + [Input("priorityGroup")] + public Input? PriorityGroup { get; set; } + + /// + /// shareNodes value to be used for FAST-Generated Pool. + /// + [Input("shareNodes")] + public Input? ShareNodes { get; set; } + + public FastUdpAppPoolMemberGetArgs() + { + } + public static new FastUdpAppPoolMemberGetArgs Empty => new FastUdpAppPoolMemberGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastUdpAppVirtualServerArgs.cs b/sdk/dotnet/Inputs/FastUdpAppVirtualServerArgs.cs new file mode 100644 index 00000000..e343a302 --- /dev/null +++ b/sdk/dotnet/Inputs/FastUdpAppVirtualServerArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastUdpAppVirtualServerArgs : global::Pulumi.ResourceArgs + { + /// + /// IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + /// + [Input("ip", required: true)] + public Input Ip { get; set; } = null!; + + /// + /// Port number to used for accessing virtual server/application + /// + [Input("port", required: true)] + public Input Port { get; set; } = null!; + + public FastUdpAppVirtualServerArgs() + { + } + public static new FastUdpAppVirtualServerArgs Empty => new FastUdpAppVirtualServerArgs(); + } +} diff --git a/sdk/dotnet/Inputs/FastUdpAppVirtualServerGetArgs.cs b/sdk/dotnet/Inputs/FastUdpAppVirtualServerGetArgs.cs new file mode 100644 index 00000000..9a95d9b2 --- /dev/null +++ b/sdk/dotnet/Inputs/FastUdpAppVirtualServerGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Inputs +{ + + public sealed class FastUdpAppVirtualServerGetArgs : global::Pulumi.ResourceArgs + { + /// + /// IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + /// + [Input("ip", required: true)] + public Input Ip { get; set; } = null!; + + /// + /// Port number to used for accessing virtual server/application + /// + [Input("port", required: true)] + public Input Port { get; set; } = null!; + + public FastUdpAppVirtualServerGetArgs() + { + } + public static new FastUdpAppVirtualServerGetArgs Empty => new FastUdpAppVirtualServerGetArgs(); + } +} diff --git a/sdk/dotnet/Ltm/GetDataGroup.cs b/sdk/dotnet/Ltm/GetDataGroup.cs index 408f92ec..699cc3f1 100644 --- a/sdk/dotnet/Ltm/GetDataGroup.cs +++ b/sdk/dotnet/Ltm/GetDataGroup.cs @@ -38,7 +38,7 @@ public static class GetDataGroup /// {{% /examples %}} /// public static Task InvokeAsync(GetDataGroupArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getDataGroup:getDataGroup", args ?? new GetDataGroupArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getDataGroup:getDataGroup", args ?? new GetDataGroupArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ltm.DataGroup`) to get the data group details available on BIG-IP @@ -67,7 +67,7 @@ public static Task InvokeAsync(GetDataGroupArgs args, Invoke /// {{% /examples %}} /// public static Output Invoke(GetDataGroupInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getDataGroup:getDataGroup", args ?? new GetDataGroupInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getDataGroup:getDataGroup", args ?? new GetDataGroupInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ltm/GetIrule.cs b/sdk/dotnet/Ltm/GetIrule.cs index e00c2ffc..6fe29fa1 100644 --- a/sdk/dotnet/Ltm/GetIrule.cs +++ b/sdk/dotnet/Ltm/GetIrule.cs @@ -42,7 +42,7 @@ public static class GetIrule /// {{% /examples %}} /// public static Task InvokeAsync(GetIruleArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getIrule:getIrule", args ?? new GetIruleArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getIrule:getIrule", args ?? new GetIruleArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ltm.IRule`) to get the ltm irule details available on BIG-IP @@ -75,7 +75,7 @@ public static Task InvokeAsync(GetIruleArgs args, InvokeOptions? /// {{% /examples %}} /// public static Output Invoke(GetIruleInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getIrule:getIrule", args ?? new GetIruleInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getIrule:getIrule", args ?? new GetIruleInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ltm/GetMonitor.cs b/sdk/dotnet/Ltm/GetMonitor.cs index e1293d6c..6d486683 100644 --- a/sdk/dotnet/Ltm/GetMonitor.cs +++ b/sdk/dotnet/Ltm/GetMonitor.cs @@ -38,7 +38,7 @@ public static class GetMonitor /// {{% /examples %}} /// public static Task InvokeAsync(GetMonitorArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getMonitor:getMonitor", args ?? new GetMonitorArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getMonitor:getMonitor", args ?? new GetMonitorArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ltm.Monitor`) to get the ltm monitor details available on BIG-IP @@ -67,7 +67,7 @@ public static Task InvokeAsync(GetMonitorArgs args, InvokeOpti /// {{% /examples %}} /// public static Output Invoke(GetMonitorInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getMonitor:getMonitor", args ?? new GetMonitorInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getMonitor:getMonitor", args ?? new GetMonitorInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ltm/GetNode.cs b/sdk/dotnet/Ltm/GetNode.cs index 26165fe1..af96a0ea 100644 --- a/sdk/dotnet/Ltm/GetNode.cs +++ b/sdk/dotnet/Ltm/GetNode.cs @@ -15,13 +15,13 @@ public static class GetNode /// Use this data source (`f5bigip.ltm.Node`) to get the ltm node details available on BIG-IP /// public static Task InvokeAsync(GetNodeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getNode:getNode", args ?? new GetNodeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getNode:getNode", args ?? new GetNodeArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ltm.Node`) to get the ltm node details available on BIG-IP /// public static Output Invoke(GetNodeInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getNode:getNode", args ?? new GetNodeInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getNode:getNode", args ?? new GetNodeInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ltm/GetPolicy.cs b/sdk/dotnet/Ltm/GetPolicy.cs index dc613b14..c6fd6e8f 100644 --- a/sdk/dotnet/Ltm/GetPolicy.cs +++ b/sdk/dotnet/Ltm/GetPolicy.cs @@ -41,7 +41,7 @@ public static class GetPolicy /// {{% /examples %}} /// public static Task InvokeAsync(GetPolicyArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getPolicy:getPolicy", args ?? new GetPolicyArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getPolicy:getPolicy", args ?? new GetPolicyArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ltm.Policy`) to get the ltm policy details available on BIG-IP @@ -73,7 +73,7 @@ public static Task InvokeAsync(GetPolicyArgs args, InvokeOption /// {{% /examples %}} /// public static Output Invoke(GetPolicyInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getPolicy:getPolicy", args ?? new GetPolicyInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getPolicy:getPolicy", args ?? new GetPolicyInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ltm/GetPool.cs b/sdk/dotnet/Ltm/GetPool.cs index edfbbf36..211f96fd 100644 --- a/sdk/dotnet/Ltm/GetPool.cs +++ b/sdk/dotnet/Ltm/GetPool.cs @@ -38,7 +38,7 @@ public static class GetPool /// {{% /examples %}} /// public static Task InvokeAsync(GetPoolArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getPool:getPool", args ?? new GetPoolArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ltm/getPool:getPool", args ?? new GetPoolArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ltm.Pool`) to get the ltm monitor details available on BIG-IP @@ -67,7 +67,7 @@ public static Task InvokeAsync(GetPoolArgs args, InvokeOptions? o /// {{% /examples %}} /// public static Output Invoke(GetPoolInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getPool:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ltm/getPool:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ltm/Inputs/GetPolicyRuleCondition.cs b/sdk/dotnet/Ltm/Inputs/GetPolicyRuleCondition.cs index 7cdf32af..c09424c2 100644 --- a/sdk/dotnet/Ltm/Inputs/GetPolicyRuleCondition.cs +++ b/sdk/dotnet/Ltm/Inputs/GetPolicyRuleCondition.cs @@ -63,6 +63,9 @@ public sealed class GetPolicyRuleConditionArgs : global::Pulumi.InvokeArgs [Input("cpuUsage", required: true)] public bool CpuUsage { get; set; } + [Input("datagroup", required: true)] + public string Datagroup { get; set; } = null!; + [Input("deviceMake", required: true)] public bool DeviceMake { get; set; } diff --git a/sdk/dotnet/Ltm/Inputs/GetPolicyRuleConditionArgs.cs b/sdk/dotnet/Ltm/Inputs/GetPolicyRuleConditionArgs.cs index bb04b77c..208a507e 100644 --- a/sdk/dotnet/Ltm/Inputs/GetPolicyRuleConditionArgs.cs +++ b/sdk/dotnet/Ltm/Inputs/GetPolicyRuleConditionArgs.cs @@ -63,6 +63,9 @@ public sealed class GetPolicyRuleConditionInputArgs : global::Pulumi.ResourceArg [Input("cpuUsage", required: true)] public Input CpuUsage { get; set; } = null!; + [Input("datagroup", required: true)] + public Input Datagroup { get; set; } = null!; + [Input("deviceMake", required: true)] public Input DeviceMake { get; set; } = null!; diff --git a/sdk/dotnet/Ltm/Inputs/PolicyRuleArgs.cs b/sdk/dotnet/Ltm/Inputs/PolicyRuleArgs.cs index c42591c7..f5c52c32 100644 --- a/sdk/dotnet/Ltm/Inputs/PolicyRuleArgs.cs +++ b/sdk/dotnet/Ltm/Inputs/PolicyRuleArgs.cs @@ -14,6 +14,10 @@ public sealed class PolicyRuleArgs : global::Pulumi.ResourceArgs { [Input("actions")] private InputList? _actions; + + /// + /// Block type. See action block for more details. + /// public InputList Actions { get => _actions ?? (_actions = new InputList()); @@ -22,6 +26,10 @@ public InputList Actions [Input("conditions")] private InputList? _conditions; + + /// + /// Block type. See condition block for more details. + /// public InputList Conditions { get => _conditions ?? (_conditions = new InputList()); @@ -29,7 +37,7 @@ public InputList Conditions } /// - /// Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + /// Name of Rule to be applied in policy. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/Ltm/Inputs/PolicyRuleConditionArgs.cs b/sdk/dotnet/Ltm/Inputs/PolicyRuleConditionArgs.cs index 84834f0c..0e86217e 100644 --- a/sdk/dotnet/Ltm/Inputs/PolicyRuleConditionArgs.cs +++ b/sdk/dotnet/Ltm/Inputs/PolicyRuleConditionArgs.cs @@ -39,6 +39,9 @@ public sealed class PolicyRuleConditionArgs : global::Pulumi.ResourceArgs [Input("cipherBits")] public Input? CipherBits { get; set; } + [Input("clientAccepted")] + public Input? ClientAccepted { get; set; } + [Input("clientSsl")] public Input? ClientSsl { get; set; } @@ -63,6 +66,9 @@ public sealed class PolicyRuleConditionArgs : global::Pulumi.ResourceArgs [Input("cpuUsage")] public Input? CpuUsage { get; set; } + [Input("datagroup")] + public Input? Datagroup { get; set; } + [Input("deviceMake")] public Input? DeviceMake { get; set; } diff --git a/sdk/dotnet/Ltm/Inputs/PolicyRuleConditionGetArgs.cs b/sdk/dotnet/Ltm/Inputs/PolicyRuleConditionGetArgs.cs index e3c53380..adf1c21d 100644 --- a/sdk/dotnet/Ltm/Inputs/PolicyRuleConditionGetArgs.cs +++ b/sdk/dotnet/Ltm/Inputs/PolicyRuleConditionGetArgs.cs @@ -39,6 +39,9 @@ public sealed class PolicyRuleConditionGetArgs : global::Pulumi.ResourceArgs [Input("cipherBits")] public Input? CipherBits { get; set; } + [Input("clientAccepted")] + public Input? ClientAccepted { get; set; } + [Input("clientSsl")] public Input? ClientSsl { get; set; } @@ -63,6 +66,9 @@ public sealed class PolicyRuleConditionGetArgs : global::Pulumi.ResourceArgs [Input("cpuUsage")] public Input? CpuUsage { get; set; } + [Input("datagroup")] + public Input? Datagroup { get; set; } + [Input("deviceMake")] public Input? DeviceMake { get; set; } diff --git a/sdk/dotnet/Ltm/Inputs/PolicyRuleGetArgs.cs b/sdk/dotnet/Ltm/Inputs/PolicyRuleGetArgs.cs index d7b3c812..7a4b7a25 100644 --- a/sdk/dotnet/Ltm/Inputs/PolicyRuleGetArgs.cs +++ b/sdk/dotnet/Ltm/Inputs/PolicyRuleGetArgs.cs @@ -14,6 +14,10 @@ public sealed class PolicyRuleGetArgs : global::Pulumi.ResourceArgs { [Input("actions")] private InputList? _actions; + + /// + /// Block type. See action block for more details. + /// public InputList Actions { get => _actions ?? (_actions = new InputList()); @@ -22,6 +26,10 @@ public InputList Actions [Input("conditions")] private InputList? _conditions; + + /// + /// Block type. See condition block for more details. + /// public InputList Conditions { get => _conditions ?? (_conditions = new InputList()); @@ -29,7 +37,7 @@ public InputList Conditions } /// - /// Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + /// Name of Rule to be applied in policy. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/Ltm/Inputs/ProfileClientSslCertKeyChainArgs.cs b/sdk/dotnet/Ltm/Inputs/ProfileClientSslCertKeyChainArgs.cs index f4c80f35..2d464a2d 100644 --- a/sdk/dotnet/Ltm/Inputs/ProfileClientSslCertKeyChainArgs.cs +++ b/sdk/dotnet/Ltm/Inputs/ProfileClientSslCertKeyChainArgs.cs @@ -37,7 +37,16 @@ public sealed class ProfileClientSslCertKeyChainArgs : global::Pulumi.ResourceAr public Input? Name { get; set; } [Input("passphrase")] - public Input? Passphrase { get; set; } + private Input? _passphrase; + public Input? Passphrase + { + get => _passphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _passphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } public ProfileClientSslCertKeyChainArgs() { diff --git a/sdk/dotnet/Ltm/Inputs/ProfileClientSslCertKeyChainGetArgs.cs b/sdk/dotnet/Ltm/Inputs/ProfileClientSslCertKeyChainGetArgs.cs index 97268375..11f17c5d 100644 --- a/sdk/dotnet/Ltm/Inputs/ProfileClientSslCertKeyChainGetArgs.cs +++ b/sdk/dotnet/Ltm/Inputs/ProfileClientSslCertKeyChainGetArgs.cs @@ -37,7 +37,16 @@ public sealed class ProfileClientSslCertKeyChainGetArgs : global::Pulumi.Resourc public Input? Name { get; set; } [Input("passphrase")] - public Input? Passphrase { get; set; } + private Input? _passphrase; + public Input? Passphrase + { + get => _passphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _passphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } public ProfileClientSslCertKeyChainGetArgs() { diff --git a/sdk/dotnet/Ltm/Monitor.cs b/sdk/dotnet/Ltm/Monitor.cs index fb1ad2cc..158cb32e 100644 --- a/sdk/dotnet/Ltm/Monitor.cs +++ b/sdk/dotnet/Ltm/Monitor.cs @@ -237,6 +237,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "password", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -332,11 +336,21 @@ public sealed class MonitorArgs : global::Pulumi.ResourceArgs [Input("parent", required: true)] public Input Parent { get; set; } = null!; + [Input("password")] + private Input? _password; + /// /// Specifies the password if the monitored target requires authentication /// - [Input("password")] - public Input? Password { get; set; } + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Specifies the regular expression representing the text string that the monitor looks for in the returned resource. @@ -478,11 +492,21 @@ public sealed class MonitorState : global::Pulumi.ResourceArgs [Input("parent")] public Input? Parent { get; set; } + [Input("password")] + private Input? _password; + /// /// Specifies the password if the monitored target requires authentication /// - [Input("password")] - public Input? Password { get; set; } + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Specifies the regular expression representing the text string that the monitor looks for in the returned resource. diff --git a/sdk/dotnet/Ltm/Outputs/GetPolicyRuleConditionResult.cs b/sdk/dotnet/Ltm/Outputs/GetPolicyRuleConditionResult.cs index c002f662..85400b44 100644 --- a/sdk/dotnet/Ltm/Outputs/GetPolicyRuleConditionResult.cs +++ b/sdk/dotnet/Ltm/Outputs/GetPolicyRuleConditionResult.cs @@ -30,6 +30,7 @@ public sealed class GetPolicyRuleConditionResult public readonly bool CountryCode; public readonly bool CountryName; public readonly bool CpuUsage; + public readonly string Datagroup; public readonly bool DeviceMake; public readonly bool DeviceModel; public readonly bool Domain; @@ -140,6 +141,8 @@ private GetPolicyRuleConditionResult( bool cpuUsage, + string datagroup, + bool deviceMake, bool deviceModel, @@ -303,6 +306,7 @@ private GetPolicyRuleConditionResult( CountryCode = countryCode; CountryName = countryName; CpuUsage = cpuUsage; + Datagroup = datagroup; DeviceMake = deviceMake; DeviceModel = deviceModel; Domain = domain; diff --git a/sdk/dotnet/Ltm/Outputs/PolicyRule.cs b/sdk/dotnet/Ltm/Outputs/PolicyRule.cs index b3577d39..3e15f5f3 100644 --- a/sdk/dotnet/Ltm/Outputs/PolicyRule.cs +++ b/sdk/dotnet/Ltm/Outputs/PolicyRule.cs @@ -13,10 +13,16 @@ namespace Pulumi.F5BigIP.Ltm.Outputs [OutputType] public sealed class PolicyRule { + /// + /// Block type. See action block for more details. + /// public readonly ImmutableArray Actions; + /// + /// Block type. See condition block for more details. + /// public readonly ImmutableArray Conditions; /// - /// Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + /// Name of Rule to be applied in policy. /// public readonly string Name; diff --git a/sdk/dotnet/Ltm/Outputs/PolicyRuleCondition.cs b/sdk/dotnet/Ltm/Outputs/PolicyRuleCondition.cs index e89f9901..225712ac 100644 --- a/sdk/dotnet/Ltm/Outputs/PolicyRuleCondition.cs +++ b/sdk/dotnet/Ltm/Outputs/PolicyRuleCondition.cs @@ -22,6 +22,7 @@ public sealed class PolicyRuleCondition public readonly bool? CaseSensitive; public readonly bool? Cipher; public readonly bool? CipherBits; + public readonly bool? ClientAccepted; public readonly bool? ClientSsl; public readonly bool? Code; public readonly bool? CommonName; @@ -30,6 +31,7 @@ public sealed class PolicyRuleCondition public readonly bool? CountryCode; public readonly bool? CountryName; public readonly bool? CpuUsage; + public readonly string? Datagroup; public readonly bool? DeviceMake; public readonly bool? DeviceModel; public readonly bool? Domain; @@ -125,6 +127,8 @@ private PolicyRuleCondition( bool? cipherBits, + bool? clientAccepted, + bool? clientSsl, bool? code, @@ -141,6 +145,8 @@ private PolicyRuleCondition( bool? cpuUsage, + string? datagroup, + bool? deviceMake, bool? deviceModel, @@ -298,6 +304,7 @@ private PolicyRuleCondition( CaseSensitive = caseSensitive; Cipher = cipher; CipherBits = cipherBits; + ClientAccepted = clientAccepted; ClientSsl = clientSsl; Code = code; CommonName = commonName; @@ -306,6 +313,7 @@ private PolicyRuleCondition( CountryCode = countryCode; CountryName = countryName; CpuUsage = cpuUsage; + Datagroup = datagroup; DeviceMake = deviceMake; DeviceModel = deviceModel; Domain = domain; diff --git a/sdk/dotnet/Ltm/Policy.cs b/sdk/dotnet/Ltm/Policy.cs index 52129854..0fec7184 100644 --- a/sdk/dotnet/Ltm/Policy.cs +++ b/sdk/dotnet/Ltm/Policy.cs @@ -80,7 +80,7 @@ public partial class Policy : global::Pulumi.CustomResource public Output> Controls { get; private set; } = null!; /// - /// Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + /// Name of Rule to be applied in policy. /// [Output("name")] public Output Name { get; private set; } = null!; @@ -98,7 +98,7 @@ public partial class Policy : global::Pulumi.CustomResource public Output> Requires { get; private set; } = null!; /// - /// Rules can be applied using the policy + /// List of Rules can be applied using the policy. Each rule is block type with following arguments. /// [Output("rules")] public Output> Rules { get; private set; } = null!; @@ -168,7 +168,7 @@ public InputList Controls } /// - /// Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + /// Name of Rule to be applied in policy. /// [Input("name", required: true)] public Input Name { get; set; } = null!; @@ -195,7 +195,7 @@ public InputList Requires private InputList? _rules; /// - /// Rules can be applied using the policy + /// List of Rules can be applied using the policy. Each rule is block type with following arguments. /// public InputList Rules { @@ -230,7 +230,7 @@ public InputList Controls } /// - /// Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + /// Name of Rule to be applied in policy. /// [Input("name")] public Input? Name { get; set; } @@ -257,7 +257,7 @@ public InputList Requires private InputList? _rules; /// - /// Rules can be applied using the policy + /// List of Rules can be applied using the policy. Each rule is block type with following arguments. /// public InputList Rules { diff --git a/sdk/dotnet/Ltm/ProfileClientSsl.cs b/sdk/dotnet/Ltm/ProfileClientSsl.cs index 033f2057..b0954694 100644 --- a/sdk/dotnet/Ltm/ProfileClientSsl.cs +++ b/sdk/dotnet/Ltm/ProfileClientSsl.cs @@ -102,7 +102,7 @@ public partial class ProfileClientSsl : global::Pulumi.CustomResource /// Specifies a cert name for use. /// [Output("cert")] - public Output Cert { get; private set; } = null!; + public Output Cert { get; private set; } = null!; /// /// Cert extension includes for ssl forward proxy @@ -110,8 +110,8 @@ public partial class ProfileClientSsl : global::Pulumi.CustomResource [Output("certExtensionIncludes")] public Output> CertExtensionIncludes { get; private set; } = null!; - [Output("certKeyChains")] - public Output> CertKeyChains { get; private set; } = null!; + [Output("certKeyChain")] + public Output CertKeyChain { get; private set; } = null!; /// /// Life span of the certificate in days for ssl forward proxy @@ -129,7 +129,13 @@ public partial class ProfileClientSsl : global::Pulumi.CustomResource /// Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional /// [Output("chain")] - public Output Chain { get; private set; } = null!; + public Output Chain { get; private set; } = null!; + + /// + /// Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + /// + [Output("cipherGroup")] + public Output CipherGroup { get; private set; } = null!; /// /// Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. @@ -195,7 +201,7 @@ public partial class ProfileClientSsl : global::Pulumi.CustomResource /// Contains a key name /// [Output("key")] - public Output Key { get; private set; } = null!; + public Output Key { get; private set; } = null!; /// /// ModSSL Methods enabled / disabled. Default is disabled. @@ -393,6 +399,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "passphrase", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -495,13 +505,8 @@ public InputList CertExtensionIncludes set => _certExtensionIncludes = value; } - [Input("certKeyChains")] - private InputList? _certKeyChains; - public InputList CertKeyChains - { - get => _certKeyChains ?? (_certKeyChains = new InputList()); - set => _certKeyChains = value; - } + [Input("certKeyChain")] + public Input? CertKeyChain { get; set; } /// /// Life span of the certificate in days for ssl forward proxy @@ -521,6 +526,12 @@ public InputList CertKeyChains [Input("chain")] public Input? Chain { get; set; } + /// + /// Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + /// + [Input("cipherGroup")] + public Input? CipherGroup { get; set; } + /// /// Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. /// @@ -611,11 +622,21 @@ public InputList CertKeyChains [Input("partition")] public Input? Partition { get; set; } + [Input("passphrase")] + private Input? _passphrase; + /// /// Client Certificate Constrained Delegation CA passphrase /// - [Input("passphrase")] - public Input? Passphrase { get; set; } + public Input? Passphrase + { + get => _passphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _passphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// 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. @@ -853,13 +874,8 @@ public InputList CertExtensionIncludes set => _certExtensionIncludes = value; } - [Input("certKeyChains")] - private InputList? _certKeyChains; - public InputList CertKeyChains - { - get => _certKeyChains ?? (_certKeyChains = new InputList()); - set => _certKeyChains = value; - } + [Input("certKeyChain")] + public Input? CertKeyChain { get; set; } /// /// Life span of the certificate in days for ssl forward proxy @@ -879,6 +895,12 @@ public InputList CertKeyChains [Input("chain")] public Input? Chain { get; set; } + /// + /// Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + /// + [Input("cipherGroup")] + public Input? CipherGroup { get; set; } + /// /// Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. /// @@ -969,11 +991,21 @@ public InputList CertKeyChains [Input("partition")] public Input? Partition { get; set; } + [Input("passphrase")] + private Input? _passphrase; + /// /// Client Certificate Constrained Delegation CA passphrase /// - [Input("passphrase")] - public Input? Passphrase { get; set; } + public Input? Passphrase + { + get => _passphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _passphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// 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. diff --git a/sdk/dotnet/Ltm/ProfileFastL4.cs b/sdk/dotnet/Ltm/ProfileFastL4.cs index 52822128..5360a03d 100644 --- a/sdk/dotnet/Ltm/ProfileFastL4.cs +++ b/sdk/dotnet/Ltm/ProfileFastL4.cs @@ -10,9 +10,9 @@ namespace Pulumi.F5BigIP.Ltm { /// - /// `f5bigip.ltm.ProfileFastL4` Configures a custom profile_fastl4 for use by health checks. + /// `f5bigip.ltm.ProfileFastL4` Configures a custom LTM fastL4 profile for use by health checks. /// - /// For 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. + /// 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-fastl4profile`) or `partition + directory + name` of the resource (example: `/Common/test/my-fastl4profile`) /// /// ## Example Usage /// @@ -99,17 +99,47 @@ public partial class ProfileFastL4 : global::Pulumi.CustomResource public Output KeepaliveInterval { get; private set; } = null!; /// - /// Name of the profile_fastl4 + /// Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + /// + [Output("lateBinding")] + public Output LateBinding { get; private set; } = null!; + + /// + /// 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. + /// + [Output("looseClose")] + public Output LooseClose { get; private set; } = null!; + + /// + /// 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. + /// + [Output("looseInitiation")] + public Output LooseInitiation { get; private set; } = null!; + + /// + /// 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`) /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// Displays the administrative partition within which this profile resides + /// name of partition /// [Output("partition")] public Output Partition { get; private set; } = null!; + /// + /// Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + /// + [Output("receiveWindowsize")] + public Output ReceiveWindowsize { get; private set; } = null!; + + /// + /// 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`. + /// + [Output("tcpHandshakeTimeout")] + public Output TcpHandshakeTimeout { get; private set; } = null!; + /// /// Create a ProfileFastL4 resource with the given unique name, arguments, and options. @@ -205,17 +235,47 @@ public sealed class ProfileFastL4Args : global::Pulumi.ResourceArgs public Input? KeepaliveInterval { get; set; } /// - /// Name of the profile_fastl4 + /// Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + /// + [Input("lateBinding")] + public Input? LateBinding { get; set; } + + /// + /// 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. + /// + [Input("looseClose")] + public Input? LooseClose { get; set; } + + /// + /// 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. + /// + [Input("looseInitiation")] + public Input? LooseInitiation { get; set; } + + /// + /// 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`) /// [Input("name", required: true)] public Input Name { get; set; } = null!; /// - /// Displays the administrative partition within which this profile resides + /// name of partition /// [Input("partition")] public Input? Partition { get; set; } + /// + /// Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + /// + [Input("receiveWindowsize")] + public Input? ReceiveWindowsize { get; set; } + + /// + /// 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`. + /// + [Input("tcpHandshakeTimeout")] + public Input? TcpHandshakeTimeout { get; set; } + public ProfileFastL4Args() { } @@ -273,17 +333,47 @@ public sealed class ProfileFastL4State : global::Pulumi.ResourceArgs public Input? KeepaliveInterval { get; set; } /// - /// Name of the profile_fastl4 + /// Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + /// + [Input("lateBinding")] + public Input? LateBinding { get; set; } + + /// + /// 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. + /// + [Input("looseClose")] + public Input? LooseClose { get; set; } + + /// + /// 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. + /// + [Input("looseInitiation")] + public Input? LooseInitiation { get; set; } + + /// + /// 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`) /// [Input("name")] public Input? Name { get; set; } /// - /// Displays the administrative partition within which this profile resides + /// name of partition /// [Input("partition")] public Input? Partition { get; set; } + /// + /// Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + /// + [Input("receiveWindowsize")] + public Input? ReceiveWindowsize { get; set; } + + /// + /// 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`. + /// + [Input("tcpHandshakeTimeout")] + public Input? TcpHandshakeTimeout { get; set; } + public ProfileFastL4State() { } diff --git a/sdk/dotnet/Ltm/ProfileHttpCompress.cs b/sdk/dotnet/Ltm/ProfileHttpCompress.cs index 58167087..a728937a 100644 --- a/sdk/dotnet/Ltm/ProfileHttpCompress.cs +++ b/sdk/dotnet/Ltm/ProfileHttpCompress.cs @@ -12,7 +12,7 @@ namespace Pulumi.F5BigIP.Ltm /// /// `f5bigip.ltm.ProfileHttpCompress` Virtual server HTTP compression profile configuration /// - /// Resources 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 ) + /// Resources 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`) /// /// ## Example Usage /// @@ -48,10 +48,24 @@ namespace Pulumi.F5BigIP.Ltm /// /// }); /// ``` + /// + /// ## Import + /// + /// BIG-IP LTM HTTP Compress profiles can be imported using the `name`, e.g. + /// + /// ```sh + /// $ pulumi import f5bigip:ltm/profileHttpCompress:ProfileHttpCompress test-httpcomprs_import /Common/test-httpcomprs + /// ``` /// [F5BigIPResourceType("f5bigip:ltm/profileHttpCompress:ProfileHttpCompress")] public partial class ProfileHttpCompress : global::Pulumi.CustomResource { + /// + /// 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 `4096` bytes. + /// + [Output("compressionBuffersize")] + public Output CompressionBuffersize { get; private set; } = null!; + /// /// 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. /// @@ -64,6 +78,12 @@ public partial class ProfileHttpCompress : global::Pulumi.CustomResource [Output("contentTypeIncludes")] public Output> ContentTypeIncludes { get; private set; } = null!; + /// + /// 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 `enabled`. + /// + [Output("cpuSaver")] + public Output CpuSaver { get; private set; } = null!; + /// /// 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. /// @@ -71,7 +91,31 @@ public partial class ProfileHttpCompress : global::Pulumi.CustomResource public Output DefaultsFrom { get; private set; } = null!; /// - /// Name of the profile_httpcompress + /// 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) + /// + [Output("gzipCompressionLevel")] + public Output GzipCompressionLevel { get; private set; } = null!; + + /// + /// 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`. + /// + [Output("gzipMemoryLevel")] + public Output GzipMemoryLevel { get; private set; } = null!; + + /// + /// Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + /// + [Output("gzipWindowSize")] + public Output GzipWindowSize { get; private set; } = null!; + + /// + /// Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + /// + [Output("keepAcceptEncoding")] + public Output KeepAcceptEncoding { get; private set; } = null!; + + /// + /// 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`) /// [Output("name")] public Output Name { get; private set; } = null!; @@ -88,6 +132,12 @@ public partial class ProfileHttpCompress : global::Pulumi.CustomResource [Output("uriIncludes")] public Output> UriIncludes { get; private set; } = null!; + /// + /// Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + /// + [Output("varyHeader")] + public Output VaryHeader { get; private set; } = null!; + /// /// Create a ProfileHttpCompress resource with the given unique name, arguments, and options. @@ -134,6 +184,12 @@ public static ProfileHttpCompress Get(string name, Input id, ProfileHttp public sealed class ProfileHttpCompressArgs : global::Pulumi.ResourceArgs { + /// + /// 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 `4096` bytes. + /// + [Input("compressionBuffersize")] + public Input? CompressionBuffersize { get; set; } + [Input("contentTypeExcludes")] private InputList? _contentTypeExcludes; @@ -158,6 +214,12 @@ public InputList ContentTypeIncludes set => _contentTypeIncludes = value; } + /// + /// 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 `enabled`. + /// + [Input("cpuSaver")] + public Input? CpuSaver { get; set; } + /// /// 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. /// @@ -165,7 +227,31 @@ public InputList ContentTypeIncludes public Input? DefaultsFrom { get; set; } /// - /// Name of the profile_httpcompress + /// 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) + /// + [Input("gzipCompressionLevel")] + public Input? GzipCompressionLevel { get; set; } + + /// + /// 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`. + /// + [Input("gzipMemoryLevel")] + public Input? GzipMemoryLevel { get; set; } + + /// + /// Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + /// + [Input("gzipWindowSize")] + public Input? GzipWindowSize { get; set; } + + /// + /// Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + /// + [Input("keepAcceptEncoding")] + public Input? KeepAcceptEncoding { get; set; } + + /// + /// 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`) /// [Input("name", required: true)] public Input Name { get; set; } = null!; @@ -194,6 +280,12 @@ public InputList UriIncludes set => _uriIncludes = value; } + /// + /// Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + /// + [Input("varyHeader")] + public Input? VaryHeader { get; set; } + public ProfileHttpCompressArgs() { } @@ -202,6 +294,12 @@ public ProfileHttpCompressArgs() public sealed class ProfileHttpCompressState : global::Pulumi.ResourceArgs { + /// + /// 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 `4096` bytes. + /// + [Input("compressionBuffersize")] + public Input? CompressionBuffersize { get; set; } + [Input("contentTypeExcludes")] private InputList? _contentTypeExcludes; @@ -226,6 +324,12 @@ public InputList ContentTypeIncludes set => _contentTypeIncludes = value; } + /// + /// 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 `enabled`. + /// + [Input("cpuSaver")] + public Input? CpuSaver { get; set; } + /// /// 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. /// @@ -233,7 +337,31 @@ public InputList ContentTypeIncludes public Input? DefaultsFrom { get; set; } /// - /// Name of the profile_httpcompress + /// 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) + /// + [Input("gzipCompressionLevel")] + public Input? GzipCompressionLevel { get; set; } + + /// + /// 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`. + /// + [Input("gzipMemoryLevel")] + public Input? GzipMemoryLevel { get; set; } + + /// + /// Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + /// + [Input("gzipWindowSize")] + public Input? GzipWindowSize { get; set; } + + /// + /// Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + /// + [Input("keepAcceptEncoding")] + public Input? KeepAcceptEncoding { get; set; } + + /// + /// 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`) /// [Input("name")] public Input? Name { get; set; } @@ -262,6 +390,12 @@ public InputList UriIncludes set => _uriIncludes = value; } + /// + /// Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + /// + [Input("varyHeader")] + public Input? VaryHeader { get; set; } + public ProfileHttpCompressState() { } diff --git a/sdk/dotnet/Ltm/ProfileServerSsl.cs b/sdk/dotnet/Ltm/ProfileServerSsl.cs index 611bd995..ada61cc3 100644 --- a/sdk/dotnet/Ltm/ProfileServerSsl.cs +++ b/sdk/dotnet/Ltm/ProfileServerSsl.cs @@ -120,13 +120,19 @@ public partial class ProfileServerSsl : global::Pulumi.CustomResource /// Specifies the name of the certificate that the system uses for server-side SSL processing. /// [Output("cert")] - public Output Cert { get; private set; } = null!; + public Output Cert { get; private set; } = null!; /// /// Specifies the certificates-key chain to associate with the SSL profile /// [Output("chain")] - public Output Chain { get; private set; } = null!; + public Output Chain { get; private set; } = null!; + + /// + /// Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + /// + [Output("cipherGroup")] + public Output CipherGroup { get; private set; } = null!; /// /// Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. @@ -174,7 +180,7 @@ public partial class ProfileServerSsl : global::Pulumi.CustomResource /// Specifies the file name of the SSL key. /// [Output("key")] - public Output Key { get; private set; } = null!; + public Output Key { get; private set; } = null!; /// /// ModSSL Methods enabled / disabled. Default is disabled. @@ -367,6 +373,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "passphrase", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -493,6 +503,12 @@ public InputList C3dCertExtensionIncludes [Input("chain")] public Input? Chain { get; set; } + /// + /// Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + /// + [Input("cipherGroup")] + public Input? CipherGroup { get; set; } + /// /// Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. /// @@ -565,11 +581,21 @@ public InputList C3dCertExtensionIncludes [Input("partition")] public Input? Partition { get; set; } + [Input("passphrase")] + private Input? _passphrase; + /// /// Client Certificate Constrained Delegation CA passphrase /// - [Input("passphrase")] - public Input? Passphrase { get; set; } + public Input? Passphrase + { + get => _passphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _passphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// 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. @@ -826,6 +852,12 @@ public InputList C3dCertExtensionIncludes [Input("chain")] public Input? Chain { get; set; } + /// + /// Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + /// + [Input("cipherGroup")] + public Input? CipherGroup { get; set; } + /// /// Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. /// @@ -898,11 +930,21 @@ public InputList C3dCertExtensionIncludes [Input("partition")] public Input? Partition { get; set; } + [Input("passphrase")] + private Input? _passphrase; + /// /// Client Certificate Constrained Delegation CA passphrase /// - [Input("passphrase")] - public Input? Passphrase { get; set; } + public Input? Passphrase + { + get => _passphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _passphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// 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. diff --git a/sdk/dotnet/Ltm/ProfileTcp.cs b/sdk/dotnet/Ltm/ProfileTcp.cs index 9b7a8f30..95441ef6 100644 --- a/sdk/dotnet/Ltm/ProfileTcp.cs +++ b/sdk/dotnet/Ltm/ProfileTcp.cs @@ -10,9 +10,9 @@ namespace Pulumi.F5BigIP.Ltm { /// - /// `f5bigip.ltm.ProfileTcp` Configures a custom profile_tcp for use by health checks. + /// `f5bigip.ltm.ProfileTcp` Configures a custom TCP LTM Profile for use by health checks. /// - /// Resources 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 ) + /// Resources 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 ) /// /// ## Example Usage /// @@ -47,6 +47,12 @@ public partial class ProfileTcp : global::Pulumi.CustomResource [Output("closeWaitTimeout")] public Output CloseWaitTimeout { get; private set; } = null!; + /// + /// Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + /// + [Output("congestionControl")] + public Output CongestionControl { get; private set; } = null!; + /// /// 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. /// @@ -60,7 +66,19 @@ public partial class ProfileTcp : global::Pulumi.CustomResource public Output DeferredAccept { get; private set; } = null!; /// - /// When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + /// 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. + /// + [Output("delayedAcks")] + public Output DelayedAcks { get; private set; } = null!; + + /// + /// 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. + /// + [Output("earlyRetransmit")] + public Output EarlyRetransmit { get; private set; } = null!; + + /// + /// When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. /// [Output("fastOpen")] public Output FastOpen { get; private set; } = null!; @@ -83,6 +101,12 @@ public partial class ProfileTcp : global::Pulumi.CustomResource [Output("idleTimeout")] public Output IdleTimeout { get; private set; } = null!; + /// + /// 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. + /// + [Output("initialCongestionWindowsize")] + public Output InitialCongestionWindowsize { get; private set; } = null!; + /// /// Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. /// @@ -90,17 +114,65 @@ public partial class ProfileTcp : global::Pulumi.CustomResource public Output KeepaliveInterval { get; private set; } = null!; /// - /// Name of the profile_tcp + /// 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. + /// + [Output("nagle")] + public Output Nagle { get; private set; } = null!; + + /// + /// 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 ) /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// Displays the administrative partition within which this profile resides + /// name of partition /// [Output("partition")] public Output Partition { get; private set; } = null!; + /// + /// Specifies the proxy buffer level, in bytes, at which the receive window is closed. + /// + [Output("proxybufferHigh")] + public Output ProxybufferHigh { get; private set; } = null!; + + /// + /// 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. + /// + [Output("receiveWindowsize")] + public Output ReceiveWindowsize { get; private set; } = null!; + + /// + /// Specifies the SEND window size. The default is 131072 bytes. + /// + [Output("sendBuffersize")] + public Output SendBuffersize { get; private set; } = null!; + + /// + /// 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. + /// + [Output("taillossProbe")] + public Output TaillossProbe { get; private set; } = null!; + + /// + /// 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. + /// + [Output("timewaitRecycle")] + public Output TimewaitRecycle { get; private set; } = null!; + + /// + /// 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 `disabled`. + /// + [Output("verifiedAccept")] + public Output VerifiedAccept { get; private set; } = null!; + + /// + /// Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + /// + [Output("zerowindowTimeout")] + public Output ZerowindowTimeout { get; private set; } = null!; + /// /// Create a ProfileTcp resource with the given unique name, arguments, and options. @@ -153,6 +225,12 @@ public sealed class ProfileTcpArgs : global::Pulumi.ResourceArgs [Input("closeWaitTimeout")] public Input? CloseWaitTimeout { get; set; } + /// + /// Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + /// + [Input("congestionControl")] + public Input? CongestionControl { get; set; } + /// /// 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. /// @@ -166,7 +244,19 @@ public sealed class ProfileTcpArgs : global::Pulumi.ResourceArgs public Input? DeferredAccept { get; set; } /// - /// When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + /// 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. + /// + [Input("delayedAcks")] + public Input? DelayedAcks { get; set; } + + /// + /// 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. + /// + [Input("earlyRetransmit")] + public Input? EarlyRetransmit { get; set; } + + /// + /// When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. /// [Input("fastOpen")] public Input? FastOpen { get; set; } @@ -189,6 +279,12 @@ public sealed class ProfileTcpArgs : global::Pulumi.ResourceArgs [Input("idleTimeout")] public Input? IdleTimeout { get; set; } + /// + /// 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. + /// + [Input("initialCongestionWindowsize")] + public Input? InitialCongestionWindowsize { get; set; } + /// /// Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. /// @@ -196,17 +292,65 @@ public sealed class ProfileTcpArgs : global::Pulumi.ResourceArgs public Input? KeepaliveInterval { get; set; } /// - /// Name of the profile_tcp + /// 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. + /// + [Input("nagle")] + public Input? Nagle { get; set; } + + /// + /// 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 ) /// [Input("name", required: true)] public Input Name { get; set; } = null!; /// - /// Displays the administrative partition within which this profile resides + /// name of partition /// [Input("partition")] public Input? Partition { get; set; } + /// + /// Specifies the proxy buffer level, in bytes, at which the receive window is closed. + /// + [Input("proxybufferHigh")] + public Input? ProxybufferHigh { get; set; } + + /// + /// 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. + /// + [Input("receiveWindowsize")] + public Input? ReceiveWindowsize { get; set; } + + /// + /// Specifies the SEND window size. The default is 131072 bytes. + /// + [Input("sendBuffersize")] + public Input? SendBuffersize { get; set; } + + /// + /// 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. + /// + [Input("taillossProbe")] + public Input? TaillossProbe { get; set; } + + /// + /// 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. + /// + [Input("timewaitRecycle")] + public Input? TimewaitRecycle { get; set; } + + /// + /// 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 `disabled`. + /// + [Input("verifiedAccept")] + public Input? VerifiedAccept { get; set; } + + /// + /// Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + /// + [Input("zerowindowTimeout")] + public Input? ZerowindowTimeout { get; set; } + public ProfileTcpArgs() { } @@ -221,6 +365,12 @@ public sealed class ProfileTcpState : global::Pulumi.ResourceArgs [Input("closeWaitTimeout")] public Input? CloseWaitTimeout { get; set; } + /// + /// Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + /// + [Input("congestionControl")] + public Input? CongestionControl { get; set; } + /// /// 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. /// @@ -234,7 +384,19 @@ public sealed class ProfileTcpState : global::Pulumi.ResourceArgs public Input? DeferredAccept { get; set; } /// - /// When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + /// 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. + /// + [Input("delayedAcks")] + public Input? DelayedAcks { get; set; } + + /// + /// 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. + /// + [Input("earlyRetransmit")] + public Input? EarlyRetransmit { get; set; } + + /// + /// When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. /// [Input("fastOpen")] public Input? FastOpen { get; set; } @@ -257,6 +419,12 @@ public sealed class ProfileTcpState : global::Pulumi.ResourceArgs [Input("idleTimeout")] public Input? IdleTimeout { get; set; } + /// + /// 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. + /// + [Input("initialCongestionWindowsize")] + public Input? InitialCongestionWindowsize { get; set; } + /// /// Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. /// @@ -264,17 +432,65 @@ public sealed class ProfileTcpState : global::Pulumi.ResourceArgs public Input? KeepaliveInterval { get; set; } /// - /// Name of the profile_tcp + /// 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. + /// + [Input("nagle")] + public Input? Nagle { get; set; } + + /// + /// 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 ) /// [Input("name")] public Input? Name { get; set; } /// - /// Displays the administrative partition within which this profile resides + /// name of partition /// [Input("partition")] public Input? Partition { get; set; } + /// + /// Specifies the proxy buffer level, in bytes, at which the receive window is closed. + /// + [Input("proxybufferHigh")] + public Input? ProxybufferHigh { get; set; } + + /// + /// 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. + /// + [Input("receiveWindowsize")] + public Input? ReceiveWindowsize { get; set; } + + /// + /// Specifies the SEND window size. The default is 131072 bytes. + /// + [Input("sendBuffersize")] + public Input? SendBuffersize { get; set; } + + /// + /// 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. + /// + [Input("taillossProbe")] + public Input? TaillossProbe { get; set; } + + /// + /// 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. + /// + [Input("timewaitRecycle")] + public Input? TimewaitRecycle { get; set; } + + /// + /// 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 `disabled`. + /// + [Input("verifiedAccept")] + public Input? VerifiedAccept { get; set; } + + /// + /// Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + /// + [Input("zerowindowTimeout")] + public Input? ZerowindowTimeout { get; set; } + public ProfileTcpState() { } diff --git a/sdk/dotnet/Ltm/Snat.cs b/sdk/dotnet/Ltm/Snat.cs index b76e565a..a46f9e57 100644 --- a/sdk/dotnet/Ltm/Snat.cs +++ b/sdk/dotnet/Ltm/Snat.cs @@ -49,7 +49,7 @@ namespace Pulumi.F5BigIP.Ltm public partial class Snat : global::Pulumi.CustomResource { /// - /// -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + /// Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. /// [Output("autolasthop")] public Output Autolasthop { get; private set; } = null!; @@ -161,7 +161,7 @@ public static Snat Get(string name, Input id, SnatState? state = null, C public sealed class SnatArgs : global::Pulumi.ResourceArgs { /// - /// -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + /// Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. /// [Input("autolasthop")] public Input? Autolasthop { get; set; } @@ -247,7 +247,7 @@ public SnatArgs() public sealed class SnatState : global::Pulumi.ResourceArgs { /// - /// -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + /// Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. /// [Input("autolasthop")] public Input? Autolasthop { get; set; } diff --git a/sdk/dotnet/Ltm/VirtualServer.cs b/sdk/dotnet/Ltm/VirtualServer.cs index 0ee61871..ff879b09 100644 --- a/sdk/dotnet/Ltm/VirtualServer.cs +++ b/sdk/dotnet/Ltm/VirtualServer.cs @@ -86,7 +86,7 @@ public partial class VirtualServer : global::Pulumi.CustomResource public Output> ClientProfiles { get; private set; } = null!; [Output("defaultPersistenceProfile")] - public Output DefaultPersistenceProfile { get; private set; } = null!; + public Output DefaultPersistenceProfile { get; private set; } = null!; /// /// Description of Virtual server @@ -98,7 +98,7 @@ public partial class VirtualServer : global::Pulumi.CustomResource /// Destination IP /// [Output("destination")] - public Output Destination { get; private set; } = null!; + public Output Destination { get; private set; } = null!; /// /// Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. @@ -106,11 +106,17 @@ public partial class VirtualServer : global::Pulumi.CustomResource [Output("fallbackPersistenceProfile")] public Output FallbackPersistenceProfile { get; private set; } = null!; + /// + /// 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`. + /// + [Output("firewallEnforcedPolicy")] + public Output FirewallEnforcedPolicy { get; private set; } = null!; + /// /// Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) /// [Output("ipProtocol")] - public Output IpProtocol { get; private set; } = null!; + public Output IpProtocol { get; private set; } = null!; /// /// The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. @@ -173,7 +179,7 @@ public partial class VirtualServer : global::Pulumi.CustomResource public Output> ServerProfiles { get; private set; } = null!; /// - /// Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + /// Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. /// [Output("snatpool")] public Output Snatpool { get; private set; } = null!; @@ -185,10 +191,16 @@ public partial class VirtualServer : global::Pulumi.CustomResource public Output Source { get; private set; } = null!; /// - /// Can be either omitted for none or the values automap or snat + /// Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. /// [Output("sourceAddressTranslation")] - public Output SourceAddressTranslation { get; private set; } = null!; + public Output SourceAddressTranslation { get; private set; } = null!; + + /// + /// Specifies whether the system preserves the source port of the connection. The default is `preserve`. + /// + [Output("sourcePort")] + public Output SourcePort { get; private set; } = null!; /// /// Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled @@ -196,17 +208,23 @@ public partial class VirtualServer : global::Pulumi.CustomResource [Output("state")] public Output State { get; private set; } = null!; + /// + /// Specifies destination traffic matching information to which the virtual server sends traffic + /// + [Output("trafficmatchingCriteria")] + public Output TrafficmatchingCriteria { get; private set; } = null!; + /// /// 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. /// [Output("translateAddress")] - public Output TranslateAddress { get; private set; } = null!; + public Output TranslateAddress { get; private set; } = null!; /// /// 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 /// [Output("translatePort")] - public Output TranslatePort { get; private set; } = null!; + public Output TranslatePort { get; private set; } = null!; /// /// The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlan_enabled` @@ -291,8 +309,8 @@ public InputList ClientProfiles /// /// Destination IP /// - [Input("destination", required: true)] - public Input Destination { get; set; } = null!; + [Input("destination")] + public Input? Destination { get; set; } /// /// Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. @@ -300,6 +318,12 @@ public InputList ClientProfiles [Input("fallbackPersistenceProfile")] public Input? FallbackPersistenceProfile { get; set; } + /// + /// 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`. + /// + [Input("firewallEnforcedPolicy")] + public Input? FirewallEnforcedPolicy { get; set; } + /// /// Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) /// @@ -362,8 +386,8 @@ public InputList Policies /// /// Listen port for the virtual server /// - [Input("port", required: true)] - public Input Port { get; set; } = null!; + [Input("port")] + public Input? Port { get; set; } [Input("profiles")] private InputList? _profiles; @@ -402,7 +426,7 @@ public InputList ServerProfiles } /// - /// Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + /// Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. /// [Input("snatpool")] public Input? Snatpool { get; set; } @@ -414,17 +438,29 @@ public InputList ServerProfiles public Input? Source { get; set; } /// - /// Can be either omitted for none or the values automap or snat + /// Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. /// [Input("sourceAddressTranslation")] public Input? SourceAddressTranslation { get; set; } + /// + /// Specifies whether the system preserves the source port of the connection. The default is `preserve`. + /// + [Input("sourcePort")] + public Input? SourcePort { get; set; } + /// /// Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled /// [Input("state")] public Input? State { get; set; } + /// + /// Specifies destination traffic matching information to which the virtual server sends traffic + /// + [Input("trafficmatchingCriteria")] + public Input? TrafficmatchingCriteria { get; set; } + /// /// 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. /// @@ -497,6 +533,12 @@ public InputList ClientProfiles [Input("fallbackPersistenceProfile")] public Input? FallbackPersistenceProfile { get; set; } + /// + /// 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`. + /// + [Input("firewallEnforcedPolicy")] + public Input? FirewallEnforcedPolicy { get; set; } + /// /// Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) /// @@ -599,7 +641,7 @@ public InputList ServerProfiles } /// - /// Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + /// Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. /// [Input("snatpool")] public Input? Snatpool { get; set; } @@ -611,17 +653,29 @@ public InputList ServerProfiles public Input? Source { get; set; } /// - /// Can be either omitted for none or the values automap or snat + /// Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. /// [Input("sourceAddressTranslation")] public Input? SourceAddressTranslation { get; set; } + /// + /// Specifies whether the system preserves the source port of the connection. The default is `preserve`. + /// + [Input("sourcePort")] + public Input? SourcePort { get; set; } + /// /// Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled /// [Input("state")] public Input? State { get; set; } + /// + /// Specifies destination traffic matching information to which the virtual server sends traffic + /// + [Input("trafficmatchingCriteria")] + public Input? TrafficmatchingCriteria { get; set; } + /// /// 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. /// diff --git a/sdk/dotnet/Outputs/FastHttpAppFastCreateMonitor.cs b/sdk/dotnet/Outputs/FastHttpAppMonitor.cs similarity index 95% rename from sdk/dotnet/Outputs/FastHttpAppFastCreateMonitor.cs rename to sdk/dotnet/Outputs/FastHttpAppMonitor.cs index e5186824..9b0d30eb 100644 --- a/sdk/dotnet/Outputs/FastHttpAppFastCreateMonitor.cs +++ b/sdk/dotnet/Outputs/FastHttpAppMonitor.cs @@ -11,7 +11,7 @@ namespace Pulumi.F5BigIP.Outputs { [OutputType] - public sealed class FastHttpAppFastCreateMonitor + public sealed class FastHttpAppMonitor { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -39,7 +39,7 @@ public sealed class FastHttpAppFastCreateMonitor public readonly string? Username; [OutputConstructor] - private FastHttpAppFastCreateMonitor( + private FastHttpAppMonitor( int? interval, bool? monitorAuth, diff --git a/sdk/dotnet/Outputs/FastTcpAppFastCreatePoolMember.cs b/sdk/dotnet/Outputs/FastHttpAppPoolMember.cs similarity index 93% rename from sdk/dotnet/Outputs/FastTcpAppFastCreatePoolMember.cs rename to sdk/dotnet/Outputs/FastHttpAppPoolMember.cs index 811dc968..a0ad3345 100644 --- a/sdk/dotnet/Outputs/FastTcpAppFastCreatePoolMember.cs +++ b/sdk/dotnet/Outputs/FastHttpAppPoolMember.cs @@ -11,7 +11,7 @@ namespace Pulumi.F5BigIP.Outputs { [OutputType] - public sealed class FastTcpAppFastCreatePoolMember + public sealed class FastHttpAppPoolMember { /// /// List of server address to be used for FAST-Generated Pool. @@ -35,7 +35,7 @@ public sealed class FastTcpAppFastCreatePoolMember public readonly bool? ShareNodes; [OutputConstructor] - private FastTcpAppFastCreatePoolMember( + private FastHttpAppPoolMember( ImmutableArray addresses, int? connectionLimit, diff --git a/sdk/dotnet/Outputs/FastHttpAppVirtualServer.cs b/sdk/dotnet/Outputs/FastHttpAppVirtualServer.cs index d6c42818..ad604f84 100644 --- a/sdk/dotnet/Outputs/FastHttpAppVirtualServer.cs +++ b/sdk/dotnet/Outputs/FastHttpAppVirtualServer.cs @@ -18,7 +18,7 @@ public sealed class FastHttpAppVirtualServer /// public readonly string Ip; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// public readonly int Port; diff --git a/sdk/dotnet/Outputs/FastHttpAppWafSecurityPolicy.cs b/sdk/dotnet/Outputs/FastHttpAppWafSecurityPolicy.cs new file mode 100644 index 00000000..f388d106 --- /dev/null +++ b/sdk/dotnet/Outputs/FastHttpAppWafSecurityPolicy.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Outputs +{ + + [OutputType] + public sealed class FastHttpAppWafSecurityPolicy + { + /// + /// Setting `true` will enable FAST to create WAF Security Policy. + /// + public readonly bool Enable; + + [OutputConstructor] + private FastHttpAppWafSecurityPolicy(bool enable) + { + Enable = enable; + } + } +} diff --git a/sdk/dotnet/Outputs/FastHttpsAppFastCreateMonitor.cs b/sdk/dotnet/Outputs/FastHttpsAppMonitor.cs similarity index 94% rename from sdk/dotnet/Outputs/FastHttpsAppFastCreateMonitor.cs rename to sdk/dotnet/Outputs/FastHttpsAppMonitor.cs index 23ba534c..8fa222ad 100644 --- a/sdk/dotnet/Outputs/FastHttpsAppFastCreateMonitor.cs +++ b/sdk/dotnet/Outputs/FastHttpsAppMonitor.cs @@ -11,7 +11,7 @@ namespace Pulumi.F5BigIP.Outputs { [OutputType] - public sealed class FastHttpsAppFastCreateMonitor + public sealed class FastHttpsAppMonitor { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -39,7 +39,7 @@ public sealed class FastHttpsAppFastCreateMonitor public readonly string? Username; [OutputConstructor] - private FastHttpsAppFastCreateMonitor( + private FastHttpsAppMonitor( int? interval, bool? monitorAuth, diff --git a/sdk/dotnet/Outputs/FastHttpAppFastCreatePoolMember.cs b/sdk/dotnet/Outputs/FastHttpsAppPoolMember.cs similarity index 93% rename from sdk/dotnet/Outputs/FastHttpAppFastCreatePoolMember.cs rename to sdk/dotnet/Outputs/FastHttpsAppPoolMember.cs index 04b53825..a21efe4a 100644 --- a/sdk/dotnet/Outputs/FastHttpAppFastCreatePoolMember.cs +++ b/sdk/dotnet/Outputs/FastHttpsAppPoolMember.cs @@ -11,7 +11,7 @@ namespace Pulumi.F5BigIP.Outputs { [OutputType] - public sealed class FastHttpAppFastCreatePoolMember + public sealed class FastHttpsAppPoolMember { /// /// List of server address to be used for FAST-Generated Pool. @@ -35,7 +35,7 @@ public sealed class FastHttpAppFastCreatePoolMember public readonly bool? ShareNodes; [OutputConstructor] - private FastHttpAppFastCreatePoolMember( + private FastHttpsAppPoolMember( ImmutableArray addresses, int? connectionLimit, diff --git a/sdk/dotnet/Outputs/FastHttpsAppCreateTlsServerProfile.cs b/sdk/dotnet/Outputs/FastHttpsAppTlsClientProfile.cs similarity index 89% rename from sdk/dotnet/Outputs/FastHttpsAppCreateTlsServerProfile.cs rename to sdk/dotnet/Outputs/FastHttpsAppTlsClientProfile.cs index 41a9d020..dfd6d8c5 100644 --- a/sdk/dotnet/Outputs/FastHttpsAppCreateTlsServerProfile.cs +++ b/sdk/dotnet/Outputs/FastHttpsAppTlsClientProfile.cs @@ -11,7 +11,7 @@ namespace Pulumi.F5BigIP.Outputs { [OutputType] - public sealed class FastHttpsAppCreateTlsServerProfile + public sealed class FastHttpsAppTlsClientProfile { /// /// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. @@ -23,7 +23,7 @@ public sealed class FastHttpsAppCreateTlsServerProfile public readonly string TlsKeyName; [OutputConstructor] - private FastHttpsAppCreateTlsServerProfile( + private FastHttpsAppTlsClientProfile( string tlsCertName, string tlsKeyName) diff --git a/sdk/dotnet/Outputs/FastHttpsAppTlsServerProfile.cs b/sdk/dotnet/Outputs/FastHttpsAppTlsServerProfile.cs new file mode 100644 index 00000000..f0b48538 --- /dev/null +++ b/sdk/dotnet/Outputs/FastHttpsAppTlsServerProfile.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Outputs +{ + + [OutputType] + public sealed class FastHttpsAppTlsServerProfile + { + /// + /// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + /// + public readonly string TlsCertName; + /// + /// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + /// + public readonly string TlsKeyName; + + [OutputConstructor] + private FastHttpsAppTlsServerProfile( + string tlsCertName, + + string tlsKeyName) + { + TlsCertName = tlsCertName; + TlsKeyName = tlsKeyName; + } + } +} diff --git a/sdk/dotnet/Outputs/FastHttpsAppVirtualServer.cs b/sdk/dotnet/Outputs/FastHttpsAppVirtualServer.cs index d721b9bf..71441ba2 100644 --- a/sdk/dotnet/Outputs/FastHttpsAppVirtualServer.cs +++ b/sdk/dotnet/Outputs/FastHttpsAppVirtualServer.cs @@ -18,7 +18,7 @@ public sealed class FastHttpsAppVirtualServer /// public readonly string Ip; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// public readonly int Port; diff --git a/sdk/dotnet/Outputs/FastHttpsAppWafSecurityPolicy.cs b/sdk/dotnet/Outputs/FastHttpsAppWafSecurityPolicy.cs new file mode 100644 index 00000000..dadad2dd --- /dev/null +++ b/sdk/dotnet/Outputs/FastHttpsAppWafSecurityPolicy.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Outputs +{ + + [OutputType] + public sealed class FastHttpsAppWafSecurityPolicy + { + /// + /// Setting `true` will enable FAST to create WAF Security Policy. + /// + public readonly bool Enable; + + [OutputConstructor] + private FastHttpsAppWafSecurityPolicy(bool enable) + { + Enable = enable; + } + } +} diff --git a/sdk/dotnet/Outputs/FastTcpAppFastCreateMonitor.cs b/sdk/dotnet/Outputs/FastTcpAppMonitor.cs similarity index 85% rename from sdk/dotnet/Outputs/FastTcpAppFastCreateMonitor.cs rename to sdk/dotnet/Outputs/FastTcpAppMonitor.cs index 104ae09e..82755d3b 100644 --- a/sdk/dotnet/Outputs/FastTcpAppFastCreateMonitor.cs +++ b/sdk/dotnet/Outputs/FastTcpAppMonitor.cs @@ -11,7 +11,7 @@ namespace Pulumi.F5BigIP.Outputs { [OutputType] - public sealed class FastTcpAppFastCreateMonitor + public sealed class FastTcpAppMonitor { /// /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -19,7 +19,7 @@ public sealed class FastTcpAppFastCreateMonitor public readonly int? Interval; [OutputConstructor] - private FastTcpAppFastCreateMonitor(int? interval) + private FastTcpAppMonitor(int? interval) { Interval = interval; } diff --git a/sdk/dotnet/Outputs/FastHttpsAppFastCreatePoolMember.cs b/sdk/dotnet/Outputs/FastTcpAppPoolMember.cs similarity index 93% rename from sdk/dotnet/Outputs/FastHttpsAppFastCreatePoolMember.cs rename to sdk/dotnet/Outputs/FastTcpAppPoolMember.cs index df8f5323..a2284b1e 100644 --- a/sdk/dotnet/Outputs/FastHttpsAppFastCreatePoolMember.cs +++ b/sdk/dotnet/Outputs/FastTcpAppPoolMember.cs @@ -11,7 +11,7 @@ namespace Pulumi.F5BigIP.Outputs { [OutputType] - public sealed class FastHttpsAppFastCreatePoolMember + public sealed class FastTcpAppPoolMember { /// /// List of server address to be used for FAST-Generated Pool. @@ -35,7 +35,7 @@ public sealed class FastHttpsAppFastCreatePoolMember public readonly bool? ShareNodes; [OutputConstructor] - private FastHttpsAppFastCreatePoolMember( + private FastTcpAppPoolMember( ImmutableArray addresses, int? connectionLimit, diff --git a/sdk/dotnet/Outputs/FastTcpAppVirtualServer.cs b/sdk/dotnet/Outputs/FastTcpAppVirtualServer.cs index a76b0540..612215ca 100644 --- a/sdk/dotnet/Outputs/FastTcpAppVirtualServer.cs +++ b/sdk/dotnet/Outputs/FastTcpAppVirtualServer.cs @@ -18,7 +18,7 @@ public sealed class FastTcpAppVirtualServer /// public readonly string Ip; /// - /// -(Optional , `int`) Port number to used for accessing virtual server/application + /// Port number to used for accessing virtual server/application /// public readonly int Port; diff --git a/sdk/dotnet/Outputs/FastUdpAppMonitor.cs b/sdk/dotnet/Outputs/FastUdpAppMonitor.cs new file mode 100644 index 00000000..55831ea7 --- /dev/null +++ b/sdk/dotnet/Outputs/FastUdpAppMonitor.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Outputs +{ + + [OutputType] + public sealed class FastUdpAppMonitor + { + /// + /// The presence of this optional string is required in the response, if specified it confirms availability. + /// + public readonly string? ExpectedResponse; + /// + /// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + /// + public readonly int? Interval; + /// + /// Optional data to be sent during each health check. + /// + public readonly string? SendString; + + [OutputConstructor] + private FastUdpAppMonitor( + string? expectedResponse, + + int? interval, + + string? sendString) + { + ExpectedResponse = expectedResponse; + Interval = interval; + SendString = sendString; + } + } +} diff --git a/sdk/dotnet/Outputs/FastUdpAppPoolMember.cs b/sdk/dotnet/Outputs/FastUdpAppPoolMember.cs new file mode 100644 index 00000000..1d442f3e --- /dev/null +++ b/sdk/dotnet/Outputs/FastUdpAppPoolMember.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Outputs +{ + + [OutputType] + public sealed class FastUdpAppPoolMember + { + /// + /// List of server address to be used for FAST-Generated Pool. + /// + public readonly ImmutableArray Addresses; + /// + /// connectionLimit value to be used for FAST-Generated Pool. + /// + public readonly int? ConnectionLimit; + /// + /// port number of serviceport to be used for FAST-Generated Pool. + /// + public readonly int? Port; + /// + /// priorityGroup value to be used for FAST-Generated Pool. + /// + public readonly int? PriorityGroup; + /// + /// shareNodes value to be used for FAST-Generated Pool. + /// + public readonly bool? ShareNodes; + + [OutputConstructor] + private FastUdpAppPoolMember( + ImmutableArray addresses, + + int? connectionLimit, + + int? port, + + int? priorityGroup, + + bool? shareNodes) + { + Addresses = addresses; + ConnectionLimit = connectionLimit; + Port = port; + PriorityGroup = priorityGroup; + ShareNodes = shareNodes; + } + } +} diff --git a/sdk/dotnet/Outputs/FastUdpAppVirtualServer.cs b/sdk/dotnet/Outputs/FastUdpAppVirtualServer.cs new file mode 100644 index 00000000..86892ec0 --- /dev/null +++ b/sdk/dotnet/Outputs/FastUdpAppVirtualServer.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Outputs +{ + + [OutputType] + public sealed class FastUdpAppVirtualServer + { + /// + /// IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + /// + public readonly string Ip; + /// + /// Port number to used for accessing virtual server/application + /// + public readonly int Port; + + [OutputConstructor] + private FastUdpAppVirtualServer( + string ip, + + int port) + { + Ip = ip; + Port = port; + } + } +} diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index c3cef3b4..a9a78c55 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -48,6 +48,12 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("tokenValue")] public Output TokenValue { get; private set; } = null!; + /// + /// Valid Trusted Certificate path + /// + [Output("trustedCertPath")] + public Output TrustedCertPath { get; private set; } = null!; + /// /// Username with API access to the BigIP /// @@ -124,12 +130,24 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs [Input("tokenValue")] public Input? TokenValue { get; set; } + /// + /// Valid Trusted Certificate path + /// + [Input("trustedCertPath")] + public Input? TrustedCertPath { get; set; } + /// /// Username with API access to the BigIP /// [Input("username")] public Input? Username { get; set; } + /// + /// If set to true, Disables TLS certificate check on BIG-IP. Default : True + /// + [Input("validateCertsDisable", json: true)] + public Input? ValidateCertsDisable { get; set; } + public ProviderArgs() { } diff --git a/sdk/dotnet/Ssl/Certificate.cs b/sdk/dotnet/Ssl/Certificate.cs index 360cd08c..e7fa2d75 100644 --- a/sdk/dotnet/Ssl/Certificate.cs +++ b/sdk/dotnet/Ssl/Certificate.cs @@ -83,6 +83,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "content", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -106,11 +110,21 @@ public static Certificate Get(string name, Input id, CertificateState? s public sealed class CertificateArgs : global::Pulumi.ResourceArgs { + [Input("content", required: true)] + private Input? _content; + /// /// Content of certificate on Disk /// - [Input("content", required: true)] - public Input Content { get; set; } = null!; + public Input? Content + { + get => _content; + set + { + var emptySecret = Output.CreateSecret(0); + _content = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Full Path Name of ssl certificate @@ -138,11 +152,21 @@ public CertificateArgs() public sealed class CertificateState : global::Pulumi.ResourceArgs { + [Input("content")] + private Input? _content; + /// /// Content of certificate on Disk /// - [Input("content")] - public Input? Content { get; set; } + public Input? Content + { + get => _content; + set + { + var emptySecret = Output.CreateSecret(0); + _content = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Full Path Name of ssl certificate diff --git a/sdk/dotnet/Ssl/GetCertificate.cs b/sdk/dotnet/Ssl/GetCertificate.cs index aa1bc3fa..66620e43 100644 --- a/sdk/dotnet/Ssl/GetCertificate.cs +++ b/sdk/dotnet/Ssl/GetCertificate.cs @@ -42,7 +42,7 @@ public static class GetCertificate /// {{% /examples %}} /// public static Task InvokeAsync(GetCertificateArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getCertificate:getCertificate", args ?? new GetCertificateArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getCertificate:getCertificate", args ?? new GetCertificateArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ssl.Certificate`) to get the ssl-certificate details available on BIG-IP @@ -75,7 +75,7 @@ public static Task InvokeAsync(GetCertificateArgs args, In /// {{% /examples %}} /// public static Output Invoke(GetCertificateInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getCertificate:getCertificate", args ?? new GetCertificateInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getCertificate:getCertificate", args ?? new GetCertificateInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ssl/GetVWanConfig.cs b/sdk/dotnet/Ssl/GetVWanConfig.cs index 11aa00e2..6d3ebf1e 100644 --- a/sdk/dotnet/Ssl/GetVWanConfig.cs +++ b/sdk/dotnet/Ssl/GetVWanConfig.cs @@ -52,7 +52,7 @@ public static class GetVWanConfig /// * `STORAGE_ACCOUNT_KEY` - (Required) Specifies the storage account key to authenticate,set this Environment variable with account key value. /// public static Task InvokeAsync(GetVWanConfigArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getVWanConfig:getVWanConfig", args ?? new GetVWanConfigArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getVWanConfig:getVWanConfig", args ?? new GetVWanConfigArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ssl.getVWanConfig`) to get the vWAN site config from Azure VWAN Site @@ -95,7 +95,7 @@ public static Task InvokeAsync(GetVWanConfigArgs args, Invo /// * `STORAGE_ACCOUNT_KEY` - (Required) Specifies the storage account key to authenticate,set this Environment variable with account key value. /// public static Output Invoke(GetVWanConfigInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getVWanConfig:getVWanConfig", args ?? new GetVWanConfigInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getVWanConfig:getVWanConfig", args ?? new GetVWanConfigInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ssl/GetWafEntityParameter.cs b/sdk/dotnet/Ssl/GetWafEntityParameter.cs index a1e7b391..c6713f7b 100644 --- a/sdk/dotnet/Ssl/GetWafEntityParameter.cs +++ b/sdk/dotnet/Ssl/GetWafEntityParameter.cs @@ -12,10 +12,10 @@ namespace Pulumi.F5BigIP.Ssl public static class GetWafEntityParameter { public static Task InvokeAsync(GetWafEntityParameterArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafEntityParameter:getWafEntityParameter", args ?? new GetWafEntityParameterArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafEntityParameter:getWafEntityParameter", args ?? new GetWafEntityParameterArgs(), options.WithDefaults()); public static Output Invoke(GetWafEntityParameterInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafEntityParameter:getWafEntityParameter", args ?? new GetWafEntityParameterInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafEntityParameter:getWafEntityParameter", args ?? new GetWafEntityParameterInvokeArgs(), options.WithDefaults()); } @@ -89,6 +89,9 @@ public List SignatureOverridesDisables [Input("type")] public string? Type { get; set; } + [Input("url")] + public Inputs.GetWafEntityParameterUrlArgs? Url { get; set; } + [Input("valueType")] public string? ValueType { get; set; } @@ -168,6 +171,9 @@ public InputList SignatureOverridesDisables [Input("type")] public Input? Type { get; set; } + [Input("url")] + public Input? Url { get; set; } + [Input("valueType")] public Input? ValueType { get; set; } @@ -206,6 +212,7 @@ public sealed class GetWafEntityParameterResult public readonly bool? SensitiveParameter; public readonly ImmutableArray SignatureOverridesDisables; public readonly string? Type; + public readonly Outputs.GetWafEntityParameterUrlResult? Url; public readonly string? ValueType; [OutputConstructor] @@ -254,6 +261,8 @@ private GetWafEntityParameterResult( string? type, + Outputs.GetWafEntityParameterUrlResult? url, + string? valueType) { AllowEmptyType = allowEmptyType; @@ -278,6 +287,7 @@ private GetWafEntityParameterResult( SensitiveParameter = sensitiveParameter; SignatureOverridesDisables = signatureOverridesDisables; Type = type; + Url = url; ValueType = valueType; } } diff --git a/sdk/dotnet/Ssl/GetWafEntityUrl.cs b/sdk/dotnet/Ssl/GetWafEntityUrl.cs index 7ea429d8..5cee5e17 100644 --- a/sdk/dotnet/Ssl/GetWafEntityUrl.cs +++ b/sdk/dotnet/Ssl/GetWafEntityUrl.cs @@ -59,7 +59,7 @@ public static class GetWafEntityUrl /// {{% /examples %}} /// public static Task InvokeAsync(GetWafEntityUrlArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafEntityUrl:getWafEntityUrl", args ?? new GetWafEntityUrlArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafEntityUrl:getWafEntityUrl", args ?? new GetWafEntityUrlArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to create JSON for WAF URL to later use with an existing WAF policy. @@ -109,7 +109,7 @@ public static Task InvokeAsync(GetWafEntityUrlArgs args, /// {{% /examples %}} /// public static Output Invoke(GetWafEntityUrlInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafEntityUrl:getWafEntityUrl", args ?? new GetWafEntityUrlInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafEntityUrl:getWafEntityUrl", args ?? new GetWafEntityUrlInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ssl/GetWafPbSuggestions.cs b/sdk/dotnet/Ssl/GetWafPbSuggestions.cs index 9a6c1bc3..9cb94764 100644 --- a/sdk/dotnet/Ssl/GetWafPbSuggestions.cs +++ b/sdk/dotnet/Ssl/GetWafPbSuggestions.cs @@ -39,7 +39,7 @@ public static class GetWafPbSuggestions /// {{% /examples %}} /// public static Task InvokeAsync(GetWafPbSuggestionsArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafPbSuggestions:getWafPbSuggestions", args ?? new GetWafPbSuggestionsArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafPbSuggestions:getWafPbSuggestions", args ?? new GetWafPbSuggestionsArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to export PB suggestions from an existing WAF policy. @@ -69,7 +69,7 @@ public static Task InvokeAsync(GetWafPbSuggestionsArg /// {{% /examples %}} /// public static Output Invoke(GetWafPbSuggestionsInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafPbSuggestions:getWafPbSuggestions", args ?? new GetWafPbSuggestionsInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafPbSuggestions:getWafPbSuggestions", args ?? new GetWafPbSuggestionsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ssl/GetWafPolicy.cs b/sdk/dotnet/Ssl/GetWafPolicy.cs index 380dabe4..db5b8d4c 100644 --- a/sdk/dotnet/Ssl/GetWafPolicy.cs +++ b/sdk/dotnet/Ssl/GetWafPolicy.cs @@ -36,7 +36,7 @@ public static class GetWafPolicy /// {{% /examples %}} /// public static Task InvokeAsync(GetWafPolicyArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafPolicy:getWafPolicy", args ?? new GetWafPolicyArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafPolicy:getWafPolicy", args ?? new GetWafPolicyArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.WafPolicy`) to get the details of exist WAF policy BIG-IP. @@ -63,7 +63,7 @@ public static Task InvokeAsync(GetWafPolicyArgs args, Invoke /// {{% /examples %}} /// public static Output Invoke(GetWafPolicyInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafPolicy:getWafPolicy", args ?? new GetWafPolicyInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafPolicy:getWafPolicy", args ?? new GetWafPolicyInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ssl/GetWafSignatures.cs b/sdk/dotnet/Ssl/GetWafSignatures.cs index 2e55a6c9..e6196b7c 100644 --- a/sdk/dotnet/Ssl/GetWafSignatures.cs +++ b/sdk/dotnet/Ssl/GetWafSignatures.cs @@ -37,7 +37,7 @@ public static class GetWafSignatures /// {{% /examples %}} /// public static Task InvokeAsync(GetWafSignaturesArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafSignatures:getWafSignatures", args ?? new GetWafSignaturesArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("f5bigip:ssl/getWafSignatures:getWafSignatures", args ?? new GetWafSignaturesArgs(), options.WithDefaults()); /// /// Use this data source (`f5bigip.ssl.getWafSignatures`) to get the details of attack signatures available on BIG-IP WAF @@ -65,7 +65,7 @@ public static Task InvokeAsync(GetWafSignaturesArgs args /// {{% /examples %}} /// public static Output Invoke(GetWafSignaturesInvokeArgs args, InvokeOptions? options = null) - => Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafSignatures:getWafSignatures", args ?? new GetWafSignaturesInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("f5bigip:ssl/getWafSignatures:getWafSignatures", args ?? new GetWafSignaturesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Ssl/Inputs/GetWafEntityParameterUrl.cs b/sdk/dotnet/Ssl/Inputs/GetWafEntityParameterUrl.cs new file mode 100644 index 00000000..a819169a --- /dev/null +++ b/sdk/dotnet/Ssl/Inputs/GetWafEntityParameterUrl.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Ssl.Inputs +{ + + public sealed class GetWafEntityParameterUrlArgs : global::Pulumi.InvokeArgs + { + [Input("method", required: true)] + public string Method { get; set; } = null!; + + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("protocol", required: true)] + public string Protocol { get; set; } = null!; + + [Input("type", required: true)] + public string Type { get; set; } = null!; + + public GetWafEntityParameterUrlArgs() + { + } + public static new GetWafEntityParameterUrlArgs Empty => new GetWafEntityParameterUrlArgs(); + } +} diff --git a/sdk/dotnet/Ssl/Inputs/GetWafEntityParameterUrlArgs.cs b/sdk/dotnet/Ssl/Inputs/GetWafEntityParameterUrlArgs.cs new file mode 100644 index 00000000..dde4ee19 --- /dev/null +++ b/sdk/dotnet/Ssl/Inputs/GetWafEntityParameterUrlArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Ssl.Inputs +{ + + public sealed class GetWafEntityParameterUrlInputArgs : global::Pulumi.ResourceArgs + { + [Input("method", required: true)] + public Input Method { get; set; } = null!; + + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("protocol", required: true)] + public Input Protocol { get; set; } = null!; + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public GetWafEntityParameterUrlInputArgs() + { + } + public static new GetWafEntityParameterUrlInputArgs Empty => new GetWafEntityParameterUrlInputArgs(); + } +} diff --git a/sdk/dotnet/Ssl/Key.cs b/sdk/dotnet/Ssl/Key.cs index 621cee42..003eee02 100644 --- a/sdk/dotnet/Ssl/Key.cs +++ b/sdk/dotnet/Ssl/Key.cs @@ -60,6 +60,12 @@ public partial class Key : global::Pulumi.CustomResource [Output("partition")] public Output Partition { get; private set; } = null!; + /// + /// Passphrase on key. + /// + [Output("passphrase")] + public Output Passphrase { get; private set; } = null!; + /// /// Create a Key resource with the given unique name, arguments, and options. @@ -83,6 +89,11 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "content", + "passphrase", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -106,11 +117,21 @@ public static Key Get(string name, Input id, KeyState? state = null, Cus public sealed class KeyArgs : global::Pulumi.ResourceArgs { + [Input("content", required: true)] + private Input? _content; + /// /// Content of SSL certificate key present on local Disk /// - [Input("content", required: true)] - public Input Content { get; set; } = null!; + public Input? Content + { + get => _content; + set + { + var emptySecret = Output.CreateSecret(0); + _content = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Full Path Name of ssl key @@ -130,6 +151,22 @@ public sealed class KeyArgs : global::Pulumi.ResourceArgs [Input("partition")] public Input? Partition { get; set; } + [Input("passphrase")] + private Input? _passphrase; + + /// + /// Passphrase on key. + /// + public Input? Passphrase + { + get => _passphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _passphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + public KeyArgs() { } @@ -138,11 +175,21 @@ public KeyArgs() public sealed class KeyState : global::Pulumi.ResourceArgs { + [Input("content")] + private Input? _content; + /// /// Content of SSL certificate key present on local Disk /// - [Input("content")] - public Input? Content { get; set; } + public Input? Content + { + get => _content; + set + { + var emptySecret = Output.CreateSecret(0); + _content = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } /// /// Full Path Name of ssl key @@ -162,6 +209,22 @@ public sealed class KeyState : global::Pulumi.ResourceArgs [Input("partition")] public Input? Partition { get; set; } + [Input("passphrase")] + private Input? _passphrase; + + /// + /// Passphrase on key. + /// + public Input? Passphrase + { + get => _passphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _passphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + public KeyState() { } diff --git a/sdk/dotnet/Ssl/Outputs/GetWafEntityParameterUrlResult.cs b/sdk/dotnet/Ssl/Outputs/GetWafEntityParameterUrlResult.cs new file mode 100644 index 00000000..bf81c0e5 --- /dev/null +++ b/sdk/dotnet/Ssl/Outputs/GetWafEntityParameterUrlResult.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.Ssl.Outputs +{ + + [OutputType] + public sealed class GetWafEntityParameterUrlResult + { + public readonly string Method; + public readonly string Name; + public readonly string Protocol; + public readonly string Type; + + [OutputConstructor] + private GetWafEntityParameterUrlResult( + string method, + + string name, + + string protocol, + + string type) + { + Method = method; + Name = name; + Protocol = protocol; + Type = type; + } + } +} diff --git a/sdk/dotnet/Sys/Dns.cs b/sdk/dotnet/Sys/Dns.cs index eefa38ab..f2dc7b23 100644 --- a/sdk/dotnet/Sys/Dns.cs +++ b/sdk/dotnet/Sys/Dns.cs @@ -10,7 +10,7 @@ namespace Pulumi.F5BigIP.Sys { /// - /// `f5bigip.sys.Dns` Configures DNS server on F5 BIG-IP + /// `f5bigip.sys.Dns` Configures DNS Name server on F5 BIG-IP /// /// ## Example Usage /// @@ -28,7 +28,6 @@ namespace Pulumi.F5BigIP.Sys /// { /// "1.1.1.1", /// }, - /// NumberOfDots = 2, /// Searches = new[] /// { /// "f5.com", @@ -48,7 +47,7 @@ public partial class Dns : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; /// - /// Name or IP address of the DNS server + /// Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. /// [Output("nameServers")] public Output> NameServers { get; private set; } = null!; @@ -57,10 +56,10 @@ public partial class Dns : global::Pulumi.CustomResource /// Configures the number of dots needed in a name before an initial absolute query will be made. /// [Output("numberOfDots")] - public Output NumberOfDots { get; private set; } = null!; + public Output NumberOfDots { get; private set; } = null!; /// - /// Specify what domains you want to search + /// Specifies the domains that the system searches for local domain lookups, to resolve local host names. /// [Output("searches")] public Output> Searches { get; private set; } = null!; @@ -117,11 +116,11 @@ public sealed class DnsArgs : global::Pulumi.ResourceArgs [Input("description", required: true)] public Input Description { get; set; } = null!; - [Input("nameServers")] + [Input("nameServers", required: true)] private InputList? _nameServers; /// - /// Name or IP address of the DNS server + /// Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. /// public InputList NameServers { @@ -139,7 +138,7 @@ public InputList NameServers private InputList? _searches; /// - /// Specify what domains you want to search + /// Specifies the domains that the system searches for local domain lookups, to resolve local host names. /// public InputList Searches { @@ -165,7 +164,7 @@ public sealed class DnsState : global::Pulumi.ResourceArgs private InputList? _nameServers; /// - /// Name or IP address of the DNS server + /// Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. /// public InputList NameServers { @@ -183,7 +182,7 @@ public InputList NameServers private InputList? _searches; /// - /// Specify what domains you want to search + /// Specifies the domains that the system searches for local domain lookups, to resolve local host names. /// public InputList Searches { diff --git a/sdk/dotnet/Sys/Ntp.cs b/sdk/dotnet/Sys/Ntp.cs index e2018e2d..d47c1cd5 100644 --- a/sdk/dotnet/Sys/Ntp.cs +++ b/sdk/dotnet/Sys/Ntp.cs @@ -10,9 +10,8 @@ namespace Pulumi.F5BigIP.Sys { /// - /// `f5bigip.sys.Ntp` provides details about a specific bigip + /// `f5bigip.sys.Ntp` resource is helpful when configuring NTP server on the BIG-IP. /// - /// This resource is helpful when configuring NTP server on the BIG-IP. /// ## Example Usage /// /// ```csharp @@ -39,13 +38,13 @@ namespace Pulumi.F5BigIP.Sys public partial class Ntp : global::Pulumi.CustomResource { /// - /// Name of the ntp Servers + /// User defined description. /// [Output("description")] public Output Description { get; private set; } = null!; /// - /// Adds NTP servers to or deletes NTP servers from the BIG-IP system. + /// Specifies the time servers that the system uses to update the system time. /// [Output("servers")] public Output> Servers { get; private set; } = null!; @@ -103,16 +102,16 @@ public static Ntp Get(string name, Input id, NtpState? state = null, Cus public sealed class NtpArgs : global::Pulumi.ResourceArgs { /// - /// Name of the ntp Servers + /// User defined description. /// [Input("description", required: true)] public Input Description { get; set; } = null!; - [Input("servers")] + [Input("servers", required: true)] private InputList? _servers; /// - /// Adds NTP servers to or deletes NTP servers from the BIG-IP system. + /// Specifies the time servers that the system uses to update the system time. /// public InputList Servers { @@ -135,7 +134,7 @@ public NtpArgs() public sealed class NtpState : global::Pulumi.ResourceArgs { /// - /// Name of the ntp Servers + /// User defined description. /// [Input("description")] public Input? Description { get; set; } @@ -144,7 +143,7 @@ public sealed class NtpState : global::Pulumi.ResourceArgs private InputList? _servers; /// - /// Adds NTP servers to or deletes NTP servers from the BIG-IP system. + /// Specifies the time servers that the system uses to update the system time. /// public InputList Servers { diff --git a/sdk/dotnet/VCMP/Guest.cs b/sdk/dotnet/VCMP/Guest.cs new file mode 100644 index 00000000..3a000327 --- /dev/null +++ b/sdk/dotnet/VCMP/Guest.cs @@ -0,0 +1,386 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.F5BigIP.VCMP +{ + /// + /// `f5bigip.vcmp.Guest` Manages a vCMP guest configuration + /// + /// Resource does not wait for vCMP guest to reach the desired state, it only ensures that a desired configuration is set on the target device. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using F5BigIP = Pulumi.F5BigIP; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var vcmp_test = new F5BigIP.VCMP.Guest("vcmp-test", new() + /// { + /// CoresPerSlot = 2, + /// InitialImage = "12.1.2.iso", + /// MgmtAddress = "10.1.1.1/24", + /// MgmtNetwork = "bridged", + /// MgmtRoute = "none", + /// MinNumberOfSlots = 1, + /// Name = "tf_guest", + /// NumberOfSlots = 1, + /// State = "provisioned", + /// }); + /// + /// }); + /// ``` + /// + [F5BigIPResourceType("f5bigip:vcmp/guest:Guest")] + public partial class Guest : global::Pulumi.CustomResource + { + /// + /// Contains those slots to which the guest is allowed to be assigned. + /// + [Output("allowedSlots")] + public Output> AllowedSlots { get; private set; } = null!; + + /// + /// Specifies the number of cores the system allocates to the guest. + /// + [Output("coresPerSlot")] + public Output CoresPerSlot { get; private set; } = null!; + + /// + /// Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + /// + [Output("deleteVirtualDisk")] + public Output DeleteVirtualDisk { get; private set; } = null!; + + /// + /// Resource name including prepended partition path. + /// + [Output("fullPath")] + public Output FullPath { get; private set; } = null!; + + /// + /// Specifies the hotfix ISO image file which is applied on top of the base image. + /// + [Output("initialHotfix")] + public Output InitialHotfix { get; private set; } = null!; + + /// + /// Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + /// + [Output("initialImage")] + public Output InitialImage { get; private set; } = null!; + + /// + /// 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. + /// + [Output("mgmtAddress")] + public Output MgmtAddress { get; private set; } = null!; + + /// + /// Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + /// + [Output("mgmtNetwork")] + public Output MgmtNetwork { get; private set; } = null!; + + /// + /// Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + /// + [Output("mgmtRoute")] + public Output MgmtRoute { get; private set; } = null!; + + /// + /// Specifies the minimum number of slots the guest must be assigned to in order to deploy. + /// + [Output("minNumberOfSlots")] + public Output MinNumberOfSlots { get; private set; } = null!; + + /// + /// Name of the vCMP guest + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Specifies the number of slots for the system to use when creating the guest. + /// + [Output("numberOfSlots")] + public Output NumberOfSlots { get; private set; } = null!; + + /// + /// Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// Virtual disk associated with vCMP guest. + /// + [Output("virtualDisk")] + public Output VirtualDisk { get; private set; } = null!; + + /// + /// 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 + /// + [Output("vlans")] + public Output> Vlans { get; private set; } = null!; + + + /// + /// Create a Guest resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Guest(string name, GuestArgs args, CustomResourceOptions? options = null) + : base("f5bigip:vcmp/guest:Guest", name, args ?? new GuestArgs(), MakeResourceOptions(options, "")) + { + } + + private Guest(string name, Input id, GuestState? state = null, CustomResourceOptions? options = null) + : base("f5bigip:vcmp/guest:Guest", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Guest resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Guest Get(string name, Input id, GuestState? state = null, CustomResourceOptions? options = null) + { + return new Guest(name, id, state, options); + } + } + + public sealed class GuestArgs : global::Pulumi.ResourceArgs + { + [Input("allowedSlots")] + private InputList? _allowedSlots; + + /// + /// Contains those slots to which the guest is allowed to be assigned. + /// + public InputList AllowedSlots + { + get => _allowedSlots ?? (_allowedSlots = new InputList()); + set => _allowedSlots = value; + } + + /// + /// Specifies the number of cores the system allocates to the guest. + /// + [Input("coresPerSlot")] + public Input? CoresPerSlot { get; set; } + + /// + /// Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + /// + [Input("deleteVirtualDisk")] + public Input? DeleteVirtualDisk { get; set; } + + /// + /// Specifies the hotfix ISO image file which is applied on top of the base image. + /// + [Input("initialHotfix")] + public Input? InitialHotfix { get; set; } + + /// + /// Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + /// + [Input("initialImage")] + public Input? InitialImage { get; set; } + + /// + /// 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. + /// + [Input("mgmtAddress")] + public Input? MgmtAddress { get; set; } + + /// + /// Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + /// + [Input("mgmtNetwork")] + public Input? MgmtNetwork { get; set; } + + /// + /// Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + /// + [Input("mgmtRoute")] + public Input? MgmtRoute { get; set; } + + /// + /// Specifies the minimum number of slots the guest must be assigned to in order to deploy. + /// + [Input("minNumberOfSlots")] + public Input? MinNumberOfSlots { get; set; } + + /// + /// Name of the vCMP guest + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Specifies the number of slots for the system to use when creating the guest. + /// + [Input("numberOfSlots")] + public Input? NumberOfSlots { get; set; } + + /// + /// Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + /// + [Input("state")] + public Input? State { get; set; } + + [Input("vlans")] + private InputList? _vlans; + + /// + /// 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 + /// + public InputList Vlans + { + get => _vlans ?? (_vlans = new InputList()); + set => _vlans = value; + } + + public GuestArgs() + { + } + public static new GuestArgs Empty => new GuestArgs(); + } + + public sealed class GuestState : global::Pulumi.ResourceArgs + { + [Input("allowedSlots")] + private InputList? _allowedSlots; + + /// + /// Contains those slots to which the guest is allowed to be assigned. + /// + public InputList AllowedSlots + { + get => _allowedSlots ?? (_allowedSlots = new InputList()); + set => _allowedSlots = value; + } + + /// + /// Specifies the number of cores the system allocates to the guest. + /// + [Input("coresPerSlot")] + public Input? CoresPerSlot { get; set; } + + /// + /// Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + /// + [Input("deleteVirtualDisk")] + public Input? DeleteVirtualDisk { get; set; } + + /// + /// Resource name including prepended partition path. + /// + [Input("fullPath")] + public Input? FullPath { get; set; } + + /// + /// Specifies the hotfix ISO image file which is applied on top of the base image. + /// + [Input("initialHotfix")] + public Input? InitialHotfix { get; set; } + + /// + /// Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + /// + [Input("initialImage")] + public Input? InitialImage { get; set; } + + /// + /// 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. + /// + [Input("mgmtAddress")] + public Input? MgmtAddress { get; set; } + + /// + /// Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + /// + [Input("mgmtNetwork")] + public Input? MgmtNetwork { get; set; } + + /// + /// Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + /// + [Input("mgmtRoute")] + public Input? MgmtRoute { get; set; } + + /// + /// Specifies the minimum number of slots the guest must be assigned to in order to deploy. + /// + [Input("minNumberOfSlots")] + public Input? MinNumberOfSlots { get; set; } + + /// + /// Name of the vCMP guest + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Specifies the number of slots for the system to use when creating the guest. + /// + [Input("numberOfSlots")] + public Input? NumberOfSlots { get; set; } + + /// + /// Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + /// + [Input("state")] + public Input? State { get; set; } + + /// + /// Virtual disk associated with vCMP guest. + /// + [Input("virtualDisk")] + public Input? VirtualDisk { get; set; } + + [Input("vlans")] + private InputList? _vlans; + + /// + /// 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 + /// + public InputList Vlans + { + get => _vlans ?? (_vlans = new InputList()); + set => _vlans = value; + } + + public GuestState() + { + } + public static new GuestState Empty => new GuestState(); + } +} diff --git a/sdk/dotnet/VCMP/README.md b/sdk/dotnet/VCMP/README.md new file mode 100644 index 00000000..f494309e --- /dev/null +++ b/sdk/dotnet/VCMP/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing F5 BigIP resources. diff --git a/sdk/dotnet/WafPolicy.cs b/sdk/dotnet/WafPolicy.cs index 69f10a42..48b3b7dc 100644 --- a/sdk/dotnet/WafPolicy.cs +++ b/sdk/dotnet/WafPolicy.cs @@ -15,6 +15,8 @@ namespace Pulumi.F5BigIP /// /// * [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html) /// + /// > **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned. + /// /// ## Example Usage /// /// ```csharp @@ -404,12 +406,6 @@ public InputList PolicyBuilders set => _policyBuilders = value; } - /// - /// Exported WAF policy deployed on BIGIP. - /// - [Input("policyExportJson")] - public Input? PolicyExportJson { get; set; } - /// /// The id of the A.WAF Policy as it would be calculated on the BIG-IP. /// diff --git a/sdk/go/f5bigip/as3.go b/sdk/go/f5bigip/as3.go index bc5f93c5..fcdb2186 100644 --- a/sdk/go/f5bigip/as3.go +++ b/sdk/go/f5bigip/as3.go @@ -83,7 +83,7 @@ import ( // // bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! // -// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { +// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { // // as3_json // @@ -253,7 +253,7 @@ import ( // // bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! // -// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { +// Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { // // as3_json // diff --git a/sdk/go/f5bigip/bigIqAs3.go b/sdk/go/f5bigip/bigIqAs3.go index 51a0210a..1e134823 100644 --- a/sdk/go/f5bigip/bigIqAs3.go +++ b/sdk/go/f5bigip/bigIqAs3.go @@ -95,6 +95,29 @@ func NewBigIqAs3(ctx *pulumi.Context, if args.BigiqUser == nil { return nil, errors.New("invalid value for required argument 'BigiqUser'") } + if args.BigiqLoginRef != nil { + args.BigiqLoginRef = pulumi.ToSecret(args.BigiqLoginRef).(pulumi.StringPtrInput) + } + if args.BigiqPassword != nil { + args.BigiqPassword = pulumi.ToSecret(args.BigiqPassword).(pulumi.StringInput) + } + if args.BigiqPort != nil { + args.BigiqPort = pulumi.ToSecret(args.BigiqPort).(pulumi.StringPtrInput) + } + if args.BigiqTokenAuth != nil { + args.BigiqTokenAuth = pulumi.ToSecret(args.BigiqTokenAuth).(pulumi.BoolPtrInput) + } + if args.BigiqUser != nil { + args.BigiqUser = pulumi.ToSecret(args.BigiqUser).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "bigiqLoginRef", + "bigiqPassword", + "bigiqPort", + "bigiqTokenAuth", + "bigiqUser", + }) + opts = append(opts, secrets) var resource BigIqAs3 err := ctx.RegisterResource("f5bigip:index/bigIqAs3:BigIqAs3", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/f5bigip/commonLicenseManageBigIq.go b/sdk/go/f5bigip/commonLicenseManageBigIq.go index bf626dba..4d77b144 100644 --- a/sdk/go/f5bigip/commonLicenseManageBigIq.go +++ b/sdk/go/f5bigip/commonLicenseManageBigIq.go @@ -155,6 +155,29 @@ func NewCommonLicenseManageBigIq(ctx *pulumi.Context, if args.LicensePoolname == nil { return nil, errors.New("invalid value for required argument 'LicensePoolname'") } + if args.BigiqLoginRef != nil { + args.BigiqLoginRef = pulumi.ToSecret(args.BigiqLoginRef).(pulumi.StringPtrInput) + } + if args.BigiqPassword != nil { + args.BigiqPassword = pulumi.ToSecret(args.BigiqPassword).(pulumi.StringInput) + } + if args.BigiqPort != nil { + args.BigiqPort = pulumi.ToSecret(args.BigiqPort).(pulumi.StringPtrInput) + } + if args.BigiqTokenAuth != nil { + args.BigiqTokenAuth = pulumi.ToSecret(args.BigiqTokenAuth).(pulumi.BoolPtrInput) + } + if args.BigiqUser != nil { + args.BigiqUser = pulumi.ToSecret(args.BigiqUser).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "bigiqLoginRef", + "bigiqPassword", + "bigiqPort", + "bigiqTokenAuth", + "bigiqUser", + }) + opts = append(opts, secrets) var resource CommonLicenseManageBigIq err := ctx.RegisterResource("f5bigip:index/commonLicenseManageBigIq:CommonLicenseManageBigIq", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/f5bigip/config/config.go b/sdk/go/f5bigip/config/config.go index 09498e86..5548e421 100644 --- a/sdk/go/f5bigip/config/config.go +++ b/sdk/go/f5bigip/config/config.go @@ -43,7 +43,17 @@ func GetTokenValue(ctx *pulumi.Context) string { return config.Get(ctx, "f5bigip:tokenValue") } +// Valid Trusted Certificate path +func GetTrustedCertPath(ctx *pulumi.Context) string { + return config.Get(ctx, "f5bigip:trustedCertPath") +} + // Username with API access to the BigIP func GetUsername(ctx *pulumi.Context) string { return config.Get(ctx, "f5bigip:username") } + +// If set to true, Disables TLS certificate check on BIG-IP. Default : True +func GetValidateCertsDisable(ctx *pulumi.Context) bool { + return config.GetBool(ctx, "f5bigip:validateCertsDisable") +} diff --git a/sdk/go/f5bigip/do.go b/sdk/go/f5bigip/do.go index d77271e2..000243dc 100644 --- a/sdk/go/f5bigip/do.go +++ b/sdk/go/f5bigip/do.go @@ -87,6 +87,17 @@ func NewDo(ctx *pulumi.Context, if args.DoJson == nil { return nil, errors.New("invalid value for required argument 'DoJson'") } + if args.BigipPassword != nil { + args.BigipPassword = pulumi.ToSecret(args.BigipPassword).(pulumi.StringPtrInput) + } + if args.BigipTokenAuth != nil { + args.BigipTokenAuth = pulumi.ToSecret(args.BigipTokenAuth).(pulumi.BoolPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "bigipPassword", + "bigipTokenAuth", + }) + opts = append(opts, secrets) var resource Do err := ctx.RegisterResource("f5bigip:index/do:Do", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/f5bigip/doc.go b/sdk/go/f5bigip/doc.go index f898096f..a5015b8f 100644 --- a/sdk/go/f5bigip/doc.go +++ b/sdk/go/f5bigip/doc.go @@ -1,3 +1,2 @@ // A Pulumi package for creating and managing F5 BigIP resources. - package f5bigip diff --git a/sdk/go/f5bigip/eventServiceDiscovery.go b/sdk/go/f5bigip/eventServiceDiscovery.go index b8d4f6a1..750b29d0 100644 --- a/sdk/go/f5bigip/eventServiceDiscovery.go +++ b/sdk/go/f5bigip/eventServiceDiscovery.go @@ -26,13 +26,13 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := f5bigip.NewEventServiceDiscovery(ctx, "test", &f5bigip.EventServiceDiscoveryArgs{ -// Nodes: EventServiceDiscoveryNodeArray{ -// &EventServiceDiscoveryNodeArgs{ +// Nodes: f5bigip.EventServiceDiscoveryNodeArray{ +// &f5bigip.EventServiceDiscoveryNodeArgs{ // Id: pulumi.String("newNode1"), // Ip: pulumi.String("192.168.2.3"), // Port: pulumi.Int(8080), // }, -// &EventServiceDiscoveryNodeArgs{ +// &f5bigip.EventServiceDiscoveryNodeArgs{ // Id: pulumi.String("newNode2"), // Ip: pulumi.String("192.168.2.4"), // Port: pulumi.Int(8080), diff --git a/sdk/go/f5bigip/fastHttpApp.go b/sdk/go/f5bigip/fastHttpApp.go index 4b87b4dd..92112593 100644 --- a/sdk/go/f5bigip/fastHttpApp.go +++ b/sdk/go/f5bigip/fastHttpApp.go @@ -32,7 +32,7 @@ import ( // _, err := f5bigip.NewFastHttpApp(ctx, "fastHttpApp", &f5bigip.FastHttpAppArgs{ // Application: pulumi.String("fasthttpapp"), // Tenant: pulumi.String("fasthttptenant"), -// VirtualServer: &FastHttpAppVirtualServerArgs{ +// VirtualServer: &f5bigip.FastHttpAppVirtualServerArgs{ // Ip: pulumi.String("10.30.30.44"), // Port: pulumi.Int(443), // }, @@ -50,29 +50,40 @@ type FastHttpApp struct { // Name of the FAST HTTPS application. Application pulumi.StringOutput `pulumi:"application"` - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrOutput `pulumi:"existPoolName"` + // List of LTM Policies to be applied FAST HTTP Application. + EndpointLtmPolicies pulumi.StringArrayOutput `pulumi:"endpointLtmPolicies"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrOutput `pulumi:"existingMonitor"` + // Select an existing BIG-IP Pool + ExistingPool pulumi.StringPtrOutput `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrOutput `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastHttpAppFastCreateMonitorPtrOutput `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastHttpAppFastCreatePoolMemberArrayOutput `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayOutput `pulumi:"fastCreateSnatPoolAddresses"` + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy pulumi.StringPtrOutput `pulumi:"existingWafSecurityPolicy"` + // Json payload for FAST HTTP application. + FastHttpJson pulumi.StringOutput `pulumi:"fastHttpJson"` // 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 LoadBalancingMode pulumi.StringPtrOutput `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastHttpAppMonitorPtrOutput `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastHttpAppPoolMemberArrayOutput `pulumi:"poolMembers"` + // List of security log profiles to be used for FAST application + SecurityLogProfiles pulumi.StringArrayOutput `pulumi:"securityLogProfiles"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrOutput `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayOutput `pulumi:"snatPoolAddresses"` // Name of the FAST HTTPS application tenant. Tenant pulumi.StringOutput `pulumi:"tenant"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer FastHttpAppVirtualServerPtrOutput `pulumi:"virtualServer"` + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy FastHttpAppWafSecurityPolicyPtrOutput `pulumi:"wafSecurityPolicy"` } // NewFastHttpApp registers a new resource with the given unique name, arguments, and options. @@ -112,57 +123,79 @@ func GetFastHttpApp(ctx *pulumi.Context, type fastHttpAppState struct { // Name of the FAST HTTPS application. Application *string `pulumi:"application"` - // Name of an existing BIG-IP pool. - ExistPoolName *string `pulumi:"existPoolName"` + // List of LTM Policies to be applied FAST HTTP Application. + EndpointLtmPolicies []string `pulumi:"endpointLtmPolicies"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor *string `pulumi:"existingMonitor"` + // Select an existing BIG-IP Pool + ExistingPool *string `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool *string `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor *FastHttpAppFastCreateMonitor `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers []FastHttpAppFastCreatePoolMember `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses []string `pulumi:"fastCreateSnatPoolAddresses"` + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy *string `pulumi:"existingWafSecurityPolicy"` + // Json payload for FAST HTTP application. + FastHttpJson *string `pulumi:"fastHttpJson"` // 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 LoadBalancingMode *string `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor *FastHttpAppMonitor `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers []FastHttpAppPoolMember `pulumi:"poolMembers"` + // List of security log profiles to be used for FAST application + SecurityLogProfiles []string `pulumi:"securityLogProfiles"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime *int `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses []string `pulumi:"snatPoolAddresses"` // Name of the FAST HTTPS application tenant. Tenant *string `pulumi:"tenant"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer *FastHttpAppVirtualServer `pulumi:"virtualServer"` + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy *FastHttpAppWafSecurityPolicy `pulumi:"wafSecurityPolicy"` } type FastHttpAppState struct { // Name of the FAST HTTPS application. Application pulumi.StringPtrInput - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrInput + // List of LTM Policies to be applied FAST HTTP Application. + EndpointLtmPolicies pulumi.StringArrayInput // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrInput + // Select an existing BIG-IP Pool + ExistingPool pulumi.StringPtrInput // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrInput - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastHttpAppFastCreateMonitorPtrInput - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastHttpAppFastCreatePoolMemberArrayInput - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayInput + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy pulumi.StringPtrInput + // Json payload for FAST HTTP application. + FastHttpJson pulumi.StringPtrInput // 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 LoadBalancingMode pulumi.StringPtrInput + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastHttpAppMonitorPtrInput + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastHttpAppPoolMemberArrayInput + // List of security log profiles to be used for FAST application + SecurityLogProfiles pulumi.StringArrayInput // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrInput + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayInput // Name of the FAST HTTPS application tenant. Tenant pulumi.StringPtrInput // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer FastHttpAppVirtualServerPtrInput + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy FastHttpAppWafSecurityPolicyPtrInput } func (FastHttpAppState) ElementType() reflect.Type { @@ -172,58 +205,76 @@ func (FastHttpAppState) ElementType() reflect.Type { type fastHttpAppArgs struct { // Name of the FAST HTTPS application. Application string `pulumi:"application"` - // Name of an existing BIG-IP pool. - ExistPoolName *string `pulumi:"existPoolName"` + // List of LTM Policies to be applied FAST HTTP Application. + EndpointLtmPolicies []string `pulumi:"endpointLtmPolicies"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor *string `pulumi:"existingMonitor"` + // Select an existing BIG-IP Pool + ExistingPool *string `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool *string `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor *FastHttpAppFastCreateMonitor `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers []FastHttpAppFastCreatePoolMember `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses []string `pulumi:"fastCreateSnatPoolAddresses"` + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy *string `pulumi:"existingWafSecurityPolicy"` // 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 LoadBalancingMode *string `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor *FastHttpAppMonitor `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers []FastHttpAppPoolMember `pulumi:"poolMembers"` + // List of security log profiles to be used for FAST application + SecurityLogProfiles []string `pulumi:"securityLogProfiles"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime *int `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses []string `pulumi:"snatPoolAddresses"` // Name of the FAST HTTPS application tenant. Tenant string `pulumi:"tenant"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer *FastHttpAppVirtualServer `pulumi:"virtualServer"` + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy *FastHttpAppWafSecurityPolicy `pulumi:"wafSecurityPolicy"` } // The set of arguments for constructing a FastHttpApp resource. type FastHttpAppArgs struct { // Name of the FAST HTTPS application. Application pulumi.StringInput - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrInput + // List of LTM Policies to be applied FAST HTTP Application. + EndpointLtmPolicies pulumi.StringArrayInput // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrInput + // Select an existing BIG-IP Pool + ExistingPool pulumi.StringPtrInput // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrInput - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastHttpAppFastCreateMonitorPtrInput - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastHttpAppFastCreatePoolMemberArrayInput - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayInput + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy pulumi.StringPtrInput // 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 LoadBalancingMode pulumi.StringPtrInput + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastHttpAppMonitorPtrInput + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastHttpAppPoolMemberArrayInput + // List of security log profiles to be used for FAST application + SecurityLogProfiles pulumi.StringArrayInput // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrInput + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayInput // Name of the FAST HTTPS application tenant. Tenant pulumi.StringInput // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer FastHttpAppVirtualServerPtrInput + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy FastHttpAppWafSecurityPolicyPtrInput } func (FastHttpAppArgs) ElementType() reflect.Type { @@ -318,9 +369,9 @@ func (o FastHttpAppOutput) Application() pulumi.StringOutput { return o.ApplyT(func(v *FastHttpApp) pulumi.StringOutput { return v.Application }).(pulumi.StringOutput) } -// Name of an existing BIG-IP pool. -func (o FastHttpAppOutput) ExistPoolName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpApp) pulumi.StringPtrOutput { return v.ExistPoolName }).(pulumi.StringPtrOutput) +// List of LTM Policies to be applied FAST HTTP Application. +func (o FastHttpAppOutput) EndpointLtmPolicies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastHttpApp) pulumi.StringArrayOutput { return v.EndpointLtmPolicies }).(pulumi.StringArrayOutput) } // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -328,26 +379,24 @@ func (o FastHttpAppOutput) ExistingMonitor() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastHttpApp) pulumi.StringPtrOutput { return v.ExistingMonitor }).(pulumi.StringPtrOutput) } +// Select an existing BIG-IP Pool +func (o FastHttpAppOutput) ExistingPool() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpApp) pulumi.StringPtrOutput { return v.ExistingPool }).(pulumi.StringPtrOutput) +} + // Name of an existing BIG-IP SNAT pool. func (o FastHttpAppOutput) ExistingSnatPool() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastHttpApp) pulumi.StringPtrOutput { return v.ExistingSnatPool }).(pulumi.StringPtrOutput) } -// `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. -// See Pool Monitor below for more details. -func (o FastHttpAppOutput) FastCreateMonitor() FastHttpAppFastCreateMonitorPtrOutput { - return o.ApplyT(func(v *FastHttpApp) FastHttpAppFastCreateMonitorPtrOutput { return v.FastCreateMonitor }).(FastHttpAppFastCreateMonitorPtrOutput) -} - -// `fastCreatePoolMembers` block takes input for FAST-Generated Pool. -// See Pool Members below for more details. -func (o FastHttpAppOutput) FastCreatePoolMembers() FastHttpAppFastCreatePoolMemberArrayOutput { - return o.ApplyT(func(v *FastHttpApp) FastHttpAppFastCreatePoolMemberArrayOutput { return v.FastCreatePoolMembers }).(FastHttpAppFastCreatePoolMemberArrayOutput) +// Name of an existing WAF Security policy. +func (o FastHttpAppOutput) ExistingWafSecurityPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpApp) pulumi.StringPtrOutput { return v.ExistingWafSecurityPolicy }).(pulumi.StringPtrOutput) } -// List of address to be used for FAST-Generated SNAT Pool. -func (o FastHttpAppOutput) FastCreateSnatPoolAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FastHttpApp) pulumi.StringArrayOutput { return v.FastCreateSnatPoolAddresses }).(pulumi.StringArrayOutput) +// Json payload for FAST HTTP application. +func (o FastHttpAppOutput) FastHttpJson() pulumi.StringOutput { + return o.ApplyT(func(v *FastHttpApp) pulumi.StringOutput { return v.FastHttpJson }).(pulumi.StringOutput) } // 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 @@ -355,11 +404,33 @@ func (o FastHttpAppOutput) LoadBalancingMode() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastHttpApp) pulumi.StringPtrOutput { return v.LoadBalancingMode }).(pulumi.StringPtrOutput) } +// `monitor` block takes input for FAST-Generated Pool Monitor. +// See Pool Monitor below for more details. +func (o FastHttpAppOutput) Monitor() FastHttpAppMonitorPtrOutput { + return o.ApplyT(func(v *FastHttpApp) FastHttpAppMonitorPtrOutput { return v.Monitor }).(FastHttpAppMonitorPtrOutput) +} + +// `poolMembers` block takes input for FAST-Generated Pool. +// See Pool Members below for more details. +func (o FastHttpAppOutput) PoolMembers() FastHttpAppPoolMemberArrayOutput { + return o.ApplyT(func(v *FastHttpApp) FastHttpAppPoolMemberArrayOutput { return v.PoolMembers }).(FastHttpAppPoolMemberArrayOutput) +} + +// List of security log profiles to be used for FAST application +func (o FastHttpAppOutput) SecurityLogProfiles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastHttpApp) pulumi.StringArrayOutput { return v.SecurityLogProfiles }).(pulumi.StringArrayOutput) +} + // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds func (o FastHttpAppOutput) SlowRampTime() pulumi.IntPtrOutput { return o.ApplyT(func(v *FastHttpApp) pulumi.IntPtrOutput { return v.SlowRampTime }).(pulumi.IntPtrOutput) } +// List of address to be used for FAST-Generated SNAT Pool. +func (o FastHttpAppOutput) SnatPoolAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastHttpApp) pulumi.StringArrayOutput { return v.SnatPoolAddresses }).(pulumi.StringArrayOutput) +} + // Name of the FAST HTTPS application tenant. func (o FastHttpAppOutput) Tenant() pulumi.StringOutput { return o.ApplyT(func(v *FastHttpApp) pulumi.StringOutput { return v.Tenant }).(pulumi.StringOutput) @@ -371,6 +442,12 @@ func (o FastHttpAppOutput) VirtualServer() FastHttpAppVirtualServerPtrOutput { return o.ApplyT(func(v *FastHttpApp) FastHttpAppVirtualServerPtrOutput { return v.VirtualServer }).(FastHttpAppVirtualServerPtrOutput) } +// `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. +// See WAF Security Policy below for more details. +func (o FastHttpAppOutput) WafSecurityPolicy() FastHttpAppWafSecurityPolicyPtrOutput { + return o.ApplyT(func(v *FastHttpApp) FastHttpAppWafSecurityPolicyPtrOutput { return v.WafSecurityPolicy }).(FastHttpAppWafSecurityPolicyPtrOutput) +} + type FastHttpAppArrayOutput struct{ *pulumi.OutputState } func (FastHttpAppArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/f5bigip/fastHttpsApp.go b/sdk/go/f5bigip/fastHttpsApp.go index b66fb5c6..9bb17017 100644 --- a/sdk/go/f5bigip/fastHttpsApp.go +++ b/sdk/go/f5bigip/fastHttpsApp.go @@ -32,7 +32,7 @@ import ( // _, err := f5bigip.NewFastHttpsApp(ctx, "fastHttpsApp", &f5bigip.FastHttpsAppArgs{ // Application: pulumi.String("fasthttpsapp"), // Tenant: pulumi.String("fasthttpstenant"), -// VirtualServer: &FastHttpsAppVirtualServerArgs{ +// VirtualServer: &f5bigip.FastHttpsAppVirtualServerArgs{ // Ip: pulumi.String("10.30.40.44"), // Port: pulumi.Int(443), // }, @@ -50,34 +50,50 @@ type FastHttpsApp struct { // Name of the FAST HTTPS application. Application pulumi.StringOutput `pulumi:"application"` - // `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. - // See TLS Server Profile below for more details. - CreateTlsServerProfile FastHttpsAppCreateTlsServerProfilePtrOutput `pulumi:"createTlsServerProfile"` - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrOutput `pulumi:"existPoolName"` + // List of LTM Policies to be applied FAST HTTPS Application. + EndpointLtmPolicies pulumi.StringArrayOutput `pulumi:"endpointLtmPolicies"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrOutput `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrOutput `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrOutput `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastHttpsAppFastCreateMonitorPtrOutput `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastHttpsAppFastCreatePoolMemberArrayOutput `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayOutput `pulumi:"fastCreateSnatPoolAddresses"` + // Name of an existing TLS client profile. + ExistingTlsClientProfile pulumi.StringPtrOutput `pulumi:"existingTlsClientProfile"` + // Name of an existing TLS server profile. + ExistingTlsServerProfile pulumi.StringPtrOutput `pulumi:"existingTlsServerProfile"` + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy pulumi.StringPtrOutput `pulumi:"existingWafSecurityPolicy"` + // Json payload for FAST HTTPS application. + FastHttpsJson pulumi.StringOutput `pulumi:"fastHttpsJson"` // 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 LoadBalancingMode pulumi.StringPtrOutput `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastHttpsAppMonitorPtrOutput `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastHttpsAppPoolMemberArrayOutput `pulumi:"poolMembers"` + // List of security log profiles to be used for FAST application + SecurityLogProfiles pulumi.StringArrayOutput `pulumi:"securityLogProfiles"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrOutput `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayOutput `pulumi:"snatPoolAddresses"` // Name of the FAST HTTPS application tenant. Tenant pulumi.StringOutput `pulumi:"tenant"` - // Name of an existing TLS server profile. - TlsServerProfileName pulumi.StringPtrOutput `pulumi:"tlsServerProfileName"` + // `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. + // See TLS Client Profile below for more details. + TlsClientProfile FastHttpsAppTlsClientProfilePtrOutput `pulumi:"tlsClientProfile"` + // `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. + // See TLS Server Profile below for more details. + TlsServerProfile FastHttpsAppTlsServerProfilePtrOutput `pulumi:"tlsServerProfile"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer FastHttpsAppVirtualServerPtrOutput `pulumi:"virtualServer"` + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy FastHttpsAppWafSecurityPolicyPtrOutput `pulumi:"wafSecurityPolicy"` } // NewFastHttpsApp registers a new resource with the given unique name, arguments, and options. @@ -117,67 +133,99 @@ func GetFastHttpsApp(ctx *pulumi.Context, type fastHttpsAppState struct { // Name of the FAST HTTPS application. Application *string `pulumi:"application"` - // `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. - // See TLS Server Profile below for more details. - CreateTlsServerProfile *FastHttpsAppCreateTlsServerProfile `pulumi:"createTlsServerProfile"` - // Name of an existing BIG-IP pool. - ExistPoolName *string `pulumi:"existPoolName"` + // List of LTM Policies to be applied FAST HTTPS Application. + EndpointLtmPolicies []string `pulumi:"endpointLtmPolicies"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor *string `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool *string `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool *string `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor *FastHttpsAppFastCreateMonitor `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers []FastHttpsAppFastCreatePoolMember `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses []string `pulumi:"fastCreateSnatPoolAddresses"` + // Name of an existing TLS client profile. + ExistingTlsClientProfile *string `pulumi:"existingTlsClientProfile"` + // Name of an existing TLS server profile. + ExistingTlsServerProfile *string `pulumi:"existingTlsServerProfile"` + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy *string `pulumi:"existingWafSecurityPolicy"` + // Json payload for FAST HTTPS application. + FastHttpsJson *string `pulumi:"fastHttpsJson"` // 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 LoadBalancingMode *string `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor *FastHttpsAppMonitor `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers []FastHttpsAppPoolMember `pulumi:"poolMembers"` + // List of security log profiles to be used for FAST application + SecurityLogProfiles []string `pulumi:"securityLogProfiles"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime *int `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses []string `pulumi:"snatPoolAddresses"` // Name of the FAST HTTPS application tenant. Tenant *string `pulumi:"tenant"` - // Name of an existing TLS server profile. - TlsServerProfileName *string `pulumi:"tlsServerProfileName"` + // `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. + // See TLS Client Profile below for more details. + TlsClientProfile *FastHttpsAppTlsClientProfile `pulumi:"tlsClientProfile"` + // `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. + // See TLS Server Profile below for more details. + TlsServerProfile *FastHttpsAppTlsServerProfile `pulumi:"tlsServerProfile"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer *FastHttpsAppVirtualServer `pulumi:"virtualServer"` + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy *FastHttpsAppWafSecurityPolicy `pulumi:"wafSecurityPolicy"` } type FastHttpsAppState struct { // Name of the FAST HTTPS application. Application pulumi.StringPtrInput - // `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. - // See TLS Server Profile below for more details. - CreateTlsServerProfile FastHttpsAppCreateTlsServerProfilePtrInput - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrInput + // List of LTM Policies to be applied FAST HTTPS Application. + EndpointLtmPolicies pulumi.StringArrayInput // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrInput + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrInput // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrInput - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastHttpsAppFastCreateMonitorPtrInput - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastHttpsAppFastCreatePoolMemberArrayInput - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayInput + // Name of an existing TLS client profile. + ExistingTlsClientProfile pulumi.StringPtrInput + // Name of an existing TLS server profile. + ExistingTlsServerProfile pulumi.StringPtrInput + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy pulumi.StringPtrInput + // Json payload for FAST HTTPS application. + FastHttpsJson pulumi.StringPtrInput // 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 LoadBalancingMode pulumi.StringPtrInput + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastHttpsAppMonitorPtrInput + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastHttpsAppPoolMemberArrayInput + // List of security log profiles to be used for FAST application + SecurityLogProfiles pulumi.StringArrayInput // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrInput + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayInput // Name of the FAST HTTPS application tenant. Tenant pulumi.StringPtrInput - // Name of an existing TLS server profile. - TlsServerProfileName pulumi.StringPtrInput + // `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. + // See TLS Client Profile below for more details. + TlsClientProfile FastHttpsAppTlsClientProfilePtrInput + // `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. + // See TLS Server Profile below for more details. + TlsServerProfile FastHttpsAppTlsServerProfilePtrInput // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer FastHttpsAppVirtualServerPtrInput + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy FastHttpsAppWafSecurityPolicyPtrInput } func (FastHttpsAppState) ElementType() reflect.Type { @@ -187,68 +235,96 @@ func (FastHttpsAppState) ElementType() reflect.Type { type fastHttpsAppArgs struct { // Name of the FAST HTTPS application. Application string `pulumi:"application"` - // `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. - // See TLS Server Profile below for more details. - CreateTlsServerProfile *FastHttpsAppCreateTlsServerProfile `pulumi:"createTlsServerProfile"` - // Name of an existing BIG-IP pool. - ExistPoolName *string `pulumi:"existPoolName"` + // List of LTM Policies to be applied FAST HTTPS Application. + EndpointLtmPolicies []string `pulumi:"endpointLtmPolicies"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor *string `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool *string `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool *string `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor *FastHttpsAppFastCreateMonitor `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers []FastHttpsAppFastCreatePoolMember `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses []string `pulumi:"fastCreateSnatPoolAddresses"` + // Name of an existing TLS client profile. + ExistingTlsClientProfile *string `pulumi:"existingTlsClientProfile"` + // Name of an existing TLS server profile. + ExistingTlsServerProfile *string `pulumi:"existingTlsServerProfile"` + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy *string `pulumi:"existingWafSecurityPolicy"` // 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 LoadBalancingMode *string `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor *FastHttpsAppMonitor `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers []FastHttpsAppPoolMember `pulumi:"poolMembers"` + // List of security log profiles to be used for FAST application + SecurityLogProfiles []string `pulumi:"securityLogProfiles"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime *int `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses []string `pulumi:"snatPoolAddresses"` // Name of the FAST HTTPS application tenant. Tenant string `pulumi:"tenant"` - // Name of an existing TLS server profile. - TlsServerProfileName *string `pulumi:"tlsServerProfileName"` + // `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. + // See TLS Client Profile below for more details. + TlsClientProfile *FastHttpsAppTlsClientProfile `pulumi:"tlsClientProfile"` + // `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. + // See TLS Server Profile below for more details. + TlsServerProfile *FastHttpsAppTlsServerProfile `pulumi:"tlsServerProfile"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer *FastHttpsAppVirtualServer `pulumi:"virtualServer"` + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy *FastHttpsAppWafSecurityPolicy `pulumi:"wafSecurityPolicy"` } // The set of arguments for constructing a FastHttpsApp resource. type FastHttpsAppArgs struct { // Name of the FAST HTTPS application. Application pulumi.StringInput - // `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. - // See TLS Server Profile below for more details. - CreateTlsServerProfile FastHttpsAppCreateTlsServerProfilePtrInput - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrInput + // List of LTM Policies to be applied FAST HTTPS Application. + EndpointLtmPolicies pulumi.StringArrayInput // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrInput + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrInput // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrInput - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastHttpsAppFastCreateMonitorPtrInput - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastHttpsAppFastCreatePoolMemberArrayInput - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayInput + // Name of an existing TLS client profile. + ExistingTlsClientProfile pulumi.StringPtrInput + // Name of an existing TLS server profile. + ExistingTlsServerProfile pulumi.StringPtrInput + // Name of an existing WAF Security policy. + ExistingWafSecurityPolicy pulumi.StringPtrInput // 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 LoadBalancingMode pulumi.StringPtrInput + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastHttpsAppMonitorPtrInput + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastHttpsAppPoolMemberArrayInput + // List of security log profiles to be used for FAST application + SecurityLogProfiles pulumi.StringArrayInput // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrInput + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayInput // Name of the FAST HTTPS application tenant. Tenant pulumi.StringInput - // Name of an existing TLS server profile. - TlsServerProfileName pulumi.StringPtrInput + // `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. + // See TLS Client Profile below for more details. + TlsClientProfile FastHttpsAppTlsClientProfilePtrInput + // `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. + // See TLS Server Profile below for more details. + TlsServerProfile FastHttpsAppTlsServerProfilePtrInput // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. // See virtual server below for more details. VirtualServer FastHttpsAppVirtualServerPtrInput + // `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + // See WAF Security Policy below for more details. + WafSecurityPolicy FastHttpsAppWafSecurityPolicyPtrInput } func (FastHttpsAppArgs) ElementType() reflect.Type { @@ -343,15 +419,9 @@ func (o FastHttpsAppOutput) Application() pulumi.StringOutput { return o.ApplyT(func(v *FastHttpsApp) pulumi.StringOutput { return v.Application }).(pulumi.StringOutput) } -// `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. -// See TLS Server Profile below for more details. -func (o FastHttpsAppOutput) CreateTlsServerProfile() FastHttpsAppCreateTlsServerProfilePtrOutput { - return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppCreateTlsServerProfilePtrOutput { return v.CreateTlsServerProfile }).(FastHttpsAppCreateTlsServerProfilePtrOutput) -} - -// Name of an existing BIG-IP pool. -func (o FastHttpsAppOutput) ExistPoolName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.ExistPoolName }).(pulumi.StringPtrOutput) +// List of LTM Policies to be applied FAST HTTPS Application. +func (o FastHttpsAppOutput) EndpointLtmPolicies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastHttpsApp) pulumi.StringArrayOutput { return v.EndpointLtmPolicies }).(pulumi.StringArrayOutput) } // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -359,26 +429,34 @@ func (o FastHttpsAppOutput) ExistingMonitor() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.ExistingMonitor }).(pulumi.StringPtrOutput) } +// Name of an existing BIG-IP pool. +func (o FastHttpsAppOutput) ExistingPool() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.ExistingPool }).(pulumi.StringPtrOutput) +} + // Name of an existing BIG-IP SNAT pool. func (o FastHttpsAppOutput) ExistingSnatPool() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.ExistingSnatPool }).(pulumi.StringPtrOutput) } -// `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. -// See Pool Monitor below for more details. -func (o FastHttpsAppOutput) FastCreateMonitor() FastHttpsAppFastCreateMonitorPtrOutput { - return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppFastCreateMonitorPtrOutput { return v.FastCreateMonitor }).(FastHttpsAppFastCreateMonitorPtrOutput) +// Name of an existing TLS client profile. +func (o FastHttpsAppOutput) ExistingTlsClientProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.ExistingTlsClientProfile }).(pulumi.StringPtrOutput) } -// `fastCreatePoolMembers` block takes input for FAST-Generated Pool. -// See Pool Members below for more details. -func (o FastHttpsAppOutput) FastCreatePoolMembers() FastHttpsAppFastCreatePoolMemberArrayOutput { - return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppFastCreatePoolMemberArrayOutput { return v.FastCreatePoolMembers }).(FastHttpsAppFastCreatePoolMemberArrayOutput) +// Name of an existing TLS server profile. +func (o FastHttpsAppOutput) ExistingTlsServerProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.ExistingTlsServerProfile }).(pulumi.StringPtrOutput) } -// List of address to be used for FAST-Generated SNAT Pool. -func (o FastHttpsAppOutput) FastCreateSnatPoolAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FastHttpsApp) pulumi.StringArrayOutput { return v.FastCreateSnatPoolAddresses }).(pulumi.StringArrayOutput) +// Name of an existing WAF Security policy. +func (o FastHttpsAppOutput) ExistingWafSecurityPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.ExistingWafSecurityPolicy }).(pulumi.StringPtrOutput) +} + +// Json payload for FAST HTTPS application. +func (o FastHttpsAppOutput) FastHttpsJson() pulumi.StringOutput { + return o.ApplyT(func(v *FastHttpsApp) pulumi.StringOutput { return v.FastHttpsJson }).(pulumi.StringOutput) } // 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 @@ -386,19 +464,48 @@ func (o FastHttpsAppOutput) LoadBalancingMode() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.LoadBalancingMode }).(pulumi.StringPtrOutput) } +// `monitor` block takes input for FAST-Generated Pool Monitor. +// See Pool Monitor below for more details. +func (o FastHttpsAppOutput) Monitor() FastHttpsAppMonitorPtrOutput { + return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppMonitorPtrOutput { return v.Monitor }).(FastHttpsAppMonitorPtrOutput) +} + +// `poolMembers` block takes input for FAST-Generated Pool. +// See Pool Members below for more details. +func (o FastHttpsAppOutput) PoolMembers() FastHttpsAppPoolMemberArrayOutput { + return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppPoolMemberArrayOutput { return v.PoolMembers }).(FastHttpsAppPoolMemberArrayOutput) +} + +// List of security log profiles to be used for FAST application +func (o FastHttpsAppOutput) SecurityLogProfiles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastHttpsApp) pulumi.StringArrayOutput { return v.SecurityLogProfiles }).(pulumi.StringArrayOutput) +} + // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds func (o FastHttpsAppOutput) SlowRampTime() pulumi.IntPtrOutput { return o.ApplyT(func(v *FastHttpsApp) pulumi.IntPtrOutput { return v.SlowRampTime }).(pulumi.IntPtrOutput) } +// List of address to be used for FAST-Generated SNAT Pool. +func (o FastHttpsAppOutput) SnatPoolAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastHttpsApp) pulumi.StringArrayOutput { return v.SnatPoolAddresses }).(pulumi.StringArrayOutput) +} + // Name of the FAST HTTPS application tenant. func (o FastHttpsAppOutput) Tenant() pulumi.StringOutput { return o.ApplyT(func(v *FastHttpsApp) pulumi.StringOutput { return v.Tenant }).(pulumi.StringOutput) } -// Name of an existing TLS server profile. -func (o FastHttpsAppOutput) TlsServerProfileName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpsApp) pulumi.StringPtrOutput { return v.TlsServerProfileName }).(pulumi.StringPtrOutput) +// `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. +// See TLS Client Profile below for more details. +func (o FastHttpsAppOutput) TlsClientProfile() FastHttpsAppTlsClientProfilePtrOutput { + return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppTlsClientProfilePtrOutput { return v.TlsClientProfile }).(FastHttpsAppTlsClientProfilePtrOutput) +} + +// `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. +// See TLS Server Profile below for more details. +func (o FastHttpsAppOutput) TlsServerProfile() FastHttpsAppTlsServerProfilePtrOutput { + return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppTlsServerProfilePtrOutput { return v.TlsServerProfile }).(FastHttpsAppTlsServerProfilePtrOutput) } // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. @@ -407,6 +514,12 @@ func (o FastHttpsAppOutput) VirtualServer() FastHttpsAppVirtualServerPtrOutput { return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppVirtualServerPtrOutput { return v.VirtualServer }).(FastHttpsAppVirtualServerPtrOutput) } +// `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. +// See WAF Security Policy below for more details. +func (o FastHttpsAppOutput) WafSecurityPolicy() FastHttpsAppWafSecurityPolicyPtrOutput { + return o.ApplyT(func(v *FastHttpsApp) FastHttpsAppWafSecurityPolicyPtrOutput { return v.WafSecurityPolicy }).(FastHttpsAppWafSecurityPolicyPtrOutput) +} + type FastHttpsAppArrayOutput struct{ *pulumi.OutputState } func (FastHttpsAppArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/f5bigip/fastTcpApp.go b/sdk/go/f5bigip/fastTcpApp.go index b7ac56b9..0354a6a7 100644 --- a/sdk/go/f5bigip/fastTcpApp.go +++ b/sdk/go/f5bigip/fastTcpApp.go @@ -29,8 +29,8 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := f5bigip.NewFastTcpApp(ctx, "fast-tcp-app", &f5bigip.FastTcpAppArgs{ // Application: pulumi.String("tcp_app_2"), -// FastCreatePoolMembers: FastTcpAppFastCreatePoolMemberArray{ -// &FastTcpAppFastCreatePoolMemberArgs{ +// PoolMembers: f5bigip.FastTcpAppPoolMemberArray{ +// &f5bigip.FastTcpAppPoolMemberArgs{ // Addresses: pulumi.StringArray{ // pulumi.String("10.11.34.65"), // pulumi.String("56.43.23.76"), @@ -42,7 +42,7 @@ import ( // }, // }, // Tenant: pulumi.String("tcp_app_tenant"), -// VirtualServer: &FastTcpAppVirtualServerArgs{ +// VirtualServer: &f5bigip.FastTcpAppVirtualServerArgs{ // Ip: pulumi.String("11.12.16.30"), // Port: pulumi.Int(443), // }, @@ -60,26 +60,26 @@ type FastTcpApp struct { // Name of the FAST TCP application. Application pulumi.StringOutput `pulumi:"application"` - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrOutput `pulumi:"existPoolName"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrOutput `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrOutput `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrOutput `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastTcpAppFastCreateMonitorPtrOutput `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastTcpAppFastCreatePoolMemberArrayOutput `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayOutput `pulumi:"fastCreateSnatPoolAddresses"` // Json payload for FAST TCP application. FastTcpJson pulumi.StringOutput `pulumi:"fastTcpJson"` // 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 LoadBalancingMode pulumi.StringPtrOutput `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastTcpAppMonitorPtrOutput `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastTcpAppPoolMemberArrayOutput `pulumi:"poolMembers"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrOutput `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayOutput `pulumi:"snatPoolAddresses"` // Name of the FAST TCP application tenant. Tenant pulumi.StringOutput `pulumi:"tenant"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. @@ -124,26 +124,26 @@ func GetFastTcpApp(ctx *pulumi.Context, type fastTcpAppState struct { // Name of the FAST TCP application. Application *string `pulumi:"application"` - // Name of an existing BIG-IP pool. - ExistPoolName *string `pulumi:"existPoolName"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor *string `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool *string `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool *string `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor *FastTcpAppFastCreateMonitor `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers []FastTcpAppFastCreatePoolMember `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses []string `pulumi:"fastCreateSnatPoolAddresses"` // Json payload for FAST TCP application. FastTcpJson *string `pulumi:"fastTcpJson"` // 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 LoadBalancingMode *string `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor *FastTcpAppMonitor `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers []FastTcpAppPoolMember `pulumi:"poolMembers"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime *int `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses []string `pulumi:"snatPoolAddresses"` // Name of the FAST TCP application tenant. Tenant *string `pulumi:"tenant"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. @@ -154,26 +154,26 @@ type fastTcpAppState struct { type FastTcpAppState struct { // Name of the FAST TCP application. Application pulumi.StringPtrInput - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrInput // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrInput + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrInput // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrInput - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastTcpAppFastCreateMonitorPtrInput - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastTcpAppFastCreatePoolMemberArrayInput - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayInput // Json payload for FAST TCP application. FastTcpJson pulumi.StringPtrInput // 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 LoadBalancingMode pulumi.StringPtrInput + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastTcpAppMonitorPtrInput + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastTcpAppPoolMemberArrayInput // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrInput + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayInput // Name of the FAST TCP application tenant. Tenant pulumi.StringPtrInput // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. @@ -188,24 +188,24 @@ func (FastTcpAppState) ElementType() reflect.Type { type fastTcpAppArgs struct { // Name of the FAST TCP application. Application string `pulumi:"application"` - // Name of an existing BIG-IP pool. - ExistPoolName *string `pulumi:"existPoolName"` // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor *string `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool *string `pulumi:"existingPool"` // Name of an existing BIG-IP SNAT pool. ExistingSnatPool *string `pulumi:"existingSnatPool"` - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor *FastTcpAppFastCreateMonitor `pulumi:"fastCreateMonitor"` - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers []FastTcpAppFastCreatePoolMember `pulumi:"fastCreatePoolMembers"` - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses []string `pulumi:"fastCreateSnatPoolAddresses"` // 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 LoadBalancingMode *string `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor *FastTcpAppMonitor `pulumi:"monitor"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers []FastTcpAppPoolMember `pulumi:"poolMembers"` // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime *int `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses []string `pulumi:"snatPoolAddresses"` // Name of the FAST TCP application tenant. Tenant string `pulumi:"tenant"` // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. @@ -217,24 +217,24 @@ type fastTcpAppArgs struct { type FastTcpAppArgs struct { // Name of the FAST TCP application. Application pulumi.StringInput - // Name of an existing BIG-IP pool. - ExistPoolName pulumi.StringPtrInput // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. ExistingMonitor pulumi.StringPtrInput + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrInput // Name of an existing BIG-IP SNAT pool. ExistingSnatPool pulumi.StringPtrInput - // `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - // See Pool Monitor below for more details. - FastCreateMonitor FastTcpAppFastCreateMonitorPtrInput - // `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - // See Pool Members below for more details. - FastCreatePoolMembers FastTcpAppFastCreatePoolMemberArrayInput - // List of address to be used for FAST-Generated SNAT Pool. - FastCreateSnatPoolAddresses pulumi.StringArrayInput // 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 LoadBalancingMode pulumi.StringPtrInput + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastTcpAppMonitorPtrInput + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastTcpAppPoolMemberArrayInput // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds SlowRampTime pulumi.IntPtrInput + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayInput // Name of the FAST TCP application tenant. Tenant pulumi.StringInput // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. @@ -334,38 +334,21 @@ func (o FastTcpAppOutput) Application() pulumi.StringOutput { return o.ApplyT(func(v *FastTcpApp) pulumi.StringOutput { return v.Application }).(pulumi.StringOutput) } -// Name of an existing BIG-IP pool. -func (o FastTcpAppOutput) ExistPoolName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastTcpApp) pulumi.StringPtrOutput { return v.ExistPoolName }).(pulumi.StringPtrOutput) -} - // Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. func (o FastTcpAppOutput) ExistingMonitor() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastTcpApp) pulumi.StringPtrOutput { return v.ExistingMonitor }).(pulumi.StringPtrOutput) } +// Name of an existing BIG-IP pool. +func (o FastTcpAppOutput) ExistingPool() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastTcpApp) pulumi.StringPtrOutput { return v.ExistingPool }).(pulumi.StringPtrOutput) +} + // Name of an existing BIG-IP SNAT pool. func (o FastTcpAppOutput) ExistingSnatPool() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastTcpApp) pulumi.StringPtrOutput { return v.ExistingSnatPool }).(pulumi.StringPtrOutput) } -// `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. -// See Pool Monitor below for more details. -func (o FastTcpAppOutput) FastCreateMonitor() FastTcpAppFastCreateMonitorPtrOutput { - return o.ApplyT(func(v *FastTcpApp) FastTcpAppFastCreateMonitorPtrOutput { return v.FastCreateMonitor }).(FastTcpAppFastCreateMonitorPtrOutput) -} - -// `fastCreatePoolMembers` block takes input for FAST-Generated Pool. -// See Pool Members below for more details. -func (o FastTcpAppOutput) FastCreatePoolMembers() FastTcpAppFastCreatePoolMemberArrayOutput { - return o.ApplyT(func(v *FastTcpApp) FastTcpAppFastCreatePoolMemberArrayOutput { return v.FastCreatePoolMembers }).(FastTcpAppFastCreatePoolMemberArrayOutput) -} - -// List of address to be used for FAST-Generated SNAT Pool. -func (o FastTcpAppOutput) FastCreateSnatPoolAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FastTcpApp) pulumi.StringArrayOutput { return v.FastCreateSnatPoolAddresses }).(pulumi.StringArrayOutput) -} - // Json payload for FAST TCP application. func (o FastTcpAppOutput) FastTcpJson() pulumi.StringOutput { return o.ApplyT(func(v *FastTcpApp) pulumi.StringOutput { return v.FastTcpJson }).(pulumi.StringOutput) @@ -376,11 +359,28 @@ func (o FastTcpAppOutput) LoadBalancingMode() pulumi.StringPtrOutput { return o.ApplyT(func(v *FastTcpApp) pulumi.StringPtrOutput { return v.LoadBalancingMode }).(pulumi.StringPtrOutput) } +// `monitor` block takes input for FAST-Generated Pool Monitor. +// See Pool Monitor below for more details. +func (o FastTcpAppOutput) Monitor() FastTcpAppMonitorPtrOutput { + return o.ApplyT(func(v *FastTcpApp) FastTcpAppMonitorPtrOutput { return v.Monitor }).(FastTcpAppMonitorPtrOutput) +} + +// `poolMembers` block takes input for FAST-Generated Pool. +// See Pool Members below for more details. +func (o FastTcpAppOutput) PoolMembers() FastTcpAppPoolMemberArrayOutput { + return o.ApplyT(func(v *FastTcpApp) FastTcpAppPoolMemberArrayOutput { return v.PoolMembers }).(FastTcpAppPoolMemberArrayOutput) +} + // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds func (o FastTcpAppOutput) SlowRampTime() pulumi.IntPtrOutput { return o.ApplyT(func(v *FastTcpApp) pulumi.IntPtrOutput { return v.SlowRampTime }).(pulumi.IntPtrOutput) } +// List of address to be used for FAST-Generated SNAT Pool. +func (o FastTcpAppOutput) SnatPoolAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastTcpApp) pulumi.StringArrayOutput { return v.SnatPoolAddresses }).(pulumi.StringArrayOutput) +} + // Name of the FAST TCP application tenant. func (o FastTcpAppOutput) Tenant() pulumi.StringOutput { return o.ApplyT(func(v *FastTcpApp) pulumi.StringOutput { return v.Tenant }).(pulumi.StringOutput) diff --git a/sdk/go/f5bigip/fastUdpApp.go b/sdk/go/f5bigip/fastUdpApp.go new file mode 100644 index 00000000..021a954e --- /dev/null +++ b/sdk/go/f5bigip/fastUdpApp.go @@ -0,0 +1,577 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package f5bigip + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// `FastUdpApp` This resource will create and manage FAST UDP applications on BIG-IP from provided JSON declaration. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := f5bigip.NewFastUdpApp(ctx, "fast-udp-app", &f5bigip.FastUdpAppArgs{ +// Application: pulumi.String("udp_app_2"), +// PoolMembers: f5bigip.FastUdpAppPoolMemberArray{ +// &f5bigip.FastUdpAppPoolMemberArgs{ +// Addresses: pulumi.StringArray{ +// pulumi.String("10.11.34.65"), +// pulumi.String("56.43.23.76"), +// }, +// ConnectionLimit: pulumi.Int(4), +// Port: pulumi.Int(443), +// PriorityGroup: pulumi.Int(1), +// ShareNodes: pulumi.Bool(true), +// }, +// }, +// Tenant: pulumi.String("udp_app_tenant"), +// VirtualServer: &f5bigip.FastUdpAppVirtualServerArgs{ +// Ip: pulumi.String("11.12.16.30"), +// Port: pulumi.Int(443), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type FastUdpApp struct { + pulumi.CustomResourceState + + // Name of the FAST UDP application. + Application pulumi.StringOutput `pulumi:"application"` + // Enables use of FastL4 profiles. + EnableFastl4 pulumi.BoolPtrOutput `pulumi:"enableFastl4"` + // Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + ExistingMonitor pulumi.StringPtrOutput `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrOutput `pulumi:"existingPool"` + // Name of an existing BIG-IP FastL4 or UDP profile. + ExistingProfile pulumi.StringPtrOutput `pulumi:"existingProfile"` + // Name of an existing BIG-IP SNAT pool. + ExistingSnatPool pulumi.StringPtrOutput `pulumi:"existingSnatPool"` + // Type of fallback persistence record to be created for each new client connection. + FallbackPersistence pulumi.StringPtrOutput `pulumi:"fallbackPersistence"` + // Json payload for FAST UDP application. + FastUdpJson pulumi.StringOutput `pulumi:"fastUdpJson"` + // Irules to attach to Virtual Server. + Irules pulumi.StringArrayOutput `pulumi:"irules"` + // 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 + LoadBalancingMode pulumi.StringPtrOutput `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastUdpAppMonitorPtrOutput `pulumi:"monitor"` + // Name of an existing BIG-IP persistence profile to be used. + PersistenceProfile pulumi.StringPtrOutput `pulumi:"persistenceProfile"` + // Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + PersistenceType pulumi.StringPtrOutput `pulumi:"persistenceType"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastUdpAppPoolMemberArrayOutput `pulumi:"poolMembers"` + // Existing security log profiles to enable. + SecurityLogProfiles pulumi.StringArrayOutput `pulumi:"securityLogProfiles"` + // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + SlowRampTime pulumi.IntPtrOutput `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayOutput `pulumi:"snatPoolAddresses"` + // Name of the FAST UDP application tenant. + Tenant pulumi.StringOutput `pulumi:"tenant"` + // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. + // See virtual server below for more details. + VirtualServer FastUdpAppVirtualServerPtrOutput `pulumi:"virtualServer"` + // Names of existing VLANs to allow. + VlansAlloweds pulumi.StringArrayOutput `pulumi:"vlansAlloweds"` + // Names of existing VLANs to reject. + VlansRejecteds pulumi.StringArrayOutput `pulumi:"vlansRejecteds"` +} + +// NewFastUdpApp registers a new resource with the given unique name, arguments, and options. +func NewFastUdpApp(ctx *pulumi.Context, + name string, args *FastUdpAppArgs, opts ...pulumi.ResourceOption) (*FastUdpApp, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Application == nil { + return nil, errors.New("invalid value for required argument 'Application'") + } + if args.Tenant == nil { + return nil, errors.New("invalid value for required argument 'Tenant'") + } + var resource FastUdpApp + err := ctx.RegisterResource("f5bigip:index/fastUdpApp:FastUdpApp", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetFastUdpApp gets an existing FastUdpApp resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetFastUdpApp(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *FastUdpAppState, opts ...pulumi.ResourceOption) (*FastUdpApp, error) { + var resource FastUdpApp + err := ctx.ReadResource("f5bigip:index/fastUdpApp:FastUdpApp", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering FastUdpApp resources. +type fastUdpAppState struct { + // Name of the FAST UDP application. + Application *string `pulumi:"application"` + // Enables use of FastL4 profiles. + EnableFastl4 *bool `pulumi:"enableFastl4"` + // Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + ExistingMonitor *string `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool *string `pulumi:"existingPool"` + // Name of an existing BIG-IP FastL4 or UDP profile. + ExistingProfile *string `pulumi:"existingProfile"` + // Name of an existing BIG-IP SNAT pool. + ExistingSnatPool *string `pulumi:"existingSnatPool"` + // Type of fallback persistence record to be created for each new client connection. + FallbackPersistence *string `pulumi:"fallbackPersistence"` + // Json payload for FAST UDP application. + FastUdpJson *string `pulumi:"fastUdpJson"` + // Irules to attach to Virtual Server. + Irules []string `pulumi:"irules"` + // 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 + LoadBalancingMode *string `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor *FastUdpAppMonitor `pulumi:"monitor"` + // Name of an existing BIG-IP persistence profile to be used. + PersistenceProfile *string `pulumi:"persistenceProfile"` + // Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + PersistenceType *string `pulumi:"persistenceType"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers []FastUdpAppPoolMember `pulumi:"poolMembers"` + // Existing security log profiles to enable. + SecurityLogProfiles []string `pulumi:"securityLogProfiles"` + // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + SlowRampTime *int `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses []string `pulumi:"snatPoolAddresses"` + // Name of the FAST UDP application tenant. + Tenant *string `pulumi:"tenant"` + // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. + // See virtual server below for more details. + VirtualServer *FastUdpAppVirtualServer `pulumi:"virtualServer"` + // Names of existing VLANs to allow. + VlansAlloweds []string `pulumi:"vlansAlloweds"` + // Names of existing VLANs to reject. + VlansRejecteds []string `pulumi:"vlansRejecteds"` +} + +type FastUdpAppState struct { + // Name of the FAST UDP application. + Application pulumi.StringPtrInput + // Enables use of FastL4 profiles. + EnableFastl4 pulumi.BoolPtrInput + // Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + ExistingMonitor pulumi.StringPtrInput + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrInput + // Name of an existing BIG-IP FastL4 or UDP profile. + ExistingProfile pulumi.StringPtrInput + // Name of an existing BIG-IP SNAT pool. + ExistingSnatPool pulumi.StringPtrInput + // Type of fallback persistence record to be created for each new client connection. + FallbackPersistence pulumi.StringPtrInput + // Json payload for FAST UDP application. + FastUdpJson pulumi.StringPtrInput + // Irules to attach to Virtual Server. + Irules pulumi.StringArrayInput + // 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 + LoadBalancingMode pulumi.StringPtrInput + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastUdpAppMonitorPtrInput + // Name of an existing BIG-IP persistence profile to be used. + PersistenceProfile pulumi.StringPtrInput + // Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + PersistenceType pulumi.StringPtrInput + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastUdpAppPoolMemberArrayInput + // Existing security log profiles to enable. + SecurityLogProfiles pulumi.StringArrayInput + // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + SlowRampTime pulumi.IntPtrInput + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayInput + // Name of the FAST UDP application tenant. + Tenant pulumi.StringPtrInput + // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. + // See virtual server below for more details. + VirtualServer FastUdpAppVirtualServerPtrInput + // Names of existing VLANs to allow. + VlansAlloweds pulumi.StringArrayInput + // Names of existing VLANs to reject. + VlansRejecteds pulumi.StringArrayInput +} + +func (FastUdpAppState) ElementType() reflect.Type { + return reflect.TypeOf((*fastUdpAppState)(nil)).Elem() +} + +type fastUdpAppArgs struct { + // Name of the FAST UDP application. + Application string `pulumi:"application"` + // Enables use of FastL4 profiles. + EnableFastl4 *bool `pulumi:"enableFastl4"` + // Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + ExistingMonitor *string `pulumi:"existingMonitor"` + // Name of an existing BIG-IP pool. + ExistingPool *string `pulumi:"existingPool"` + // Name of an existing BIG-IP FastL4 or UDP profile. + ExistingProfile *string `pulumi:"existingProfile"` + // Name of an existing BIG-IP SNAT pool. + ExistingSnatPool *string `pulumi:"existingSnatPool"` + // Type of fallback persistence record to be created for each new client connection. + FallbackPersistence *string `pulumi:"fallbackPersistence"` + // Irules to attach to Virtual Server. + Irules []string `pulumi:"irules"` + // 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 + LoadBalancingMode *string `pulumi:"loadBalancingMode"` + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor *FastUdpAppMonitor `pulumi:"monitor"` + // Name of an existing BIG-IP persistence profile to be used. + PersistenceProfile *string `pulumi:"persistenceProfile"` + // Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + PersistenceType *string `pulumi:"persistenceType"` + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers []FastUdpAppPoolMember `pulumi:"poolMembers"` + // Existing security log profiles to enable. + SecurityLogProfiles []string `pulumi:"securityLogProfiles"` + // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + SlowRampTime *int `pulumi:"slowRampTime"` + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses []string `pulumi:"snatPoolAddresses"` + // Name of the FAST UDP application tenant. + Tenant string `pulumi:"tenant"` + // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. + // See virtual server below for more details. + VirtualServer *FastUdpAppVirtualServer `pulumi:"virtualServer"` + // Names of existing VLANs to allow. + VlansAlloweds []string `pulumi:"vlansAlloweds"` + // Names of existing VLANs to reject. + VlansRejecteds []string `pulumi:"vlansRejecteds"` +} + +// The set of arguments for constructing a FastUdpApp resource. +type FastUdpAppArgs struct { + // Name of the FAST UDP application. + Application pulumi.StringInput + // Enables use of FastL4 profiles. + EnableFastl4 pulumi.BoolPtrInput + // Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + ExistingMonitor pulumi.StringPtrInput + // Name of an existing BIG-IP pool. + ExistingPool pulumi.StringPtrInput + // Name of an existing BIG-IP FastL4 or UDP profile. + ExistingProfile pulumi.StringPtrInput + // Name of an existing BIG-IP SNAT pool. + ExistingSnatPool pulumi.StringPtrInput + // Type of fallback persistence record to be created for each new client connection. + FallbackPersistence pulumi.StringPtrInput + // Irules to attach to Virtual Server. + Irules pulumi.StringArrayInput + // 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 + LoadBalancingMode pulumi.StringPtrInput + // `monitor` block takes input for FAST-Generated Pool Monitor. + // See Pool Monitor below for more details. + Monitor FastUdpAppMonitorPtrInput + // Name of an existing BIG-IP persistence profile to be used. + PersistenceProfile pulumi.StringPtrInput + // Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + PersistenceType pulumi.StringPtrInput + // `poolMembers` block takes input for FAST-Generated Pool. + // See Pool Members below for more details. + PoolMembers FastUdpAppPoolMemberArrayInput + // Existing security log profiles to enable. + SecurityLogProfiles pulumi.StringArrayInput + // Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + SlowRampTime pulumi.IntPtrInput + // List of address to be used for FAST-Generated SNAT Pool. + SnatPoolAddresses pulumi.StringArrayInput + // Name of the FAST UDP application tenant. + Tenant pulumi.StringInput + // `virtualServer` block will provide `ip` and `port` options to be used for virtual server. + // See virtual server below for more details. + VirtualServer FastUdpAppVirtualServerPtrInput + // Names of existing VLANs to allow. + VlansAlloweds pulumi.StringArrayInput + // Names of existing VLANs to reject. + VlansRejecteds pulumi.StringArrayInput +} + +func (FastUdpAppArgs) ElementType() reflect.Type { + return reflect.TypeOf((*fastUdpAppArgs)(nil)).Elem() +} + +type FastUdpAppInput interface { + pulumi.Input + + ToFastUdpAppOutput() FastUdpAppOutput + ToFastUdpAppOutputWithContext(ctx context.Context) FastUdpAppOutput +} + +func (*FastUdpApp) ElementType() reflect.Type { + return reflect.TypeOf((**FastUdpApp)(nil)).Elem() +} + +func (i *FastUdpApp) ToFastUdpAppOutput() FastUdpAppOutput { + return i.ToFastUdpAppOutputWithContext(context.Background()) +} + +func (i *FastUdpApp) ToFastUdpAppOutputWithContext(ctx context.Context) FastUdpAppOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppOutput) +} + +// FastUdpAppArrayInput is an input type that accepts FastUdpAppArray and FastUdpAppArrayOutput values. +// You can construct a concrete instance of `FastUdpAppArrayInput` via: +// +// FastUdpAppArray{ FastUdpAppArgs{...} } +type FastUdpAppArrayInput interface { + pulumi.Input + + ToFastUdpAppArrayOutput() FastUdpAppArrayOutput + ToFastUdpAppArrayOutputWithContext(context.Context) FastUdpAppArrayOutput +} + +type FastUdpAppArray []FastUdpAppInput + +func (FastUdpAppArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FastUdpApp)(nil)).Elem() +} + +func (i FastUdpAppArray) ToFastUdpAppArrayOutput() FastUdpAppArrayOutput { + return i.ToFastUdpAppArrayOutputWithContext(context.Background()) +} + +func (i FastUdpAppArray) ToFastUdpAppArrayOutputWithContext(ctx context.Context) FastUdpAppArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppArrayOutput) +} + +// FastUdpAppMapInput is an input type that accepts FastUdpAppMap and FastUdpAppMapOutput values. +// You can construct a concrete instance of `FastUdpAppMapInput` via: +// +// FastUdpAppMap{ "key": FastUdpAppArgs{...} } +type FastUdpAppMapInput interface { + pulumi.Input + + ToFastUdpAppMapOutput() FastUdpAppMapOutput + ToFastUdpAppMapOutputWithContext(context.Context) FastUdpAppMapOutput +} + +type FastUdpAppMap map[string]FastUdpAppInput + +func (FastUdpAppMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FastUdpApp)(nil)).Elem() +} + +func (i FastUdpAppMap) ToFastUdpAppMapOutput() FastUdpAppMapOutput { + return i.ToFastUdpAppMapOutputWithContext(context.Background()) +} + +func (i FastUdpAppMap) ToFastUdpAppMapOutputWithContext(ctx context.Context) FastUdpAppMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppMapOutput) +} + +type FastUdpAppOutput struct{ *pulumi.OutputState } + +func (FastUdpAppOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastUdpApp)(nil)).Elem() +} + +func (o FastUdpAppOutput) ToFastUdpAppOutput() FastUdpAppOutput { + return o +} + +func (o FastUdpAppOutput) ToFastUdpAppOutputWithContext(ctx context.Context) FastUdpAppOutput { + return o +} + +// Name of the FAST UDP application. +func (o FastUdpAppOutput) Application() pulumi.StringOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringOutput { return v.Application }).(pulumi.StringOutput) +} + +// Enables use of FastL4 profiles. +func (o FastUdpAppOutput) EnableFastl4() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.BoolPtrOutput { return v.EnableFastl4 }).(pulumi.BoolPtrOutput) +} + +// Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. +func (o FastUdpAppOutput) ExistingMonitor() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringPtrOutput { return v.ExistingMonitor }).(pulumi.StringPtrOutput) +} + +// Name of an existing BIG-IP pool. +func (o FastUdpAppOutput) ExistingPool() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringPtrOutput { return v.ExistingPool }).(pulumi.StringPtrOutput) +} + +// Name of an existing BIG-IP FastL4 or UDP profile. +func (o FastUdpAppOutput) ExistingProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringPtrOutput { return v.ExistingProfile }).(pulumi.StringPtrOutput) +} + +// Name of an existing BIG-IP SNAT pool. +func (o FastUdpAppOutput) ExistingSnatPool() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringPtrOutput { return v.ExistingSnatPool }).(pulumi.StringPtrOutput) +} + +// Type of fallback persistence record to be created for each new client connection. +func (o FastUdpAppOutput) FallbackPersistence() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringPtrOutput { return v.FallbackPersistence }).(pulumi.StringPtrOutput) +} + +// Json payload for FAST UDP application. +func (o FastUdpAppOutput) FastUdpJson() pulumi.StringOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringOutput { return v.FastUdpJson }).(pulumi.StringOutput) +} + +// Irules to attach to Virtual Server. +func (o FastUdpAppOutput) Irules() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringArrayOutput { return v.Irules }).(pulumi.StringArrayOutput) +} + +// 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 +func (o FastUdpAppOutput) LoadBalancingMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringPtrOutput { return v.LoadBalancingMode }).(pulumi.StringPtrOutput) +} + +// `monitor` block takes input for FAST-Generated Pool Monitor. +// See Pool Monitor below for more details. +func (o FastUdpAppOutput) Monitor() FastUdpAppMonitorPtrOutput { + return o.ApplyT(func(v *FastUdpApp) FastUdpAppMonitorPtrOutput { return v.Monitor }).(FastUdpAppMonitorPtrOutput) +} + +// Name of an existing BIG-IP persistence profile to be used. +func (o FastUdpAppOutput) PersistenceProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringPtrOutput { return v.PersistenceProfile }).(pulumi.StringPtrOutput) +} + +// Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. +func (o FastUdpAppOutput) PersistenceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringPtrOutput { return v.PersistenceType }).(pulumi.StringPtrOutput) +} + +// `poolMembers` block takes input for FAST-Generated Pool. +// See Pool Members below for more details. +func (o FastUdpAppOutput) PoolMembers() FastUdpAppPoolMemberArrayOutput { + return o.ApplyT(func(v *FastUdpApp) FastUdpAppPoolMemberArrayOutput { return v.PoolMembers }).(FastUdpAppPoolMemberArrayOutput) +} + +// Existing security log profiles to enable. +func (o FastUdpAppOutput) SecurityLogProfiles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringArrayOutput { return v.SecurityLogProfiles }).(pulumi.StringArrayOutput) +} + +// Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds +func (o FastUdpAppOutput) SlowRampTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.IntPtrOutput { return v.SlowRampTime }).(pulumi.IntPtrOutput) +} + +// List of address to be used for FAST-Generated SNAT Pool. +func (o FastUdpAppOutput) SnatPoolAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringArrayOutput { return v.SnatPoolAddresses }).(pulumi.StringArrayOutput) +} + +// Name of the FAST UDP application tenant. +func (o FastUdpAppOutput) Tenant() pulumi.StringOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringOutput { return v.Tenant }).(pulumi.StringOutput) +} + +// `virtualServer` block will provide `ip` and `port` options to be used for virtual server. +// See virtual server below for more details. +func (o FastUdpAppOutput) VirtualServer() FastUdpAppVirtualServerPtrOutput { + return o.ApplyT(func(v *FastUdpApp) FastUdpAppVirtualServerPtrOutput { return v.VirtualServer }).(FastUdpAppVirtualServerPtrOutput) +} + +// Names of existing VLANs to allow. +func (o FastUdpAppOutput) VlansAlloweds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringArrayOutput { return v.VlansAlloweds }).(pulumi.StringArrayOutput) +} + +// Names of existing VLANs to reject. +func (o FastUdpAppOutput) VlansRejecteds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FastUdpApp) pulumi.StringArrayOutput { return v.VlansRejecteds }).(pulumi.StringArrayOutput) +} + +type FastUdpAppArrayOutput struct{ *pulumi.OutputState } + +func (FastUdpAppArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FastUdpApp)(nil)).Elem() +} + +func (o FastUdpAppArrayOutput) ToFastUdpAppArrayOutput() FastUdpAppArrayOutput { + return o +} + +func (o FastUdpAppArrayOutput) ToFastUdpAppArrayOutputWithContext(ctx context.Context) FastUdpAppArrayOutput { + return o +} + +func (o FastUdpAppArrayOutput) Index(i pulumi.IntInput) FastUdpAppOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FastUdpApp { + return vs[0].([]*FastUdpApp)[vs[1].(int)] + }).(FastUdpAppOutput) +} + +type FastUdpAppMapOutput struct{ *pulumi.OutputState } + +func (FastUdpAppMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FastUdpApp)(nil)).Elem() +} + +func (o FastUdpAppMapOutput) ToFastUdpAppMapOutput() FastUdpAppMapOutput { + return o +} + +func (o FastUdpAppMapOutput) ToFastUdpAppMapOutputWithContext(ctx context.Context) FastUdpAppMapOutput { + return o +} + +func (o FastUdpAppMapOutput) MapIndex(k pulumi.StringInput) FastUdpAppOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FastUdpApp { + return vs[0].(map[string]*FastUdpApp)[vs[1].(string)] + }).(FastUdpAppOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppInput)(nil)).Elem(), &FastUdpApp{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppArrayInput)(nil)).Elem(), FastUdpAppArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppMapInput)(nil)).Elem(), FastUdpAppMap{}) + pulumi.RegisterOutputType(FastUdpAppOutput{}) + pulumi.RegisterOutputType(FastUdpAppArrayOutput{}) + pulumi.RegisterOutputType(FastUdpAppMapOutput{}) +} diff --git a/sdk/go/f5bigip/init.go b/sdk/go/f5bigip/init.go index 30811fa6..36378e8c 100644 --- a/sdk/go/f5bigip/init.go +++ b/sdk/go/f5bigip/init.go @@ -42,6 +42,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &FastTcpApp{} case "f5bigip:index/fastTemplate:FastTemplate": r = &FastTemplate{} + case "f5bigip:index/fastUdpApp:FastUdpApp": + r = &FastUdpApp{} case "f5bigip:index/ipsecPolicy:IpsecPolicy": r = &IpsecPolicy{} case "f5bigip:index/ipsecProfile:IpsecProfile": @@ -137,6 +139,11 @@ func init() { "index/fastTemplate", &module{version}, ) + pulumi.RegisterResourceModule( + "f5bigip", + "index/fastUdpApp", + &module{version}, + ) pulumi.RegisterResourceModule( "f5bigip", "index/ipsecPolicy", diff --git a/sdk/go/f5bigip/ltm/monitor.go b/sdk/go/f5bigip/ltm/monitor.go index 1c176910..eb1ceabf 100644 --- a/sdk/go/f5bigip/ltm/monitor.go +++ b/sdk/go/f5bigip/ltm/monitor.go @@ -147,6 +147,13 @@ func NewMonitor(ctx *pulumi.Context, if args.Parent == nil { return nil, errors.New("invalid value for required argument 'Parent'") } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) var resource Monitor err := ctx.RegisterResource("f5bigip:ltm/monitor:Monitor", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/f5bigip/ltm/policy.go b/sdk/go/f5bigip/ltm/policy.go index cdfa84be..56110d07 100644 --- a/sdk/go/f5bigip/ltm/policy.go +++ b/sdk/go/f5bigip/ltm/policy.go @@ -75,13 +75,13 @@ type Policy struct { // Specifies the controls Controls pulumi.StringArrayOutput `pulumi:"controls"` - // Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + // Name of Rule to be applied in policy. Name pulumi.StringOutput `pulumi:"name"` // If you want to publish the policy else it will be deployed in Drafts mode. PublishedCopy pulumi.StringPtrOutput `pulumi:"publishedCopy"` // Specifies the protocol Requires pulumi.StringArrayOutput `pulumi:"requires"` - // Rules can be applied using the policy + // List of Rules can be applied using the policy. Each rule is block type with following arguments. Rules PolicyRuleArrayOutput `pulumi:"rules"` // Specifies the match strategy Strategy pulumi.StringPtrOutput `pulumi:"strategy"` @@ -121,13 +121,13 @@ func GetPolicy(ctx *pulumi.Context, type policyState struct { // Specifies the controls Controls []string `pulumi:"controls"` - // Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + // Name of Rule to be applied in policy. Name *string `pulumi:"name"` // If you want to publish the policy else it will be deployed in Drafts mode. PublishedCopy *string `pulumi:"publishedCopy"` // Specifies the protocol Requires []string `pulumi:"requires"` - // Rules can be applied using the policy + // List of Rules can be applied using the policy. Each rule is block type with following arguments. Rules []PolicyRule `pulumi:"rules"` // Specifies the match strategy Strategy *string `pulumi:"strategy"` @@ -136,13 +136,13 @@ type policyState struct { type PolicyState struct { // Specifies the controls Controls pulumi.StringArrayInput - // Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + // Name of Rule to be applied in policy. Name pulumi.StringPtrInput // If you want to publish the policy else it will be deployed in Drafts mode. PublishedCopy pulumi.StringPtrInput // Specifies the protocol Requires pulumi.StringArrayInput - // Rules can be applied using the policy + // List of Rules can be applied using the policy. Each rule is block type with following arguments. Rules PolicyRuleArrayInput // Specifies the match strategy Strategy pulumi.StringPtrInput @@ -155,13 +155,13 @@ func (PolicyState) ElementType() reflect.Type { type policyArgs struct { // Specifies the controls Controls []string `pulumi:"controls"` - // Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + // Name of Rule to be applied in policy. Name string `pulumi:"name"` // If you want to publish the policy else it will be deployed in Drafts mode. PublishedCopy *string `pulumi:"publishedCopy"` // Specifies the protocol Requires []string `pulumi:"requires"` - // Rules can be applied using the policy + // List of Rules can be applied using the policy. Each rule is block type with following arguments. Rules []PolicyRule `pulumi:"rules"` // Specifies the match strategy Strategy *string `pulumi:"strategy"` @@ -171,13 +171,13 @@ type policyArgs struct { type PolicyArgs struct { // Specifies the controls Controls pulumi.StringArrayInput - // Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + // Name of Rule to be applied in policy. Name pulumi.StringInput // If you want to publish the policy else it will be deployed in Drafts mode. PublishedCopy pulumi.StringPtrInput // Specifies the protocol Requires pulumi.StringArrayInput - // Rules can be applied using the policy + // List of Rules can be applied using the policy. Each rule is block type with following arguments. Rules PolicyRuleArrayInput // Specifies the match strategy Strategy pulumi.StringPtrInput @@ -275,7 +275,7 @@ func (o PolicyOutput) Controls() pulumi.StringArrayOutput { return o.ApplyT(func(v *Policy) pulumi.StringArrayOutput { return v.Controls }).(pulumi.StringArrayOutput) } -// Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) +// Name of Rule to be applied in policy. func (o PolicyOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Policy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -290,7 +290,7 @@ func (o PolicyOutput) Requires() pulumi.StringArrayOutput { return o.ApplyT(func(v *Policy) pulumi.StringArrayOutput { return v.Requires }).(pulumi.StringArrayOutput) } -// Rules can be applied using the policy +// List of Rules can be applied using the policy. Each rule is block type with following arguments. func (o PolicyOutput) Rules() PolicyRuleArrayOutput { return o.ApplyT(func(v *Policy) PolicyRuleArrayOutput { return v.Rules }).(PolicyRuleArrayOutput) } diff --git a/sdk/go/f5bigip/ltm/profileClientSsl.go b/sdk/go/f5bigip/ltm/profileClientSsl.go index 597bf19d..81e7f74a 100644 --- a/sdk/go/f5bigip/ltm/profileClientSsl.go +++ b/sdk/go/f5bigip/ltm/profileClientSsl.go @@ -68,16 +68,19 @@ type ProfileClientSsl struct { // Cache time out CacheTimeout pulumi.IntOutput `pulumi:"cacheTimeout"` // Specifies a cert name for use. - Cert pulumi.StringOutput `pulumi:"cert"` + Cert pulumi.StringPtrOutput `pulumi:"cert"` // Cert extension includes for ssl forward proxy - CertExtensionIncludes pulumi.StringArrayOutput `pulumi:"certExtensionIncludes"` - CertKeyChains ProfileClientSslCertKeyChainArrayOutput `pulumi:"certKeyChains"` + CertExtensionIncludes pulumi.StringArrayOutput `pulumi:"certExtensionIncludes"` + // Deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + CertKeyChain ProfileClientSslCertKeyChainPtrOutput `pulumi:"certKeyChain"` // Life span of the certificate in days for ssl forward proxy CertLifeSpan pulumi.IntOutput `pulumi:"certLifeSpan"` // Cert lookup by ip address and port enabled / disabled CertLookupByIpaddrPort pulumi.StringOutput `pulumi:"certLookupByIpaddrPort"` // Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional - Chain pulumi.StringOutput `pulumi:"chain"` + Chain pulumi.StringPtrOutput `pulumi:"chain"` + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup pulumi.StringPtrOutput `pulumi:"cipherGroup"` // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers pulumi.StringOutput `pulumi:"ciphers"` // client certificate name @@ -99,7 +102,7 @@ type ProfileClientSsl struct { // Inherit cert key chain InheritCertKeychain pulumi.StringOutput `pulumi:"inheritCertKeychain"` // Contains a key name - Key pulumi.StringOutput `pulumi:"key"` + Key pulumi.StringPtrOutput `pulumi:"key"` // ModSSL Methods enabled / disabled. Default is disabled. ModSslMethods pulumi.StringOutput `pulumi:"modSslMethods"` // ModSSL Methods enabled / disabled. Default is disabled. @@ -173,6 +176,13 @@ func NewProfileClientSsl(ctx *pulumi.Context, if args.Name == nil { return nil, errors.New("invalid value for required argument 'Name'") } + if args.Passphrase != nil { + args.Passphrase = pulumi.ToSecret(args.Passphrase).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "passphrase", + }) + opts = append(opts, secrets) var resource ProfileClientSsl err := ctx.RegisterResource("f5bigip:ltm/profileClientSsl:ProfileClientSsl", name, args, &resource, opts...) if err != nil { @@ -219,14 +229,17 @@ type profileClientSslState struct { // Specifies a cert name for use. Cert *string `pulumi:"cert"` // Cert extension includes for ssl forward proxy - CertExtensionIncludes []string `pulumi:"certExtensionIncludes"` - CertKeyChains []ProfileClientSslCertKeyChain `pulumi:"certKeyChains"` + CertExtensionIncludes []string `pulumi:"certExtensionIncludes"` + // Deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + CertKeyChain *ProfileClientSslCertKeyChain `pulumi:"certKeyChain"` // Life span of the certificate in days for ssl forward proxy CertLifeSpan *int `pulumi:"certLifeSpan"` // Cert lookup by ip address and port enabled / disabled CertLookupByIpaddrPort *string `pulumi:"certLookupByIpaddrPort"` // Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional Chain *string `pulumi:"chain"` + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup *string `pulumi:"cipherGroup"` // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers *string `pulumi:"ciphers"` // client certificate name @@ -338,13 +351,16 @@ type ProfileClientSslState struct { Cert pulumi.StringPtrInput // Cert extension includes for ssl forward proxy CertExtensionIncludes pulumi.StringArrayInput - CertKeyChains ProfileClientSslCertKeyChainArrayInput + // Deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + CertKeyChain ProfileClientSslCertKeyChainPtrInput // Life span of the certificate in days for ssl forward proxy CertLifeSpan pulumi.IntPtrInput // Cert lookup by ip address and port enabled / disabled CertLookupByIpaddrPort pulumi.StringPtrInput // Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional Chain pulumi.StringPtrInput + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup pulumi.StringPtrInput // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers pulumi.StringPtrInput // client certificate name @@ -459,14 +475,17 @@ type profileClientSslArgs struct { // Specifies a cert name for use. Cert *string `pulumi:"cert"` // Cert extension includes for ssl forward proxy - CertExtensionIncludes []string `pulumi:"certExtensionIncludes"` - CertKeyChains []ProfileClientSslCertKeyChain `pulumi:"certKeyChains"` + CertExtensionIncludes []string `pulumi:"certExtensionIncludes"` + // Deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + CertKeyChain *ProfileClientSslCertKeyChain `pulumi:"certKeyChain"` // Life span of the certificate in days for ssl forward proxy CertLifeSpan *int `pulumi:"certLifeSpan"` // Cert lookup by ip address and port enabled / disabled CertLookupByIpaddrPort *string `pulumi:"certLookupByIpaddrPort"` // Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional Chain *string `pulumi:"chain"` + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup *string `pulumi:"cipherGroup"` // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers *string `pulumi:"ciphers"` // client certificate name @@ -579,13 +598,16 @@ type ProfileClientSslArgs struct { Cert pulumi.StringPtrInput // Cert extension includes for ssl forward proxy CertExtensionIncludes pulumi.StringArrayInput - CertKeyChains ProfileClientSslCertKeyChainArrayInput + // Deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + CertKeyChain ProfileClientSslCertKeyChainPtrInput // Life span of the certificate in days for ssl forward proxy CertLifeSpan pulumi.IntPtrInput // Cert lookup by ip address and port enabled / disabled CertLookupByIpaddrPort pulumi.StringPtrInput // Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional Chain pulumi.StringPtrInput + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup pulumi.StringPtrInput // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers pulumi.StringPtrInput // client certificate name @@ -810,8 +832,8 @@ func (o ProfileClientSslOutput) CacheTimeout() pulumi.IntOutput { } // Specifies a cert name for use. -func (o ProfileClientSslOutput) Cert() pulumi.StringOutput { - return o.ApplyT(func(v *ProfileClientSsl) pulumi.StringOutput { return v.Cert }).(pulumi.StringOutput) +func (o ProfileClientSslOutput) Cert() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSsl) pulumi.StringPtrOutput { return v.Cert }).(pulumi.StringPtrOutput) } // Cert extension includes for ssl forward proxy @@ -819,8 +841,9 @@ func (o ProfileClientSslOutput) CertExtensionIncludes() pulumi.StringArrayOutput return o.ApplyT(func(v *ProfileClientSsl) pulumi.StringArrayOutput { return v.CertExtensionIncludes }).(pulumi.StringArrayOutput) } -func (o ProfileClientSslOutput) CertKeyChains() ProfileClientSslCertKeyChainArrayOutput { - return o.ApplyT(func(v *ProfileClientSsl) ProfileClientSslCertKeyChainArrayOutput { return v.CertKeyChains }).(ProfileClientSslCertKeyChainArrayOutput) +// Deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. +func (o ProfileClientSslOutput) CertKeyChain() ProfileClientSslCertKeyChainPtrOutput { + return o.ApplyT(func(v *ProfileClientSsl) ProfileClientSslCertKeyChainPtrOutput { return v.CertKeyChain }).(ProfileClientSslCertKeyChainPtrOutput) } // Life span of the certificate in days for ssl forward proxy @@ -834,8 +857,13 @@ func (o ProfileClientSslOutput) CertLookupByIpaddrPort() pulumi.StringOutput { } // Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional -func (o ProfileClientSslOutput) Chain() pulumi.StringOutput { - return o.ApplyT(func(v *ProfileClientSsl) pulumi.StringOutput { return v.Chain }).(pulumi.StringOutput) +func (o ProfileClientSslOutput) Chain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSsl) pulumi.StringPtrOutput { return v.Chain }).(pulumi.StringPtrOutput) +} + +// Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. +func (o ProfileClientSslOutput) CipherGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSsl) pulumi.StringPtrOutput { return v.CipherGroup }).(pulumi.StringPtrOutput) } // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. @@ -889,8 +917,8 @@ func (o ProfileClientSslOutput) InheritCertKeychain() pulumi.StringOutput { } // Contains a key name -func (o ProfileClientSslOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v *ProfileClientSsl) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) +func (o ProfileClientSslOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSsl) pulumi.StringPtrOutput { return v.Key }).(pulumi.StringPtrOutput) } // ModSSL Methods enabled / disabled. Default is disabled. diff --git a/sdk/go/f5bigip/ltm/profileFastL4.go b/sdk/go/f5bigip/ltm/profileFastL4.go index cd182426..7f6c84da 100644 --- a/sdk/go/f5bigip/ltm/profileFastL4.go +++ b/sdk/go/f5bigip/ltm/profileFastL4.go @@ -11,9 +11,9 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// `ltm.ProfileFastL4` Configures a custom profileFastl4 for use by health checks. +// `ltm.ProfileFastL4` Configures a custom LTM fastL4 profile for use by health checks. // -// For 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. +// 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-fastl4profile`) or `partition + directory + name` of the resource (example: `/Common/test/my-fastl4profile`) // // ## Example Usage // @@ -77,10 +77,20 @@ type ProfileFastL4 struct { IptosToserver pulumi.StringOutput `pulumi:"iptosToserver"` // Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). KeepaliveInterval pulumi.StringOutput `pulumi:"keepaliveInterval"` - // Name of the profile_fastl4 + // Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + LateBinding pulumi.StringOutput `pulumi:"lateBinding"` + // 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. + LooseClose pulumi.StringOutput `pulumi:"looseClose"` + // 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. + LooseInitiation pulumi.StringOutput `pulumi:"looseInitiation"` + // 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`) Name pulumi.StringOutput `pulumi:"name"` - // Displays the administrative partition within which this profile resides + // name of partition Partition pulumi.StringOutput `pulumi:"partition"` + // Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + ReceiveWindowsize pulumi.IntOutput `pulumi:"receiveWindowsize"` + // 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`. + TcpHandshakeTimeout pulumi.StringOutput `pulumi:"tcpHandshakeTimeout"` } // NewProfileFastL4 registers a new resource with the given unique name, arguments, and options. @@ -131,10 +141,20 @@ type profileFastL4State struct { IptosToserver *string `pulumi:"iptosToserver"` // Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). KeepaliveInterval *string `pulumi:"keepaliveInterval"` - // Name of the profile_fastl4 + // Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + LateBinding *string `pulumi:"lateBinding"` + // 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. + LooseClose *string `pulumi:"looseClose"` + // 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. + LooseInitiation *string `pulumi:"looseInitiation"` + // 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`) Name *string `pulumi:"name"` - // Displays the administrative partition within which this profile resides + // name of partition Partition *string `pulumi:"partition"` + // Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + ReceiveWindowsize *int `pulumi:"receiveWindowsize"` + // 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`. + TcpHandshakeTimeout *string `pulumi:"tcpHandshakeTimeout"` } type ProfileFastL4State struct { @@ -154,10 +174,20 @@ type ProfileFastL4State struct { IptosToserver pulumi.StringPtrInput // Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). KeepaliveInterval pulumi.StringPtrInput - // Name of the profile_fastl4 + // Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + LateBinding pulumi.StringPtrInput + // 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. + LooseClose pulumi.StringPtrInput + // 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. + LooseInitiation pulumi.StringPtrInput + // 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`) Name pulumi.StringPtrInput - // Displays the administrative partition within which this profile resides + // name of partition Partition pulumi.StringPtrInput + // Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + ReceiveWindowsize pulumi.IntPtrInput + // 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`. + TcpHandshakeTimeout pulumi.StringPtrInput } func (ProfileFastL4State) ElementType() reflect.Type { @@ -181,10 +211,20 @@ type profileFastL4Args struct { IptosToserver *string `pulumi:"iptosToserver"` // Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). KeepaliveInterval *string `pulumi:"keepaliveInterval"` - // Name of the profile_fastl4 + // Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + LateBinding *string `pulumi:"lateBinding"` + // 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. + LooseClose *string `pulumi:"looseClose"` + // 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. + LooseInitiation *string `pulumi:"looseInitiation"` + // 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`) Name string `pulumi:"name"` - // Displays the administrative partition within which this profile resides + // name of partition Partition *string `pulumi:"partition"` + // Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + ReceiveWindowsize *int `pulumi:"receiveWindowsize"` + // 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`. + TcpHandshakeTimeout *string `pulumi:"tcpHandshakeTimeout"` } // The set of arguments for constructing a ProfileFastL4 resource. @@ -205,10 +245,20 @@ type ProfileFastL4Args struct { IptosToserver pulumi.StringPtrInput // Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). KeepaliveInterval pulumi.StringPtrInput - // Name of the profile_fastl4 + // Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + LateBinding pulumi.StringPtrInput + // 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. + LooseClose pulumi.StringPtrInput + // 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. + LooseInitiation pulumi.StringPtrInput + // 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`) Name pulumi.StringInput - // Displays the administrative partition within which this profile resides + // name of partition Partition pulumi.StringPtrInput + // Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + ReceiveWindowsize pulumi.IntPtrInput + // 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`. + TcpHandshakeTimeout pulumi.StringPtrInput } func (ProfileFastL4Args) ElementType() reflect.Type { @@ -338,16 +388,41 @@ func (o ProfileFastL4Output) KeepaliveInterval() pulumi.StringOutput { return o.ApplyT(func(v *ProfileFastL4) pulumi.StringOutput { return v.KeepaliveInterval }).(pulumi.StringOutput) } -// Name of the profile_fastl4 +// Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. +func (o ProfileFastL4Output) LateBinding() pulumi.StringOutput { + return o.ApplyT(func(v *ProfileFastL4) pulumi.StringOutput { return v.LateBinding }).(pulumi.StringOutput) +} + +// 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. +func (o ProfileFastL4Output) LooseClose() pulumi.StringOutput { + return o.ApplyT(func(v *ProfileFastL4) pulumi.StringOutput { return v.LooseClose }).(pulumi.StringOutput) +} + +// 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. +func (o ProfileFastL4Output) LooseInitiation() pulumi.StringOutput { + return o.ApplyT(func(v *ProfileFastL4) pulumi.StringOutput { return v.LooseInitiation }).(pulumi.StringOutput) +} + +// 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`) func (o ProfileFastL4Output) Name() pulumi.StringOutput { return o.ApplyT(func(v *ProfileFastL4) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Displays the administrative partition within which this profile resides +// name of partition func (o ProfileFastL4Output) Partition() pulumi.StringOutput { return o.ApplyT(func(v *ProfileFastL4) pulumi.StringOutput { return v.Partition }).(pulumi.StringOutput) } +// Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). +func (o ProfileFastL4Output) ReceiveWindowsize() pulumi.IntOutput { + return o.ApplyT(func(v *ProfileFastL4) pulumi.IntOutput { return v.ReceiveWindowsize }).(pulumi.IntOutput) +} + +// 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`. +func (o ProfileFastL4Output) TcpHandshakeTimeout() pulumi.StringOutput { + return o.ApplyT(func(v *ProfileFastL4) pulumi.StringOutput { return v.TcpHandshakeTimeout }).(pulumi.StringOutput) +} + type ProfileFastL4ArrayOutput struct{ *pulumi.OutputState } func (ProfileFastL4ArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/f5bigip/ltm/profileHttpCompress.go b/sdk/go/f5bigip/ltm/profileHttpCompress.go index e92d00a7..3ad16456 100644 --- a/sdk/go/f5bigip/ltm/profileHttpCompress.go +++ b/sdk/go/f5bigip/ltm/profileHttpCompress.go @@ -13,7 +13,7 @@ import ( // `ltm.ProfileHttpCompress` Virtual server HTTP compression profile configuration // -// Resources 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 ) +// Resources 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`) // // ## Example Usage // @@ -54,21 +54,45 @@ import ( // } // // ``` +// +// ## Import +// +// BIG-IP LTM HTTP Compress profiles can be imported using the `name`, e.g. +// +// ```sh +// +// $ pulumi import f5bigip:ltm/profileHttpCompress:ProfileHttpCompress test-httpcomprs_import /Common/test-httpcomprs +// +// ``` type ProfileHttpCompress struct { pulumi.CustomResourceState + // 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 `4096` bytes. + CompressionBuffersize pulumi.IntOutput `pulumi:"compressionBuffersize"` // 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. ContentTypeExcludes pulumi.StringArrayOutput `pulumi:"contentTypeExcludes"` // 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. ContentTypeIncludes pulumi.StringArrayOutput `pulumi:"contentTypeIncludes"` + // 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 `enabled`. + CpuSaver pulumi.StringOutput `pulumi:"cpuSaver"` // 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. DefaultsFrom pulumi.StringOutput `pulumi:"defaultsFrom"` - // Name of the profile_httpcompress + // 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) + GzipCompressionLevel pulumi.IntOutput `pulumi:"gzipCompressionLevel"` + // 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`. + GzipMemoryLevel pulumi.IntOutput `pulumi:"gzipMemoryLevel"` + // Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + GzipWindowSize pulumi.IntOutput `pulumi:"gzipWindowSize"` + // Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + KeepAcceptEncoding pulumi.StringOutput `pulumi:"keepAcceptEncoding"` + // 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`) Name pulumi.StringOutput `pulumi:"name"` // 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. UriExcludes pulumi.StringArrayOutput `pulumi:"uriExcludes"` // 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. UriIncludes pulumi.StringArrayOutput `pulumi:"uriIncludes"` + // Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + VaryHeader pulumi.StringOutput `pulumi:"varyHeader"` } // NewProfileHttpCompress registers a new resource with the given unique name, arguments, and options. @@ -103,33 +127,61 @@ func GetProfileHttpCompress(ctx *pulumi.Context, // Input properties used for looking up and filtering ProfileHttpCompress resources. type profileHttpCompressState struct { + // 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 `4096` bytes. + CompressionBuffersize *int `pulumi:"compressionBuffersize"` // 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. ContentTypeExcludes []string `pulumi:"contentTypeExcludes"` // 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. ContentTypeIncludes []string `pulumi:"contentTypeIncludes"` + // 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 `enabled`. + CpuSaver *string `pulumi:"cpuSaver"` // 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. DefaultsFrom *string `pulumi:"defaultsFrom"` - // Name of the profile_httpcompress + // 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) + GzipCompressionLevel *int `pulumi:"gzipCompressionLevel"` + // 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`. + GzipMemoryLevel *int `pulumi:"gzipMemoryLevel"` + // Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + GzipWindowSize *int `pulumi:"gzipWindowSize"` + // Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + KeepAcceptEncoding *string `pulumi:"keepAcceptEncoding"` + // 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`) Name *string `pulumi:"name"` // 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. UriExcludes []string `pulumi:"uriExcludes"` // 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. UriIncludes []string `pulumi:"uriIncludes"` + // Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + VaryHeader *string `pulumi:"varyHeader"` } type ProfileHttpCompressState struct { + // 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 `4096` bytes. + CompressionBuffersize pulumi.IntPtrInput // 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. ContentTypeExcludes pulumi.StringArrayInput // 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. ContentTypeIncludes pulumi.StringArrayInput + // 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 `enabled`. + CpuSaver pulumi.StringPtrInput // 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. DefaultsFrom pulumi.StringPtrInput - // Name of the profile_httpcompress + // 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) + GzipCompressionLevel pulumi.IntPtrInput + // 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`. + GzipMemoryLevel pulumi.IntPtrInput + // Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + GzipWindowSize pulumi.IntPtrInput + // Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + KeepAcceptEncoding pulumi.StringPtrInput + // 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`) Name pulumi.StringPtrInput // 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. UriExcludes pulumi.StringArrayInput // 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. UriIncludes pulumi.StringArrayInput + // Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + VaryHeader pulumi.StringPtrInput } func (ProfileHttpCompressState) ElementType() reflect.Type { @@ -137,34 +189,62 @@ func (ProfileHttpCompressState) ElementType() reflect.Type { } type profileHttpCompressArgs struct { + // 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 `4096` bytes. + CompressionBuffersize *int `pulumi:"compressionBuffersize"` // 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. ContentTypeExcludes []string `pulumi:"contentTypeExcludes"` // 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. ContentTypeIncludes []string `pulumi:"contentTypeIncludes"` + // 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 `enabled`. + CpuSaver *string `pulumi:"cpuSaver"` // 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. DefaultsFrom *string `pulumi:"defaultsFrom"` - // Name of the profile_httpcompress + // 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) + GzipCompressionLevel *int `pulumi:"gzipCompressionLevel"` + // 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`. + GzipMemoryLevel *int `pulumi:"gzipMemoryLevel"` + // Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + GzipWindowSize *int `pulumi:"gzipWindowSize"` + // Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + KeepAcceptEncoding *string `pulumi:"keepAcceptEncoding"` + // 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`) Name string `pulumi:"name"` // 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. UriExcludes []string `pulumi:"uriExcludes"` // 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. UriIncludes []string `pulumi:"uriIncludes"` + // Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + VaryHeader *string `pulumi:"varyHeader"` } // The set of arguments for constructing a ProfileHttpCompress resource. type ProfileHttpCompressArgs struct { + // 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 `4096` bytes. + CompressionBuffersize pulumi.IntPtrInput // 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. ContentTypeExcludes pulumi.StringArrayInput // 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. ContentTypeIncludes pulumi.StringArrayInput + // 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 `enabled`. + CpuSaver pulumi.StringPtrInput // 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. DefaultsFrom pulumi.StringPtrInput - // Name of the profile_httpcompress + // 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) + GzipCompressionLevel pulumi.IntPtrInput + // 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`. + GzipMemoryLevel pulumi.IntPtrInput + // Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + GzipWindowSize pulumi.IntPtrInput + // Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + KeepAcceptEncoding pulumi.StringPtrInput + // 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`) Name pulumi.StringInput // 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. UriExcludes pulumi.StringArrayInput // 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. UriIncludes pulumi.StringArrayInput + // Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + VaryHeader pulumi.StringPtrInput } func (ProfileHttpCompressArgs) ElementType() reflect.Type { @@ -254,6 +334,11 @@ func (o ProfileHttpCompressOutput) ToProfileHttpCompressOutputWithContext(ctx co return o } +// 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 `4096` bytes. +func (o ProfileHttpCompressOutput) CompressionBuffersize() pulumi.IntOutput { + return o.ApplyT(func(v *ProfileHttpCompress) pulumi.IntOutput { return v.CompressionBuffersize }).(pulumi.IntOutput) +} + // 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. func (o ProfileHttpCompressOutput) ContentTypeExcludes() pulumi.StringArrayOutput { return o.ApplyT(func(v *ProfileHttpCompress) pulumi.StringArrayOutput { return v.ContentTypeExcludes }).(pulumi.StringArrayOutput) @@ -264,12 +349,37 @@ func (o ProfileHttpCompressOutput) ContentTypeIncludes() pulumi.StringArrayOutpu return o.ApplyT(func(v *ProfileHttpCompress) pulumi.StringArrayOutput { return v.ContentTypeIncludes }).(pulumi.StringArrayOutput) } +// 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 `enabled`. +func (o ProfileHttpCompressOutput) CpuSaver() pulumi.StringOutput { + return o.ApplyT(func(v *ProfileHttpCompress) pulumi.StringOutput { return v.CpuSaver }).(pulumi.StringOutput) +} + // 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. func (o ProfileHttpCompressOutput) DefaultsFrom() pulumi.StringOutput { return o.ApplyT(func(v *ProfileHttpCompress) pulumi.StringOutput { return v.DefaultsFrom }).(pulumi.StringOutput) } -// Name of the profile_httpcompress +// 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) +func (o ProfileHttpCompressOutput) GzipCompressionLevel() pulumi.IntOutput { + return o.ApplyT(func(v *ProfileHttpCompress) pulumi.IntOutput { return v.GzipCompressionLevel }).(pulumi.IntOutput) +} + +// 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`. +func (o ProfileHttpCompressOutput) GzipMemoryLevel() pulumi.IntOutput { + return o.ApplyT(func(v *ProfileHttpCompress) pulumi.IntOutput { return v.GzipMemoryLevel }).(pulumi.IntOutput) +} + +// Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes +func (o ProfileHttpCompressOutput) GzipWindowSize() pulumi.IntOutput { + return o.ApplyT(func(v *ProfileHttpCompress) pulumi.IntOutput { return v.GzipWindowSize }).(pulumi.IntOutput) +} + +// Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. +func (o ProfileHttpCompressOutput) KeepAcceptEncoding() pulumi.StringOutput { + return o.ApplyT(func(v *ProfileHttpCompress) pulumi.StringOutput { return v.KeepAcceptEncoding }).(pulumi.StringOutput) +} + +// 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`) func (o ProfileHttpCompressOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ProfileHttpCompress) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -284,6 +394,11 @@ func (o ProfileHttpCompressOutput) UriIncludes() pulumi.StringArrayOutput { return o.ApplyT(func(v *ProfileHttpCompress) pulumi.StringArrayOutput { return v.UriIncludes }).(pulumi.StringArrayOutput) } +// Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. +func (o ProfileHttpCompressOutput) VaryHeader() pulumi.StringOutput { + return o.ApplyT(func(v *ProfileHttpCompress) pulumi.StringOutput { return v.VaryHeader }).(pulumi.StringOutput) +} + type ProfileHttpCompressArrayOutput struct{ *pulumi.OutputState } func (ProfileHttpCompressArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/f5bigip/ltm/profileServerSsl.go b/sdk/go/f5bigip/ltm/profileServerSsl.go index 360e76a1..5047c028 100644 --- a/sdk/go/f5bigip/ltm/profileServerSsl.go +++ b/sdk/go/f5bigip/ltm/profileServerSsl.go @@ -74,9 +74,11 @@ type ProfileServerSsl struct { // Cache time out CacheTimeout pulumi.IntOutput `pulumi:"cacheTimeout"` // Specifies the name of the certificate that the system uses for server-side SSL processing. - Cert pulumi.StringOutput `pulumi:"cert"` + Cert pulumi.StringPtrOutput `pulumi:"cert"` // Specifies the certificates-key chain to associate with the SSL profile - Chain pulumi.StringOutput `pulumi:"chain"` + Chain pulumi.StringPtrOutput `pulumi:"chain"` + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup pulumi.StringPtrOutput `pulumi:"cipherGroup"` // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers pulumi.StringOutput `pulumi:"ciphers"` // The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. @@ -92,7 +94,7 @@ type ProfileServerSsl struct { // Handshake time out (seconds) HandshakeTimeout pulumi.StringOutput `pulumi:"handshakeTimeout"` // Specifies the file name of the SSL key. - Key pulumi.StringOutput `pulumi:"key"` + Key pulumi.StringPtrOutput `pulumi:"key"` // ModSSL Methods enabled / disabled. Default is disabled. ModSslMethods pulumi.StringOutput `pulumi:"modSslMethods"` // ModSSL Methods enabled / disabled. Default is disabled. @@ -165,6 +167,13 @@ func NewProfileServerSsl(ctx *pulumi.Context, if args.Name == nil { return nil, errors.New("invalid value for required argument 'Name'") } + if args.Passphrase != nil { + args.Passphrase = pulumi.ToSecret(args.Passphrase).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "passphrase", + }) + opts = append(opts, secrets) var resource ProfileServerSsl err := ctx.RegisterResource("f5bigip:ltm/profileServerSsl:ProfileServerSsl", name, args, &resource, opts...) if err != nil { @@ -218,6 +227,8 @@ type profileServerSslState struct { Cert *string `pulumi:"cert"` // Specifies the certificates-key chain to associate with the SSL profile Chain *string `pulumi:"chain"` + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup *string `pulumi:"cipherGroup"` // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers *string `pulumi:"ciphers"` // The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. @@ -328,6 +339,8 @@ type ProfileServerSslState struct { Cert pulumi.StringPtrInput // Specifies the certificates-key chain to associate with the SSL profile Chain pulumi.StringPtrInput + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup pulumi.StringPtrInput // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers pulumi.StringPtrInput // The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. @@ -442,6 +455,8 @@ type profileServerSslArgs struct { Cert *string `pulumi:"cert"` // Specifies the certificates-key chain to associate with the SSL profile Chain *string `pulumi:"chain"` + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup *string `pulumi:"cipherGroup"` // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers *string `pulumi:"ciphers"` // The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. @@ -553,6 +568,8 @@ type ProfileServerSslArgs struct { Cert pulumi.StringPtrInput // Specifies the certificates-key chain to associate with the SSL profile Chain pulumi.StringPtrInput + // Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + CipherGroup pulumi.StringPtrInput // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. Ciphers pulumi.StringPtrInput // The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. @@ -785,13 +802,18 @@ func (o ProfileServerSslOutput) CacheTimeout() pulumi.IntOutput { } // Specifies the name of the certificate that the system uses for server-side SSL processing. -func (o ProfileServerSslOutput) Cert() pulumi.StringOutput { - return o.ApplyT(func(v *ProfileServerSsl) pulumi.StringOutput { return v.Cert }).(pulumi.StringOutput) +func (o ProfileServerSslOutput) Cert() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileServerSsl) pulumi.StringPtrOutput { return v.Cert }).(pulumi.StringPtrOutput) } // Specifies the certificates-key chain to associate with the SSL profile -func (o ProfileServerSslOutput) Chain() pulumi.StringOutput { - return o.ApplyT(func(v *ProfileServerSsl) pulumi.StringOutput { return v.Chain }).(pulumi.StringOutput) +func (o ProfileServerSslOutput) Chain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileServerSsl) pulumi.StringPtrOutput { return v.Chain }).(pulumi.StringPtrOutput) +} + +// Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. +func (o ProfileServerSslOutput) CipherGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileServerSsl) pulumi.StringPtrOutput { return v.CipherGroup }).(pulumi.StringPtrOutput) } // Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. @@ -830,8 +852,8 @@ func (o ProfileServerSslOutput) HandshakeTimeout() pulumi.StringOutput { } // Specifies the file name of the SSL key. -func (o ProfileServerSslOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v *ProfileServerSsl) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) +func (o ProfileServerSslOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileServerSsl) pulumi.StringPtrOutput { return v.Key }).(pulumi.StringPtrOutput) } // ModSSL Methods enabled / disabled. Default is disabled. diff --git a/sdk/go/f5bigip/ltm/profileTcp.go b/sdk/go/f5bigip/ltm/profileTcp.go index 2798627c..2e75d7ee 100644 --- a/sdk/go/f5bigip/ltm/profileTcp.go +++ b/sdk/go/f5bigip/ltm/profileTcp.go @@ -11,9 +11,9 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// `ltm.ProfileTcp` Configures a custom profileTcp for use by health checks. +// `ltm.ProfileTcp` Configures a custom TCP LTM Profile for use by health checks. // -// Resources 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 ) +// Resources 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 ) // // ## Example Usage // @@ -52,11 +52,17 @@ type ProfileTcp struct { // 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. CloseWaitTimeout pulumi.IntOutput `pulumi:"closeWaitTimeout"` + // Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + CongestionControl pulumi.StringPtrOutput `pulumi:"congestionControl"` // 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. DefaultsFrom pulumi.StringOutput `pulumi:"defaultsFrom"` // 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. DeferredAccept pulumi.StringOutput `pulumi:"deferredAccept"` - // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + // 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. + DelayedAcks pulumi.StringPtrOutput `pulumi:"delayedAcks"` + // 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. + EarlyRetransmit pulumi.StringPtrOutput `pulumi:"earlyRetransmit"` + // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. FastOpen pulumi.StringOutput `pulumi:"fastOpen"` // 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). Finwait2timeout pulumi.IntOutput `pulumi:"finwait2timeout"` @@ -64,12 +70,30 @@ type ProfileTcp struct { FinwaitTimeout pulumi.IntOutput `pulumi:"finwaitTimeout"` // Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. IdleTimeout pulumi.IntOutput `pulumi:"idleTimeout"` + // 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. + InitialCongestionWindowsize pulumi.IntPtrOutput `pulumi:"initialCongestionWindowsize"` // Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. KeepaliveInterval pulumi.IntOutput `pulumi:"keepaliveInterval"` - // Name of the profile_tcp + // 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. + Nagle pulumi.StringPtrOutput `pulumi:"nagle"` + // 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 ) Name pulumi.StringOutput `pulumi:"name"` - // Displays the administrative partition within which this profile resides + // name of partition Partition pulumi.StringPtrOutput `pulumi:"partition"` + // Specifies the proxy buffer level, in bytes, at which the receive window is closed. + ProxybufferHigh pulumi.IntPtrOutput `pulumi:"proxybufferHigh"` + // 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. + ReceiveWindowsize pulumi.IntPtrOutput `pulumi:"receiveWindowsize"` + // Specifies the SEND window size. The default is 131072 bytes. + SendBuffersize pulumi.IntPtrOutput `pulumi:"sendBuffersize"` + // 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. + TaillossProbe pulumi.StringPtrOutput `pulumi:"taillossProbe"` + // 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. + TimewaitRecycle pulumi.StringPtrOutput `pulumi:"timewaitRecycle"` + // 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 `disabled`. + VerifiedAccept pulumi.StringPtrOutput `pulumi:"verifiedAccept"` + // Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + ZerowindowTimeout pulumi.IntPtrOutput `pulumi:"zerowindowTimeout"` } // NewProfileTcp registers a new resource with the given unique name, arguments, and options. @@ -106,11 +130,17 @@ func GetProfileTcp(ctx *pulumi.Context, type profileTcpState struct { // 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. CloseWaitTimeout *int `pulumi:"closeWaitTimeout"` + // Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + CongestionControl *string `pulumi:"congestionControl"` // 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. DefaultsFrom *string `pulumi:"defaultsFrom"` // 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. DeferredAccept *string `pulumi:"deferredAccept"` - // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + // 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. + DelayedAcks *string `pulumi:"delayedAcks"` + // 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. + EarlyRetransmit *string `pulumi:"earlyRetransmit"` + // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. FastOpen *string `pulumi:"fastOpen"` // 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). Finwait2timeout *int `pulumi:"finwait2timeout"` @@ -118,22 +148,46 @@ type profileTcpState struct { FinwaitTimeout *int `pulumi:"finwaitTimeout"` // Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. IdleTimeout *int `pulumi:"idleTimeout"` + // 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. + InitialCongestionWindowsize *int `pulumi:"initialCongestionWindowsize"` // Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. KeepaliveInterval *int `pulumi:"keepaliveInterval"` - // Name of the profile_tcp + // 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. + Nagle *string `pulumi:"nagle"` + // 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 ) Name *string `pulumi:"name"` - // Displays the administrative partition within which this profile resides + // name of partition Partition *string `pulumi:"partition"` + // Specifies the proxy buffer level, in bytes, at which the receive window is closed. + ProxybufferHigh *int `pulumi:"proxybufferHigh"` + // 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. + ReceiveWindowsize *int `pulumi:"receiveWindowsize"` + // Specifies the SEND window size. The default is 131072 bytes. + SendBuffersize *int `pulumi:"sendBuffersize"` + // 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. + TaillossProbe *string `pulumi:"taillossProbe"` + // 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. + TimewaitRecycle *string `pulumi:"timewaitRecycle"` + // 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 `disabled`. + VerifiedAccept *string `pulumi:"verifiedAccept"` + // Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + ZerowindowTimeout *int `pulumi:"zerowindowTimeout"` } type ProfileTcpState struct { // 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. CloseWaitTimeout pulumi.IntPtrInput + // Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + CongestionControl pulumi.StringPtrInput // 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. DefaultsFrom pulumi.StringPtrInput // 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. DeferredAccept pulumi.StringPtrInput - // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + // 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. + DelayedAcks pulumi.StringPtrInput + // 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. + EarlyRetransmit pulumi.StringPtrInput + // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. FastOpen pulumi.StringPtrInput // 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). Finwait2timeout pulumi.IntPtrInput @@ -141,12 +195,30 @@ type ProfileTcpState struct { FinwaitTimeout pulumi.IntPtrInput // Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. IdleTimeout pulumi.IntPtrInput + // 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. + InitialCongestionWindowsize pulumi.IntPtrInput // Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. KeepaliveInterval pulumi.IntPtrInput - // Name of the profile_tcp + // 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. + Nagle pulumi.StringPtrInput + // 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 ) Name pulumi.StringPtrInput - // Displays the administrative partition within which this profile resides + // name of partition Partition pulumi.StringPtrInput + // Specifies the proxy buffer level, in bytes, at which the receive window is closed. + ProxybufferHigh pulumi.IntPtrInput + // 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. + ReceiveWindowsize pulumi.IntPtrInput + // Specifies the SEND window size. The default is 131072 bytes. + SendBuffersize pulumi.IntPtrInput + // 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. + TaillossProbe pulumi.StringPtrInput + // 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. + TimewaitRecycle pulumi.StringPtrInput + // 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 `disabled`. + VerifiedAccept pulumi.StringPtrInput + // Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + ZerowindowTimeout pulumi.IntPtrInput } func (ProfileTcpState) ElementType() reflect.Type { @@ -156,11 +228,17 @@ func (ProfileTcpState) ElementType() reflect.Type { type profileTcpArgs struct { // 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. CloseWaitTimeout *int `pulumi:"closeWaitTimeout"` + // Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + CongestionControl *string `pulumi:"congestionControl"` // 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. DefaultsFrom *string `pulumi:"defaultsFrom"` // 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. DeferredAccept *string `pulumi:"deferredAccept"` - // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + // 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. + DelayedAcks *string `pulumi:"delayedAcks"` + // 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. + EarlyRetransmit *string `pulumi:"earlyRetransmit"` + // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. FastOpen *string `pulumi:"fastOpen"` // 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). Finwait2timeout *int `pulumi:"finwait2timeout"` @@ -168,23 +246,47 @@ type profileTcpArgs struct { FinwaitTimeout *int `pulumi:"finwaitTimeout"` // Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. IdleTimeout *int `pulumi:"idleTimeout"` + // 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. + InitialCongestionWindowsize *int `pulumi:"initialCongestionWindowsize"` // Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. KeepaliveInterval *int `pulumi:"keepaliveInterval"` - // Name of the profile_tcp + // 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. + Nagle *string `pulumi:"nagle"` + // 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 ) Name string `pulumi:"name"` - // Displays the administrative partition within which this profile resides + // name of partition Partition *string `pulumi:"partition"` + // Specifies the proxy buffer level, in bytes, at which the receive window is closed. + ProxybufferHigh *int `pulumi:"proxybufferHigh"` + // 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. + ReceiveWindowsize *int `pulumi:"receiveWindowsize"` + // Specifies the SEND window size. The default is 131072 bytes. + SendBuffersize *int `pulumi:"sendBuffersize"` + // 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. + TaillossProbe *string `pulumi:"taillossProbe"` + // 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. + TimewaitRecycle *string `pulumi:"timewaitRecycle"` + // 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 `disabled`. + VerifiedAccept *string `pulumi:"verifiedAccept"` + // Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + ZerowindowTimeout *int `pulumi:"zerowindowTimeout"` } // The set of arguments for constructing a ProfileTcp resource. type ProfileTcpArgs struct { // 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. CloseWaitTimeout pulumi.IntPtrInput + // Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + CongestionControl pulumi.StringPtrInput // 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. DefaultsFrom pulumi.StringPtrInput // 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. DeferredAccept pulumi.StringPtrInput - // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + // 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. + DelayedAcks pulumi.StringPtrInput + // 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. + EarlyRetransmit pulumi.StringPtrInput + // When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. FastOpen pulumi.StringPtrInput // 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). Finwait2timeout pulumi.IntPtrInput @@ -192,12 +294,30 @@ type ProfileTcpArgs struct { FinwaitTimeout pulumi.IntPtrInput // Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. IdleTimeout pulumi.IntPtrInput + // 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. + InitialCongestionWindowsize pulumi.IntPtrInput // Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. KeepaliveInterval pulumi.IntPtrInput - // Name of the profile_tcp + // 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. + Nagle pulumi.StringPtrInput + // 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 ) Name pulumi.StringInput - // Displays the administrative partition within which this profile resides + // name of partition Partition pulumi.StringPtrInput + // Specifies the proxy buffer level, in bytes, at which the receive window is closed. + ProxybufferHigh pulumi.IntPtrInput + // 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. + ReceiveWindowsize pulumi.IntPtrInput + // Specifies the SEND window size. The default is 131072 bytes. + SendBuffersize pulumi.IntPtrInput + // 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. + TaillossProbe pulumi.StringPtrInput + // 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. + TimewaitRecycle pulumi.StringPtrInput + // 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 `disabled`. + VerifiedAccept pulumi.StringPtrInput + // Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + ZerowindowTimeout pulumi.IntPtrInput } func (ProfileTcpArgs) ElementType() reflect.Type { @@ -292,6 +412,11 @@ func (o ProfileTcpOutput) CloseWaitTimeout() pulumi.IntOutput { return o.ApplyT(func(v *ProfileTcp) pulumi.IntOutput { return v.CloseWaitTimeout }).(pulumi.IntOutput) } +// Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. +func (o ProfileTcpOutput) CongestionControl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.StringPtrOutput { return v.CongestionControl }).(pulumi.StringPtrOutput) +} + // 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. func (o ProfileTcpOutput) DefaultsFrom() pulumi.StringOutput { return o.ApplyT(func(v *ProfileTcp) pulumi.StringOutput { return v.DefaultsFrom }).(pulumi.StringOutput) @@ -302,7 +427,17 @@ func (o ProfileTcpOutput) DeferredAccept() pulumi.StringOutput { return o.ApplyT(func(v *ProfileTcp) pulumi.StringOutput { return v.DeferredAccept }).(pulumi.StringOutput) } -// When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. +// 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. +func (o ProfileTcpOutput) DelayedAcks() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.StringPtrOutput { return v.DelayedAcks }).(pulumi.StringPtrOutput) +} + +// 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. +func (o ProfileTcpOutput) EarlyRetransmit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.StringPtrOutput { return v.EarlyRetransmit }).(pulumi.StringPtrOutput) +} + +// When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. func (o ProfileTcpOutput) FastOpen() pulumi.StringOutput { return o.ApplyT(func(v *ProfileTcp) pulumi.StringOutput { return v.FastOpen }).(pulumi.StringOutput) } @@ -322,21 +457,66 @@ func (o ProfileTcpOutput) IdleTimeout() pulumi.IntOutput { return o.ApplyT(func(v *ProfileTcp) pulumi.IntOutput { return v.IdleTimeout }).(pulumi.IntOutput) } +// 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. +func (o ProfileTcpOutput) InitialCongestionWindowsize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.IntPtrOutput { return v.InitialCongestionWindowsize }).(pulumi.IntPtrOutput) +} + // Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. func (o ProfileTcpOutput) KeepaliveInterval() pulumi.IntOutput { return o.ApplyT(func(v *ProfileTcp) pulumi.IntOutput { return v.KeepaliveInterval }).(pulumi.IntOutput) } -// Name of the profile_tcp +// 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. +func (o ProfileTcpOutput) Nagle() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.StringPtrOutput { return v.Nagle }).(pulumi.StringPtrOutput) +} + +// 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 ) func (o ProfileTcpOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ProfileTcp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Displays the administrative partition within which this profile resides +// name of partition func (o ProfileTcpOutput) Partition() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProfileTcp) pulumi.StringPtrOutput { return v.Partition }).(pulumi.StringPtrOutput) } +// Specifies the proxy buffer level, in bytes, at which the receive window is closed. +func (o ProfileTcpOutput) ProxybufferHigh() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.IntPtrOutput { return v.ProxybufferHigh }).(pulumi.IntPtrOutput) +} + +// 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. +func (o ProfileTcpOutput) ReceiveWindowsize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.IntPtrOutput { return v.ReceiveWindowsize }).(pulumi.IntPtrOutput) +} + +// Specifies the SEND window size. The default is 131072 bytes. +func (o ProfileTcpOutput) SendBuffersize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.IntPtrOutput { return v.SendBuffersize }).(pulumi.IntPtrOutput) +} + +// 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. +func (o ProfileTcpOutput) TaillossProbe() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.StringPtrOutput { return v.TaillossProbe }).(pulumi.StringPtrOutput) +} + +// 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. +func (o ProfileTcpOutput) TimewaitRecycle() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.StringPtrOutput { return v.TimewaitRecycle }).(pulumi.StringPtrOutput) +} + +// 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 `disabled`. +func (o ProfileTcpOutput) VerifiedAccept() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.StringPtrOutput { return v.VerifiedAccept }).(pulumi.StringPtrOutput) +} + +// Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. +func (o ProfileTcpOutput) ZerowindowTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ProfileTcp) pulumi.IntPtrOutput { return v.ZerowindowTimeout }).(pulumi.IntPtrOutput) +} + type ProfileTcpArrayOutput struct{ *pulumi.OutputState } func (ProfileTcpArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/f5bigip/ltm/pulumiTypes.go b/sdk/go/f5bigip/ltm/pulumiTypes.go index d8cb9d11..acf24583 100644 --- a/sdk/go/f5bigip/ltm/pulumiTypes.go +++ b/sdk/go/f5bigip/ltm/pulumiTypes.go @@ -322,9 +322,11 @@ func (o NodeFqdnPtrOutput) Name() pulumi.StringPtrOutput { } type PolicyRule struct { - Actions []PolicyRuleAction `pulumi:"actions"` + // Block type. See action block for more details. + Actions []PolicyRuleAction `pulumi:"actions"` + // Block type. See condition block for more details. Conditions []PolicyRuleCondition `pulumi:"conditions"` - // Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + // Name of Rule to be applied in policy. Name string `pulumi:"name"` } @@ -340,9 +342,11 @@ type PolicyRuleInput interface { } type PolicyRuleArgs struct { - Actions PolicyRuleActionArrayInput `pulumi:"actions"` + // Block type. See action block for more details. + Actions PolicyRuleActionArrayInput `pulumi:"actions"` + // Block type. See condition block for more details. Conditions PolicyRuleConditionArrayInput `pulumi:"conditions"` - // Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + // Name of Rule to be applied in policy. Name pulumi.StringInput `pulumi:"name"` } @@ -397,15 +401,17 @@ func (o PolicyRuleOutput) ToPolicyRuleOutputWithContext(ctx context.Context) Pol return o } +// Block type. See action block for more details. func (o PolicyRuleOutput) Actions() PolicyRuleActionArrayOutput { return o.ApplyT(func(v PolicyRule) []PolicyRuleAction { return v.Actions }).(PolicyRuleActionArrayOutput) } +// Block type. See condition block for more details. func (o PolicyRuleOutput) Conditions() PolicyRuleConditionArrayOutput { return o.ApplyT(func(v PolicyRule) []PolicyRuleCondition { return v.Conditions }).(PolicyRuleConditionArrayOutput) } -// Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) +// Name of Rule to be applied in policy. func (o PolicyRuleOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v PolicyRule) string { return v.Name }).(pulumi.StringOutput) } @@ -1161,6 +1167,7 @@ type PolicyRuleCondition struct { CaseSensitive *bool `pulumi:"caseSensitive"` Cipher *bool `pulumi:"cipher"` CipherBits *bool `pulumi:"cipherBits"` + ClientAccepted *bool `pulumi:"clientAccepted"` ClientSsl *bool `pulumi:"clientSsl"` Code *bool `pulumi:"code"` CommonName *bool `pulumi:"commonName"` @@ -1169,6 +1176,7 @@ type PolicyRuleCondition struct { CountryCode *bool `pulumi:"countryCode"` CountryName *bool `pulumi:"countryName"` CpuUsage *bool `pulumi:"cpuUsage"` + Datagroup *string `pulumi:"datagroup"` DeviceMake *bool `pulumi:"deviceMake"` DeviceModel *bool `pulumi:"deviceModel"` Domain *bool `pulumi:"domain"` @@ -1266,6 +1274,7 @@ type PolicyRuleConditionArgs struct { CaseSensitive pulumi.BoolPtrInput `pulumi:"caseSensitive"` Cipher pulumi.BoolPtrInput `pulumi:"cipher"` CipherBits pulumi.BoolPtrInput `pulumi:"cipherBits"` + ClientAccepted pulumi.BoolPtrInput `pulumi:"clientAccepted"` ClientSsl pulumi.BoolPtrInput `pulumi:"clientSsl"` Code pulumi.BoolPtrInput `pulumi:"code"` CommonName pulumi.BoolPtrInput `pulumi:"commonName"` @@ -1274,6 +1283,7 @@ type PolicyRuleConditionArgs struct { CountryCode pulumi.BoolPtrInput `pulumi:"countryCode"` CountryName pulumi.BoolPtrInput `pulumi:"countryName"` CpuUsage pulumi.BoolPtrInput `pulumi:"cpuUsage"` + Datagroup pulumi.StringPtrInput `pulumi:"datagroup"` DeviceMake pulumi.BoolPtrInput `pulumi:"deviceMake"` DeviceModel pulumi.BoolPtrInput `pulumi:"deviceModel"` Domain pulumi.BoolPtrInput `pulumi:"domain"` @@ -1437,6 +1447,10 @@ func (o PolicyRuleConditionOutput) CipherBits() pulumi.BoolPtrOutput { return o.ApplyT(func(v PolicyRuleCondition) *bool { return v.CipherBits }).(pulumi.BoolPtrOutput) } +func (o PolicyRuleConditionOutput) ClientAccepted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicyRuleCondition) *bool { return v.ClientAccepted }).(pulumi.BoolPtrOutput) +} + func (o PolicyRuleConditionOutput) ClientSsl() pulumi.BoolPtrOutput { return o.ApplyT(func(v PolicyRuleCondition) *bool { return v.ClientSsl }).(pulumi.BoolPtrOutput) } @@ -1469,6 +1483,10 @@ func (o PolicyRuleConditionOutput) CpuUsage() pulumi.BoolPtrOutput { return o.ApplyT(func(v PolicyRuleCondition) *bool { return v.CpuUsage }).(pulumi.BoolPtrOutput) } +func (o PolicyRuleConditionOutput) Datagroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyRuleCondition) *string { return v.Datagroup }).(pulumi.StringPtrOutput) +} + func (o PolicyRuleConditionOutput) DeviceMake() pulumi.BoolPtrOutput { return o.ApplyT(func(v PolicyRuleCondition) *bool { return v.DeviceMake }).(pulumi.BoolPtrOutput) } @@ -1832,29 +1850,45 @@ func (i ProfileClientSslCertKeyChainArgs) ToProfileClientSslCertKeyChainOutputWi return pulumi.ToOutputWithContext(ctx, i).(ProfileClientSslCertKeyChainOutput) } -// ProfileClientSslCertKeyChainArrayInput is an input type that accepts ProfileClientSslCertKeyChainArray and ProfileClientSslCertKeyChainArrayOutput values. -// You can construct a concrete instance of `ProfileClientSslCertKeyChainArrayInput` via: +func (i ProfileClientSslCertKeyChainArgs) ToProfileClientSslCertKeyChainPtrOutput() ProfileClientSslCertKeyChainPtrOutput { + return i.ToProfileClientSslCertKeyChainPtrOutputWithContext(context.Background()) +} + +func (i ProfileClientSslCertKeyChainArgs) ToProfileClientSslCertKeyChainPtrOutputWithContext(ctx context.Context) ProfileClientSslCertKeyChainPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProfileClientSslCertKeyChainOutput).ToProfileClientSslCertKeyChainPtrOutputWithContext(ctx) +} + +// ProfileClientSslCertKeyChainPtrInput is an input type that accepts ProfileClientSslCertKeyChainArgs, ProfileClientSslCertKeyChainPtr and ProfileClientSslCertKeyChainPtrOutput values. +// You can construct a concrete instance of `ProfileClientSslCertKeyChainPtrInput` via: // -// ProfileClientSslCertKeyChainArray{ ProfileClientSslCertKeyChainArgs{...} } -type ProfileClientSslCertKeyChainArrayInput interface { +// ProfileClientSslCertKeyChainArgs{...} +// +// or: +// +// nil +type ProfileClientSslCertKeyChainPtrInput interface { pulumi.Input - ToProfileClientSslCertKeyChainArrayOutput() ProfileClientSslCertKeyChainArrayOutput - ToProfileClientSslCertKeyChainArrayOutputWithContext(context.Context) ProfileClientSslCertKeyChainArrayOutput + ToProfileClientSslCertKeyChainPtrOutput() ProfileClientSslCertKeyChainPtrOutput + ToProfileClientSslCertKeyChainPtrOutputWithContext(context.Context) ProfileClientSslCertKeyChainPtrOutput } -type ProfileClientSslCertKeyChainArray []ProfileClientSslCertKeyChainInput +type profileClientSslCertKeyChainPtrType ProfileClientSslCertKeyChainArgs -func (ProfileClientSslCertKeyChainArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ProfileClientSslCertKeyChain)(nil)).Elem() +func ProfileClientSslCertKeyChainPtr(v *ProfileClientSslCertKeyChainArgs) ProfileClientSslCertKeyChainPtrInput { + return (*profileClientSslCertKeyChainPtrType)(v) } -func (i ProfileClientSslCertKeyChainArray) ToProfileClientSslCertKeyChainArrayOutput() ProfileClientSslCertKeyChainArrayOutput { - return i.ToProfileClientSslCertKeyChainArrayOutputWithContext(context.Background()) +func (*profileClientSslCertKeyChainPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ProfileClientSslCertKeyChain)(nil)).Elem() } -func (i ProfileClientSslCertKeyChainArray) ToProfileClientSslCertKeyChainArrayOutputWithContext(ctx context.Context) ProfileClientSslCertKeyChainArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProfileClientSslCertKeyChainArrayOutput) +func (i *profileClientSslCertKeyChainPtrType) ToProfileClientSslCertKeyChainPtrOutput() ProfileClientSslCertKeyChainPtrOutput { + return i.ToProfileClientSslCertKeyChainPtrOutputWithContext(context.Background()) +} + +func (i *profileClientSslCertKeyChainPtrType) ToProfileClientSslCertKeyChainPtrOutputWithContext(ctx context.Context) ProfileClientSslCertKeyChainPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProfileClientSslCertKeyChainPtrOutput) } type ProfileClientSslCertKeyChainOutput struct{ *pulumi.OutputState } @@ -1871,6 +1905,16 @@ func (o ProfileClientSslCertKeyChainOutput) ToProfileClientSslCertKeyChainOutput return o } +func (o ProfileClientSslCertKeyChainOutput) ToProfileClientSslCertKeyChainPtrOutput() ProfileClientSslCertKeyChainPtrOutput { + return o.ToProfileClientSslCertKeyChainPtrOutputWithContext(context.Background()) +} + +func (o ProfileClientSslCertKeyChainOutput) ToProfileClientSslCertKeyChainPtrOutputWithContext(ctx context.Context) ProfileClientSslCertKeyChainPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ProfileClientSslCertKeyChain) *ProfileClientSslCertKeyChain { + return &v + }).(ProfileClientSslCertKeyChainPtrOutput) +} + // Specifies a cert name for use. func (o ProfileClientSslCertKeyChainOutput) Cert() pulumi.StringPtrOutput { return o.ApplyT(func(v ProfileClientSslCertKeyChain) *string { return v.Cert }).(pulumi.StringPtrOutput) @@ -1895,26 +1939,79 @@ func (o ProfileClientSslCertKeyChainOutput) Passphrase() pulumi.StringPtrOutput return o.ApplyT(func(v ProfileClientSslCertKeyChain) *string { return v.Passphrase }).(pulumi.StringPtrOutput) } -type ProfileClientSslCertKeyChainArrayOutput struct{ *pulumi.OutputState } +type ProfileClientSslCertKeyChainPtrOutput struct{ *pulumi.OutputState } -func (ProfileClientSslCertKeyChainArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ProfileClientSslCertKeyChain)(nil)).Elem() +func (ProfileClientSslCertKeyChainPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProfileClientSslCertKeyChain)(nil)).Elem() } -func (o ProfileClientSslCertKeyChainArrayOutput) ToProfileClientSslCertKeyChainArrayOutput() ProfileClientSslCertKeyChainArrayOutput { +func (o ProfileClientSslCertKeyChainPtrOutput) ToProfileClientSslCertKeyChainPtrOutput() ProfileClientSslCertKeyChainPtrOutput { return o } -func (o ProfileClientSslCertKeyChainArrayOutput) ToProfileClientSslCertKeyChainArrayOutputWithContext(ctx context.Context) ProfileClientSslCertKeyChainArrayOutput { +func (o ProfileClientSslCertKeyChainPtrOutput) ToProfileClientSslCertKeyChainPtrOutputWithContext(ctx context.Context) ProfileClientSslCertKeyChainPtrOutput { return o } -func (o ProfileClientSslCertKeyChainArrayOutput) Index(i pulumi.IntInput) ProfileClientSslCertKeyChainOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProfileClientSslCertKeyChain { - return vs[0].([]ProfileClientSslCertKeyChain)[vs[1].(int)] +func (o ProfileClientSslCertKeyChainPtrOutput) Elem() ProfileClientSslCertKeyChainOutput { + return o.ApplyT(func(v *ProfileClientSslCertKeyChain) ProfileClientSslCertKeyChain { + if v != nil { + return *v + } + var ret ProfileClientSslCertKeyChain + return ret }).(ProfileClientSslCertKeyChainOutput) } +// Specifies a cert name for use. +func (o ProfileClientSslCertKeyChainPtrOutput) Cert() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSslCertKeyChain) *string { + if v == nil { + return nil + } + return v.Cert + }).(pulumi.StringPtrOutput) +} + +// Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional +func (o ProfileClientSslCertKeyChainPtrOutput) Chain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSslCertKeyChain) *string { + if v == nil { + return nil + } + return v.Chain + }).(pulumi.StringPtrOutput) +} + +// Contains a key name +func (o ProfileClientSslCertKeyChainPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSslCertKeyChain) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// 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`. +func (o ProfileClientSslCertKeyChainPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSslCertKeyChain) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +func (o ProfileClientSslCertKeyChainPtrOutput) Passphrase() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProfileClientSslCertKeyChain) *string { + if v == nil { + return nil + } + return v.Passphrase + }).(pulumi.StringPtrOutput) +} + type SnatOrigin struct { AppService *string `pulumi:"appService"` // 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`. @@ -3173,6 +3270,7 @@ type GetPolicyRuleCondition struct { CountryCode bool `pulumi:"countryCode"` CountryName bool `pulumi:"countryName"` CpuUsage bool `pulumi:"cpuUsage"` + Datagroup string `pulumi:"datagroup"` DeviceMake bool `pulumi:"deviceMake"` DeviceModel bool `pulumi:"deviceModel"` Domain bool `pulumi:"domain"` @@ -3277,6 +3375,7 @@ type GetPolicyRuleConditionArgs struct { CountryCode pulumi.BoolInput `pulumi:"countryCode"` CountryName pulumi.BoolInput `pulumi:"countryName"` CpuUsage pulumi.BoolInput `pulumi:"cpuUsage"` + Datagroup pulumi.StringInput `pulumi:"datagroup"` DeviceMake pulumi.BoolInput `pulumi:"deviceMake"` DeviceModel pulumi.BoolInput `pulumi:"deviceModel"` Domain pulumi.BoolInput `pulumi:"domain"` @@ -3471,6 +3570,10 @@ func (o GetPolicyRuleConditionOutput) CpuUsage() pulumi.BoolOutput { return o.ApplyT(func(v GetPolicyRuleCondition) bool { return v.CpuUsage }).(pulumi.BoolOutput) } +func (o GetPolicyRuleConditionOutput) Datagroup() pulumi.StringOutput { + return o.ApplyT(func(v GetPolicyRuleCondition) string { return v.Datagroup }).(pulumi.StringOutput) +} + func (o GetPolicyRuleConditionOutput) DeviceMake() pulumi.BoolOutput { return o.ApplyT(func(v GetPolicyRuleCondition) bool { return v.DeviceMake }).(pulumi.BoolOutput) } @@ -3795,7 +3898,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PolicyRuleConditionInput)(nil)).Elem(), PolicyRuleConditionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyRuleConditionArrayInput)(nil)).Elem(), PolicyRuleConditionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProfileClientSslCertKeyChainInput)(nil)).Elem(), ProfileClientSslCertKeyChainArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*ProfileClientSslCertKeyChainArrayInput)(nil)).Elem(), ProfileClientSslCertKeyChainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProfileClientSslCertKeyChainPtrInput)(nil)).Elem(), ProfileClientSslCertKeyChainArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SnatOriginInput)(nil)).Elem(), SnatOriginArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SnatOriginArrayInput)(nil)).Elem(), SnatOriginArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDataGroupRecordInput)(nil)).Elem(), GetDataGroupRecordArgs{}) @@ -3819,7 +3922,7 @@ func init() { pulumi.RegisterOutputType(PolicyRuleConditionOutput{}) pulumi.RegisterOutputType(PolicyRuleConditionArrayOutput{}) pulumi.RegisterOutputType(ProfileClientSslCertKeyChainOutput{}) - pulumi.RegisterOutputType(ProfileClientSslCertKeyChainArrayOutput{}) + pulumi.RegisterOutputType(ProfileClientSslCertKeyChainPtrOutput{}) pulumi.RegisterOutputType(SnatOriginOutput{}) pulumi.RegisterOutputType(SnatOriginArrayOutput{}) pulumi.RegisterOutputType(GetDataGroupRecordOutput{}) diff --git a/sdk/go/f5bigip/ltm/snat.go b/sdk/go/f5bigip/ltm/snat.go index 0bcc8b9b..f161b999 100644 --- a/sdk/go/f5bigip/ltm/snat.go +++ b/sdk/go/f5bigip/ltm/snat.go @@ -54,7 +54,7 @@ import ( type Snat struct { pulumi.CustomResourceState - // -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + // Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. Autolasthop pulumi.StringOutput `pulumi:"autolasthop"` // Fullpath FullPath pulumi.StringPtrOutput `pulumi:"fullPath"` @@ -113,7 +113,7 @@ func GetSnat(ctx *pulumi.Context, // Input properties used for looking up and filtering Snat resources. type snatState struct { - // -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + // Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. Autolasthop *string `pulumi:"autolasthop"` // Fullpath FullPath *string `pulumi:"fullPath"` @@ -138,7 +138,7 @@ type snatState struct { } type SnatState struct { - // -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + // Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. Autolasthop pulumi.StringPtrInput // Fullpath FullPath pulumi.StringPtrInput @@ -167,7 +167,7 @@ func (SnatState) ElementType() reflect.Type { } type snatArgs struct { - // -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + // Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. Autolasthop *string `pulumi:"autolasthop"` // Fullpath FullPath *string `pulumi:"fullPath"` @@ -193,7 +193,7 @@ type snatArgs struct { // The set of arguments for constructing a Snat resource. type SnatArgs struct { - // -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + // Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. Autolasthop pulumi.StringPtrInput // Fullpath FullPath pulumi.StringPtrInput @@ -304,7 +304,7 @@ func (o SnatOutput) ToSnatOutputWithContext(ctx context.Context) SnatOutput { return o } -// -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. +// Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. func (o SnatOutput) Autolasthop() pulumi.StringOutput { return o.ApplyT(func(v *Snat) pulumi.StringOutput { return v.Autolasthop }).(pulumi.StringOutput) } diff --git a/sdk/go/f5bigip/ltm/virtualServer.go b/sdk/go/f5bigip/ltm/virtualServer.go index 2ad67ffb..57bf2e8f 100644 --- a/sdk/go/f5bigip/ltm/virtualServer.go +++ b/sdk/go/f5bigip/ltm/virtualServer.go @@ -86,15 +86,17 @@ type VirtualServer struct { // List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles ClientProfiles pulumi.StringArrayOutput `pulumi:"clientProfiles"` - DefaultPersistenceProfile pulumi.StringPtrOutput `pulumi:"defaultPersistenceProfile"` + DefaultPersistenceProfile pulumi.StringOutput `pulumi:"defaultPersistenceProfile"` // Description of Virtual server Description pulumi.StringPtrOutput `pulumi:"description"` // Destination IP - Destination pulumi.StringOutput `pulumi:"destination"` + Destination pulumi.StringPtrOutput `pulumi:"destination"` // Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. FallbackPersistenceProfile pulumi.StringOutput `pulumi:"fallbackPersistenceProfile"` + // 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`. + FirewallEnforcedPolicy pulumi.StringOutput `pulumi:"firewallEnforcedPolicy"` // Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) - IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"` + IpProtocol pulumi.StringPtrOutput `pulumi:"ipProtocol"` // The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. Irules pulumi.StringArrayOutput `pulumi:"irules"` // 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 @@ -115,18 +117,22 @@ type VirtualServer struct { SecurityLogProfiles pulumi.StringArrayOutput `pulumi:"securityLogProfiles"` // List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles ServerProfiles pulumi.StringArrayOutput `pulumi:"serverProfiles"` - // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. Snatpool pulumi.StringOutput `pulumi:"snatpool"` // Specifies an IP address or network from which the virtual server will accept traffic. Source pulumi.StringOutput `pulumi:"source"` - // Can be either omitted for none or the values automap or snat - SourceAddressTranslation pulumi.StringOutput `pulumi:"sourceAddressTranslation"` + // Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. + SourceAddressTranslation pulumi.StringPtrOutput `pulumi:"sourceAddressTranslation"` + // Specifies whether the system preserves the source port of the connection. The default is `preserve`. + SourcePort pulumi.StringOutput `pulumi:"sourcePort"` // Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled State pulumi.StringPtrOutput `pulumi:"state"` + // Specifies destination traffic matching information to which the virtual server sends traffic + TrafficmatchingCriteria pulumi.StringOutput `pulumi:"trafficmatchingCriteria"` // 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. - TranslateAddress pulumi.StringOutput `pulumi:"translateAddress"` + TranslateAddress pulumi.StringPtrOutput `pulumi:"translateAddress"` // 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 - TranslatePort pulumi.StringOutput `pulumi:"translatePort"` + TranslatePort pulumi.StringPtrOutput `pulumi:"translatePort"` // The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlanEnabled` Vlans pulumi.StringArrayOutput `pulumi:"vlans"` // Enables the virtual server on the VLANs specified by the `vlans` option. @@ -141,15 +147,9 @@ func NewVirtualServer(ctx *pulumi.Context, return nil, errors.New("missing one or more required arguments") } - if args.Destination == nil { - return nil, errors.New("invalid value for required argument 'Destination'") - } if args.Name == nil { return nil, errors.New("invalid value for required argument 'Name'") } - if args.Port == nil { - return nil, errors.New("invalid value for required argument 'Port'") - } var resource VirtualServer err := ctx.RegisterResource("f5bigip:ltm/virtualServer:VirtualServer", name, args, &resource, opts...) if err != nil { @@ -181,6 +181,8 @@ type virtualServerState struct { Destination *string `pulumi:"destination"` // Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. FallbackPersistenceProfile *string `pulumi:"fallbackPersistenceProfile"` + // 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`. + FirewallEnforcedPolicy *string `pulumi:"firewallEnforcedPolicy"` // Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) IpProtocol *string `pulumi:"ipProtocol"` // The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. @@ -203,14 +205,18 @@ type virtualServerState struct { SecurityLogProfiles []string `pulumi:"securityLogProfiles"` // List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles ServerProfiles []string `pulumi:"serverProfiles"` - // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. Snatpool *string `pulumi:"snatpool"` // Specifies an IP address or network from which the virtual server will accept traffic. Source *string `pulumi:"source"` - // Can be either omitted for none or the values automap or snat + // Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. SourceAddressTranslation *string `pulumi:"sourceAddressTranslation"` + // Specifies whether the system preserves the source port of the connection. The default is `preserve`. + SourcePort *string `pulumi:"sourcePort"` // Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled State *string `pulumi:"state"` + // Specifies destination traffic matching information to which the virtual server sends traffic + TrafficmatchingCriteria *string `pulumi:"trafficmatchingCriteria"` // 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. TranslateAddress *string `pulumi:"translateAddress"` // 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 @@ -232,6 +238,8 @@ type VirtualServerState struct { Destination pulumi.StringPtrInput // Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. FallbackPersistenceProfile pulumi.StringPtrInput + // 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`. + FirewallEnforcedPolicy pulumi.StringPtrInput // Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) IpProtocol pulumi.StringPtrInput // The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. @@ -254,14 +262,18 @@ type VirtualServerState struct { SecurityLogProfiles pulumi.StringArrayInput // List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles ServerProfiles pulumi.StringArrayInput - // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. Snatpool pulumi.StringPtrInput // Specifies an IP address or network from which the virtual server will accept traffic. Source pulumi.StringPtrInput - // Can be either omitted for none or the values automap or snat + // Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. SourceAddressTranslation pulumi.StringPtrInput + // Specifies whether the system preserves the source port of the connection. The default is `preserve`. + SourcePort pulumi.StringPtrInput // Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled State pulumi.StringPtrInput + // Specifies destination traffic matching information to which the virtual server sends traffic + TrafficmatchingCriteria pulumi.StringPtrInput // 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. TranslateAddress pulumi.StringPtrInput // 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 @@ -284,9 +296,11 @@ type virtualServerArgs struct { // Description of Virtual server Description *string `pulumi:"description"` // Destination IP - Destination string `pulumi:"destination"` + Destination *string `pulumi:"destination"` // Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. FallbackPersistenceProfile *string `pulumi:"fallbackPersistenceProfile"` + // 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`. + FirewallEnforcedPolicy *string `pulumi:"firewallEnforcedPolicy"` // Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) IpProtocol *string `pulumi:"ipProtocol"` // The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. @@ -302,21 +316,25 @@ type virtualServerArgs struct { // Default pool name Pool *string `pulumi:"pool"` // Listen port for the virtual server - Port int `pulumi:"port"` + Port *int `pulumi:"port"` // List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. Profiles []string `pulumi:"profiles"` // Specifies the log profile applied to the virtual server. SecurityLogProfiles []string `pulumi:"securityLogProfiles"` // List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles ServerProfiles []string `pulumi:"serverProfiles"` - // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. Snatpool *string `pulumi:"snatpool"` // Specifies an IP address or network from which the virtual server will accept traffic. Source *string `pulumi:"source"` - // Can be either omitted for none or the values automap or snat + // Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. SourceAddressTranslation *string `pulumi:"sourceAddressTranslation"` + // Specifies whether the system preserves the source port of the connection. The default is `preserve`. + SourcePort *string `pulumi:"sourcePort"` // Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled State *string `pulumi:"state"` + // Specifies destination traffic matching information to which the virtual server sends traffic + TrafficmatchingCriteria *string `pulumi:"trafficmatchingCriteria"` // 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. TranslateAddress *string `pulumi:"translateAddress"` // 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 @@ -336,9 +354,11 @@ type VirtualServerArgs struct { // Description of Virtual server Description pulumi.StringPtrInput // Destination IP - Destination pulumi.StringInput + Destination pulumi.StringPtrInput // Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. FallbackPersistenceProfile pulumi.StringPtrInput + // 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`. + FirewallEnforcedPolicy pulumi.StringPtrInput // Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) IpProtocol pulumi.StringPtrInput // The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. @@ -354,21 +374,25 @@ type VirtualServerArgs struct { // Default pool name Pool pulumi.StringPtrInput // Listen port for the virtual server - Port pulumi.IntInput + Port pulumi.IntPtrInput // List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. Profiles pulumi.StringArrayInput // Specifies the log profile applied to the virtual server. SecurityLogProfiles pulumi.StringArrayInput // List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles ServerProfiles pulumi.StringArrayInput - // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + // Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. Snatpool pulumi.StringPtrInput // Specifies an IP address or network from which the virtual server will accept traffic. Source pulumi.StringPtrInput - // Can be either omitted for none or the values automap or snat + // Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. SourceAddressTranslation pulumi.StringPtrInput + // Specifies whether the system preserves the source port of the connection. The default is `preserve`. + SourcePort pulumi.StringPtrInput // Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled State pulumi.StringPtrInput + // Specifies destination traffic matching information to which the virtual server sends traffic + TrafficmatchingCriteria pulumi.StringPtrInput // 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. TranslateAddress pulumi.StringPtrInput // 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 @@ -472,8 +496,8 @@ func (o VirtualServerOutput) ClientProfiles() pulumi.StringArrayOutput { return o.ApplyT(func(v *VirtualServer) pulumi.StringArrayOutput { return v.ClientProfiles }).(pulumi.StringArrayOutput) } -func (o VirtualServerOutput) DefaultPersistenceProfile() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualServer) pulumi.StringPtrOutput { return v.DefaultPersistenceProfile }).(pulumi.StringPtrOutput) +func (o VirtualServerOutput) DefaultPersistenceProfile() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.DefaultPersistenceProfile }).(pulumi.StringOutput) } // Description of Virtual server @@ -482,8 +506,8 @@ func (o VirtualServerOutput) Description() pulumi.StringPtrOutput { } // Destination IP -func (o VirtualServerOutput) Destination() pulumi.StringOutput { - return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.Destination }).(pulumi.StringOutput) +func (o VirtualServerOutput) Destination() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringPtrOutput { return v.Destination }).(pulumi.StringPtrOutput) } // Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. @@ -491,9 +515,14 @@ func (o VirtualServerOutput) FallbackPersistenceProfile() pulumi.StringOutput { return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.FallbackPersistenceProfile }).(pulumi.StringOutput) } +// 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`. +func (o VirtualServerOutput) FirewallEnforcedPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.FirewallEnforcedPolicy }).(pulumi.StringOutput) +} + // Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) -func (o VirtualServerOutput) IpProtocol() pulumi.StringOutput { - return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.IpProtocol }).(pulumi.StringOutput) +func (o VirtualServerOutput) IpProtocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringPtrOutput { return v.IpProtocol }).(pulumi.StringPtrOutput) } // The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. @@ -549,7 +578,7 @@ func (o VirtualServerOutput) ServerProfiles() pulumi.StringArrayOutput { return o.ApplyT(func(v *VirtualServer) pulumi.StringArrayOutput { return v.ServerProfiles }).(pulumi.StringArrayOutput) } -// Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation +// Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. func (o VirtualServerOutput) Snatpool() pulumi.StringOutput { return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.Snatpool }).(pulumi.StringOutput) } @@ -559,9 +588,14 @@ func (o VirtualServerOutput) Source() pulumi.StringOutput { return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.Source }).(pulumi.StringOutput) } -// Can be either omitted for none or the values automap or snat -func (o VirtualServerOutput) SourceAddressTranslation() pulumi.StringOutput { - return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.SourceAddressTranslation }).(pulumi.StringOutput) +// Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. +func (o VirtualServerOutput) SourceAddressTranslation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringPtrOutput { return v.SourceAddressTranslation }).(pulumi.StringPtrOutput) +} + +// Specifies whether the system preserves the source port of the connection. The default is `preserve`. +func (o VirtualServerOutput) SourcePort() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.SourcePort }).(pulumi.StringOutput) } // Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled @@ -569,14 +603,19 @@ func (o VirtualServerOutput) State() pulumi.StringPtrOutput { return o.ApplyT(func(v *VirtualServer) pulumi.StringPtrOutput { return v.State }).(pulumi.StringPtrOutput) } +// Specifies destination traffic matching information to which the virtual server sends traffic +func (o VirtualServerOutput) TrafficmatchingCriteria() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.TrafficmatchingCriteria }).(pulumi.StringOutput) +} + // 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. -func (o VirtualServerOutput) TranslateAddress() pulumi.StringOutput { - return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.TranslateAddress }).(pulumi.StringOutput) +func (o VirtualServerOutput) TranslateAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringPtrOutput { return v.TranslateAddress }).(pulumi.StringPtrOutput) } // 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 -func (o VirtualServerOutput) TranslatePort() pulumi.StringOutput { - return o.ApplyT(func(v *VirtualServer) pulumi.StringOutput { return v.TranslatePort }).(pulumi.StringOutput) +func (o VirtualServerOutput) TranslatePort() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualServer) pulumi.StringPtrOutput { return v.TranslatePort }).(pulumi.StringPtrOutput) } // The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlanEnabled` diff --git a/sdk/go/f5bigip/provider.go b/sdk/go/f5bigip/provider.go index 157ddd14..18cae8ad 100644 --- a/sdk/go/f5bigip/provider.go +++ b/sdk/go/f5bigip/provider.go @@ -27,6 +27,8 @@ type Provider struct { Port pulumi.StringPtrOutput `pulumi:"port"` // A token generated outside the provider, in place of password TokenValue pulumi.StringPtrOutput `pulumi:"tokenValue"` + // Valid Trusted Certificate path + TrustedCertPath pulumi.StringPtrOutput `pulumi:"trustedCertPath"` // Username with API access to the BigIP Username pulumi.StringPtrOutput `pulumi:"username"` } @@ -61,8 +63,12 @@ type providerArgs struct { TokenAuth *bool `pulumi:"tokenAuth"` // A token generated outside the provider, in place of password TokenValue *string `pulumi:"tokenValue"` + // Valid Trusted Certificate path + TrustedCertPath *string `pulumi:"trustedCertPath"` // Username with API access to the BigIP Username *string `pulumi:"username"` + // If set to true, Disables TLS certificate check on BIG-IP. Default : True + ValidateCertsDisable *bool `pulumi:"validateCertsDisable"` } // The set of arguments for constructing a Provider resource. @@ -81,8 +87,12 @@ type ProviderArgs struct { TokenAuth pulumi.BoolPtrInput // A token generated outside the provider, in place of password TokenValue pulumi.StringPtrInput + // Valid Trusted Certificate path + TrustedCertPath pulumi.StringPtrInput // Username with API access to the BigIP Username pulumi.StringPtrInput + // If set to true, Disables TLS certificate check on BIG-IP. Default : True + ValidateCertsDisable pulumi.BoolPtrInput } func (ProviderArgs) ElementType() reflect.Type { @@ -147,6 +157,11 @@ func (o ProviderOutput) TokenValue() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TokenValue }).(pulumi.StringPtrOutput) } +// Valid Trusted Certificate path +func (o ProviderOutput) TrustedCertPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TrustedCertPath }).(pulumi.StringPtrOutput) +} + // Username with API access to the BigIP func (o ProviderOutput) Username() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Username }).(pulumi.StringPtrOutput) diff --git a/sdk/go/f5bigip/pulumiTypes.go b/sdk/go/f5bigip/pulumiTypes.go index c0aa4150..6d8b8f25 100644 --- a/sdk/go/f5bigip/pulumiTypes.go +++ b/sdk/go/f5bigip/pulumiTypes.go @@ -116,7 +116,7 @@ func (o EventServiceDiscoveryNodeArrayOutput) Index(i pulumi.IntInput) EventServ }).(EventServiceDiscoveryNodeOutput) } -type FastHttpAppFastCreateMonitor struct { +type FastHttpAppMonitor struct { // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. Interval *int `pulumi:"interval"` // set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`. @@ -131,18 +131,18 @@ type FastHttpAppFastCreateMonitor struct { Username *string `pulumi:"username"` } -// FastHttpAppFastCreateMonitorInput is an input type that accepts FastHttpAppFastCreateMonitorArgs and FastHttpAppFastCreateMonitorOutput values. -// You can construct a concrete instance of `FastHttpAppFastCreateMonitorInput` via: +// FastHttpAppMonitorInput is an input type that accepts FastHttpAppMonitorArgs and FastHttpAppMonitorOutput values. +// You can construct a concrete instance of `FastHttpAppMonitorInput` via: // -// FastHttpAppFastCreateMonitorArgs{...} -type FastHttpAppFastCreateMonitorInput interface { +// FastHttpAppMonitorArgs{...} +type FastHttpAppMonitorInput interface { pulumi.Input - ToFastHttpAppFastCreateMonitorOutput() FastHttpAppFastCreateMonitorOutput - ToFastHttpAppFastCreateMonitorOutputWithContext(context.Context) FastHttpAppFastCreateMonitorOutput + ToFastHttpAppMonitorOutput() FastHttpAppMonitorOutput + ToFastHttpAppMonitorOutputWithContext(context.Context) FastHttpAppMonitorOutput } -type FastHttpAppFastCreateMonitorArgs struct { +type FastHttpAppMonitorArgs struct { // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. Interval pulumi.IntPtrInput `pulumi:"interval"` // set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`. @@ -157,140 +157,140 @@ type FastHttpAppFastCreateMonitorArgs struct { Username pulumi.StringPtrInput `pulumi:"username"` } -func (FastHttpAppFastCreateMonitorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpAppFastCreateMonitor)(nil)).Elem() +func (FastHttpAppMonitorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpAppMonitor)(nil)).Elem() } -func (i FastHttpAppFastCreateMonitorArgs) ToFastHttpAppFastCreateMonitorOutput() FastHttpAppFastCreateMonitorOutput { - return i.ToFastHttpAppFastCreateMonitorOutputWithContext(context.Background()) +func (i FastHttpAppMonitorArgs) ToFastHttpAppMonitorOutput() FastHttpAppMonitorOutput { + return i.ToFastHttpAppMonitorOutputWithContext(context.Background()) } -func (i FastHttpAppFastCreateMonitorArgs) ToFastHttpAppFastCreateMonitorOutputWithContext(ctx context.Context) FastHttpAppFastCreateMonitorOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppFastCreateMonitorOutput) +func (i FastHttpAppMonitorArgs) ToFastHttpAppMonitorOutputWithContext(ctx context.Context) FastHttpAppMonitorOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppMonitorOutput) } -func (i FastHttpAppFastCreateMonitorArgs) ToFastHttpAppFastCreateMonitorPtrOutput() FastHttpAppFastCreateMonitorPtrOutput { - return i.ToFastHttpAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (i FastHttpAppMonitorArgs) ToFastHttpAppMonitorPtrOutput() FastHttpAppMonitorPtrOutput { + return i.ToFastHttpAppMonitorPtrOutputWithContext(context.Background()) } -func (i FastHttpAppFastCreateMonitorArgs) ToFastHttpAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastHttpAppFastCreateMonitorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppFastCreateMonitorOutput).ToFastHttpAppFastCreateMonitorPtrOutputWithContext(ctx) +func (i FastHttpAppMonitorArgs) ToFastHttpAppMonitorPtrOutputWithContext(ctx context.Context) FastHttpAppMonitorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppMonitorOutput).ToFastHttpAppMonitorPtrOutputWithContext(ctx) } -// FastHttpAppFastCreateMonitorPtrInput is an input type that accepts FastHttpAppFastCreateMonitorArgs, FastHttpAppFastCreateMonitorPtr and FastHttpAppFastCreateMonitorPtrOutput values. -// You can construct a concrete instance of `FastHttpAppFastCreateMonitorPtrInput` via: +// FastHttpAppMonitorPtrInput is an input type that accepts FastHttpAppMonitorArgs, FastHttpAppMonitorPtr and FastHttpAppMonitorPtrOutput values. +// You can construct a concrete instance of `FastHttpAppMonitorPtrInput` via: // -// FastHttpAppFastCreateMonitorArgs{...} +// FastHttpAppMonitorArgs{...} // // or: // // nil -type FastHttpAppFastCreateMonitorPtrInput interface { +type FastHttpAppMonitorPtrInput interface { pulumi.Input - ToFastHttpAppFastCreateMonitorPtrOutput() FastHttpAppFastCreateMonitorPtrOutput - ToFastHttpAppFastCreateMonitorPtrOutputWithContext(context.Context) FastHttpAppFastCreateMonitorPtrOutput + ToFastHttpAppMonitorPtrOutput() FastHttpAppMonitorPtrOutput + ToFastHttpAppMonitorPtrOutputWithContext(context.Context) FastHttpAppMonitorPtrOutput } -type fastHttpAppFastCreateMonitorPtrType FastHttpAppFastCreateMonitorArgs +type fastHttpAppMonitorPtrType FastHttpAppMonitorArgs -func FastHttpAppFastCreateMonitorPtr(v *FastHttpAppFastCreateMonitorArgs) FastHttpAppFastCreateMonitorPtrInput { - return (*fastHttpAppFastCreateMonitorPtrType)(v) +func FastHttpAppMonitorPtr(v *FastHttpAppMonitorArgs) FastHttpAppMonitorPtrInput { + return (*fastHttpAppMonitorPtrType)(v) } -func (*fastHttpAppFastCreateMonitorPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FastHttpAppFastCreateMonitor)(nil)).Elem() +func (*fastHttpAppMonitorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpAppMonitor)(nil)).Elem() } -func (i *fastHttpAppFastCreateMonitorPtrType) ToFastHttpAppFastCreateMonitorPtrOutput() FastHttpAppFastCreateMonitorPtrOutput { - return i.ToFastHttpAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (i *fastHttpAppMonitorPtrType) ToFastHttpAppMonitorPtrOutput() FastHttpAppMonitorPtrOutput { + return i.ToFastHttpAppMonitorPtrOutputWithContext(context.Background()) } -func (i *fastHttpAppFastCreateMonitorPtrType) ToFastHttpAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastHttpAppFastCreateMonitorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppFastCreateMonitorPtrOutput) +func (i *fastHttpAppMonitorPtrType) ToFastHttpAppMonitorPtrOutputWithContext(ctx context.Context) FastHttpAppMonitorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppMonitorPtrOutput) } -type FastHttpAppFastCreateMonitorOutput struct{ *pulumi.OutputState } +type FastHttpAppMonitorOutput struct{ *pulumi.OutputState } -func (FastHttpAppFastCreateMonitorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpAppFastCreateMonitor)(nil)).Elem() +func (FastHttpAppMonitorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpAppMonitor)(nil)).Elem() } -func (o FastHttpAppFastCreateMonitorOutput) ToFastHttpAppFastCreateMonitorOutput() FastHttpAppFastCreateMonitorOutput { +func (o FastHttpAppMonitorOutput) ToFastHttpAppMonitorOutput() FastHttpAppMonitorOutput { return o } -func (o FastHttpAppFastCreateMonitorOutput) ToFastHttpAppFastCreateMonitorOutputWithContext(ctx context.Context) FastHttpAppFastCreateMonitorOutput { +func (o FastHttpAppMonitorOutput) ToFastHttpAppMonitorOutputWithContext(ctx context.Context) FastHttpAppMonitorOutput { return o } -func (o FastHttpAppFastCreateMonitorOutput) ToFastHttpAppFastCreateMonitorPtrOutput() FastHttpAppFastCreateMonitorPtrOutput { - return o.ToFastHttpAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (o FastHttpAppMonitorOutput) ToFastHttpAppMonitorPtrOutput() FastHttpAppMonitorPtrOutput { + return o.ToFastHttpAppMonitorPtrOutputWithContext(context.Background()) } -func (o FastHttpAppFastCreateMonitorOutput) ToFastHttpAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastHttpAppFastCreateMonitorPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpAppFastCreateMonitor) *FastHttpAppFastCreateMonitor { +func (o FastHttpAppMonitorOutput) ToFastHttpAppMonitorPtrOutputWithContext(ctx context.Context) FastHttpAppMonitorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpAppMonitor) *FastHttpAppMonitor { return &v - }).(FastHttpAppFastCreateMonitorPtrOutput) + }).(FastHttpAppMonitorPtrOutput) } // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. -func (o FastHttpAppFastCreateMonitorOutput) Interval() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreateMonitor) *int { return v.Interval }).(pulumi.IntPtrOutput) +func (o FastHttpAppMonitorOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastHttpAppMonitor) *int { return v.Interval }).(pulumi.IntPtrOutput) } // set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`. -func (o FastHttpAppFastCreateMonitorOutput) MonitorAuth() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreateMonitor) *bool { return v.MonitorAuth }).(pulumi.BoolPtrOutput) +func (o FastHttpAppMonitorOutput) MonitorAuth() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FastHttpAppMonitor) *bool { return v.MonitorAuth }).(pulumi.BoolPtrOutput) } // password for web access on FAST-Generated Pool Monitor. -func (o FastHttpAppFastCreateMonitorOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreateMonitor) *string { return v.Password }).(pulumi.StringPtrOutput) +func (o FastHttpAppMonitorOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastHttpAppMonitor) *string { return v.Password }).(pulumi.StringPtrOutput) } // The presence of this string anywhere in the HTTP response implies availability. -func (o FastHttpAppFastCreateMonitorOutput) Response() pulumi.StringPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreateMonitor) *string { return v.Response }).(pulumi.StringPtrOutput) +func (o FastHttpAppMonitorOutput) Response() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastHttpAppMonitor) *string { return v.Response }).(pulumi.StringPtrOutput) } // Specify data to be sent during each health check for FAST-Generated Pool Monitor. -func (o FastHttpAppFastCreateMonitorOutput) SendString() pulumi.StringPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreateMonitor) *string { return v.SendString }).(pulumi.StringPtrOutput) +func (o FastHttpAppMonitorOutput) SendString() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastHttpAppMonitor) *string { return v.SendString }).(pulumi.StringPtrOutput) } // username for web access on FAST-Generated Pool Monitor. -func (o FastHttpAppFastCreateMonitorOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreateMonitor) *string { return v.Username }).(pulumi.StringPtrOutput) +func (o FastHttpAppMonitorOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastHttpAppMonitor) *string { return v.Username }).(pulumi.StringPtrOutput) } -type FastHttpAppFastCreateMonitorPtrOutput struct{ *pulumi.OutputState } +type FastHttpAppMonitorPtrOutput struct{ *pulumi.OutputState } -func (FastHttpAppFastCreateMonitorPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FastHttpAppFastCreateMonitor)(nil)).Elem() +func (FastHttpAppMonitorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpAppMonitor)(nil)).Elem() } -func (o FastHttpAppFastCreateMonitorPtrOutput) ToFastHttpAppFastCreateMonitorPtrOutput() FastHttpAppFastCreateMonitorPtrOutput { +func (o FastHttpAppMonitorPtrOutput) ToFastHttpAppMonitorPtrOutput() FastHttpAppMonitorPtrOutput { return o } -func (o FastHttpAppFastCreateMonitorPtrOutput) ToFastHttpAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastHttpAppFastCreateMonitorPtrOutput { +func (o FastHttpAppMonitorPtrOutput) ToFastHttpAppMonitorPtrOutputWithContext(ctx context.Context) FastHttpAppMonitorPtrOutput { return o } -func (o FastHttpAppFastCreateMonitorPtrOutput) Elem() FastHttpAppFastCreateMonitorOutput { - return o.ApplyT(func(v *FastHttpAppFastCreateMonitor) FastHttpAppFastCreateMonitor { +func (o FastHttpAppMonitorPtrOutput) Elem() FastHttpAppMonitorOutput { + return o.ApplyT(func(v *FastHttpAppMonitor) FastHttpAppMonitor { if v != nil { return *v } - var ret FastHttpAppFastCreateMonitor + var ret FastHttpAppMonitor return ret - }).(FastHttpAppFastCreateMonitorOutput) + }).(FastHttpAppMonitorOutput) } // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. -func (o FastHttpAppFastCreateMonitorPtrOutput) Interval() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FastHttpAppFastCreateMonitor) *int { +func (o FastHttpAppMonitorPtrOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FastHttpAppMonitor) *int { if v == nil { return nil } @@ -299,8 +299,8 @@ func (o FastHttpAppFastCreateMonitorPtrOutput) Interval() pulumi.IntPtrOutput { } // set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`. -func (o FastHttpAppFastCreateMonitorPtrOutput) MonitorAuth() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FastHttpAppFastCreateMonitor) *bool { +func (o FastHttpAppMonitorPtrOutput) MonitorAuth() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FastHttpAppMonitor) *bool { if v == nil { return nil } @@ -309,8 +309,8 @@ func (o FastHttpAppFastCreateMonitorPtrOutput) MonitorAuth() pulumi.BoolPtrOutpu } // password for web access on FAST-Generated Pool Monitor. -func (o FastHttpAppFastCreateMonitorPtrOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpAppFastCreateMonitor) *string { +func (o FastHttpAppMonitorPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpAppMonitor) *string { if v == nil { return nil } @@ -319,8 +319,8 @@ func (o FastHttpAppFastCreateMonitorPtrOutput) Password() pulumi.StringPtrOutput } // The presence of this string anywhere in the HTTP response implies availability. -func (o FastHttpAppFastCreateMonitorPtrOutput) Response() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpAppFastCreateMonitor) *string { +func (o FastHttpAppMonitorPtrOutput) Response() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpAppMonitor) *string { if v == nil { return nil } @@ -329,8 +329,8 @@ func (o FastHttpAppFastCreateMonitorPtrOutput) Response() pulumi.StringPtrOutput } // Specify data to be sent during each health check for FAST-Generated Pool Monitor. -func (o FastHttpAppFastCreateMonitorPtrOutput) SendString() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpAppFastCreateMonitor) *string { +func (o FastHttpAppMonitorPtrOutput) SendString() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpAppMonitor) *string { if v == nil { return nil } @@ -339,8 +339,8 @@ func (o FastHttpAppFastCreateMonitorPtrOutput) SendString() pulumi.StringPtrOutp } // username for web access on FAST-Generated Pool Monitor. -func (o FastHttpAppFastCreateMonitorPtrOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpAppFastCreateMonitor) *string { +func (o FastHttpAppMonitorPtrOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpAppMonitor) *string { if v == nil { return nil } @@ -348,7 +348,7 @@ func (o FastHttpAppFastCreateMonitorPtrOutput) Username() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } -type FastHttpAppFastCreatePoolMember struct { +type FastHttpAppPoolMember struct { // List of server address to be used for FAST-Generated Pool. Addresses []string `pulumi:"addresses"` // connectionLimit value to be used for FAST-Generated Pool. @@ -361,18 +361,18 @@ type FastHttpAppFastCreatePoolMember struct { ShareNodes *bool `pulumi:"shareNodes"` } -// FastHttpAppFastCreatePoolMemberInput is an input type that accepts FastHttpAppFastCreatePoolMemberArgs and FastHttpAppFastCreatePoolMemberOutput values. -// You can construct a concrete instance of `FastHttpAppFastCreatePoolMemberInput` via: +// FastHttpAppPoolMemberInput is an input type that accepts FastHttpAppPoolMemberArgs and FastHttpAppPoolMemberOutput values. +// You can construct a concrete instance of `FastHttpAppPoolMemberInput` via: // -// FastHttpAppFastCreatePoolMemberArgs{...} -type FastHttpAppFastCreatePoolMemberInput interface { +// FastHttpAppPoolMemberArgs{...} +type FastHttpAppPoolMemberInput interface { pulumi.Input - ToFastHttpAppFastCreatePoolMemberOutput() FastHttpAppFastCreatePoolMemberOutput - ToFastHttpAppFastCreatePoolMemberOutputWithContext(context.Context) FastHttpAppFastCreatePoolMemberOutput + ToFastHttpAppPoolMemberOutput() FastHttpAppPoolMemberOutput + ToFastHttpAppPoolMemberOutputWithContext(context.Context) FastHttpAppPoolMemberOutput } -type FastHttpAppFastCreatePoolMemberArgs struct { +type FastHttpAppPoolMemberArgs struct { // List of server address to be used for FAST-Generated Pool. Addresses pulumi.StringArrayInput `pulumi:"addresses"` // connectionLimit value to be used for FAST-Generated Pool. @@ -385,106 +385,106 @@ type FastHttpAppFastCreatePoolMemberArgs struct { ShareNodes pulumi.BoolPtrInput `pulumi:"shareNodes"` } -func (FastHttpAppFastCreatePoolMemberArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpAppFastCreatePoolMember)(nil)).Elem() +func (FastHttpAppPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpAppPoolMember)(nil)).Elem() } -func (i FastHttpAppFastCreatePoolMemberArgs) ToFastHttpAppFastCreatePoolMemberOutput() FastHttpAppFastCreatePoolMemberOutput { - return i.ToFastHttpAppFastCreatePoolMemberOutputWithContext(context.Background()) +func (i FastHttpAppPoolMemberArgs) ToFastHttpAppPoolMemberOutput() FastHttpAppPoolMemberOutput { + return i.ToFastHttpAppPoolMemberOutputWithContext(context.Background()) } -func (i FastHttpAppFastCreatePoolMemberArgs) ToFastHttpAppFastCreatePoolMemberOutputWithContext(ctx context.Context) FastHttpAppFastCreatePoolMemberOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppFastCreatePoolMemberOutput) +func (i FastHttpAppPoolMemberArgs) ToFastHttpAppPoolMemberOutputWithContext(ctx context.Context) FastHttpAppPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppPoolMemberOutput) } -// FastHttpAppFastCreatePoolMemberArrayInput is an input type that accepts FastHttpAppFastCreatePoolMemberArray and FastHttpAppFastCreatePoolMemberArrayOutput values. -// You can construct a concrete instance of `FastHttpAppFastCreatePoolMemberArrayInput` via: +// FastHttpAppPoolMemberArrayInput is an input type that accepts FastHttpAppPoolMemberArray and FastHttpAppPoolMemberArrayOutput values. +// You can construct a concrete instance of `FastHttpAppPoolMemberArrayInput` via: // -// FastHttpAppFastCreatePoolMemberArray{ FastHttpAppFastCreatePoolMemberArgs{...} } -type FastHttpAppFastCreatePoolMemberArrayInput interface { +// FastHttpAppPoolMemberArray{ FastHttpAppPoolMemberArgs{...} } +type FastHttpAppPoolMemberArrayInput interface { pulumi.Input - ToFastHttpAppFastCreatePoolMemberArrayOutput() FastHttpAppFastCreatePoolMemberArrayOutput - ToFastHttpAppFastCreatePoolMemberArrayOutputWithContext(context.Context) FastHttpAppFastCreatePoolMemberArrayOutput + ToFastHttpAppPoolMemberArrayOutput() FastHttpAppPoolMemberArrayOutput + ToFastHttpAppPoolMemberArrayOutputWithContext(context.Context) FastHttpAppPoolMemberArrayOutput } -type FastHttpAppFastCreatePoolMemberArray []FastHttpAppFastCreatePoolMemberInput +type FastHttpAppPoolMemberArray []FastHttpAppPoolMemberInput -func (FastHttpAppFastCreatePoolMemberArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FastHttpAppFastCreatePoolMember)(nil)).Elem() +func (FastHttpAppPoolMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FastHttpAppPoolMember)(nil)).Elem() } -func (i FastHttpAppFastCreatePoolMemberArray) ToFastHttpAppFastCreatePoolMemberArrayOutput() FastHttpAppFastCreatePoolMemberArrayOutput { - return i.ToFastHttpAppFastCreatePoolMemberArrayOutputWithContext(context.Background()) +func (i FastHttpAppPoolMemberArray) ToFastHttpAppPoolMemberArrayOutput() FastHttpAppPoolMemberArrayOutput { + return i.ToFastHttpAppPoolMemberArrayOutputWithContext(context.Background()) } -func (i FastHttpAppFastCreatePoolMemberArray) ToFastHttpAppFastCreatePoolMemberArrayOutputWithContext(ctx context.Context) FastHttpAppFastCreatePoolMemberArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppFastCreatePoolMemberArrayOutput) +func (i FastHttpAppPoolMemberArray) ToFastHttpAppPoolMemberArrayOutputWithContext(ctx context.Context) FastHttpAppPoolMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppPoolMemberArrayOutput) } -type FastHttpAppFastCreatePoolMemberOutput struct{ *pulumi.OutputState } +type FastHttpAppPoolMemberOutput struct{ *pulumi.OutputState } -func (FastHttpAppFastCreatePoolMemberOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpAppFastCreatePoolMember)(nil)).Elem() +func (FastHttpAppPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpAppPoolMember)(nil)).Elem() } -func (o FastHttpAppFastCreatePoolMemberOutput) ToFastHttpAppFastCreatePoolMemberOutput() FastHttpAppFastCreatePoolMemberOutput { +func (o FastHttpAppPoolMemberOutput) ToFastHttpAppPoolMemberOutput() FastHttpAppPoolMemberOutput { return o } -func (o FastHttpAppFastCreatePoolMemberOutput) ToFastHttpAppFastCreatePoolMemberOutputWithContext(ctx context.Context) FastHttpAppFastCreatePoolMemberOutput { +func (o FastHttpAppPoolMemberOutput) ToFastHttpAppPoolMemberOutputWithContext(ctx context.Context) FastHttpAppPoolMemberOutput { return o } // List of server address to be used for FAST-Generated Pool. -func (o FastHttpAppFastCreatePoolMemberOutput) Addresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v FastHttpAppFastCreatePoolMember) []string { return v.Addresses }).(pulumi.StringArrayOutput) +func (o FastHttpAppPoolMemberOutput) Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v FastHttpAppPoolMember) []string { return v.Addresses }).(pulumi.StringArrayOutput) } // connectionLimit value to be used for FAST-Generated Pool. -func (o FastHttpAppFastCreatePoolMemberOutput) ConnectionLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreatePoolMember) *int { return v.ConnectionLimit }).(pulumi.IntPtrOutput) +func (o FastHttpAppPoolMemberOutput) ConnectionLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastHttpAppPoolMember) *int { return v.ConnectionLimit }).(pulumi.IntPtrOutput) } // port number of serviceport to be used for FAST-Generated Pool. -func (o FastHttpAppFastCreatePoolMemberOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreatePoolMember) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o FastHttpAppPoolMemberOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastHttpAppPoolMember) *int { return v.Port }).(pulumi.IntPtrOutput) } // priorityGroup value to be used for FAST-Generated Pool. -func (o FastHttpAppFastCreatePoolMemberOutput) PriorityGroup() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreatePoolMember) *int { return v.PriorityGroup }).(pulumi.IntPtrOutput) +func (o FastHttpAppPoolMemberOutput) PriorityGroup() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastHttpAppPoolMember) *int { return v.PriorityGroup }).(pulumi.IntPtrOutput) } // shareNodes value to be used for FAST-Generated Pool. -func (o FastHttpAppFastCreatePoolMemberOutput) ShareNodes() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FastHttpAppFastCreatePoolMember) *bool { return v.ShareNodes }).(pulumi.BoolPtrOutput) +func (o FastHttpAppPoolMemberOutput) ShareNodes() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FastHttpAppPoolMember) *bool { return v.ShareNodes }).(pulumi.BoolPtrOutput) } -type FastHttpAppFastCreatePoolMemberArrayOutput struct{ *pulumi.OutputState } +type FastHttpAppPoolMemberArrayOutput struct{ *pulumi.OutputState } -func (FastHttpAppFastCreatePoolMemberArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FastHttpAppFastCreatePoolMember)(nil)).Elem() +func (FastHttpAppPoolMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FastHttpAppPoolMember)(nil)).Elem() } -func (o FastHttpAppFastCreatePoolMemberArrayOutput) ToFastHttpAppFastCreatePoolMemberArrayOutput() FastHttpAppFastCreatePoolMemberArrayOutput { +func (o FastHttpAppPoolMemberArrayOutput) ToFastHttpAppPoolMemberArrayOutput() FastHttpAppPoolMemberArrayOutput { return o } -func (o FastHttpAppFastCreatePoolMemberArrayOutput) ToFastHttpAppFastCreatePoolMemberArrayOutputWithContext(ctx context.Context) FastHttpAppFastCreatePoolMemberArrayOutput { +func (o FastHttpAppPoolMemberArrayOutput) ToFastHttpAppPoolMemberArrayOutputWithContext(ctx context.Context) FastHttpAppPoolMemberArrayOutput { return o } -func (o FastHttpAppFastCreatePoolMemberArrayOutput) Index(i pulumi.IntInput) FastHttpAppFastCreatePoolMemberOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FastHttpAppFastCreatePoolMember { - return vs[0].([]FastHttpAppFastCreatePoolMember)[vs[1].(int)] - }).(FastHttpAppFastCreatePoolMemberOutput) +func (o FastHttpAppPoolMemberArrayOutput) Index(i pulumi.IntInput) FastHttpAppPoolMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FastHttpAppPoolMember { + return vs[0].([]FastHttpAppPoolMember)[vs[1].(int)] + }).(FastHttpAppPoolMemberOutput) } type FastHttpAppVirtualServer struct { // IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` Ip string `pulumi:"ip"` - // -(Optional , `int`) Port number to used for accessing virtual server/application + // Port number to used for accessing virtual server/application Port int `pulumi:"port"` } @@ -502,7 +502,7 @@ type FastHttpAppVirtualServerInput interface { type FastHttpAppVirtualServerArgs struct { // IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` Ip pulumi.StringInput `pulumi:"ip"` - // -(Optional , `int`) Port number to used for accessing virtual server/application + // Port number to used for accessing virtual server/application Port pulumi.IntInput `pulumi:"port"` } @@ -588,7 +588,7 @@ func (o FastHttpAppVirtualServerOutput) Ip() pulumi.StringOutput { return o.ApplyT(func(v FastHttpAppVirtualServer) string { return v.Ip }).(pulumi.StringOutput) } -// -(Optional , `int`) Port number to used for accessing virtual server/application +// Port number to used for accessing virtual server/application func (o FastHttpAppVirtualServerOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v FastHttpAppVirtualServer) int { return v.Port }).(pulumi.IntOutput) } @@ -627,7 +627,7 @@ func (o FastHttpAppVirtualServerPtrOutput) Ip() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// -(Optional , `int`) Port number to used for accessing virtual server/application +// Port number to used for accessing virtual server/application func (o FastHttpAppVirtualServerPtrOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v *FastHttpAppVirtualServer) *int { if v == nil { @@ -637,163 +637,144 @@ func (o FastHttpAppVirtualServerPtrOutput) Port() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -type FastHttpsAppCreateTlsServerProfile struct { - // Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. - TlsCertName string `pulumi:"tlsCertName"` - // Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. - TlsKeyName string `pulumi:"tlsKeyName"` +type FastHttpAppWafSecurityPolicy struct { + // Setting `true` will enable FAST to create WAF Security Policy. + Enable bool `pulumi:"enable"` } -// FastHttpsAppCreateTlsServerProfileInput is an input type that accepts FastHttpsAppCreateTlsServerProfileArgs and FastHttpsAppCreateTlsServerProfileOutput values. -// You can construct a concrete instance of `FastHttpsAppCreateTlsServerProfileInput` via: +// FastHttpAppWafSecurityPolicyInput is an input type that accepts FastHttpAppWafSecurityPolicyArgs and FastHttpAppWafSecurityPolicyOutput values. +// You can construct a concrete instance of `FastHttpAppWafSecurityPolicyInput` via: // -// FastHttpsAppCreateTlsServerProfileArgs{...} -type FastHttpsAppCreateTlsServerProfileInput interface { +// FastHttpAppWafSecurityPolicyArgs{...} +type FastHttpAppWafSecurityPolicyInput interface { pulumi.Input - ToFastHttpsAppCreateTlsServerProfileOutput() FastHttpsAppCreateTlsServerProfileOutput - ToFastHttpsAppCreateTlsServerProfileOutputWithContext(context.Context) FastHttpsAppCreateTlsServerProfileOutput + ToFastHttpAppWafSecurityPolicyOutput() FastHttpAppWafSecurityPolicyOutput + ToFastHttpAppWafSecurityPolicyOutputWithContext(context.Context) FastHttpAppWafSecurityPolicyOutput } -type FastHttpsAppCreateTlsServerProfileArgs struct { - // Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. - TlsCertName pulumi.StringInput `pulumi:"tlsCertName"` - // Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. - TlsKeyName pulumi.StringInput `pulumi:"tlsKeyName"` +type FastHttpAppWafSecurityPolicyArgs struct { + // Setting `true` will enable FAST to create WAF Security Policy. + Enable pulumi.BoolInput `pulumi:"enable"` } -func (FastHttpsAppCreateTlsServerProfileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpsAppCreateTlsServerProfile)(nil)).Elem() +func (FastHttpAppWafSecurityPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpAppWafSecurityPolicy)(nil)).Elem() } -func (i FastHttpsAppCreateTlsServerProfileArgs) ToFastHttpsAppCreateTlsServerProfileOutput() FastHttpsAppCreateTlsServerProfileOutput { - return i.ToFastHttpsAppCreateTlsServerProfileOutputWithContext(context.Background()) +func (i FastHttpAppWafSecurityPolicyArgs) ToFastHttpAppWafSecurityPolicyOutput() FastHttpAppWafSecurityPolicyOutput { + return i.ToFastHttpAppWafSecurityPolicyOutputWithContext(context.Background()) } -func (i FastHttpsAppCreateTlsServerProfileArgs) ToFastHttpsAppCreateTlsServerProfileOutputWithContext(ctx context.Context) FastHttpsAppCreateTlsServerProfileOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppCreateTlsServerProfileOutput) +func (i FastHttpAppWafSecurityPolicyArgs) ToFastHttpAppWafSecurityPolicyOutputWithContext(ctx context.Context) FastHttpAppWafSecurityPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppWafSecurityPolicyOutput) } -func (i FastHttpsAppCreateTlsServerProfileArgs) ToFastHttpsAppCreateTlsServerProfilePtrOutput() FastHttpsAppCreateTlsServerProfilePtrOutput { - return i.ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(context.Background()) +func (i FastHttpAppWafSecurityPolicyArgs) ToFastHttpAppWafSecurityPolicyPtrOutput() FastHttpAppWafSecurityPolicyPtrOutput { + return i.ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(context.Background()) } -func (i FastHttpsAppCreateTlsServerProfileArgs) ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppCreateTlsServerProfilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppCreateTlsServerProfileOutput).ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(ctx) +func (i FastHttpAppWafSecurityPolicyArgs) ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(ctx context.Context) FastHttpAppWafSecurityPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppWafSecurityPolicyOutput).ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(ctx) } -// FastHttpsAppCreateTlsServerProfilePtrInput is an input type that accepts FastHttpsAppCreateTlsServerProfileArgs, FastHttpsAppCreateTlsServerProfilePtr and FastHttpsAppCreateTlsServerProfilePtrOutput values. -// You can construct a concrete instance of `FastHttpsAppCreateTlsServerProfilePtrInput` via: +// FastHttpAppWafSecurityPolicyPtrInput is an input type that accepts FastHttpAppWafSecurityPolicyArgs, FastHttpAppWafSecurityPolicyPtr and FastHttpAppWafSecurityPolicyPtrOutput values. +// You can construct a concrete instance of `FastHttpAppWafSecurityPolicyPtrInput` via: // -// FastHttpsAppCreateTlsServerProfileArgs{...} +// FastHttpAppWafSecurityPolicyArgs{...} // // or: // // nil -type FastHttpsAppCreateTlsServerProfilePtrInput interface { +type FastHttpAppWafSecurityPolicyPtrInput interface { pulumi.Input - ToFastHttpsAppCreateTlsServerProfilePtrOutput() FastHttpsAppCreateTlsServerProfilePtrOutput - ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(context.Context) FastHttpsAppCreateTlsServerProfilePtrOutput + ToFastHttpAppWafSecurityPolicyPtrOutput() FastHttpAppWafSecurityPolicyPtrOutput + ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(context.Context) FastHttpAppWafSecurityPolicyPtrOutput } -type fastHttpsAppCreateTlsServerProfilePtrType FastHttpsAppCreateTlsServerProfileArgs +type fastHttpAppWafSecurityPolicyPtrType FastHttpAppWafSecurityPolicyArgs -func FastHttpsAppCreateTlsServerProfilePtr(v *FastHttpsAppCreateTlsServerProfileArgs) FastHttpsAppCreateTlsServerProfilePtrInput { - return (*fastHttpsAppCreateTlsServerProfilePtrType)(v) +func FastHttpAppWafSecurityPolicyPtr(v *FastHttpAppWafSecurityPolicyArgs) FastHttpAppWafSecurityPolicyPtrInput { + return (*fastHttpAppWafSecurityPolicyPtrType)(v) } -func (*fastHttpsAppCreateTlsServerProfilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FastHttpsAppCreateTlsServerProfile)(nil)).Elem() +func (*fastHttpAppWafSecurityPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpAppWafSecurityPolicy)(nil)).Elem() } -func (i *fastHttpsAppCreateTlsServerProfilePtrType) ToFastHttpsAppCreateTlsServerProfilePtrOutput() FastHttpsAppCreateTlsServerProfilePtrOutput { - return i.ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(context.Background()) +func (i *fastHttpAppWafSecurityPolicyPtrType) ToFastHttpAppWafSecurityPolicyPtrOutput() FastHttpAppWafSecurityPolicyPtrOutput { + return i.ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(context.Background()) } -func (i *fastHttpsAppCreateTlsServerProfilePtrType) ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppCreateTlsServerProfilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppCreateTlsServerProfilePtrOutput) +func (i *fastHttpAppWafSecurityPolicyPtrType) ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(ctx context.Context) FastHttpAppWafSecurityPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpAppWafSecurityPolicyPtrOutput) } -type FastHttpsAppCreateTlsServerProfileOutput struct{ *pulumi.OutputState } +type FastHttpAppWafSecurityPolicyOutput struct{ *pulumi.OutputState } -func (FastHttpsAppCreateTlsServerProfileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpsAppCreateTlsServerProfile)(nil)).Elem() +func (FastHttpAppWafSecurityPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpAppWafSecurityPolicy)(nil)).Elem() } -func (o FastHttpsAppCreateTlsServerProfileOutput) ToFastHttpsAppCreateTlsServerProfileOutput() FastHttpsAppCreateTlsServerProfileOutput { +func (o FastHttpAppWafSecurityPolicyOutput) ToFastHttpAppWafSecurityPolicyOutput() FastHttpAppWafSecurityPolicyOutput { return o } -func (o FastHttpsAppCreateTlsServerProfileOutput) ToFastHttpsAppCreateTlsServerProfileOutputWithContext(ctx context.Context) FastHttpsAppCreateTlsServerProfileOutput { +func (o FastHttpAppWafSecurityPolicyOutput) ToFastHttpAppWafSecurityPolicyOutputWithContext(ctx context.Context) FastHttpAppWafSecurityPolicyOutput { return o } -func (o FastHttpsAppCreateTlsServerProfileOutput) ToFastHttpsAppCreateTlsServerProfilePtrOutput() FastHttpsAppCreateTlsServerProfilePtrOutput { - return o.ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(context.Background()) +func (o FastHttpAppWafSecurityPolicyOutput) ToFastHttpAppWafSecurityPolicyPtrOutput() FastHttpAppWafSecurityPolicyPtrOutput { + return o.ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(context.Background()) } -func (o FastHttpsAppCreateTlsServerProfileOutput) ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppCreateTlsServerProfilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpsAppCreateTlsServerProfile) *FastHttpsAppCreateTlsServerProfile { +func (o FastHttpAppWafSecurityPolicyOutput) ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(ctx context.Context) FastHttpAppWafSecurityPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpAppWafSecurityPolicy) *FastHttpAppWafSecurityPolicy { return &v - }).(FastHttpsAppCreateTlsServerProfilePtrOutput) + }).(FastHttpAppWafSecurityPolicyPtrOutput) } -// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. -func (o FastHttpsAppCreateTlsServerProfileOutput) TlsCertName() pulumi.StringOutput { - return o.ApplyT(func(v FastHttpsAppCreateTlsServerProfile) string { return v.TlsCertName }).(pulumi.StringOutput) -} - -// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. -func (o FastHttpsAppCreateTlsServerProfileOutput) TlsKeyName() pulumi.StringOutput { - return o.ApplyT(func(v FastHttpsAppCreateTlsServerProfile) string { return v.TlsKeyName }).(pulumi.StringOutput) +// Setting `true` will enable FAST to create WAF Security Policy. +func (o FastHttpAppWafSecurityPolicyOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v FastHttpAppWafSecurityPolicy) bool { return v.Enable }).(pulumi.BoolOutput) } -type FastHttpsAppCreateTlsServerProfilePtrOutput struct{ *pulumi.OutputState } +type FastHttpAppWafSecurityPolicyPtrOutput struct{ *pulumi.OutputState } -func (FastHttpsAppCreateTlsServerProfilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FastHttpsAppCreateTlsServerProfile)(nil)).Elem() +func (FastHttpAppWafSecurityPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpAppWafSecurityPolicy)(nil)).Elem() } -func (o FastHttpsAppCreateTlsServerProfilePtrOutput) ToFastHttpsAppCreateTlsServerProfilePtrOutput() FastHttpsAppCreateTlsServerProfilePtrOutput { +func (o FastHttpAppWafSecurityPolicyPtrOutput) ToFastHttpAppWafSecurityPolicyPtrOutput() FastHttpAppWafSecurityPolicyPtrOutput { return o } -func (o FastHttpsAppCreateTlsServerProfilePtrOutput) ToFastHttpsAppCreateTlsServerProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppCreateTlsServerProfilePtrOutput { +func (o FastHttpAppWafSecurityPolicyPtrOutput) ToFastHttpAppWafSecurityPolicyPtrOutputWithContext(ctx context.Context) FastHttpAppWafSecurityPolicyPtrOutput { return o } -func (o FastHttpsAppCreateTlsServerProfilePtrOutput) Elem() FastHttpsAppCreateTlsServerProfileOutput { - return o.ApplyT(func(v *FastHttpsAppCreateTlsServerProfile) FastHttpsAppCreateTlsServerProfile { +func (o FastHttpAppWafSecurityPolicyPtrOutput) Elem() FastHttpAppWafSecurityPolicyOutput { + return o.ApplyT(func(v *FastHttpAppWafSecurityPolicy) FastHttpAppWafSecurityPolicy { if v != nil { return *v } - var ret FastHttpsAppCreateTlsServerProfile + var ret FastHttpAppWafSecurityPolicy return ret - }).(FastHttpsAppCreateTlsServerProfileOutput) -} - -// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. -func (o FastHttpsAppCreateTlsServerProfilePtrOutput) TlsCertName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpsAppCreateTlsServerProfile) *string { - if v == nil { - return nil - } - return &v.TlsCertName - }).(pulumi.StringPtrOutput) + }).(FastHttpAppWafSecurityPolicyOutput) } -// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. -func (o FastHttpsAppCreateTlsServerProfilePtrOutput) TlsKeyName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpsAppCreateTlsServerProfile) *string { +// Setting `true` will enable FAST to create WAF Security Policy. +func (o FastHttpAppWafSecurityPolicyPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FastHttpAppWafSecurityPolicy) *bool { if v == nil { return nil } - return &v.TlsKeyName - }).(pulumi.StringPtrOutput) + return &v.Enable + }).(pulumi.BoolPtrOutput) } -type FastHttpsAppFastCreateMonitor struct { +type FastHttpsAppMonitor struct { // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. Interval *int `pulumi:"interval"` // set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`. @@ -808,18 +789,18 @@ type FastHttpsAppFastCreateMonitor struct { Username *string `pulumi:"username"` } -// FastHttpsAppFastCreateMonitorInput is an input type that accepts FastHttpsAppFastCreateMonitorArgs and FastHttpsAppFastCreateMonitorOutput values. -// You can construct a concrete instance of `FastHttpsAppFastCreateMonitorInput` via: +// FastHttpsAppMonitorInput is an input type that accepts FastHttpsAppMonitorArgs and FastHttpsAppMonitorOutput values. +// You can construct a concrete instance of `FastHttpsAppMonitorInput` via: // -// FastHttpsAppFastCreateMonitorArgs{...} -type FastHttpsAppFastCreateMonitorInput interface { +// FastHttpsAppMonitorArgs{...} +type FastHttpsAppMonitorInput interface { pulumi.Input - ToFastHttpsAppFastCreateMonitorOutput() FastHttpsAppFastCreateMonitorOutput - ToFastHttpsAppFastCreateMonitorOutputWithContext(context.Context) FastHttpsAppFastCreateMonitorOutput + ToFastHttpsAppMonitorOutput() FastHttpsAppMonitorOutput + ToFastHttpsAppMonitorOutputWithContext(context.Context) FastHttpsAppMonitorOutput } -type FastHttpsAppFastCreateMonitorArgs struct { +type FastHttpsAppMonitorArgs struct { // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. Interval pulumi.IntPtrInput `pulumi:"interval"` // set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`. @@ -834,140 +815,140 @@ type FastHttpsAppFastCreateMonitorArgs struct { Username pulumi.StringPtrInput `pulumi:"username"` } -func (FastHttpsAppFastCreateMonitorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpsAppFastCreateMonitor)(nil)).Elem() +func (FastHttpsAppMonitorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppMonitor)(nil)).Elem() } -func (i FastHttpsAppFastCreateMonitorArgs) ToFastHttpsAppFastCreateMonitorOutput() FastHttpsAppFastCreateMonitorOutput { - return i.ToFastHttpsAppFastCreateMonitorOutputWithContext(context.Background()) +func (i FastHttpsAppMonitorArgs) ToFastHttpsAppMonitorOutput() FastHttpsAppMonitorOutput { + return i.ToFastHttpsAppMonitorOutputWithContext(context.Background()) } -func (i FastHttpsAppFastCreateMonitorArgs) ToFastHttpsAppFastCreateMonitorOutputWithContext(ctx context.Context) FastHttpsAppFastCreateMonitorOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppFastCreateMonitorOutput) +func (i FastHttpsAppMonitorArgs) ToFastHttpsAppMonitorOutputWithContext(ctx context.Context) FastHttpsAppMonitorOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppMonitorOutput) } -func (i FastHttpsAppFastCreateMonitorArgs) ToFastHttpsAppFastCreateMonitorPtrOutput() FastHttpsAppFastCreateMonitorPtrOutput { - return i.ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (i FastHttpsAppMonitorArgs) ToFastHttpsAppMonitorPtrOutput() FastHttpsAppMonitorPtrOutput { + return i.ToFastHttpsAppMonitorPtrOutputWithContext(context.Background()) } -func (i FastHttpsAppFastCreateMonitorArgs) ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastHttpsAppFastCreateMonitorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppFastCreateMonitorOutput).ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(ctx) +func (i FastHttpsAppMonitorArgs) ToFastHttpsAppMonitorPtrOutputWithContext(ctx context.Context) FastHttpsAppMonitorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppMonitorOutput).ToFastHttpsAppMonitorPtrOutputWithContext(ctx) } -// FastHttpsAppFastCreateMonitorPtrInput is an input type that accepts FastHttpsAppFastCreateMonitorArgs, FastHttpsAppFastCreateMonitorPtr and FastHttpsAppFastCreateMonitorPtrOutput values. -// You can construct a concrete instance of `FastHttpsAppFastCreateMonitorPtrInput` via: +// FastHttpsAppMonitorPtrInput is an input type that accepts FastHttpsAppMonitorArgs, FastHttpsAppMonitorPtr and FastHttpsAppMonitorPtrOutput values. +// You can construct a concrete instance of `FastHttpsAppMonitorPtrInput` via: // -// FastHttpsAppFastCreateMonitorArgs{...} +// FastHttpsAppMonitorArgs{...} // // or: // // nil -type FastHttpsAppFastCreateMonitorPtrInput interface { +type FastHttpsAppMonitorPtrInput interface { pulumi.Input - ToFastHttpsAppFastCreateMonitorPtrOutput() FastHttpsAppFastCreateMonitorPtrOutput - ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(context.Context) FastHttpsAppFastCreateMonitorPtrOutput + ToFastHttpsAppMonitorPtrOutput() FastHttpsAppMonitorPtrOutput + ToFastHttpsAppMonitorPtrOutputWithContext(context.Context) FastHttpsAppMonitorPtrOutput } -type fastHttpsAppFastCreateMonitorPtrType FastHttpsAppFastCreateMonitorArgs +type fastHttpsAppMonitorPtrType FastHttpsAppMonitorArgs -func FastHttpsAppFastCreateMonitorPtr(v *FastHttpsAppFastCreateMonitorArgs) FastHttpsAppFastCreateMonitorPtrInput { - return (*fastHttpsAppFastCreateMonitorPtrType)(v) +func FastHttpsAppMonitorPtr(v *FastHttpsAppMonitorArgs) FastHttpsAppMonitorPtrInput { + return (*fastHttpsAppMonitorPtrType)(v) } -func (*fastHttpsAppFastCreateMonitorPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FastHttpsAppFastCreateMonitor)(nil)).Elem() +func (*fastHttpsAppMonitorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpsAppMonitor)(nil)).Elem() } -func (i *fastHttpsAppFastCreateMonitorPtrType) ToFastHttpsAppFastCreateMonitorPtrOutput() FastHttpsAppFastCreateMonitorPtrOutput { - return i.ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (i *fastHttpsAppMonitorPtrType) ToFastHttpsAppMonitorPtrOutput() FastHttpsAppMonitorPtrOutput { + return i.ToFastHttpsAppMonitorPtrOutputWithContext(context.Background()) } -func (i *fastHttpsAppFastCreateMonitorPtrType) ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastHttpsAppFastCreateMonitorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppFastCreateMonitorPtrOutput) +func (i *fastHttpsAppMonitorPtrType) ToFastHttpsAppMonitorPtrOutputWithContext(ctx context.Context) FastHttpsAppMonitorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppMonitorPtrOutput) } -type FastHttpsAppFastCreateMonitorOutput struct{ *pulumi.OutputState } +type FastHttpsAppMonitorOutput struct{ *pulumi.OutputState } -func (FastHttpsAppFastCreateMonitorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpsAppFastCreateMonitor)(nil)).Elem() +func (FastHttpsAppMonitorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppMonitor)(nil)).Elem() } -func (o FastHttpsAppFastCreateMonitorOutput) ToFastHttpsAppFastCreateMonitorOutput() FastHttpsAppFastCreateMonitorOutput { +func (o FastHttpsAppMonitorOutput) ToFastHttpsAppMonitorOutput() FastHttpsAppMonitorOutput { return o } -func (o FastHttpsAppFastCreateMonitorOutput) ToFastHttpsAppFastCreateMonitorOutputWithContext(ctx context.Context) FastHttpsAppFastCreateMonitorOutput { +func (o FastHttpsAppMonitorOutput) ToFastHttpsAppMonitorOutputWithContext(ctx context.Context) FastHttpsAppMonitorOutput { return o } -func (o FastHttpsAppFastCreateMonitorOutput) ToFastHttpsAppFastCreateMonitorPtrOutput() FastHttpsAppFastCreateMonitorPtrOutput { - return o.ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (o FastHttpsAppMonitorOutput) ToFastHttpsAppMonitorPtrOutput() FastHttpsAppMonitorPtrOutput { + return o.ToFastHttpsAppMonitorPtrOutputWithContext(context.Background()) } -func (o FastHttpsAppFastCreateMonitorOutput) ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastHttpsAppFastCreateMonitorPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpsAppFastCreateMonitor) *FastHttpsAppFastCreateMonitor { +func (o FastHttpsAppMonitorOutput) ToFastHttpsAppMonitorPtrOutputWithContext(ctx context.Context) FastHttpsAppMonitorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpsAppMonitor) *FastHttpsAppMonitor { return &v - }).(FastHttpsAppFastCreateMonitorPtrOutput) + }).(FastHttpsAppMonitorPtrOutput) } // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. -func (o FastHttpsAppFastCreateMonitorOutput) Interval() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreateMonitor) *int { return v.Interval }).(pulumi.IntPtrOutput) +func (o FastHttpsAppMonitorOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastHttpsAppMonitor) *int { return v.Interval }).(pulumi.IntPtrOutput) } // set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`. -func (o FastHttpsAppFastCreateMonitorOutput) MonitorAuth() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreateMonitor) *bool { return v.MonitorAuth }).(pulumi.BoolPtrOutput) +func (o FastHttpsAppMonitorOutput) MonitorAuth() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FastHttpsAppMonitor) *bool { return v.MonitorAuth }).(pulumi.BoolPtrOutput) } // password for web access on FAST-Generated Pool Monitor. -func (o FastHttpsAppFastCreateMonitorOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreateMonitor) *string { return v.Password }).(pulumi.StringPtrOutput) +func (o FastHttpsAppMonitorOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastHttpsAppMonitor) *string { return v.Password }).(pulumi.StringPtrOutput) } // The presence of this string anywhere in the HTTP response implies availability. -func (o FastHttpsAppFastCreateMonitorOutput) Response() pulumi.StringPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreateMonitor) *string { return v.Response }).(pulumi.StringPtrOutput) +func (o FastHttpsAppMonitorOutput) Response() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastHttpsAppMonitor) *string { return v.Response }).(pulumi.StringPtrOutput) } // Specify data to be sent during each health check for FAST-Generated Pool Monitor. -func (o FastHttpsAppFastCreateMonitorOutput) SendString() pulumi.StringPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreateMonitor) *string { return v.SendString }).(pulumi.StringPtrOutput) +func (o FastHttpsAppMonitorOutput) SendString() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastHttpsAppMonitor) *string { return v.SendString }).(pulumi.StringPtrOutput) } // username for web access on FAST-Generated Pool Monitor. -func (o FastHttpsAppFastCreateMonitorOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreateMonitor) *string { return v.Username }).(pulumi.StringPtrOutput) +func (o FastHttpsAppMonitorOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastHttpsAppMonitor) *string { return v.Username }).(pulumi.StringPtrOutput) } -type FastHttpsAppFastCreateMonitorPtrOutput struct{ *pulumi.OutputState } +type FastHttpsAppMonitorPtrOutput struct{ *pulumi.OutputState } -func (FastHttpsAppFastCreateMonitorPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FastHttpsAppFastCreateMonitor)(nil)).Elem() +func (FastHttpsAppMonitorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpsAppMonitor)(nil)).Elem() } -func (o FastHttpsAppFastCreateMonitorPtrOutput) ToFastHttpsAppFastCreateMonitorPtrOutput() FastHttpsAppFastCreateMonitorPtrOutput { +func (o FastHttpsAppMonitorPtrOutput) ToFastHttpsAppMonitorPtrOutput() FastHttpsAppMonitorPtrOutput { return o } -func (o FastHttpsAppFastCreateMonitorPtrOutput) ToFastHttpsAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastHttpsAppFastCreateMonitorPtrOutput { +func (o FastHttpsAppMonitorPtrOutput) ToFastHttpsAppMonitorPtrOutputWithContext(ctx context.Context) FastHttpsAppMonitorPtrOutput { return o } -func (o FastHttpsAppFastCreateMonitorPtrOutput) Elem() FastHttpsAppFastCreateMonitorOutput { - return o.ApplyT(func(v *FastHttpsAppFastCreateMonitor) FastHttpsAppFastCreateMonitor { +func (o FastHttpsAppMonitorPtrOutput) Elem() FastHttpsAppMonitorOutput { + return o.ApplyT(func(v *FastHttpsAppMonitor) FastHttpsAppMonitor { if v != nil { return *v } - var ret FastHttpsAppFastCreateMonitor + var ret FastHttpsAppMonitor return ret - }).(FastHttpsAppFastCreateMonitorOutput) + }).(FastHttpsAppMonitorOutput) } // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. -func (o FastHttpsAppFastCreateMonitorPtrOutput) Interval() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FastHttpsAppFastCreateMonitor) *int { +func (o FastHttpsAppMonitorPtrOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FastHttpsAppMonitor) *int { if v == nil { return nil } @@ -976,8 +957,8 @@ func (o FastHttpsAppFastCreateMonitorPtrOutput) Interval() pulumi.IntPtrOutput { } // set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`. -func (o FastHttpsAppFastCreateMonitorPtrOutput) MonitorAuth() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FastHttpsAppFastCreateMonitor) *bool { +func (o FastHttpsAppMonitorPtrOutput) MonitorAuth() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FastHttpsAppMonitor) *bool { if v == nil { return nil } @@ -986,8 +967,8 @@ func (o FastHttpsAppFastCreateMonitorPtrOutput) MonitorAuth() pulumi.BoolPtrOutp } // password for web access on FAST-Generated Pool Monitor. -func (o FastHttpsAppFastCreateMonitorPtrOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpsAppFastCreateMonitor) *string { +func (o FastHttpsAppMonitorPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsAppMonitor) *string { if v == nil { return nil } @@ -996,8 +977,8 @@ func (o FastHttpsAppFastCreateMonitorPtrOutput) Password() pulumi.StringPtrOutpu } // The presence of this string anywhere in the HTTP response implies availability. -func (o FastHttpsAppFastCreateMonitorPtrOutput) Response() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpsAppFastCreateMonitor) *string { +func (o FastHttpsAppMonitorPtrOutput) Response() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsAppMonitor) *string { if v == nil { return nil } @@ -1006,8 +987,8 @@ func (o FastHttpsAppFastCreateMonitorPtrOutput) Response() pulumi.StringPtrOutpu } // Specify data to be sent during each health check for FAST-Generated Pool Monitor. -func (o FastHttpsAppFastCreateMonitorPtrOutput) SendString() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpsAppFastCreateMonitor) *string { +func (o FastHttpsAppMonitorPtrOutput) SendString() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsAppMonitor) *string { if v == nil { return nil } @@ -1016,8 +997,8 @@ func (o FastHttpsAppFastCreateMonitorPtrOutput) SendString() pulumi.StringPtrOut } // username for web access on FAST-Generated Pool Monitor. -func (o FastHttpsAppFastCreateMonitorPtrOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FastHttpsAppFastCreateMonitor) *string { +func (o FastHttpsAppMonitorPtrOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsAppMonitor) *string { if v == nil { return nil } @@ -1025,7 +1006,7 @@ func (o FastHttpsAppFastCreateMonitorPtrOutput) Username() pulumi.StringPtrOutpu }).(pulumi.StringPtrOutput) } -type FastHttpsAppFastCreatePoolMember struct { +type FastHttpsAppPoolMember struct { // List of server address to be used for FAST-Generated Pool. Addresses []string `pulumi:"addresses"` // connectionLimit value to be used for FAST-Generated Pool. @@ -1038,18 +1019,18 @@ type FastHttpsAppFastCreatePoolMember struct { ShareNodes *bool `pulumi:"shareNodes"` } -// FastHttpsAppFastCreatePoolMemberInput is an input type that accepts FastHttpsAppFastCreatePoolMemberArgs and FastHttpsAppFastCreatePoolMemberOutput values. -// You can construct a concrete instance of `FastHttpsAppFastCreatePoolMemberInput` via: +// FastHttpsAppPoolMemberInput is an input type that accepts FastHttpsAppPoolMemberArgs and FastHttpsAppPoolMemberOutput values. +// You can construct a concrete instance of `FastHttpsAppPoolMemberInput` via: // -// FastHttpsAppFastCreatePoolMemberArgs{...} -type FastHttpsAppFastCreatePoolMemberInput interface { +// FastHttpsAppPoolMemberArgs{...} +type FastHttpsAppPoolMemberInput interface { pulumi.Input - ToFastHttpsAppFastCreatePoolMemberOutput() FastHttpsAppFastCreatePoolMemberOutput - ToFastHttpsAppFastCreatePoolMemberOutputWithContext(context.Context) FastHttpsAppFastCreatePoolMemberOutput + ToFastHttpsAppPoolMemberOutput() FastHttpsAppPoolMemberOutput + ToFastHttpsAppPoolMemberOutputWithContext(context.Context) FastHttpsAppPoolMemberOutput } -type FastHttpsAppFastCreatePoolMemberArgs struct { +type FastHttpsAppPoolMemberArgs struct { // List of server address to be used for FAST-Generated Pool. Addresses pulumi.StringArrayInput `pulumi:"addresses"` // connectionLimit value to be used for FAST-Generated Pool. @@ -1062,106 +1043,418 @@ type FastHttpsAppFastCreatePoolMemberArgs struct { ShareNodes pulumi.BoolPtrInput `pulumi:"shareNodes"` } -func (FastHttpsAppFastCreatePoolMemberArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpsAppFastCreatePoolMember)(nil)).Elem() +func (FastHttpsAppPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppPoolMember)(nil)).Elem() } -func (i FastHttpsAppFastCreatePoolMemberArgs) ToFastHttpsAppFastCreatePoolMemberOutput() FastHttpsAppFastCreatePoolMemberOutput { - return i.ToFastHttpsAppFastCreatePoolMemberOutputWithContext(context.Background()) +func (i FastHttpsAppPoolMemberArgs) ToFastHttpsAppPoolMemberOutput() FastHttpsAppPoolMemberOutput { + return i.ToFastHttpsAppPoolMemberOutputWithContext(context.Background()) } -func (i FastHttpsAppFastCreatePoolMemberArgs) ToFastHttpsAppFastCreatePoolMemberOutputWithContext(ctx context.Context) FastHttpsAppFastCreatePoolMemberOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppFastCreatePoolMemberOutput) +func (i FastHttpsAppPoolMemberArgs) ToFastHttpsAppPoolMemberOutputWithContext(ctx context.Context) FastHttpsAppPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppPoolMemberOutput) } -// FastHttpsAppFastCreatePoolMemberArrayInput is an input type that accepts FastHttpsAppFastCreatePoolMemberArray and FastHttpsAppFastCreatePoolMemberArrayOutput values. -// You can construct a concrete instance of `FastHttpsAppFastCreatePoolMemberArrayInput` via: +// FastHttpsAppPoolMemberArrayInput is an input type that accepts FastHttpsAppPoolMemberArray and FastHttpsAppPoolMemberArrayOutput values. +// You can construct a concrete instance of `FastHttpsAppPoolMemberArrayInput` via: // -// FastHttpsAppFastCreatePoolMemberArray{ FastHttpsAppFastCreatePoolMemberArgs{...} } -type FastHttpsAppFastCreatePoolMemberArrayInput interface { +// FastHttpsAppPoolMemberArray{ FastHttpsAppPoolMemberArgs{...} } +type FastHttpsAppPoolMemberArrayInput interface { pulumi.Input - ToFastHttpsAppFastCreatePoolMemberArrayOutput() FastHttpsAppFastCreatePoolMemberArrayOutput - ToFastHttpsAppFastCreatePoolMemberArrayOutputWithContext(context.Context) FastHttpsAppFastCreatePoolMemberArrayOutput + ToFastHttpsAppPoolMemberArrayOutput() FastHttpsAppPoolMemberArrayOutput + ToFastHttpsAppPoolMemberArrayOutputWithContext(context.Context) FastHttpsAppPoolMemberArrayOutput } -type FastHttpsAppFastCreatePoolMemberArray []FastHttpsAppFastCreatePoolMemberInput +type FastHttpsAppPoolMemberArray []FastHttpsAppPoolMemberInput -func (FastHttpsAppFastCreatePoolMemberArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FastHttpsAppFastCreatePoolMember)(nil)).Elem() +func (FastHttpsAppPoolMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FastHttpsAppPoolMember)(nil)).Elem() } -func (i FastHttpsAppFastCreatePoolMemberArray) ToFastHttpsAppFastCreatePoolMemberArrayOutput() FastHttpsAppFastCreatePoolMemberArrayOutput { - return i.ToFastHttpsAppFastCreatePoolMemberArrayOutputWithContext(context.Background()) +func (i FastHttpsAppPoolMemberArray) ToFastHttpsAppPoolMemberArrayOutput() FastHttpsAppPoolMemberArrayOutput { + return i.ToFastHttpsAppPoolMemberArrayOutputWithContext(context.Background()) } -func (i FastHttpsAppFastCreatePoolMemberArray) ToFastHttpsAppFastCreatePoolMemberArrayOutputWithContext(ctx context.Context) FastHttpsAppFastCreatePoolMemberArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppFastCreatePoolMemberArrayOutput) +func (i FastHttpsAppPoolMemberArray) ToFastHttpsAppPoolMemberArrayOutputWithContext(ctx context.Context) FastHttpsAppPoolMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppPoolMemberArrayOutput) } -type FastHttpsAppFastCreatePoolMemberOutput struct{ *pulumi.OutputState } +type FastHttpsAppPoolMemberOutput struct{ *pulumi.OutputState } -func (FastHttpsAppFastCreatePoolMemberOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FastHttpsAppFastCreatePoolMember)(nil)).Elem() +func (FastHttpsAppPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppPoolMember)(nil)).Elem() } -func (o FastHttpsAppFastCreatePoolMemberOutput) ToFastHttpsAppFastCreatePoolMemberOutput() FastHttpsAppFastCreatePoolMemberOutput { +func (o FastHttpsAppPoolMemberOutput) ToFastHttpsAppPoolMemberOutput() FastHttpsAppPoolMemberOutput { return o } -func (o FastHttpsAppFastCreatePoolMemberOutput) ToFastHttpsAppFastCreatePoolMemberOutputWithContext(ctx context.Context) FastHttpsAppFastCreatePoolMemberOutput { +func (o FastHttpsAppPoolMemberOutput) ToFastHttpsAppPoolMemberOutputWithContext(ctx context.Context) FastHttpsAppPoolMemberOutput { return o } // List of server address to be used for FAST-Generated Pool. -func (o FastHttpsAppFastCreatePoolMemberOutput) Addresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v FastHttpsAppFastCreatePoolMember) []string { return v.Addresses }).(pulumi.StringArrayOutput) +func (o FastHttpsAppPoolMemberOutput) Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v FastHttpsAppPoolMember) []string { return v.Addresses }).(pulumi.StringArrayOutput) } // connectionLimit value to be used for FAST-Generated Pool. -func (o FastHttpsAppFastCreatePoolMemberOutput) ConnectionLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreatePoolMember) *int { return v.ConnectionLimit }).(pulumi.IntPtrOutput) +func (o FastHttpsAppPoolMemberOutput) ConnectionLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastHttpsAppPoolMember) *int { return v.ConnectionLimit }).(pulumi.IntPtrOutput) } // port number of serviceport to be used for FAST-Generated Pool. -func (o FastHttpsAppFastCreatePoolMemberOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreatePoolMember) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o FastHttpsAppPoolMemberOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastHttpsAppPoolMember) *int { return v.Port }).(pulumi.IntPtrOutput) } // priorityGroup value to be used for FAST-Generated Pool. -func (o FastHttpsAppFastCreatePoolMemberOutput) PriorityGroup() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreatePoolMember) *int { return v.PriorityGroup }).(pulumi.IntPtrOutput) +func (o FastHttpsAppPoolMemberOutput) PriorityGroup() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastHttpsAppPoolMember) *int { return v.PriorityGroup }).(pulumi.IntPtrOutput) } // shareNodes value to be used for FAST-Generated Pool. -func (o FastHttpsAppFastCreatePoolMemberOutput) ShareNodes() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FastHttpsAppFastCreatePoolMember) *bool { return v.ShareNodes }).(pulumi.BoolPtrOutput) +func (o FastHttpsAppPoolMemberOutput) ShareNodes() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FastHttpsAppPoolMember) *bool { return v.ShareNodes }).(pulumi.BoolPtrOutput) +} + +type FastHttpsAppPoolMemberArrayOutput struct{ *pulumi.OutputState } + +func (FastHttpsAppPoolMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FastHttpsAppPoolMember)(nil)).Elem() +} + +func (o FastHttpsAppPoolMemberArrayOutput) ToFastHttpsAppPoolMemberArrayOutput() FastHttpsAppPoolMemberArrayOutput { + return o +} + +func (o FastHttpsAppPoolMemberArrayOutput) ToFastHttpsAppPoolMemberArrayOutputWithContext(ctx context.Context) FastHttpsAppPoolMemberArrayOutput { + return o +} + +func (o FastHttpsAppPoolMemberArrayOutput) Index(i pulumi.IntInput) FastHttpsAppPoolMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FastHttpsAppPoolMember { + return vs[0].([]FastHttpsAppPoolMember)[vs[1].(int)] + }).(FastHttpsAppPoolMemberOutput) +} + +type FastHttpsAppTlsClientProfile struct { + // Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + TlsCertName string `pulumi:"tlsCertName"` + // Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + TlsKeyName string `pulumi:"tlsKeyName"` +} + +// FastHttpsAppTlsClientProfileInput is an input type that accepts FastHttpsAppTlsClientProfileArgs and FastHttpsAppTlsClientProfileOutput values. +// You can construct a concrete instance of `FastHttpsAppTlsClientProfileInput` via: +// +// FastHttpsAppTlsClientProfileArgs{...} +type FastHttpsAppTlsClientProfileInput interface { + pulumi.Input + + ToFastHttpsAppTlsClientProfileOutput() FastHttpsAppTlsClientProfileOutput + ToFastHttpsAppTlsClientProfileOutputWithContext(context.Context) FastHttpsAppTlsClientProfileOutput +} + +type FastHttpsAppTlsClientProfileArgs struct { + // Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + TlsCertName pulumi.StringInput `pulumi:"tlsCertName"` + // Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + TlsKeyName pulumi.StringInput `pulumi:"tlsKeyName"` +} + +func (FastHttpsAppTlsClientProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppTlsClientProfile)(nil)).Elem() +} + +func (i FastHttpsAppTlsClientProfileArgs) ToFastHttpsAppTlsClientProfileOutput() FastHttpsAppTlsClientProfileOutput { + return i.ToFastHttpsAppTlsClientProfileOutputWithContext(context.Background()) +} + +func (i FastHttpsAppTlsClientProfileArgs) ToFastHttpsAppTlsClientProfileOutputWithContext(ctx context.Context) FastHttpsAppTlsClientProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppTlsClientProfileOutput) +} + +func (i FastHttpsAppTlsClientProfileArgs) ToFastHttpsAppTlsClientProfilePtrOutput() FastHttpsAppTlsClientProfilePtrOutput { + return i.ToFastHttpsAppTlsClientProfilePtrOutputWithContext(context.Background()) +} + +func (i FastHttpsAppTlsClientProfileArgs) ToFastHttpsAppTlsClientProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppTlsClientProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppTlsClientProfileOutput).ToFastHttpsAppTlsClientProfilePtrOutputWithContext(ctx) +} + +// FastHttpsAppTlsClientProfilePtrInput is an input type that accepts FastHttpsAppTlsClientProfileArgs, FastHttpsAppTlsClientProfilePtr and FastHttpsAppTlsClientProfilePtrOutput values. +// You can construct a concrete instance of `FastHttpsAppTlsClientProfilePtrInput` via: +// +// FastHttpsAppTlsClientProfileArgs{...} +// +// or: +// +// nil +type FastHttpsAppTlsClientProfilePtrInput interface { + pulumi.Input + + ToFastHttpsAppTlsClientProfilePtrOutput() FastHttpsAppTlsClientProfilePtrOutput + ToFastHttpsAppTlsClientProfilePtrOutputWithContext(context.Context) FastHttpsAppTlsClientProfilePtrOutput +} + +type fastHttpsAppTlsClientProfilePtrType FastHttpsAppTlsClientProfileArgs + +func FastHttpsAppTlsClientProfilePtr(v *FastHttpsAppTlsClientProfileArgs) FastHttpsAppTlsClientProfilePtrInput { + return (*fastHttpsAppTlsClientProfilePtrType)(v) +} + +func (*fastHttpsAppTlsClientProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpsAppTlsClientProfile)(nil)).Elem() +} + +func (i *fastHttpsAppTlsClientProfilePtrType) ToFastHttpsAppTlsClientProfilePtrOutput() FastHttpsAppTlsClientProfilePtrOutput { + return i.ToFastHttpsAppTlsClientProfilePtrOutputWithContext(context.Background()) +} + +func (i *fastHttpsAppTlsClientProfilePtrType) ToFastHttpsAppTlsClientProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppTlsClientProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppTlsClientProfilePtrOutput) +} + +type FastHttpsAppTlsClientProfileOutput struct{ *pulumi.OutputState } + +func (FastHttpsAppTlsClientProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppTlsClientProfile)(nil)).Elem() +} + +func (o FastHttpsAppTlsClientProfileOutput) ToFastHttpsAppTlsClientProfileOutput() FastHttpsAppTlsClientProfileOutput { + return o +} + +func (o FastHttpsAppTlsClientProfileOutput) ToFastHttpsAppTlsClientProfileOutputWithContext(ctx context.Context) FastHttpsAppTlsClientProfileOutput { + return o +} + +func (o FastHttpsAppTlsClientProfileOutput) ToFastHttpsAppTlsClientProfilePtrOutput() FastHttpsAppTlsClientProfilePtrOutput { + return o.ToFastHttpsAppTlsClientProfilePtrOutputWithContext(context.Background()) +} + +func (o FastHttpsAppTlsClientProfileOutput) ToFastHttpsAppTlsClientProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppTlsClientProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpsAppTlsClientProfile) *FastHttpsAppTlsClientProfile { + return &v + }).(FastHttpsAppTlsClientProfilePtrOutput) +} + +// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. +func (o FastHttpsAppTlsClientProfileOutput) TlsCertName() pulumi.StringOutput { + return o.ApplyT(func(v FastHttpsAppTlsClientProfile) string { return v.TlsCertName }).(pulumi.StringOutput) +} + +// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. +func (o FastHttpsAppTlsClientProfileOutput) TlsKeyName() pulumi.StringOutput { + return o.ApplyT(func(v FastHttpsAppTlsClientProfile) string { return v.TlsKeyName }).(pulumi.StringOutput) +} + +type FastHttpsAppTlsClientProfilePtrOutput struct{ *pulumi.OutputState } + +func (FastHttpsAppTlsClientProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpsAppTlsClientProfile)(nil)).Elem() +} + +func (o FastHttpsAppTlsClientProfilePtrOutput) ToFastHttpsAppTlsClientProfilePtrOutput() FastHttpsAppTlsClientProfilePtrOutput { + return o +} + +func (o FastHttpsAppTlsClientProfilePtrOutput) ToFastHttpsAppTlsClientProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppTlsClientProfilePtrOutput { + return o +} + +func (o FastHttpsAppTlsClientProfilePtrOutput) Elem() FastHttpsAppTlsClientProfileOutput { + return o.ApplyT(func(v *FastHttpsAppTlsClientProfile) FastHttpsAppTlsClientProfile { + if v != nil { + return *v + } + var ret FastHttpsAppTlsClientProfile + return ret + }).(FastHttpsAppTlsClientProfileOutput) +} + +// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. +func (o FastHttpsAppTlsClientProfilePtrOutput) TlsCertName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsAppTlsClientProfile) *string { + if v == nil { + return nil + } + return &v.TlsCertName + }).(pulumi.StringPtrOutput) +} + +// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. +func (o FastHttpsAppTlsClientProfilePtrOutput) TlsKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsAppTlsClientProfile) *string { + if v == nil { + return nil + } + return &v.TlsKeyName + }).(pulumi.StringPtrOutput) +} + +type FastHttpsAppTlsServerProfile struct { + // Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + TlsCertName string `pulumi:"tlsCertName"` + // Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + TlsKeyName string `pulumi:"tlsKeyName"` +} + +// FastHttpsAppTlsServerProfileInput is an input type that accepts FastHttpsAppTlsServerProfileArgs and FastHttpsAppTlsServerProfileOutput values. +// You can construct a concrete instance of `FastHttpsAppTlsServerProfileInput` via: +// +// FastHttpsAppTlsServerProfileArgs{...} +type FastHttpsAppTlsServerProfileInput interface { + pulumi.Input + + ToFastHttpsAppTlsServerProfileOutput() FastHttpsAppTlsServerProfileOutput + ToFastHttpsAppTlsServerProfileOutputWithContext(context.Context) FastHttpsAppTlsServerProfileOutput +} + +type FastHttpsAppTlsServerProfileArgs struct { + // Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + TlsCertName pulumi.StringInput `pulumi:"tlsCertName"` + // Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + TlsKeyName pulumi.StringInput `pulumi:"tlsKeyName"` +} + +func (FastHttpsAppTlsServerProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppTlsServerProfile)(nil)).Elem() +} + +func (i FastHttpsAppTlsServerProfileArgs) ToFastHttpsAppTlsServerProfileOutput() FastHttpsAppTlsServerProfileOutput { + return i.ToFastHttpsAppTlsServerProfileOutputWithContext(context.Background()) +} + +func (i FastHttpsAppTlsServerProfileArgs) ToFastHttpsAppTlsServerProfileOutputWithContext(ctx context.Context) FastHttpsAppTlsServerProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppTlsServerProfileOutput) +} + +func (i FastHttpsAppTlsServerProfileArgs) ToFastHttpsAppTlsServerProfilePtrOutput() FastHttpsAppTlsServerProfilePtrOutput { + return i.ToFastHttpsAppTlsServerProfilePtrOutputWithContext(context.Background()) +} + +func (i FastHttpsAppTlsServerProfileArgs) ToFastHttpsAppTlsServerProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppTlsServerProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppTlsServerProfileOutput).ToFastHttpsAppTlsServerProfilePtrOutputWithContext(ctx) +} + +// FastHttpsAppTlsServerProfilePtrInput is an input type that accepts FastHttpsAppTlsServerProfileArgs, FastHttpsAppTlsServerProfilePtr and FastHttpsAppTlsServerProfilePtrOutput values. +// You can construct a concrete instance of `FastHttpsAppTlsServerProfilePtrInput` via: +// +// FastHttpsAppTlsServerProfileArgs{...} +// +// or: +// +// nil +type FastHttpsAppTlsServerProfilePtrInput interface { + pulumi.Input + + ToFastHttpsAppTlsServerProfilePtrOutput() FastHttpsAppTlsServerProfilePtrOutput + ToFastHttpsAppTlsServerProfilePtrOutputWithContext(context.Context) FastHttpsAppTlsServerProfilePtrOutput +} + +type fastHttpsAppTlsServerProfilePtrType FastHttpsAppTlsServerProfileArgs + +func FastHttpsAppTlsServerProfilePtr(v *FastHttpsAppTlsServerProfileArgs) FastHttpsAppTlsServerProfilePtrInput { + return (*fastHttpsAppTlsServerProfilePtrType)(v) +} + +func (*fastHttpsAppTlsServerProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpsAppTlsServerProfile)(nil)).Elem() +} + +func (i *fastHttpsAppTlsServerProfilePtrType) ToFastHttpsAppTlsServerProfilePtrOutput() FastHttpsAppTlsServerProfilePtrOutput { + return i.ToFastHttpsAppTlsServerProfilePtrOutputWithContext(context.Background()) +} + +func (i *fastHttpsAppTlsServerProfilePtrType) ToFastHttpsAppTlsServerProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppTlsServerProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppTlsServerProfilePtrOutput) +} + +type FastHttpsAppTlsServerProfileOutput struct{ *pulumi.OutputState } + +func (FastHttpsAppTlsServerProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppTlsServerProfile)(nil)).Elem() +} + +func (o FastHttpsAppTlsServerProfileOutput) ToFastHttpsAppTlsServerProfileOutput() FastHttpsAppTlsServerProfileOutput { + return o +} + +func (o FastHttpsAppTlsServerProfileOutput) ToFastHttpsAppTlsServerProfileOutputWithContext(ctx context.Context) FastHttpsAppTlsServerProfileOutput { + return o +} + +func (o FastHttpsAppTlsServerProfileOutput) ToFastHttpsAppTlsServerProfilePtrOutput() FastHttpsAppTlsServerProfilePtrOutput { + return o.ToFastHttpsAppTlsServerProfilePtrOutputWithContext(context.Background()) +} + +func (o FastHttpsAppTlsServerProfileOutput) ToFastHttpsAppTlsServerProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppTlsServerProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpsAppTlsServerProfile) *FastHttpsAppTlsServerProfile { + return &v + }).(FastHttpsAppTlsServerProfilePtrOutput) +} + +// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. +func (o FastHttpsAppTlsServerProfileOutput) TlsCertName() pulumi.StringOutput { + return o.ApplyT(func(v FastHttpsAppTlsServerProfile) string { return v.TlsCertName }).(pulumi.StringOutput) +} + +// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. +func (o FastHttpsAppTlsServerProfileOutput) TlsKeyName() pulumi.StringOutput { + return o.ApplyT(func(v FastHttpsAppTlsServerProfile) string { return v.TlsKeyName }).(pulumi.StringOutput) } -type FastHttpsAppFastCreatePoolMemberArrayOutput struct{ *pulumi.OutputState } +type FastHttpsAppTlsServerProfilePtrOutput struct{ *pulumi.OutputState } -func (FastHttpsAppFastCreatePoolMemberArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FastHttpsAppFastCreatePoolMember)(nil)).Elem() +func (FastHttpsAppTlsServerProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpsAppTlsServerProfile)(nil)).Elem() } -func (o FastHttpsAppFastCreatePoolMemberArrayOutput) ToFastHttpsAppFastCreatePoolMemberArrayOutput() FastHttpsAppFastCreatePoolMemberArrayOutput { +func (o FastHttpsAppTlsServerProfilePtrOutput) ToFastHttpsAppTlsServerProfilePtrOutput() FastHttpsAppTlsServerProfilePtrOutput { return o } -func (o FastHttpsAppFastCreatePoolMemberArrayOutput) ToFastHttpsAppFastCreatePoolMemberArrayOutputWithContext(ctx context.Context) FastHttpsAppFastCreatePoolMemberArrayOutput { +func (o FastHttpsAppTlsServerProfilePtrOutput) ToFastHttpsAppTlsServerProfilePtrOutputWithContext(ctx context.Context) FastHttpsAppTlsServerProfilePtrOutput { return o } -func (o FastHttpsAppFastCreatePoolMemberArrayOutput) Index(i pulumi.IntInput) FastHttpsAppFastCreatePoolMemberOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FastHttpsAppFastCreatePoolMember { - return vs[0].([]FastHttpsAppFastCreatePoolMember)[vs[1].(int)] - }).(FastHttpsAppFastCreatePoolMemberOutput) +func (o FastHttpsAppTlsServerProfilePtrOutput) Elem() FastHttpsAppTlsServerProfileOutput { + return o.ApplyT(func(v *FastHttpsAppTlsServerProfile) FastHttpsAppTlsServerProfile { + if v != nil { + return *v + } + var ret FastHttpsAppTlsServerProfile + return ret + }).(FastHttpsAppTlsServerProfileOutput) +} + +// Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. +func (o FastHttpsAppTlsServerProfilePtrOutput) TlsCertName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsAppTlsServerProfile) *string { + if v == nil { + return nil + } + return &v.TlsCertName + }).(pulumi.StringPtrOutput) +} + +// Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. +func (o FastHttpsAppTlsServerProfilePtrOutput) TlsKeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastHttpsAppTlsServerProfile) *string { + if v == nil { + return nil + } + return &v.TlsKeyName + }).(pulumi.StringPtrOutput) } type FastHttpsAppVirtualServer struct { // IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` Ip string `pulumi:"ip"` - // -(Optional , `int`) Port number to used for accessing virtual server/application + // Port number to used for accessing virtual server/application Port int `pulumi:"port"` } @@ -1179,7 +1472,7 @@ type FastHttpsAppVirtualServerInput interface { type FastHttpsAppVirtualServerArgs struct { // IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` Ip pulumi.StringInput `pulumi:"ip"` - // -(Optional , `int`) Port number to used for accessing virtual server/application + // Port number to used for accessing virtual server/application Port pulumi.IntInput `pulumi:"port"` } @@ -1265,7 +1558,7 @@ func (o FastHttpsAppVirtualServerOutput) Ip() pulumi.StringOutput { return o.ApplyT(func(v FastHttpsAppVirtualServer) string { return v.Ip }).(pulumi.StringOutput) } -// -(Optional , `int`) Port number to used for accessing virtual server/application +// Port number to used for accessing virtual server/application func (o FastHttpsAppVirtualServerOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v FastHttpsAppVirtualServer) int { return v.Port }).(pulumi.IntOutput) } @@ -1304,7 +1597,7 @@ func (o FastHttpsAppVirtualServerPtrOutput) Ip() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// -(Optional , `int`) Port number to used for accessing virtual server/application +// Port number to used for accessing virtual server/application func (o FastHttpsAppVirtualServerPtrOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v *FastHttpsAppVirtualServer) *int { if v == nil { @@ -1314,280 +1607,417 @@ func (o FastHttpsAppVirtualServerPtrOutput) Port() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -type FastTcpAppFastCreateMonitor struct { - // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. - Interval *int `pulumi:"interval"` +type FastHttpsAppWafSecurityPolicy struct { + // Setting `true` will enable FAST to create WAF Security Policy. + Enable bool `pulumi:"enable"` } -// FastTcpAppFastCreateMonitorInput is an input type that accepts FastTcpAppFastCreateMonitorArgs and FastTcpAppFastCreateMonitorOutput values. -// You can construct a concrete instance of `FastTcpAppFastCreateMonitorInput` via: +// FastHttpsAppWafSecurityPolicyInput is an input type that accepts FastHttpsAppWafSecurityPolicyArgs and FastHttpsAppWafSecurityPolicyOutput values. +// You can construct a concrete instance of `FastHttpsAppWafSecurityPolicyInput` via: // -// FastTcpAppFastCreateMonitorArgs{...} -type FastTcpAppFastCreateMonitorInput interface { +// FastHttpsAppWafSecurityPolicyArgs{...} +type FastHttpsAppWafSecurityPolicyInput interface { pulumi.Input - ToFastTcpAppFastCreateMonitorOutput() FastTcpAppFastCreateMonitorOutput - ToFastTcpAppFastCreateMonitorOutputWithContext(context.Context) FastTcpAppFastCreateMonitorOutput + ToFastHttpsAppWafSecurityPolicyOutput() FastHttpsAppWafSecurityPolicyOutput + ToFastHttpsAppWafSecurityPolicyOutputWithContext(context.Context) FastHttpsAppWafSecurityPolicyOutput } -type FastTcpAppFastCreateMonitorArgs struct { - // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. - Interval pulumi.IntPtrInput `pulumi:"interval"` +type FastHttpsAppWafSecurityPolicyArgs struct { + // Setting `true` will enable FAST to create WAF Security Policy. + Enable pulumi.BoolInput `pulumi:"enable"` } -func (FastTcpAppFastCreateMonitorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FastTcpAppFastCreateMonitor)(nil)).Elem() +func (FastHttpsAppWafSecurityPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppWafSecurityPolicy)(nil)).Elem() } -func (i FastTcpAppFastCreateMonitorArgs) ToFastTcpAppFastCreateMonitorOutput() FastTcpAppFastCreateMonitorOutput { - return i.ToFastTcpAppFastCreateMonitorOutputWithContext(context.Background()) +func (i FastHttpsAppWafSecurityPolicyArgs) ToFastHttpsAppWafSecurityPolicyOutput() FastHttpsAppWafSecurityPolicyOutput { + return i.ToFastHttpsAppWafSecurityPolicyOutputWithContext(context.Background()) } -func (i FastTcpAppFastCreateMonitorArgs) ToFastTcpAppFastCreateMonitorOutputWithContext(ctx context.Context) FastTcpAppFastCreateMonitorOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppFastCreateMonitorOutput) +func (i FastHttpsAppWafSecurityPolicyArgs) ToFastHttpsAppWafSecurityPolicyOutputWithContext(ctx context.Context) FastHttpsAppWafSecurityPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppWafSecurityPolicyOutput) } -func (i FastTcpAppFastCreateMonitorArgs) ToFastTcpAppFastCreateMonitorPtrOutput() FastTcpAppFastCreateMonitorPtrOutput { - return i.ToFastTcpAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (i FastHttpsAppWafSecurityPolicyArgs) ToFastHttpsAppWafSecurityPolicyPtrOutput() FastHttpsAppWafSecurityPolicyPtrOutput { + return i.ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(context.Background()) } -func (i FastTcpAppFastCreateMonitorArgs) ToFastTcpAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastTcpAppFastCreateMonitorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppFastCreateMonitorOutput).ToFastTcpAppFastCreateMonitorPtrOutputWithContext(ctx) +func (i FastHttpsAppWafSecurityPolicyArgs) ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(ctx context.Context) FastHttpsAppWafSecurityPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppWafSecurityPolicyOutput).ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(ctx) } -// FastTcpAppFastCreateMonitorPtrInput is an input type that accepts FastTcpAppFastCreateMonitorArgs, FastTcpAppFastCreateMonitorPtr and FastTcpAppFastCreateMonitorPtrOutput values. -// You can construct a concrete instance of `FastTcpAppFastCreateMonitorPtrInput` via: +// FastHttpsAppWafSecurityPolicyPtrInput is an input type that accepts FastHttpsAppWafSecurityPolicyArgs, FastHttpsAppWafSecurityPolicyPtr and FastHttpsAppWafSecurityPolicyPtrOutput values. +// You can construct a concrete instance of `FastHttpsAppWafSecurityPolicyPtrInput` via: // -// FastTcpAppFastCreateMonitorArgs{...} +// FastHttpsAppWafSecurityPolicyArgs{...} // // or: // // nil -type FastTcpAppFastCreateMonitorPtrInput interface { +type FastHttpsAppWafSecurityPolicyPtrInput interface { pulumi.Input - ToFastTcpAppFastCreateMonitorPtrOutput() FastTcpAppFastCreateMonitorPtrOutput - ToFastTcpAppFastCreateMonitorPtrOutputWithContext(context.Context) FastTcpAppFastCreateMonitorPtrOutput + ToFastHttpsAppWafSecurityPolicyPtrOutput() FastHttpsAppWafSecurityPolicyPtrOutput + ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(context.Context) FastHttpsAppWafSecurityPolicyPtrOutput } -type fastTcpAppFastCreateMonitorPtrType FastTcpAppFastCreateMonitorArgs +type fastHttpsAppWafSecurityPolicyPtrType FastHttpsAppWafSecurityPolicyArgs -func FastTcpAppFastCreateMonitorPtr(v *FastTcpAppFastCreateMonitorArgs) FastTcpAppFastCreateMonitorPtrInput { - return (*fastTcpAppFastCreateMonitorPtrType)(v) +func FastHttpsAppWafSecurityPolicyPtr(v *FastHttpsAppWafSecurityPolicyArgs) FastHttpsAppWafSecurityPolicyPtrInput { + return (*fastHttpsAppWafSecurityPolicyPtrType)(v) } -func (*fastTcpAppFastCreateMonitorPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FastTcpAppFastCreateMonitor)(nil)).Elem() +func (*fastHttpsAppWafSecurityPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpsAppWafSecurityPolicy)(nil)).Elem() } -func (i *fastTcpAppFastCreateMonitorPtrType) ToFastTcpAppFastCreateMonitorPtrOutput() FastTcpAppFastCreateMonitorPtrOutput { - return i.ToFastTcpAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (i *fastHttpsAppWafSecurityPolicyPtrType) ToFastHttpsAppWafSecurityPolicyPtrOutput() FastHttpsAppWafSecurityPolicyPtrOutput { + return i.ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(context.Background()) } -func (i *fastTcpAppFastCreateMonitorPtrType) ToFastTcpAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastTcpAppFastCreateMonitorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppFastCreateMonitorPtrOutput) +func (i *fastHttpsAppWafSecurityPolicyPtrType) ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(ctx context.Context) FastHttpsAppWafSecurityPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastHttpsAppWafSecurityPolicyPtrOutput) } -type FastTcpAppFastCreateMonitorOutput struct{ *pulumi.OutputState } +type FastHttpsAppWafSecurityPolicyOutput struct{ *pulumi.OutputState } -func (FastTcpAppFastCreateMonitorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FastTcpAppFastCreateMonitor)(nil)).Elem() +func (FastHttpsAppWafSecurityPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastHttpsAppWafSecurityPolicy)(nil)).Elem() } -func (o FastTcpAppFastCreateMonitorOutput) ToFastTcpAppFastCreateMonitorOutput() FastTcpAppFastCreateMonitorOutput { +func (o FastHttpsAppWafSecurityPolicyOutput) ToFastHttpsAppWafSecurityPolicyOutput() FastHttpsAppWafSecurityPolicyOutput { return o } -func (o FastTcpAppFastCreateMonitorOutput) ToFastTcpAppFastCreateMonitorOutputWithContext(ctx context.Context) FastTcpAppFastCreateMonitorOutput { +func (o FastHttpsAppWafSecurityPolicyOutput) ToFastHttpsAppWafSecurityPolicyOutputWithContext(ctx context.Context) FastHttpsAppWafSecurityPolicyOutput { return o } -func (o FastTcpAppFastCreateMonitorOutput) ToFastTcpAppFastCreateMonitorPtrOutput() FastTcpAppFastCreateMonitorPtrOutput { - return o.ToFastTcpAppFastCreateMonitorPtrOutputWithContext(context.Background()) +func (o FastHttpsAppWafSecurityPolicyOutput) ToFastHttpsAppWafSecurityPolicyPtrOutput() FastHttpsAppWafSecurityPolicyPtrOutput { + return o.ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(context.Background()) } -func (o FastTcpAppFastCreateMonitorOutput) ToFastTcpAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastTcpAppFastCreateMonitorPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FastTcpAppFastCreateMonitor) *FastTcpAppFastCreateMonitor { +func (o FastHttpsAppWafSecurityPolicyOutput) ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(ctx context.Context) FastHttpsAppWafSecurityPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastHttpsAppWafSecurityPolicy) *FastHttpsAppWafSecurityPolicy { return &v - }).(FastTcpAppFastCreateMonitorPtrOutput) + }).(FastHttpsAppWafSecurityPolicyPtrOutput) } -// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. -func (o FastTcpAppFastCreateMonitorOutput) Interval() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastTcpAppFastCreateMonitor) *int { return v.Interval }).(pulumi.IntPtrOutput) +// Setting `true` will enable FAST to create WAF Security Policy. +func (o FastHttpsAppWafSecurityPolicyOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v FastHttpsAppWafSecurityPolicy) bool { return v.Enable }).(pulumi.BoolOutput) } -type FastTcpAppFastCreateMonitorPtrOutput struct{ *pulumi.OutputState } +type FastHttpsAppWafSecurityPolicyPtrOutput struct{ *pulumi.OutputState } -func (FastTcpAppFastCreateMonitorPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FastTcpAppFastCreateMonitor)(nil)).Elem() +func (FastHttpsAppWafSecurityPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastHttpsAppWafSecurityPolicy)(nil)).Elem() } -func (o FastTcpAppFastCreateMonitorPtrOutput) ToFastTcpAppFastCreateMonitorPtrOutput() FastTcpAppFastCreateMonitorPtrOutput { +func (o FastHttpsAppWafSecurityPolicyPtrOutput) ToFastHttpsAppWafSecurityPolicyPtrOutput() FastHttpsAppWafSecurityPolicyPtrOutput { return o } -func (o FastTcpAppFastCreateMonitorPtrOutput) ToFastTcpAppFastCreateMonitorPtrOutputWithContext(ctx context.Context) FastTcpAppFastCreateMonitorPtrOutput { +func (o FastHttpsAppWafSecurityPolicyPtrOutput) ToFastHttpsAppWafSecurityPolicyPtrOutputWithContext(ctx context.Context) FastHttpsAppWafSecurityPolicyPtrOutput { return o } -func (o FastTcpAppFastCreateMonitorPtrOutput) Elem() FastTcpAppFastCreateMonitorOutput { - return o.ApplyT(func(v *FastTcpAppFastCreateMonitor) FastTcpAppFastCreateMonitor { +func (o FastHttpsAppWafSecurityPolicyPtrOutput) Elem() FastHttpsAppWafSecurityPolicyOutput { + return o.ApplyT(func(v *FastHttpsAppWafSecurityPolicy) FastHttpsAppWafSecurityPolicy { if v != nil { return *v } - var ret FastTcpAppFastCreateMonitor + var ret FastHttpsAppWafSecurityPolicy return ret - }).(FastTcpAppFastCreateMonitorOutput) + }).(FastHttpsAppWafSecurityPolicyOutput) } -// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. -func (o FastTcpAppFastCreateMonitorPtrOutput) Interval() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FastTcpAppFastCreateMonitor) *int { +// Setting `true` will enable FAST to create WAF Security Policy. +func (o FastHttpsAppWafSecurityPolicyPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FastHttpsAppWafSecurityPolicy) *bool { if v == nil { return nil } - return v.Interval - }).(pulumi.IntPtrOutput) + return &v.Enable + }).(pulumi.BoolPtrOutput) } -type FastTcpAppFastCreatePoolMember struct { - // List of server address to be used for FAST-Generated Pool. - Addresses []string `pulumi:"addresses"` - // connectionLimit value to be used for FAST-Generated Pool. - ConnectionLimit *int `pulumi:"connectionLimit"` - // port number of serviceport to be used for FAST-Generated Pool. - Port *int `pulumi:"port"` - // priorityGroup value to be used for FAST-Generated Pool. - PriorityGroup *int `pulumi:"priorityGroup"` - // shareNodes value to be used for FAST-Generated Pool. - ShareNodes *bool `pulumi:"shareNodes"` +type FastTcpAppMonitor struct { + // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + Interval *int `pulumi:"interval"` } -// FastTcpAppFastCreatePoolMemberInput is an input type that accepts FastTcpAppFastCreatePoolMemberArgs and FastTcpAppFastCreatePoolMemberOutput values. -// You can construct a concrete instance of `FastTcpAppFastCreatePoolMemberInput` via: +// FastTcpAppMonitorInput is an input type that accepts FastTcpAppMonitorArgs and FastTcpAppMonitorOutput values. +// You can construct a concrete instance of `FastTcpAppMonitorInput` via: // -// FastTcpAppFastCreatePoolMemberArgs{...} -type FastTcpAppFastCreatePoolMemberInput interface { +// FastTcpAppMonitorArgs{...} +type FastTcpAppMonitorInput interface { pulumi.Input - ToFastTcpAppFastCreatePoolMemberOutput() FastTcpAppFastCreatePoolMemberOutput - ToFastTcpAppFastCreatePoolMemberOutputWithContext(context.Context) FastTcpAppFastCreatePoolMemberOutput -} - -type FastTcpAppFastCreatePoolMemberArgs struct { - // List of server address to be used for FAST-Generated Pool. - Addresses pulumi.StringArrayInput `pulumi:"addresses"` - // connectionLimit value to be used for FAST-Generated Pool. - ConnectionLimit pulumi.IntPtrInput `pulumi:"connectionLimit"` - // port number of serviceport to be used for FAST-Generated Pool. - Port pulumi.IntPtrInput `pulumi:"port"` - // priorityGroup value to be used for FAST-Generated Pool. - PriorityGroup pulumi.IntPtrInput `pulumi:"priorityGroup"` - // shareNodes value to be used for FAST-Generated Pool. - ShareNodes pulumi.BoolPtrInput `pulumi:"shareNodes"` + ToFastTcpAppMonitorOutput() FastTcpAppMonitorOutput + ToFastTcpAppMonitorOutputWithContext(context.Context) FastTcpAppMonitorOutput } -func (FastTcpAppFastCreatePoolMemberArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FastTcpAppFastCreatePoolMember)(nil)).Elem() +type FastTcpAppMonitorArgs struct { + // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + Interval pulumi.IntPtrInput `pulumi:"interval"` } -func (i FastTcpAppFastCreatePoolMemberArgs) ToFastTcpAppFastCreatePoolMemberOutput() FastTcpAppFastCreatePoolMemberOutput { - return i.ToFastTcpAppFastCreatePoolMemberOutputWithContext(context.Background()) +func (FastTcpAppMonitorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastTcpAppMonitor)(nil)).Elem() } -func (i FastTcpAppFastCreatePoolMemberArgs) ToFastTcpAppFastCreatePoolMemberOutputWithContext(ctx context.Context) FastTcpAppFastCreatePoolMemberOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppFastCreatePoolMemberOutput) +func (i FastTcpAppMonitorArgs) ToFastTcpAppMonitorOutput() FastTcpAppMonitorOutput { + return i.ToFastTcpAppMonitorOutputWithContext(context.Background()) } -// FastTcpAppFastCreatePoolMemberArrayInput is an input type that accepts FastTcpAppFastCreatePoolMemberArray and FastTcpAppFastCreatePoolMemberArrayOutput values. -// You can construct a concrete instance of `FastTcpAppFastCreatePoolMemberArrayInput` via: -// -// FastTcpAppFastCreatePoolMemberArray{ FastTcpAppFastCreatePoolMemberArgs{...} } -type FastTcpAppFastCreatePoolMemberArrayInput interface { - pulumi.Input - - ToFastTcpAppFastCreatePoolMemberArrayOutput() FastTcpAppFastCreatePoolMemberArrayOutput - ToFastTcpAppFastCreatePoolMemberArrayOutputWithContext(context.Context) FastTcpAppFastCreatePoolMemberArrayOutput +func (i FastTcpAppMonitorArgs) ToFastTcpAppMonitorOutputWithContext(ctx context.Context) FastTcpAppMonitorOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppMonitorOutput) } -type FastTcpAppFastCreatePoolMemberArray []FastTcpAppFastCreatePoolMemberInput - -func (FastTcpAppFastCreatePoolMemberArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FastTcpAppFastCreatePoolMember)(nil)).Elem() +func (i FastTcpAppMonitorArgs) ToFastTcpAppMonitorPtrOutput() FastTcpAppMonitorPtrOutput { + return i.ToFastTcpAppMonitorPtrOutputWithContext(context.Background()) } -func (i FastTcpAppFastCreatePoolMemberArray) ToFastTcpAppFastCreatePoolMemberArrayOutput() FastTcpAppFastCreatePoolMemberArrayOutput { - return i.ToFastTcpAppFastCreatePoolMemberArrayOutputWithContext(context.Background()) +func (i FastTcpAppMonitorArgs) ToFastTcpAppMonitorPtrOutputWithContext(ctx context.Context) FastTcpAppMonitorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppMonitorOutput).ToFastTcpAppMonitorPtrOutputWithContext(ctx) } -func (i FastTcpAppFastCreatePoolMemberArray) ToFastTcpAppFastCreatePoolMemberArrayOutputWithContext(ctx context.Context) FastTcpAppFastCreatePoolMemberArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppFastCreatePoolMemberArrayOutput) -} +// FastTcpAppMonitorPtrInput is an input type that accepts FastTcpAppMonitorArgs, FastTcpAppMonitorPtr and FastTcpAppMonitorPtrOutput values. +// You can construct a concrete instance of `FastTcpAppMonitorPtrInput` via: +// +// FastTcpAppMonitorArgs{...} +// +// or: +// +// nil +type FastTcpAppMonitorPtrInput interface { + pulumi.Input + + ToFastTcpAppMonitorPtrOutput() FastTcpAppMonitorPtrOutput + ToFastTcpAppMonitorPtrOutputWithContext(context.Context) FastTcpAppMonitorPtrOutput +} + +type fastTcpAppMonitorPtrType FastTcpAppMonitorArgs + +func FastTcpAppMonitorPtr(v *FastTcpAppMonitorArgs) FastTcpAppMonitorPtrInput { + return (*fastTcpAppMonitorPtrType)(v) +} + +func (*fastTcpAppMonitorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastTcpAppMonitor)(nil)).Elem() +} + +func (i *fastTcpAppMonitorPtrType) ToFastTcpAppMonitorPtrOutput() FastTcpAppMonitorPtrOutput { + return i.ToFastTcpAppMonitorPtrOutputWithContext(context.Background()) +} + +func (i *fastTcpAppMonitorPtrType) ToFastTcpAppMonitorPtrOutputWithContext(ctx context.Context) FastTcpAppMonitorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppMonitorPtrOutput) +} + +type FastTcpAppMonitorOutput struct{ *pulumi.OutputState } + +func (FastTcpAppMonitorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastTcpAppMonitor)(nil)).Elem() +} + +func (o FastTcpAppMonitorOutput) ToFastTcpAppMonitorOutput() FastTcpAppMonitorOutput { + return o +} + +func (o FastTcpAppMonitorOutput) ToFastTcpAppMonitorOutputWithContext(ctx context.Context) FastTcpAppMonitorOutput { + return o +} + +func (o FastTcpAppMonitorOutput) ToFastTcpAppMonitorPtrOutput() FastTcpAppMonitorPtrOutput { + return o.ToFastTcpAppMonitorPtrOutputWithContext(context.Background()) +} + +func (o FastTcpAppMonitorOutput) ToFastTcpAppMonitorPtrOutputWithContext(ctx context.Context) FastTcpAppMonitorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastTcpAppMonitor) *FastTcpAppMonitor { + return &v + }).(FastTcpAppMonitorPtrOutput) +} + +// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. +func (o FastTcpAppMonitorOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastTcpAppMonitor) *int { return v.Interval }).(pulumi.IntPtrOutput) +} -type FastTcpAppFastCreatePoolMemberOutput struct{ *pulumi.OutputState } +type FastTcpAppMonitorPtrOutput struct{ *pulumi.OutputState } -func (FastTcpAppFastCreatePoolMemberOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FastTcpAppFastCreatePoolMember)(nil)).Elem() +func (FastTcpAppMonitorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastTcpAppMonitor)(nil)).Elem() } -func (o FastTcpAppFastCreatePoolMemberOutput) ToFastTcpAppFastCreatePoolMemberOutput() FastTcpAppFastCreatePoolMemberOutput { +func (o FastTcpAppMonitorPtrOutput) ToFastTcpAppMonitorPtrOutput() FastTcpAppMonitorPtrOutput { return o } -func (o FastTcpAppFastCreatePoolMemberOutput) ToFastTcpAppFastCreatePoolMemberOutputWithContext(ctx context.Context) FastTcpAppFastCreatePoolMemberOutput { +func (o FastTcpAppMonitorPtrOutput) ToFastTcpAppMonitorPtrOutputWithContext(ctx context.Context) FastTcpAppMonitorPtrOutput { + return o +} + +func (o FastTcpAppMonitorPtrOutput) Elem() FastTcpAppMonitorOutput { + return o.ApplyT(func(v *FastTcpAppMonitor) FastTcpAppMonitor { + if v != nil { + return *v + } + var ret FastTcpAppMonitor + return ret + }).(FastTcpAppMonitorOutput) +} + +// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. +func (o FastTcpAppMonitorPtrOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FastTcpAppMonitor) *int { + if v == nil { + return nil + } + return v.Interval + }).(pulumi.IntPtrOutput) +} + +type FastTcpAppPoolMember struct { + // List of server address to be used for FAST-Generated Pool. + Addresses []string `pulumi:"addresses"` + // connectionLimit value to be used for FAST-Generated Pool. + ConnectionLimit *int `pulumi:"connectionLimit"` + // port number of serviceport to be used for FAST-Generated Pool. + Port *int `pulumi:"port"` + // priorityGroup value to be used for FAST-Generated Pool. + PriorityGroup *int `pulumi:"priorityGroup"` + // shareNodes value to be used for FAST-Generated Pool. + ShareNodes *bool `pulumi:"shareNodes"` +} + +// FastTcpAppPoolMemberInput is an input type that accepts FastTcpAppPoolMemberArgs and FastTcpAppPoolMemberOutput values. +// You can construct a concrete instance of `FastTcpAppPoolMemberInput` via: +// +// FastTcpAppPoolMemberArgs{...} +type FastTcpAppPoolMemberInput interface { + pulumi.Input + + ToFastTcpAppPoolMemberOutput() FastTcpAppPoolMemberOutput + ToFastTcpAppPoolMemberOutputWithContext(context.Context) FastTcpAppPoolMemberOutput +} + +type FastTcpAppPoolMemberArgs struct { + // List of server address to be used for FAST-Generated Pool. + Addresses pulumi.StringArrayInput `pulumi:"addresses"` + // connectionLimit value to be used for FAST-Generated Pool. + ConnectionLimit pulumi.IntPtrInput `pulumi:"connectionLimit"` + // port number of serviceport to be used for FAST-Generated Pool. + Port pulumi.IntPtrInput `pulumi:"port"` + // priorityGroup value to be used for FAST-Generated Pool. + PriorityGroup pulumi.IntPtrInput `pulumi:"priorityGroup"` + // shareNodes value to be used for FAST-Generated Pool. + ShareNodes pulumi.BoolPtrInput `pulumi:"shareNodes"` +} + +func (FastTcpAppPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastTcpAppPoolMember)(nil)).Elem() +} + +func (i FastTcpAppPoolMemberArgs) ToFastTcpAppPoolMemberOutput() FastTcpAppPoolMemberOutput { + return i.ToFastTcpAppPoolMemberOutputWithContext(context.Background()) +} + +func (i FastTcpAppPoolMemberArgs) ToFastTcpAppPoolMemberOutputWithContext(ctx context.Context) FastTcpAppPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppPoolMemberOutput) +} + +// FastTcpAppPoolMemberArrayInput is an input type that accepts FastTcpAppPoolMemberArray and FastTcpAppPoolMemberArrayOutput values. +// You can construct a concrete instance of `FastTcpAppPoolMemberArrayInput` via: +// +// FastTcpAppPoolMemberArray{ FastTcpAppPoolMemberArgs{...} } +type FastTcpAppPoolMemberArrayInput interface { + pulumi.Input + + ToFastTcpAppPoolMemberArrayOutput() FastTcpAppPoolMemberArrayOutput + ToFastTcpAppPoolMemberArrayOutputWithContext(context.Context) FastTcpAppPoolMemberArrayOutput +} + +type FastTcpAppPoolMemberArray []FastTcpAppPoolMemberInput + +func (FastTcpAppPoolMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FastTcpAppPoolMember)(nil)).Elem() +} + +func (i FastTcpAppPoolMemberArray) ToFastTcpAppPoolMemberArrayOutput() FastTcpAppPoolMemberArrayOutput { + return i.ToFastTcpAppPoolMemberArrayOutputWithContext(context.Background()) +} + +func (i FastTcpAppPoolMemberArray) ToFastTcpAppPoolMemberArrayOutputWithContext(ctx context.Context) FastTcpAppPoolMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastTcpAppPoolMemberArrayOutput) +} + +type FastTcpAppPoolMemberOutput struct{ *pulumi.OutputState } + +func (FastTcpAppPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastTcpAppPoolMember)(nil)).Elem() +} + +func (o FastTcpAppPoolMemberOutput) ToFastTcpAppPoolMemberOutput() FastTcpAppPoolMemberOutput { + return o +} + +func (o FastTcpAppPoolMemberOutput) ToFastTcpAppPoolMemberOutputWithContext(ctx context.Context) FastTcpAppPoolMemberOutput { return o } // List of server address to be used for FAST-Generated Pool. -func (o FastTcpAppFastCreatePoolMemberOutput) Addresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v FastTcpAppFastCreatePoolMember) []string { return v.Addresses }).(pulumi.StringArrayOutput) +func (o FastTcpAppPoolMemberOutput) Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v FastTcpAppPoolMember) []string { return v.Addresses }).(pulumi.StringArrayOutput) } // connectionLimit value to be used for FAST-Generated Pool. -func (o FastTcpAppFastCreatePoolMemberOutput) ConnectionLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastTcpAppFastCreatePoolMember) *int { return v.ConnectionLimit }).(pulumi.IntPtrOutput) +func (o FastTcpAppPoolMemberOutput) ConnectionLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastTcpAppPoolMember) *int { return v.ConnectionLimit }).(pulumi.IntPtrOutput) } // port number of serviceport to be used for FAST-Generated Pool. -func (o FastTcpAppFastCreatePoolMemberOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastTcpAppFastCreatePoolMember) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o FastTcpAppPoolMemberOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastTcpAppPoolMember) *int { return v.Port }).(pulumi.IntPtrOutput) } // priorityGroup value to be used for FAST-Generated Pool. -func (o FastTcpAppFastCreatePoolMemberOutput) PriorityGroup() pulumi.IntPtrOutput { - return o.ApplyT(func(v FastTcpAppFastCreatePoolMember) *int { return v.PriorityGroup }).(pulumi.IntPtrOutput) +func (o FastTcpAppPoolMemberOutput) PriorityGroup() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastTcpAppPoolMember) *int { return v.PriorityGroup }).(pulumi.IntPtrOutput) } // shareNodes value to be used for FAST-Generated Pool. -func (o FastTcpAppFastCreatePoolMemberOutput) ShareNodes() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FastTcpAppFastCreatePoolMember) *bool { return v.ShareNodes }).(pulumi.BoolPtrOutput) +func (o FastTcpAppPoolMemberOutput) ShareNodes() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FastTcpAppPoolMember) *bool { return v.ShareNodes }).(pulumi.BoolPtrOutput) } -type FastTcpAppFastCreatePoolMemberArrayOutput struct{ *pulumi.OutputState } +type FastTcpAppPoolMemberArrayOutput struct{ *pulumi.OutputState } -func (FastTcpAppFastCreatePoolMemberArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FastTcpAppFastCreatePoolMember)(nil)).Elem() +func (FastTcpAppPoolMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FastTcpAppPoolMember)(nil)).Elem() } -func (o FastTcpAppFastCreatePoolMemberArrayOutput) ToFastTcpAppFastCreatePoolMemberArrayOutput() FastTcpAppFastCreatePoolMemberArrayOutput { +func (o FastTcpAppPoolMemberArrayOutput) ToFastTcpAppPoolMemberArrayOutput() FastTcpAppPoolMemberArrayOutput { return o } -func (o FastTcpAppFastCreatePoolMemberArrayOutput) ToFastTcpAppFastCreatePoolMemberArrayOutputWithContext(ctx context.Context) FastTcpAppFastCreatePoolMemberArrayOutput { +func (o FastTcpAppPoolMemberArrayOutput) ToFastTcpAppPoolMemberArrayOutputWithContext(ctx context.Context) FastTcpAppPoolMemberArrayOutput { return o } -func (o FastTcpAppFastCreatePoolMemberArrayOutput) Index(i pulumi.IntInput) FastTcpAppFastCreatePoolMemberOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FastTcpAppFastCreatePoolMember { - return vs[0].([]FastTcpAppFastCreatePoolMember)[vs[1].(int)] - }).(FastTcpAppFastCreatePoolMemberOutput) +func (o FastTcpAppPoolMemberArrayOutput) Index(i pulumi.IntInput) FastTcpAppPoolMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FastTcpAppPoolMember { + return vs[0].([]FastTcpAppPoolMember)[vs[1].(int)] + }).(FastTcpAppPoolMemberOutput) } type FastTcpAppVirtualServer struct { // IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` Ip string `pulumi:"ip"` - // -(Optional , `int`) Port number to used for accessing virtual server/application + // Port number to used for accessing virtual server/application Port int `pulumi:"port"` } @@ -1605,7 +2035,7 @@ type FastTcpAppVirtualServerInput interface { type FastTcpAppVirtualServerArgs struct { // IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` Ip pulumi.StringInput `pulumi:"ip"` - // -(Optional , `int`) Port number to used for accessing virtual server/application + // Port number to used for accessing virtual server/application Port pulumi.IntInput `pulumi:"port"` } @@ -1691,7 +2121,7 @@ func (o FastTcpAppVirtualServerOutput) Ip() pulumi.StringOutput { return o.ApplyT(func(v FastTcpAppVirtualServer) string { return v.Ip }).(pulumi.StringOutput) } -// -(Optional , `int`) Port number to used for accessing virtual server/application +// Port number to used for accessing virtual server/application func (o FastTcpAppVirtualServerOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v FastTcpAppVirtualServer) int { return v.Port }).(pulumi.IntOutput) } @@ -1730,7 +2160,7 @@ func (o FastTcpAppVirtualServerPtrOutput) Ip() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// -(Optional , `int`) Port number to used for accessing virtual server/application +// Port number to used for accessing virtual server/application func (o FastTcpAppVirtualServerPtrOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v *FastTcpAppVirtualServer) *int { if v == nil { @@ -1740,6 +2170,470 @@ func (o FastTcpAppVirtualServerPtrOutput) Port() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +type FastUdpAppMonitor struct { + // The presence of this optional string is required in the response, if specified it confirms availability. + ExpectedResponse *string `pulumi:"expectedResponse"` + // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + Interval *int `pulumi:"interval"` + // Optional data to be sent during each health check. + SendString *string `pulumi:"sendString"` +} + +// FastUdpAppMonitorInput is an input type that accepts FastUdpAppMonitorArgs and FastUdpAppMonitorOutput values. +// You can construct a concrete instance of `FastUdpAppMonitorInput` via: +// +// FastUdpAppMonitorArgs{...} +type FastUdpAppMonitorInput interface { + pulumi.Input + + ToFastUdpAppMonitorOutput() FastUdpAppMonitorOutput + ToFastUdpAppMonitorOutputWithContext(context.Context) FastUdpAppMonitorOutput +} + +type FastUdpAppMonitorArgs struct { + // The presence of this optional string is required in the response, if specified it confirms availability. + ExpectedResponse pulumi.StringPtrInput `pulumi:"expectedResponse"` + // Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + Interval pulumi.IntPtrInput `pulumi:"interval"` + // Optional data to be sent during each health check. + SendString pulumi.StringPtrInput `pulumi:"sendString"` +} + +func (FastUdpAppMonitorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastUdpAppMonitor)(nil)).Elem() +} + +func (i FastUdpAppMonitorArgs) ToFastUdpAppMonitorOutput() FastUdpAppMonitorOutput { + return i.ToFastUdpAppMonitorOutputWithContext(context.Background()) +} + +func (i FastUdpAppMonitorArgs) ToFastUdpAppMonitorOutputWithContext(ctx context.Context) FastUdpAppMonitorOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppMonitorOutput) +} + +func (i FastUdpAppMonitorArgs) ToFastUdpAppMonitorPtrOutput() FastUdpAppMonitorPtrOutput { + return i.ToFastUdpAppMonitorPtrOutputWithContext(context.Background()) +} + +func (i FastUdpAppMonitorArgs) ToFastUdpAppMonitorPtrOutputWithContext(ctx context.Context) FastUdpAppMonitorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppMonitorOutput).ToFastUdpAppMonitorPtrOutputWithContext(ctx) +} + +// FastUdpAppMonitorPtrInput is an input type that accepts FastUdpAppMonitorArgs, FastUdpAppMonitorPtr and FastUdpAppMonitorPtrOutput values. +// You can construct a concrete instance of `FastUdpAppMonitorPtrInput` via: +// +// FastUdpAppMonitorArgs{...} +// +// or: +// +// nil +type FastUdpAppMonitorPtrInput interface { + pulumi.Input + + ToFastUdpAppMonitorPtrOutput() FastUdpAppMonitorPtrOutput + ToFastUdpAppMonitorPtrOutputWithContext(context.Context) FastUdpAppMonitorPtrOutput +} + +type fastUdpAppMonitorPtrType FastUdpAppMonitorArgs + +func FastUdpAppMonitorPtr(v *FastUdpAppMonitorArgs) FastUdpAppMonitorPtrInput { + return (*fastUdpAppMonitorPtrType)(v) +} + +func (*fastUdpAppMonitorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastUdpAppMonitor)(nil)).Elem() +} + +func (i *fastUdpAppMonitorPtrType) ToFastUdpAppMonitorPtrOutput() FastUdpAppMonitorPtrOutput { + return i.ToFastUdpAppMonitorPtrOutputWithContext(context.Background()) +} + +func (i *fastUdpAppMonitorPtrType) ToFastUdpAppMonitorPtrOutputWithContext(ctx context.Context) FastUdpAppMonitorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppMonitorPtrOutput) +} + +type FastUdpAppMonitorOutput struct{ *pulumi.OutputState } + +func (FastUdpAppMonitorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastUdpAppMonitor)(nil)).Elem() +} + +func (o FastUdpAppMonitorOutput) ToFastUdpAppMonitorOutput() FastUdpAppMonitorOutput { + return o +} + +func (o FastUdpAppMonitorOutput) ToFastUdpAppMonitorOutputWithContext(ctx context.Context) FastUdpAppMonitorOutput { + return o +} + +func (o FastUdpAppMonitorOutput) ToFastUdpAppMonitorPtrOutput() FastUdpAppMonitorPtrOutput { + return o.ToFastUdpAppMonitorPtrOutputWithContext(context.Background()) +} + +func (o FastUdpAppMonitorOutput) ToFastUdpAppMonitorPtrOutputWithContext(ctx context.Context) FastUdpAppMonitorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastUdpAppMonitor) *FastUdpAppMonitor { + return &v + }).(FastUdpAppMonitorPtrOutput) +} + +// The presence of this optional string is required in the response, if specified it confirms availability. +func (o FastUdpAppMonitorOutput) ExpectedResponse() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastUdpAppMonitor) *string { return v.ExpectedResponse }).(pulumi.StringPtrOutput) +} + +// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. +func (o FastUdpAppMonitorOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastUdpAppMonitor) *int { return v.Interval }).(pulumi.IntPtrOutput) +} + +// Optional data to be sent during each health check. +func (o FastUdpAppMonitorOutput) SendString() pulumi.StringPtrOutput { + return o.ApplyT(func(v FastUdpAppMonitor) *string { return v.SendString }).(pulumi.StringPtrOutput) +} + +type FastUdpAppMonitorPtrOutput struct{ *pulumi.OutputState } + +func (FastUdpAppMonitorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastUdpAppMonitor)(nil)).Elem() +} + +func (o FastUdpAppMonitorPtrOutput) ToFastUdpAppMonitorPtrOutput() FastUdpAppMonitorPtrOutput { + return o +} + +func (o FastUdpAppMonitorPtrOutput) ToFastUdpAppMonitorPtrOutputWithContext(ctx context.Context) FastUdpAppMonitorPtrOutput { + return o +} + +func (o FastUdpAppMonitorPtrOutput) Elem() FastUdpAppMonitorOutput { + return o.ApplyT(func(v *FastUdpAppMonitor) FastUdpAppMonitor { + if v != nil { + return *v + } + var ret FastUdpAppMonitor + return ret + }).(FastUdpAppMonitorOutput) +} + +// The presence of this optional string is required in the response, if specified it confirms availability. +func (o FastUdpAppMonitorPtrOutput) ExpectedResponse() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpAppMonitor) *string { + if v == nil { + return nil + } + return v.ExpectedResponse + }).(pulumi.StringPtrOutput) +} + +// Set the time between health checks,in seconds for FAST-Generated Pool Monitor. +func (o FastUdpAppMonitorPtrOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FastUdpAppMonitor) *int { + if v == nil { + return nil + } + return v.Interval + }).(pulumi.IntPtrOutput) +} + +// Optional data to be sent during each health check. +func (o FastUdpAppMonitorPtrOutput) SendString() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpAppMonitor) *string { + if v == nil { + return nil + } + return v.SendString + }).(pulumi.StringPtrOutput) +} + +type FastUdpAppPoolMember struct { + // List of server address to be used for FAST-Generated Pool. + Addresses []string `pulumi:"addresses"` + // connectionLimit value to be used for FAST-Generated Pool. + ConnectionLimit *int `pulumi:"connectionLimit"` + // port number of serviceport to be used for FAST-Generated Pool. + Port *int `pulumi:"port"` + // priorityGroup value to be used for FAST-Generated Pool. + PriorityGroup *int `pulumi:"priorityGroup"` + // shareNodes value to be used for FAST-Generated Pool. + ShareNodes *bool `pulumi:"shareNodes"` +} + +// FastUdpAppPoolMemberInput is an input type that accepts FastUdpAppPoolMemberArgs and FastUdpAppPoolMemberOutput values. +// You can construct a concrete instance of `FastUdpAppPoolMemberInput` via: +// +// FastUdpAppPoolMemberArgs{...} +type FastUdpAppPoolMemberInput interface { + pulumi.Input + + ToFastUdpAppPoolMemberOutput() FastUdpAppPoolMemberOutput + ToFastUdpAppPoolMemberOutputWithContext(context.Context) FastUdpAppPoolMemberOutput +} + +type FastUdpAppPoolMemberArgs struct { + // List of server address to be used for FAST-Generated Pool. + Addresses pulumi.StringArrayInput `pulumi:"addresses"` + // connectionLimit value to be used for FAST-Generated Pool. + ConnectionLimit pulumi.IntPtrInput `pulumi:"connectionLimit"` + // port number of serviceport to be used for FAST-Generated Pool. + Port pulumi.IntPtrInput `pulumi:"port"` + // priorityGroup value to be used for FAST-Generated Pool. + PriorityGroup pulumi.IntPtrInput `pulumi:"priorityGroup"` + // shareNodes value to be used for FAST-Generated Pool. + ShareNodes pulumi.BoolPtrInput `pulumi:"shareNodes"` +} + +func (FastUdpAppPoolMemberArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastUdpAppPoolMember)(nil)).Elem() +} + +func (i FastUdpAppPoolMemberArgs) ToFastUdpAppPoolMemberOutput() FastUdpAppPoolMemberOutput { + return i.ToFastUdpAppPoolMemberOutputWithContext(context.Background()) +} + +func (i FastUdpAppPoolMemberArgs) ToFastUdpAppPoolMemberOutputWithContext(ctx context.Context) FastUdpAppPoolMemberOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppPoolMemberOutput) +} + +// FastUdpAppPoolMemberArrayInput is an input type that accepts FastUdpAppPoolMemberArray and FastUdpAppPoolMemberArrayOutput values. +// You can construct a concrete instance of `FastUdpAppPoolMemberArrayInput` via: +// +// FastUdpAppPoolMemberArray{ FastUdpAppPoolMemberArgs{...} } +type FastUdpAppPoolMemberArrayInput interface { + pulumi.Input + + ToFastUdpAppPoolMemberArrayOutput() FastUdpAppPoolMemberArrayOutput + ToFastUdpAppPoolMemberArrayOutputWithContext(context.Context) FastUdpAppPoolMemberArrayOutput +} + +type FastUdpAppPoolMemberArray []FastUdpAppPoolMemberInput + +func (FastUdpAppPoolMemberArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FastUdpAppPoolMember)(nil)).Elem() +} + +func (i FastUdpAppPoolMemberArray) ToFastUdpAppPoolMemberArrayOutput() FastUdpAppPoolMemberArrayOutput { + return i.ToFastUdpAppPoolMemberArrayOutputWithContext(context.Background()) +} + +func (i FastUdpAppPoolMemberArray) ToFastUdpAppPoolMemberArrayOutputWithContext(ctx context.Context) FastUdpAppPoolMemberArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppPoolMemberArrayOutput) +} + +type FastUdpAppPoolMemberOutput struct{ *pulumi.OutputState } + +func (FastUdpAppPoolMemberOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastUdpAppPoolMember)(nil)).Elem() +} + +func (o FastUdpAppPoolMemberOutput) ToFastUdpAppPoolMemberOutput() FastUdpAppPoolMemberOutput { + return o +} + +func (o FastUdpAppPoolMemberOutput) ToFastUdpAppPoolMemberOutputWithContext(ctx context.Context) FastUdpAppPoolMemberOutput { + return o +} + +// List of server address to be used for FAST-Generated Pool. +func (o FastUdpAppPoolMemberOutput) Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v FastUdpAppPoolMember) []string { return v.Addresses }).(pulumi.StringArrayOutput) +} + +// connectionLimit value to be used for FAST-Generated Pool. +func (o FastUdpAppPoolMemberOutput) ConnectionLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastUdpAppPoolMember) *int { return v.ConnectionLimit }).(pulumi.IntPtrOutput) +} + +// port number of serviceport to be used for FAST-Generated Pool. +func (o FastUdpAppPoolMemberOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastUdpAppPoolMember) *int { return v.Port }).(pulumi.IntPtrOutput) +} + +// priorityGroup value to be used for FAST-Generated Pool. +func (o FastUdpAppPoolMemberOutput) PriorityGroup() pulumi.IntPtrOutput { + return o.ApplyT(func(v FastUdpAppPoolMember) *int { return v.PriorityGroup }).(pulumi.IntPtrOutput) +} + +// shareNodes value to be used for FAST-Generated Pool. +func (o FastUdpAppPoolMemberOutput) ShareNodes() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FastUdpAppPoolMember) *bool { return v.ShareNodes }).(pulumi.BoolPtrOutput) +} + +type FastUdpAppPoolMemberArrayOutput struct{ *pulumi.OutputState } + +func (FastUdpAppPoolMemberArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FastUdpAppPoolMember)(nil)).Elem() +} + +func (o FastUdpAppPoolMemberArrayOutput) ToFastUdpAppPoolMemberArrayOutput() FastUdpAppPoolMemberArrayOutput { + return o +} + +func (o FastUdpAppPoolMemberArrayOutput) ToFastUdpAppPoolMemberArrayOutputWithContext(ctx context.Context) FastUdpAppPoolMemberArrayOutput { + return o +} + +func (o FastUdpAppPoolMemberArrayOutput) Index(i pulumi.IntInput) FastUdpAppPoolMemberOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FastUdpAppPoolMember { + return vs[0].([]FastUdpAppPoolMember)[vs[1].(int)] + }).(FastUdpAppPoolMemberOutput) +} + +type FastUdpAppVirtualServer struct { + // IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + Ip string `pulumi:"ip"` + // Port number to used for accessing virtual server/application + Port int `pulumi:"port"` +} + +// FastUdpAppVirtualServerInput is an input type that accepts FastUdpAppVirtualServerArgs and FastUdpAppVirtualServerOutput values. +// You can construct a concrete instance of `FastUdpAppVirtualServerInput` via: +// +// FastUdpAppVirtualServerArgs{...} +type FastUdpAppVirtualServerInput interface { + pulumi.Input + + ToFastUdpAppVirtualServerOutput() FastUdpAppVirtualServerOutput + ToFastUdpAppVirtualServerOutputWithContext(context.Context) FastUdpAppVirtualServerOutput +} + +type FastUdpAppVirtualServerArgs struct { + // IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + Ip pulumi.StringInput `pulumi:"ip"` + // Port number to used for accessing virtual server/application + Port pulumi.IntInput `pulumi:"port"` +} + +func (FastUdpAppVirtualServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FastUdpAppVirtualServer)(nil)).Elem() +} + +func (i FastUdpAppVirtualServerArgs) ToFastUdpAppVirtualServerOutput() FastUdpAppVirtualServerOutput { + return i.ToFastUdpAppVirtualServerOutputWithContext(context.Background()) +} + +func (i FastUdpAppVirtualServerArgs) ToFastUdpAppVirtualServerOutputWithContext(ctx context.Context) FastUdpAppVirtualServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppVirtualServerOutput) +} + +func (i FastUdpAppVirtualServerArgs) ToFastUdpAppVirtualServerPtrOutput() FastUdpAppVirtualServerPtrOutput { + return i.ToFastUdpAppVirtualServerPtrOutputWithContext(context.Background()) +} + +func (i FastUdpAppVirtualServerArgs) ToFastUdpAppVirtualServerPtrOutputWithContext(ctx context.Context) FastUdpAppVirtualServerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppVirtualServerOutput).ToFastUdpAppVirtualServerPtrOutputWithContext(ctx) +} + +// FastUdpAppVirtualServerPtrInput is an input type that accepts FastUdpAppVirtualServerArgs, FastUdpAppVirtualServerPtr and FastUdpAppVirtualServerPtrOutput values. +// You can construct a concrete instance of `FastUdpAppVirtualServerPtrInput` via: +// +// FastUdpAppVirtualServerArgs{...} +// +// or: +// +// nil +type FastUdpAppVirtualServerPtrInput interface { + pulumi.Input + + ToFastUdpAppVirtualServerPtrOutput() FastUdpAppVirtualServerPtrOutput + ToFastUdpAppVirtualServerPtrOutputWithContext(context.Context) FastUdpAppVirtualServerPtrOutput +} + +type fastUdpAppVirtualServerPtrType FastUdpAppVirtualServerArgs + +func FastUdpAppVirtualServerPtr(v *FastUdpAppVirtualServerArgs) FastUdpAppVirtualServerPtrInput { + return (*fastUdpAppVirtualServerPtrType)(v) +} + +func (*fastUdpAppVirtualServerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FastUdpAppVirtualServer)(nil)).Elem() +} + +func (i *fastUdpAppVirtualServerPtrType) ToFastUdpAppVirtualServerPtrOutput() FastUdpAppVirtualServerPtrOutput { + return i.ToFastUdpAppVirtualServerPtrOutputWithContext(context.Background()) +} + +func (i *fastUdpAppVirtualServerPtrType) ToFastUdpAppVirtualServerPtrOutputWithContext(ctx context.Context) FastUdpAppVirtualServerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FastUdpAppVirtualServerPtrOutput) +} + +type FastUdpAppVirtualServerOutput struct{ *pulumi.OutputState } + +func (FastUdpAppVirtualServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FastUdpAppVirtualServer)(nil)).Elem() +} + +func (o FastUdpAppVirtualServerOutput) ToFastUdpAppVirtualServerOutput() FastUdpAppVirtualServerOutput { + return o +} + +func (o FastUdpAppVirtualServerOutput) ToFastUdpAppVirtualServerOutputWithContext(ctx context.Context) FastUdpAppVirtualServerOutput { + return o +} + +func (o FastUdpAppVirtualServerOutput) ToFastUdpAppVirtualServerPtrOutput() FastUdpAppVirtualServerPtrOutput { + return o.ToFastUdpAppVirtualServerPtrOutputWithContext(context.Background()) +} + +func (o FastUdpAppVirtualServerOutput) ToFastUdpAppVirtualServerPtrOutputWithContext(ctx context.Context) FastUdpAppVirtualServerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FastUdpAppVirtualServer) *FastUdpAppVirtualServer { + return &v + }).(FastUdpAppVirtualServerPtrOutput) +} + +// IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` +func (o FastUdpAppVirtualServerOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v FastUdpAppVirtualServer) string { return v.Ip }).(pulumi.StringOutput) +} + +// Port number to used for accessing virtual server/application +func (o FastUdpAppVirtualServerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v FastUdpAppVirtualServer) int { return v.Port }).(pulumi.IntOutput) +} + +type FastUdpAppVirtualServerPtrOutput struct{ *pulumi.OutputState } + +func (FastUdpAppVirtualServerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FastUdpAppVirtualServer)(nil)).Elem() +} + +func (o FastUdpAppVirtualServerPtrOutput) ToFastUdpAppVirtualServerPtrOutput() FastUdpAppVirtualServerPtrOutput { + return o +} + +func (o FastUdpAppVirtualServerPtrOutput) ToFastUdpAppVirtualServerPtrOutputWithContext(ctx context.Context) FastUdpAppVirtualServerPtrOutput { + return o +} + +func (o FastUdpAppVirtualServerPtrOutput) Elem() FastUdpAppVirtualServerOutput { + return o.ApplyT(func(v *FastUdpAppVirtualServer) FastUdpAppVirtualServer { + if v != nil { + return *v + } + var ret FastUdpAppVirtualServer + return ret + }).(FastUdpAppVirtualServerOutput) +} + +// IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` +func (o FastUdpAppVirtualServerPtrOutput) Ip() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FastUdpAppVirtualServer) *string { + if v == nil { + return nil + } + return &v.Ip + }).(pulumi.StringPtrOutput) +} + +// Port number to used for accessing virtual server/application +func (o FastUdpAppVirtualServerPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FastUdpAppVirtualServer) *int { + if v == nil { + return nil + } + return &v.Port + }).(pulumi.IntPtrOutput) +} + type WafPolicyFileType struct { // Specifies the file type name as appearing in the URL extension. Name *string `pulumi:"name"` @@ -2143,26 +3037,38 @@ func (o WafPolicySignaturesSettingArrayOutput) Index(i pulumi.IntInput) WafPolic func init() { pulumi.RegisterInputType(reflect.TypeOf((*EventServiceDiscoveryNodeInput)(nil)).Elem(), EventServiceDiscoveryNodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventServiceDiscoveryNodeArrayInput)(nil)).Elem(), EventServiceDiscoveryNodeArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppFastCreateMonitorInput)(nil)).Elem(), FastHttpAppFastCreateMonitorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppFastCreateMonitorPtrInput)(nil)).Elem(), FastHttpAppFastCreateMonitorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppFastCreatePoolMemberInput)(nil)).Elem(), FastHttpAppFastCreatePoolMemberArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppFastCreatePoolMemberArrayInput)(nil)).Elem(), FastHttpAppFastCreatePoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppMonitorInput)(nil)).Elem(), FastHttpAppMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppMonitorPtrInput)(nil)).Elem(), FastHttpAppMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppPoolMemberInput)(nil)).Elem(), FastHttpAppPoolMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppPoolMemberArrayInput)(nil)).Elem(), FastHttpAppPoolMemberArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppVirtualServerInput)(nil)).Elem(), FastHttpAppVirtualServerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppVirtualServerPtrInput)(nil)).Elem(), FastHttpAppVirtualServerArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppCreateTlsServerProfileInput)(nil)).Elem(), FastHttpsAppCreateTlsServerProfileArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppCreateTlsServerProfilePtrInput)(nil)).Elem(), FastHttpsAppCreateTlsServerProfileArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppFastCreateMonitorInput)(nil)).Elem(), FastHttpsAppFastCreateMonitorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppFastCreateMonitorPtrInput)(nil)).Elem(), FastHttpsAppFastCreateMonitorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppFastCreatePoolMemberInput)(nil)).Elem(), FastHttpsAppFastCreatePoolMemberArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppFastCreatePoolMemberArrayInput)(nil)).Elem(), FastHttpsAppFastCreatePoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppWafSecurityPolicyInput)(nil)).Elem(), FastHttpAppWafSecurityPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpAppWafSecurityPolicyPtrInput)(nil)).Elem(), FastHttpAppWafSecurityPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppMonitorInput)(nil)).Elem(), FastHttpsAppMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppMonitorPtrInput)(nil)).Elem(), FastHttpsAppMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppPoolMemberInput)(nil)).Elem(), FastHttpsAppPoolMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppPoolMemberArrayInput)(nil)).Elem(), FastHttpsAppPoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppTlsClientProfileInput)(nil)).Elem(), FastHttpsAppTlsClientProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppTlsClientProfilePtrInput)(nil)).Elem(), FastHttpsAppTlsClientProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppTlsServerProfileInput)(nil)).Elem(), FastHttpsAppTlsServerProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppTlsServerProfilePtrInput)(nil)).Elem(), FastHttpsAppTlsServerProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppVirtualServerInput)(nil)).Elem(), FastHttpsAppVirtualServerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppVirtualServerPtrInput)(nil)).Elem(), FastHttpsAppVirtualServerArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppFastCreateMonitorInput)(nil)).Elem(), FastTcpAppFastCreateMonitorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppFastCreateMonitorPtrInput)(nil)).Elem(), FastTcpAppFastCreateMonitorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppFastCreatePoolMemberInput)(nil)).Elem(), FastTcpAppFastCreatePoolMemberArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppFastCreatePoolMemberArrayInput)(nil)).Elem(), FastTcpAppFastCreatePoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppWafSecurityPolicyInput)(nil)).Elem(), FastHttpsAppWafSecurityPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastHttpsAppWafSecurityPolicyPtrInput)(nil)).Elem(), FastHttpsAppWafSecurityPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppMonitorInput)(nil)).Elem(), FastTcpAppMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppMonitorPtrInput)(nil)).Elem(), FastTcpAppMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppPoolMemberInput)(nil)).Elem(), FastTcpAppPoolMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppPoolMemberArrayInput)(nil)).Elem(), FastTcpAppPoolMemberArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppVirtualServerInput)(nil)).Elem(), FastTcpAppVirtualServerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FastTcpAppVirtualServerPtrInput)(nil)).Elem(), FastTcpAppVirtualServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppMonitorInput)(nil)).Elem(), FastUdpAppMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppMonitorPtrInput)(nil)).Elem(), FastUdpAppMonitorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppPoolMemberInput)(nil)).Elem(), FastUdpAppPoolMemberArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppPoolMemberArrayInput)(nil)).Elem(), FastUdpAppPoolMemberArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppVirtualServerInput)(nil)).Elem(), FastUdpAppVirtualServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FastUdpAppVirtualServerPtrInput)(nil)).Elem(), FastUdpAppVirtualServerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WafPolicyFileTypeInput)(nil)).Elem(), WafPolicyFileTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WafPolicyFileTypeArrayInput)(nil)).Elem(), WafPolicyFileTypeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WafPolicyGraphqlProfileInput)(nil)).Elem(), WafPolicyGraphqlProfileArgs{}) @@ -2173,26 +3079,38 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WafPolicySignaturesSettingArrayInput)(nil)).Elem(), WafPolicySignaturesSettingArray{}) pulumi.RegisterOutputType(EventServiceDiscoveryNodeOutput{}) pulumi.RegisterOutputType(EventServiceDiscoveryNodeArrayOutput{}) - pulumi.RegisterOutputType(FastHttpAppFastCreateMonitorOutput{}) - pulumi.RegisterOutputType(FastHttpAppFastCreateMonitorPtrOutput{}) - pulumi.RegisterOutputType(FastHttpAppFastCreatePoolMemberOutput{}) - pulumi.RegisterOutputType(FastHttpAppFastCreatePoolMemberArrayOutput{}) + pulumi.RegisterOutputType(FastHttpAppMonitorOutput{}) + pulumi.RegisterOutputType(FastHttpAppMonitorPtrOutput{}) + pulumi.RegisterOutputType(FastHttpAppPoolMemberOutput{}) + pulumi.RegisterOutputType(FastHttpAppPoolMemberArrayOutput{}) pulumi.RegisterOutputType(FastHttpAppVirtualServerOutput{}) pulumi.RegisterOutputType(FastHttpAppVirtualServerPtrOutput{}) - pulumi.RegisterOutputType(FastHttpsAppCreateTlsServerProfileOutput{}) - pulumi.RegisterOutputType(FastHttpsAppCreateTlsServerProfilePtrOutput{}) - pulumi.RegisterOutputType(FastHttpsAppFastCreateMonitorOutput{}) - pulumi.RegisterOutputType(FastHttpsAppFastCreateMonitorPtrOutput{}) - pulumi.RegisterOutputType(FastHttpsAppFastCreatePoolMemberOutput{}) - pulumi.RegisterOutputType(FastHttpsAppFastCreatePoolMemberArrayOutput{}) + pulumi.RegisterOutputType(FastHttpAppWafSecurityPolicyOutput{}) + pulumi.RegisterOutputType(FastHttpAppWafSecurityPolicyPtrOutput{}) + pulumi.RegisterOutputType(FastHttpsAppMonitorOutput{}) + pulumi.RegisterOutputType(FastHttpsAppMonitorPtrOutput{}) + pulumi.RegisterOutputType(FastHttpsAppPoolMemberOutput{}) + pulumi.RegisterOutputType(FastHttpsAppPoolMemberArrayOutput{}) + pulumi.RegisterOutputType(FastHttpsAppTlsClientProfileOutput{}) + pulumi.RegisterOutputType(FastHttpsAppTlsClientProfilePtrOutput{}) + pulumi.RegisterOutputType(FastHttpsAppTlsServerProfileOutput{}) + pulumi.RegisterOutputType(FastHttpsAppTlsServerProfilePtrOutput{}) pulumi.RegisterOutputType(FastHttpsAppVirtualServerOutput{}) pulumi.RegisterOutputType(FastHttpsAppVirtualServerPtrOutput{}) - pulumi.RegisterOutputType(FastTcpAppFastCreateMonitorOutput{}) - pulumi.RegisterOutputType(FastTcpAppFastCreateMonitorPtrOutput{}) - pulumi.RegisterOutputType(FastTcpAppFastCreatePoolMemberOutput{}) - pulumi.RegisterOutputType(FastTcpAppFastCreatePoolMemberArrayOutput{}) + pulumi.RegisterOutputType(FastHttpsAppWafSecurityPolicyOutput{}) + pulumi.RegisterOutputType(FastHttpsAppWafSecurityPolicyPtrOutput{}) + pulumi.RegisterOutputType(FastTcpAppMonitorOutput{}) + pulumi.RegisterOutputType(FastTcpAppMonitorPtrOutput{}) + pulumi.RegisterOutputType(FastTcpAppPoolMemberOutput{}) + pulumi.RegisterOutputType(FastTcpAppPoolMemberArrayOutput{}) pulumi.RegisterOutputType(FastTcpAppVirtualServerOutput{}) pulumi.RegisterOutputType(FastTcpAppVirtualServerPtrOutput{}) + pulumi.RegisterOutputType(FastUdpAppMonitorOutput{}) + pulumi.RegisterOutputType(FastUdpAppMonitorPtrOutput{}) + pulumi.RegisterOutputType(FastUdpAppPoolMemberOutput{}) + pulumi.RegisterOutputType(FastUdpAppPoolMemberArrayOutput{}) + pulumi.RegisterOutputType(FastUdpAppVirtualServerOutput{}) + pulumi.RegisterOutputType(FastUdpAppVirtualServerPtrOutput{}) pulumi.RegisterOutputType(WafPolicyFileTypeOutput{}) pulumi.RegisterOutputType(WafPolicyFileTypeArrayOutput{}) pulumi.RegisterOutputType(WafPolicyGraphqlProfileOutput{}) diff --git a/sdk/go/f5bigip/ssl/certificate.go b/sdk/go/f5bigip/ssl/certificate.go index d193948f..65441713 100644 --- a/sdk/go/f5bigip/ssl/certificate.go +++ b/sdk/go/f5bigip/ssl/certificate.go @@ -77,6 +77,13 @@ func NewCertificate(ctx *pulumi.Context, if args.Name == nil { return nil, errors.New("invalid value for required argument 'Name'") } + if args.Content != nil { + args.Content = pulumi.ToSecret(args.Content).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "content", + }) + opts = append(opts, secrets) var resource Certificate err := ctx.RegisterResource("f5bigip:ssl/certificate:Certificate", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/f5bigip/ssl/getWafEntityParameter.go b/sdk/go/f5bigip/ssl/getWafEntityParameter.go index 4680eda3..f09a1d1b 100644 --- a/sdk/go/f5bigip/ssl/getWafEntityParameter.go +++ b/sdk/go/f5bigip/ssl/getWafEntityParameter.go @@ -21,28 +21,29 @@ func GetWafEntityParameter(ctx *pulumi.Context, args *GetWafEntityParameterArgs, // A collection of arguments for invoking getWafEntityParameter. type GetWafEntityParameterArgs struct { - AllowEmptyType *bool `pulumi:"allowEmptyType"` - AllowRepeatedParameterName *bool `pulumi:"allowRepeatedParameterName"` - AttackSignaturesCheck *bool `pulumi:"attackSignaturesCheck"` - CheckMaxValueLength *bool `pulumi:"checkMaxValueLength"` - CheckMinValueLength *bool `pulumi:"checkMinValueLength"` - DataType *string `pulumi:"dataType"` - Description *string `pulumi:"description"` - EnableRegularExpression *bool `pulumi:"enableRegularExpression"` - IsBase64 *bool `pulumi:"isBase64"` - IsCookie *bool `pulumi:"isCookie"` - IsHeader *bool `pulumi:"isHeader"` - Json *string `pulumi:"json"` - Level *string `pulumi:"level"` - Mandatory *bool `pulumi:"mandatory"` - MetacharsOnParameterValueCheck *bool `pulumi:"metacharsOnParameterValueCheck"` - Name string `pulumi:"name"` - ParameterLocation *string `pulumi:"parameterLocation"` - PerformStaging *bool `pulumi:"performStaging"` - SensitiveParameter *bool `pulumi:"sensitiveParameter"` - SignatureOverridesDisables []int `pulumi:"signatureOverridesDisables"` - Type *string `pulumi:"type"` - ValueType *string `pulumi:"valueType"` + AllowEmptyType *bool `pulumi:"allowEmptyType"` + AllowRepeatedParameterName *bool `pulumi:"allowRepeatedParameterName"` + AttackSignaturesCheck *bool `pulumi:"attackSignaturesCheck"` + CheckMaxValueLength *bool `pulumi:"checkMaxValueLength"` + CheckMinValueLength *bool `pulumi:"checkMinValueLength"` + DataType *string `pulumi:"dataType"` + Description *string `pulumi:"description"` + EnableRegularExpression *bool `pulumi:"enableRegularExpression"` + IsBase64 *bool `pulumi:"isBase64"` + IsCookie *bool `pulumi:"isCookie"` + IsHeader *bool `pulumi:"isHeader"` + Json *string `pulumi:"json"` + Level *string `pulumi:"level"` + Mandatory *bool `pulumi:"mandatory"` + MetacharsOnParameterValueCheck *bool `pulumi:"metacharsOnParameterValueCheck"` + Name string `pulumi:"name"` + ParameterLocation *string `pulumi:"parameterLocation"` + PerformStaging *bool `pulumi:"performStaging"` + SensitiveParameter *bool `pulumi:"sensitiveParameter"` + SignatureOverridesDisables []int `pulumi:"signatureOverridesDisables"` + Type *string `pulumi:"type"` + Url *GetWafEntityParameterUrl `pulumi:"url"` + ValueType *string `pulumi:"valueType"` } // A collection of values returned by getWafEntityParameter. @@ -56,21 +57,22 @@ type GetWafEntityParameterResult struct { Description *string `pulumi:"description"` EnableRegularExpression *bool `pulumi:"enableRegularExpression"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - IsBase64 *bool `pulumi:"isBase64"` - IsCookie *bool `pulumi:"isCookie"` - IsHeader *bool `pulumi:"isHeader"` - Json string `pulumi:"json"` - Level *string `pulumi:"level"` - Mandatory *bool `pulumi:"mandatory"` - MetacharsOnParameterValueCheck *bool `pulumi:"metacharsOnParameterValueCheck"` - Name string `pulumi:"name"` - ParameterLocation *string `pulumi:"parameterLocation"` - PerformStaging *bool `pulumi:"performStaging"` - SensitiveParameter *bool `pulumi:"sensitiveParameter"` - SignatureOverridesDisables []int `pulumi:"signatureOverridesDisables"` - Type *string `pulumi:"type"` - ValueType *string `pulumi:"valueType"` + Id string `pulumi:"id"` + IsBase64 *bool `pulumi:"isBase64"` + IsCookie *bool `pulumi:"isCookie"` + IsHeader *bool `pulumi:"isHeader"` + Json string `pulumi:"json"` + Level *string `pulumi:"level"` + Mandatory *bool `pulumi:"mandatory"` + MetacharsOnParameterValueCheck *bool `pulumi:"metacharsOnParameterValueCheck"` + Name string `pulumi:"name"` + ParameterLocation *string `pulumi:"parameterLocation"` + PerformStaging *bool `pulumi:"performStaging"` + SensitiveParameter *bool `pulumi:"sensitiveParameter"` + SignatureOverridesDisables []int `pulumi:"signatureOverridesDisables"` + Type *string `pulumi:"type"` + Url *GetWafEntityParameterUrl `pulumi:"url"` + ValueType *string `pulumi:"valueType"` } func GetWafEntityParameterOutput(ctx *pulumi.Context, args GetWafEntityParameterOutputArgs, opts ...pulumi.InvokeOption) GetWafEntityParameterResultOutput { @@ -88,28 +90,29 @@ func GetWafEntityParameterOutput(ctx *pulumi.Context, args GetWafEntityParameter // A collection of arguments for invoking getWafEntityParameter. type GetWafEntityParameterOutputArgs struct { - AllowEmptyType pulumi.BoolPtrInput `pulumi:"allowEmptyType"` - AllowRepeatedParameterName pulumi.BoolPtrInput `pulumi:"allowRepeatedParameterName"` - AttackSignaturesCheck pulumi.BoolPtrInput `pulumi:"attackSignaturesCheck"` - CheckMaxValueLength pulumi.BoolPtrInput `pulumi:"checkMaxValueLength"` - CheckMinValueLength pulumi.BoolPtrInput `pulumi:"checkMinValueLength"` - DataType pulumi.StringPtrInput `pulumi:"dataType"` - Description pulumi.StringPtrInput `pulumi:"description"` - EnableRegularExpression pulumi.BoolPtrInput `pulumi:"enableRegularExpression"` - IsBase64 pulumi.BoolPtrInput `pulumi:"isBase64"` - IsCookie pulumi.BoolPtrInput `pulumi:"isCookie"` - IsHeader pulumi.BoolPtrInput `pulumi:"isHeader"` - Json pulumi.StringPtrInput `pulumi:"json"` - Level pulumi.StringPtrInput `pulumi:"level"` - Mandatory pulumi.BoolPtrInput `pulumi:"mandatory"` - MetacharsOnParameterValueCheck pulumi.BoolPtrInput `pulumi:"metacharsOnParameterValueCheck"` - Name pulumi.StringInput `pulumi:"name"` - ParameterLocation pulumi.StringPtrInput `pulumi:"parameterLocation"` - PerformStaging pulumi.BoolPtrInput `pulumi:"performStaging"` - SensitiveParameter pulumi.BoolPtrInput `pulumi:"sensitiveParameter"` - SignatureOverridesDisables pulumi.IntArrayInput `pulumi:"signatureOverridesDisables"` - Type pulumi.StringPtrInput `pulumi:"type"` - ValueType pulumi.StringPtrInput `pulumi:"valueType"` + AllowEmptyType pulumi.BoolPtrInput `pulumi:"allowEmptyType"` + AllowRepeatedParameterName pulumi.BoolPtrInput `pulumi:"allowRepeatedParameterName"` + AttackSignaturesCheck pulumi.BoolPtrInput `pulumi:"attackSignaturesCheck"` + CheckMaxValueLength pulumi.BoolPtrInput `pulumi:"checkMaxValueLength"` + CheckMinValueLength pulumi.BoolPtrInput `pulumi:"checkMinValueLength"` + DataType pulumi.StringPtrInput `pulumi:"dataType"` + Description pulumi.StringPtrInput `pulumi:"description"` + EnableRegularExpression pulumi.BoolPtrInput `pulumi:"enableRegularExpression"` + IsBase64 pulumi.BoolPtrInput `pulumi:"isBase64"` + IsCookie pulumi.BoolPtrInput `pulumi:"isCookie"` + IsHeader pulumi.BoolPtrInput `pulumi:"isHeader"` + Json pulumi.StringPtrInput `pulumi:"json"` + Level pulumi.StringPtrInput `pulumi:"level"` + Mandatory pulumi.BoolPtrInput `pulumi:"mandatory"` + MetacharsOnParameterValueCheck pulumi.BoolPtrInput `pulumi:"metacharsOnParameterValueCheck"` + Name pulumi.StringInput `pulumi:"name"` + ParameterLocation pulumi.StringPtrInput `pulumi:"parameterLocation"` + PerformStaging pulumi.BoolPtrInput `pulumi:"performStaging"` + SensitiveParameter pulumi.BoolPtrInput `pulumi:"sensitiveParameter"` + SignatureOverridesDisables pulumi.IntArrayInput `pulumi:"signatureOverridesDisables"` + Type pulumi.StringPtrInput `pulumi:"type"` + Url GetWafEntityParameterUrlPtrInput `pulumi:"url"` + ValueType pulumi.StringPtrInput `pulumi:"valueType"` } func (GetWafEntityParameterOutputArgs) ElementType() reflect.Type { @@ -220,6 +223,10 @@ func (o GetWafEntityParameterResultOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v GetWafEntityParameterResult) *string { return v.Type }).(pulumi.StringPtrOutput) } +func (o GetWafEntityParameterResultOutput) Url() GetWafEntityParameterUrlPtrOutput { + return o.ApplyT(func(v GetWafEntityParameterResult) *GetWafEntityParameterUrl { return v.Url }).(GetWafEntityParameterUrlPtrOutput) +} + func (o GetWafEntityParameterResultOutput) ValueType() pulumi.StringPtrOutput { return o.ApplyT(func(v GetWafEntityParameterResult) *string { return v.ValueType }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/f5bigip/ssl/key.go b/sdk/go/f5bigip/ssl/key.go index 1c89bf19..094963f3 100644 --- a/sdk/go/f5bigip/ssl/key.go +++ b/sdk/go/f5bigip/ssl/key.go @@ -62,6 +62,8 @@ type Key struct { Name pulumi.StringOutput `pulumi:"name"` // Partition of ssl certificate key Partition pulumi.StringPtrOutput `pulumi:"partition"` + // Passphrase on key. + Passphrase pulumi.StringPtrOutput `pulumi:"passphrase"` } // NewKey registers a new resource with the given unique name, arguments, and options. @@ -77,6 +79,17 @@ func NewKey(ctx *pulumi.Context, if args.Name == nil { return nil, errors.New("invalid value for required argument 'Name'") } + if args.Content != nil { + args.Content = pulumi.ToSecret(args.Content).(pulumi.StringInput) + } + if args.Passphrase != nil { + args.Passphrase = pulumi.ToSecret(args.Passphrase).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "content", + "passphrase", + }) + opts = append(opts, secrets) var resource Key err := ctx.RegisterResource("f5bigip:ssl/key:Key", name, args, &resource, opts...) if err != nil { @@ -107,6 +120,8 @@ type keyState struct { Name *string `pulumi:"name"` // Partition of ssl certificate key Partition *string `pulumi:"partition"` + // Passphrase on key. + Passphrase *string `pulumi:"passphrase"` } type KeyState struct { @@ -118,6 +133,8 @@ type KeyState struct { Name pulumi.StringPtrInput // Partition of ssl certificate key Partition pulumi.StringPtrInput + // Passphrase on key. + Passphrase pulumi.StringPtrInput } func (KeyState) ElementType() reflect.Type { @@ -133,6 +150,8 @@ type keyArgs struct { Name string `pulumi:"name"` // Partition of ssl certificate key Partition *string `pulumi:"partition"` + // Passphrase on key. + Passphrase *string `pulumi:"passphrase"` } // The set of arguments for constructing a Key resource. @@ -145,6 +164,8 @@ type KeyArgs struct { Name pulumi.StringInput // Partition of ssl certificate key Partition pulumi.StringPtrInput + // Passphrase on key. + Passphrase pulumi.StringPtrInput } func (KeyArgs) ElementType() reflect.Type { @@ -254,6 +275,11 @@ func (o KeyOutput) Partition() pulumi.StringPtrOutput { return o.ApplyT(func(v *Key) pulumi.StringPtrOutput { return v.Partition }).(pulumi.StringPtrOutput) } +// Passphrase on key. +func (o KeyOutput) Passphrase() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Key) pulumi.StringPtrOutput { return v.Passphrase }).(pulumi.StringPtrOutput) +} + type KeyArrayOutput struct{ *pulumi.OutputState } func (KeyArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/f5bigip/ssl/pulumiTypes.go b/sdk/go/f5bigip/ssl/pulumiTypes.go index 55f1a874..3fd1364d 100644 --- a/sdk/go/f5bigip/ssl/pulumiTypes.go +++ b/sdk/go/f5bigip/ssl/pulumiTypes.go @@ -10,6 +10,184 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +type GetWafEntityParameterUrl struct { + Method string `pulumi:"method"` + Name string `pulumi:"name"` + Protocol string `pulumi:"protocol"` + Type string `pulumi:"type"` +} + +// GetWafEntityParameterUrlInput is an input type that accepts GetWafEntityParameterUrlArgs and GetWafEntityParameterUrlOutput values. +// You can construct a concrete instance of `GetWafEntityParameterUrlInput` via: +// +// GetWafEntityParameterUrlArgs{...} +type GetWafEntityParameterUrlInput interface { + pulumi.Input + + ToGetWafEntityParameterUrlOutput() GetWafEntityParameterUrlOutput + ToGetWafEntityParameterUrlOutputWithContext(context.Context) GetWafEntityParameterUrlOutput +} + +type GetWafEntityParameterUrlArgs struct { + Method pulumi.StringInput `pulumi:"method"` + Name pulumi.StringInput `pulumi:"name"` + Protocol pulumi.StringInput `pulumi:"protocol"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetWafEntityParameterUrlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetWafEntityParameterUrl)(nil)).Elem() +} + +func (i GetWafEntityParameterUrlArgs) ToGetWafEntityParameterUrlOutput() GetWafEntityParameterUrlOutput { + return i.ToGetWafEntityParameterUrlOutputWithContext(context.Background()) +} + +func (i GetWafEntityParameterUrlArgs) ToGetWafEntityParameterUrlOutputWithContext(ctx context.Context) GetWafEntityParameterUrlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetWafEntityParameterUrlOutput) +} + +func (i GetWafEntityParameterUrlArgs) ToGetWafEntityParameterUrlPtrOutput() GetWafEntityParameterUrlPtrOutput { + return i.ToGetWafEntityParameterUrlPtrOutputWithContext(context.Background()) +} + +func (i GetWafEntityParameterUrlArgs) ToGetWafEntityParameterUrlPtrOutputWithContext(ctx context.Context) GetWafEntityParameterUrlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetWafEntityParameterUrlOutput).ToGetWafEntityParameterUrlPtrOutputWithContext(ctx) +} + +// GetWafEntityParameterUrlPtrInput is an input type that accepts GetWafEntityParameterUrlArgs, GetWafEntityParameterUrlPtr and GetWafEntityParameterUrlPtrOutput values. +// You can construct a concrete instance of `GetWafEntityParameterUrlPtrInput` via: +// +// GetWafEntityParameterUrlArgs{...} +// +// or: +// +// nil +type GetWafEntityParameterUrlPtrInput interface { + pulumi.Input + + ToGetWafEntityParameterUrlPtrOutput() GetWafEntityParameterUrlPtrOutput + ToGetWafEntityParameterUrlPtrOutputWithContext(context.Context) GetWafEntityParameterUrlPtrOutput +} + +type getWafEntityParameterUrlPtrType GetWafEntityParameterUrlArgs + +func GetWafEntityParameterUrlPtr(v *GetWafEntityParameterUrlArgs) GetWafEntityParameterUrlPtrInput { + return (*getWafEntityParameterUrlPtrType)(v) +} + +func (*getWafEntityParameterUrlPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetWafEntityParameterUrl)(nil)).Elem() +} + +func (i *getWafEntityParameterUrlPtrType) ToGetWafEntityParameterUrlPtrOutput() GetWafEntityParameterUrlPtrOutput { + return i.ToGetWafEntityParameterUrlPtrOutputWithContext(context.Background()) +} + +func (i *getWafEntityParameterUrlPtrType) ToGetWafEntityParameterUrlPtrOutputWithContext(ctx context.Context) GetWafEntityParameterUrlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetWafEntityParameterUrlPtrOutput) +} + +type GetWafEntityParameterUrlOutput struct{ *pulumi.OutputState } + +func (GetWafEntityParameterUrlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetWafEntityParameterUrl)(nil)).Elem() +} + +func (o GetWafEntityParameterUrlOutput) ToGetWafEntityParameterUrlOutput() GetWafEntityParameterUrlOutput { + return o +} + +func (o GetWafEntityParameterUrlOutput) ToGetWafEntityParameterUrlOutputWithContext(ctx context.Context) GetWafEntityParameterUrlOutput { + return o +} + +func (o GetWafEntityParameterUrlOutput) ToGetWafEntityParameterUrlPtrOutput() GetWafEntityParameterUrlPtrOutput { + return o.ToGetWafEntityParameterUrlPtrOutputWithContext(context.Background()) +} + +func (o GetWafEntityParameterUrlOutput) ToGetWafEntityParameterUrlPtrOutputWithContext(ctx context.Context) GetWafEntityParameterUrlPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetWafEntityParameterUrl) *GetWafEntityParameterUrl { + return &v + }).(GetWafEntityParameterUrlPtrOutput) +} + +func (o GetWafEntityParameterUrlOutput) Method() pulumi.StringOutput { + return o.ApplyT(func(v GetWafEntityParameterUrl) string { return v.Method }).(pulumi.StringOutput) +} + +func (o GetWafEntityParameterUrlOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetWafEntityParameterUrl) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetWafEntityParameterUrlOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetWafEntityParameterUrl) string { return v.Protocol }).(pulumi.StringOutput) +} + +func (o GetWafEntityParameterUrlOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetWafEntityParameterUrl) string { return v.Type }).(pulumi.StringOutput) +} + +type GetWafEntityParameterUrlPtrOutput struct{ *pulumi.OutputState } + +func (GetWafEntityParameterUrlPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetWafEntityParameterUrl)(nil)).Elem() +} + +func (o GetWafEntityParameterUrlPtrOutput) ToGetWafEntityParameterUrlPtrOutput() GetWafEntityParameterUrlPtrOutput { + return o +} + +func (o GetWafEntityParameterUrlPtrOutput) ToGetWafEntityParameterUrlPtrOutputWithContext(ctx context.Context) GetWafEntityParameterUrlPtrOutput { + return o +} + +func (o GetWafEntityParameterUrlPtrOutput) Elem() GetWafEntityParameterUrlOutput { + return o.ApplyT(func(v *GetWafEntityParameterUrl) GetWafEntityParameterUrl { + if v != nil { + return *v + } + var ret GetWafEntityParameterUrl + return ret + }).(GetWafEntityParameterUrlOutput) +} + +func (o GetWafEntityParameterUrlPtrOutput) Method() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetWafEntityParameterUrl) *string { + if v == nil { + return nil + } + return &v.Method + }).(pulumi.StringPtrOutput) +} + +func (o GetWafEntityParameterUrlPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetWafEntityParameterUrl) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +func (o GetWafEntityParameterUrlPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetWafEntityParameterUrl) *string { + if v == nil { + return nil + } + return &v.Protocol + }).(pulumi.StringPtrOutput) +} + +func (o GetWafEntityParameterUrlPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetWafEntityParameterUrl) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + type GetWafEntityUrlMethodOverride struct { // Specifies that the system allows or disallows a method for this URL Allow bool `pulumi:"allow"` @@ -117,8 +295,12 @@ func (o GetWafEntityUrlMethodOverrideArrayOutput) Index(i pulumi.IntInput) GetWa } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetWafEntityParameterUrlInput)(nil)).Elem(), GetWafEntityParameterUrlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetWafEntityParameterUrlPtrInput)(nil)).Elem(), GetWafEntityParameterUrlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWafEntityUrlMethodOverrideInput)(nil)).Elem(), GetWafEntityUrlMethodOverrideArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWafEntityUrlMethodOverrideArrayInput)(nil)).Elem(), GetWafEntityUrlMethodOverrideArray{}) + pulumi.RegisterOutputType(GetWafEntityParameterUrlOutput{}) + pulumi.RegisterOutputType(GetWafEntityParameterUrlPtrOutput{}) pulumi.RegisterOutputType(GetWafEntityUrlMethodOverrideOutput{}) pulumi.RegisterOutputType(GetWafEntityUrlMethodOverrideArrayOutput{}) } diff --git a/sdk/go/f5bigip/sys/dns.go b/sdk/go/f5bigip/sys/dns.go index 70ba42b7..f37446a1 100644 --- a/sdk/go/f5bigip/sys/dns.go +++ b/sdk/go/f5bigip/sys/dns.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// `sys.Dns` Configures DNS server on F5 BIG-IP +// `sys.Dns` Configures DNS Name server on F5 BIG-IP // // ## Example Usage // @@ -32,7 +32,6 @@ import ( // NameServers: pulumi.StringArray{ // pulumi.String("1.1.1.1"), // }, -// NumberOfDots: pulumi.Int(2), // Searches: pulumi.StringArray{ // pulumi.String("f5.com"), // }, @@ -50,11 +49,11 @@ type Dns struct { // Provide description for your DNS server Description pulumi.StringOutput `pulumi:"description"` - // Name or IP address of the DNS server + // Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. NameServers pulumi.StringArrayOutput `pulumi:"nameServers"` // Configures the number of dots needed in a name before an initial absolute query will be made. - NumberOfDots pulumi.IntPtrOutput `pulumi:"numberOfDots"` - // Specify what domains you want to search + NumberOfDots pulumi.IntOutput `pulumi:"numberOfDots"` + // Specifies the domains that the system searches for local domain lookups, to resolve local host names. Searches pulumi.StringArrayOutput `pulumi:"searches"` } @@ -68,6 +67,9 @@ func NewDns(ctx *pulumi.Context, if args.Description == nil { return nil, errors.New("invalid value for required argument 'Description'") } + if args.NameServers == nil { + return nil, errors.New("invalid value for required argument 'NameServers'") + } var resource Dns err := ctx.RegisterResource("f5bigip:sys/dns:Dns", name, args, &resource, opts...) if err != nil { @@ -92,22 +94,22 @@ func GetDns(ctx *pulumi.Context, type dnsState struct { // Provide description for your DNS server Description *string `pulumi:"description"` - // Name or IP address of the DNS server + // Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. NameServers []string `pulumi:"nameServers"` // Configures the number of dots needed in a name before an initial absolute query will be made. NumberOfDots *int `pulumi:"numberOfDots"` - // Specify what domains you want to search + // Specifies the domains that the system searches for local domain lookups, to resolve local host names. Searches []string `pulumi:"searches"` } type DnsState struct { // Provide description for your DNS server Description pulumi.StringPtrInput - // Name or IP address of the DNS server + // Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. NameServers pulumi.StringArrayInput // Configures the number of dots needed in a name before an initial absolute query will be made. NumberOfDots pulumi.IntPtrInput - // Specify what domains you want to search + // Specifies the domains that the system searches for local domain lookups, to resolve local host names. Searches pulumi.StringArrayInput } @@ -118,11 +120,11 @@ func (DnsState) ElementType() reflect.Type { type dnsArgs struct { // Provide description for your DNS server Description string `pulumi:"description"` - // Name or IP address of the DNS server + // Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. NameServers []string `pulumi:"nameServers"` // Configures the number of dots needed in a name before an initial absolute query will be made. NumberOfDots *int `pulumi:"numberOfDots"` - // Specify what domains you want to search + // Specifies the domains that the system searches for local domain lookups, to resolve local host names. Searches []string `pulumi:"searches"` } @@ -130,11 +132,11 @@ type dnsArgs struct { type DnsArgs struct { // Provide description for your DNS server Description pulumi.StringInput - // Name or IP address of the DNS server + // Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. NameServers pulumi.StringArrayInput // Configures the number of dots needed in a name before an initial absolute query will be made. NumberOfDots pulumi.IntPtrInput - // Specify what domains you want to search + // Specifies the domains that the system searches for local domain lookups, to resolve local host names. Searches pulumi.StringArrayInput } @@ -230,17 +232,17 @@ func (o DnsOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *Dns) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// Name or IP address of the DNS server +// Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. func (o DnsOutput) NameServers() pulumi.StringArrayOutput { return o.ApplyT(func(v *Dns) pulumi.StringArrayOutput { return v.NameServers }).(pulumi.StringArrayOutput) } // Configures the number of dots needed in a name before an initial absolute query will be made. -func (o DnsOutput) NumberOfDots() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Dns) pulumi.IntPtrOutput { return v.NumberOfDots }).(pulumi.IntPtrOutput) +func (o DnsOutput) NumberOfDots() pulumi.IntOutput { + return o.ApplyT(func(v *Dns) pulumi.IntOutput { return v.NumberOfDots }).(pulumi.IntOutput) } -// Specify what domains you want to search +// Specifies the domains that the system searches for local domain lookups, to resolve local host names. func (o DnsOutput) Searches() pulumi.StringArrayOutput { return o.ApplyT(func(v *Dns) pulumi.StringArrayOutput { return v.Searches }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/f5bigip/sys/ntp.go b/sdk/go/f5bigip/sys/ntp.go index 6facdaa4..8b544683 100644 --- a/sdk/go/f5bigip/sys/ntp.go +++ b/sdk/go/f5bigip/sys/ntp.go @@ -11,9 +11,8 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// `sys.Ntp` provides details about a specific bigip +// `sys.Ntp` resource is helpful when configuring NTP server on the BIG-IP. // -// This resource is helpful when configuring NTP server on the BIG-IP. // ## Example Usage // // ```go @@ -46,9 +45,9 @@ import ( type Ntp struct { pulumi.CustomResourceState - // Name of the ntp Servers + // User defined description. Description pulumi.StringOutput `pulumi:"description"` - // Adds NTP servers to or deletes NTP servers from the BIG-IP system. + // Specifies the time servers that the system uses to update the system time. Servers pulumi.StringArrayOutput `pulumi:"servers"` // Specifies the time zone that you want to use for the system time. Timezone pulumi.StringPtrOutput `pulumi:"timezone"` @@ -64,6 +63,9 @@ func NewNtp(ctx *pulumi.Context, if args.Description == nil { return nil, errors.New("invalid value for required argument 'Description'") } + if args.Servers == nil { + return nil, errors.New("invalid value for required argument 'Servers'") + } var resource Ntp err := ctx.RegisterResource("f5bigip:sys/ntp:Ntp", name, args, &resource, opts...) if err != nil { @@ -86,18 +88,18 @@ func GetNtp(ctx *pulumi.Context, // Input properties used for looking up and filtering Ntp resources. type ntpState struct { - // Name of the ntp Servers + // User defined description. Description *string `pulumi:"description"` - // Adds NTP servers to or deletes NTP servers from the BIG-IP system. + // Specifies the time servers that the system uses to update the system time. Servers []string `pulumi:"servers"` // Specifies the time zone that you want to use for the system time. Timezone *string `pulumi:"timezone"` } type NtpState struct { - // Name of the ntp Servers + // User defined description. Description pulumi.StringPtrInput - // Adds NTP servers to or deletes NTP servers from the BIG-IP system. + // Specifies the time servers that the system uses to update the system time. Servers pulumi.StringArrayInput // Specifies the time zone that you want to use for the system time. Timezone pulumi.StringPtrInput @@ -108,9 +110,9 @@ func (NtpState) ElementType() reflect.Type { } type ntpArgs struct { - // Name of the ntp Servers + // User defined description. Description string `pulumi:"description"` - // Adds NTP servers to or deletes NTP servers from the BIG-IP system. + // Specifies the time servers that the system uses to update the system time. Servers []string `pulumi:"servers"` // Specifies the time zone that you want to use for the system time. Timezone *string `pulumi:"timezone"` @@ -118,9 +120,9 @@ type ntpArgs struct { // The set of arguments for constructing a Ntp resource. type NtpArgs struct { - // Name of the ntp Servers + // User defined description. Description pulumi.StringInput - // Adds NTP servers to or deletes NTP servers from the BIG-IP system. + // Specifies the time servers that the system uses to update the system time. Servers pulumi.StringArrayInput // Specifies the time zone that you want to use for the system time. Timezone pulumi.StringPtrInput @@ -213,12 +215,12 @@ func (o NtpOutput) ToNtpOutputWithContext(ctx context.Context) NtpOutput { return o } -// Name of the ntp Servers +// User defined description. func (o NtpOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *Ntp) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// Adds NTP servers to or deletes NTP servers from the BIG-IP system. +// Specifies the time servers that the system uses to update the system time. func (o NtpOutput) Servers() pulumi.StringArrayOutput { return o.ApplyT(func(v *Ntp) pulumi.StringArrayOutput { return v.Servers }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/f5bigip/vcmp/guest.go b/sdk/go/f5bigip/vcmp/guest.go new file mode 100644 index 00000000..54f5023a --- /dev/null +++ b/sdk/go/f5bigip/vcmp/guest.go @@ -0,0 +1,455 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package vcmp + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// `vcmp.Guest` Manages a vCMP guest configuration +// +// Resource does not wait for vCMP guest to reach the desired state, it only ensures that a desired configuration is set on the target device. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/vcmp" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := vcmp.NewGuest(ctx, "vcmp-test", &vcmp.GuestArgs{ +// CoresPerSlot: pulumi.Int(2), +// InitialImage: pulumi.String("12.1.2.iso"), +// MgmtAddress: pulumi.String("10.1.1.1/24"), +// MgmtNetwork: pulumi.String("bridged"), +// MgmtRoute: pulumi.String("none"), +// MinNumberOfSlots: pulumi.Int(1), +// Name: pulumi.String("tf_guest"), +// NumberOfSlots: pulumi.Int(1), +// State: pulumi.String("provisioned"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type Guest struct { + pulumi.CustomResourceState + + // Contains those slots to which the guest is allowed to be assigned. + AllowedSlots pulumi.IntArrayOutput `pulumi:"allowedSlots"` + // Specifies the number of cores the system allocates to the guest. + CoresPerSlot pulumi.IntOutput `pulumi:"coresPerSlot"` + // Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + DeleteVirtualDisk pulumi.BoolPtrOutput `pulumi:"deleteVirtualDisk"` + // Resource name including prepended partition path. + FullPath pulumi.StringOutput `pulumi:"fullPath"` + // Specifies the hotfix ISO image file which is applied on top of the base image. + InitialHotfix pulumi.StringOutput `pulumi:"initialHotfix"` + // Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + InitialImage pulumi.StringOutput `pulumi:"initialImage"` + // 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. + MgmtAddress pulumi.StringOutput `pulumi:"mgmtAddress"` + // Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + MgmtNetwork pulumi.StringOutput `pulumi:"mgmtNetwork"` + // Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. + MgmtRoute pulumi.StringOutput `pulumi:"mgmtRoute"` + // Specifies the minimum number of slots the guest must be assigned to in order to deploy. + MinNumberOfSlots pulumi.IntOutput `pulumi:"minNumberOfSlots"` + // Name of the vCMP guest + Name pulumi.StringOutput `pulumi:"name"` + // Specifies the number of slots for the system to use when creating the guest. + NumberOfSlots pulumi.IntOutput `pulumi:"numberOfSlots"` + // Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + State pulumi.StringOutput `pulumi:"state"` + // Virtual disk associated with vCMP guest. + VirtualDisk pulumi.StringOutput `pulumi:"virtualDisk"` + // 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 + Vlans pulumi.StringArrayOutput `pulumi:"vlans"` +} + +// NewGuest registers a new resource with the given unique name, arguments, and options. +func NewGuest(ctx *pulumi.Context, + name string, args *GuestArgs, opts ...pulumi.ResourceOption) (*Guest, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Name == nil { + return nil, errors.New("invalid value for required argument 'Name'") + } + var resource Guest + err := ctx.RegisterResource("f5bigip:vcmp/guest:Guest", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGuest gets an existing Guest resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetGuest(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GuestState, opts ...pulumi.ResourceOption) (*Guest, error) { + var resource Guest + err := ctx.ReadResource("f5bigip:vcmp/guest:Guest", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Guest resources. +type guestState struct { + // Contains those slots to which the guest is allowed to be assigned. + AllowedSlots []int `pulumi:"allowedSlots"` + // Specifies the number of cores the system allocates to the guest. + CoresPerSlot *int `pulumi:"coresPerSlot"` + // Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + DeleteVirtualDisk *bool `pulumi:"deleteVirtualDisk"` + // Resource name including prepended partition path. + FullPath *string `pulumi:"fullPath"` + // Specifies the hotfix ISO image file which is applied on top of the base image. + InitialHotfix *string `pulumi:"initialHotfix"` + // Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + InitialImage *string `pulumi:"initialImage"` + // 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. + MgmtAddress *string `pulumi:"mgmtAddress"` + // Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + MgmtNetwork *string `pulumi:"mgmtNetwork"` + // Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. + MgmtRoute *string `pulumi:"mgmtRoute"` + // Specifies the minimum number of slots the guest must be assigned to in order to deploy. + MinNumberOfSlots *int `pulumi:"minNumberOfSlots"` + // Name of the vCMP guest + Name *string `pulumi:"name"` + // Specifies the number of slots for the system to use when creating the guest. + NumberOfSlots *int `pulumi:"numberOfSlots"` + // Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + State *string `pulumi:"state"` + // Virtual disk associated with vCMP guest. + VirtualDisk *string `pulumi:"virtualDisk"` + // 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 + Vlans []string `pulumi:"vlans"` +} + +type GuestState struct { + // Contains those slots to which the guest is allowed to be assigned. + AllowedSlots pulumi.IntArrayInput + // Specifies the number of cores the system allocates to the guest. + CoresPerSlot pulumi.IntPtrInput + // Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + DeleteVirtualDisk pulumi.BoolPtrInput + // Resource name including prepended partition path. + FullPath pulumi.StringPtrInput + // Specifies the hotfix ISO image file which is applied on top of the base image. + InitialHotfix pulumi.StringPtrInput + // Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + InitialImage pulumi.StringPtrInput + // 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. + MgmtAddress pulumi.StringPtrInput + // Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + MgmtNetwork pulumi.StringPtrInput + // Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. + MgmtRoute pulumi.StringPtrInput + // Specifies the minimum number of slots the guest must be assigned to in order to deploy. + MinNumberOfSlots pulumi.IntPtrInput + // Name of the vCMP guest + Name pulumi.StringPtrInput + // Specifies the number of slots for the system to use when creating the guest. + NumberOfSlots pulumi.IntPtrInput + // Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + State pulumi.StringPtrInput + // Virtual disk associated with vCMP guest. + VirtualDisk pulumi.StringPtrInput + // 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 + Vlans pulumi.StringArrayInput +} + +func (GuestState) ElementType() reflect.Type { + return reflect.TypeOf((*guestState)(nil)).Elem() +} + +type guestArgs struct { + // Contains those slots to which the guest is allowed to be assigned. + AllowedSlots []int `pulumi:"allowedSlots"` + // Specifies the number of cores the system allocates to the guest. + CoresPerSlot *int `pulumi:"coresPerSlot"` + // Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + DeleteVirtualDisk *bool `pulumi:"deleteVirtualDisk"` + // Specifies the hotfix ISO image file which is applied on top of the base image. + InitialHotfix *string `pulumi:"initialHotfix"` + // Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + InitialImage *string `pulumi:"initialImage"` + // 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. + MgmtAddress *string `pulumi:"mgmtAddress"` + // Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + MgmtNetwork *string `pulumi:"mgmtNetwork"` + // Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. + MgmtRoute *string `pulumi:"mgmtRoute"` + // Specifies the minimum number of slots the guest must be assigned to in order to deploy. + MinNumberOfSlots *int `pulumi:"minNumberOfSlots"` + // Name of the vCMP guest + Name string `pulumi:"name"` + // Specifies the number of slots for the system to use when creating the guest. + NumberOfSlots *int `pulumi:"numberOfSlots"` + // Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + State *string `pulumi:"state"` + // 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 + Vlans []string `pulumi:"vlans"` +} + +// The set of arguments for constructing a Guest resource. +type GuestArgs struct { + // Contains those slots to which the guest is allowed to be assigned. + AllowedSlots pulumi.IntArrayInput + // Specifies the number of cores the system allocates to the guest. + CoresPerSlot pulumi.IntPtrInput + // Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + DeleteVirtualDisk pulumi.BoolPtrInput + // Specifies the hotfix ISO image file which is applied on top of the base image. + InitialHotfix pulumi.StringPtrInput + // Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + InitialImage pulumi.StringPtrInput + // 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. + MgmtAddress pulumi.StringPtrInput + // Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + MgmtNetwork pulumi.StringPtrInput + // Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. + MgmtRoute pulumi.StringPtrInput + // Specifies the minimum number of slots the guest must be assigned to in order to deploy. + MinNumberOfSlots pulumi.IntPtrInput + // Name of the vCMP guest + Name pulumi.StringInput + // Specifies the number of slots for the system to use when creating the guest. + NumberOfSlots pulumi.IntPtrInput + // Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + State pulumi.StringPtrInput + // 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 + Vlans pulumi.StringArrayInput +} + +func (GuestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*guestArgs)(nil)).Elem() +} + +type GuestInput interface { + pulumi.Input + + ToGuestOutput() GuestOutput + ToGuestOutputWithContext(ctx context.Context) GuestOutput +} + +func (*Guest) ElementType() reflect.Type { + return reflect.TypeOf((**Guest)(nil)).Elem() +} + +func (i *Guest) ToGuestOutput() GuestOutput { + return i.ToGuestOutputWithContext(context.Background()) +} + +func (i *Guest) ToGuestOutputWithContext(ctx context.Context) GuestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GuestOutput) +} + +// GuestArrayInput is an input type that accepts GuestArray and GuestArrayOutput values. +// You can construct a concrete instance of `GuestArrayInput` via: +// +// GuestArray{ GuestArgs{...} } +type GuestArrayInput interface { + pulumi.Input + + ToGuestArrayOutput() GuestArrayOutput + ToGuestArrayOutputWithContext(context.Context) GuestArrayOutput +} + +type GuestArray []GuestInput + +func (GuestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Guest)(nil)).Elem() +} + +func (i GuestArray) ToGuestArrayOutput() GuestArrayOutput { + return i.ToGuestArrayOutputWithContext(context.Background()) +} + +func (i GuestArray) ToGuestArrayOutputWithContext(ctx context.Context) GuestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GuestArrayOutput) +} + +// GuestMapInput is an input type that accepts GuestMap and GuestMapOutput values. +// You can construct a concrete instance of `GuestMapInput` via: +// +// GuestMap{ "key": GuestArgs{...} } +type GuestMapInput interface { + pulumi.Input + + ToGuestMapOutput() GuestMapOutput + ToGuestMapOutputWithContext(context.Context) GuestMapOutput +} + +type GuestMap map[string]GuestInput + +func (GuestMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Guest)(nil)).Elem() +} + +func (i GuestMap) ToGuestMapOutput() GuestMapOutput { + return i.ToGuestMapOutputWithContext(context.Background()) +} + +func (i GuestMap) ToGuestMapOutputWithContext(ctx context.Context) GuestMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GuestMapOutput) +} + +type GuestOutput struct{ *pulumi.OutputState } + +func (GuestOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Guest)(nil)).Elem() +} + +func (o GuestOutput) ToGuestOutput() GuestOutput { + return o +} + +func (o GuestOutput) ToGuestOutputWithContext(ctx context.Context) GuestOutput { + return o +} + +// Contains those slots to which the guest is allowed to be assigned. +func (o GuestOutput) AllowedSlots() pulumi.IntArrayOutput { + return o.ApplyT(func(v *Guest) pulumi.IntArrayOutput { return v.AllowedSlots }).(pulumi.IntArrayOutput) +} + +// Specifies the number of cores the system allocates to the guest. +func (o GuestOutput) CoresPerSlot() pulumi.IntOutput { + return o.ApplyT(func(v *Guest) pulumi.IntOutput { return v.CoresPerSlot }).(pulumi.IntOutput) +} + +// Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` +func (o GuestOutput) DeleteVirtualDisk() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Guest) pulumi.BoolPtrOutput { return v.DeleteVirtualDisk }).(pulumi.BoolPtrOutput) +} + +// Resource name including prepended partition path. +func (o GuestOutput) FullPath() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.FullPath }).(pulumi.StringOutput) +} + +// Specifies the hotfix ISO image file which is applied on top of the base image. +func (o GuestOutput) InitialHotfix() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.InitialHotfix }).(pulumi.StringOutput) +} + +// Specifies the base software release ISO image file for installing the TMOS hypervisor instance. +func (o GuestOutput) InitialImage() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.InitialImage }).(pulumi.StringOutput) +} + +// 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. +func (o GuestOutput) MgmtAddress() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.MgmtAddress }).(pulumi.StringOutput) +} + +// Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. +func (o GuestOutput) MgmtNetwork() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.MgmtNetwork }).(pulumi.StringOutput) +} + +// Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. +func (o GuestOutput) MgmtRoute() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.MgmtRoute }).(pulumi.StringOutput) +} + +// Specifies the minimum number of slots the guest must be assigned to in order to deploy. +func (o GuestOutput) MinNumberOfSlots() pulumi.IntOutput { + return o.ApplyT(func(v *Guest) pulumi.IntOutput { return v.MinNumberOfSlots }).(pulumi.IntOutput) +} + +// Name of the vCMP guest +func (o GuestOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Specifies the number of slots for the system to use when creating the guest. +func (o GuestOutput) NumberOfSlots() pulumi.IntOutput { + return o.ApplyT(func(v *Guest) pulumi.IntOutput { return v.NumberOfSlots }).(pulumi.IntOutput) +} + +// Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. +func (o GuestOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Virtual disk associated with vCMP guest. +func (o GuestOutput) VirtualDisk() pulumi.StringOutput { + return o.ApplyT(func(v *Guest) pulumi.StringOutput { return v.VirtualDisk }).(pulumi.StringOutput) +} + +// 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 +func (o GuestOutput) Vlans() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Guest) pulumi.StringArrayOutput { return v.Vlans }).(pulumi.StringArrayOutput) +} + +type GuestArrayOutput struct{ *pulumi.OutputState } + +func (GuestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Guest)(nil)).Elem() +} + +func (o GuestArrayOutput) ToGuestArrayOutput() GuestArrayOutput { + return o +} + +func (o GuestArrayOutput) ToGuestArrayOutputWithContext(ctx context.Context) GuestArrayOutput { + return o +} + +func (o GuestArrayOutput) Index(i pulumi.IntInput) GuestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Guest { + return vs[0].([]*Guest)[vs[1].(int)] + }).(GuestOutput) +} + +type GuestMapOutput struct{ *pulumi.OutputState } + +func (GuestMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Guest)(nil)).Elem() +} + +func (o GuestMapOutput) ToGuestMapOutput() GuestMapOutput { + return o +} + +func (o GuestMapOutput) ToGuestMapOutputWithContext(ctx context.Context) GuestMapOutput { + return o +} + +func (o GuestMapOutput) MapIndex(k pulumi.StringInput) GuestOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Guest { + return vs[0].(map[string]*Guest)[vs[1].(string)] + }).(GuestOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GuestInput)(nil)).Elem(), &Guest{}) + pulumi.RegisterInputType(reflect.TypeOf((*GuestArrayInput)(nil)).Elem(), GuestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GuestMapInput)(nil)).Elem(), GuestMap{}) + pulumi.RegisterOutputType(GuestOutput{}) + pulumi.RegisterOutputType(GuestArrayOutput{}) + pulumi.RegisterOutputType(GuestMapOutput{}) +} diff --git a/sdk/go/f5bigip/vcmp/init.go b/sdk/go/f5bigip/vcmp/init.go new file mode 100644 index 00000000..2a1639e9 --- /dev/null +++ b/sdk/go/f5bigip/vcmp/init.go @@ -0,0 +1,44 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package vcmp + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "f5bigip:vcmp/guest:Guest": + r = &Guest{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := f5bigip.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "f5bigip", + "vcmp/guest", + &module{version}, + ) +} diff --git a/sdk/go/f5bigip/wafPolicy.go b/sdk/go/f5bigip/wafPolicy.go index 9df007ca..fdcf1e83 100644 --- a/sdk/go/f5bigip/wafPolicy.go +++ b/sdk/go/f5bigip/wafPolicy.go @@ -16,6 +16,8 @@ import ( // // * [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html) // +// > **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned. +// // ## Example Usage // // ```go @@ -74,12 +76,12 @@ import ( // pulumi.String("MongoDB"), // }, // Parameters: pulumi.StringArray{ -// pulumi.String(param1.Json), -// pulumi.String(param2.Json), +// *pulumi.String(param1.Json), +// *pulumi.String(param2.Json), // }, // Urls: pulumi.StringArray{ -// pulumi.String(uRL.Json), -// pulumi.String(uRL2.Json), +// *pulumi.String(uRL.Json), +// *pulumi.String(uRL2.Json), // }, // }) // if err != nil { @@ -340,8 +342,6 @@ type wafPolicyArgs struct { // `policyBuilder` block will provide `learningMode` options to be used for policy builder. // See policy builder below for more details. PolicyBuilders []WafPolicyPolicyBuilder `pulumi:"policyBuilders"` - // Exported WAF policy deployed on BIGIP. - PolicyExportJson *string `pulumi:"policyExportJson"` // The id of the A.WAF Policy as it would be calculated on the BIG-IP. PolicyId *string `pulumi:"policyId"` // The payload of the WAF Policy to be used for IMPORT on to BIG-IP. @@ -397,8 +397,6 @@ type WafPolicyArgs struct { // `policyBuilder` block will provide `learningMode` options to be used for policy builder. // See policy builder below for more details. PolicyBuilders WafPolicyPolicyBuilderArrayInput - // Exported WAF policy deployed on BIGIP. - PolicyExportJson pulumi.StringPtrInput // The id of the A.WAF Policy as it would be calculated on the BIG-IP. PolicyId pulumi.StringPtrInput // The payload of the WAF Policy to be used for IMPORT on to BIG-IP. diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/As3.java b/sdk/java/src/main/java/com/pulumi/f5bigip/As3.java index 0f17bc4c..84c3b08a 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/As3.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/As3.java @@ -75,7 +75,7 @@ * * bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! * - * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { * * as3_json * @@ -243,7 +243,7 @@ * * bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! * - * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { * * as3_json * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/BigIqAs3.java b/sdk/java/src/main/java/com/pulumi/f5bigip/BigIqAs3.java index eb301110..7bd93b35 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/BigIqAs3.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/BigIqAs3.java @@ -12,6 +12,7 @@ import com.pulumi.f5bigip.inputs.BigIqAs3State; import java.lang.Boolean; import java.lang.String; +import java.util.List; import java.util.Optional; import javax.annotation.Nullable; @@ -215,6 +216,13 @@ private BigIqAs3(String name, Output id, @Nullable BigIqAs3State state, private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "bigiqLoginRef", + "bigiqPassword", + "bigiqPort", + "bigiqTokenAuth", + "bigiqUser" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/CommonLicenseManageBigIq.java b/sdk/java/src/main/java/com/pulumi/f5bigip/CommonLicenseManageBigIq.java index ff366cb6..e95d0b2f 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/CommonLicenseManageBigIq.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/CommonLicenseManageBigIq.java @@ -12,6 +12,7 @@ import com.pulumi.f5bigip.inputs.CommonLicenseManageBigIqState; import java.lang.Boolean; import java.lang.String; +import java.util.List; import java.util.Optional; import javax.annotation.Nullable; @@ -356,6 +357,13 @@ private CommonLicenseManageBigIq(String name, Output id, @Nullable Commo private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "bigiqLoginRef", + "bigiqPassword", + "bigiqPort", + "bigiqTokenAuth", + "bigiqUser" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/Config.java b/sdk/java/src/main/java/com/pulumi/f5bigip/Config.java index f91cc0d9..16596848 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/Config.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/Config.java @@ -60,6 +60,13 @@ public Optional tokenAuth() { public Optional tokenValue() { return Codegen.stringProp("tokenValue").config(config).get(); } +/** + * Valid Trusted Certificate path + * + */ + public Optional trustedCertPath() { + return Codegen.stringProp("trustedCertPath").config(config).get(); + } /** * Username with API access to the BigIP * @@ -67,4 +74,11 @@ public Optional tokenValue() { public Optional username() { return Codegen.stringProp("username").config(config).get(); } +/** + * If set to true, Disables TLS certificate check on BIG-IP. Default : True + * + */ + public Optional validateCertsDisable() { + return Codegen.booleanProp("validateCertsDisable").config(config).get(); + } } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/Do.java b/sdk/java/src/main/java/com/pulumi/f5bigip/Do.java index 8a32041e..5b2386aa 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/Do.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/Do.java @@ -13,6 +13,7 @@ import java.lang.Boolean; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Optional; import javax.annotation.Nullable; @@ -211,6 +212,10 @@ private Do(String name, Output id, @Nullable DoState state, @Nullable co private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "bigipPassword", + "bigipTokenAuth" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpApp.java b/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpApp.java index 6301a123..918c12b8 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpApp.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpApp.java @@ -10,9 +10,10 @@ import com.pulumi.f5bigip.FastHttpAppArgs; import com.pulumi.f5bigip.Utilities; import com.pulumi.f5bigip.inputs.FastHttpAppState; -import com.pulumi.f5bigip.outputs.FastHttpAppFastCreateMonitor; -import com.pulumi.f5bigip.outputs.FastHttpAppFastCreatePoolMember; +import com.pulumi.f5bigip.outputs.FastHttpAppMonitor; +import com.pulumi.f5bigip.outputs.FastHttpAppPoolMember; import com.pulumi.f5bigip.outputs.FastHttpAppVirtualServer; +import com.pulumi.f5bigip.outputs.FastHttpAppWafSecurityPolicy; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -78,18 +79,18 @@ public Output application() { return this.application; } /** - * Name of an existing BIG-IP pool. + * List of LTM Policies to be applied FAST HTTP Application. * */ - @Export(name="existPoolName", type=String.class, parameters={}) - private Output existPoolName; + @Export(name="endpointLtmPolicies", type=List.class, parameters={String.class}) + private Output> endpointLtmPolicies; /** - * @return Name of an existing BIG-IP pool. + * @return List of LTM Policies to be applied FAST HTTP Application. * */ - public Output> existPoolName() { - return Codegen.optional(this.existPoolName); + public Output>> endpointLtmPolicies() { + return Codegen.optional(this.endpointLtmPolicies); } /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. @@ -106,64 +107,60 @@ public Output> existingMonitor() { return Codegen.optional(this.existingMonitor); } /** - * Name of an existing BIG-IP SNAT pool. + * Select an existing BIG-IP Pool * */ - @Export(name="existingSnatPool", type=String.class, parameters={}) - private Output existingSnatPool; + @Export(name="existingPool", type=String.class, parameters={}) + private Output existingPool; /** - * @return Name of an existing BIG-IP SNAT pool. + * @return Select an existing BIG-IP Pool * */ - public Output> existingSnatPool() { - return Codegen.optional(this.existingSnatPool); + public Output> existingPool() { + return Codegen.optional(this.existingPool); } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing BIG-IP SNAT pool. * */ - @Export(name="fastCreateMonitor", type=FastHttpAppFastCreateMonitor.class, parameters={}) - private Output fastCreateMonitor; + @Export(name="existingSnatPool", type=String.class, parameters={}) + private Output existingSnatPool; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return Name of an existing BIG-IP SNAT pool. * */ - public Output> fastCreateMonitor() { - return Codegen.optional(this.fastCreateMonitor); + public Output> existingSnatPool() { + return Codegen.optional(this.existingSnatPool); } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing WAF Security policy. * */ - @Export(name="fastCreatePoolMembers", type=List.class, parameters={FastHttpAppFastCreatePoolMember.class}) - private Output> fastCreatePoolMembers; + @Export(name="existingWafSecurityPolicy", type=String.class, parameters={}) + private Output existingWafSecurityPolicy; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return Name of an existing WAF Security policy. * */ - public Output>> fastCreatePoolMembers() { - return Codegen.optional(this.fastCreatePoolMembers); + public Output> existingWafSecurityPolicy() { + return Codegen.optional(this.existingWafSecurityPolicy); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * Json payload for FAST HTTP application. * */ - @Export(name="fastCreateSnatPoolAddresses", type=List.class, parameters={String.class}) - private Output> fastCreateSnatPoolAddresses; + @Export(name="fastHttpJson", type=String.class, parameters={}) + private Output fastHttpJson; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return Json payload for FAST HTTP application. * */ - public Output>> fastCreateSnatPoolAddresses() { - return Codegen.optional(this.fastCreateSnatPoolAddresses); + public Output fastHttpJson() { + return this.fastHttpJson; } /** * 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 @@ -179,6 +176,52 @@ public Output>> fastCreateSnatPoolAddresses() { public Output> loadBalancingMode() { return Codegen.optional(this.loadBalancingMode); } + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + @Export(name="monitor", type=FastHttpAppMonitor.class, parameters={}) + private Output monitor; + + /** + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + public Output> monitor() { + return Codegen.optional(this.monitor); + } + /** + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + @Export(name="poolMembers", type=List.class, parameters={FastHttpAppPoolMember.class}) + private Output> poolMembers; + + /** + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + public Output>> poolMembers() { + return Codegen.optional(this.poolMembers); + } + /** + * List of security log profiles to be used for FAST application + * + */ + @Export(name="securityLogProfiles", type=List.class, parameters={String.class}) + private Output> securityLogProfiles; + + /** + * @return List of security log profiles to be used for FAST application + * + */ + public Output>> securityLogProfiles() { + return Codegen.optional(this.securityLogProfiles); + } /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * @@ -193,6 +236,20 @@ public Output> loadBalancingMode() { public Output> slowRampTime() { return Codegen.optional(this.slowRampTime); } + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Export(name="snatPoolAddresses", type=List.class, parameters={String.class}) + private Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Output>> snatPoolAddresses() { + return Codegen.optional(this.snatPoolAddresses); + } /** * Name of the FAST HTTPS application tenant. * @@ -223,6 +280,22 @@ public Output tenant() { public Output> virtualServer() { return Codegen.optional(this.virtualServer); } + /** + * `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + @Export(name="wafSecurityPolicy", type=FastHttpAppWafSecurityPolicy.class, parameters={}) + private Output wafSecurityPolicy; + + /** + * @return `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + public Output> wafSecurityPolicy() { + return Codegen.optional(this.wafSecurityPolicy); + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpAppArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpAppArgs.java index 499571b8..573a6654 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpAppArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpAppArgs.java @@ -5,9 +5,10 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.f5bigip.inputs.FastHttpAppFastCreateMonitorArgs; -import com.pulumi.f5bigip.inputs.FastHttpAppFastCreatePoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastHttpAppMonitorArgs; +import com.pulumi.f5bigip.inputs.FastHttpAppPoolMemberArgs; import com.pulumi.f5bigip.inputs.FastHttpAppVirtualServerArgs; +import com.pulumi.f5bigip.inputs.FastHttpAppWafSecurityPolicyArgs; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -36,18 +37,18 @@ public Output application() { } /** - * Name of an existing BIG-IP pool. + * List of LTM Policies to be applied FAST HTTP Application. * */ - @Import(name="existPoolName") - private @Nullable Output existPoolName; + @Import(name="endpointLtmPolicies") + private @Nullable Output> endpointLtmPolicies; /** - * @return Name of an existing BIG-IP pool. + * @return List of LTM Policies to be applied FAST HTTP Application. * */ - public Optional> existPoolName() { - return Optional.ofNullable(this.existPoolName); + public Optional>> endpointLtmPolicies() { + return Optional.ofNullable(this.endpointLtmPolicies); } /** @@ -65,6 +66,21 @@ public Optional> existingMonitor() { return Optional.ofNullable(this.existingMonitor); } + /** + * Select an existing BIG-IP Pool + * + */ + @Import(name="existingPool") + private @Nullable Output existingPool; + + /** + * @return Select an existing BIG-IP Pool + * + */ + public Optional> existingPool() { + return Optional.ofNullable(this.existingPool); + } + /** * Name of an existing BIG-IP SNAT pool. * @@ -81,67 +97,82 @@ public Optional> existingSnatPool() { } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing WAF Security policy. * */ - @Import(name="fastCreateMonitor") - private @Nullable Output fastCreateMonitor; + @Import(name="existingWafSecurityPolicy") + private @Nullable Output existingWafSecurityPolicy; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return Name of an existing WAF Security policy. * */ - public Optional> fastCreateMonitor() { - return Optional.ofNullable(this.fastCreateMonitor); + public Optional> existingWafSecurityPolicy() { + return Optional.ofNullable(this.existingWafSecurityPolicy); } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * 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 * */ - @Import(name="fastCreatePoolMembers") - private @Nullable Output> fastCreatePoolMembers; + @Import(name="loadBalancingMode") + private @Nullable Output loadBalancingMode; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return 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 * */ - public Optional>> fastCreatePoolMembers() { - return Optional.ofNullable(this.fastCreatePoolMembers); + public Optional> loadBalancingMode() { + return Optional.ofNullable(this.loadBalancingMode); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * */ - @Import(name="fastCreateSnatPoolAddresses") - private @Nullable Output> fastCreateSnatPoolAddresses; + @Import(name="monitor") + private @Nullable Output monitor; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * */ - public Optional>> fastCreateSnatPoolAddresses() { - return Optional.ofNullable(this.fastCreateSnatPoolAddresses); + public Optional> monitor() { + return Optional.ofNullable(this.monitor); } /** - * 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 + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * */ - @Import(name="loadBalancingMode") - private @Nullable Output loadBalancingMode; + @Import(name="poolMembers") + private @Nullable Output> poolMembers; /** - * @return 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 + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * */ - public Optional> loadBalancingMode() { - return Optional.ofNullable(this.loadBalancingMode); + public Optional>> poolMembers() { + return Optional.ofNullable(this.poolMembers); + } + + /** + * List of security log profiles to be used for FAST application + * + */ + @Import(name="securityLogProfiles") + private @Nullable Output> securityLogProfiles; + + /** + * @return List of security log profiles to be used for FAST application + * + */ + public Optional>> securityLogProfiles() { + return Optional.ofNullable(this.securityLogProfiles); } /** @@ -159,6 +190,21 @@ public Optional> slowRampTime() { return Optional.ofNullable(this.slowRampTime); } + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Import(name="snatPoolAddresses") + private @Nullable Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Optional>> snatPoolAddresses() { + return Optional.ofNullable(this.snatPoolAddresses); + } + /** * Name of the FAST HTTPS application tenant. * @@ -191,20 +237,41 @@ public Optional> virtualServer() { return Optional.ofNullable(this.virtualServer); } + /** + * `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + @Import(name="wafSecurityPolicy") + private @Nullable Output wafSecurityPolicy; + + /** + * @return `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + public Optional> wafSecurityPolicy() { + return Optional.ofNullable(this.wafSecurityPolicy); + } + private FastHttpAppArgs() {} private FastHttpAppArgs(FastHttpAppArgs $) { this.application = $.application; - this.existPoolName = $.existPoolName; + this.endpointLtmPolicies = $.endpointLtmPolicies; this.existingMonitor = $.existingMonitor; + this.existingPool = $.existingPool; this.existingSnatPool = $.existingSnatPool; - this.fastCreateMonitor = $.fastCreateMonitor; - this.fastCreatePoolMembers = $.fastCreatePoolMembers; - this.fastCreateSnatPoolAddresses = $.fastCreateSnatPoolAddresses; + this.existingWafSecurityPolicy = $.existingWafSecurityPolicy; this.loadBalancingMode = $.loadBalancingMode; + this.monitor = $.monitor; + this.poolMembers = $.poolMembers; + this.securityLogProfiles = $.securityLogProfiles; this.slowRampTime = $.slowRampTime; + this.snatPoolAddresses = $.snatPoolAddresses; this.tenant = $.tenant; this.virtualServer = $.virtualServer; + this.wafSecurityPolicy = $.wafSecurityPolicy; } public static Builder builder() { @@ -247,24 +314,34 @@ public Builder application(String application) { } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTP Application. * * @return builder * */ - public Builder existPoolName(@Nullable Output existPoolName) { - $.existPoolName = existPoolName; + public Builder endpointLtmPolicies(@Nullable Output> endpointLtmPolicies) { + $.endpointLtmPolicies = endpointLtmPolicies; return this; } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTP Application. + * + * @return builder + * + */ + public Builder endpointLtmPolicies(List endpointLtmPolicies) { + return endpointLtmPolicies(Output.of(endpointLtmPolicies)); + } + + /** + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTP Application. * * @return builder * */ - public Builder existPoolName(String existPoolName) { - return existPoolName(Output.of(existPoolName)); + public Builder endpointLtmPolicies(String... endpointLtmPolicies) { + return endpointLtmPolicies(List.of(endpointLtmPolicies)); } /** @@ -288,6 +365,27 @@ public Builder existingMonitor(String existingMonitor) { return existingMonitor(Output.of(existingMonitor)); } + /** + * @param existingPool Select an existing BIG-IP Pool + * + * @return builder + * + */ + public Builder existingPool(@Nullable Output existingPool) { + $.existingPool = existingPool; + return this; + } + + /** + * @param existingPool Select an existing BIG-IP Pool + * + * @return builder + * + */ + public Builder existingPool(String existingPool) { + return existingPool(Output.of(existingPool)); + } + /** * @param existingSnatPool Name of an existing BIG-IP SNAT pool. * @@ -310,112 +408,133 @@ public Builder existingSnatPool(String existingSnatPool) { } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param existingWafSecurityPolicy Name of an existing WAF Security policy. * * @return builder * */ - public Builder fastCreateMonitor(@Nullable Output fastCreateMonitor) { - $.fastCreateMonitor = fastCreateMonitor; + public Builder existingWafSecurityPolicy(@Nullable Output existingWafSecurityPolicy) { + $.existingWafSecurityPolicy = existingWafSecurityPolicy; return this; } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param existingWafSecurityPolicy Name of an existing WAF Security policy. * * @return builder * */ - public Builder fastCreateMonitor(FastHttpAppFastCreateMonitorArgs fastCreateMonitor) { - return fastCreateMonitor(Output.of(fastCreateMonitor)); + public Builder existingWafSecurityPolicy(String existingWafSecurityPolicy) { + return existingWafSecurityPolicy(Output.of(existingWafSecurityPolicy)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreatePoolMembers(@Nullable Output> fastCreatePoolMembers) { - $.fastCreatePoolMembers = fastCreatePoolMembers; + public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { + $.loadBalancingMode = loadBalancingMode; return this; } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreatePoolMembers(List fastCreatePoolMembers) { - return fastCreatePoolMembers(Output.of(fastCreatePoolMembers)); + public Builder loadBalancingMode(String loadBalancingMode) { + return loadBalancingMode(Output.of(loadBalancingMode)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder fastCreatePoolMembers(FastHttpAppFastCreatePoolMemberArgs... fastCreatePoolMembers) { - return fastCreatePoolMembers(List.of(fastCreatePoolMembers)); + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; + return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(@Nullable Output> fastCreateSnatPoolAddresses) { - $.fastCreateSnatPoolAddresses = fastCreateSnatPoolAddresses; + public Builder monitor(FastHttpAppMonitorArgs monitor) { + return monitor(Output.of(monitor)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(@Nullable Output> poolMembers) { + $.poolMembers = poolMembers; return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(List fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(Output.of(fastCreateSnatPoolAddresses)); + public Builder poolMembers(List poolMembers) { + return poolMembers(Output.of(poolMembers)); } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(String... fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(List.of(fastCreateSnatPoolAddresses)); + public Builder poolMembers(FastHttpAppPoolMemberArgs... poolMembers) { + return poolMembers(List.of(poolMembers)); } /** - * @param loadBalancingMode 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 + * @param securityLogProfiles List of security log profiles to be used for FAST application * * @return builder * */ - public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { - $.loadBalancingMode = loadBalancingMode; + public Builder securityLogProfiles(@Nullable Output> securityLogProfiles) { + $.securityLogProfiles = securityLogProfiles; return this; } /** - * @param loadBalancingMode 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 + * @param securityLogProfiles List of security log profiles to be used for FAST application * * @return builder * */ - public Builder loadBalancingMode(String loadBalancingMode) { - return loadBalancingMode(Output.of(loadBalancingMode)); + public Builder securityLogProfiles(List securityLogProfiles) { + return securityLogProfiles(Output.of(securityLogProfiles)); + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(String... securityLogProfiles) { + return securityLogProfiles(List.of(securityLogProfiles)); } /** @@ -439,6 +558,37 @@ public Builder slowRampTime(Integer slowRampTime) { return slowRampTime(Output.of(slowRampTime)); } + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(@Nullable Output> snatPoolAddresses) { + $.snatPoolAddresses = snatPoolAddresses; + return this; + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(List snatPoolAddresses) { + return snatPoolAddresses(Output.of(snatPoolAddresses)); + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(String... snatPoolAddresses) { + return snatPoolAddresses(List.of(snatPoolAddresses)); + } + /** * @param tenant Name of the FAST HTTPS application tenant. * @@ -483,6 +633,29 @@ public Builder virtualServer(FastHttpAppVirtualServerArgs virtualServer) { return virtualServer(Output.of(virtualServer)); } + /** + * @param wafSecurityPolicy `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + * @return builder + * + */ + public Builder wafSecurityPolicy(@Nullable Output wafSecurityPolicy) { + $.wafSecurityPolicy = wafSecurityPolicy; + return this; + } + + /** + * @param wafSecurityPolicy `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + * @return builder + * + */ + public Builder wafSecurityPolicy(FastHttpAppWafSecurityPolicyArgs wafSecurityPolicy) { + return wafSecurityPolicy(Output.of(wafSecurityPolicy)); + } + public FastHttpAppArgs build() { $.application = Objects.requireNonNull($.application, "expected parameter 'application' to be non-null"); $.tenant = Objects.requireNonNull($.tenant, "expected parameter 'tenant' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpsApp.java b/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpsApp.java index bbcf0408..04ab69c7 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpsApp.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpsApp.java @@ -10,10 +10,12 @@ import com.pulumi.f5bigip.FastHttpsAppArgs; import com.pulumi.f5bigip.Utilities; import com.pulumi.f5bigip.inputs.FastHttpsAppState; -import com.pulumi.f5bigip.outputs.FastHttpsAppCreateTlsServerProfile; -import com.pulumi.f5bigip.outputs.FastHttpsAppFastCreateMonitor; -import com.pulumi.f5bigip.outputs.FastHttpsAppFastCreatePoolMember; +import com.pulumi.f5bigip.outputs.FastHttpsAppMonitor; +import com.pulumi.f5bigip.outputs.FastHttpsAppPoolMember; +import com.pulumi.f5bigip.outputs.FastHttpsAppTlsClientProfile; +import com.pulumi.f5bigip.outputs.FastHttpsAppTlsServerProfile; import com.pulumi.f5bigip.outputs.FastHttpsAppVirtualServer; +import com.pulumi.f5bigip.outputs.FastHttpsAppWafSecurityPolicy; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -79,48 +81,46 @@ public Output application() { return this.application; } /** - * `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * List of LTM Policies to be applied FAST HTTPS Application. * */ - @Export(name="createTlsServerProfile", type=FastHttpsAppCreateTlsServerProfile.class, parameters={}) - private Output createTlsServerProfile; + @Export(name="endpointLtmPolicies", type=List.class, parameters={String.class}) + private Output> endpointLtmPolicies; /** - * @return `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * @return List of LTM Policies to be applied FAST HTTPS Application. * */ - public Output> createTlsServerProfile() { - return Codegen.optional(this.createTlsServerProfile); + public Output>> endpointLtmPolicies() { + return Codegen.optional(this.endpointLtmPolicies); } /** - * Name of an existing BIG-IP pool. + * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - @Export(name="existPoolName", type=String.class, parameters={}) - private Output existPoolName; + @Export(name="existingMonitor", type=String.class, parameters={}) + private Output existingMonitor; /** - * @return Name of an existing BIG-IP pool. + * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - public Output> existPoolName() { - return Codegen.optional(this.existPoolName); + public Output> existingMonitor() { + return Codegen.optional(this.existingMonitor); } /** - * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * Name of an existing BIG-IP pool. * */ - @Export(name="existingMonitor", type=String.class, parameters={}) - private Output existingMonitor; + @Export(name="existingPool", type=String.class, parameters={}) + private Output existingPool; /** - * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @return Name of an existing BIG-IP pool. * */ - public Output> existingMonitor() { - return Codegen.optional(this.existingMonitor); + public Output> existingPool() { + return Codegen.optional(this.existingPool); } /** * Name of an existing BIG-IP SNAT pool. @@ -137,50 +137,60 @@ public Output> existingSnatPool() { return Codegen.optional(this.existingSnatPool); } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing TLS client profile. * */ - @Export(name="fastCreateMonitor", type=FastHttpsAppFastCreateMonitor.class, parameters={}) - private Output fastCreateMonitor; + @Export(name="existingTlsClientProfile", type=String.class, parameters={}) + private Output existingTlsClientProfile; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return Name of an existing TLS client profile. * */ - public Output> fastCreateMonitor() { - return Codegen.optional(this.fastCreateMonitor); + public Output> existingTlsClientProfile() { + return Codegen.optional(this.existingTlsClientProfile); } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing TLS server profile. * */ - @Export(name="fastCreatePoolMembers", type=List.class, parameters={FastHttpsAppFastCreatePoolMember.class}) - private Output> fastCreatePoolMembers; + @Export(name="existingTlsServerProfile", type=String.class, parameters={}) + private Output existingTlsServerProfile; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return Name of an existing TLS server profile. * */ - public Output>> fastCreatePoolMembers() { - return Codegen.optional(this.fastCreatePoolMembers); + public Output> existingTlsServerProfile() { + return Codegen.optional(this.existingTlsServerProfile); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * Name of an existing WAF Security policy. * */ - @Export(name="fastCreateSnatPoolAddresses", type=List.class, parameters={String.class}) - private Output> fastCreateSnatPoolAddresses; + @Export(name="existingWafSecurityPolicy", type=String.class, parameters={}) + private Output existingWafSecurityPolicy; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return Name of an existing WAF Security policy. + * + */ + public Output> existingWafSecurityPolicy() { + return Codegen.optional(this.existingWafSecurityPolicy); + } + /** + * Json payload for FAST HTTPS application. + * + */ + @Export(name="fastHttpsJson", type=String.class, parameters={}) + private Output fastHttpsJson; + + /** + * @return Json payload for FAST HTTPS application. * */ - public Output>> fastCreateSnatPoolAddresses() { - return Codegen.optional(this.fastCreateSnatPoolAddresses); + public Output fastHttpsJson() { + return this.fastHttpsJson; } /** * 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 @@ -196,6 +206,52 @@ public Output>> fastCreateSnatPoolAddresses() { public Output> loadBalancingMode() { return Codegen.optional(this.loadBalancingMode); } + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + @Export(name="monitor", type=FastHttpsAppMonitor.class, parameters={}) + private Output monitor; + + /** + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + public Output> monitor() { + return Codegen.optional(this.monitor); + } + /** + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + @Export(name="poolMembers", type=List.class, parameters={FastHttpsAppPoolMember.class}) + private Output> poolMembers; + + /** + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + public Output>> poolMembers() { + return Codegen.optional(this.poolMembers); + } + /** + * List of security log profiles to be used for FAST application + * + */ + @Export(name="securityLogProfiles", type=List.class, parameters={String.class}) + private Output> securityLogProfiles; + + /** + * @return List of security log profiles to be used for FAST application + * + */ + public Output>> securityLogProfiles() { + return Codegen.optional(this.securityLogProfiles); + } /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * @@ -210,6 +266,20 @@ public Output> loadBalancingMode() { public Output> slowRampTime() { return Codegen.optional(this.slowRampTime); } + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Export(name="snatPoolAddresses", type=List.class, parameters={String.class}) + private Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Output>> snatPoolAddresses() { + return Codegen.optional(this.snatPoolAddresses); + } /** * Name of the FAST HTTPS application tenant. * @@ -225,18 +295,36 @@ public Output tenant() { return this.tenant; } /** - * Name of an existing TLS server profile. + * `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * */ - @Export(name="tlsServerProfileName", type=String.class, parameters={}) - private Output tlsServerProfileName; + @Export(name="tlsClientProfile", type=FastHttpsAppTlsClientProfile.class, parameters={}) + private Output tlsClientProfile; /** - * @return Name of an existing TLS server profile. + * @return `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * */ - public Output> tlsServerProfileName() { - return Codegen.optional(this.tlsServerProfileName); + public Output> tlsClientProfile() { + return Codegen.optional(this.tlsClientProfile); + } + /** + * `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + */ + @Export(name="tlsServerProfile", type=FastHttpsAppTlsServerProfile.class, parameters={}) + private Output tlsServerProfile; + + /** + * @return `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + */ + public Output> tlsServerProfile() { + return Codegen.optional(this.tlsServerProfile); } /** * `virtual_server` block will provide `ip` and `port` options to be used for virtual server. @@ -254,6 +342,22 @@ public Output> tlsServerProfileName() { public Output> virtualServer() { return Codegen.optional(this.virtualServer); } + /** + * `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + @Export(name="wafSecurityPolicy", type=FastHttpsAppWafSecurityPolicy.class, parameters={}) + private Output wafSecurityPolicy; + + /** + * @return `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + public Output> wafSecurityPolicy() { + return Codegen.optional(this.wafSecurityPolicy); + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpsAppArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpsAppArgs.java index 2bc75de7..1728f218 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpsAppArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/FastHttpsAppArgs.java @@ -5,10 +5,12 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.f5bigip.inputs.FastHttpsAppCreateTlsServerProfileArgs; -import com.pulumi.f5bigip.inputs.FastHttpsAppFastCreateMonitorArgs; -import com.pulumi.f5bigip.inputs.FastHttpsAppFastCreatePoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppMonitorArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppPoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppTlsClientProfileArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppTlsServerProfileArgs; import com.pulumi.f5bigip.inputs.FastHttpsAppVirtualServerArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppWafSecurityPolicyArgs; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -37,50 +39,48 @@ public Output application() { } /** - * `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * List of LTM Policies to be applied FAST HTTPS Application. * */ - @Import(name="createTlsServerProfile") - private @Nullable Output createTlsServerProfile; + @Import(name="endpointLtmPolicies") + private @Nullable Output> endpointLtmPolicies; /** - * @return `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * @return List of LTM Policies to be applied FAST HTTPS Application. * */ - public Optional> createTlsServerProfile() { - return Optional.ofNullable(this.createTlsServerProfile); + public Optional>> endpointLtmPolicies() { + return Optional.ofNullable(this.endpointLtmPolicies); } /** - * Name of an existing BIG-IP pool. + * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - @Import(name="existPoolName") - private @Nullable Output existPoolName; + @Import(name="existingMonitor") + private @Nullable Output existingMonitor; /** - * @return Name of an existing BIG-IP pool. + * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - public Optional> existPoolName() { - return Optional.ofNullable(this.existPoolName); + public Optional> existingMonitor() { + return Optional.ofNullable(this.existingMonitor); } /** - * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * Name of an existing BIG-IP pool. * */ - @Import(name="existingMonitor") - private @Nullable Output existingMonitor; + @Import(name="existingPool") + private @Nullable Output existingPool; /** - * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @return Name of an existing BIG-IP pool. * */ - public Optional> existingMonitor() { - return Optional.ofNullable(this.existingMonitor); + public Optional> existingPool() { + return Optional.ofNullable(this.existingPool); } /** @@ -99,52 +99,48 @@ public Optional> existingSnatPool() { } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing TLS client profile. * */ - @Import(name="fastCreateMonitor") - private @Nullable Output fastCreateMonitor; + @Import(name="existingTlsClientProfile") + private @Nullable Output existingTlsClientProfile; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return Name of an existing TLS client profile. * */ - public Optional> fastCreateMonitor() { - return Optional.ofNullable(this.fastCreateMonitor); + public Optional> existingTlsClientProfile() { + return Optional.ofNullable(this.existingTlsClientProfile); } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing TLS server profile. * */ - @Import(name="fastCreatePoolMembers") - private @Nullable Output> fastCreatePoolMembers; + @Import(name="existingTlsServerProfile") + private @Nullable Output existingTlsServerProfile; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return Name of an existing TLS server profile. * */ - public Optional>> fastCreatePoolMembers() { - return Optional.ofNullable(this.fastCreatePoolMembers); + public Optional> existingTlsServerProfile() { + return Optional.ofNullable(this.existingTlsServerProfile); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * Name of an existing WAF Security policy. * */ - @Import(name="fastCreateSnatPoolAddresses") - private @Nullable Output> fastCreateSnatPoolAddresses; + @Import(name="existingWafSecurityPolicy") + private @Nullable Output existingWafSecurityPolicy; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return Name of an existing WAF Security policy. * */ - public Optional>> fastCreateSnatPoolAddresses() { - return Optional.ofNullable(this.fastCreateSnatPoolAddresses); + public Optional> existingWafSecurityPolicy() { + return Optional.ofNullable(this.existingWafSecurityPolicy); } /** @@ -162,6 +158,55 @@ public Optional> loadBalancingMode() { return Optional.ofNullable(this.loadBalancingMode); } + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + @Import(name="monitor") + private @Nullable Output monitor; + + /** + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + public Optional> monitor() { + return Optional.ofNullable(this.monitor); + } + + /** + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + @Import(name="poolMembers") + private @Nullable Output> poolMembers; + + /** + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + public Optional>> poolMembers() { + return Optional.ofNullable(this.poolMembers); + } + + /** + * List of security log profiles to be used for FAST application + * + */ + @Import(name="securityLogProfiles") + private @Nullable Output> securityLogProfiles; + + /** + * @return List of security log profiles to be used for FAST application + * + */ + public Optional>> securityLogProfiles() { + return Optional.ofNullable(this.securityLogProfiles); + } + /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * @@ -177,6 +222,21 @@ public Optional> slowRampTime() { return Optional.ofNullable(this.slowRampTime); } + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Import(name="snatPoolAddresses") + private @Nullable Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Optional>> snatPoolAddresses() { + return Optional.ofNullable(this.snatPoolAddresses); + } + /** * Name of the FAST HTTPS application tenant. * @@ -193,18 +253,37 @@ public Output tenant() { } /** - * Name of an existing TLS server profile. + * `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * */ - @Import(name="tlsServerProfileName") - private @Nullable Output tlsServerProfileName; + @Import(name="tlsClientProfile") + private @Nullable Output tlsClientProfile; /** - * @return Name of an existing TLS server profile. + * @return `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * */ - public Optional> tlsServerProfileName() { - return Optional.ofNullable(this.tlsServerProfileName); + public Optional> tlsClientProfile() { + return Optional.ofNullable(this.tlsClientProfile); + } + + /** + * `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + */ + @Import(name="tlsServerProfile") + private @Nullable Output tlsServerProfile; + + /** + * @return `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + */ + public Optional> tlsServerProfile() { + return Optional.ofNullable(this.tlsServerProfile); } /** @@ -224,22 +303,45 @@ public Optional> virtualServer() { return Optional.ofNullable(this.virtualServer); } + /** + * `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + @Import(name="wafSecurityPolicy") + private @Nullable Output wafSecurityPolicy; + + /** + * @return `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + public Optional> wafSecurityPolicy() { + return Optional.ofNullable(this.wafSecurityPolicy); + } + private FastHttpsAppArgs() {} private FastHttpsAppArgs(FastHttpsAppArgs $) { this.application = $.application; - this.createTlsServerProfile = $.createTlsServerProfile; - this.existPoolName = $.existPoolName; + this.endpointLtmPolicies = $.endpointLtmPolicies; this.existingMonitor = $.existingMonitor; + this.existingPool = $.existingPool; this.existingSnatPool = $.existingSnatPool; - this.fastCreateMonitor = $.fastCreateMonitor; - this.fastCreatePoolMembers = $.fastCreatePoolMembers; - this.fastCreateSnatPoolAddresses = $.fastCreateSnatPoolAddresses; + this.existingTlsClientProfile = $.existingTlsClientProfile; + this.existingTlsServerProfile = $.existingTlsServerProfile; + this.existingWafSecurityPolicy = $.existingWafSecurityPolicy; this.loadBalancingMode = $.loadBalancingMode; + this.monitor = $.monitor; + this.poolMembers = $.poolMembers; + this.securityLogProfiles = $.securityLogProfiles; this.slowRampTime = $.slowRampTime; + this.snatPoolAddresses = $.snatPoolAddresses; this.tenant = $.tenant; - this.tlsServerProfileName = $.tlsServerProfileName; + this.tlsClientProfile = $.tlsClientProfile; + this.tlsServerProfile = $.tlsServerProfile; this.virtualServer = $.virtualServer; + this.wafSecurityPolicy = $.wafSecurityPolicy; } public static Builder builder() { @@ -282,47 +384,45 @@ public Builder application(String application) { } /** - * @param createTlsServerProfile `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTPS Application. * * @return builder * */ - public Builder createTlsServerProfile(@Nullable Output createTlsServerProfile) { - $.createTlsServerProfile = createTlsServerProfile; + public Builder endpointLtmPolicies(@Nullable Output> endpointLtmPolicies) { + $.endpointLtmPolicies = endpointLtmPolicies; return this; } /** - * @param createTlsServerProfile `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTPS Application. * * @return builder * */ - public Builder createTlsServerProfile(FastHttpsAppCreateTlsServerProfileArgs createTlsServerProfile) { - return createTlsServerProfile(Output.of(createTlsServerProfile)); + public Builder endpointLtmPolicies(List endpointLtmPolicies) { + return endpointLtmPolicies(Output.of(endpointLtmPolicies)); } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTPS Application. * * @return builder * */ - public Builder existPoolName(@Nullable Output existPoolName) { - $.existPoolName = existPoolName; - return this; + public Builder endpointLtmPolicies(String... endpointLtmPolicies) { + return endpointLtmPolicies(List.of(endpointLtmPolicies)); } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * * @return builder * */ - public Builder existPoolName(String existPoolName) { - return existPoolName(Output.of(existPoolName)); + public Builder existingMonitor(@Nullable Output existingMonitor) { + $.existingMonitor = existingMonitor; + return this; } /** @@ -331,19 +431,29 @@ public Builder existPoolName(String existPoolName) { * @return builder * */ - public Builder existingMonitor(@Nullable Output existingMonitor) { - $.existingMonitor = existingMonitor; + public Builder existingMonitor(String existingMonitor) { + return existingMonitor(Output.of(existingMonitor)); + } + + /** + * @param existingPool Name of an existing BIG-IP pool. + * + * @return builder + * + */ + public Builder existingPool(@Nullable Output existingPool) { + $.existingPool = existingPool; return this; } /** - * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @param existingPool Name of an existing BIG-IP pool. * * @return builder * */ - public Builder existingMonitor(String existingMonitor) { - return existingMonitor(Output.of(existingMonitor)); + public Builder existingPool(String existingPool) { + return existingPool(Output.of(existingPool)); } /** @@ -368,112 +478,175 @@ public Builder existingSnatPool(String existingSnatPool) { } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param existingTlsClientProfile Name of an existing TLS client profile. * * @return builder * */ - public Builder fastCreateMonitor(@Nullable Output fastCreateMonitor) { - $.fastCreateMonitor = fastCreateMonitor; + public Builder existingTlsClientProfile(@Nullable Output existingTlsClientProfile) { + $.existingTlsClientProfile = existingTlsClientProfile; return this; } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param existingTlsClientProfile Name of an existing TLS client profile. * * @return builder * */ - public Builder fastCreateMonitor(FastHttpsAppFastCreateMonitorArgs fastCreateMonitor) { - return fastCreateMonitor(Output.of(fastCreateMonitor)); + public Builder existingTlsClientProfile(String existingTlsClientProfile) { + return existingTlsClientProfile(Output.of(existingTlsClientProfile)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param existingTlsServerProfile Name of an existing TLS server profile. * * @return builder * */ - public Builder fastCreatePoolMembers(@Nullable Output> fastCreatePoolMembers) { - $.fastCreatePoolMembers = fastCreatePoolMembers; + public Builder existingTlsServerProfile(@Nullable Output existingTlsServerProfile) { + $.existingTlsServerProfile = existingTlsServerProfile; return this; } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param existingTlsServerProfile Name of an existing TLS server profile. * * @return builder * */ - public Builder fastCreatePoolMembers(List fastCreatePoolMembers) { - return fastCreatePoolMembers(Output.of(fastCreatePoolMembers)); + public Builder existingTlsServerProfile(String existingTlsServerProfile) { + return existingTlsServerProfile(Output.of(existingTlsServerProfile)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param existingWafSecurityPolicy Name of an existing WAF Security policy. * * @return builder * */ - public Builder fastCreatePoolMembers(FastHttpsAppFastCreatePoolMemberArgs... fastCreatePoolMembers) { - return fastCreatePoolMembers(List.of(fastCreatePoolMembers)); + public Builder existingWafSecurityPolicy(@Nullable Output existingWafSecurityPolicy) { + $.existingWafSecurityPolicy = existingWafSecurityPolicy; + return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param existingWafSecurityPolicy Name of an existing WAF Security policy. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(@Nullable Output> fastCreateSnatPoolAddresses) { - $.fastCreateSnatPoolAddresses = fastCreateSnatPoolAddresses; + public Builder existingWafSecurityPolicy(String existingWafSecurityPolicy) { + return existingWafSecurityPolicy(Output.of(existingWafSecurityPolicy)); + } + + /** + * @param loadBalancingMode 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 + * + * @return builder + * + */ + public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { + $.loadBalancingMode = loadBalancingMode; return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(List fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(Output.of(fastCreateSnatPoolAddresses)); + public Builder loadBalancingMode(String loadBalancingMode) { + return loadBalancingMode(Output.of(loadBalancingMode)); } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(String... fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(List.of(fastCreateSnatPoolAddresses)); + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; + return this; } /** - * @param loadBalancingMode 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 + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { - $.loadBalancingMode = loadBalancingMode; + public Builder monitor(FastHttpsAppMonitorArgs monitor) { + return monitor(Output.of(monitor)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(@Nullable Output> poolMembers) { + $.poolMembers = poolMembers; return this; } /** - * @param loadBalancingMode 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 + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder loadBalancingMode(String loadBalancingMode) { - return loadBalancingMode(Output.of(loadBalancingMode)); + public Builder poolMembers(List poolMembers) { + return poolMembers(Output.of(poolMembers)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(FastHttpsAppPoolMemberArgs... poolMembers) { + return poolMembers(List.of(poolMembers)); + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(@Nullable Output> securityLogProfiles) { + $.securityLogProfiles = securityLogProfiles; + return this; + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(List securityLogProfiles) { + return securityLogProfiles(Output.of(securityLogProfiles)); + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(String... securityLogProfiles) { + return securityLogProfiles(List.of(securityLogProfiles)); } /** @@ -497,6 +670,37 @@ public Builder slowRampTime(Integer slowRampTime) { return slowRampTime(Output.of(slowRampTime)); } + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(@Nullable Output> snatPoolAddresses) { + $.snatPoolAddresses = snatPoolAddresses; + return this; + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(List snatPoolAddresses) { + return snatPoolAddresses(Output.of(snatPoolAddresses)); + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(String... snatPoolAddresses) { + return snatPoolAddresses(List.of(snatPoolAddresses)); + } + /** * @param tenant Name of the FAST HTTPS application tenant. * @@ -519,24 +723,49 @@ public Builder tenant(String tenant) { } /** - * @param tlsServerProfileName Name of an existing TLS server profile. + * @param tlsClientProfile `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. + * + * @return builder + * + */ + public Builder tlsClientProfile(@Nullable Output tlsClientProfile) { + $.tlsClientProfile = tlsClientProfile; + return this; + } + + /** + * @param tlsClientProfile `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * * @return builder * */ - public Builder tlsServerProfileName(@Nullable Output tlsServerProfileName) { - $.tlsServerProfileName = tlsServerProfileName; + public Builder tlsClientProfile(FastHttpsAppTlsClientProfileArgs tlsClientProfile) { + return tlsClientProfile(Output.of(tlsClientProfile)); + } + + /** + * @param tlsServerProfile `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + * @return builder + * + */ + public Builder tlsServerProfile(@Nullable Output tlsServerProfile) { + $.tlsServerProfile = tlsServerProfile; return this; } /** - * @param tlsServerProfileName Name of an existing TLS server profile. + * @param tlsServerProfile `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. * * @return builder * */ - public Builder tlsServerProfileName(String tlsServerProfileName) { - return tlsServerProfileName(Output.of(tlsServerProfileName)); + public Builder tlsServerProfile(FastHttpsAppTlsServerProfileArgs tlsServerProfile) { + return tlsServerProfile(Output.of(tlsServerProfile)); } /** @@ -562,6 +791,29 @@ public Builder virtualServer(FastHttpsAppVirtualServerArgs virtualServer) { return virtualServer(Output.of(virtualServer)); } + /** + * @param wafSecurityPolicy `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + * @return builder + * + */ + public Builder wafSecurityPolicy(@Nullable Output wafSecurityPolicy) { + $.wafSecurityPolicy = wafSecurityPolicy; + return this; + } + + /** + * @param wafSecurityPolicy `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + * @return builder + * + */ + public Builder wafSecurityPolicy(FastHttpsAppWafSecurityPolicyArgs wafSecurityPolicy) { + return wafSecurityPolicy(Output.of(wafSecurityPolicy)); + } + public FastHttpsAppArgs build() { $.application = Objects.requireNonNull($.application, "expected parameter 'application' to be non-null"); $.tenant = Objects.requireNonNull($.tenant, "expected parameter 'tenant' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/FastTcpApp.java b/sdk/java/src/main/java/com/pulumi/f5bigip/FastTcpApp.java index 01411532..61cab726 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/FastTcpApp.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/FastTcpApp.java @@ -10,8 +10,8 @@ import com.pulumi.f5bigip.FastTcpAppArgs; import com.pulumi.f5bigip.Utilities; import com.pulumi.f5bigip.inputs.FastTcpAppState; -import com.pulumi.f5bigip.outputs.FastTcpAppFastCreateMonitor; -import com.pulumi.f5bigip.outputs.FastTcpAppFastCreatePoolMember; +import com.pulumi.f5bigip.outputs.FastTcpAppMonitor; +import com.pulumi.f5bigip.outputs.FastTcpAppPoolMember; import com.pulumi.f5bigip.outputs.FastTcpAppVirtualServer; import java.lang.Integer; import java.lang.String; @@ -31,7 +31,7 @@ * import com.pulumi.core.Output; * import com.pulumi.f5bigip.FastTcpApp; * import com.pulumi.f5bigip.FastTcpAppArgs; - * import com.pulumi.f5bigip.inputs.FastTcpAppFastCreatePoolMemberArgs; + * import com.pulumi.f5bigip.inputs.FastTcpAppPoolMemberArgs; * import com.pulumi.f5bigip.inputs.FastTcpAppVirtualServerArgs; * import java.util.List; * import java.util.ArrayList; @@ -48,7 +48,7 @@ * public static void stack(Context ctx) { * var fast_tcp_app = new FastTcpApp("fast-tcp-app", FastTcpAppArgs.builder() * .application("tcp_app_2") - * .fastCreatePoolMembers(FastTcpAppFastCreatePoolMemberArgs.builder() + * .poolMembers(FastTcpAppPoolMemberArgs.builder() * .addresses( * "10.11.34.65", * "56.43.23.76") @@ -86,32 +86,32 @@ public Output application() { return this.application; } /** - * Name of an existing BIG-IP pool. + * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - @Export(name="existPoolName", type=String.class, parameters={}) - private Output existPoolName; + @Export(name="existingMonitor", type=String.class, parameters={}) + private Output existingMonitor; /** - * @return Name of an existing BIG-IP pool. + * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - public Output> existPoolName() { - return Codegen.optional(this.existPoolName); + public Output> existingMonitor() { + return Codegen.optional(this.existingMonitor); } /** - * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * Name of an existing BIG-IP pool. * */ - @Export(name="existingMonitor", type=String.class, parameters={}) - private Output existingMonitor; + @Export(name="existingPool", type=String.class, parameters={}) + private Output existingPool; /** - * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @return Name of an existing BIG-IP pool. * */ - public Output> existingMonitor() { - return Codegen.optional(this.existingMonitor); + public Output> existingPool() { + return Codegen.optional(this.existingPool); } /** * Name of an existing BIG-IP SNAT pool. @@ -128,92 +128,92 @@ public Output> existingSnatPool() { return Codegen.optional(this.existingSnatPool); } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Json payload for FAST TCP application. * */ - @Export(name="fastCreateMonitor", type=FastTcpAppFastCreateMonitor.class, parameters={}) - private Output fastCreateMonitor; + @Export(name="fastTcpJson", type=String.class, parameters={}) + private Output fastTcpJson; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return Json payload for FAST TCP application. * */ - public Output> fastCreateMonitor() { - return Codegen.optional(this.fastCreateMonitor); + public Output fastTcpJson() { + return this.fastTcpJson; } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * 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 * */ - @Export(name="fastCreatePoolMembers", type=List.class, parameters={FastTcpAppFastCreatePoolMember.class}) - private Output> fastCreatePoolMembers; + @Export(name="loadBalancingMode", type=String.class, parameters={}) + private Output loadBalancingMode; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return 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 * */ - public Output>> fastCreatePoolMembers() { - return Codegen.optional(this.fastCreatePoolMembers); + public Output> loadBalancingMode() { + return Codegen.optional(this.loadBalancingMode); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * */ - @Export(name="fastCreateSnatPoolAddresses", type=List.class, parameters={String.class}) - private Output> fastCreateSnatPoolAddresses; + @Export(name="monitor", type=FastTcpAppMonitor.class, parameters={}) + private Output monitor; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * */ - public Output>> fastCreateSnatPoolAddresses() { - return Codegen.optional(this.fastCreateSnatPoolAddresses); + public Output> monitor() { + return Codegen.optional(this.monitor); } /** - * Json payload for FAST TCP application. + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * */ - @Export(name="fastTcpJson", type=String.class, parameters={}) - private Output fastTcpJson; + @Export(name="poolMembers", type=List.class, parameters={FastTcpAppPoolMember.class}) + private Output> poolMembers; /** - * @return Json payload for FAST TCP application. + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * */ - public Output fastTcpJson() { - return this.fastTcpJson; + public Output>> poolMembers() { + return Codegen.optional(this.poolMembers); } /** - * 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 + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * */ - @Export(name="loadBalancingMode", type=String.class, parameters={}) - private Output loadBalancingMode; + @Export(name="slowRampTime", type=Integer.class, parameters={}) + private Output slowRampTime; /** - * @return 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 + * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * */ - public Output> loadBalancingMode() { - return Codegen.optional(this.loadBalancingMode); + public Output> slowRampTime() { + return Codegen.optional(this.slowRampTime); } /** - * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * List of address to be used for FAST-Generated SNAT Pool. * */ - @Export(name="slowRampTime", type=Integer.class, parameters={}) - private Output slowRampTime; + @Export(name="snatPoolAddresses", type=List.class, parameters={String.class}) + private Output> snatPoolAddresses; /** - * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * @return List of address to be used for FAST-Generated SNAT Pool. * */ - public Output> slowRampTime() { - return Codegen.optional(this.slowRampTime); + public Output>> snatPoolAddresses() { + return Codegen.optional(this.snatPoolAddresses); } /** * Name of the FAST TCP application tenant. diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/FastTcpAppArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/FastTcpAppArgs.java index 99689a07..9f74b9e5 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/FastTcpAppArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/FastTcpAppArgs.java @@ -5,8 +5,8 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.f5bigip.inputs.FastTcpAppFastCreateMonitorArgs; -import com.pulumi.f5bigip.inputs.FastTcpAppFastCreatePoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastTcpAppMonitorArgs; +import com.pulumi.f5bigip.inputs.FastTcpAppPoolMemberArgs; import com.pulumi.f5bigip.inputs.FastTcpAppVirtualServerArgs; import java.lang.Integer; import java.lang.String; @@ -36,33 +36,33 @@ public Output application() { } /** - * Name of an existing BIG-IP pool. + * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - @Import(name="existPoolName") - private @Nullable Output existPoolName; + @Import(name="existingMonitor") + private @Nullable Output existingMonitor; /** - * @return Name of an existing BIG-IP pool. + * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - public Optional> existPoolName() { - return Optional.ofNullable(this.existPoolName); + public Optional> existingMonitor() { + return Optional.ofNullable(this.existingMonitor); } /** - * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * Name of an existing BIG-IP pool. * */ - @Import(name="existingMonitor") - private @Nullable Output existingMonitor; + @Import(name="existingPool") + private @Nullable Output existingPool; /** - * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @return Name of an existing BIG-IP pool. * */ - public Optional> existingMonitor() { - return Optional.ofNullable(this.existingMonitor); + public Optional> existingPool() { + return Optional.ofNullable(this.existingPool); } /** @@ -81,82 +81,82 @@ public Optional> existingSnatPool() { } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * 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 * */ - @Import(name="fastCreateMonitor") - private @Nullable Output fastCreateMonitor; + @Import(name="loadBalancingMode") + private @Nullable Output loadBalancingMode; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return 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 * */ - public Optional> fastCreateMonitor() { - return Optional.ofNullable(this.fastCreateMonitor); + public Optional> loadBalancingMode() { + return Optional.ofNullable(this.loadBalancingMode); } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * */ - @Import(name="fastCreatePoolMembers") - private @Nullable Output> fastCreatePoolMembers; + @Import(name="monitor") + private @Nullable Output monitor; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * */ - public Optional>> fastCreatePoolMembers() { - return Optional.ofNullable(this.fastCreatePoolMembers); + public Optional> monitor() { + return Optional.ofNullable(this.monitor); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * */ - @Import(name="fastCreateSnatPoolAddresses") - private @Nullable Output> fastCreateSnatPoolAddresses; + @Import(name="poolMembers") + private @Nullable Output> poolMembers; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * */ - public Optional>> fastCreateSnatPoolAddresses() { - return Optional.ofNullable(this.fastCreateSnatPoolAddresses); + public Optional>> poolMembers() { + return Optional.ofNullable(this.poolMembers); } /** - * 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 + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * */ - @Import(name="loadBalancingMode") - private @Nullable Output loadBalancingMode; + @Import(name="slowRampTime") + private @Nullable Output slowRampTime; /** - * @return 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 + * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * */ - public Optional> loadBalancingMode() { - return Optional.ofNullable(this.loadBalancingMode); + public Optional> slowRampTime() { + return Optional.ofNullable(this.slowRampTime); } /** - * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * List of address to be used for FAST-Generated SNAT Pool. * */ - @Import(name="slowRampTime") - private @Nullable Output slowRampTime; + @Import(name="snatPoolAddresses") + private @Nullable Output> snatPoolAddresses; /** - * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * @return List of address to be used for FAST-Generated SNAT Pool. * */ - public Optional> slowRampTime() { - return Optional.ofNullable(this.slowRampTime); + public Optional>> snatPoolAddresses() { + return Optional.ofNullable(this.snatPoolAddresses); } /** @@ -195,14 +195,14 @@ private FastTcpAppArgs() {} private FastTcpAppArgs(FastTcpAppArgs $) { this.application = $.application; - this.existPoolName = $.existPoolName; this.existingMonitor = $.existingMonitor; + this.existingPool = $.existingPool; this.existingSnatPool = $.existingSnatPool; - this.fastCreateMonitor = $.fastCreateMonitor; - this.fastCreatePoolMembers = $.fastCreatePoolMembers; - this.fastCreateSnatPoolAddresses = $.fastCreateSnatPoolAddresses; this.loadBalancingMode = $.loadBalancingMode; + this.monitor = $.monitor; + this.poolMembers = $.poolMembers; this.slowRampTime = $.slowRampTime; + this.snatPoolAddresses = $.snatPoolAddresses; this.tenant = $.tenant; this.virtualServer = $.virtualServer; } @@ -247,45 +247,45 @@ public Builder application(String application) { } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * * @return builder * */ - public Builder existPoolName(@Nullable Output existPoolName) { - $.existPoolName = existPoolName; + public Builder existingMonitor(@Nullable Output existingMonitor) { + $.existingMonitor = existingMonitor; return this; } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * * @return builder * */ - public Builder existPoolName(String existPoolName) { - return existPoolName(Output.of(existPoolName)); + public Builder existingMonitor(String existingMonitor) { + return existingMonitor(Output.of(existingMonitor)); } /** - * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @param existingPool Name of an existing BIG-IP pool. * * @return builder * */ - public Builder existingMonitor(@Nullable Output existingMonitor) { - $.existingMonitor = existingMonitor; + public Builder existingPool(@Nullable Output existingPool) { + $.existingPool = existingPool; return this; } /** - * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @param existingPool Name of an existing BIG-IP pool. * * @return builder * */ - public Builder existingMonitor(String existingMonitor) { - return existingMonitor(Output.of(existingMonitor)); + public Builder existingPool(String existingPool) { + return existingPool(Output.of(existingPool)); } /** @@ -310,133 +310,133 @@ public Builder existingSnatPool(String existingSnatPool) { } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreateMonitor(@Nullable Output fastCreateMonitor) { - $.fastCreateMonitor = fastCreateMonitor; + public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { + $.loadBalancingMode = loadBalancingMode; return this; } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreateMonitor(FastTcpAppFastCreateMonitorArgs fastCreateMonitor) { - return fastCreateMonitor(Output.of(fastCreateMonitor)); + public Builder loadBalancingMode(String loadBalancingMode) { + return loadBalancingMode(Output.of(loadBalancingMode)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder fastCreatePoolMembers(@Nullable Output> fastCreatePoolMembers) { - $.fastCreatePoolMembers = fastCreatePoolMembers; + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; return this; } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder fastCreatePoolMembers(List fastCreatePoolMembers) { - return fastCreatePoolMembers(Output.of(fastCreatePoolMembers)); + public Builder monitor(FastTcpAppMonitorArgs monitor) { + return monitor(Output.of(monitor)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. * See Pool Members below for more details. * * @return builder * */ - public Builder fastCreatePoolMembers(FastTcpAppFastCreatePoolMemberArgs... fastCreatePoolMembers) { - return fastCreatePoolMembers(List.of(fastCreatePoolMembers)); + public Builder poolMembers(@Nullable Output> poolMembers) { + $.poolMembers = poolMembers; + return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(@Nullable Output> fastCreateSnatPoolAddresses) { - $.fastCreateSnatPoolAddresses = fastCreateSnatPoolAddresses; - return this; + public Builder poolMembers(List poolMembers) { + return poolMembers(Output.of(poolMembers)); } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(List fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(Output.of(fastCreateSnatPoolAddresses)); + public Builder poolMembers(FastTcpAppPoolMemberArgs... poolMembers) { + return poolMembers(List.of(poolMembers)); } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(String... fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(List.of(fastCreateSnatPoolAddresses)); + public Builder slowRampTime(@Nullable Output slowRampTime) { + $.slowRampTime = slowRampTime; + return this; } /** - * @param loadBalancingMode 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 + * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * * @return builder * */ - public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { - $.loadBalancingMode = loadBalancingMode; - return this; + public Builder slowRampTime(Integer slowRampTime) { + return slowRampTime(Output.of(slowRampTime)); } /** - * @param loadBalancingMode 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 + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. * * @return builder * */ - public Builder loadBalancingMode(String loadBalancingMode) { - return loadBalancingMode(Output.of(loadBalancingMode)); + public Builder snatPoolAddresses(@Nullable Output> snatPoolAddresses) { + $.snatPoolAddresses = snatPoolAddresses; + return this; } /** - * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. * * @return builder * */ - public Builder slowRampTime(@Nullable Output slowRampTime) { - $.slowRampTime = slowRampTime; - return this; + public Builder snatPoolAddresses(List snatPoolAddresses) { + return snatPoolAddresses(Output.of(snatPoolAddresses)); } /** - * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. * * @return builder * */ - public Builder slowRampTime(Integer slowRampTime) { - return slowRampTime(Output.of(slowRampTime)); + public Builder snatPoolAddresses(String... snatPoolAddresses) { + return snatPoolAddresses(List.of(snatPoolAddresses)); } /** diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/FastUdpApp.java b/sdk/java/src/main/java/com/pulumi/f5bigip/FastUdpApp.java new file mode 100644 index 00000000..be218c90 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/FastUdpApp.java @@ -0,0 +1,424 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.f5bigip.FastUdpAppArgs; +import com.pulumi.f5bigip.Utilities; +import com.pulumi.f5bigip.inputs.FastUdpAppState; +import com.pulumi.f5bigip.outputs.FastUdpAppMonitor; +import com.pulumi.f5bigip.outputs.FastUdpAppPoolMember; +import com.pulumi.f5bigip.outputs.FastUdpAppVirtualServer; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * `f5bigip.FastUdpApp` This resource will create and manage FAST UDP applications on BIG-IP from provided JSON declaration. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.f5bigip.FastUdpApp; + * import com.pulumi.f5bigip.FastUdpAppArgs; + * import com.pulumi.f5bigip.inputs.FastUdpAppPoolMemberArgs; + * import com.pulumi.f5bigip.inputs.FastUdpAppVirtualServerArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var fast_udp_app = new FastUdpApp("fast-udp-app", FastUdpAppArgs.builder() + * .application("udp_app_2") + * .poolMembers(FastUdpAppPoolMemberArgs.builder() + * .addresses( + * "10.11.34.65", + * "56.43.23.76") + * .connectionLimit(4) + * .port(443) + * .priorityGroup(1) + * .shareNodes(true) + * .build()) + * .tenant("udp_app_tenant") + * .virtualServer(FastUdpAppVirtualServerArgs.builder() + * .ip("11.12.16.30") + * .port(443) + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ +@ResourceType(type="f5bigip:index/fastUdpApp:FastUdpApp") +public class FastUdpApp extends com.pulumi.resources.CustomResource { + /** + * Name of the FAST UDP application. + * + */ + @Export(name="application", type=String.class, parameters={}) + private Output application; + + /** + * @return Name of the FAST UDP application. + * + */ + public Output application() { + return this.application; + } + /** + * Enables use of FastL4 profiles. + * + */ + @Export(name="enableFastl4", type=Boolean.class, parameters={}) + private Output enableFastl4; + + /** + * @return Enables use of FastL4 profiles. + * + */ + public Output> enableFastl4() { + return Codegen.optional(this.enableFastl4); + } + /** + * Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + */ + @Export(name="existingMonitor", type=String.class, parameters={}) + private Output existingMonitor; + + /** + * @return Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + */ + public Output> existingMonitor() { + return Codegen.optional(this.existingMonitor); + } + /** + * Name of an existing BIG-IP pool. + * + */ + @Export(name="existingPool", type=String.class, parameters={}) + private Output existingPool; + + /** + * @return Name of an existing BIG-IP pool. + * + */ + public Output> existingPool() { + return Codegen.optional(this.existingPool); + } + /** + * Name of an existing BIG-IP FastL4 or UDP profile. + * + */ + @Export(name="existingProfile", type=String.class, parameters={}) + private Output existingProfile; + + /** + * @return Name of an existing BIG-IP FastL4 or UDP profile. + * + */ + public Output> existingProfile() { + return Codegen.optional(this.existingProfile); + } + /** + * Name of an existing BIG-IP SNAT pool. + * + */ + @Export(name="existingSnatPool", type=String.class, parameters={}) + private Output existingSnatPool; + + /** + * @return Name of an existing BIG-IP SNAT pool. + * + */ + public Output> existingSnatPool() { + return Codegen.optional(this.existingSnatPool); + } + /** + * Type of fallback persistence record to be created for each new client connection. + * + */ + @Export(name="fallbackPersistence", type=String.class, parameters={}) + private Output fallbackPersistence; + + /** + * @return Type of fallback persistence record to be created for each new client connection. + * + */ + public Output> fallbackPersistence() { + return Codegen.optional(this.fallbackPersistence); + } + /** + * Json payload for FAST UDP application. + * + */ + @Export(name="fastUdpJson", type=String.class, parameters={}) + private Output fastUdpJson; + + /** + * @return Json payload for FAST UDP application. + * + */ + public Output fastUdpJson() { + return this.fastUdpJson; + } + /** + * Irules to attach to Virtual Server. + * + */ + @Export(name="irules", type=List.class, parameters={String.class}) + private Output> irules; + + /** + * @return Irules to attach to Virtual Server. + * + */ + public Output>> irules() { + return Codegen.optional(this.irules); + } + /** + * 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 + * + */ + @Export(name="loadBalancingMode", type=String.class, parameters={}) + private Output loadBalancingMode; + + /** + * @return 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 + * + */ + public Output> loadBalancingMode() { + return Codegen.optional(this.loadBalancingMode); + } + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + @Export(name="monitor", type=FastUdpAppMonitor.class, parameters={}) + private Output monitor; + + /** + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + public Output> monitor() { + return Codegen.optional(this.monitor); + } + /** + * Name of an existing BIG-IP persistence profile to be used. + * + */ + @Export(name="persistenceProfile", type=String.class, parameters={}) + private Output persistenceProfile; + + /** + * @return Name of an existing BIG-IP persistence profile to be used. + * + */ + public Output> persistenceProfile() { + return Codegen.optional(this.persistenceProfile); + } + /** + * Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + */ + @Export(name="persistenceType", type=String.class, parameters={}) + private Output persistenceType; + + /** + * @return Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + */ + public Output> persistenceType() { + return Codegen.optional(this.persistenceType); + } + /** + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + @Export(name="poolMembers", type=List.class, parameters={FastUdpAppPoolMember.class}) + private Output> poolMembers; + + /** + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + public Output>> poolMembers() { + return Codegen.optional(this.poolMembers); + } + /** + * Existing security log profiles to enable. + * + */ + @Export(name="securityLogProfiles", type=List.class, parameters={String.class}) + private Output> securityLogProfiles; + + /** + * @return Existing security log profiles to enable. + * + */ + public Output>> securityLogProfiles() { + return Codegen.optional(this.securityLogProfiles); + } + /** + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + */ + @Export(name="slowRampTime", type=Integer.class, parameters={}) + private Output slowRampTime; + + /** + * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + */ + public Output> slowRampTime() { + return Codegen.optional(this.slowRampTime); + } + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Export(name="snatPoolAddresses", type=List.class, parameters={String.class}) + private Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Output>> snatPoolAddresses() { + return Codegen.optional(this.snatPoolAddresses); + } + /** + * Name of the FAST UDP application tenant. + * + */ + @Export(name="tenant", type=String.class, parameters={}) + private Output tenant; + + /** + * @return Name of the FAST UDP application tenant. + * + */ + public Output tenant() { + return this.tenant; + } + /** + * `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + */ + @Export(name="virtualServer", type=FastUdpAppVirtualServer.class, parameters={}) + private Output virtualServer; + + /** + * @return `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + */ + public Output> virtualServer() { + return Codegen.optional(this.virtualServer); + } + /** + * Names of existing VLANs to allow. + * + */ + @Export(name="vlansAlloweds", type=List.class, parameters={String.class}) + private Output> vlansAlloweds; + + /** + * @return Names of existing VLANs to allow. + * + */ + public Output>> vlansAlloweds() { + return Codegen.optional(this.vlansAlloweds); + } + /** + * Names of existing VLANs to reject. + * + */ + @Export(name="vlansRejecteds", type=List.class, parameters={String.class}) + private Output> vlansRejecteds; + + /** + * @return Names of existing VLANs to reject. + * + */ + public Output>> vlansRejecteds() { + return Codegen.optional(this.vlansRejecteds); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public FastUdpApp(String name) { + this(name, FastUdpAppArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public FastUdpApp(String name, FastUdpAppArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public FastUdpApp(String name, FastUdpAppArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("f5bigip:index/fastUdpApp:FastUdpApp", name, args == null ? FastUdpAppArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private FastUdpApp(String name, Output id, @Nullable FastUdpAppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("f5bigip:index/fastUdpApp:FastUdpApp", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static FastUdpApp get(String name, Output id, @Nullable FastUdpAppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new FastUdpApp(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/FastUdpAppArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/FastUdpAppArgs.java new file mode 100644 index 00000000..fbe42643 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/FastUdpAppArgs.java @@ -0,0 +1,867 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.f5bigip.inputs.FastUdpAppMonitorArgs; +import com.pulumi.f5bigip.inputs.FastUdpAppPoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastUdpAppVirtualServerArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FastUdpAppArgs extends com.pulumi.resources.ResourceArgs { + + public static final FastUdpAppArgs Empty = new FastUdpAppArgs(); + + /** + * Name of the FAST UDP application. + * + */ + @Import(name="application", required=true) + private Output application; + + /** + * @return Name of the FAST UDP application. + * + */ + public Output application() { + return this.application; + } + + /** + * Enables use of FastL4 profiles. + * + */ + @Import(name="enableFastl4") + private @Nullable Output enableFastl4; + + /** + * @return Enables use of FastL4 profiles. + * + */ + public Optional> enableFastl4() { + return Optional.ofNullable(this.enableFastl4); + } + + /** + * Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + */ + @Import(name="existingMonitor") + private @Nullable Output existingMonitor; + + /** + * @return Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + */ + public Optional> existingMonitor() { + return Optional.ofNullable(this.existingMonitor); + } + + /** + * Name of an existing BIG-IP pool. + * + */ + @Import(name="existingPool") + private @Nullable Output existingPool; + + /** + * @return Name of an existing BIG-IP pool. + * + */ + public Optional> existingPool() { + return Optional.ofNullable(this.existingPool); + } + + /** + * Name of an existing BIG-IP FastL4 or UDP profile. + * + */ + @Import(name="existingProfile") + private @Nullable Output existingProfile; + + /** + * @return Name of an existing BIG-IP FastL4 or UDP profile. + * + */ + public Optional> existingProfile() { + return Optional.ofNullable(this.existingProfile); + } + + /** + * Name of an existing BIG-IP SNAT pool. + * + */ + @Import(name="existingSnatPool") + private @Nullable Output existingSnatPool; + + /** + * @return Name of an existing BIG-IP SNAT pool. + * + */ + public Optional> existingSnatPool() { + return Optional.ofNullable(this.existingSnatPool); + } + + /** + * Type of fallback persistence record to be created for each new client connection. + * + */ + @Import(name="fallbackPersistence") + private @Nullable Output fallbackPersistence; + + /** + * @return Type of fallback persistence record to be created for each new client connection. + * + */ + public Optional> fallbackPersistence() { + return Optional.ofNullable(this.fallbackPersistence); + } + + /** + * Irules to attach to Virtual Server. + * + */ + @Import(name="irules") + private @Nullable Output> irules; + + /** + * @return Irules to attach to Virtual Server. + * + */ + public Optional>> irules() { + return Optional.ofNullable(this.irules); + } + + /** + * 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 + * + */ + @Import(name="loadBalancingMode") + private @Nullable Output loadBalancingMode; + + /** + * @return 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 + * + */ + public Optional> loadBalancingMode() { + return Optional.ofNullable(this.loadBalancingMode); + } + + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + @Import(name="monitor") + private @Nullable Output monitor; + + /** + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + public Optional> monitor() { + return Optional.ofNullable(this.monitor); + } + + /** + * Name of an existing BIG-IP persistence profile to be used. + * + */ + @Import(name="persistenceProfile") + private @Nullable Output persistenceProfile; + + /** + * @return Name of an existing BIG-IP persistence profile to be used. + * + */ + public Optional> persistenceProfile() { + return Optional.ofNullable(this.persistenceProfile); + } + + /** + * Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + */ + @Import(name="persistenceType") + private @Nullable Output persistenceType; + + /** + * @return Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + */ + public Optional> persistenceType() { + return Optional.ofNullable(this.persistenceType); + } + + /** + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + @Import(name="poolMembers") + private @Nullable Output> poolMembers; + + /** + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + public Optional>> poolMembers() { + return Optional.ofNullable(this.poolMembers); + } + + /** + * Existing security log profiles to enable. + * + */ + @Import(name="securityLogProfiles") + private @Nullable Output> securityLogProfiles; + + /** + * @return Existing security log profiles to enable. + * + */ + public Optional>> securityLogProfiles() { + return Optional.ofNullable(this.securityLogProfiles); + } + + /** + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + */ + @Import(name="slowRampTime") + private @Nullable Output slowRampTime; + + /** + * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + */ + public Optional> slowRampTime() { + return Optional.ofNullable(this.slowRampTime); + } + + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Import(name="snatPoolAddresses") + private @Nullable Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Optional>> snatPoolAddresses() { + return Optional.ofNullable(this.snatPoolAddresses); + } + + /** + * Name of the FAST UDP application tenant. + * + */ + @Import(name="tenant", required=true) + private Output tenant; + + /** + * @return Name of the FAST UDP application tenant. + * + */ + public Output tenant() { + return this.tenant; + } + + /** + * `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + */ + @Import(name="virtualServer") + private @Nullable Output virtualServer; + + /** + * @return `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + */ + public Optional> virtualServer() { + return Optional.ofNullable(this.virtualServer); + } + + /** + * Names of existing VLANs to allow. + * + */ + @Import(name="vlansAlloweds") + private @Nullable Output> vlansAlloweds; + + /** + * @return Names of existing VLANs to allow. + * + */ + public Optional>> vlansAlloweds() { + return Optional.ofNullable(this.vlansAlloweds); + } + + /** + * Names of existing VLANs to reject. + * + */ + @Import(name="vlansRejecteds") + private @Nullable Output> vlansRejecteds; + + /** + * @return Names of existing VLANs to reject. + * + */ + public Optional>> vlansRejecteds() { + return Optional.ofNullable(this.vlansRejecteds); + } + + private FastUdpAppArgs() {} + + private FastUdpAppArgs(FastUdpAppArgs $) { + this.application = $.application; + this.enableFastl4 = $.enableFastl4; + this.existingMonitor = $.existingMonitor; + this.existingPool = $.existingPool; + this.existingProfile = $.existingProfile; + this.existingSnatPool = $.existingSnatPool; + this.fallbackPersistence = $.fallbackPersistence; + this.irules = $.irules; + this.loadBalancingMode = $.loadBalancingMode; + this.monitor = $.monitor; + this.persistenceProfile = $.persistenceProfile; + this.persistenceType = $.persistenceType; + this.poolMembers = $.poolMembers; + this.securityLogProfiles = $.securityLogProfiles; + this.slowRampTime = $.slowRampTime; + this.snatPoolAddresses = $.snatPoolAddresses; + this.tenant = $.tenant; + this.virtualServer = $.virtualServer; + this.vlansAlloweds = $.vlansAlloweds; + this.vlansRejecteds = $.vlansRejecteds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FastUdpAppArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FastUdpAppArgs $; + + public Builder() { + $ = new FastUdpAppArgs(); + } + + public Builder(FastUdpAppArgs defaults) { + $ = new FastUdpAppArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param application Name of the FAST UDP application. + * + * @return builder + * + */ + public Builder application(Output application) { + $.application = application; + return this; + } + + /** + * @param application Name of the FAST UDP application. + * + * @return builder + * + */ + public Builder application(String application) { + return application(Output.of(application)); + } + + /** + * @param enableFastl4 Enables use of FastL4 profiles. + * + * @return builder + * + */ + public Builder enableFastl4(@Nullable Output enableFastl4) { + $.enableFastl4 = enableFastl4; + return this; + } + + /** + * @param enableFastl4 Enables use of FastL4 profiles. + * + * @return builder + * + */ + public Builder enableFastl4(Boolean enableFastl4) { + return enableFastl4(Output.of(enableFastl4)); + } + + /** + * @param existingMonitor Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + * @return builder + * + */ + public Builder existingMonitor(@Nullable Output existingMonitor) { + $.existingMonitor = existingMonitor; + return this; + } + + /** + * @param existingMonitor Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + * @return builder + * + */ + public Builder existingMonitor(String existingMonitor) { + return existingMonitor(Output.of(existingMonitor)); + } + + /** + * @param existingPool Name of an existing BIG-IP pool. + * + * @return builder + * + */ + public Builder existingPool(@Nullable Output existingPool) { + $.existingPool = existingPool; + return this; + } + + /** + * @param existingPool Name of an existing BIG-IP pool. + * + * @return builder + * + */ + public Builder existingPool(String existingPool) { + return existingPool(Output.of(existingPool)); + } + + /** + * @param existingProfile Name of an existing BIG-IP FastL4 or UDP profile. + * + * @return builder + * + */ + public Builder existingProfile(@Nullable Output existingProfile) { + $.existingProfile = existingProfile; + return this; + } + + /** + * @param existingProfile Name of an existing BIG-IP FastL4 or UDP profile. + * + * @return builder + * + */ + public Builder existingProfile(String existingProfile) { + return existingProfile(Output.of(existingProfile)); + } + + /** + * @param existingSnatPool Name of an existing BIG-IP SNAT pool. + * + * @return builder + * + */ + public Builder existingSnatPool(@Nullable Output existingSnatPool) { + $.existingSnatPool = existingSnatPool; + return this; + } + + /** + * @param existingSnatPool Name of an existing BIG-IP SNAT pool. + * + * @return builder + * + */ + public Builder existingSnatPool(String existingSnatPool) { + return existingSnatPool(Output.of(existingSnatPool)); + } + + /** + * @param fallbackPersistence Type of fallback persistence record to be created for each new client connection. + * + * @return builder + * + */ + public Builder fallbackPersistence(@Nullable Output fallbackPersistence) { + $.fallbackPersistence = fallbackPersistence; + return this; + } + + /** + * @param fallbackPersistence Type of fallback persistence record to be created for each new client connection. + * + * @return builder + * + */ + public Builder fallbackPersistence(String fallbackPersistence) { + return fallbackPersistence(Output.of(fallbackPersistence)); + } + + /** + * @param irules Irules to attach to Virtual Server. + * + * @return builder + * + */ + public Builder irules(@Nullable Output> irules) { + $.irules = irules; + return this; + } + + /** + * @param irules Irules to attach to Virtual Server. + * + * @return builder + * + */ + public Builder irules(List irules) { + return irules(Output.of(irules)); + } + + /** + * @param irules Irules to attach to Virtual Server. + * + * @return builder + * + */ + public Builder irules(String... irules) { + return irules(List.of(irules)); + } + + /** + * @param loadBalancingMode 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 + * + * @return builder + * + */ + public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { + $.loadBalancingMode = loadBalancingMode; + return this; + } + + /** + * @param loadBalancingMode 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 + * + * @return builder + * + */ + public Builder loadBalancingMode(String loadBalancingMode) { + return loadBalancingMode(Output.of(loadBalancingMode)); + } + + /** + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + * @return builder + * + */ + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; + return this; + } + + /** + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + * @return builder + * + */ + public Builder monitor(FastUdpAppMonitorArgs monitor) { + return monitor(Output.of(monitor)); + } + + /** + * @param persistenceProfile Name of an existing BIG-IP persistence profile to be used. + * + * @return builder + * + */ + public Builder persistenceProfile(@Nullable Output persistenceProfile) { + $.persistenceProfile = persistenceProfile; + return this; + } + + /** + * @param persistenceProfile Name of an existing BIG-IP persistence profile to be used. + * + * @return builder + * + */ + public Builder persistenceProfile(String persistenceProfile) { + return persistenceProfile(Output.of(persistenceProfile)); + } + + /** + * @param persistenceType Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + * @return builder + * + */ + public Builder persistenceType(@Nullable Output persistenceType) { + $.persistenceType = persistenceType; + return this; + } + + /** + * @param persistenceType Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + * @return builder + * + */ + public Builder persistenceType(String persistenceType) { + return persistenceType(Output.of(persistenceType)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(@Nullable Output> poolMembers) { + $.poolMembers = poolMembers; + return this; + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(List poolMembers) { + return poolMembers(Output.of(poolMembers)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(FastUdpAppPoolMemberArgs... poolMembers) { + return poolMembers(List.of(poolMembers)); + } + + /** + * @param securityLogProfiles Existing security log profiles to enable. + * + * @return builder + * + */ + public Builder securityLogProfiles(@Nullable Output> securityLogProfiles) { + $.securityLogProfiles = securityLogProfiles; + return this; + } + + /** + * @param securityLogProfiles Existing security log profiles to enable. + * + * @return builder + * + */ + public Builder securityLogProfiles(List securityLogProfiles) { + return securityLogProfiles(Output.of(securityLogProfiles)); + } + + /** + * @param securityLogProfiles Existing security log profiles to enable. + * + * @return builder + * + */ + public Builder securityLogProfiles(String... securityLogProfiles) { + return securityLogProfiles(List.of(securityLogProfiles)); + } + + /** + * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + * @return builder + * + */ + public Builder slowRampTime(@Nullable Output slowRampTime) { + $.slowRampTime = slowRampTime; + return this; + } + + /** + * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + * @return builder + * + */ + public Builder slowRampTime(Integer slowRampTime) { + return slowRampTime(Output.of(slowRampTime)); + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(@Nullable Output> snatPoolAddresses) { + $.snatPoolAddresses = snatPoolAddresses; + return this; + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(List snatPoolAddresses) { + return snatPoolAddresses(Output.of(snatPoolAddresses)); + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(String... snatPoolAddresses) { + return snatPoolAddresses(List.of(snatPoolAddresses)); + } + + /** + * @param tenant Name of the FAST UDP application tenant. + * + * @return builder + * + */ + public Builder tenant(Output tenant) { + $.tenant = tenant; + return this; + } + + /** + * @param tenant Name of the FAST UDP application tenant. + * + * @return builder + * + */ + public Builder tenant(String tenant) { + return tenant(Output.of(tenant)); + } + + /** + * @param virtualServer `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + * @return builder + * + */ + public Builder virtualServer(@Nullable Output virtualServer) { + $.virtualServer = virtualServer; + return this; + } + + /** + * @param virtualServer `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + * @return builder + * + */ + public Builder virtualServer(FastUdpAppVirtualServerArgs virtualServer) { + return virtualServer(Output.of(virtualServer)); + } + + /** + * @param vlansAlloweds Names of existing VLANs to allow. + * + * @return builder + * + */ + public Builder vlansAlloweds(@Nullable Output> vlansAlloweds) { + $.vlansAlloweds = vlansAlloweds; + return this; + } + + /** + * @param vlansAlloweds Names of existing VLANs to allow. + * + * @return builder + * + */ + public Builder vlansAlloweds(List vlansAlloweds) { + return vlansAlloweds(Output.of(vlansAlloweds)); + } + + /** + * @param vlansAlloweds Names of existing VLANs to allow. + * + * @return builder + * + */ + public Builder vlansAlloweds(String... vlansAlloweds) { + return vlansAlloweds(List.of(vlansAlloweds)); + } + + /** + * @param vlansRejecteds Names of existing VLANs to reject. + * + * @return builder + * + */ + public Builder vlansRejecteds(@Nullable Output> vlansRejecteds) { + $.vlansRejecteds = vlansRejecteds; + return this; + } + + /** + * @param vlansRejecteds Names of existing VLANs to reject. + * + * @return builder + * + */ + public Builder vlansRejecteds(List vlansRejecteds) { + return vlansRejecteds(Output.of(vlansRejecteds)); + } + + /** + * @param vlansRejecteds Names of existing VLANs to reject. + * + * @return builder + * + */ + public Builder vlansRejecteds(String... vlansRejecteds) { + return vlansRejecteds(List.of(vlansRejecteds)); + } + + public FastUdpAppArgs build() { + $.application = Objects.requireNonNull($.application, "expected parameter 'application' to be non-null"); + $.tenant = Objects.requireNonNull($.tenant, "expected parameter 'tenant' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/NetIkePeer.java b/sdk/java/src/main/java/com/pulumi/f5bigip/NetIkePeer.java index 3eb80c2d..27365e13 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/NetIkePeer.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/NetIkePeer.java @@ -20,6 +20,7 @@ * `f5bigip.NetIkePeer` Manages a ike_peer configuration * * ## Example Usage + * * ```java * package generated_program; * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/Provider.java b/sdk/java/src/main/java/com/pulumi/f5bigip/Provider.java index 89d145e8..c92f3014 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/Provider.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/Provider.java @@ -92,6 +92,20 @@ public Output> port() { public Output> tokenValue() { return Codegen.optional(this.tokenValue); } + /** + * Valid Trusted Certificate path + * + */ + @Export(name="trustedCertPath", type=String.class, parameters={}) + private Output trustedCertPath; + + /** + * @return Valid Trusted Certificate path + * + */ + public Output> trustedCertPath() { + return Codegen.optional(this.trustedCertPath); + } /** * Username with API access to the BigIP * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ProviderArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ProviderArgs.java index da0e46a2..b78f0384 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ProviderArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ProviderArgs.java @@ -121,6 +121,21 @@ public Optional> tokenValue() { return Optional.ofNullable(this.tokenValue); } + /** + * Valid Trusted Certificate path + * + */ + @Import(name="trustedCertPath") + private @Nullable Output trustedCertPath; + + /** + * @return Valid Trusted Certificate path + * + */ + public Optional> trustedCertPath() { + return Optional.ofNullable(this.trustedCertPath); + } + /** * Username with API access to the BigIP * @@ -136,6 +151,21 @@ public Optional> username() { return Optional.ofNullable(this.username); } + /** + * If set to true, Disables TLS certificate check on BIG-IP. Default : True + * + */ + @Import(name="validateCertsDisable", json=true) + private @Nullable Output validateCertsDisable; + + /** + * @return If set to true, Disables TLS certificate check on BIG-IP. Default : True + * + */ + public Optional> validateCertsDisable() { + return Optional.ofNullable(this.validateCertsDisable); + } + private ProviderArgs() {} private ProviderArgs(ProviderArgs $) { @@ -146,7 +176,9 @@ private ProviderArgs(ProviderArgs $) { this.teemDisable = $.teemDisable; this.tokenAuth = $.tokenAuth; this.tokenValue = $.tokenValue; + this.trustedCertPath = $.trustedCertPath; this.username = $.username; + this.validateCertsDisable = $.validateCertsDisable; } public static Builder builder() { @@ -314,6 +346,27 @@ public Builder tokenValue(String tokenValue) { return tokenValue(Output.of(tokenValue)); } + /** + * @param trustedCertPath Valid Trusted Certificate path + * + * @return builder + * + */ + public Builder trustedCertPath(@Nullable Output trustedCertPath) { + $.trustedCertPath = trustedCertPath; + return this; + } + + /** + * @param trustedCertPath Valid Trusted Certificate path + * + * @return builder + * + */ + public Builder trustedCertPath(String trustedCertPath) { + return trustedCertPath(Output.of(trustedCertPath)); + } + /** * @param username Username with API access to the BigIP * @@ -335,6 +388,27 @@ public Builder username(String username) { return username(Output.of(username)); } + /** + * @param validateCertsDisable If set to true, Disables TLS certificate check on BIG-IP. Default : True + * + * @return builder + * + */ + public Builder validateCertsDisable(@Nullable Output validateCertsDisable) { + $.validateCertsDisable = validateCertsDisable; + return this; + } + + /** + * @param validateCertsDisable If set to true, Disables TLS certificate check on BIG-IP. Default : True + * + * @return builder + * + */ + public Builder validateCertsDisable(Boolean validateCertsDisable) { + return validateCertsDisable(Output.of(validateCertsDisable)); + } + public ProviderArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicy.java b/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicy.java index 49eb3ba5..2b12689a 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicy.java @@ -26,6 +26,8 @@ * * * [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html) * + * > **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned. + * * ## Example Usage * ```java * package generated_program; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicyArgs.java index fe538dda..cfa3e138 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/WafPolicyArgs.java @@ -226,21 +226,6 @@ public Optional>> policyBuilders() { return Optional.ofNullable(this.policyBuilders); } - /** - * Exported WAF policy deployed on BIGIP. - * - */ - @Import(name="policyExportJson") - private @Nullable Output policyExportJson; - - /** - * @return Exported WAF policy deployed on BIGIP. - * - */ - public Optional> policyExportJson() { - return Optional.ofNullable(this.policyExportJson); - } - /** * The id of the A.WAF Policy as it would be calculated on the BIG-IP. * @@ -407,7 +392,6 @@ private WafPolicyArgs(WafPolicyArgs $) { this.parameters = $.parameters; this.partition = $.partition; this.policyBuilders = $.policyBuilders; - this.policyExportJson = $.policyExportJson; this.policyId = $.policyId; this.policyImportJson = $.policyImportJson; this.protocolIndependent = $.protocolIndependent; @@ -786,27 +770,6 @@ public Builder policyBuilders(WafPolicyPolicyBuilderArgs... policyBuilders) { return policyBuilders(List.of(policyBuilders)); } - /** - * @param policyExportJson Exported WAF policy deployed on BIGIP. - * - * @return builder - * - */ - public Builder policyExportJson(@Nullable Output policyExportJson) { - $.policyExportJson = policyExportJson; - return this; - } - - /** - * @param policyExportJson Exported WAF policy deployed on BIGIP. - * - * @return builder - * - */ - public Builder policyExportJson(String policyExportJson) { - return policyExportJson(Output.of(policyExportJson)); - } - /** * @param policyId The id of the A.WAF Policy as it would be calculated on the BIG-IP. * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppFastCreateMonitorArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppMonitorArgs.java similarity index 90% rename from sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppFastCreateMonitorArgs.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppMonitorArgs.java index 88724580..4ca668b2 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppFastCreateMonitorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppMonitorArgs.java @@ -13,9 +13,9 @@ import javax.annotation.Nullable; -public final class FastHttpAppFastCreateMonitorArgs extends com.pulumi.resources.ResourceArgs { +public final class FastHttpAppMonitorArgs extends com.pulumi.resources.ResourceArgs { - public static final FastHttpAppFastCreateMonitorArgs Empty = new FastHttpAppFastCreateMonitorArgs(); + public static final FastHttpAppMonitorArgs Empty = new FastHttpAppMonitorArgs(); /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -107,9 +107,9 @@ public Optional> username() { return Optional.ofNullable(this.username); } - private FastHttpAppFastCreateMonitorArgs() {} + private FastHttpAppMonitorArgs() {} - private FastHttpAppFastCreateMonitorArgs(FastHttpAppFastCreateMonitorArgs $) { + private FastHttpAppMonitorArgs(FastHttpAppMonitorArgs $) { this.interval = $.interval; this.monitorAuth = $.monitorAuth; this.password = $.password; @@ -121,19 +121,19 @@ private FastHttpAppFastCreateMonitorArgs(FastHttpAppFastCreateMonitorArgs $) { public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpAppFastCreateMonitorArgs defaults) { + public static Builder builder(FastHttpAppMonitorArgs defaults) { return new Builder(defaults); } public static final class Builder { - private FastHttpAppFastCreateMonitorArgs $; + private FastHttpAppMonitorArgs $; public Builder() { - $ = new FastHttpAppFastCreateMonitorArgs(); + $ = new FastHttpAppMonitorArgs(); } - public Builder(FastHttpAppFastCreateMonitorArgs defaults) { - $ = new FastHttpAppFastCreateMonitorArgs(Objects.requireNonNull(defaults)); + public Builder(FastHttpAppMonitorArgs defaults) { + $ = new FastHttpAppMonitorArgs(Objects.requireNonNull(defaults)); } /** @@ -262,7 +262,7 @@ public Builder username(String username) { return username(Output.of(username)); } - public FastHttpAppFastCreateMonitorArgs build() { + public FastHttpAppMonitorArgs build() { return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppFastCreatePoolMemberArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppPoolMemberArgs.java similarity index 89% rename from sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppFastCreatePoolMemberArgs.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppPoolMemberArgs.java index 240cad6d..63cf1f42 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppFastCreatePoolMemberArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppPoolMemberArgs.java @@ -14,9 +14,9 @@ import javax.annotation.Nullable; -public final class FastTcpAppFastCreatePoolMemberArgs extends com.pulumi.resources.ResourceArgs { +public final class FastHttpAppPoolMemberArgs extends com.pulumi.resources.ResourceArgs { - public static final FastTcpAppFastCreatePoolMemberArgs Empty = new FastTcpAppFastCreatePoolMemberArgs(); + public static final FastHttpAppPoolMemberArgs Empty = new FastHttpAppPoolMemberArgs(); /** * List of server address to be used for FAST-Generated Pool. @@ -93,9 +93,9 @@ public Optional> shareNodes() { return Optional.ofNullable(this.shareNodes); } - private FastTcpAppFastCreatePoolMemberArgs() {} + private FastHttpAppPoolMemberArgs() {} - private FastTcpAppFastCreatePoolMemberArgs(FastTcpAppFastCreatePoolMemberArgs $) { + private FastHttpAppPoolMemberArgs(FastHttpAppPoolMemberArgs $) { this.addresses = $.addresses; this.connectionLimit = $.connectionLimit; this.port = $.port; @@ -106,19 +106,19 @@ private FastTcpAppFastCreatePoolMemberArgs(FastTcpAppFastCreatePoolMemberArgs $) public static Builder builder() { return new Builder(); } - public static Builder builder(FastTcpAppFastCreatePoolMemberArgs defaults) { + public static Builder builder(FastHttpAppPoolMemberArgs defaults) { return new Builder(defaults); } public static final class Builder { - private FastTcpAppFastCreatePoolMemberArgs $; + private FastHttpAppPoolMemberArgs $; public Builder() { - $ = new FastTcpAppFastCreatePoolMemberArgs(); + $ = new FastHttpAppPoolMemberArgs(); } - public Builder(FastTcpAppFastCreatePoolMemberArgs defaults) { - $ = new FastTcpAppFastCreatePoolMemberArgs(Objects.requireNonNull(defaults)); + public Builder(FastHttpAppPoolMemberArgs defaults) { + $ = new FastHttpAppPoolMemberArgs(Objects.requireNonNull(defaults)); } /** @@ -236,7 +236,7 @@ public Builder shareNodes(Boolean shareNodes) { return shareNodes(Output.of(shareNodes)); } - public FastTcpAppFastCreatePoolMemberArgs build() { + public FastHttpAppPoolMemberArgs build() { $.addresses = Objects.requireNonNull($.addresses, "expected parameter 'addresses' to be non-null"); return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppState.java index 9d676df0..c6c43c25 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppState.java @@ -5,9 +5,10 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.f5bigip.inputs.FastHttpAppFastCreateMonitorArgs; -import com.pulumi.f5bigip.inputs.FastHttpAppFastCreatePoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastHttpAppMonitorArgs; +import com.pulumi.f5bigip.inputs.FastHttpAppPoolMemberArgs; import com.pulumi.f5bigip.inputs.FastHttpAppVirtualServerArgs; +import com.pulumi.f5bigip.inputs.FastHttpAppWafSecurityPolicyArgs; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -36,18 +37,18 @@ public Optional> application() { } /** - * Name of an existing BIG-IP pool. + * List of LTM Policies to be applied FAST HTTP Application. * */ - @Import(name="existPoolName") - private @Nullable Output existPoolName; + @Import(name="endpointLtmPolicies") + private @Nullable Output> endpointLtmPolicies; /** - * @return Name of an existing BIG-IP pool. + * @return List of LTM Policies to be applied FAST HTTP Application. * */ - public Optional> existPoolName() { - return Optional.ofNullable(this.existPoolName); + public Optional>> endpointLtmPolicies() { + return Optional.ofNullable(this.endpointLtmPolicies); } /** @@ -66,67 +67,63 @@ public Optional> existingMonitor() { } /** - * Name of an existing BIG-IP SNAT pool. + * Select an existing BIG-IP Pool * */ - @Import(name="existingSnatPool") - private @Nullable Output existingSnatPool; + @Import(name="existingPool") + private @Nullable Output existingPool; /** - * @return Name of an existing BIG-IP SNAT pool. + * @return Select an existing BIG-IP Pool * */ - public Optional> existingSnatPool() { - return Optional.ofNullable(this.existingSnatPool); + public Optional> existingPool() { + return Optional.ofNullable(this.existingPool); } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing BIG-IP SNAT pool. * */ - @Import(name="fastCreateMonitor") - private @Nullable Output fastCreateMonitor; + @Import(name="existingSnatPool") + private @Nullable Output existingSnatPool; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return Name of an existing BIG-IP SNAT pool. * */ - public Optional> fastCreateMonitor() { - return Optional.ofNullable(this.fastCreateMonitor); + public Optional> existingSnatPool() { + return Optional.ofNullable(this.existingSnatPool); } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing WAF Security policy. * */ - @Import(name="fastCreatePoolMembers") - private @Nullable Output> fastCreatePoolMembers; + @Import(name="existingWafSecurityPolicy") + private @Nullable Output existingWafSecurityPolicy; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return Name of an existing WAF Security policy. * */ - public Optional>> fastCreatePoolMembers() { - return Optional.ofNullable(this.fastCreatePoolMembers); + public Optional> existingWafSecurityPolicy() { + return Optional.ofNullable(this.existingWafSecurityPolicy); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * Json payload for FAST HTTP application. * */ - @Import(name="fastCreateSnatPoolAddresses") - private @Nullable Output> fastCreateSnatPoolAddresses; + @Import(name="fastHttpJson") + private @Nullable Output fastHttpJson; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return Json payload for FAST HTTP application. * */ - public Optional>> fastCreateSnatPoolAddresses() { - return Optional.ofNullable(this.fastCreateSnatPoolAddresses); + public Optional> fastHttpJson() { + return Optional.ofNullable(this.fastHttpJson); } /** @@ -144,6 +141,55 @@ public Optional> loadBalancingMode() { return Optional.ofNullable(this.loadBalancingMode); } + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + @Import(name="monitor") + private @Nullable Output monitor; + + /** + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + public Optional> monitor() { + return Optional.ofNullable(this.monitor); + } + + /** + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + @Import(name="poolMembers") + private @Nullable Output> poolMembers; + + /** + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + public Optional>> poolMembers() { + return Optional.ofNullable(this.poolMembers); + } + + /** + * List of security log profiles to be used for FAST application + * + */ + @Import(name="securityLogProfiles") + private @Nullable Output> securityLogProfiles; + + /** + * @return List of security log profiles to be used for FAST application + * + */ + public Optional>> securityLogProfiles() { + return Optional.ofNullable(this.securityLogProfiles); + } + /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * @@ -159,6 +205,21 @@ public Optional> slowRampTime() { return Optional.ofNullable(this.slowRampTime); } + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Import(name="snatPoolAddresses") + private @Nullable Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Optional>> snatPoolAddresses() { + return Optional.ofNullable(this.snatPoolAddresses); + } + /** * Name of the FAST HTTPS application tenant. * @@ -191,20 +252,42 @@ public Optional> virtualServer() { return Optional.ofNullable(this.virtualServer); } + /** + * `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + @Import(name="wafSecurityPolicy") + private @Nullable Output wafSecurityPolicy; + + /** + * @return `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + public Optional> wafSecurityPolicy() { + return Optional.ofNullable(this.wafSecurityPolicy); + } + private FastHttpAppState() {} private FastHttpAppState(FastHttpAppState $) { this.application = $.application; - this.existPoolName = $.existPoolName; + this.endpointLtmPolicies = $.endpointLtmPolicies; this.existingMonitor = $.existingMonitor; + this.existingPool = $.existingPool; this.existingSnatPool = $.existingSnatPool; - this.fastCreateMonitor = $.fastCreateMonitor; - this.fastCreatePoolMembers = $.fastCreatePoolMembers; - this.fastCreateSnatPoolAddresses = $.fastCreateSnatPoolAddresses; + this.existingWafSecurityPolicy = $.existingWafSecurityPolicy; + this.fastHttpJson = $.fastHttpJson; this.loadBalancingMode = $.loadBalancingMode; + this.monitor = $.monitor; + this.poolMembers = $.poolMembers; + this.securityLogProfiles = $.securityLogProfiles; this.slowRampTime = $.slowRampTime; + this.snatPoolAddresses = $.snatPoolAddresses; this.tenant = $.tenant; this.virtualServer = $.virtualServer; + this.wafSecurityPolicy = $.wafSecurityPolicy; } public static Builder builder() { @@ -247,24 +330,34 @@ public Builder application(String application) { } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTP Application. * * @return builder * */ - public Builder existPoolName(@Nullable Output existPoolName) { - $.existPoolName = existPoolName; + public Builder endpointLtmPolicies(@Nullable Output> endpointLtmPolicies) { + $.endpointLtmPolicies = endpointLtmPolicies; return this; } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTP Application. * * @return builder * */ - public Builder existPoolName(String existPoolName) { - return existPoolName(Output.of(existPoolName)); + public Builder endpointLtmPolicies(List endpointLtmPolicies) { + return endpointLtmPolicies(Output.of(endpointLtmPolicies)); + } + + /** + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTP Application. + * + * @return builder + * + */ + public Builder endpointLtmPolicies(String... endpointLtmPolicies) { + return endpointLtmPolicies(List.of(endpointLtmPolicies)); } /** @@ -288,6 +381,27 @@ public Builder existingMonitor(String existingMonitor) { return existingMonitor(Output.of(existingMonitor)); } + /** + * @param existingPool Select an existing BIG-IP Pool + * + * @return builder + * + */ + public Builder existingPool(@Nullable Output existingPool) { + $.existingPool = existingPool; + return this; + } + + /** + * @param existingPool Select an existing BIG-IP Pool + * + * @return builder + * + */ + public Builder existingPool(String existingPool) { + return existingPool(Output.of(existingPool)); + } + /** * @param existingSnatPool Name of an existing BIG-IP SNAT pool. * @@ -310,112 +424,154 @@ public Builder existingSnatPool(String existingSnatPool) { } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param existingWafSecurityPolicy Name of an existing WAF Security policy. * * @return builder * */ - public Builder fastCreateMonitor(@Nullable Output fastCreateMonitor) { - $.fastCreateMonitor = fastCreateMonitor; + public Builder existingWafSecurityPolicy(@Nullable Output existingWafSecurityPolicy) { + $.existingWafSecurityPolicy = existingWafSecurityPolicy; return this; } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param existingWafSecurityPolicy Name of an existing WAF Security policy. * * @return builder * */ - public Builder fastCreateMonitor(FastHttpAppFastCreateMonitorArgs fastCreateMonitor) { - return fastCreateMonitor(Output.of(fastCreateMonitor)); + public Builder existingWafSecurityPolicy(String existingWafSecurityPolicy) { + return existingWafSecurityPolicy(Output.of(existingWafSecurityPolicy)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param fastHttpJson Json payload for FAST HTTP application. * * @return builder * */ - public Builder fastCreatePoolMembers(@Nullable Output> fastCreatePoolMembers) { - $.fastCreatePoolMembers = fastCreatePoolMembers; + public Builder fastHttpJson(@Nullable Output fastHttpJson) { + $.fastHttpJson = fastHttpJson; return this; } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param fastHttpJson Json payload for FAST HTTP application. * * @return builder * */ - public Builder fastCreatePoolMembers(List fastCreatePoolMembers) { - return fastCreatePoolMembers(Output.of(fastCreatePoolMembers)); + public Builder fastHttpJson(String fastHttpJson) { + return fastHttpJson(Output.of(fastHttpJson)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreatePoolMembers(FastHttpAppFastCreatePoolMemberArgs... fastCreatePoolMembers) { - return fastCreatePoolMembers(List.of(fastCreatePoolMembers)); + public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { + $.loadBalancingMode = loadBalancingMode; + return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(@Nullable Output> fastCreateSnatPoolAddresses) { - $.fastCreateSnatPoolAddresses = fastCreateSnatPoolAddresses; + public Builder loadBalancingMode(String loadBalancingMode) { + return loadBalancingMode(Output.of(loadBalancingMode)); + } + + /** + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + * @return builder + * + */ + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(List fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(Output.of(fastCreateSnatPoolAddresses)); + public Builder monitor(FastHttpAppMonitorArgs monitor) { + return monitor(Output.of(monitor)); } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(String... fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(List.of(fastCreateSnatPoolAddresses)); + public Builder poolMembers(@Nullable Output> poolMembers) { + $.poolMembers = poolMembers; + return this; } /** - * @param loadBalancingMode 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 + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { - $.loadBalancingMode = loadBalancingMode; + public Builder poolMembers(List poolMembers) { + return poolMembers(Output.of(poolMembers)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(FastHttpAppPoolMemberArgs... poolMembers) { + return poolMembers(List.of(poolMembers)); + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(@Nullable Output> securityLogProfiles) { + $.securityLogProfiles = securityLogProfiles; return this; } /** - * @param loadBalancingMode 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 + * @param securityLogProfiles List of security log profiles to be used for FAST application * * @return builder * */ - public Builder loadBalancingMode(String loadBalancingMode) { - return loadBalancingMode(Output.of(loadBalancingMode)); + public Builder securityLogProfiles(List securityLogProfiles) { + return securityLogProfiles(Output.of(securityLogProfiles)); + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(String... securityLogProfiles) { + return securityLogProfiles(List.of(securityLogProfiles)); } /** @@ -439,6 +595,37 @@ public Builder slowRampTime(Integer slowRampTime) { return slowRampTime(Output.of(slowRampTime)); } + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(@Nullable Output> snatPoolAddresses) { + $.snatPoolAddresses = snatPoolAddresses; + return this; + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(List snatPoolAddresses) { + return snatPoolAddresses(Output.of(snatPoolAddresses)); + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(String... snatPoolAddresses) { + return snatPoolAddresses(List.of(snatPoolAddresses)); + } + /** * @param tenant Name of the FAST HTTPS application tenant. * @@ -483,6 +670,29 @@ public Builder virtualServer(FastHttpAppVirtualServerArgs virtualServer) { return virtualServer(Output.of(virtualServer)); } + /** + * @param wafSecurityPolicy `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + * @return builder + * + */ + public Builder wafSecurityPolicy(@Nullable Output wafSecurityPolicy) { + $.wafSecurityPolicy = wafSecurityPolicy; + return this; + } + + /** + * @param wafSecurityPolicy `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + * @return builder + * + */ + public Builder wafSecurityPolicy(FastHttpAppWafSecurityPolicyArgs wafSecurityPolicy) { + return wafSecurityPolicy(Output.of(wafSecurityPolicy)); + } + public FastHttpAppState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppVirtualServerArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppVirtualServerArgs.java index 69a5d375..956f33fb 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppVirtualServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppVirtualServerArgs.java @@ -30,14 +30,14 @@ public Output ip() { } /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application * */ @Import(name="port", required=true) private Output port; /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ public Output port() { @@ -91,7 +91,7 @@ public Builder ip(String ip) { } /** - * @param port -(Optional , `int`) Port number to used for accessing virtual server/application + * @param port Port number to used for accessing virtual server/application * * @return builder * @@ -102,7 +102,7 @@ public Builder port(Output port) { } /** - * @param port -(Optional , `int`) Port number to used for accessing virtual server/application + * @param port Port number to used for accessing virtual server/application * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppWafSecurityPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppWafSecurityPolicyArgs.java new file mode 100644 index 00000000..49361c67 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppWafSecurityPolicyArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; + + +public final class FastHttpAppWafSecurityPolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final FastHttpAppWafSecurityPolicyArgs Empty = new FastHttpAppWafSecurityPolicyArgs(); + + /** + * Setting `true` will enable FAST to create WAF Security Policy. + * + */ + @Import(name="enable", required=true) + private Output enable; + + /** + * @return Setting `true` will enable FAST to create WAF Security Policy. + * + */ + public Output enable() { + return this.enable; + } + + private FastHttpAppWafSecurityPolicyArgs() {} + + private FastHttpAppWafSecurityPolicyArgs(FastHttpAppWafSecurityPolicyArgs $) { + this.enable = $.enable; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FastHttpAppWafSecurityPolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FastHttpAppWafSecurityPolicyArgs $; + + public Builder() { + $ = new FastHttpAppWafSecurityPolicyArgs(); + } + + public Builder(FastHttpAppWafSecurityPolicyArgs defaults) { + $ = new FastHttpAppWafSecurityPolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enable Setting `true` will enable FAST to create WAF Security Policy. + * + * @return builder + * + */ + public Builder enable(Output enable) { + $.enable = enable; + return this; + } + + /** + * @param enable Setting `true` will enable FAST to create WAF Security Policy. + * + * @return builder + * + */ + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public FastHttpAppWafSecurityPolicyArgs build() { + $.enable = Objects.requireNonNull($.enable, "expected parameter 'enable' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppFastCreateMonitorArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppMonitorArgs.java similarity index 90% rename from sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppFastCreateMonitorArgs.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppMonitorArgs.java index c4365429..7243b7ec 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppFastCreateMonitorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppMonitorArgs.java @@ -13,9 +13,9 @@ import javax.annotation.Nullable; -public final class FastHttpsAppFastCreateMonitorArgs extends com.pulumi.resources.ResourceArgs { +public final class FastHttpsAppMonitorArgs extends com.pulumi.resources.ResourceArgs { - public static final FastHttpsAppFastCreateMonitorArgs Empty = new FastHttpsAppFastCreateMonitorArgs(); + public static final FastHttpsAppMonitorArgs Empty = new FastHttpsAppMonitorArgs(); /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -107,9 +107,9 @@ public Optional> username() { return Optional.ofNullable(this.username); } - private FastHttpsAppFastCreateMonitorArgs() {} + private FastHttpsAppMonitorArgs() {} - private FastHttpsAppFastCreateMonitorArgs(FastHttpsAppFastCreateMonitorArgs $) { + private FastHttpsAppMonitorArgs(FastHttpsAppMonitorArgs $) { this.interval = $.interval; this.monitorAuth = $.monitorAuth; this.password = $.password; @@ -121,19 +121,19 @@ private FastHttpsAppFastCreateMonitorArgs(FastHttpsAppFastCreateMonitorArgs $) { public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpsAppFastCreateMonitorArgs defaults) { + public static Builder builder(FastHttpsAppMonitorArgs defaults) { return new Builder(defaults); } public static final class Builder { - private FastHttpsAppFastCreateMonitorArgs $; + private FastHttpsAppMonitorArgs $; public Builder() { - $ = new FastHttpsAppFastCreateMonitorArgs(); + $ = new FastHttpsAppMonitorArgs(); } - public Builder(FastHttpsAppFastCreateMonitorArgs defaults) { - $ = new FastHttpsAppFastCreateMonitorArgs(Objects.requireNonNull(defaults)); + public Builder(FastHttpsAppMonitorArgs defaults) { + $ = new FastHttpsAppMonitorArgs(Objects.requireNonNull(defaults)); } /** @@ -262,7 +262,7 @@ public Builder username(String username) { return username(Output.of(username)); } - public FastHttpsAppFastCreateMonitorArgs build() { + public FastHttpsAppMonitorArgs build() { return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppFastCreatePoolMemberArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppPoolMemberArgs.java similarity index 88% rename from sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppFastCreatePoolMemberArgs.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppPoolMemberArgs.java index 2d2b0702..dcd86c71 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppFastCreatePoolMemberArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppPoolMemberArgs.java @@ -14,9 +14,9 @@ import javax.annotation.Nullable; -public final class FastHttpsAppFastCreatePoolMemberArgs extends com.pulumi.resources.ResourceArgs { +public final class FastHttpsAppPoolMemberArgs extends com.pulumi.resources.ResourceArgs { - public static final FastHttpsAppFastCreatePoolMemberArgs Empty = new FastHttpsAppFastCreatePoolMemberArgs(); + public static final FastHttpsAppPoolMemberArgs Empty = new FastHttpsAppPoolMemberArgs(); /** * List of server address to be used for FAST-Generated Pool. @@ -93,9 +93,9 @@ public Optional> shareNodes() { return Optional.ofNullable(this.shareNodes); } - private FastHttpsAppFastCreatePoolMemberArgs() {} + private FastHttpsAppPoolMemberArgs() {} - private FastHttpsAppFastCreatePoolMemberArgs(FastHttpsAppFastCreatePoolMemberArgs $) { + private FastHttpsAppPoolMemberArgs(FastHttpsAppPoolMemberArgs $) { this.addresses = $.addresses; this.connectionLimit = $.connectionLimit; this.port = $.port; @@ -106,19 +106,19 @@ private FastHttpsAppFastCreatePoolMemberArgs(FastHttpsAppFastCreatePoolMemberArg public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpsAppFastCreatePoolMemberArgs defaults) { + public static Builder builder(FastHttpsAppPoolMemberArgs defaults) { return new Builder(defaults); } public static final class Builder { - private FastHttpsAppFastCreatePoolMemberArgs $; + private FastHttpsAppPoolMemberArgs $; public Builder() { - $ = new FastHttpsAppFastCreatePoolMemberArgs(); + $ = new FastHttpsAppPoolMemberArgs(); } - public Builder(FastHttpsAppFastCreatePoolMemberArgs defaults) { - $ = new FastHttpsAppFastCreatePoolMemberArgs(Objects.requireNonNull(defaults)); + public Builder(FastHttpsAppPoolMemberArgs defaults) { + $ = new FastHttpsAppPoolMemberArgs(Objects.requireNonNull(defaults)); } /** @@ -236,7 +236,7 @@ public Builder shareNodes(Boolean shareNodes) { return shareNodes(Output.of(shareNodes)); } - public FastHttpsAppFastCreatePoolMemberArgs build() { + public FastHttpsAppPoolMemberArgs build() { $.addresses = Objects.requireNonNull($.addresses, "expected parameter 'addresses' to be non-null"); return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppState.java index 921c26d2..622fc432 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppState.java @@ -5,10 +5,12 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.f5bigip.inputs.FastHttpsAppCreateTlsServerProfileArgs; -import com.pulumi.f5bigip.inputs.FastHttpsAppFastCreateMonitorArgs; -import com.pulumi.f5bigip.inputs.FastHttpsAppFastCreatePoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppMonitorArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppPoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppTlsClientProfileArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppTlsServerProfileArgs; import com.pulumi.f5bigip.inputs.FastHttpsAppVirtualServerArgs; +import com.pulumi.f5bigip.inputs.FastHttpsAppWafSecurityPolicyArgs; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -37,50 +39,48 @@ public Optional> application() { } /** - * `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * List of LTM Policies to be applied FAST HTTPS Application. * */ - @Import(name="createTlsServerProfile") - private @Nullable Output createTlsServerProfile; + @Import(name="endpointLtmPolicies") + private @Nullable Output> endpointLtmPolicies; /** - * @return `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * @return List of LTM Policies to be applied FAST HTTPS Application. * */ - public Optional> createTlsServerProfile() { - return Optional.ofNullable(this.createTlsServerProfile); + public Optional>> endpointLtmPolicies() { + return Optional.ofNullable(this.endpointLtmPolicies); } /** - * Name of an existing BIG-IP pool. + * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - @Import(name="existPoolName") - private @Nullable Output existPoolName; + @Import(name="existingMonitor") + private @Nullable Output existingMonitor; /** - * @return Name of an existing BIG-IP pool. + * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - public Optional> existPoolName() { - return Optional.ofNullable(this.existPoolName); + public Optional> existingMonitor() { + return Optional.ofNullable(this.existingMonitor); } /** - * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * Name of an existing BIG-IP pool. * */ - @Import(name="existingMonitor") - private @Nullable Output existingMonitor; + @Import(name="existingPool") + private @Nullable Output existingPool; /** - * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @return Name of an existing BIG-IP pool. * */ - public Optional> existingMonitor() { - return Optional.ofNullable(this.existingMonitor); + public Optional> existingPool() { + return Optional.ofNullable(this.existingPool); } /** @@ -99,52 +99,63 @@ public Optional> existingSnatPool() { } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing TLS client profile. * */ - @Import(name="fastCreateMonitor") - private @Nullable Output fastCreateMonitor; + @Import(name="existingTlsClientProfile") + private @Nullable Output existingTlsClientProfile; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return Name of an existing TLS client profile. * */ - public Optional> fastCreateMonitor() { - return Optional.ofNullable(this.fastCreateMonitor); + public Optional> existingTlsClientProfile() { + return Optional.ofNullable(this.existingTlsClientProfile); } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing TLS server profile. * */ - @Import(name="fastCreatePoolMembers") - private @Nullable Output> fastCreatePoolMembers; + @Import(name="existingTlsServerProfile") + private @Nullable Output existingTlsServerProfile; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return Name of an existing TLS server profile. * */ - public Optional>> fastCreatePoolMembers() { - return Optional.ofNullable(this.fastCreatePoolMembers); + public Optional> existingTlsServerProfile() { + return Optional.ofNullable(this.existingTlsServerProfile); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * Name of an existing WAF Security policy. * */ - @Import(name="fastCreateSnatPoolAddresses") - private @Nullable Output> fastCreateSnatPoolAddresses; + @Import(name="existingWafSecurityPolicy") + private @Nullable Output existingWafSecurityPolicy; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return Name of an existing WAF Security policy. + * + */ + public Optional> existingWafSecurityPolicy() { + return Optional.ofNullable(this.existingWafSecurityPolicy); + } + + /** + * Json payload for FAST HTTPS application. * */ - public Optional>> fastCreateSnatPoolAddresses() { - return Optional.ofNullable(this.fastCreateSnatPoolAddresses); + @Import(name="fastHttpsJson") + private @Nullable Output fastHttpsJson; + + /** + * @return Json payload for FAST HTTPS application. + * + */ + public Optional> fastHttpsJson() { + return Optional.ofNullable(this.fastHttpsJson); } /** @@ -162,6 +173,55 @@ public Optional> loadBalancingMode() { return Optional.ofNullable(this.loadBalancingMode); } + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + @Import(name="monitor") + private @Nullable Output monitor; + + /** + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + public Optional> monitor() { + return Optional.ofNullable(this.monitor); + } + + /** + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + @Import(name="poolMembers") + private @Nullable Output> poolMembers; + + /** + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + public Optional>> poolMembers() { + return Optional.ofNullable(this.poolMembers); + } + + /** + * List of security log profiles to be used for FAST application + * + */ + @Import(name="securityLogProfiles") + private @Nullable Output> securityLogProfiles; + + /** + * @return List of security log profiles to be used for FAST application + * + */ + public Optional>> securityLogProfiles() { + return Optional.ofNullable(this.securityLogProfiles); + } + /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * @@ -177,6 +237,21 @@ public Optional> slowRampTime() { return Optional.ofNullable(this.slowRampTime); } + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Import(name="snatPoolAddresses") + private @Nullable Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Optional>> snatPoolAddresses() { + return Optional.ofNullable(this.snatPoolAddresses); + } + /** * Name of the FAST HTTPS application tenant. * @@ -193,18 +268,37 @@ public Optional> tenant() { } /** - * Name of an existing TLS server profile. + * `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * */ - @Import(name="tlsServerProfileName") - private @Nullable Output tlsServerProfileName; + @Import(name="tlsClientProfile") + private @Nullable Output tlsClientProfile; /** - * @return Name of an existing TLS server profile. + * @return `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * */ - public Optional> tlsServerProfileName() { - return Optional.ofNullable(this.tlsServerProfileName); + public Optional> tlsClientProfile() { + return Optional.ofNullable(this.tlsClientProfile); + } + + /** + * `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + */ + @Import(name="tlsServerProfile") + private @Nullable Output tlsServerProfile; + + /** + * @return `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + */ + public Optional> tlsServerProfile() { + return Optional.ofNullable(this.tlsServerProfile); } /** @@ -224,22 +318,46 @@ public Optional> virtualServer() { return Optional.ofNullable(this.virtualServer); } + /** + * `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + @Import(name="wafSecurityPolicy") + private @Nullable Output wafSecurityPolicy; + + /** + * @return `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + */ + public Optional> wafSecurityPolicy() { + return Optional.ofNullable(this.wafSecurityPolicy); + } + private FastHttpsAppState() {} private FastHttpsAppState(FastHttpsAppState $) { this.application = $.application; - this.createTlsServerProfile = $.createTlsServerProfile; - this.existPoolName = $.existPoolName; + this.endpointLtmPolicies = $.endpointLtmPolicies; this.existingMonitor = $.existingMonitor; + this.existingPool = $.existingPool; this.existingSnatPool = $.existingSnatPool; - this.fastCreateMonitor = $.fastCreateMonitor; - this.fastCreatePoolMembers = $.fastCreatePoolMembers; - this.fastCreateSnatPoolAddresses = $.fastCreateSnatPoolAddresses; + this.existingTlsClientProfile = $.existingTlsClientProfile; + this.existingTlsServerProfile = $.existingTlsServerProfile; + this.existingWafSecurityPolicy = $.existingWafSecurityPolicy; + this.fastHttpsJson = $.fastHttpsJson; this.loadBalancingMode = $.loadBalancingMode; + this.monitor = $.monitor; + this.poolMembers = $.poolMembers; + this.securityLogProfiles = $.securityLogProfiles; this.slowRampTime = $.slowRampTime; + this.snatPoolAddresses = $.snatPoolAddresses; this.tenant = $.tenant; - this.tlsServerProfileName = $.tlsServerProfileName; + this.tlsClientProfile = $.tlsClientProfile; + this.tlsServerProfile = $.tlsServerProfile; this.virtualServer = $.virtualServer; + this.wafSecurityPolicy = $.wafSecurityPolicy; } public static Builder builder() { @@ -282,47 +400,45 @@ public Builder application(String application) { } /** - * @param createTlsServerProfile `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTPS Application. * * @return builder * */ - public Builder createTlsServerProfile(@Nullable Output createTlsServerProfile) { - $.createTlsServerProfile = createTlsServerProfile; + public Builder endpointLtmPolicies(@Nullable Output> endpointLtmPolicies) { + $.endpointLtmPolicies = endpointLtmPolicies; return this; } /** - * @param createTlsServerProfile `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTPS Application. * * @return builder * */ - public Builder createTlsServerProfile(FastHttpsAppCreateTlsServerProfileArgs createTlsServerProfile) { - return createTlsServerProfile(Output.of(createTlsServerProfile)); + public Builder endpointLtmPolicies(List endpointLtmPolicies) { + return endpointLtmPolicies(Output.of(endpointLtmPolicies)); } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param endpointLtmPolicies List of LTM Policies to be applied FAST HTTPS Application. * * @return builder * */ - public Builder existPoolName(@Nullable Output existPoolName) { - $.existPoolName = existPoolName; - return this; + public Builder endpointLtmPolicies(String... endpointLtmPolicies) { + return endpointLtmPolicies(List.of(endpointLtmPolicies)); } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * * @return builder * */ - public Builder existPoolName(String existPoolName) { - return existPoolName(Output.of(existPoolName)); + public Builder existingMonitor(@Nullable Output existingMonitor) { + $.existingMonitor = existingMonitor; + return this; } /** @@ -331,19 +447,29 @@ public Builder existPoolName(String existPoolName) { * @return builder * */ - public Builder existingMonitor(@Nullable Output existingMonitor) { - $.existingMonitor = existingMonitor; + public Builder existingMonitor(String existingMonitor) { + return existingMonitor(Output.of(existingMonitor)); + } + + /** + * @param existingPool Name of an existing BIG-IP pool. + * + * @return builder + * + */ + public Builder existingPool(@Nullable Output existingPool) { + $.existingPool = existingPool; return this; } /** - * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @param existingPool Name of an existing BIG-IP pool. * * @return builder * */ - public Builder existingMonitor(String existingMonitor) { - return existingMonitor(Output.of(existingMonitor)); + public Builder existingPool(String existingPool) { + return existingPool(Output.of(existingPool)); } /** @@ -368,91 +494,87 @@ public Builder existingSnatPool(String existingSnatPool) { } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param existingTlsClientProfile Name of an existing TLS client profile. * * @return builder * */ - public Builder fastCreateMonitor(@Nullable Output fastCreateMonitor) { - $.fastCreateMonitor = fastCreateMonitor; + public Builder existingTlsClientProfile(@Nullable Output existingTlsClientProfile) { + $.existingTlsClientProfile = existingTlsClientProfile; return this; } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param existingTlsClientProfile Name of an existing TLS client profile. * * @return builder * */ - public Builder fastCreateMonitor(FastHttpsAppFastCreateMonitorArgs fastCreateMonitor) { - return fastCreateMonitor(Output.of(fastCreateMonitor)); + public Builder existingTlsClientProfile(String existingTlsClientProfile) { + return existingTlsClientProfile(Output.of(existingTlsClientProfile)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param existingTlsServerProfile Name of an existing TLS server profile. * * @return builder * */ - public Builder fastCreatePoolMembers(@Nullable Output> fastCreatePoolMembers) { - $.fastCreatePoolMembers = fastCreatePoolMembers; + public Builder existingTlsServerProfile(@Nullable Output existingTlsServerProfile) { + $.existingTlsServerProfile = existingTlsServerProfile; return this; } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param existingTlsServerProfile Name of an existing TLS server profile. * * @return builder * */ - public Builder fastCreatePoolMembers(List fastCreatePoolMembers) { - return fastCreatePoolMembers(Output.of(fastCreatePoolMembers)); + public Builder existingTlsServerProfile(String existingTlsServerProfile) { + return existingTlsServerProfile(Output.of(existingTlsServerProfile)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param existingWafSecurityPolicy Name of an existing WAF Security policy. * * @return builder * */ - public Builder fastCreatePoolMembers(FastHttpsAppFastCreatePoolMemberArgs... fastCreatePoolMembers) { - return fastCreatePoolMembers(List.of(fastCreatePoolMembers)); + public Builder existingWafSecurityPolicy(@Nullable Output existingWafSecurityPolicy) { + $.existingWafSecurityPolicy = existingWafSecurityPolicy; + return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param existingWafSecurityPolicy Name of an existing WAF Security policy. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(@Nullable Output> fastCreateSnatPoolAddresses) { - $.fastCreateSnatPoolAddresses = fastCreateSnatPoolAddresses; - return this; + public Builder existingWafSecurityPolicy(String existingWafSecurityPolicy) { + return existingWafSecurityPolicy(Output.of(existingWafSecurityPolicy)); } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param fastHttpsJson Json payload for FAST HTTPS application. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(List fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(Output.of(fastCreateSnatPoolAddresses)); + public Builder fastHttpsJson(@Nullable Output fastHttpsJson) { + $.fastHttpsJson = fastHttpsJson; + return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param fastHttpsJson Json payload for FAST HTTPS application. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(String... fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(List.of(fastCreateSnatPoolAddresses)); + public Builder fastHttpsJson(String fastHttpsJson) { + return fastHttpsJson(Output.of(fastHttpsJson)); } /** @@ -476,6 +598,94 @@ public Builder loadBalancingMode(String loadBalancingMode) { return loadBalancingMode(Output.of(loadBalancingMode)); } + /** + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + * @return builder + * + */ + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; + return this; + } + + /** + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + * @return builder + * + */ + public Builder monitor(FastHttpsAppMonitorArgs monitor) { + return monitor(Output.of(monitor)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(@Nullable Output> poolMembers) { + $.poolMembers = poolMembers; + return this; + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(List poolMembers) { + return poolMembers(Output.of(poolMembers)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(FastHttpsAppPoolMemberArgs... poolMembers) { + return poolMembers(List.of(poolMembers)); + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(@Nullable Output> securityLogProfiles) { + $.securityLogProfiles = securityLogProfiles; + return this; + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(List securityLogProfiles) { + return securityLogProfiles(Output.of(securityLogProfiles)); + } + + /** + * @param securityLogProfiles List of security log profiles to be used for FAST application + * + * @return builder + * + */ + public Builder securityLogProfiles(String... securityLogProfiles) { + return securityLogProfiles(List.of(securityLogProfiles)); + } + /** * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * @@ -497,6 +707,37 @@ public Builder slowRampTime(Integer slowRampTime) { return slowRampTime(Output.of(slowRampTime)); } + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(@Nullable Output> snatPoolAddresses) { + $.snatPoolAddresses = snatPoolAddresses; + return this; + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(List snatPoolAddresses) { + return snatPoolAddresses(Output.of(snatPoolAddresses)); + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(String... snatPoolAddresses) { + return snatPoolAddresses(List.of(snatPoolAddresses)); + } + /** * @param tenant Name of the FAST HTTPS application tenant. * @@ -519,24 +760,49 @@ public Builder tenant(String tenant) { } /** - * @param tlsServerProfileName Name of an existing TLS server profile. + * @param tlsClientProfile `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * * @return builder * */ - public Builder tlsServerProfileName(@Nullable Output tlsServerProfileName) { - $.tlsServerProfileName = tlsServerProfileName; + public Builder tlsClientProfile(@Nullable Output tlsClientProfile) { + $.tlsClientProfile = tlsClientProfile; return this; } /** - * @param tlsServerProfileName Name of an existing TLS server profile. + * @param tlsClientProfile `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. * * @return builder * */ - public Builder tlsServerProfileName(String tlsServerProfileName) { - return tlsServerProfileName(Output.of(tlsServerProfileName)); + public Builder tlsClientProfile(FastHttpsAppTlsClientProfileArgs tlsClientProfile) { + return tlsClientProfile(Output.of(tlsClientProfile)); + } + + /** + * @param tlsServerProfile `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + * @return builder + * + */ + public Builder tlsServerProfile(@Nullable Output tlsServerProfile) { + $.tlsServerProfile = tlsServerProfile; + return this; + } + + /** + * @param tlsServerProfile `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + * + * @return builder + * + */ + public Builder tlsServerProfile(FastHttpsAppTlsServerProfileArgs tlsServerProfile) { + return tlsServerProfile(Output.of(tlsServerProfile)); } /** @@ -562,6 +828,29 @@ public Builder virtualServer(FastHttpsAppVirtualServerArgs virtualServer) { return virtualServer(Output.of(virtualServer)); } + /** + * @param wafSecurityPolicy `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + * @return builder + * + */ + public Builder wafSecurityPolicy(@Nullable Output wafSecurityPolicy) { + $.wafSecurityPolicy = wafSecurityPolicy; + return this; + } + + /** + * @param wafSecurityPolicy `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + * + * @return builder + * + */ + public Builder wafSecurityPolicy(FastHttpsAppWafSecurityPolicyArgs wafSecurityPolicy) { + return wafSecurityPolicy(Output.of(wafSecurityPolicy)); + } + public FastHttpsAppState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppCreateTlsServerProfileArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppTlsClientProfileArgs.java similarity index 78% rename from sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppCreateTlsServerProfileArgs.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppTlsClientProfileArgs.java index b68b1267..fef19d69 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppCreateTlsServerProfileArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppTlsClientProfileArgs.java @@ -9,9 +9,9 @@ import java.util.Objects; -public final class FastHttpsAppCreateTlsServerProfileArgs extends com.pulumi.resources.ResourceArgs { +public final class FastHttpsAppTlsClientProfileArgs extends com.pulumi.resources.ResourceArgs { - public static final FastHttpsAppCreateTlsServerProfileArgs Empty = new FastHttpsAppCreateTlsServerProfileArgs(); + public static final FastHttpsAppTlsClientProfileArgs Empty = new FastHttpsAppTlsClientProfileArgs(); /** * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. @@ -43,9 +43,9 @@ public Output tlsKeyName() { return this.tlsKeyName; } - private FastHttpsAppCreateTlsServerProfileArgs() {} + private FastHttpsAppTlsClientProfileArgs() {} - private FastHttpsAppCreateTlsServerProfileArgs(FastHttpsAppCreateTlsServerProfileArgs $) { + private FastHttpsAppTlsClientProfileArgs(FastHttpsAppTlsClientProfileArgs $) { this.tlsCertName = $.tlsCertName; this.tlsKeyName = $.tlsKeyName; } @@ -53,19 +53,19 @@ private FastHttpsAppCreateTlsServerProfileArgs(FastHttpsAppCreateTlsServerProfil public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpsAppCreateTlsServerProfileArgs defaults) { + public static Builder builder(FastHttpsAppTlsClientProfileArgs defaults) { return new Builder(defaults); } public static final class Builder { - private FastHttpsAppCreateTlsServerProfileArgs $; + private FastHttpsAppTlsClientProfileArgs $; public Builder() { - $ = new FastHttpsAppCreateTlsServerProfileArgs(); + $ = new FastHttpsAppTlsClientProfileArgs(); } - public Builder(FastHttpsAppCreateTlsServerProfileArgs defaults) { - $ = new FastHttpsAppCreateTlsServerProfileArgs(Objects.requireNonNull(defaults)); + public Builder(FastHttpsAppTlsClientProfileArgs defaults) { + $ = new FastHttpsAppTlsClientProfileArgs(Objects.requireNonNull(defaults)); } /** @@ -110,7 +110,7 @@ public Builder tlsKeyName(String tlsKeyName) { return tlsKeyName(Output.of(tlsKeyName)); } - public FastHttpsAppCreateTlsServerProfileArgs build() { + public FastHttpsAppTlsClientProfileArgs build() { $.tlsCertName = Objects.requireNonNull($.tlsCertName, "expected parameter 'tlsCertName' to be non-null"); $.tlsKeyName = Objects.requireNonNull($.tlsKeyName, "expected parameter 'tlsKeyName' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppTlsServerProfileArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppTlsServerProfileArgs.java new file mode 100644 index 00000000..37a302ee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppTlsServerProfileArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class FastHttpsAppTlsServerProfileArgs extends com.pulumi.resources.ResourceArgs { + + public static final FastHttpsAppTlsServerProfileArgs Empty = new FastHttpsAppTlsServerProfileArgs(); + + /** + * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + * + */ + @Import(name="tlsCertName", required=true) + private Output tlsCertName; + + /** + * @return Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + * + */ + public Output tlsCertName() { + return this.tlsCertName; + } + + /** + * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + * + */ + @Import(name="tlsKeyName", required=true) + private Output tlsKeyName; + + /** + * @return Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + * + */ + public Output tlsKeyName() { + return this.tlsKeyName; + } + + private FastHttpsAppTlsServerProfileArgs() {} + + private FastHttpsAppTlsServerProfileArgs(FastHttpsAppTlsServerProfileArgs $) { + this.tlsCertName = $.tlsCertName; + this.tlsKeyName = $.tlsKeyName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FastHttpsAppTlsServerProfileArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FastHttpsAppTlsServerProfileArgs $; + + public Builder() { + $ = new FastHttpsAppTlsServerProfileArgs(); + } + + public Builder(FastHttpsAppTlsServerProfileArgs defaults) { + $ = new FastHttpsAppTlsServerProfileArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param tlsCertName Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + * + * @return builder + * + */ + public Builder tlsCertName(Output tlsCertName) { + $.tlsCertName = tlsCertName; + return this; + } + + /** + * @param tlsCertName Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + * + * @return builder + * + */ + public Builder tlsCertName(String tlsCertName) { + return tlsCertName(Output.of(tlsCertName)); + } + + /** + * @param tlsKeyName Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + * + * @return builder + * + */ + public Builder tlsKeyName(Output tlsKeyName) { + $.tlsKeyName = tlsKeyName; + return this; + } + + /** + * @param tlsKeyName Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + * + * @return builder + * + */ + public Builder tlsKeyName(String tlsKeyName) { + return tlsKeyName(Output.of(tlsKeyName)); + } + + public FastHttpsAppTlsServerProfileArgs build() { + $.tlsCertName = Objects.requireNonNull($.tlsCertName, "expected parameter 'tlsCertName' to be non-null"); + $.tlsKeyName = Objects.requireNonNull($.tlsKeyName, "expected parameter 'tlsKeyName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppVirtualServerArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppVirtualServerArgs.java index 1527576f..a507a743 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppVirtualServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppVirtualServerArgs.java @@ -30,14 +30,14 @@ public Output ip() { } /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application * */ @Import(name="port", required=true) private Output port; /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ public Output port() { @@ -91,7 +91,7 @@ public Builder ip(String ip) { } /** - * @param port -(Optional , `int`) Port number to used for accessing virtual server/application + * @param port Port number to used for accessing virtual server/application * * @return builder * @@ -102,7 +102,7 @@ public Builder port(Output port) { } /** - * @param port -(Optional , `int`) Port number to used for accessing virtual server/application + * @param port Port number to used for accessing virtual server/application * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppWafSecurityPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppWafSecurityPolicyArgs.java new file mode 100644 index 00000000..a83064f2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpsAppWafSecurityPolicyArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; + + +public final class FastHttpsAppWafSecurityPolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final FastHttpsAppWafSecurityPolicyArgs Empty = new FastHttpsAppWafSecurityPolicyArgs(); + + /** + * Setting `true` will enable FAST to create WAF Security Policy. + * + */ + @Import(name="enable", required=true) + private Output enable; + + /** + * @return Setting `true` will enable FAST to create WAF Security Policy. + * + */ + public Output enable() { + return this.enable; + } + + private FastHttpsAppWafSecurityPolicyArgs() {} + + private FastHttpsAppWafSecurityPolicyArgs(FastHttpsAppWafSecurityPolicyArgs $) { + this.enable = $.enable; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FastHttpsAppWafSecurityPolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FastHttpsAppWafSecurityPolicyArgs $; + + public Builder() { + $ = new FastHttpsAppWafSecurityPolicyArgs(); + } + + public Builder(FastHttpsAppWafSecurityPolicyArgs defaults) { + $ = new FastHttpsAppWafSecurityPolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enable Setting `true` will enable FAST to create WAF Security Policy. + * + * @return builder + * + */ + public Builder enable(Output enable) { + $.enable = enable; + return this; + } + + /** + * @param enable Setting `true` will enable FAST to create WAF Security Policy. + * + * @return builder + * + */ + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public FastHttpsAppWafSecurityPolicyArgs build() { + $.enable = Objects.requireNonNull($.enable, "expected parameter 'enable' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppFastCreateMonitorArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppMonitorArgs.java similarity index 70% rename from sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppFastCreateMonitorArgs.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppMonitorArgs.java index 7d740202..a05bddd3 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppFastCreateMonitorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppMonitorArgs.java @@ -11,9 +11,9 @@ import javax.annotation.Nullable; -public final class FastTcpAppFastCreateMonitorArgs extends com.pulumi.resources.ResourceArgs { +public final class FastTcpAppMonitorArgs extends com.pulumi.resources.ResourceArgs { - public static final FastTcpAppFastCreateMonitorArgs Empty = new FastTcpAppFastCreateMonitorArgs(); + public static final FastTcpAppMonitorArgs Empty = new FastTcpAppMonitorArgs(); /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. @@ -30,28 +30,28 @@ public Optional> interval() { return Optional.ofNullable(this.interval); } - private FastTcpAppFastCreateMonitorArgs() {} + private FastTcpAppMonitorArgs() {} - private FastTcpAppFastCreateMonitorArgs(FastTcpAppFastCreateMonitorArgs $) { + private FastTcpAppMonitorArgs(FastTcpAppMonitorArgs $) { this.interval = $.interval; } public static Builder builder() { return new Builder(); } - public static Builder builder(FastTcpAppFastCreateMonitorArgs defaults) { + public static Builder builder(FastTcpAppMonitorArgs defaults) { return new Builder(defaults); } public static final class Builder { - private FastTcpAppFastCreateMonitorArgs $; + private FastTcpAppMonitorArgs $; public Builder() { - $ = new FastTcpAppFastCreateMonitorArgs(); + $ = new FastTcpAppMonitorArgs(); } - public Builder(FastTcpAppFastCreateMonitorArgs defaults) { - $ = new FastTcpAppFastCreateMonitorArgs(Objects.requireNonNull(defaults)); + public Builder(FastTcpAppMonitorArgs defaults) { + $ = new FastTcpAppMonitorArgs(Objects.requireNonNull(defaults)); } /** @@ -75,7 +75,7 @@ public Builder interval(Integer interval) { return interval(Output.of(interval)); } - public FastTcpAppFastCreateMonitorArgs build() { + public FastTcpAppMonitorArgs build() { return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppFastCreatePoolMemberArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppPoolMemberArgs.java similarity index 88% rename from sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppFastCreatePoolMemberArgs.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppPoolMemberArgs.java index 21e9aa91..bdd5b531 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastHttpAppFastCreatePoolMemberArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppPoolMemberArgs.java @@ -14,9 +14,9 @@ import javax.annotation.Nullable; -public final class FastHttpAppFastCreatePoolMemberArgs extends com.pulumi.resources.ResourceArgs { +public final class FastTcpAppPoolMemberArgs extends com.pulumi.resources.ResourceArgs { - public static final FastHttpAppFastCreatePoolMemberArgs Empty = new FastHttpAppFastCreatePoolMemberArgs(); + public static final FastTcpAppPoolMemberArgs Empty = new FastTcpAppPoolMemberArgs(); /** * List of server address to be used for FAST-Generated Pool. @@ -93,9 +93,9 @@ public Optional> shareNodes() { return Optional.ofNullable(this.shareNodes); } - private FastHttpAppFastCreatePoolMemberArgs() {} + private FastTcpAppPoolMemberArgs() {} - private FastHttpAppFastCreatePoolMemberArgs(FastHttpAppFastCreatePoolMemberArgs $) { + private FastTcpAppPoolMemberArgs(FastTcpAppPoolMemberArgs $) { this.addresses = $.addresses; this.connectionLimit = $.connectionLimit; this.port = $.port; @@ -106,19 +106,19 @@ private FastHttpAppFastCreatePoolMemberArgs(FastHttpAppFastCreatePoolMemberArgs public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpAppFastCreatePoolMemberArgs defaults) { + public static Builder builder(FastTcpAppPoolMemberArgs defaults) { return new Builder(defaults); } public static final class Builder { - private FastHttpAppFastCreatePoolMemberArgs $; + private FastTcpAppPoolMemberArgs $; public Builder() { - $ = new FastHttpAppFastCreatePoolMemberArgs(); + $ = new FastTcpAppPoolMemberArgs(); } - public Builder(FastHttpAppFastCreatePoolMemberArgs defaults) { - $ = new FastHttpAppFastCreatePoolMemberArgs(Objects.requireNonNull(defaults)); + public Builder(FastTcpAppPoolMemberArgs defaults) { + $ = new FastTcpAppPoolMemberArgs(Objects.requireNonNull(defaults)); } /** @@ -236,7 +236,7 @@ public Builder shareNodes(Boolean shareNodes) { return shareNodes(Output.of(shareNodes)); } - public FastHttpAppFastCreatePoolMemberArgs build() { + public FastTcpAppPoolMemberArgs build() { $.addresses = Objects.requireNonNull($.addresses, "expected parameter 'addresses' to be non-null"); return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppState.java index a8e5c892..7aa7471f 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppState.java @@ -5,8 +5,8 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.f5bigip.inputs.FastTcpAppFastCreateMonitorArgs; -import com.pulumi.f5bigip.inputs.FastTcpAppFastCreatePoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastTcpAppMonitorArgs; +import com.pulumi.f5bigip.inputs.FastTcpAppPoolMemberArgs; import com.pulumi.f5bigip.inputs.FastTcpAppVirtualServerArgs; import java.lang.Integer; import java.lang.String; @@ -36,33 +36,33 @@ public Optional> application() { } /** - * Name of an existing BIG-IP pool. + * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - @Import(name="existPoolName") - private @Nullable Output existPoolName; + @Import(name="existingMonitor") + private @Nullable Output existingMonitor; /** - * @return Name of an existing BIG-IP pool. + * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * */ - public Optional> existPoolName() { - return Optional.ofNullable(this.existPoolName); + public Optional> existingMonitor() { + return Optional.ofNullable(this.existingMonitor); } /** - * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * Name of an existing BIG-IP pool. * */ - @Import(name="existingMonitor") - private @Nullable Output existingMonitor; + @Import(name="existingPool") + private @Nullable Output existingPool; /** - * @return Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @return Name of an existing BIG-IP pool. * */ - public Optional> existingMonitor() { - return Optional.ofNullable(this.existingMonitor); + public Optional> existingPool() { + return Optional.ofNullable(this.existingPool); } /** @@ -81,97 +81,97 @@ public Optional> existingSnatPool() { } /** - * `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Json payload for FAST TCP application. * */ - @Import(name="fastCreateMonitor") - private @Nullable Output fastCreateMonitor; + @Import(name="fastTcpJson") + private @Nullable Output fastTcpJson; /** - * @return `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @return Json payload for FAST TCP application. * */ - public Optional> fastCreateMonitor() { - return Optional.ofNullable(this.fastCreateMonitor); + public Optional> fastTcpJson() { + return Optional.ofNullable(this.fastTcpJson); } /** - * `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * 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 * */ - @Import(name="fastCreatePoolMembers") - private @Nullable Output> fastCreatePoolMembers; + @Import(name="loadBalancingMode") + private @Nullable Output loadBalancingMode; /** - * @return `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @return 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 * */ - public Optional>> fastCreatePoolMembers() { - return Optional.ofNullable(this.fastCreatePoolMembers); + public Optional> loadBalancingMode() { + return Optional.ofNullable(this.loadBalancingMode); } /** - * List of address to be used for FAST-Generated SNAT Pool. + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * */ - @Import(name="fastCreateSnatPoolAddresses") - private @Nullable Output> fastCreateSnatPoolAddresses; + @Import(name="monitor") + private @Nullable Output monitor; /** - * @return List of address to be used for FAST-Generated SNAT Pool. + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * */ - public Optional>> fastCreateSnatPoolAddresses() { - return Optional.ofNullable(this.fastCreateSnatPoolAddresses); + public Optional> monitor() { + return Optional.ofNullable(this.monitor); } /** - * Json payload for FAST TCP application. + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * */ - @Import(name="fastTcpJson") - private @Nullable Output fastTcpJson; + @Import(name="poolMembers") + private @Nullable Output> poolMembers; /** - * @return Json payload for FAST TCP application. + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * */ - public Optional> fastTcpJson() { - return Optional.ofNullable(this.fastTcpJson); + public Optional>> poolMembers() { + return Optional.ofNullable(this.poolMembers); } /** - * 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 + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * */ - @Import(name="loadBalancingMode") - private @Nullable Output loadBalancingMode; + @Import(name="slowRampTime") + private @Nullable Output slowRampTime; /** - * @return 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 + * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * */ - public Optional> loadBalancingMode() { - return Optional.ofNullable(this.loadBalancingMode); + public Optional> slowRampTime() { + return Optional.ofNullable(this.slowRampTime); } /** - * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * List of address to be used for FAST-Generated SNAT Pool. * */ - @Import(name="slowRampTime") - private @Nullable Output slowRampTime; + @Import(name="snatPoolAddresses") + private @Nullable Output> snatPoolAddresses; /** - * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * @return List of address to be used for FAST-Generated SNAT Pool. * */ - public Optional> slowRampTime() { - return Optional.ofNullable(this.slowRampTime); + public Optional>> snatPoolAddresses() { + return Optional.ofNullable(this.snatPoolAddresses); } /** @@ -210,15 +210,15 @@ private FastTcpAppState() {} private FastTcpAppState(FastTcpAppState $) { this.application = $.application; - this.existPoolName = $.existPoolName; this.existingMonitor = $.existingMonitor; + this.existingPool = $.existingPool; this.existingSnatPool = $.existingSnatPool; - this.fastCreateMonitor = $.fastCreateMonitor; - this.fastCreatePoolMembers = $.fastCreatePoolMembers; - this.fastCreateSnatPoolAddresses = $.fastCreateSnatPoolAddresses; this.fastTcpJson = $.fastTcpJson; this.loadBalancingMode = $.loadBalancingMode; + this.monitor = $.monitor; + this.poolMembers = $.poolMembers; this.slowRampTime = $.slowRampTime; + this.snatPoolAddresses = $.snatPoolAddresses; this.tenant = $.tenant; this.virtualServer = $.virtualServer; } @@ -263,45 +263,45 @@ public Builder application(String application) { } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * * @return builder * */ - public Builder existPoolName(@Nullable Output existPoolName) { - $.existPoolName = existPoolName; + public Builder existingMonitor(@Nullable Output existingMonitor) { + $.existingMonitor = existingMonitor; return this; } /** - * @param existPoolName Name of an existing BIG-IP pool. + * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. * * @return builder * */ - public Builder existPoolName(String existPoolName) { - return existPoolName(Output.of(existPoolName)); + public Builder existingMonitor(String existingMonitor) { + return existingMonitor(Output.of(existingMonitor)); } /** - * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @param existingPool Name of an existing BIG-IP pool. * * @return builder * */ - public Builder existingMonitor(@Nullable Output existingMonitor) { - $.existingMonitor = existingMonitor; + public Builder existingPool(@Nullable Output existingPool) { + $.existingPool = existingPool; return this; } /** - * @param existingMonitor Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + * @param existingPool Name of an existing BIG-IP pool. * * @return builder * */ - public Builder existingMonitor(String existingMonitor) { - return existingMonitor(Output.of(existingMonitor)); + public Builder existingPool(String existingPool) { + return existingPool(Output.of(existingPool)); } /** @@ -326,154 +326,154 @@ public Builder existingSnatPool(String existingSnatPool) { } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param fastTcpJson Json payload for FAST TCP application. * * @return builder * */ - public Builder fastCreateMonitor(@Nullable Output fastCreateMonitor) { - $.fastCreateMonitor = fastCreateMonitor; + public Builder fastTcpJson(@Nullable Output fastTcpJson) { + $.fastTcpJson = fastTcpJson; return this; } /** - * @param fastCreateMonitor `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * @param fastTcpJson Json payload for FAST TCP application. * * @return builder * */ - public Builder fastCreateMonitor(FastTcpAppFastCreateMonitorArgs fastCreateMonitor) { - return fastCreateMonitor(Output.of(fastCreateMonitor)); + public Builder fastTcpJson(String fastTcpJson) { + return fastTcpJson(Output.of(fastTcpJson)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreatePoolMembers(@Nullable Output> fastCreatePoolMembers) { - $.fastCreatePoolMembers = fastCreatePoolMembers; + public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { + $.loadBalancingMode = loadBalancingMode; return this; } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param loadBalancingMode 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 * * @return builder * */ - public Builder fastCreatePoolMembers(List fastCreatePoolMembers) { - return fastCreatePoolMembers(Output.of(fastCreatePoolMembers)); + public Builder loadBalancingMode(String loadBalancingMode) { + return loadBalancingMode(Output.of(loadBalancingMode)); } /** - * @param fastCreatePoolMembers `fast_create_pool_members` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder fastCreatePoolMembers(FastTcpAppFastCreatePoolMemberArgs... fastCreatePoolMembers) { - return fastCreatePoolMembers(List.of(fastCreatePoolMembers)); + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; + return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(@Nullable Output> fastCreateSnatPoolAddresses) { - $.fastCreateSnatPoolAddresses = fastCreateSnatPoolAddresses; - return this; + public Builder monitor(FastTcpAppMonitorArgs monitor) { + return monitor(Output.of(monitor)); } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(List fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(Output.of(fastCreateSnatPoolAddresses)); + public Builder poolMembers(@Nullable Output> poolMembers) { + $.poolMembers = poolMembers; + return this; } /** - * @param fastCreateSnatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder fastCreateSnatPoolAddresses(String... fastCreateSnatPoolAddresses) { - return fastCreateSnatPoolAddresses(List.of(fastCreateSnatPoolAddresses)); + public Builder poolMembers(List poolMembers) { + return poolMembers(Output.of(poolMembers)); } /** - * @param fastTcpJson Json payload for FAST TCP application. + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. * * @return builder * */ - public Builder fastTcpJson(@Nullable Output fastTcpJson) { - $.fastTcpJson = fastTcpJson; - return this; + public Builder poolMembers(FastTcpAppPoolMemberArgs... poolMembers) { + return poolMembers(List.of(poolMembers)); } /** - * @param fastTcpJson Json payload for FAST TCP application. + * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * * @return builder * */ - public Builder fastTcpJson(String fastTcpJson) { - return fastTcpJson(Output.of(fastTcpJson)); + public Builder slowRampTime(@Nullable Output slowRampTime) { + $.slowRampTime = slowRampTime; + return this; } /** - * @param loadBalancingMode 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 + * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds * * @return builder * */ - public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { - $.loadBalancingMode = loadBalancingMode; - return this; + public Builder slowRampTime(Integer slowRampTime) { + return slowRampTime(Output.of(slowRampTime)); } /** - * @param loadBalancingMode 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 + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. * * @return builder * */ - public Builder loadBalancingMode(String loadBalancingMode) { - return loadBalancingMode(Output.of(loadBalancingMode)); + public Builder snatPoolAddresses(@Nullable Output> snatPoolAddresses) { + $.snatPoolAddresses = snatPoolAddresses; + return this; } /** - * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. * * @return builder * */ - public Builder slowRampTime(@Nullable Output slowRampTime) { - $.slowRampTime = slowRampTime; - return this; + public Builder snatPoolAddresses(List snatPoolAddresses) { + return snatPoolAddresses(Output.of(snatPoolAddresses)); } /** - * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. * * @return builder * */ - public Builder slowRampTime(Integer slowRampTime) { - return slowRampTime(Output.of(slowRampTime)); + public Builder snatPoolAddresses(String... snatPoolAddresses) { + return snatPoolAddresses(List.of(snatPoolAddresses)); } /** diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppVirtualServerArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppVirtualServerArgs.java index 3b90fbb5..36a6bf26 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppVirtualServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastTcpAppVirtualServerArgs.java @@ -30,14 +30,14 @@ public Output ip() { } /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application * */ @Import(name="port", required=true) private Output port; /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ public Output port() { @@ -91,7 +91,7 @@ public Builder ip(String ip) { } /** - * @param port -(Optional , `int`) Port number to used for accessing virtual server/application + * @param port Port number to used for accessing virtual server/application * * @return builder * @@ -102,7 +102,7 @@ public Builder port(Output port) { } /** - * @param port -(Optional , `int`) Port number to used for accessing virtual server/application + * @param port Port number to used for accessing virtual server/application * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppMonitorArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppMonitorArgs.java new file mode 100644 index 00000000..dfe4d930 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppMonitorArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FastUdpAppMonitorArgs extends com.pulumi.resources.ResourceArgs { + + public static final FastUdpAppMonitorArgs Empty = new FastUdpAppMonitorArgs(); + + /** + * The presence of this optional string is required in the response, if specified it confirms availability. + * + */ + @Import(name="expectedResponse") + private @Nullable Output expectedResponse; + + /** + * @return The presence of this optional string is required in the response, if specified it confirms availability. + * + */ + public Optional> expectedResponse() { + return Optional.ofNullable(this.expectedResponse); + } + + /** + * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + * + */ + @Import(name="interval") + private @Nullable Output interval; + + /** + * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + * + */ + public Optional> interval() { + return Optional.ofNullable(this.interval); + } + + /** + * Optional data to be sent during each health check. + * + */ + @Import(name="sendString") + private @Nullable Output sendString; + + /** + * @return Optional data to be sent during each health check. + * + */ + public Optional> sendString() { + return Optional.ofNullable(this.sendString); + } + + private FastUdpAppMonitorArgs() {} + + private FastUdpAppMonitorArgs(FastUdpAppMonitorArgs $) { + this.expectedResponse = $.expectedResponse; + this.interval = $.interval; + this.sendString = $.sendString; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FastUdpAppMonitorArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FastUdpAppMonitorArgs $; + + public Builder() { + $ = new FastUdpAppMonitorArgs(); + } + + public Builder(FastUdpAppMonitorArgs defaults) { + $ = new FastUdpAppMonitorArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param expectedResponse The presence of this optional string is required in the response, if specified it confirms availability. + * + * @return builder + * + */ + public Builder expectedResponse(@Nullable Output expectedResponse) { + $.expectedResponse = expectedResponse; + return this; + } + + /** + * @param expectedResponse The presence of this optional string is required in the response, if specified it confirms availability. + * + * @return builder + * + */ + public Builder expectedResponse(String expectedResponse) { + return expectedResponse(Output.of(expectedResponse)); + } + + /** + * @param interval Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + * + * @return builder + * + */ + public Builder interval(@Nullable Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + * + * @return builder + * + */ + public Builder interval(Integer interval) { + return interval(Output.of(interval)); + } + + /** + * @param sendString Optional data to be sent during each health check. + * + * @return builder + * + */ + public Builder sendString(@Nullable Output sendString) { + $.sendString = sendString; + return this; + } + + /** + * @param sendString Optional data to be sent during each health check. + * + * @return builder + * + */ + public Builder sendString(String sendString) { + return sendString(Output.of(sendString)); + } + + public FastUdpAppMonitorArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppPoolMemberArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppPoolMemberArgs.java new file mode 100644 index 00000000..fe245432 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppPoolMemberArgs.java @@ -0,0 +1,245 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FastUdpAppPoolMemberArgs extends com.pulumi.resources.ResourceArgs { + + public static final FastUdpAppPoolMemberArgs Empty = new FastUdpAppPoolMemberArgs(); + + /** + * List of server address to be used for FAST-Generated Pool. + * + */ + @Import(name="addresses", required=true) + private Output> addresses; + + /** + * @return List of server address to be used for FAST-Generated Pool. + * + */ + public Output> addresses() { + return this.addresses; + } + + /** + * connectionLimit value to be used for FAST-Generated Pool. + * + */ + @Import(name="connectionLimit") + private @Nullable Output connectionLimit; + + /** + * @return connectionLimit value to be used for FAST-Generated Pool. + * + */ + public Optional> connectionLimit() { + return Optional.ofNullable(this.connectionLimit); + } + + /** + * port number of serviceport to be used for FAST-Generated Pool. + * + */ + @Import(name="port") + private @Nullable Output port; + + /** + * @return port number of serviceport to be used for FAST-Generated Pool. + * + */ + public Optional> port() { + return Optional.ofNullable(this.port); + } + + /** + * priorityGroup value to be used for FAST-Generated Pool. + * + */ + @Import(name="priorityGroup") + private @Nullable Output priorityGroup; + + /** + * @return priorityGroup value to be used for FAST-Generated Pool. + * + */ + public Optional> priorityGroup() { + return Optional.ofNullable(this.priorityGroup); + } + + /** + * shareNodes value to be used for FAST-Generated Pool. + * + */ + @Import(name="shareNodes") + private @Nullable Output shareNodes; + + /** + * @return shareNodes value to be used for FAST-Generated Pool. + * + */ + public Optional> shareNodes() { + return Optional.ofNullable(this.shareNodes); + } + + private FastUdpAppPoolMemberArgs() {} + + private FastUdpAppPoolMemberArgs(FastUdpAppPoolMemberArgs $) { + this.addresses = $.addresses; + this.connectionLimit = $.connectionLimit; + this.port = $.port; + this.priorityGroup = $.priorityGroup; + this.shareNodes = $.shareNodes; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FastUdpAppPoolMemberArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FastUdpAppPoolMemberArgs $; + + public Builder() { + $ = new FastUdpAppPoolMemberArgs(); + } + + public Builder(FastUdpAppPoolMemberArgs defaults) { + $ = new FastUdpAppPoolMemberArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param addresses List of server address to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder addresses(Output> addresses) { + $.addresses = addresses; + return this; + } + + /** + * @param addresses List of server address to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder addresses(List addresses) { + return addresses(Output.of(addresses)); + } + + /** + * @param addresses List of server address to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder addresses(String... addresses) { + return addresses(List.of(addresses)); + } + + /** + * @param connectionLimit connectionLimit value to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder connectionLimit(@Nullable Output connectionLimit) { + $.connectionLimit = connectionLimit; + return this; + } + + /** + * @param connectionLimit connectionLimit value to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder connectionLimit(Integer connectionLimit) { + return connectionLimit(Output.of(connectionLimit)); + } + + /** + * @param port port number of serviceport to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + /** + * @param port port number of serviceport to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + /** + * @param priorityGroup priorityGroup value to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder priorityGroup(@Nullable Output priorityGroup) { + $.priorityGroup = priorityGroup; + return this; + } + + /** + * @param priorityGroup priorityGroup value to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder priorityGroup(Integer priorityGroup) { + return priorityGroup(Output.of(priorityGroup)); + } + + /** + * @param shareNodes shareNodes value to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder shareNodes(@Nullable Output shareNodes) { + $.shareNodes = shareNodes; + return this; + } + + /** + * @param shareNodes shareNodes value to be used for FAST-Generated Pool. + * + * @return builder + * + */ + public Builder shareNodes(Boolean shareNodes) { + return shareNodes(Output.of(shareNodes)); + } + + public FastUdpAppPoolMemberArgs build() { + $.addresses = Objects.requireNonNull($.addresses, "expected parameter 'addresses' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppState.java new file mode 100644 index 00000000..3bf8acee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppState.java @@ -0,0 +1,902 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.f5bigip.inputs.FastUdpAppMonitorArgs; +import com.pulumi.f5bigip.inputs.FastUdpAppPoolMemberArgs; +import com.pulumi.f5bigip.inputs.FastUdpAppVirtualServerArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FastUdpAppState extends com.pulumi.resources.ResourceArgs { + + public static final FastUdpAppState Empty = new FastUdpAppState(); + + /** + * Name of the FAST UDP application. + * + */ + @Import(name="application") + private @Nullable Output application; + + /** + * @return Name of the FAST UDP application. + * + */ + public Optional> application() { + return Optional.ofNullable(this.application); + } + + /** + * Enables use of FastL4 profiles. + * + */ + @Import(name="enableFastl4") + private @Nullable Output enableFastl4; + + /** + * @return Enables use of FastL4 profiles. + * + */ + public Optional> enableFastl4() { + return Optional.ofNullable(this.enableFastl4); + } + + /** + * Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + */ + @Import(name="existingMonitor") + private @Nullable Output existingMonitor; + + /** + * @return Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + */ + public Optional> existingMonitor() { + return Optional.ofNullable(this.existingMonitor); + } + + /** + * Name of an existing BIG-IP pool. + * + */ + @Import(name="existingPool") + private @Nullable Output existingPool; + + /** + * @return Name of an existing BIG-IP pool. + * + */ + public Optional> existingPool() { + return Optional.ofNullable(this.existingPool); + } + + /** + * Name of an existing BIG-IP FastL4 or UDP profile. + * + */ + @Import(name="existingProfile") + private @Nullable Output existingProfile; + + /** + * @return Name of an existing BIG-IP FastL4 or UDP profile. + * + */ + public Optional> existingProfile() { + return Optional.ofNullable(this.existingProfile); + } + + /** + * Name of an existing BIG-IP SNAT pool. + * + */ + @Import(name="existingSnatPool") + private @Nullable Output existingSnatPool; + + /** + * @return Name of an existing BIG-IP SNAT pool. + * + */ + public Optional> existingSnatPool() { + return Optional.ofNullable(this.existingSnatPool); + } + + /** + * Type of fallback persistence record to be created for each new client connection. + * + */ + @Import(name="fallbackPersistence") + private @Nullable Output fallbackPersistence; + + /** + * @return Type of fallback persistence record to be created for each new client connection. + * + */ + public Optional> fallbackPersistence() { + return Optional.ofNullable(this.fallbackPersistence); + } + + /** + * Json payload for FAST UDP application. + * + */ + @Import(name="fastUdpJson") + private @Nullable Output fastUdpJson; + + /** + * @return Json payload for FAST UDP application. + * + */ + public Optional> fastUdpJson() { + return Optional.ofNullable(this.fastUdpJson); + } + + /** + * Irules to attach to Virtual Server. + * + */ + @Import(name="irules") + private @Nullable Output> irules; + + /** + * @return Irules to attach to Virtual Server. + * + */ + public Optional>> irules() { + return Optional.ofNullable(this.irules); + } + + /** + * 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 + * + */ + @Import(name="loadBalancingMode") + private @Nullable Output loadBalancingMode; + + /** + * @return 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 + * + */ + public Optional> loadBalancingMode() { + return Optional.ofNullable(this.loadBalancingMode); + } + + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + @Import(name="monitor") + private @Nullable Output monitor; + + /** + * @return `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + */ + public Optional> monitor() { + return Optional.ofNullable(this.monitor); + } + + /** + * Name of an existing BIG-IP persistence profile to be used. + * + */ + @Import(name="persistenceProfile") + private @Nullable Output persistenceProfile; + + /** + * @return Name of an existing BIG-IP persistence profile to be used. + * + */ + public Optional> persistenceProfile() { + return Optional.ofNullable(this.persistenceProfile); + } + + /** + * Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + */ + @Import(name="persistenceType") + private @Nullable Output persistenceType; + + /** + * @return Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + */ + public Optional> persistenceType() { + return Optional.ofNullable(this.persistenceType); + } + + /** + * `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + @Import(name="poolMembers") + private @Nullable Output> poolMembers; + + /** + * @return `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + */ + public Optional>> poolMembers() { + return Optional.ofNullable(this.poolMembers); + } + + /** + * Existing security log profiles to enable. + * + */ + @Import(name="securityLogProfiles") + private @Nullable Output> securityLogProfiles; + + /** + * @return Existing security log profiles to enable. + * + */ + public Optional>> securityLogProfiles() { + return Optional.ofNullable(this.securityLogProfiles); + } + + /** + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + */ + @Import(name="slowRampTime") + private @Nullable Output slowRampTime; + + /** + * @return Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + */ + public Optional> slowRampTime() { + return Optional.ofNullable(this.slowRampTime); + } + + /** + * List of address to be used for FAST-Generated SNAT Pool. + * + */ + @Import(name="snatPoolAddresses") + private @Nullable Output> snatPoolAddresses; + + /** + * @return List of address to be used for FAST-Generated SNAT Pool. + * + */ + public Optional>> snatPoolAddresses() { + return Optional.ofNullable(this.snatPoolAddresses); + } + + /** + * Name of the FAST UDP application tenant. + * + */ + @Import(name="tenant") + private @Nullable Output tenant; + + /** + * @return Name of the FAST UDP application tenant. + * + */ + public Optional> tenant() { + return Optional.ofNullable(this.tenant); + } + + /** + * `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + */ + @Import(name="virtualServer") + private @Nullable Output virtualServer; + + /** + * @return `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + */ + public Optional> virtualServer() { + return Optional.ofNullable(this.virtualServer); + } + + /** + * Names of existing VLANs to allow. + * + */ + @Import(name="vlansAlloweds") + private @Nullable Output> vlansAlloweds; + + /** + * @return Names of existing VLANs to allow. + * + */ + public Optional>> vlansAlloweds() { + return Optional.ofNullable(this.vlansAlloweds); + } + + /** + * Names of existing VLANs to reject. + * + */ + @Import(name="vlansRejecteds") + private @Nullable Output> vlansRejecteds; + + /** + * @return Names of existing VLANs to reject. + * + */ + public Optional>> vlansRejecteds() { + return Optional.ofNullable(this.vlansRejecteds); + } + + private FastUdpAppState() {} + + private FastUdpAppState(FastUdpAppState $) { + this.application = $.application; + this.enableFastl4 = $.enableFastl4; + this.existingMonitor = $.existingMonitor; + this.existingPool = $.existingPool; + this.existingProfile = $.existingProfile; + this.existingSnatPool = $.existingSnatPool; + this.fallbackPersistence = $.fallbackPersistence; + this.fastUdpJson = $.fastUdpJson; + this.irules = $.irules; + this.loadBalancingMode = $.loadBalancingMode; + this.monitor = $.monitor; + this.persistenceProfile = $.persistenceProfile; + this.persistenceType = $.persistenceType; + this.poolMembers = $.poolMembers; + this.securityLogProfiles = $.securityLogProfiles; + this.slowRampTime = $.slowRampTime; + this.snatPoolAddresses = $.snatPoolAddresses; + this.tenant = $.tenant; + this.virtualServer = $.virtualServer; + this.vlansAlloweds = $.vlansAlloweds; + this.vlansRejecteds = $.vlansRejecteds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FastUdpAppState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FastUdpAppState $; + + public Builder() { + $ = new FastUdpAppState(); + } + + public Builder(FastUdpAppState defaults) { + $ = new FastUdpAppState(Objects.requireNonNull(defaults)); + } + + /** + * @param application Name of the FAST UDP application. + * + * @return builder + * + */ + public Builder application(@Nullable Output application) { + $.application = application; + return this; + } + + /** + * @param application Name of the FAST UDP application. + * + * @return builder + * + */ + public Builder application(String application) { + return application(Output.of(application)); + } + + /** + * @param enableFastl4 Enables use of FastL4 profiles. + * + * @return builder + * + */ + public Builder enableFastl4(@Nullable Output enableFastl4) { + $.enableFastl4 = enableFastl4; + return this; + } + + /** + * @param enableFastl4 Enables use of FastL4 profiles. + * + * @return builder + * + */ + public Builder enableFastl4(Boolean enableFastl4) { + return enableFastl4(Output.of(enableFastl4)); + } + + /** + * @param existingMonitor Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + * @return builder + * + */ + public Builder existingMonitor(@Nullable Output existingMonitor) { + $.existingMonitor = existingMonitor; + return this; + } + + /** + * @param existingMonitor Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + * + * @return builder + * + */ + public Builder existingMonitor(String existingMonitor) { + return existingMonitor(Output.of(existingMonitor)); + } + + /** + * @param existingPool Name of an existing BIG-IP pool. + * + * @return builder + * + */ + public Builder existingPool(@Nullable Output existingPool) { + $.existingPool = existingPool; + return this; + } + + /** + * @param existingPool Name of an existing BIG-IP pool. + * + * @return builder + * + */ + public Builder existingPool(String existingPool) { + return existingPool(Output.of(existingPool)); + } + + /** + * @param existingProfile Name of an existing BIG-IP FastL4 or UDP profile. + * + * @return builder + * + */ + public Builder existingProfile(@Nullable Output existingProfile) { + $.existingProfile = existingProfile; + return this; + } + + /** + * @param existingProfile Name of an existing BIG-IP FastL4 or UDP profile. + * + * @return builder + * + */ + public Builder existingProfile(String existingProfile) { + return existingProfile(Output.of(existingProfile)); + } + + /** + * @param existingSnatPool Name of an existing BIG-IP SNAT pool. + * + * @return builder + * + */ + public Builder existingSnatPool(@Nullable Output existingSnatPool) { + $.existingSnatPool = existingSnatPool; + return this; + } + + /** + * @param existingSnatPool Name of an existing BIG-IP SNAT pool. + * + * @return builder + * + */ + public Builder existingSnatPool(String existingSnatPool) { + return existingSnatPool(Output.of(existingSnatPool)); + } + + /** + * @param fallbackPersistence Type of fallback persistence record to be created for each new client connection. + * + * @return builder + * + */ + public Builder fallbackPersistence(@Nullable Output fallbackPersistence) { + $.fallbackPersistence = fallbackPersistence; + return this; + } + + /** + * @param fallbackPersistence Type of fallback persistence record to be created for each new client connection. + * + * @return builder + * + */ + public Builder fallbackPersistence(String fallbackPersistence) { + return fallbackPersistence(Output.of(fallbackPersistence)); + } + + /** + * @param fastUdpJson Json payload for FAST UDP application. + * + * @return builder + * + */ + public Builder fastUdpJson(@Nullable Output fastUdpJson) { + $.fastUdpJson = fastUdpJson; + return this; + } + + /** + * @param fastUdpJson Json payload for FAST UDP application. + * + * @return builder + * + */ + public Builder fastUdpJson(String fastUdpJson) { + return fastUdpJson(Output.of(fastUdpJson)); + } + + /** + * @param irules Irules to attach to Virtual Server. + * + * @return builder + * + */ + public Builder irules(@Nullable Output> irules) { + $.irules = irules; + return this; + } + + /** + * @param irules Irules to attach to Virtual Server. + * + * @return builder + * + */ + public Builder irules(List irules) { + return irules(Output.of(irules)); + } + + /** + * @param irules Irules to attach to Virtual Server. + * + * @return builder + * + */ + public Builder irules(String... irules) { + return irules(List.of(irules)); + } + + /** + * @param loadBalancingMode 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 + * + * @return builder + * + */ + public Builder loadBalancingMode(@Nullable Output loadBalancingMode) { + $.loadBalancingMode = loadBalancingMode; + return this; + } + + /** + * @param loadBalancingMode 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 + * + * @return builder + * + */ + public Builder loadBalancingMode(String loadBalancingMode) { + return loadBalancingMode(Output.of(loadBalancingMode)); + } + + /** + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + * @return builder + * + */ + public Builder monitor(@Nullable Output monitor) { + $.monitor = monitor; + return this; + } + + /** + * @param monitor `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + * + * @return builder + * + */ + public Builder monitor(FastUdpAppMonitorArgs monitor) { + return monitor(Output.of(monitor)); + } + + /** + * @param persistenceProfile Name of an existing BIG-IP persistence profile to be used. + * + * @return builder + * + */ + public Builder persistenceProfile(@Nullable Output persistenceProfile) { + $.persistenceProfile = persistenceProfile; + return this; + } + + /** + * @param persistenceProfile Name of an existing BIG-IP persistence profile to be used. + * + * @return builder + * + */ + public Builder persistenceProfile(String persistenceProfile) { + return persistenceProfile(Output.of(persistenceProfile)); + } + + /** + * @param persistenceType Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + * @return builder + * + */ + public Builder persistenceType(@Nullable Output persistenceType) { + $.persistenceType = persistenceType; + return this; + } + + /** + * @param persistenceType Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + * + * @return builder + * + */ + public Builder persistenceType(String persistenceType) { + return persistenceType(Output.of(persistenceType)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(@Nullable Output> poolMembers) { + $.poolMembers = poolMembers; + return this; + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(List poolMembers) { + return poolMembers(Output.of(poolMembers)); + } + + /** + * @param poolMembers `pool_members` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + * + * @return builder + * + */ + public Builder poolMembers(FastUdpAppPoolMemberArgs... poolMembers) { + return poolMembers(List.of(poolMembers)); + } + + /** + * @param securityLogProfiles Existing security log profiles to enable. + * + * @return builder + * + */ + public Builder securityLogProfiles(@Nullable Output> securityLogProfiles) { + $.securityLogProfiles = securityLogProfiles; + return this; + } + + /** + * @param securityLogProfiles Existing security log profiles to enable. + * + * @return builder + * + */ + public Builder securityLogProfiles(List securityLogProfiles) { + return securityLogProfiles(Output.of(securityLogProfiles)); + } + + /** + * @param securityLogProfiles Existing security log profiles to enable. + * + * @return builder + * + */ + public Builder securityLogProfiles(String... securityLogProfiles) { + return securityLogProfiles(List.of(securityLogProfiles)); + } + + /** + * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + * @return builder + * + */ + public Builder slowRampTime(@Nullable Output slowRampTime) { + $.slowRampTime = slowRampTime; + return this; + } + + /** + * @param slowRampTime Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + * + * @return builder + * + */ + public Builder slowRampTime(Integer slowRampTime) { + return slowRampTime(Output.of(slowRampTime)); + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(@Nullable Output> snatPoolAddresses) { + $.snatPoolAddresses = snatPoolAddresses; + return this; + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(List snatPoolAddresses) { + return snatPoolAddresses(Output.of(snatPoolAddresses)); + } + + /** + * @param snatPoolAddresses List of address to be used for FAST-Generated SNAT Pool. + * + * @return builder + * + */ + public Builder snatPoolAddresses(String... snatPoolAddresses) { + return snatPoolAddresses(List.of(snatPoolAddresses)); + } + + /** + * @param tenant Name of the FAST UDP application tenant. + * + * @return builder + * + */ + public Builder tenant(@Nullable Output tenant) { + $.tenant = tenant; + return this; + } + + /** + * @param tenant Name of the FAST UDP application tenant. + * + * @return builder + * + */ + public Builder tenant(String tenant) { + return tenant(Output.of(tenant)); + } + + /** + * @param virtualServer `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + * @return builder + * + */ + public Builder virtualServer(@Nullable Output virtualServer) { + $.virtualServer = virtualServer; + return this; + } + + /** + * @param virtualServer `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + * + * @return builder + * + */ + public Builder virtualServer(FastUdpAppVirtualServerArgs virtualServer) { + return virtualServer(Output.of(virtualServer)); + } + + /** + * @param vlansAlloweds Names of existing VLANs to allow. + * + * @return builder + * + */ + public Builder vlansAlloweds(@Nullable Output> vlansAlloweds) { + $.vlansAlloweds = vlansAlloweds; + return this; + } + + /** + * @param vlansAlloweds Names of existing VLANs to allow. + * + * @return builder + * + */ + public Builder vlansAlloweds(List vlansAlloweds) { + return vlansAlloweds(Output.of(vlansAlloweds)); + } + + /** + * @param vlansAlloweds Names of existing VLANs to allow. + * + * @return builder + * + */ + public Builder vlansAlloweds(String... vlansAlloweds) { + return vlansAlloweds(List.of(vlansAlloweds)); + } + + /** + * @param vlansRejecteds Names of existing VLANs to reject. + * + * @return builder + * + */ + public Builder vlansRejecteds(@Nullable Output> vlansRejecteds) { + $.vlansRejecteds = vlansRejecteds; + return this; + } + + /** + * @param vlansRejecteds Names of existing VLANs to reject. + * + * @return builder + * + */ + public Builder vlansRejecteds(List vlansRejecteds) { + return vlansRejecteds(Output.of(vlansRejecteds)); + } + + /** + * @param vlansRejecteds Names of existing VLANs to reject. + * + * @return builder + * + */ + public Builder vlansRejecteds(String... vlansRejecteds) { + return vlansRejecteds(List.of(vlansRejecteds)); + } + + public FastUdpAppState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppVirtualServerArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppVirtualServerArgs.java new file mode 100644 index 00000000..1f2370de --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/inputs/FastUdpAppVirtualServerArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class FastUdpAppVirtualServerArgs extends com.pulumi.resources.ResourceArgs { + + public static final FastUdpAppVirtualServerArgs Empty = new FastUdpAppVirtualServerArgs(); + + /** + * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + * + */ + @Import(name="ip", required=true) + private Output ip; + + /** + * @return IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + * + */ + public Output ip() { + return this.ip; + } + + /** + * Port number to used for accessing virtual server/application + * + */ + @Import(name="port", required=true) + private Output port; + + /** + * @return Port number to used for accessing virtual server/application + * + */ + public Output port() { + return this.port; + } + + private FastUdpAppVirtualServerArgs() {} + + private FastUdpAppVirtualServerArgs(FastUdpAppVirtualServerArgs $) { + this.ip = $.ip; + this.port = $.port; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FastUdpAppVirtualServerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FastUdpAppVirtualServerArgs $; + + public Builder() { + $ = new FastUdpAppVirtualServerArgs(); + } + + public Builder(FastUdpAppVirtualServerArgs defaults) { + $ = new FastUdpAppVirtualServerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param ip IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + * + * @return builder + * + */ + public Builder ip(Output ip) { + $.ip = ip; + return this; + } + + /** + * @param ip IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + * + * @return builder + * + */ + public Builder ip(String ip) { + return ip(Output.of(ip)); + } + + /** + * @param port Port number to used for accessing virtual server/application + * + * @return builder + * + */ + public Builder port(Output port) { + $.port = port; + return this; + } + + /** + * @param port Port number to used for accessing virtual server/application + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + public FastUdpAppVirtualServerArgs build() { + $.ip = Objects.requireNonNull($.ip, "expected parameter 'ip' to be non-null"); + $.port = Objects.requireNonNull($.port, "expected parameter 'port' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Monitor.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Monitor.java index fd7ca426..1a57d681 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Monitor.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Monitor.java @@ -12,6 +12,7 @@ import com.pulumi.f5bigip.ltm.inputs.MonitorState; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Optional; import javax.annotation.Nullable; @@ -449,6 +450,9 @@ private Monitor(String name, Output id, @Nullable MonitorState state, @N private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "password" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Policy.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Policy.java index feccc3b0..a3d6b5eb 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Policy.java @@ -93,14 +93,14 @@ public Output>> controls() { return Codegen.optional(this.controls); } /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. * */ @Export(name="name", type=String.class, parameters={}) private Output name; /** - * @return Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @return Name of Rule to be applied in policy. * */ public Output name() { @@ -135,14 +135,14 @@ public Output>> requires() { return Codegen.optional(this.requires); } /** - * Rules can be applied using the policy + * List of Rules can be applied using the policy. Each rule is block type with following arguments. * */ @Export(name="rules", type=List.class, parameters={PolicyRule.class}) private Output> rules; /** - * @return Rules can be applied using the policy + * @return List of Rules can be applied using the policy. Each rule is block type with following arguments. * */ public Output>> rules() { diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/PolicyArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/PolicyArgs.java index d6cd1ac4..6241d9d0 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/PolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/PolicyArgs.java @@ -33,14 +33,14 @@ public Optional>> controls() { } /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. * */ @Import(name="name", required=true) private Output name; /** - * @return Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @return Name of Rule to be applied in policy. * */ public Output name() { @@ -78,14 +78,14 @@ public Optional>> requires() { } /** - * Rules can be applied using the policy + * List of Rules can be applied using the policy. Each rule is block type with following arguments. * */ @Import(name="rules") private @Nullable Output> rules; /** - * @return Rules can be applied using the policy + * @return List of Rules can be applied using the policy. Each rule is block type with following arguments. * */ public Optional>> rules() { @@ -168,7 +168,7 @@ public Builder controls(String... controls) { } /** - * @param name Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @param name Name of Rule to be applied in policy. * * @return builder * @@ -179,7 +179,7 @@ public Builder name(Output name) { } /** - * @param name Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @param name Name of Rule to be applied in policy. * * @return builder * @@ -241,7 +241,7 @@ public Builder requires(String... requires) { } /** - * @param rules Rules can be applied using the policy + * @param rules List of Rules can be applied using the policy. Each rule is block type with following arguments. * * @return builder * @@ -252,7 +252,7 @@ public Builder rules(@Nullable Output> rules) { } /** - * @param rules Rules can be applied using the policy + * @param rules List of Rules can be applied using the policy. Each rule is block type with following arguments. * * @return builder * @@ -262,7 +262,7 @@ public Builder rules(List rules) { } /** - * @param rules Rules can be applied using the policy + * @param rules List of Rules can be applied using the policy. Each rule is block type with following arguments. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileClientSsl.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileClientSsl.java index 212f3ca4..f6f4e697 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileClientSsl.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileClientSsl.java @@ -205,14 +205,14 @@ public Output cacheTimeout() { * */ @Export(name="cert", type=String.class, parameters={}) - private Output cert; + private Output cert; /** * @return Specifies a cert name for use. * */ - public Output cert() { - return this.cert; + public Output> cert() { + return Codegen.optional(this.cert); } /** * Cert extension includes for ssl forward proxy @@ -228,11 +228,17 @@ public Output cert() { public Output> certExtensionIncludes() { return this.certExtensionIncludes; } - @Export(name="certKeyChains", type=List.class, parameters={ProfileClientSslCertKeyChain.class}) - private Output> certKeyChains; + /** + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + @Export(name="certKeyChain", type=ProfileClientSslCertKeyChain.class, parameters={}) + private Output certKeyChain; - public Output> certKeyChains() { - return this.certKeyChains; + public Output> certKeyChain() { + return Codegen.optional(this.certKeyChain); } /** * Life span of the certificate in days for ssl forward proxy @@ -267,14 +273,28 @@ public Output certLookupByIpaddrPort() { * */ @Export(name="chain", type=String.class, parameters={}) - private Output chain; + private Output chain; /** * @return Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional * */ - public Output chain() { - return this.chain; + public Output> chain() { + return Codegen.optional(this.chain); + } + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + @Export(name="cipherGroup", type=String.class, parameters={}) + private Output cipherGroup; + + /** + * @return Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + public Output> cipherGroup() { + return Codegen.optional(this.cipherGroup); } /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. @@ -421,14 +441,14 @@ public Output inheritCertKeychain() { * */ @Export(name="key", type=String.class, parameters={}) - private Output key; + private Output key; /** * @return Contains a key name * */ - public Output key() { - return this.key; + public Output> key() { + return Codegen.optional(this.key); } /** * ModSSL Methods enabled / disabled. Default is disabled. @@ -865,6 +885,9 @@ private ProfileClientSsl(String name, Output id, @Nullable ProfileClient private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "passphrase" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileClientSslArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileClientSslArgs.java index a947f499..3b7afff0 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileClientSslArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileClientSslArgs.java @@ -200,11 +200,23 @@ public Optional>> certExtensionIncludes() { return Optional.ofNullable(this.certExtensionIncludes); } - @Import(name="certKeyChains") - private @Nullable Output> certKeyChains; + /** + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + @Import(name="certKeyChain") + private @Nullable Output certKeyChain; - public Optional>> certKeyChains() { - return Optional.ofNullable(this.certKeyChains); + /** + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + public Optional> certKeyChain() { + return Optional.ofNullable(this.certKeyChain); } /** @@ -252,6 +264,21 @@ public Optional> chain() { return Optional.ofNullable(this.chain); } + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + @Import(name="cipherGroup") + private @Nullable Output cipherGroup; + + /** + * @return Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + public Optional> cipherGroup() { + return Optional.ofNullable(this.cipherGroup); + } + /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. * @@ -862,10 +889,11 @@ private ProfileClientSslArgs(ProfileClientSslArgs $) { this.cacheTimeout = $.cacheTimeout; this.cert = $.cert; this.certExtensionIncludes = $.certExtensionIncludes; - this.certKeyChains = $.certKeyChains; + this.certKeyChain = $.certKeyChain; this.certLifeSpan = $.certLifeSpan; this.certLookupByIpaddrPort = $.certLookupByIpaddrPort; this.chain = $.chain; + this.cipherGroup = $.cipherGroup; this.ciphers = $.ciphers; this.clientCertCa = $.clientCertCa; this.crlFile = $.crlFile; @@ -1189,17 +1217,29 @@ public Builder certExtensionIncludes(String... certExtensionIncludes) { return certExtensionIncludes(List.of(certExtensionIncludes)); } - public Builder certKeyChains(@Nullable Output> certKeyChains) { - $.certKeyChains = certKeyChains; + /** + * @return builder + * + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + public Builder certKeyChain(@Nullable Output certKeyChain) { + $.certKeyChain = certKeyChain; return this; } - public Builder certKeyChains(List certKeyChains) { - return certKeyChains(Output.of(certKeyChains)); - } - - public Builder certKeyChains(ProfileClientSslCertKeyChainArgs... certKeyChains) { - return certKeyChains(List.of(certKeyChains)); + /** + * @return builder + * + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + public Builder certKeyChain(ProfileClientSslCertKeyChainArgs certKeyChain) { + return certKeyChain(Output.of(certKeyChain)); } /** @@ -1265,6 +1305,27 @@ public Builder chain(String chain) { return chain(Output.of(chain)); } + /** + * @param cipherGroup Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + * @return builder + * + */ + public Builder cipherGroup(@Nullable Output cipherGroup) { + $.cipherGroup = cipherGroup; + return this; + } + + /** + * @param cipherGroup Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + * @return builder + * + */ + public Builder cipherGroup(String cipherGroup) { + return cipherGroup(Output.of(cipherGroup)); + } + /** * @param ciphers Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileFastL4.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileFastL4.java index cb6f5ddc..7e0537cb 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileFastL4.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileFastL4.java @@ -15,9 +15,9 @@ import javax.annotation.Nullable; /** - * `f5bigip.ltm.ProfileFastL4` Configures a custom profile_fastl4 for use by health checks. + * `f5bigip.ltm.ProfileFastL4` Configures a custom LTM fastL4 profile for use by health checks. * - * For 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. + * 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-fastl4profile`) or `partition + directory + name` of the resource (example: `/Common/test/my-fastl4profile`) * * ## Example Usage * ```java @@ -181,33 +181,103 @@ public Output keepaliveInterval() { return this.keepaliveInterval; } /** - * Name of the profile_fastl4 + * Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + */ + @Export(name="lateBinding", type=String.class, parameters={}) + private Output lateBinding; + + /** + * @return Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + */ + public Output lateBinding() { + return this.lateBinding; + } + /** + * 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. + * + */ + @Export(name="looseClose", type=String.class, parameters={}) + private Output looseClose; + + /** + * @return 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. + * + */ + public Output looseClose() { + return this.looseClose; + } + /** + * 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. + * + */ + @Export(name="looseInitiation", type=String.class, parameters={}) + private Output looseInitiation; + + /** + * @return 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. + * + */ + public Output looseInitiation() { + return this.looseInitiation; + } + /** + * 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`) * */ @Export(name="name", type=String.class, parameters={}) private Output name; /** - * @return Name of the profile_fastl4 + * @return 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`) * */ public Output name() { return this.name; } /** - * Displays the administrative partition within which this profile resides + * name of partition * */ @Export(name="partition", type=String.class, parameters={}) private Output partition; /** - * @return Displays the administrative partition within which this profile resides + * @return name of partition * */ public Output partition() { return this.partition; } + /** + * Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + */ + @Export(name="receiveWindowsize", type=Integer.class, parameters={}) + private Output receiveWindowsize; + + /** + * @return Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + */ + public Output receiveWindowsize() { + return this.receiveWindowsize; + } + /** + * 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`. + * + */ + @Export(name="tcpHandshakeTimeout", type=String.class, parameters={}) + private Output tcpHandshakeTimeout; + + /** + * @return 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`. + * + */ + public Output tcpHandshakeTimeout() { + return this.tcpHandshakeTimeout; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileFastL4Args.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileFastL4Args.java index 014c3e19..e711eb46 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileFastL4Args.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileFastL4Args.java @@ -137,14 +137,59 @@ public Optional> keepaliveInterval() { } /** - * Name of the profile_fastl4 + * Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + */ + @Import(name="lateBinding") + private @Nullable Output lateBinding; + + /** + * @return Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + */ + public Optional> lateBinding() { + return Optional.ofNullable(this.lateBinding); + } + + /** + * 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. + * + */ + @Import(name="looseClose") + private @Nullable Output looseClose; + + /** + * @return 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. + * + */ + public Optional> looseClose() { + return Optional.ofNullable(this.looseClose); + } + + /** + * 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. + * + */ + @Import(name="looseInitiation") + private @Nullable Output looseInitiation; + + /** + * @return 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. + * + */ + public Optional> looseInitiation() { + return Optional.ofNullable(this.looseInitiation); + } + + /** + * 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`) * */ @Import(name="name", required=true) private Output name; /** - * @return Name of the profile_fastl4 + * @return 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`) * */ public Output name() { @@ -152,20 +197,50 @@ public Output name() { } /** - * Displays the administrative partition within which this profile resides + * name of partition * */ @Import(name="partition") private @Nullable Output partition; /** - * @return Displays the administrative partition within which this profile resides + * @return name of partition * */ public Optional> partition() { return Optional.ofNullable(this.partition); } + /** + * Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + */ + @Import(name="receiveWindowsize") + private @Nullable Output receiveWindowsize; + + /** + * @return Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + */ + public Optional> receiveWindowsize() { + return Optional.ofNullable(this.receiveWindowsize); + } + + /** + * 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`. + * + */ + @Import(name="tcpHandshakeTimeout") + private @Nullable Output tcpHandshakeTimeout; + + /** + * @return 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`. + * + */ + public Optional> tcpHandshakeTimeout() { + return Optional.ofNullable(this.tcpHandshakeTimeout); + } + private ProfileFastL4Args() {} private ProfileFastL4Args(ProfileFastL4Args $) { @@ -177,8 +252,13 @@ private ProfileFastL4Args(ProfileFastL4Args $) { this.iptosToclient = $.iptosToclient; this.iptosToserver = $.iptosToserver; this.keepaliveInterval = $.keepaliveInterval; + this.lateBinding = $.lateBinding; + this.looseClose = $.looseClose; + this.looseInitiation = $.looseInitiation; this.name = $.name; this.partition = $.partition; + this.receiveWindowsize = $.receiveWindowsize; + this.tcpHandshakeTimeout = $.tcpHandshakeTimeout; } public static Builder builder() { @@ -368,7 +448,70 @@ public Builder keepaliveInterval(String keepaliveInterval) { } /** - * @param name Name of the profile_fastl4 + * @param lateBinding Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + * @return builder + * + */ + public Builder lateBinding(@Nullable Output lateBinding) { + $.lateBinding = lateBinding; + return this; + } + + /** + * @param lateBinding Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + * @return builder + * + */ + public Builder lateBinding(String lateBinding) { + return lateBinding(Output.of(lateBinding)); + } + + /** + * @param looseClose 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. + * + * @return builder + * + */ + public Builder looseClose(@Nullable Output looseClose) { + $.looseClose = looseClose; + return this; + } + + /** + * @param looseClose 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. + * + * @return builder + * + */ + public Builder looseClose(String looseClose) { + return looseClose(Output.of(looseClose)); + } + + /** + * @param looseInitiation 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. + * + * @return builder + * + */ + public Builder looseInitiation(@Nullable Output looseInitiation) { + $.looseInitiation = looseInitiation; + return this; + } + + /** + * @param looseInitiation 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. + * + * @return builder + * + */ + public Builder looseInitiation(String looseInitiation) { + return looseInitiation(Output.of(looseInitiation)); + } + + /** + * @param name 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`) * * @return builder * @@ -379,7 +522,7 @@ public Builder name(Output name) { } /** - * @param name Name of the profile_fastl4 + * @param name 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`) * * @return builder * @@ -389,7 +532,7 @@ public Builder name(String name) { } /** - * @param partition Displays the administrative partition within which this profile resides + * @param partition name of partition * * @return builder * @@ -400,7 +543,7 @@ public Builder partition(@Nullable Output partition) { } /** - * @param partition Displays the administrative partition within which this profile resides + * @param partition name of partition * * @return builder * @@ -409,6 +552,48 @@ public Builder partition(String partition) { return partition(Output.of(partition)); } + /** + * @param receiveWindowsize Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + * @return builder + * + */ + public Builder receiveWindowsize(@Nullable Output receiveWindowsize) { + $.receiveWindowsize = receiveWindowsize; + return this; + } + + /** + * @param receiveWindowsize Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + * @return builder + * + */ + public Builder receiveWindowsize(Integer receiveWindowsize) { + return receiveWindowsize(Output.of(receiveWindowsize)); + } + + /** + * @param tcpHandshakeTimeout 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`. + * + * @return builder + * + */ + public Builder tcpHandshakeTimeout(@Nullable Output tcpHandshakeTimeout) { + $.tcpHandshakeTimeout = tcpHandshakeTimeout; + return this; + } + + /** + * @param tcpHandshakeTimeout 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`. + * + * @return builder + * + */ + public Builder tcpHandshakeTimeout(String tcpHandshakeTimeout) { + return tcpHandshakeTimeout(Output.of(tcpHandshakeTimeout)); + } + public ProfileFastL4Args build() { $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttpCompress.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttpCompress.java index 13891097..57f348d9 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttpCompress.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttpCompress.java @@ -10,6 +10,7 @@ import com.pulumi.f5bigip.Utilities; import com.pulumi.f5bigip.ltm.ProfileHttpCompressArgs; import com.pulumi.f5bigip.ltm.inputs.ProfileHttpCompressState; +import java.lang.Integer; import java.lang.String; import java.util.List; import javax.annotation.Nullable; @@ -17,7 +18,7 @@ /** * `f5bigip.ltm.ProfileHttpCompress` Virtual server HTTP compression profile configuration * - * Resources 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 ) + * Resources 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`) * * ## Example Usage * ```java @@ -56,9 +57,31 @@ * } * ``` * + * ## Import + * + * BIG-IP LTM HTTP Compress profiles can be imported using the `name`, e.g. + * + * ```sh + * $ pulumi import f5bigip:ltm/profileHttpCompress:ProfileHttpCompress test-httpcomprs_import /Common/test-httpcomprs + * ``` + * */ @ResourceType(type="f5bigip:ltm/profileHttpCompress:ProfileHttpCompress") public class ProfileHttpCompress extends com.pulumi.resources.CustomResource { + /** + * 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 `4096` bytes. + * + */ + @Export(name="compressionBuffersize", type=Integer.class, parameters={}) + private Output compressionBuffersize; + + /** + * @return 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 `4096` bytes. + * + */ + public Output compressionBuffersize() { + return this.compressionBuffersize; + } /** * 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. * @@ -87,6 +110,20 @@ public Output> contentTypeExcludes() { public Output> contentTypeIncludes() { return this.contentTypeIncludes; } + /** + * 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 `enabled`. + * + */ + @Export(name="cpuSaver", type=String.class, parameters={}) + private Output cpuSaver; + + /** + * @return 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 `enabled`. + * + */ + public Output cpuSaver() { + return this.cpuSaver; + } /** * 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. * @@ -102,14 +139,70 @@ public Output defaultsFrom() { return this.defaultsFrom; } /** - * Name of the profile_httpcompress + * 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) + * + */ + @Export(name="gzipCompressionLevel", type=Integer.class, parameters={}) + private Output gzipCompressionLevel; + + /** + * @return 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) + * + */ + public Output gzipCompressionLevel() { + return this.gzipCompressionLevel; + } + /** + * 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`. + * + */ + @Export(name="gzipMemoryLevel", type=Integer.class, parameters={}) + private Output gzipMemoryLevel; + + /** + * @return 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`. + * + */ + public Output gzipMemoryLevel() { + return this.gzipMemoryLevel; + } + /** + * Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + */ + @Export(name="gzipWindowSize", type=Integer.class, parameters={}) + private Output gzipWindowSize; + + /** + * @return Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + */ + public Output gzipWindowSize() { + return this.gzipWindowSize; + } + /** + * Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + */ + @Export(name="keepAcceptEncoding", type=String.class, parameters={}) + private Output keepAcceptEncoding; + + /** + * @return Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + */ + public Output keepAcceptEncoding() { + return this.keepAcceptEncoding; + } + /** + * 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`) * */ @Export(name="name", type=String.class, parameters={}) private Output name; /** - * @return Name of the profile_httpcompress + * @return 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`) * */ public Output name() { @@ -143,6 +236,20 @@ public Output> uriExcludes() { public Output> uriIncludes() { return this.uriIncludes; } + /** + * Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + */ + @Export(name="varyHeader", type=String.class, parameters={}) + private Output varyHeader; + + /** + * @return Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + */ + public Output varyHeader() { + return this.varyHeader; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttpCompressArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttpCompressArgs.java index 774b9820..70faa61d 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttpCompressArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileHttpCompressArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -16,6 +17,21 @@ public final class ProfileHttpCompressArgs extends com.pulumi.resources.Resource public static final ProfileHttpCompressArgs Empty = new ProfileHttpCompressArgs(); + /** + * 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 `4096` bytes. + * + */ + @Import(name="compressionBuffersize") + private @Nullable Output compressionBuffersize; + + /** + * @return 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 `4096` bytes. + * + */ + public Optional> compressionBuffersize() { + return Optional.ofNullable(this.compressionBuffersize); + } + /** * 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. * @@ -46,6 +62,21 @@ public Optional>> contentTypeIncludes() { return Optional.ofNullable(this.contentTypeIncludes); } + /** + * 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 `enabled`. + * + */ + @Import(name="cpuSaver") + private @Nullable Output cpuSaver; + + /** + * @return 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 `enabled`. + * + */ + public Optional> cpuSaver() { + return Optional.ofNullable(this.cpuSaver); + } + /** * 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. * @@ -62,14 +93,74 @@ public Optional> defaultsFrom() { } /** - * Name of the profile_httpcompress + * 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) + * + */ + @Import(name="gzipCompressionLevel") + private @Nullable Output gzipCompressionLevel; + + /** + * @return 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) + * + */ + public Optional> gzipCompressionLevel() { + return Optional.ofNullable(this.gzipCompressionLevel); + } + + /** + * 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`. + * + */ + @Import(name="gzipMemoryLevel") + private @Nullable Output gzipMemoryLevel; + + /** + * @return 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`. + * + */ + public Optional> gzipMemoryLevel() { + return Optional.ofNullable(this.gzipMemoryLevel); + } + + /** + * Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + */ + @Import(name="gzipWindowSize") + private @Nullable Output gzipWindowSize; + + /** + * @return Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + */ + public Optional> gzipWindowSize() { + return Optional.ofNullable(this.gzipWindowSize); + } + + /** + * Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + */ + @Import(name="keepAcceptEncoding") + private @Nullable Output keepAcceptEncoding; + + /** + * @return Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + */ + public Optional> keepAcceptEncoding() { + return Optional.ofNullable(this.keepAcceptEncoding); + } + + /** + * 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`) * */ @Import(name="name", required=true) private Output name; /** - * @return Name of the profile_httpcompress + * @return 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`) * */ public Output name() { @@ -106,15 +197,37 @@ public Optional>> uriIncludes() { return Optional.ofNullable(this.uriIncludes); } + /** + * Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + */ + @Import(name="varyHeader") + private @Nullable Output varyHeader; + + /** + * @return Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + */ + public Optional> varyHeader() { + return Optional.ofNullable(this.varyHeader); + } + private ProfileHttpCompressArgs() {} private ProfileHttpCompressArgs(ProfileHttpCompressArgs $) { + this.compressionBuffersize = $.compressionBuffersize; this.contentTypeExcludes = $.contentTypeExcludes; this.contentTypeIncludes = $.contentTypeIncludes; + this.cpuSaver = $.cpuSaver; this.defaultsFrom = $.defaultsFrom; + this.gzipCompressionLevel = $.gzipCompressionLevel; + this.gzipMemoryLevel = $.gzipMemoryLevel; + this.gzipWindowSize = $.gzipWindowSize; + this.keepAcceptEncoding = $.keepAcceptEncoding; this.name = $.name; this.uriExcludes = $.uriExcludes; this.uriIncludes = $.uriIncludes; + this.varyHeader = $.varyHeader; } public static Builder builder() { @@ -135,6 +248,27 @@ public Builder(ProfileHttpCompressArgs defaults) { $ = new ProfileHttpCompressArgs(Objects.requireNonNull(defaults)); } + /** + * @param compressionBuffersize 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 `4096` bytes. + * + * @return builder + * + */ + public Builder compressionBuffersize(@Nullable Output compressionBuffersize) { + $.compressionBuffersize = compressionBuffersize; + return this; + } + + /** + * @param compressionBuffersize 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 `4096` bytes. + * + * @return builder + * + */ + public Builder compressionBuffersize(Integer compressionBuffersize) { + return compressionBuffersize(Output.of(compressionBuffersize)); + } + /** * @param contentTypeExcludes 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. * @@ -197,6 +331,27 @@ public Builder contentTypeIncludes(String... contentTypeIncludes) { return contentTypeIncludes(List.of(contentTypeIncludes)); } + /** + * @param cpuSaver 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 `enabled`. + * + * @return builder + * + */ + public Builder cpuSaver(@Nullable Output cpuSaver) { + $.cpuSaver = cpuSaver; + return this; + } + + /** + * @param cpuSaver 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 `enabled`. + * + * @return builder + * + */ + public Builder cpuSaver(String cpuSaver) { + return cpuSaver(Output.of(cpuSaver)); + } + /** * @param defaultsFrom 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. * @@ -219,7 +374,91 @@ public Builder defaultsFrom(String defaultsFrom) { } /** - * @param name Name of the profile_httpcompress + * @param gzipCompressionLevel 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) + * + * @return builder + * + */ + public Builder gzipCompressionLevel(@Nullable Output gzipCompressionLevel) { + $.gzipCompressionLevel = gzipCompressionLevel; + return this; + } + + /** + * @param gzipCompressionLevel 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) + * + * @return builder + * + */ + public Builder gzipCompressionLevel(Integer gzipCompressionLevel) { + return gzipCompressionLevel(Output.of(gzipCompressionLevel)); + } + + /** + * @param gzipMemoryLevel 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`. + * + * @return builder + * + */ + public Builder gzipMemoryLevel(@Nullable Output gzipMemoryLevel) { + $.gzipMemoryLevel = gzipMemoryLevel; + return this; + } + + /** + * @param gzipMemoryLevel 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`. + * + * @return builder + * + */ + public Builder gzipMemoryLevel(Integer gzipMemoryLevel) { + return gzipMemoryLevel(Output.of(gzipMemoryLevel)); + } + + /** + * @param gzipWindowSize Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + * @return builder + * + */ + public Builder gzipWindowSize(@Nullable Output gzipWindowSize) { + $.gzipWindowSize = gzipWindowSize; + return this; + } + + /** + * @param gzipWindowSize Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + * @return builder + * + */ + public Builder gzipWindowSize(Integer gzipWindowSize) { + return gzipWindowSize(Output.of(gzipWindowSize)); + } + + /** + * @param keepAcceptEncoding Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + * @return builder + * + */ + public Builder keepAcceptEncoding(@Nullable Output keepAcceptEncoding) { + $.keepAcceptEncoding = keepAcceptEncoding; + return this; + } + + /** + * @param keepAcceptEncoding Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + * @return builder + * + */ + public Builder keepAcceptEncoding(String keepAcceptEncoding) { + return keepAcceptEncoding(Output.of(keepAcceptEncoding)); + } + + /** + * @param name 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`) * * @return builder * @@ -230,7 +469,7 @@ public Builder name(Output name) { } /** - * @param name Name of the profile_httpcompress + * @param name 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`) * * @return builder * @@ -301,6 +540,27 @@ public Builder uriIncludes(String... uriIncludes) { return uriIncludes(List.of(uriIncludes)); } + /** + * @param varyHeader Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + * @return builder + * + */ + public Builder varyHeader(@Nullable Output varyHeader) { + $.varyHeader = varyHeader; + return this; + } + + /** + * @param varyHeader Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + * @return builder + * + */ + public Builder varyHeader(String varyHeader) { + return varyHeader(Output.of(varyHeader)); + } + public ProfileHttpCompressArgs build() { $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileServerSsl.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileServerSsl.java index 5e8c9e0d..393aed50 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileServerSsl.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileServerSsl.java @@ -246,28 +246,42 @@ public Output cacheTimeout() { * */ @Export(name="cert", type=String.class, parameters={}) - private Output cert; + private Output cert; /** * @return Specifies the name of the certificate that the system uses for server-side SSL processing. * */ - public Output cert() { - return this.cert; + public Output> cert() { + return Codegen.optional(this.cert); } /** * Specifies the certificates-key chain to associate with the SSL profile * */ @Export(name="chain", type=String.class, parameters={}) - private Output chain; + private Output chain; /** * @return Specifies the certificates-key chain to associate with the SSL profile * */ - public Output chain() { - return this.chain; + public Output> chain() { + return Codegen.optional(this.chain); + } + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + @Export(name="cipherGroup", type=String.class, parameters={}) + private Output cipherGroup; + + /** + * @return Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + public Output> cipherGroup() { + return Codegen.optional(this.cipherGroup); } /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. @@ -372,14 +386,14 @@ public Output handshakeTimeout() { * */ @Export(name="key", type=String.class, parameters={}) - private Output key; + private Output key; /** * @return Specifies the file name of the SSL key. * */ - public Output key() { - return this.key; + public Output> key() { + return Codegen.optional(this.key); } /** * ModSSL Methods enabled / disabled. Default is disabled. @@ -804,6 +818,9 @@ private ProfileServerSsl(String name, Output id, @Nullable ProfileServer private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "passphrase" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileServerSslArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileServerSslArgs.java index 9580d9ab..010e1eba 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileServerSslArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileServerSslArgs.java @@ -244,6 +244,21 @@ public Optional> chain() { return Optional.ofNullable(this.chain); } + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + @Import(name="cipherGroup") + private @Nullable Output cipherGroup; + + /** + * @return Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + public Optional> cipherGroup() { + return Optional.ofNullable(this.cipherGroup); + } + /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. * @@ -799,6 +814,7 @@ private ProfileServerSslArgs(ProfileServerSslArgs $) { this.cacheTimeout = $.cacheTimeout; this.cert = $.cert; this.chain = $.chain; + this.cipherGroup = $.cipherGroup; this.ciphers = $.ciphers; this.defaultsFrom = $.defaultsFrom; this.expireCertResponseControl = $.expireCertResponseControl; @@ -1191,6 +1207,27 @@ public Builder chain(String chain) { return chain(Output.of(chain)); } + /** + * @param cipherGroup Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + * @return builder + * + */ + public Builder cipherGroup(@Nullable Output cipherGroup) { + $.cipherGroup = cipherGroup; + return this; + } + + /** + * @param cipherGroup Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + * @return builder + * + */ + public Builder cipherGroup(String cipherGroup) { + return cipherGroup(Output.of(cipherGroup)); + } + /** * @param ciphers Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileTcp.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileTcp.java index 04bce80c..39b7c045 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileTcp.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileTcp.java @@ -16,9 +16,9 @@ import javax.annotation.Nullable; /** - * `f5bigip.ltm.ProfileTcp` Configures a custom profile_tcp for use by health checks. + * `f5bigip.ltm.ProfileTcp` Configures a custom TCP LTM Profile for use by health checks. * - * Resources 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 ) + * Resources 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 ) * * ## Example Usage * ```java @@ -74,6 +74,20 @@ public class ProfileTcp extends com.pulumi.resources.CustomResource { public Output closeWaitTimeout() { return this.closeWaitTimeout; } + /** + * Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + */ + @Export(name="congestionControl", type=String.class, parameters={}) + private Output congestionControl; + + /** + * @return Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + */ + public Output> congestionControl() { + return Codegen.optional(this.congestionControl); + } /** * 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. * @@ -103,14 +117,42 @@ public Output deferredAccept() { return this.deferredAccept; } /** - * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * 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. + * + */ + @Export(name="delayedAcks", type=String.class, parameters={}) + private Output delayedAcks; + + /** + * @return 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. + * + */ + public Output> delayedAcks() { + return Codegen.optional(this.delayedAcks); + } + /** + * 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. + * + */ + @Export(name="earlyRetransmit", type=String.class, parameters={}) + private Output earlyRetransmit; + + /** + * @return 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. + * + */ + public Output> earlyRetransmit() { + return Codegen.optional(this.earlyRetransmit); + } + /** + * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * */ @Export(name="fastOpen", type=String.class, parameters={}) private Output fastOpen; /** - * @return When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * @return When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * */ public Output fastOpen() { @@ -158,6 +200,20 @@ public Output finwaitTimeout() { public Output idleTimeout() { return this.idleTimeout; } + /** + * 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. + * + */ + @Export(name="initialCongestionWindowsize", type=Integer.class, parameters={}) + private Output initialCongestionWindowsize; + + /** + * @return 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. + * + */ + public Output> initialCongestionWindowsize() { + return Codegen.optional(this.initialCongestionWindowsize); + } /** * Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. * @@ -173,33 +229,145 @@ public Output keepaliveInterval() { return this.keepaliveInterval; } /** - * Name of the profile_tcp + * 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. + * + */ + @Export(name="nagle", type=String.class, parameters={}) + private Output nagle; + + /** + * @return 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. + * + */ + public Output> nagle() { + return Codegen.optional(this.nagle); + } + /** + * 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 ) * */ @Export(name="name", type=String.class, parameters={}) private Output name; /** - * @return Name of the profile_tcp + * @return 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 ) * */ public Output name() { return this.name; } /** - * Displays the administrative partition within which this profile resides + * name of partition * */ @Export(name="partition", type=String.class, parameters={}) private Output partition; /** - * @return Displays the administrative partition within which this profile resides + * @return name of partition * */ public Output> partition() { return Codegen.optional(this.partition); } + /** + * Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + */ + @Export(name="proxybufferHigh", type=Integer.class, parameters={}) + private Output proxybufferHigh; + + /** + * @return Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + */ + public Output> proxybufferHigh() { + return Codegen.optional(this.proxybufferHigh); + } + /** + * 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. + * + */ + @Export(name="receiveWindowsize", type=Integer.class, parameters={}) + private Output receiveWindowsize; + + /** + * @return 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. + * + */ + public Output> receiveWindowsize() { + return Codegen.optional(this.receiveWindowsize); + } + /** + * Specifies the SEND window size. The default is 131072 bytes. + * + */ + @Export(name="sendBuffersize", type=Integer.class, parameters={}) + private Output sendBuffersize; + + /** + * @return Specifies the SEND window size. The default is 131072 bytes. + * + */ + public Output> sendBuffersize() { + return Codegen.optional(this.sendBuffersize); + } + /** + * 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. + * + */ + @Export(name="taillossProbe", type=String.class, parameters={}) + private Output taillossProbe; + + /** + * @return 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. + * + */ + public Output> taillossProbe() { + return Codegen.optional(this.taillossProbe); + } + /** + * 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. + * + */ + @Export(name="timewaitRecycle", type=String.class, parameters={}) + private Output timewaitRecycle; + + /** + * @return 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. + * + */ + public Output> timewaitRecycle() { + return Codegen.optional(this.timewaitRecycle); + } + /** + * 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 `disabled`. + * + */ + @Export(name="verifiedAccept", type=String.class, parameters={}) + private Output verifiedAccept; + + /** + * @return 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 `disabled`. + * + */ + public Output> verifiedAccept() { + return Codegen.optional(this.verifiedAccept); + } + /** + * Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + */ + @Export(name="zerowindowTimeout", type=Integer.class, parameters={}) + private Output zerowindowTimeout; + + /** + * @return Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + */ + public Output> zerowindowTimeout() { + return Codegen.optional(this.zerowindowTimeout); + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileTcpArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileTcpArgs.java index 51b65852..ad8df424 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileTcpArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/ProfileTcpArgs.java @@ -31,6 +31,21 @@ public Optional> closeWaitTimeout() { return Optional.ofNullable(this.closeWaitTimeout); } + /** + * Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + */ + @Import(name="congestionControl") + private @Nullable Output congestionControl; + + /** + * @return Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + */ + public Optional> congestionControl() { + return Optional.ofNullable(this.congestionControl); + } + /** * 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. * @@ -62,14 +77,44 @@ public Optional> deferredAccept() { } /** - * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * 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. + * + */ + @Import(name="delayedAcks") + private @Nullable Output delayedAcks; + + /** + * @return 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. + * + */ + public Optional> delayedAcks() { + return Optional.ofNullable(this.delayedAcks); + } + + /** + * 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. + * + */ + @Import(name="earlyRetransmit") + private @Nullable Output earlyRetransmit; + + /** + * @return 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. + * + */ + public Optional> earlyRetransmit() { + return Optional.ofNullable(this.earlyRetransmit); + } + + /** + * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * */ @Import(name="fastOpen") private @Nullable Output fastOpen; /** - * @return When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * @return When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * */ public Optional> fastOpen() { @@ -121,6 +166,21 @@ public Optional> idleTimeout() { return Optional.ofNullable(this.idleTimeout); } + /** + * 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. + * + */ + @Import(name="initialCongestionWindowsize") + private @Nullable Output initialCongestionWindowsize; + + /** + * @return 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. + * + */ + public Optional> initialCongestionWindowsize() { + return Optional.ofNullable(this.initialCongestionWindowsize); + } + /** * Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. * @@ -137,14 +197,29 @@ public Optional> keepaliveInterval() { } /** - * Name of the profile_tcp + * 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. + * + */ + @Import(name="nagle") + private @Nullable Output nagle; + + /** + * @return 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. + * + */ + public Optional> nagle() { + return Optional.ofNullable(this.nagle); + } + + /** + * 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 ) * */ @Import(name="name", required=true) private Output name; /** - * @return Name of the profile_tcp + * @return 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 ) * */ public Output name() { @@ -152,33 +227,150 @@ public Output name() { } /** - * Displays the administrative partition within which this profile resides + * name of partition * */ @Import(name="partition") private @Nullable Output partition; /** - * @return Displays the administrative partition within which this profile resides + * @return name of partition * */ public Optional> partition() { return Optional.ofNullable(this.partition); } + /** + * Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + */ + @Import(name="proxybufferHigh") + private @Nullable Output proxybufferHigh; + + /** + * @return Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + */ + public Optional> proxybufferHigh() { + return Optional.ofNullable(this.proxybufferHigh); + } + + /** + * 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. + * + */ + @Import(name="receiveWindowsize") + private @Nullable Output receiveWindowsize; + + /** + * @return 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. + * + */ + public Optional> receiveWindowsize() { + return Optional.ofNullable(this.receiveWindowsize); + } + + /** + * Specifies the SEND window size. The default is 131072 bytes. + * + */ + @Import(name="sendBuffersize") + private @Nullable Output sendBuffersize; + + /** + * @return Specifies the SEND window size. The default is 131072 bytes. + * + */ + public Optional> sendBuffersize() { + return Optional.ofNullable(this.sendBuffersize); + } + + /** + * 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. + * + */ + @Import(name="taillossProbe") + private @Nullable Output taillossProbe; + + /** + * @return 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. + * + */ + public Optional> taillossProbe() { + return Optional.ofNullable(this.taillossProbe); + } + + /** + * 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. + * + */ + @Import(name="timewaitRecycle") + private @Nullable Output timewaitRecycle; + + /** + * @return 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. + * + */ + public Optional> timewaitRecycle() { + return Optional.ofNullable(this.timewaitRecycle); + } + + /** + * 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 `disabled`. + * + */ + @Import(name="verifiedAccept") + private @Nullable Output verifiedAccept; + + /** + * @return 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 `disabled`. + * + */ + public Optional> verifiedAccept() { + return Optional.ofNullable(this.verifiedAccept); + } + + /** + * Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + */ + @Import(name="zerowindowTimeout") + private @Nullable Output zerowindowTimeout; + + /** + * @return Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + */ + public Optional> zerowindowTimeout() { + return Optional.ofNullable(this.zerowindowTimeout); + } + private ProfileTcpArgs() {} private ProfileTcpArgs(ProfileTcpArgs $) { this.closeWaitTimeout = $.closeWaitTimeout; + this.congestionControl = $.congestionControl; this.defaultsFrom = $.defaultsFrom; this.deferredAccept = $.deferredAccept; + this.delayedAcks = $.delayedAcks; + this.earlyRetransmit = $.earlyRetransmit; this.fastOpen = $.fastOpen; this.finwait2timeout = $.finwait2timeout; this.finwaitTimeout = $.finwaitTimeout; this.idleTimeout = $.idleTimeout; + this.initialCongestionWindowsize = $.initialCongestionWindowsize; this.keepaliveInterval = $.keepaliveInterval; + this.nagle = $.nagle; this.name = $.name; this.partition = $.partition; + this.proxybufferHigh = $.proxybufferHigh; + this.receiveWindowsize = $.receiveWindowsize; + this.sendBuffersize = $.sendBuffersize; + this.taillossProbe = $.taillossProbe; + this.timewaitRecycle = $.timewaitRecycle; + this.verifiedAccept = $.verifiedAccept; + this.zerowindowTimeout = $.zerowindowTimeout; } public static Builder builder() { @@ -220,6 +412,27 @@ public Builder closeWaitTimeout(Integer closeWaitTimeout) { return closeWaitTimeout(Output.of(closeWaitTimeout)); } + /** + * @param congestionControl Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + * @return builder + * + */ + public Builder congestionControl(@Nullable Output congestionControl) { + $.congestionControl = congestionControl; + return this; + } + + /** + * @param congestionControl Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + * @return builder + * + */ + public Builder congestionControl(String congestionControl) { + return congestionControl(Output.of(congestionControl)); + } + /** * @param defaultsFrom 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. * @@ -263,7 +476,49 @@ public Builder deferredAccept(String deferredAccept) { } /** - * @param fastOpen When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * @param delayedAcks 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. + * + * @return builder + * + */ + public Builder delayedAcks(@Nullable Output delayedAcks) { + $.delayedAcks = delayedAcks; + return this; + } + + /** + * @param delayedAcks 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. + * + * @return builder + * + */ + public Builder delayedAcks(String delayedAcks) { + return delayedAcks(Output.of(delayedAcks)); + } + + /** + * @param earlyRetransmit 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. + * + * @return builder + * + */ + public Builder earlyRetransmit(@Nullable Output earlyRetransmit) { + $.earlyRetransmit = earlyRetransmit; + return this; + } + + /** + * @param earlyRetransmit 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. + * + * @return builder + * + */ + public Builder earlyRetransmit(String earlyRetransmit) { + return earlyRetransmit(Output.of(earlyRetransmit)); + } + + /** + * @param fastOpen When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * * @return builder * @@ -274,7 +529,7 @@ public Builder fastOpen(@Nullable Output fastOpen) { } /** - * @param fastOpen When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * @param fastOpen When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * * @return builder * @@ -346,6 +601,27 @@ public Builder idleTimeout(Integer idleTimeout) { return idleTimeout(Output.of(idleTimeout)); } + /** + * @param initialCongestionWindowsize 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. + * + * @return builder + * + */ + public Builder initialCongestionWindowsize(@Nullable Output initialCongestionWindowsize) { + $.initialCongestionWindowsize = initialCongestionWindowsize; + return this; + } + + /** + * @param initialCongestionWindowsize 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. + * + * @return builder + * + */ + public Builder initialCongestionWindowsize(Integer initialCongestionWindowsize) { + return initialCongestionWindowsize(Output.of(initialCongestionWindowsize)); + } + /** * @param keepaliveInterval Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. * @@ -368,7 +644,28 @@ public Builder keepaliveInterval(Integer keepaliveInterval) { } /** - * @param name Name of the profile_tcp + * @param nagle 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. + * + * @return builder + * + */ + public Builder nagle(@Nullable Output nagle) { + $.nagle = nagle; + return this; + } + + /** + * @param nagle 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. + * + * @return builder + * + */ + public Builder nagle(String nagle) { + return nagle(Output.of(nagle)); + } + + /** + * @param name 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 ) * * @return builder * @@ -379,7 +676,7 @@ public Builder name(Output name) { } /** - * @param name Name of the profile_tcp + * @param name 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 ) * * @return builder * @@ -389,7 +686,7 @@ public Builder name(String name) { } /** - * @param partition Displays the administrative partition within which this profile resides + * @param partition name of partition * * @return builder * @@ -400,7 +697,7 @@ public Builder partition(@Nullable Output partition) { } /** - * @param partition Displays the administrative partition within which this profile resides + * @param partition name of partition * * @return builder * @@ -409,6 +706,153 @@ public Builder partition(String partition) { return partition(Output.of(partition)); } + /** + * @param proxybufferHigh Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + * @return builder + * + */ + public Builder proxybufferHigh(@Nullable Output proxybufferHigh) { + $.proxybufferHigh = proxybufferHigh; + return this; + } + + /** + * @param proxybufferHigh Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + * @return builder + * + */ + public Builder proxybufferHigh(Integer proxybufferHigh) { + return proxybufferHigh(Output.of(proxybufferHigh)); + } + + /** + * @param receiveWindowsize 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. + * + * @return builder + * + */ + public Builder receiveWindowsize(@Nullable Output receiveWindowsize) { + $.receiveWindowsize = receiveWindowsize; + return this; + } + + /** + * @param receiveWindowsize 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. + * + * @return builder + * + */ + public Builder receiveWindowsize(Integer receiveWindowsize) { + return receiveWindowsize(Output.of(receiveWindowsize)); + } + + /** + * @param sendBuffersize Specifies the SEND window size. The default is 131072 bytes. + * + * @return builder + * + */ + public Builder sendBuffersize(@Nullable Output sendBuffersize) { + $.sendBuffersize = sendBuffersize; + return this; + } + + /** + * @param sendBuffersize Specifies the SEND window size. The default is 131072 bytes. + * + * @return builder + * + */ + public Builder sendBuffersize(Integer sendBuffersize) { + return sendBuffersize(Output.of(sendBuffersize)); + } + + /** + * @param taillossProbe 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. + * + * @return builder + * + */ + public Builder taillossProbe(@Nullable Output taillossProbe) { + $.taillossProbe = taillossProbe; + return this; + } + + /** + * @param taillossProbe 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. + * + * @return builder + * + */ + public Builder taillossProbe(String taillossProbe) { + return taillossProbe(Output.of(taillossProbe)); + } + + /** + * @param timewaitRecycle 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. + * + * @return builder + * + */ + public Builder timewaitRecycle(@Nullable Output timewaitRecycle) { + $.timewaitRecycle = timewaitRecycle; + return this; + } + + /** + * @param timewaitRecycle 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. + * + * @return builder + * + */ + public Builder timewaitRecycle(String timewaitRecycle) { + return timewaitRecycle(Output.of(timewaitRecycle)); + } + + /** + * @param verifiedAccept 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 `disabled`. + * + * @return builder + * + */ + public Builder verifiedAccept(@Nullable Output verifiedAccept) { + $.verifiedAccept = verifiedAccept; + return this; + } + + /** + * @param verifiedAccept 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 `disabled`. + * + * @return builder + * + */ + public Builder verifiedAccept(String verifiedAccept) { + return verifiedAccept(Output.of(verifiedAccept)); + } + + /** + * @param zerowindowTimeout Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + * @return builder + * + */ + public Builder zerowindowTimeout(@Nullable Output zerowindowTimeout) { + $.zerowindowTimeout = zerowindowTimeout; + return this; + } + + /** + * @param zerowindowTimeout Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + * @return builder + * + */ + public Builder zerowindowTimeout(Integer zerowindowTimeout) { + return zerowindowTimeout(Output.of(zerowindowTimeout)); + } + public ProfileTcpArgs build() { $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Snat.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Snat.java index b3bbb98b..d921c857 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Snat.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/Snat.java @@ -64,14 +64,14 @@ @ResourceType(type="f5bigip:ltm/snat:Snat") public class Snat extends com.pulumi.resources.CustomResource { /** - * -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * */ @Export(name="autolasthop", type=String.class, parameters={}) private Output autolasthop; /** - * @return -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * @return Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * */ public Output autolasthop() { diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/SnatArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/SnatArgs.java index 82a99338..77cf709a 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/SnatArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/SnatArgs.java @@ -19,14 +19,14 @@ public final class SnatArgs extends com.pulumi.resources.ResourceArgs { public static final SnatArgs Empty = new SnatArgs(); /** - * -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * */ @Import(name="autolasthop") private @Nullable Output autolasthop; /** - * @return -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * @return Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * */ public Optional> autolasthop() { @@ -218,7 +218,7 @@ public Builder(SnatArgs defaults) { } /** - * @param autolasthop -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * @param autolasthop Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * * @return builder * @@ -229,7 +229,7 @@ public Builder autolasthop(@Nullable Output autolasthop) { } /** - * @param autolasthop -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * @param autolasthop Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/VirtualServer.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/VirtualServer.java index 63f302e9..994de6eb 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/VirtualServer.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/VirtualServer.java @@ -100,10 +100,10 @@ public Output>> clientProfiles() { return Codegen.optional(this.clientProfiles); } @Export(name="defaultPersistenceProfile", type=String.class, parameters={}) - private Output defaultPersistenceProfile; + private Output defaultPersistenceProfile; - public Output> defaultPersistenceProfile() { - return Codegen.optional(this.defaultPersistenceProfile); + public Output defaultPersistenceProfile() { + return this.defaultPersistenceProfile; } /** * Description of Virtual server @@ -124,14 +124,14 @@ public Output> description() { * */ @Export(name="destination", type=String.class, parameters={}) - private Output destination; + private Output destination; /** * @return Destination IP * */ - public Output destination() { - return this.destination; + public Output> destination() { + return Codegen.optional(this.destination); } /** * Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. @@ -147,19 +147,33 @@ public Output destination() { public Output fallbackPersistenceProfile() { return this.fallbackPersistenceProfile; } + /** + * 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`. + * + */ + @Export(name="firewallEnforcedPolicy", type=String.class, parameters={}) + private Output firewallEnforcedPolicy; + + /** + * @return 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`. + * + */ + public Output firewallEnforcedPolicy() { + return this.firewallEnforcedPolicy; + } /** * Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) * */ @Export(name="ipProtocol", type=String.class, parameters={}) - private Output ipProtocol; + private Output ipProtocol; /** * @return Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) * */ - public Output ipProtocol() { - return this.ipProtocol; + public Output> ipProtocol() { + return Codegen.optional(this.ipProtocol); } /** * The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. @@ -300,14 +314,14 @@ public Output>> serverProfiles() { return Codegen.optional(this.serverProfiles); } /** - * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * */ @Export(name="snatpool", type=String.class, parameters={}) private Output snatpool; /** - * @return Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * @return Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * */ public Output snatpool() { @@ -328,18 +342,32 @@ public Output source() { return this.source; } /** - * Can be either omitted for none or the values automap or snat + * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * */ @Export(name="sourceAddressTranslation", type=String.class, parameters={}) - private Output sourceAddressTranslation; + private Output sourceAddressTranslation; + + /** + * @return Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. + * + */ + public Output> sourceAddressTranslation() { + return Codegen.optional(this.sourceAddressTranslation); + } + /** + * Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + */ + @Export(name="sourcePort", type=String.class, parameters={}) + private Output sourcePort; /** - * @return Can be either omitted for none or the values automap or snat + * @return Specifies whether the system preserves the source port of the connection. The default is `preserve`. * */ - public Output sourceAddressTranslation() { - return this.sourceAddressTranslation; + public Output sourcePort() { + return this.sourcePort; } /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled @@ -355,33 +383,47 @@ public Output sourceAddressTranslation() { public Output> state() { return Codegen.optional(this.state); } + /** + * Specifies destination traffic matching information to which the virtual server sends traffic + * + */ + @Export(name="trafficmatchingCriteria", type=String.class, parameters={}) + private Output trafficmatchingCriteria; + + /** + * @return Specifies destination traffic matching information to which the virtual server sends traffic + * + */ + public Output trafficmatchingCriteria() { + return this.trafficmatchingCriteria; + } /** * 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. * */ @Export(name="translateAddress", type=String.class, parameters={}) - private Output translateAddress; + private Output translateAddress; /** * @return 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. * */ - public Output translateAddress() { - return this.translateAddress; + public Output> translateAddress() { + return Codegen.optional(this.translateAddress); } /** * 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 * */ @Export(name="translatePort", type=String.class, parameters={}) - private Output translatePort; + private Output translatePort; /** * @return 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 * */ - public Output translatePort() { - return this.translatePort; + public Output> translatePort() { + return Codegen.optional(this.translatePort); } /** * The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlan_enabled` diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/VirtualServerArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/VirtualServerArgs.java index 9e920dc5..4ca81726 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/VirtualServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/VirtualServerArgs.java @@ -59,15 +59,15 @@ public Optional> description() { * Destination IP * */ - @Import(name="destination", required=true) - private Output destination; + @Import(name="destination") + private @Nullable Output destination; /** * @return Destination IP * */ - public Output destination() { - return this.destination; + public Optional> destination() { + return Optional.ofNullable(this.destination); } /** @@ -85,6 +85,21 @@ public Optional> fallbackPersistenceProfile() { return Optional.ofNullable(this.fallbackPersistenceProfile); } + /** + * 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`. + * + */ + @Import(name="firewallEnforcedPolicy") + private @Nullable Output firewallEnforcedPolicy; + + /** + * @return 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`. + * + */ + public Optional> firewallEnforcedPolicy() { + return Optional.ofNullable(this.firewallEnforcedPolicy); + } + /** * Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) * @@ -193,15 +208,15 @@ public Optional> pool() { * Listen port for the virtual server * */ - @Import(name="port", required=true) - private Output port; + @Import(name="port") + private @Nullable Output port; /** * @return Listen port for the virtual server * */ - public Output port() { - return this.port; + public Optional> port() { + return Optional.ofNullable(this.port); } /** @@ -250,14 +265,14 @@ public Optional>> serverProfiles() { } /** - * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * */ @Import(name="snatpool") private @Nullable Output snatpool; /** - * @return Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * @return Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * */ public Optional> snatpool() { @@ -280,20 +295,35 @@ public Optional> source() { } /** - * Can be either omitted for none or the values automap or snat + * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * */ @Import(name="sourceAddressTranslation") private @Nullable Output sourceAddressTranslation; /** - * @return Can be either omitted for none or the values automap or snat + * @return Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * */ public Optional> sourceAddressTranslation() { return Optional.ofNullable(this.sourceAddressTranslation); } + /** + * Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + */ + @Import(name="sourcePort") + private @Nullable Output sourcePort; + + /** + * @return Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + */ + public Optional> sourcePort() { + return Optional.ofNullable(this.sourcePort); + } + /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled * @@ -309,6 +339,21 @@ public Optional> state() { return Optional.ofNullable(this.state); } + /** + * Specifies destination traffic matching information to which the virtual server sends traffic + * + */ + @Import(name="trafficmatchingCriteria") + private @Nullable Output trafficmatchingCriteria; + + /** + * @return Specifies destination traffic matching information to which the virtual server sends traffic + * + */ + public Optional> trafficmatchingCriteria() { + return Optional.ofNullable(this.trafficmatchingCriteria); + } + /** * 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. * @@ -379,6 +424,7 @@ private VirtualServerArgs(VirtualServerArgs $) { this.description = $.description; this.destination = $.destination; this.fallbackPersistenceProfile = $.fallbackPersistenceProfile; + this.firewallEnforcedPolicy = $.firewallEnforcedPolicy; this.ipProtocol = $.ipProtocol; this.irules = $.irules; this.mask = $.mask; @@ -394,7 +440,9 @@ private VirtualServerArgs(VirtualServerArgs $) { this.snatpool = $.snatpool; this.source = $.source; this.sourceAddressTranslation = $.sourceAddressTranslation; + this.sourcePort = $.sourcePort; this.state = $.state; + this.trafficmatchingCriteria = $.trafficmatchingCriteria; this.translateAddress = $.translateAddress; this.translatePort = $.translatePort; this.vlans = $.vlans; @@ -486,7 +534,7 @@ public Builder description(String description) { * @return builder * */ - public Builder destination(Output destination) { + public Builder destination(@Nullable Output destination) { $.destination = destination; return this; } @@ -522,6 +570,27 @@ public Builder fallbackPersistenceProfile(String fallbackPersistenceProfile) { return fallbackPersistenceProfile(Output.of(fallbackPersistenceProfile)); } + /** + * @param firewallEnforcedPolicy 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`. + * + * @return builder + * + */ + public Builder firewallEnforcedPolicy(@Nullable Output firewallEnforcedPolicy) { + $.firewallEnforcedPolicy = firewallEnforcedPolicy; + return this; + } + + /** + * @param firewallEnforcedPolicy 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`. + * + * @return builder + * + */ + public Builder firewallEnforcedPolicy(String firewallEnforcedPolicy) { + return firewallEnforcedPolicy(Output.of(firewallEnforcedPolicy)); + } + /** * @param ipProtocol Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) * @@ -696,7 +765,7 @@ public Builder pool(String pool) { * @return builder * */ - public Builder port(Output port) { + public Builder port(@Nullable Output port) { $.port = port; return this; } @@ -805,7 +874,7 @@ public Builder serverProfiles(String... serverProfiles) { } /** - * @param snatpool Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * @param snatpool Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * * @return builder * @@ -816,7 +885,7 @@ public Builder snatpool(@Nullable Output snatpool) { } /** - * @param snatpool Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * @param snatpool Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * * @return builder * @@ -847,7 +916,7 @@ public Builder source(String source) { } /** - * @param sourceAddressTranslation Can be either omitted for none or the values automap or snat + * @param sourceAddressTranslation Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * * @return builder * @@ -858,7 +927,7 @@ public Builder sourceAddressTranslation(@Nullable Output sourceAddressTr } /** - * @param sourceAddressTranslation Can be either omitted for none or the values automap or snat + * @param sourceAddressTranslation Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * * @return builder * @@ -867,6 +936,27 @@ public Builder sourceAddressTranslation(String sourceAddressTranslation) { return sourceAddressTranslation(Output.of(sourceAddressTranslation)); } + /** + * @param sourcePort Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + * @return builder + * + */ + public Builder sourcePort(@Nullable Output sourcePort) { + $.sourcePort = sourcePort; + return this; + } + + /** + * @param sourcePort Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + * @return builder + * + */ + public Builder sourcePort(String sourcePort) { + return sourcePort(Output.of(sourcePort)); + } + /** * @param state Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled * @@ -888,6 +978,27 @@ public Builder state(String state) { return state(Output.of(state)); } + /** + * @param trafficmatchingCriteria Specifies destination traffic matching information to which the virtual server sends traffic + * + * @return builder + * + */ + public Builder trafficmatchingCriteria(@Nullable Output trafficmatchingCriteria) { + $.trafficmatchingCriteria = trafficmatchingCriteria; + return this; + } + + /** + * @param trafficmatchingCriteria Specifies destination traffic matching information to which the virtual server sends traffic + * + * @return builder + * + */ + public Builder trafficmatchingCriteria(String trafficmatchingCriteria) { + return trafficmatchingCriteria(Output.of(trafficmatchingCriteria)); + } + /** * @param translateAddress 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. * @@ -985,9 +1096,7 @@ public Builder vlansEnabled(Boolean vlansEnabled) { } public VirtualServerArgs build() { - $.destination = Objects.requireNonNull($.destination, "expected parameter 'destination' to be non-null"); $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); - $.port = Objects.requireNonNull($.port, "expected parameter 'port' to be non-null"); return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/GetPolicyRuleCondition.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/GetPolicyRuleCondition.java index a0f1e4d8..3a178f71 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/GetPolicyRuleCondition.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/GetPolicyRuleCondition.java @@ -134,6 +134,13 @@ public Boolean cpuUsage() { return this.cpuUsage; } + @Import(name="datagroup", required=true) + private String datagroup; + + public String datagroup() { + return this.datagroup; + } + @Import(name="deviceMake", required=true) private Boolean deviceMake; @@ -665,6 +672,7 @@ private GetPolicyRuleCondition(GetPolicyRuleCondition $) { this.countryCode = $.countryCode; this.countryName = $.countryName; this.cpuUsage = $.cpuUsage; + this.datagroup = $.datagroup; this.deviceMake = $.deviceMake; this.deviceModel = $.deviceModel; this.domain = $.domain; @@ -843,6 +851,11 @@ public Builder cpuUsage(Boolean cpuUsage) { return this; } + public Builder datagroup(String datagroup) { + $.datagroup = datagroup; + return this; + } + public Builder deviceMake(Boolean deviceMake) { $.deviceMake = deviceMake; return this; @@ -1230,6 +1243,7 @@ public GetPolicyRuleCondition build() { $.countryCode = Objects.requireNonNull($.countryCode, "expected parameter 'countryCode' to be non-null"); $.countryName = Objects.requireNonNull($.countryName, "expected parameter 'countryName' to be non-null"); $.cpuUsage = Objects.requireNonNull($.cpuUsage, "expected parameter 'cpuUsage' to be non-null"); + $.datagroup = Objects.requireNonNull($.datagroup, "expected parameter 'datagroup' to be non-null"); $.deviceMake = Objects.requireNonNull($.deviceMake, "expected parameter 'deviceMake' to be non-null"); $.deviceModel = Objects.requireNonNull($.deviceModel, "expected parameter 'deviceModel' to be non-null"); $.domain = Objects.requireNonNull($.domain, "expected parameter 'domain' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/GetPolicyRuleConditionArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/GetPolicyRuleConditionArgs.java index 39e1417b..a34c0677 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/GetPolicyRuleConditionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/GetPolicyRuleConditionArgs.java @@ -135,6 +135,13 @@ public Output cpuUsage() { return this.cpuUsage; } + @Import(name="datagroup", required=true) + private Output datagroup; + + public Output datagroup() { + return this.datagroup; + } + @Import(name="deviceMake", required=true) private Output deviceMake; @@ -666,6 +673,7 @@ private GetPolicyRuleConditionArgs(GetPolicyRuleConditionArgs $) { this.countryCode = $.countryCode; this.countryName = $.countryName; this.cpuUsage = $.cpuUsage; + this.datagroup = $.datagroup; this.deviceMake = $.deviceMake; this.deviceModel = $.deviceModel; this.domain = $.domain; @@ -912,6 +920,15 @@ public Builder cpuUsage(Boolean cpuUsage) { return cpuUsage(Output.of(cpuUsage)); } + public Builder datagroup(Output datagroup) { + $.datagroup = datagroup; + return this; + } + + public Builder datagroup(String datagroup) { + return datagroup(Output.of(datagroup)); + } + public Builder deviceMake(Output deviceMake) { $.deviceMake = deviceMake; return this; @@ -1591,6 +1608,7 @@ public GetPolicyRuleConditionArgs build() { $.countryCode = Objects.requireNonNull($.countryCode, "expected parameter 'countryCode' to be non-null"); $.countryName = Objects.requireNonNull($.countryName, "expected parameter 'countryName' to be non-null"); $.cpuUsage = Objects.requireNonNull($.cpuUsage, "expected parameter 'cpuUsage' to be non-null"); + $.datagroup = Objects.requireNonNull($.datagroup, "expected parameter 'datagroup' to be non-null"); $.deviceMake = Objects.requireNonNull($.deviceMake, "expected parameter 'deviceMake' to be non-null"); $.deviceModel = Objects.requireNonNull($.deviceModel, "expected parameter 'deviceModel' to be non-null"); $.domain = Objects.requireNonNull($.domain, "expected parameter 'domain' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyRuleArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyRuleArgs.java index 36d58946..ee163441 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyRuleArgs.java @@ -18,29 +18,45 @@ public final class PolicyRuleArgs extends com.pulumi.resources.ResourceArgs { public static final PolicyRuleArgs Empty = new PolicyRuleArgs(); + /** + * Block type. See action block for more details. + * + */ @Import(name="actions") private @Nullable Output> actions; + /** + * @return Block type. See action block for more details. + * + */ public Optional>> actions() { return Optional.ofNullable(this.actions); } + /** + * Block type. See condition block for more details. + * + */ @Import(name="conditions") private @Nullable Output> conditions; + /** + * @return Block type. See condition block for more details. + * + */ public Optional>> conditions() { return Optional.ofNullable(this.conditions); } /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. * */ @Import(name="name", required=true) private Output name; /** - * @return Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @return Name of Rule to be applied in policy. * */ public Output name() { @@ -73,34 +89,70 @@ public Builder(PolicyRuleArgs defaults) { $ = new PolicyRuleArgs(Objects.requireNonNull(defaults)); } + /** + * @param actions Block type. See action block for more details. + * + * @return builder + * + */ public Builder actions(@Nullable Output> actions) { $.actions = actions; return this; } + /** + * @param actions Block type. See action block for more details. + * + * @return builder + * + */ public Builder actions(List actions) { return actions(Output.of(actions)); } + /** + * @param actions Block type. See action block for more details. + * + * @return builder + * + */ public Builder actions(PolicyRuleActionArgs... actions) { return actions(List.of(actions)); } + /** + * @param conditions Block type. See condition block for more details. + * + * @return builder + * + */ public Builder conditions(@Nullable Output> conditions) { $.conditions = conditions; return this; } + /** + * @param conditions Block type. See condition block for more details. + * + * @return builder + * + */ public Builder conditions(List conditions) { return conditions(Output.of(conditions)); } + /** + * @param conditions Block type. See condition block for more details. + * + * @return builder + * + */ public Builder conditions(PolicyRuleConditionArgs... conditions) { return conditions(List.of(conditions)); } /** - * @param name Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @param name Name of Rule to be applied in policy. * * @return builder * @@ -111,7 +163,7 @@ public Builder name(Output name) { } /** - * @param name Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @param name Name of Rule to be applied in policy. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyRuleConditionArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyRuleConditionArgs.java index 161acaf0..fff41a67 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyRuleConditionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyRuleConditionArgs.java @@ -81,6 +81,13 @@ public Optional> cipherBits() { return Optional.ofNullable(this.cipherBits); } + @Import(name="clientAccepted") + private @Nullable Output clientAccepted; + + public Optional> clientAccepted() { + return Optional.ofNullable(this.clientAccepted); + } + @Import(name="clientSsl") private @Nullable Output clientSsl; @@ -137,6 +144,13 @@ public Optional> cpuUsage() { return Optional.ofNullable(this.cpuUsage); } + @Import(name="datagroup") + private @Nullable Output datagroup; + + public Optional> datagroup() { + return Optional.ofNullable(this.datagroup); + } + @Import(name="deviceMake") private @Nullable Output deviceMake; @@ -667,6 +681,7 @@ private PolicyRuleConditionArgs(PolicyRuleConditionArgs $) { this.caseSensitive = $.caseSensitive; this.cipher = $.cipher; this.cipherBits = $.cipherBits; + this.clientAccepted = $.clientAccepted; this.clientSsl = $.clientSsl; this.code = $.code; this.commonName = $.commonName; @@ -675,6 +690,7 @@ private PolicyRuleConditionArgs(PolicyRuleConditionArgs $) { this.countryCode = $.countryCode; this.countryName = $.countryName; this.cpuUsage = $.cpuUsage; + this.datagroup = $.datagroup; this.deviceMake = $.deviceMake; this.deviceModel = $.deviceModel; this.domain = $.domain; @@ -850,6 +866,15 @@ public Builder cipherBits(Boolean cipherBits) { return cipherBits(Output.of(cipherBits)); } + public Builder clientAccepted(@Nullable Output clientAccepted) { + $.clientAccepted = clientAccepted; + return this; + } + + public Builder clientAccepted(Boolean clientAccepted) { + return clientAccepted(Output.of(clientAccepted)); + } + public Builder clientSsl(@Nullable Output clientSsl) { $.clientSsl = clientSsl; return this; @@ -922,6 +947,15 @@ public Builder cpuUsage(Boolean cpuUsage) { return cpuUsage(Output.of(cpuUsage)); } + public Builder datagroup(@Nullable Output datagroup) { + $.datagroup = datagroup; + return this; + } + + public Builder datagroup(String datagroup) { + return datagroup(Output.of(datagroup)); + } + public Builder deviceMake(@Nullable Output deviceMake) { $.deviceMake = deviceMake; return this; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyState.java index 8b156d59..dbb1947d 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/PolicyState.java @@ -33,14 +33,14 @@ public Optional>> controls() { } /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. * */ @Import(name="name") private @Nullable Output name; /** - * @return Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @return Name of Rule to be applied in policy. * */ public Optional> name() { @@ -78,14 +78,14 @@ public Optional>> requires() { } /** - * Rules can be applied using the policy + * List of Rules can be applied using the policy. Each rule is block type with following arguments. * */ @Import(name="rules") private @Nullable Output> rules; /** - * @return Rules can be applied using the policy + * @return List of Rules can be applied using the policy. Each rule is block type with following arguments. * */ public Optional>> rules() { @@ -168,7 +168,7 @@ public Builder controls(String... controls) { } /** - * @param name Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @param name Name of Rule to be applied in policy. * * @return builder * @@ -179,7 +179,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @param name Name of Rule to be applied in policy. * * @return builder * @@ -241,7 +241,7 @@ public Builder requires(String... requires) { } /** - * @param rules Rules can be applied using the policy + * @param rules List of Rules can be applied using the policy. Each rule is block type with following arguments. * * @return builder * @@ -252,7 +252,7 @@ public Builder rules(@Nullable Output> rules) { } /** - * @param rules Rules can be applied using the policy + * @param rules List of Rules can be applied using the policy. Each rule is block type with following arguments. * * @return builder * @@ -262,7 +262,7 @@ public Builder rules(List rules) { } /** - * @param rules Rules can be applied using the policy + * @param rules List of Rules can be applied using the policy. Each rule is block type with following arguments. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileClientSslState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileClientSslState.java index 38032fd2..ea11f7c5 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileClientSslState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileClientSslState.java @@ -200,11 +200,23 @@ public Optional>> certExtensionIncludes() { return Optional.ofNullable(this.certExtensionIncludes); } - @Import(name="certKeyChains") - private @Nullable Output> certKeyChains; + /** + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + @Import(name="certKeyChain") + private @Nullable Output certKeyChain; - public Optional>> certKeyChains() { - return Optional.ofNullable(this.certKeyChains); + /** + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + public Optional> certKeyChain() { + return Optional.ofNullable(this.certKeyChain); } /** @@ -252,6 +264,21 @@ public Optional> chain() { return Optional.ofNullable(this.chain); } + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + @Import(name="cipherGroup") + private @Nullable Output cipherGroup; + + /** + * @return Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + public Optional> cipherGroup() { + return Optional.ofNullable(this.cipherGroup); + } + /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. * @@ -862,10 +889,11 @@ private ProfileClientSslState(ProfileClientSslState $) { this.cacheTimeout = $.cacheTimeout; this.cert = $.cert; this.certExtensionIncludes = $.certExtensionIncludes; - this.certKeyChains = $.certKeyChains; + this.certKeyChain = $.certKeyChain; this.certLifeSpan = $.certLifeSpan; this.certLookupByIpaddrPort = $.certLookupByIpaddrPort; this.chain = $.chain; + this.cipherGroup = $.cipherGroup; this.ciphers = $.ciphers; this.clientCertCa = $.clientCertCa; this.crlFile = $.crlFile; @@ -1189,17 +1217,29 @@ public Builder certExtensionIncludes(String... certExtensionIncludes) { return certExtensionIncludes(List.of(certExtensionIncludes)); } - public Builder certKeyChains(@Nullable Output> certKeyChains) { - $.certKeyChains = certKeyChains; + /** + * @return builder + * + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + public Builder certKeyChain(@Nullable Output certKeyChain) { + $.certKeyChain = certKeyChain; return this; } - public Builder certKeyChains(List certKeyChains) { - return certKeyChains(Output.of(certKeyChains)); - } - - public Builder certKeyChains(ProfileClientSslCertKeyChainArgs... certKeyChains) { - return certKeyChains(List.of(certKeyChains)); + /** + * @return builder + * + * @deprecated + * This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + * + */ + @Deprecated /* This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. */ + public Builder certKeyChain(ProfileClientSslCertKeyChainArgs certKeyChain) { + return certKeyChain(Output.of(certKeyChain)); } /** @@ -1265,6 +1305,27 @@ public Builder chain(String chain) { return chain(Output.of(chain)); } + /** + * @param cipherGroup Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + * @return builder + * + */ + public Builder cipherGroup(@Nullable Output cipherGroup) { + $.cipherGroup = cipherGroup; + return this; + } + + /** + * @param cipherGroup Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + * @return builder + * + */ + public Builder cipherGroup(String cipherGroup) { + return cipherGroup(Output.of(cipherGroup)); + } + /** * @param ciphers Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileFastL4State.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileFastL4State.java index db562e72..1c975f41 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileFastL4State.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileFastL4State.java @@ -137,14 +137,59 @@ public Optional> keepaliveInterval() { } /** - * Name of the profile_fastl4 + * Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + */ + @Import(name="lateBinding") + private @Nullable Output lateBinding; + + /** + * @return Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + */ + public Optional> lateBinding() { + return Optional.ofNullable(this.lateBinding); + } + + /** + * 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. + * + */ + @Import(name="looseClose") + private @Nullable Output looseClose; + + /** + * @return 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. + * + */ + public Optional> looseClose() { + return Optional.ofNullable(this.looseClose); + } + + /** + * 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. + * + */ + @Import(name="looseInitiation") + private @Nullable Output looseInitiation; + + /** + * @return 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. + * + */ + public Optional> looseInitiation() { + return Optional.ofNullable(this.looseInitiation); + } + + /** + * 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`) * */ @Import(name="name") private @Nullable Output name; /** - * @return Name of the profile_fastl4 + * @return 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`) * */ public Optional> name() { @@ -152,20 +197,50 @@ public Optional> name() { } /** - * Displays the administrative partition within which this profile resides + * name of partition * */ @Import(name="partition") private @Nullable Output partition; /** - * @return Displays the administrative partition within which this profile resides + * @return name of partition * */ public Optional> partition() { return Optional.ofNullable(this.partition); } + /** + * Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + */ + @Import(name="receiveWindowsize") + private @Nullable Output receiveWindowsize; + + /** + * @return Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + */ + public Optional> receiveWindowsize() { + return Optional.ofNullable(this.receiveWindowsize); + } + + /** + * 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`. + * + */ + @Import(name="tcpHandshakeTimeout") + private @Nullable Output tcpHandshakeTimeout; + + /** + * @return 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`. + * + */ + public Optional> tcpHandshakeTimeout() { + return Optional.ofNullable(this.tcpHandshakeTimeout); + } + private ProfileFastL4State() {} private ProfileFastL4State(ProfileFastL4State $) { @@ -177,8 +252,13 @@ private ProfileFastL4State(ProfileFastL4State $) { this.iptosToclient = $.iptosToclient; this.iptosToserver = $.iptosToserver; this.keepaliveInterval = $.keepaliveInterval; + this.lateBinding = $.lateBinding; + this.looseClose = $.looseClose; + this.looseInitiation = $.looseInitiation; this.name = $.name; this.partition = $.partition; + this.receiveWindowsize = $.receiveWindowsize; + this.tcpHandshakeTimeout = $.tcpHandshakeTimeout; } public static Builder builder() { @@ -368,7 +448,70 @@ public Builder keepaliveInterval(String keepaliveInterval) { } /** - * @param name Name of the profile_fastl4 + * @param lateBinding Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + * @return builder + * + */ + public Builder lateBinding(@Nullable Output lateBinding) { + $.lateBinding = lateBinding; + return this; + } + + /** + * @param lateBinding Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + * + * @return builder + * + */ + public Builder lateBinding(String lateBinding) { + return lateBinding(Output.of(lateBinding)); + } + + /** + * @param looseClose 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. + * + * @return builder + * + */ + public Builder looseClose(@Nullable Output looseClose) { + $.looseClose = looseClose; + return this; + } + + /** + * @param looseClose 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. + * + * @return builder + * + */ + public Builder looseClose(String looseClose) { + return looseClose(Output.of(looseClose)); + } + + /** + * @param looseInitiation 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. + * + * @return builder + * + */ + public Builder looseInitiation(@Nullable Output looseInitiation) { + $.looseInitiation = looseInitiation; + return this; + } + + /** + * @param looseInitiation 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. + * + * @return builder + * + */ + public Builder looseInitiation(String looseInitiation) { + return looseInitiation(Output.of(looseInitiation)); + } + + /** + * @param name 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`) * * @return builder * @@ -379,7 +522,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name of the profile_fastl4 + * @param name 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`) * * @return builder * @@ -389,7 +532,7 @@ public Builder name(String name) { } /** - * @param partition Displays the administrative partition within which this profile resides + * @param partition name of partition * * @return builder * @@ -400,7 +543,7 @@ public Builder partition(@Nullable Output partition) { } /** - * @param partition Displays the administrative partition within which this profile resides + * @param partition name of partition * * @return builder * @@ -409,6 +552,48 @@ public Builder partition(String partition) { return partition(Output.of(partition)); } + /** + * @param receiveWindowsize Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + * @return builder + * + */ + public Builder receiveWindowsize(@Nullable Output receiveWindowsize) { + $.receiveWindowsize = receiveWindowsize; + return this; + } + + /** + * @param receiveWindowsize Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + * + * @return builder + * + */ + public Builder receiveWindowsize(Integer receiveWindowsize) { + return receiveWindowsize(Output.of(receiveWindowsize)); + } + + /** + * @param tcpHandshakeTimeout 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`. + * + * @return builder + * + */ + public Builder tcpHandshakeTimeout(@Nullable Output tcpHandshakeTimeout) { + $.tcpHandshakeTimeout = tcpHandshakeTimeout; + return this; + } + + /** + * @param tcpHandshakeTimeout 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`. + * + * @return builder + * + */ + public Builder tcpHandshakeTimeout(String tcpHandshakeTimeout) { + return tcpHandshakeTimeout(Output.of(tcpHandshakeTimeout)); + } + public ProfileFastL4State build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileHttpCompressState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileHttpCompressState.java index 716a936e..11ef1ef5 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileHttpCompressState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileHttpCompressState.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -16,6 +17,21 @@ public final class ProfileHttpCompressState extends com.pulumi.resources.Resourc public static final ProfileHttpCompressState Empty = new ProfileHttpCompressState(); + /** + * 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 `4096` bytes. + * + */ + @Import(name="compressionBuffersize") + private @Nullable Output compressionBuffersize; + + /** + * @return 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 `4096` bytes. + * + */ + public Optional> compressionBuffersize() { + return Optional.ofNullable(this.compressionBuffersize); + } + /** * 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. * @@ -46,6 +62,21 @@ public Optional>> contentTypeIncludes() { return Optional.ofNullable(this.contentTypeIncludes); } + /** + * 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 `enabled`. + * + */ + @Import(name="cpuSaver") + private @Nullable Output cpuSaver; + + /** + * @return 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 `enabled`. + * + */ + public Optional> cpuSaver() { + return Optional.ofNullable(this.cpuSaver); + } + /** * 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. * @@ -62,14 +93,74 @@ public Optional> defaultsFrom() { } /** - * Name of the profile_httpcompress + * 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) + * + */ + @Import(name="gzipCompressionLevel") + private @Nullable Output gzipCompressionLevel; + + /** + * @return 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) + * + */ + public Optional> gzipCompressionLevel() { + return Optional.ofNullable(this.gzipCompressionLevel); + } + + /** + * 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`. + * + */ + @Import(name="gzipMemoryLevel") + private @Nullable Output gzipMemoryLevel; + + /** + * @return 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`. + * + */ + public Optional> gzipMemoryLevel() { + return Optional.ofNullable(this.gzipMemoryLevel); + } + + /** + * Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + */ + @Import(name="gzipWindowSize") + private @Nullable Output gzipWindowSize; + + /** + * @return Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + */ + public Optional> gzipWindowSize() { + return Optional.ofNullable(this.gzipWindowSize); + } + + /** + * Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + */ + @Import(name="keepAcceptEncoding") + private @Nullable Output keepAcceptEncoding; + + /** + * @return Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + */ + public Optional> keepAcceptEncoding() { + return Optional.ofNullable(this.keepAcceptEncoding); + } + + /** + * 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`) * */ @Import(name="name") private @Nullable Output name; /** - * @return Name of the profile_httpcompress + * @return 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`) * */ public Optional> name() { @@ -106,15 +197,37 @@ public Optional>> uriIncludes() { return Optional.ofNullable(this.uriIncludes); } + /** + * Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + */ + @Import(name="varyHeader") + private @Nullable Output varyHeader; + + /** + * @return Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + */ + public Optional> varyHeader() { + return Optional.ofNullable(this.varyHeader); + } + private ProfileHttpCompressState() {} private ProfileHttpCompressState(ProfileHttpCompressState $) { + this.compressionBuffersize = $.compressionBuffersize; this.contentTypeExcludes = $.contentTypeExcludes; this.contentTypeIncludes = $.contentTypeIncludes; + this.cpuSaver = $.cpuSaver; this.defaultsFrom = $.defaultsFrom; + this.gzipCompressionLevel = $.gzipCompressionLevel; + this.gzipMemoryLevel = $.gzipMemoryLevel; + this.gzipWindowSize = $.gzipWindowSize; + this.keepAcceptEncoding = $.keepAcceptEncoding; this.name = $.name; this.uriExcludes = $.uriExcludes; this.uriIncludes = $.uriIncludes; + this.varyHeader = $.varyHeader; } public static Builder builder() { @@ -135,6 +248,27 @@ public Builder(ProfileHttpCompressState defaults) { $ = new ProfileHttpCompressState(Objects.requireNonNull(defaults)); } + /** + * @param compressionBuffersize 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 `4096` bytes. + * + * @return builder + * + */ + public Builder compressionBuffersize(@Nullable Output compressionBuffersize) { + $.compressionBuffersize = compressionBuffersize; + return this; + } + + /** + * @param compressionBuffersize 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 `4096` bytes. + * + * @return builder + * + */ + public Builder compressionBuffersize(Integer compressionBuffersize) { + return compressionBuffersize(Output.of(compressionBuffersize)); + } + /** * @param contentTypeExcludes 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. * @@ -197,6 +331,27 @@ public Builder contentTypeIncludes(String... contentTypeIncludes) { return contentTypeIncludes(List.of(contentTypeIncludes)); } + /** + * @param cpuSaver 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 `enabled`. + * + * @return builder + * + */ + public Builder cpuSaver(@Nullable Output cpuSaver) { + $.cpuSaver = cpuSaver; + return this; + } + + /** + * @param cpuSaver 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 `enabled`. + * + * @return builder + * + */ + public Builder cpuSaver(String cpuSaver) { + return cpuSaver(Output.of(cpuSaver)); + } + /** * @param defaultsFrom 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. * @@ -219,7 +374,91 @@ public Builder defaultsFrom(String defaultsFrom) { } /** - * @param name Name of the profile_httpcompress + * @param gzipCompressionLevel 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) + * + * @return builder + * + */ + public Builder gzipCompressionLevel(@Nullable Output gzipCompressionLevel) { + $.gzipCompressionLevel = gzipCompressionLevel; + return this; + } + + /** + * @param gzipCompressionLevel 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) + * + * @return builder + * + */ + public Builder gzipCompressionLevel(Integer gzipCompressionLevel) { + return gzipCompressionLevel(Output.of(gzipCompressionLevel)); + } + + /** + * @param gzipMemoryLevel 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`. + * + * @return builder + * + */ + public Builder gzipMemoryLevel(@Nullable Output gzipMemoryLevel) { + $.gzipMemoryLevel = gzipMemoryLevel; + return this; + } + + /** + * @param gzipMemoryLevel 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`. + * + * @return builder + * + */ + public Builder gzipMemoryLevel(Integer gzipMemoryLevel) { + return gzipMemoryLevel(Output.of(gzipMemoryLevel)); + } + + /** + * @param gzipWindowSize Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + * @return builder + * + */ + public Builder gzipWindowSize(@Nullable Output gzipWindowSize) { + $.gzipWindowSize = gzipWindowSize; + return this; + } + + /** + * @param gzipWindowSize Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + * + * @return builder + * + */ + public Builder gzipWindowSize(Integer gzipWindowSize) { + return gzipWindowSize(Output.of(gzipWindowSize)); + } + + /** + * @param keepAcceptEncoding Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + * @return builder + * + */ + public Builder keepAcceptEncoding(@Nullable Output keepAcceptEncoding) { + $.keepAcceptEncoding = keepAcceptEncoding; + return this; + } + + /** + * @param keepAcceptEncoding Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + * + * @return builder + * + */ + public Builder keepAcceptEncoding(String keepAcceptEncoding) { + return keepAcceptEncoding(Output.of(keepAcceptEncoding)); + } + + /** + * @param name 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`) * * @return builder * @@ -230,7 +469,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name of the profile_httpcompress + * @param name 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`) * * @return builder * @@ -301,6 +540,27 @@ public Builder uriIncludes(String... uriIncludes) { return uriIncludes(List.of(uriIncludes)); } + /** + * @param varyHeader Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + * @return builder + * + */ + public Builder varyHeader(@Nullable Output varyHeader) { + $.varyHeader = varyHeader; + return this; + } + + /** + * @param varyHeader Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + * + * @return builder + * + */ + public Builder varyHeader(String varyHeader) { + return varyHeader(Output.of(varyHeader)); + } + public ProfileHttpCompressState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileServerSslState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileServerSslState.java index aed52e78..cc384364 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileServerSslState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileServerSslState.java @@ -244,6 +244,21 @@ public Optional> chain() { return Optional.ofNullable(this.chain); } + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + @Import(name="cipherGroup") + private @Nullable Output cipherGroup; + + /** + * @return Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + */ + public Optional> cipherGroup() { + return Optional.ofNullable(this.cipherGroup); + } + /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. * @@ -799,6 +814,7 @@ private ProfileServerSslState(ProfileServerSslState $) { this.cacheTimeout = $.cacheTimeout; this.cert = $.cert; this.chain = $.chain; + this.cipherGroup = $.cipherGroup; this.ciphers = $.ciphers; this.defaultsFrom = $.defaultsFrom; this.expireCertResponseControl = $.expireCertResponseControl; @@ -1191,6 +1207,27 @@ public Builder chain(String chain) { return chain(Output.of(chain)); } + /** + * @param cipherGroup Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + * @return builder + * + */ + public Builder cipherGroup(@Nullable Output cipherGroup) { + $.cipherGroup = cipherGroup; + return this; + } + + /** + * @param cipherGroup Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + * + * @return builder + * + */ + public Builder cipherGroup(String cipherGroup) { + return cipherGroup(Output.of(cipherGroup)); + } + /** * @param ciphers Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileTcpState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileTcpState.java index 21987d67..1851ffc1 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileTcpState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/ProfileTcpState.java @@ -31,6 +31,21 @@ public Optional> closeWaitTimeout() { return Optional.ofNullable(this.closeWaitTimeout); } + /** + * Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + */ + @Import(name="congestionControl") + private @Nullable Output congestionControl; + + /** + * @return Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + */ + public Optional> congestionControl() { + return Optional.ofNullable(this.congestionControl); + } + /** * 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. * @@ -62,14 +77,44 @@ public Optional> deferredAccept() { } /** - * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * 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. + * + */ + @Import(name="delayedAcks") + private @Nullable Output delayedAcks; + + /** + * @return 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. + * + */ + public Optional> delayedAcks() { + return Optional.ofNullable(this.delayedAcks); + } + + /** + * 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. + * + */ + @Import(name="earlyRetransmit") + private @Nullable Output earlyRetransmit; + + /** + * @return 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. + * + */ + public Optional> earlyRetransmit() { + return Optional.ofNullable(this.earlyRetransmit); + } + + /** + * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * */ @Import(name="fastOpen") private @Nullable Output fastOpen; /** - * @return When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * @return When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * */ public Optional> fastOpen() { @@ -121,6 +166,21 @@ public Optional> idleTimeout() { return Optional.ofNullable(this.idleTimeout); } + /** + * 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. + * + */ + @Import(name="initialCongestionWindowsize") + private @Nullable Output initialCongestionWindowsize; + + /** + * @return 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. + * + */ + public Optional> initialCongestionWindowsize() { + return Optional.ofNullable(this.initialCongestionWindowsize); + } + /** * Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. * @@ -137,14 +197,29 @@ public Optional> keepaliveInterval() { } /** - * Name of the profile_tcp + * 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. + * + */ + @Import(name="nagle") + private @Nullable Output nagle; + + /** + * @return 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. + * + */ + public Optional> nagle() { + return Optional.ofNullable(this.nagle); + } + + /** + * 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 ) * */ @Import(name="name") private @Nullable Output name; /** - * @return Name of the profile_tcp + * @return 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 ) * */ public Optional> name() { @@ -152,33 +227,150 @@ public Optional> name() { } /** - * Displays the administrative partition within which this profile resides + * name of partition * */ @Import(name="partition") private @Nullable Output partition; /** - * @return Displays the administrative partition within which this profile resides + * @return name of partition * */ public Optional> partition() { return Optional.ofNullable(this.partition); } + /** + * Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + */ + @Import(name="proxybufferHigh") + private @Nullable Output proxybufferHigh; + + /** + * @return Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + */ + public Optional> proxybufferHigh() { + return Optional.ofNullable(this.proxybufferHigh); + } + + /** + * 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. + * + */ + @Import(name="receiveWindowsize") + private @Nullable Output receiveWindowsize; + + /** + * @return 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. + * + */ + public Optional> receiveWindowsize() { + return Optional.ofNullable(this.receiveWindowsize); + } + + /** + * Specifies the SEND window size. The default is 131072 bytes. + * + */ + @Import(name="sendBuffersize") + private @Nullable Output sendBuffersize; + + /** + * @return Specifies the SEND window size. The default is 131072 bytes. + * + */ + public Optional> sendBuffersize() { + return Optional.ofNullable(this.sendBuffersize); + } + + /** + * 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. + * + */ + @Import(name="taillossProbe") + private @Nullable Output taillossProbe; + + /** + * @return 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. + * + */ + public Optional> taillossProbe() { + return Optional.ofNullable(this.taillossProbe); + } + + /** + * 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. + * + */ + @Import(name="timewaitRecycle") + private @Nullable Output timewaitRecycle; + + /** + * @return 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. + * + */ + public Optional> timewaitRecycle() { + return Optional.ofNullable(this.timewaitRecycle); + } + + /** + * 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 `disabled`. + * + */ + @Import(name="verifiedAccept") + private @Nullable Output verifiedAccept; + + /** + * @return 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 `disabled`. + * + */ + public Optional> verifiedAccept() { + return Optional.ofNullable(this.verifiedAccept); + } + + /** + * Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + */ + @Import(name="zerowindowTimeout") + private @Nullable Output zerowindowTimeout; + + /** + * @return Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + */ + public Optional> zerowindowTimeout() { + return Optional.ofNullable(this.zerowindowTimeout); + } + private ProfileTcpState() {} private ProfileTcpState(ProfileTcpState $) { this.closeWaitTimeout = $.closeWaitTimeout; + this.congestionControl = $.congestionControl; this.defaultsFrom = $.defaultsFrom; this.deferredAccept = $.deferredAccept; + this.delayedAcks = $.delayedAcks; + this.earlyRetransmit = $.earlyRetransmit; this.fastOpen = $.fastOpen; this.finwait2timeout = $.finwait2timeout; this.finwaitTimeout = $.finwaitTimeout; this.idleTimeout = $.idleTimeout; + this.initialCongestionWindowsize = $.initialCongestionWindowsize; this.keepaliveInterval = $.keepaliveInterval; + this.nagle = $.nagle; this.name = $.name; this.partition = $.partition; + this.proxybufferHigh = $.proxybufferHigh; + this.receiveWindowsize = $.receiveWindowsize; + this.sendBuffersize = $.sendBuffersize; + this.taillossProbe = $.taillossProbe; + this.timewaitRecycle = $.timewaitRecycle; + this.verifiedAccept = $.verifiedAccept; + this.zerowindowTimeout = $.zerowindowTimeout; } public static Builder builder() { @@ -220,6 +412,27 @@ public Builder closeWaitTimeout(Integer closeWaitTimeout) { return closeWaitTimeout(Output.of(closeWaitTimeout)); } + /** + * @param congestionControl Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + * @return builder + * + */ + public Builder congestionControl(@Nullable Output congestionControl) { + $.congestionControl = congestionControl; + return this; + } + + /** + * @param congestionControl Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + * + * @return builder + * + */ + public Builder congestionControl(String congestionControl) { + return congestionControl(Output.of(congestionControl)); + } + /** * @param defaultsFrom 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. * @@ -263,7 +476,49 @@ public Builder deferredAccept(String deferredAccept) { } /** - * @param fastOpen When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * @param delayedAcks 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. + * + * @return builder + * + */ + public Builder delayedAcks(@Nullable Output delayedAcks) { + $.delayedAcks = delayedAcks; + return this; + } + + /** + * @param delayedAcks 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. + * + * @return builder + * + */ + public Builder delayedAcks(String delayedAcks) { + return delayedAcks(Output.of(delayedAcks)); + } + + /** + * @param earlyRetransmit 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. + * + * @return builder + * + */ + public Builder earlyRetransmit(@Nullable Output earlyRetransmit) { + $.earlyRetransmit = earlyRetransmit; + return this; + } + + /** + * @param earlyRetransmit 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. + * + * @return builder + * + */ + public Builder earlyRetransmit(String earlyRetransmit) { + return earlyRetransmit(Output.of(earlyRetransmit)); + } + + /** + * @param fastOpen When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * * @return builder * @@ -274,7 +529,7 @@ public Builder fastOpen(@Nullable Output fastOpen) { } /** - * @param fastOpen When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * @param fastOpen When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. * * @return builder * @@ -346,6 +601,27 @@ public Builder idleTimeout(Integer idleTimeout) { return idleTimeout(Output.of(idleTimeout)); } + /** + * @param initialCongestionWindowsize 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. + * + * @return builder + * + */ + public Builder initialCongestionWindowsize(@Nullable Output initialCongestionWindowsize) { + $.initialCongestionWindowsize = initialCongestionWindowsize; + return this; + } + + /** + * @param initialCongestionWindowsize 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. + * + * @return builder + * + */ + public Builder initialCongestionWindowsize(Integer initialCongestionWindowsize) { + return initialCongestionWindowsize(Output.of(initialCongestionWindowsize)); + } + /** * @param keepaliveInterval Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. * @@ -368,7 +644,28 @@ public Builder keepaliveInterval(Integer keepaliveInterval) { } /** - * @param name Name of the profile_tcp + * @param nagle 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. + * + * @return builder + * + */ + public Builder nagle(@Nullable Output nagle) { + $.nagle = nagle; + return this; + } + + /** + * @param nagle 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. + * + * @return builder + * + */ + public Builder nagle(String nagle) { + return nagle(Output.of(nagle)); + } + + /** + * @param name 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 ) * * @return builder * @@ -379,7 +676,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name of the profile_tcp + * @param name 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 ) * * @return builder * @@ -389,7 +686,7 @@ public Builder name(String name) { } /** - * @param partition Displays the administrative partition within which this profile resides + * @param partition name of partition * * @return builder * @@ -400,7 +697,7 @@ public Builder partition(@Nullable Output partition) { } /** - * @param partition Displays the administrative partition within which this profile resides + * @param partition name of partition * * @return builder * @@ -409,6 +706,153 @@ public Builder partition(String partition) { return partition(Output.of(partition)); } + /** + * @param proxybufferHigh Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + * @return builder + * + */ + public Builder proxybufferHigh(@Nullable Output proxybufferHigh) { + $.proxybufferHigh = proxybufferHigh; + return this; + } + + /** + * @param proxybufferHigh Specifies the proxy buffer level, in bytes, at which the receive window is closed. + * + * @return builder + * + */ + public Builder proxybufferHigh(Integer proxybufferHigh) { + return proxybufferHigh(Output.of(proxybufferHigh)); + } + + /** + * @param receiveWindowsize 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. + * + * @return builder + * + */ + public Builder receiveWindowsize(@Nullable Output receiveWindowsize) { + $.receiveWindowsize = receiveWindowsize; + return this; + } + + /** + * @param receiveWindowsize 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. + * + * @return builder + * + */ + public Builder receiveWindowsize(Integer receiveWindowsize) { + return receiveWindowsize(Output.of(receiveWindowsize)); + } + + /** + * @param sendBuffersize Specifies the SEND window size. The default is 131072 bytes. + * + * @return builder + * + */ + public Builder sendBuffersize(@Nullable Output sendBuffersize) { + $.sendBuffersize = sendBuffersize; + return this; + } + + /** + * @param sendBuffersize Specifies the SEND window size. The default is 131072 bytes. + * + * @return builder + * + */ + public Builder sendBuffersize(Integer sendBuffersize) { + return sendBuffersize(Output.of(sendBuffersize)); + } + + /** + * @param taillossProbe 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. + * + * @return builder + * + */ + public Builder taillossProbe(@Nullable Output taillossProbe) { + $.taillossProbe = taillossProbe; + return this; + } + + /** + * @param taillossProbe 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. + * + * @return builder + * + */ + public Builder taillossProbe(String taillossProbe) { + return taillossProbe(Output.of(taillossProbe)); + } + + /** + * @param timewaitRecycle 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. + * + * @return builder + * + */ + public Builder timewaitRecycle(@Nullable Output timewaitRecycle) { + $.timewaitRecycle = timewaitRecycle; + return this; + } + + /** + * @param timewaitRecycle 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. + * + * @return builder + * + */ + public Builder timewaitRecycle(String timewaitRecycle) { + return timewaitRecycle(Output.of(timewaitRecycle)); + } + + /** + * @param verifiedAccept 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 `disabled`. + * + * @return builder + * + */ + public Builder verifiedAccept(@Nullable Output verifiedAccept) { + $.verifiedAccept = verifiedAccept; + return this; + } + + /** + * @param verifiedAccept 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 `disabled`. + * + * @return builder + * + */ + public Builder verifiedAccept(String verifiedAccept) { + return verifiedAccept(Output.of(verifiedAccept)); + } + + /** + * @param zerowindowTimeout Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + * @return builder + * + */ + public Builder zerowindowTimeout(@Nullable Output zerowindowTimeout) { + $.zerowindowTimeout = zerowindowTimeout; + return this; + } + + /** + * @param zerowindowTimeout Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + * + * @return builder + * + */ + public Builder zerowindowTimeout(Integer zerowindowTimeout) { + return zerowindowTimeout(Output.of(zerowindowTimeout)); + } + public ProfileTcpState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/SnatState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/SnatState.java index 8c10336e..27854472 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/SnatState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/SnatState.java @@ -19,14 +19,14 @@ public final class SnatState extends com.pulumi.resources.ResourceArgs { public static final SnatState Empty = new SnatState(); /** - * -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * */ @Import(name="autolasthop") private @Nullable Output autolasthop; /** - * @return -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * @return Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * */ public Optional> autolasthop() { @@ -218,7 +218,7 @@ public Builder(SnatState defaults) { } /** - * @param autolasthop -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * @param autolasthop Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * * @return builder * @@ -229,7 +229,7 @@ public Builder autolasthop(@Nullable Output autolasthop) { } /** - * @param autolasthop -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * @param autolasthop Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/VirtualServerState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/VirtualServerState.java index f21cc745..cc1a6e54 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/VirtualServerState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/inputs/VirtualServerState.java @@ -85,6 +85,21 @@ public Optional> fallbackPersistenceProfile() { return Optional.ofNullable(this.fallbackPersistenceProfile); } + /** + * 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`. + * + */ + @Import(name="firewallEnforcedPolicy") + private @Nullable Output firewallEnforcedPolicy; + + /** + * @return 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`. + * + */ + public Optional> firewallEnforcedPolicy() { + return Optional.ofNullable(this.firewallEnforcedPolicy); + } + /** * Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) * @@ -250,14 +265,14 @@ public Optional>> serverProfiles() { } /** - * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * */ @Import(name="snatpool") private @Nullable Output snatpool; /** - * @return Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * @return Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * */ public Optional> snatpool() { @@ -280,20 +295,35 @@ public Optional> source() { } /** - * Can be either omitted for none or the values automap or snat + * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * */ @Import(name="sourceAddressTranslation") private @Nullable Output sourceAddressTranslation; /** - * @return Can be either omitted for none or the values automap or snat + * @return Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * */ public Optional> sourceAddressTranslation() { return Optional.ofNullable(this.sourceAddressTranslation); } + /** + * Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + */ + @Import(name="sourcePort") + private @Nullable Output sourcePort; + + /** + * @return Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + */ + public Optional> sourcePort() { + return Optional.ofNullable(this.sourcePort); + } + /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled * @@ -309,6 +339,21 @@ public Optional> state() { return Optional.ofNullable(this.state); } + /** + * Specifies destination traffic matching information to which the virtual server sends traffic + * + */ + @Import(name="trafficmatchingCriteria") + private @Nullable Output trafficmatchingCriteria; + + /** + * @return Specifies destination traffic matching information to which the virtual server sends traffic + * + */ + public Optional> trafficmatchingCriteria() { + return Optional.ofNullable(this.trafficmatchingCriteria); + } + /** * 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. * @@ -379,6 +424,7 @@ private VirtualServerState(VirtualServerState $) { this.description = $.description; this.destination = $.destination; this.fallbackPersistenceProfile = $.fallbackPersistenceProfile; + this.firewallEnforcedPolicy = $.firewallEnforcedPolicy; this.ipProtocol = $.ipProtocol; this.irules = $.irules; this.mask = $.mask; @@ -394,7 +440,9 @@ private VirtualServerState(VirtualServerState $) { this.snatpool = $.snatpool; this.source = $.source; this.sourceAddressTranslation = $.sourceAddressTranslation; + this.sourcePort = $.sourcePort; this.state = $.state; + this.trafficmatchingCriteria = $.trafficmatchingCriteria; this.translateAddress = $.translateAddress; this.translatePort = $.translatePort; this.vlans = $.vlans; @@ -522,6 +570,27 @@ public Builder fallbackPersistenceProfile(String fallbackPersistenceProfile) { return fallbackPersistenceProfile(Output.of(fallbackPersistenceProfile)); } + /** + * @param firewallEnforcedPolicy 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`. + * + * @return builder + * + */ + public Builder firewallEnforcedPolicy(@Nullable Output firewallEnforcedPolicy) { + $.firewallEnforcedPolicy = firewallEnforcedPolicy; + return this; + } + + /** + * @param firewallEnforcedPolicy 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`. + * + * @return builder + * + */ + public Builder firewallEnforcedPolicy(String firewallEnforcedPolicy) { + return firewallEnforcedPolicy(Output.of(firewallEnforcedPolicy)); + } + /** * @param ipProtocol Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) * @@ -805,7 +874,7 @@ public Builder serverProfiles(String... serverProfiles) { } /** - * @param snatpool Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * @param snatpool Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * * @return builder * @@ -816,7 +885,7 @@ public Builder snatpool(@Nullable Output snatpool) { } /** - * @param snatpool Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * @param snatpool Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. * * @return builder * @@ -847,7 +916,7 @@ public Builder source(String source) { } /** - * @param sourceAddressTranslation Can be either omitted for none or the values automap or snat + * @param sourceAddressTranslation Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * * @return builder * @@ -858,7 +927,7 @@ public Builder sourceAddressTranslation(@Nullable Output sourceAddressTr } /** - * @param sourceAddressTranslation Can be either omitted for none or the values automap or snat + * @param sourceAddressTranslation Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. * * @return builder * @@ -867,6 +936,27 @@ public Builder sourceAddressTranslation(String sourceAddressTranslation) { return sourceAddressTranslation(Output.of(sourceAddressTranslation)); } + /** + * @param sourcePort Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + * @return builder + * + */ + public Builder sourcePort(@Nullable Output sourcePort) { + $.sourcePort = sourcePort; + return this; + } + + /** + * @param sourcePort Specifies whether the system preserves the source port of the connection. The default is `preserve`. + * + * @return builder + * + */ + public Builder sourcePort(String sourcePort) { + return sourcePort(Output.of(sourcePort)); + } + /** * @param state Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled * @@ -888,6 +978,27 @@ public Builder state(String state) { return state(Output.of(state)); } + /** + * @param trafficmatchingCriteria Specifies destination traffic matching information to which the virtual server sends traffic + * + * @return builder + * + */ + public Builder trafficmatchingCriteria(@Nullable Output trafficmatchingCriteria) { + $.trafficmatchingCriteria = trafficmatchingCriteria; + return this; + } + + /** + * @param trafficmatchingCriteria Specifies destination traffic matching information to which the virtual server sends traffic + * + * @return builder + * + */ + public Builder trafficmatchingCriteria(String trafficmatchingCriteria) { + return trafficmatchingCriteria(Output.of(trafficmatchingCriteria)); + } + /** * @param translateAddress 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. * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/GetPolicyRuleCondition.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/GetPolicyRuleCondition.java index 8ab36c4e..a22efee1 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/GetPolicyRuleCondition.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/GetPolicyRuleCondition.java @@ -29,6 +29,7 @@ public final class GetPolicyRuleCondition { private Boolean countryCode; private Boolean countryName; private Boolean cpuUsage; + private String datagroup; private Boolean deviceMake; private Boolean deviceModel; private Boolean domain; @@ -155,6 +156,9 @@ public Boolean countryName() { public Boolean cpuUsage() { return this.cpuUsage; } + public String datagroup() { + return this.datagroup; + } public Boolean deviceMake() { return this.deviceMake; } @@ -401,6 +405,7 @@ public static final class Builder { private Boolean countryCode; private Boolean countryName; private Boolean cpuUsage; + private String datagroup; private Boolean deviceMake; private Boolean deviceModel; private Boolean domain; @@ -494,6 +499,7 @@ public Builder(GetPolicyRuleCondition defaults) { this.countryCode = defaults.countryCode; this.countryName = defaults.countryName; this.cpuUsage = defaults.cpuUsage; + this.datagroup = defaults.datagroup; this.deviceMake = defaults.deviceMake; this.deviceModel = defaults.deviceModel; this.domain = defaults.domain; @@ -655,6 +661,11 @@ public Builder cpuUsage(Boolean cpuUsage) { return this; } @CustomType.Setter + public Builder datagroup(String datagroup) { + this.datagroup = Objects.requireNonNull(datagroup); + return this; + } + @CustomType.Setter public Builder deviceMake(Boolean deviceMake) { this.deviceMake = Objects.requireNonNull(deviceMake); return this; @@ -1041,6 +1052,7 @@ public GetPolicyRuleCondition build() { o.countryCode = countryCode; o.countryName = countryName; o.cpuUsage = cpuUsage; + o.datagroup = datagroup; o.deviceMake = deviceMake; o.deviceModel = deviceModel; o.domain = domain; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/PolicyRule.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/PolicyRule.java index 20b829d0..5af09049 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/PolicyRule.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/PolicyRule.java @@ -13,23 +13,39 @@ @CustomType public final class PolicyRule { + /** + * @return Block type. See action block for more details. + * + */ private @Nullable List actions; + /** + * @return Block type. See condition block for more details. + * + */ private @Nullable List conditions; /** - * @return Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @return Name of Rule to be applied in policy. * */ private String name; private PolicyRule() {} + /** + * @return Block type. See action block for more details. + * + */ public List actions() { return this.actions == null ? List.of() : this.actions; } + /** + * @return Block type. See condition block for more details. + * + */ public List conditions() { return this.conditions == null ? List.of() : this.conditions; } /** - * @return Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * @return Name of Rule to be applied in policy. * */ public String name() { diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/PolicyRuleCondition.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/PolicyRuleCondition.java index 2807c10e..f58fc065 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/PolicyRuleCondition.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ltm/outputs/PolicyRuleCondition.java @@ -23,6 +23,7 @@ public final class PolicyRuleCondition { private @Nullable Boolean caseSensitive; private @Nullable Boolean cipher; private @Nullable Boolean cipherBits; + private @Nullable Boolean clientAccepted; private @Nullable Boolean clientSsl; private @Nullable Boolean code; private @Nullable Boolean commonName; @@ -31,6 +32,7 @@ public final class PolicyRuleCondition { private @Nullable Boolean countryCode; private @Nullable Boolean countryName; private @Nullable Boolean cpuUsage; + private @Nullable String datagroup; private @Nullable Boolean deviceMake; private @Nullable Boolean deviceModel; private @Nullable Boolean domain; @@ -134,6 +136,9 @@ public Optional cipher() { public Optional cipherBits() { return Optional.ofNullable(this.cipherBits); } + public Optional clientAccepted() { + return Optional.ofNullable(this.clientAccepted); + } public Optional clientSsl() { return Optional.ofNullable(this.clientSsl); } @@ -158,6 +163,9 @@ public Optional countryName() { public Optional cpuUsage() { return Optional.ofNullable(this.cpuUsage); } + public Optional datagroup() { + return Optional.ofNullable(this.datagroup); + } public Optional deviceMake() { return Optional.ofNullable(this.deviceMake); } @@ -399,6 +407,7 @@ public static final class Builder { private @Nullable Boolean caseSensitive; private @Nullable Boolean cipher; private @Nullable Boolean cipherBits; + private @Nullable Boolean clientAccepted; private @Nullable Boolean clientSsl; private @Nullable Boolean code; private @Nullable Boolean commonName; @@ -407,6 +416,7 @@ public static final class Builder { private @Nullable Boolean countryCode; private @Nullable Boolean countryName; private @Nullable Boolean cpuUsage; + private @Nullable String datagroup; private @Nullable Boolean deviceMake; private @Nullable Boolean deviceModel; private @Nullable Boolean domain; @@ -493,6 +503,7 @@ public Builder(PolicyRuleCondition defaults) { this.caseSensitive = defaults.caseSensitive; this.cipher = defaults.cipher; this.cipherBits = defaults.cipherBits; + this.clientAccepted = defaults.clientAccepted; this.clientSsl = defaults.clientSsl; this.code = defaults.code; this.commonName = defaults.commonName; @@ -501,6 +512,7 @@ public Builder(PolicyRuleCondition defaults) { this.countryCode = defaults.countryCode; this.countryName = defaults.countryName; this.cpuUsage = defaults.cpuUsage; + this.datagroup = defaults.datagroup; this.deviceMake = defaults.deviceMake; this.deviceModel = defaults.deviceModel; this.domain = defaults.domain; @@ -623,6 +635,11 @@ public Builder cipherBits(@Nullable Boolean cipherBits) { return this; } @CustomType.Setter + public Builder clientAccepted(@Nullable Boolean clientAccepted) { + this.clientAccepted = clientAccepted; + return this; + } + @CustomType.Setter public Builder clientSsl(@Nullable Boolean clientSsl) { this.clientSsl = clientSsl; return this; @@ -663,6 +680,11 @@ public Builder cpuUsage(@Nullable Boolean cpuUsage) { return this; } @CustomType.Setter + public Builder datagroup(@Nullable String datagroup) { + this.datagroup = datagroup; + return this; + } + @CustomType.Setter public Builder deviceMake(@Nullable Boolean deviceMake) { this.deviceMake = deviceMake; return this; @@ -1046,6 +1068,7 @@ public PolicyRuleCondition build() { o.caseSensitive = caseSensitive; o.cipher = cipher; o.cipherBits = cipherBits; + o.clientAccepted = clientAccepted; o.clientSsl = clientSsl; o.code = code; o.commonName = commonName; @@ -1054,6 +1077,7 @@ public PolicyRuleCondition build() { o.countryCode = countryCode; o.countryName = countryName; o.cpuUsage = cpuUsage; + o.datagroup = datagroup; o.deviceMake = deviceMake; o.deviceModel = deviceModel; o.domain = domain; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppFastCreateMonitor.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppMonitor.java similarity index 93% rename from sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppFastCreateMonitor.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppMonitor.java index c32f0b24..8702a80b 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppFastCreateMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppMonitor.java @@ -12,7 +12,7 @@ import javax.annotation.Nullable; @CustomType -public final class FastHttpAppFastCreateMonitor { +public final class FastHttpAppMonitor { /** * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. * @@ -44,7 +44,7 @@ public final class FastHttpAppFastCreateMonitor { */ private @Nullable String username; - private FastHttpAppFastCreateMonitor() {} + private FastHttpAppMonitor() {} /** * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. * @@ -92,7 +92,7 @@ public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpAppFastCreateMonitor defaults) { + public static Builder builder(FastHttpAppMonitor defaults) { return new Builder(defaults); } @CustomType.Builder @@ -104,7 +104,7 @@ public static final class Builder { private @Nullable String sendString; private @Nullable String username; public Builder() {} - public Builder(FastHttpAppFastCreateMonitor defaults) { + public Builder(FastHttpAppMonitor defaults) { Objects.requireNonNull(defaults); this.interval = defaults.interval; this.monitorAuth = defaults.monitorAuth; @@ -144,8 +144,8 @@ public Builder username(@Nullable String username) { this.username = username; return this; } - public FastHttpAppFastCreateMonitor build() { - final var o = new FastHttpAppFastCreateMonitor(); + public FastHttpAppMonitor build() { + final var o = new FastHttpAppMonitor(); o.interval = interval; o.monitorAuth = monitorAuth; o.password = password; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppFastCreatePoolMember.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppPoolMember.java similarity index 91% rename from sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppFastCreatePoolMember.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppPoolMember.java index 7242901a..75fc68f8 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppFastCreatePoolMember.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppPoolMember.java @@ -13,7 +13,7 @@ import javax.annotation.Nullable; @CustomType -public final class FastTcpAppFastCreatePoolMember { +public final class FastHttpAppPoolMember { /** * @return List of server address to be used for FAST-Generated Pool. * @@ -40,7 +40,7 @@ public final class FastTcpAppFastCreatePoolMember { */ private @Nullable Boolean shareNodes; - private FastTcpAppFastCreatePoolMember() {} + private FastHttpAppPoolMember() {} /** * @return List of server address to be used for FAST-Generated Pool. * @@ -81,7 +81,7 @@ public static Builder builder() { return new Builder(); } - public static Builder builder(FastTcpAppFastCreatePoolMember defaults) { + public static Builder builder(FastHttpAppPoolMember defaults) { return new Builder(defaults); } @CustomType.Builder @@ -92,7 +92,7 @@ public static final class Builder { private @Nullable Integer priorityGroup; private @Nullable Boolean shareNodes; public Builder() {} - public Builder(FastTcpAppFastCreatePoolMember defaults) { + public Builder(FastHttpAppPoolMember defaults) { Objects.requireNonNull(defaults); this.addresses = defaults.addresses; this.connectionLimit = defaults.connectionLimit; @@ -129,8 +129,8 @@ public Builder shareNodes(@Nullable Boolean shareNodes) { this.shareNodes = shareNodes; return this; } - public FastTcpAppFastCreatePoolMember build() { - final var o = new FastTcpAppFastCreatePoolMember(); + public FastHttpAppPoolMember build() { + final var o = new FastHttpAppPoolMember(); o.addresses = addresses; o.connectionLimit = connectionLimit; o.port = port; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppVirtualServer.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppVirtualServer.java index d1d32ae7..9f36fea4 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppVirtualServer.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppVirtualServer.java @@ -16,7 +16,7 @@ public final class FastHttpAppVirtualServer { */ private String ip; /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ private Integer port; @@ -30,7 +30,7 @@ public String ip() { return this.ip; } /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ public Integer port() { diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppWafSecurityPolicy.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppWafSecurityPolicy.java new file mode 100644 index 00000000..95d5ab76 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppWafSecurityPolicy.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; + +@CustomType +public final class FastHttpAppWafSecurityPolicy { + /** + * @return Setting `true` will enable FAST to create WAF Security Policy. + * + */ + private Boolean enable; + + private FastHttpAppWafSecurityPolicy() {} + /** + * @return Setting `true` will enable FAST to create WAF Security Policy. + * + */ + public Boolean enable() { + return this.enable; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FastHttpAppWafSecurityPolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean enable; + public Builder() {} + public Builder(FastHttpAppWafSecurityPolicy defaults) { + Objects.requireNonNull(defaults); + this.enable = defaults.enable; + } + + @CustomType.Setter + public Builder enable(Boolean enable) { + this.enable = Objects.requireNonNull(enable); + return this; + } + public FastHttpAppWafSecurityPolicy build() { + final var o = new FastHttpAppWafSecurityPolicy(); + o.enable = enable; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppFastCreateMonitor.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppMonitor.java similarity index 92% rename from sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppFastCreateMonitor.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppMonitor.java index 829afb22..1d74b828 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppFastCreateMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppMonitor.java @@ -12,7 +12,7 @@ import javax.annotation.Nullable; @CustomType -public final class FastHttpsAppFastCreateMonitor { +public final class FastHttpsAppMonitor { /** * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. * @@ -44,7 +44,7 @@ public final class FastHttpsAppFastCreateMonitor { */ private @Nullable String username; - private FastHttpsAppFastCreateMonitor() {} + private FastHttpsAppMonitor() {} /** * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. * @@ -92,7 +92,7 @@ public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpsAppFastCreateMonitor defaults) { + public static Builder builder(FastHttpsAppMonitor defaults) { return new Builder(defaults); } @CustomType.Builder @@ -104,7 +104,7 @@ public static final class Builder { private @Nullable String sendString; private @Nullable String username; public Builder() {} - public Builder(FastHttpsAppFastCreateMonitor defaults) { + public Builder(FastHttpsAppMonitor defaults) { Objects.requireNonNull(defaults); this.interval = defaults.interval; this.monitorAuth = defaults.monitorAuth; @@ -144,8 +144,8 @@ public Builder username(@Nullable String username) { this.username = username; return this; } - public FastHttpsAppFastCreateMonitor build() { - final var o = new FastHttpsAppFastCreateMonitor(); + public FastHttpsAppMonitor build() { + final var o = new FastHttpsAppMonitor(); o.interval = interval; o.monitorAuth = monitorAuth; o.password = password; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppFastCreatePoolMember.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppPoolMember.java similarity index 91% rename from sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppFastCreatePoolMember.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppPoolMember.java index afca9dc5..850315d1 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppFastCreatePoolMember.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppPoolMember.java @@ -13,7 +13,7 @@ import javax.annotation.Nullable; @CustomType -public final class FastHttpsAppFastCreatePoolMember { +public final class FastHttpsAppPoolMember { /** * @return List of server address to be used for FAST-Generated Pool. * @@ -40,7 +40,7 @@ public final class FastHttpsAppFastCreatePoolMember { */ private @Nullable Boolean shareNodes; - private FastHttpsAppFastCreatePoolMember() {} + private FastHttpsAppPoolMember() {} /** * @return List of server address to be used for FAST-Generated Pool. * @@ -81,7 +81,7 @@ public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpsAppFastCreatePoolMember defaults) { + public static Builder builder(FastHttpsAppPoolMember defaults) { return new Builder(defaults); } @CustomType.Builder @@ -92,7 +92,7 @@ public static final class Builder { private @Nullable Integer priorityGroup; private @Nullable Boolean shareNodes; public Builder() {} - public Builder(FastHttpsAppFastCreatePoolMember defaults) { + public Builder(FastHttpsAppPoolMember defaults) { Objects.requireNonNull(defaults); this.addresses = defaults.addresses; this.connectionLimit = defaults.connectionLimit; @@ -129,8 +129,8 @@ public Builder shareNodes(@Nullable Boolean shareNodes) { this.shareNodes = shareNodes; return this; } - public FastHttpsAppFastCreatePoolMember build() { - final var o = new FastHttpsAppFastCreatePoolMember(); + public FastHttpsAppPoolMember build() { + final var o = new FastHttpsAppPoolMember(); o.addresses = addresses; o.connectionLimit = connectionLimit; o.port = port; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppCreateTlsServerProfile.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppTlsClientProfile.java similarity index 83% rename from sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppCreateTlsServerProfile.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppTlsClientProfile.java index 6e0c0d6c..735c8a9b 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppCreateTlsServerProfile.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppTlsClientProfile.java @@ -8,7 +8,7 @@ import java.util.Objects; @CustomType -public final class FastHttpsAppCreateTlsServerProfile { +public final class FastHttpsAppTlsClientProfile { /** * @return Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. * @@ -20,7 +20,7 @@ public final class FastHttpsAppCreateTlsServerProfile { */ private String tlsKeyName; - private FastHttpsAppCreateTlsServerProfile() {} + private FastHttpsAppTlsClientProfile() {} /** * @return Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. * @@ -40,7 +40,7 @@ public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpsAppCreateTlsServerProfile defaults) { + public static Builder builder(FastHttpsAppTlsClientProfile defaults) { return new Builder(defaults); } @CustomType.Builder @@ -48,7 +48,7 @@ public static final class Builder { private String tlsCertName; private String tlsKeyName; public Builder() {} - public Builder(FastHttpsAppCreateTlsServerProfile defaults) { + public Builder(FastHttpsAppTlsClientProfile defaults) { Objects.requireNonNull(defaults); this.tlsCertName = defaults.tlsCertName; this.tlsKeyName = defaults.tlsKeyName; @@ -64,8 +64,8 @@ public Builder tlsKeyName(String tlsKeyName) { this.tlsKeyName = Objects.requireNonNull(tlsKeyName); return this; } - public FastHttpsAppCreateTlsServerProfile build() { - final var o = new FastHttpsAppCreateTlsServerProfile(); + public FastHttpsAppTlsClientProfile build() { + final var o = new FastHttpsAppTlsClientProfile(); o.tlsCertName = tlsCertName; o.tlsKeyName = tlsKeyName; return o; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppTlsServerProfile.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppTlsServerProfile.java new file mode 100644 index 00000000..f55e2eb3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppTlsServerProfile.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class FastHttpsAppTlsServerProfile { + /** + * @return Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + * + */ + private String tlsCertName; + /** + * @return Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + * + */ + private String tlsKeyName; + + private FastHttpsAppTlsServerProfile() {} + /** + * @return Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + * + */ + public String tlsCertName() { + return this.tlsCertName; + } + /** + * @return Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + * + */ + public String tlsKeyName() { + return this.tlsKeyName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FastHttpsAppTlsServerProfile defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String tlsCertName; + private String tlsKeyName; + public Builder() {} + public Builder(FastHttpsAppTlsServerProfile defaults) { + Objects.requireNonNull(defaults); + this.tlsCertName = defaults.tlsCertName; + this.tlsKeyName = defaults.tlsKeyName; + } + + @CustomType.Setter + public Builder tlsCertName(String tlsCertName) { + this.tlsCertName = Objects.requireNonNull(tlsCertName); + return this; + } + @CustomType.Setter + public Builder tlsKeyName(String tlsKeyName) { + this.tlsKeyName = Objects.requireNonNull(tlsKeyName); + return this; + } + public FastHttpsAppTlsServerProfile build() { + final var o = new FastHttpsAppTlsServerProfile(); + o.tlsCertName = tlsCertName; + o.tlsKeyName = tlsKeyName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppVirtualServer.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppVirtualServer.java index 7b3160bf..39fa11f1 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppVirtualServer.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppVirtualServer.java @@ -16,7 +16,7 @@ public final class FastHttpsAppVirtualServer { */ private String ip; /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ private Integer port; @@ -30,7 +30,7 @@ public String ip() { return this.ip; } /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ public Integer port() { diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppWafSecurityPolicy.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppWafSecurityPolicy.java new file mode 100644 index 00000000..3e25cf70 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpsAppWafSecurityPolicy.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; + +@CustomType +public final class FastHttpsAppWafSecurityPolicy { + /** + * @return Setting `true` will enable FAST to create WAF Security Policy. + * + */ + private Boolean enable; + + private FastHttpsAppWafSecurityPolicy() {} + /** + * @return Setting `true` will enable FAST to create WAF Security Policy. + * + */ + public Boolean enable() { + return this.enable; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FastHttpsAppWafSecurityPolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean enable; + public Builder() {} + public Builder(FastHttpsAppWafSecurityPolicy defaults) { + Objects.requireNonNull(defaults); + this.enable = defaults.enable; + } + + @CustomType.Setter + public Builder enable(Boolean enable) { + this.enable = Objects.requireNonNull(enable); + return this; + } + public FastHttpsAppWafSecurityPolicy build() { + final var o = new FastHttpsAppWafSecurityPolicy(); + o.enable = enable; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppFastCreateMonitor.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppMonitor.java similarity index 79% rename from sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppFastCreateMonitor.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppMonitor.java index 97e1d022..0c9c8796 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppFastCreateMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppMonitor.java @@ -10,14 +10,14 @@ import javax.annotation.Nullable; @CustomType -public final class FastTcpAppFastCreateMonitor { +public final class FastTcpAppMonitor { /** * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. * */ private @Nullable Integer interval; - private FastTcpAppFastCreateMonitor() {} + private FastTcpAppMonitor() {} /** * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. * @@ -30,14 +30,14 @@ public static Builder builder() { return new Builder(); } - public static Builder builder(FastTcpAppFastCreateMonitor defaults) { + public static Builder builder(FastTcpAppMonitor defaults) { return new Builder(defaults); } @CustomType.Builder public static final class Builder { private @Nullable Integer interval; public Builder() {} - public Builder(FastTcpAppFastCreateMonitor defaults) { + public Builder(FastTcpAppMonitor defaults) { Objects.requireNonNull(defaults); this.interval = defaults.interval; } @@ -47,8 +47,8 @@ public Builder interval(@Nullable Integer interval) { this.interval = interval; return this; } - public FastTcpAppFastCreateMonitor build() { - final var o = new FastTcpAppFastCreateMonitor(); + public FastTcpAppMonitor build() { + final var o = new FastTcpAppMonitor(); o.interval = interval; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppFastCreatePoolMember.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppPoolMember.java similarity index 91% rename from sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppFastCreatePoolMember.java rename to sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppPoolMember.java index 9b0233d1..6882fe6c 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastHttpAppFastCreatePoolMember.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppPoolMember.java @@ -13,7 +13,7 @@ import javax.annotation.Nullable; @CustomType -public final class FastHttpAppFastCreatePoolMember { +public final class FastTcpAppPoolMember { /** * @return List of server address to be used for FAST-Generated Pool. * @@ -40,7 +40,7 @@ public final class FastHttpAppFastCreatePoolMember { */ private @Nullable Boolean shareNodes; - private FastHttpAppFastCreatePoolMember() {} + private FastTcpAppPoolMember() {} /** * @return List of server address to be used for FAST-Generated Pool. * @@ -81,7 +81,7 @@ public static Builder builder() { return new Builder(); } - public static Builder builder(FastHttpAppFastCreatePoolMember defaults) { + public static Builder builder(FastTcpAppPoolMember defaults) { return new Builder(defaults); } @CustomType.Builder @@ -92,7 +92,7 @@ public static final class Builder { private @Nullable Integer priorityGroup; private @Nullable Boolean shareNodes; public Builder() {} - public Builder(FastHttpAppFastCreatePoolMember defaults) { + public Builder(FastTcpAppPoolMember defaults) { Objects.requireNonNull(defaults); this.addresses = defaults.addresses; this.connectionLimit = defaults.connectionLimit; @@ -129,8 +129,8 @@ public Builder shareNodes(@Nullable Boolean shareNodes) { this.shareNodes = shareNodes; return this; } - public FastHttpAppFastCreatePoolMember build() { - final var o = new FastHttpAppFastCreatePoolMember(); + public FastTcpAppPoolMember build() { + final var o = new FastTcpAppPoolMember(); o.addresses = addresses; o.connectionLimit = connectionLimit; o.port = port; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppVirtualServer.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppVirtualServer.java index 17c26185..db140555 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppVirtualServer.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastTcpAppVirtualServer.java @@ -16,7 +16,7 @@ public final class FastTcpAppVirtualServer { */ private String ip; /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ private Integer port; @@ -30,7 +30,7 @@ public String ip() { return this.ip; } /** - * @return -(Optional , `int`) Port number to used for accessing virtual server/application + * @return Port number to used for accessing virtual server/application * */ public Integer port() { diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppMonitor.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppMonitor.java new file mode 100644 index 00000000..03d5ac17 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppMonitor.java @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FastUdpAppMonitor { + /** + * @return The presence of this optional string is required in the response, if specified it confirms availability. + * + */ + private @Nullable String expectedResponse; + /** + * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + * + */ + private @Nullable Integer interval; + /** + * @return Optional data to be sent during each health check. + * + */ + private @Nullable String sendString; + + private FastUdpAppMonitor() {} + /** + * @return The presence of this optional string is required in the response, if specified it confirms availability. + * + */ + public Optional expectedResponse() { + return Optional.ofNullable(this.expectedResponse); + } + /** + * @return Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + * + */ + public Optional interval() { + return Optional.ofNullable(this.interval); + } + /** + * @return Optional data to be sent during each health check. + * + */ + public Optional sendString() { + return Optional.ofNullable(this.sendString); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FastUdpAppMonitor defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String expectedResponse; + private @Nullable Integer interval; + private @Nullable String sendString; + public Builder() {} + public Builder(FastUdpAppMonitor defaults) { + Objects.requireNonNull(defaults); + this.expectedResponse = defaults.expectedResponse; + this.interval = defaults.interval; + this.sendString = defaults.sendString; + } + + @CustomType.Setter + public Builder expectedResponse(@Nullable String expectedResponse) { + this.expectedResponse = expectedResponse; + return this; + } + @CustomType.Setter + public Builder interval(@Nullable Integer interval) { + this.interval = interval; + return this; + } + @CustomType.Setter + public Builder sendString(@Nullable String sendString) { + this.sendString = sendString; + return this; + } + public FastUdpAppMonitor build() { + final var o = new FastUdpAppMonitor(); + o.expectedResponse = expectedResponse; + o.interval = interval; + o.sendString = sendString; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppPoolMember.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppPoolMember.java new file mode 100644 index 00000000..ea20d7eb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppPoolMember.java @@ -0,0 +1,142 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FastUdpAppPoolMember { + /** + * @return List of server address to be used for FAST-Generated Pool. + * + */ + private List addresses; + /** + * @return connectionLimit value to be used for FAST-Generated Pool. + * + */ + private @Nullable Integer connectionLimit; + /** + * @return port number of serviceport to be used for FAST-Generated Pool. + * + */ + private @Nullable Integer port; + /** + * @return priorityGroup value to be used for FAST-Generated Pool. + * + */ + private @Nullable Integer priorityGroup; + /** + * @return shareNodes value to be used for FAST-Generated Pool. + * + */ + private @Nullable Boolean shareNodes; + + private FastUdpAppPoolMember() {} + /** + * @return List of server address to be used for FAST-Generated Pool. + * + */ + public List addresses() { + return this.addresses; + } + /** + * @return connectionLimit value to be used for FAST-Generated Pool. + * + */ + public Optional connectionLimit() { + return Optional.ofNullable(this.connectionLimit); + } + /** + * @return port number of serviceport to be used for FAST-Generated Pool. + * + */ + public Optional port() { + return Optional.ofNullable(this.port); + } + /** + * @return priorityGroup value to be used for FAST-Generated Pool. + * + */ + public Optional priorityGroup() { + return Optional.ofNullable(this.priorityGroup); + } + /** + * @return shareNodes value to be used for FAST-Generated Pool. + * + */ + public Optional shareNodes() { + return Optional.ofNullable(this.shareNodes); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FastUdpAppPoolMember defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List addresses; + private @Nullable Integer connectionLimit; + private @Nullable Integer port; + private @Nullable Integer priorityGroup; + private @Nullable Boolean shareNodes; + public Builder() {} + public Builder(FastUdpAppPoolMember defaults) { + Objects.requireNonNull(defaults); + this.addresses = defaults.addresses; + this.connectionLimit = defaults.connectionLimit; + this.port = defaults.port; + this.priorityGroup = defaults.priorityGroup; + this.shareNodes = defaults.shareNodes; + } + + @CustomType.Setter + public Builder addresses(List addresses) { + this.addresses = Objects.requireNonNull(addresses); + return this; + } + public Builder addresses(String... addresses) { + return addresses(List.of(addresses)); + } + @CustomType.Setter + public Builder connectionLimit(@Nullable Integer connectionLimit) { + this.connectionLimit = connectionLimit; + return this; + } + @CustomType.Setter + public Builder port(@Nullable Integer port) { + this.port = port; + return this; + } + @CustomType.Setter + public Builder priorityGroup(@Nullable Integer priorityGroup) { + this.priorityGroup = priorityGroup; + return this; + } + @CustomType.Setter + public Builder shareNodes(@Nullable Boolean shareNodes) { + this.shareNodes = shareNodes; + return this; + } + public FastUdpAppPoolMember build() { + final var o = new FastUdpAppPoolMember(); + o.addresses = addresses; + o.connectionLimit = connectionLimit; + o.port = port; + o.priorityGroup = priorityGroup; + o.shareNodes = shareNodes; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppVirtualServer.java b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppVirtualServer.java new file mode 100644 index 00000000..1c22a2c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/outputs/FastUdpAppVirtualServer.java @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class FastUdpAppVirtualServer { + /** + * @return IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + * + */ + private String ip; + /** + * @return Port number to used for accessing virtual server/application + * + */ + private Integer port; + + private FastUdpAppVirtualServer() {} + /** + * @return IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + * + */ + public String ip() { + return this.ip; + } + /** + * @return Port number to used for accessing virtual server/application + * + */ + public Integer port() { + return this.port; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FastUdpAppVirtualServer defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String ip; + private Integer port; + public Builder() {} + public Builder(FastUdpAppVirtualServer defaults) { + Objects.requireNonNull(defaults); + this.ip = defaults.ip; + this.port = defaults.port; + } + + @CustomType.Setter + public Builder ip(String ip) { + this.ip = Objects.requireNonNull(ip); + return this; + } + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + public FastUdpAppVirtualServer build() { + final var o = new FastUdpAppVirtualServer(); + o.ip = ip; + o.port = port; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/Certificate.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/Certificate.java index 976148a1..3e1cc79d 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/Certificate.java @@ -11,6 +11,7 @@ import com.pulumi.f5bigip.ssl.CertificateArgs; import com.pulumi.f5bigip.ssl.inputs.CertificateState; import java.lang.String; +import java.util.List; import java.util.Optional; import javax.annotation.Nullable; @@ -142,6 +143,9 @@ private Certificate(String name, Output id, @Nullable CertificateState s private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "content" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/Key.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/Key.java index 0bbe08e0..5078a3c9 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/Key.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/Key.java @@ -11,6 +11,7 @@ import com.pulumi.f5bigip.ssl.KeyArgs; import com.pulumi.f5bigip.ssl.inputs.KeyState; import java.lang.String; +import java.util.List; import java.util.Optional; import javax.annotation.Nullable; @@ -109,6 +110,20 @@ public Output name() { public Output> partition() { return Codegen.optional(this.partition); } + /** + * Passphrase on key. + * + */ + @Export(name="passphrase", type=String.class, parameters={}) + private Output passphrase; + + /** + * @return Passphrase on key. + * + */ + public Output> passphrase() { + return Codegen.optional(this.passphrase); + } /** * @@ -142,6 +157,10 @@ private Key(String name, Output id, @Nullable KeyState state, @Nullable private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "content", + "passphrase" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/KeyArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/KeyArgs.java index 329c7a46..117999a1 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/KeyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/KeyArgs.java @@ -75,6 +75,21 @@ public Optional> partition() { return Optional.ofNullable(this.partition); } + /** + * Passphrase on key. + * + */ + @Import(name="passphrase") + private @Nullable Output passphrase; + + /** + * @return Passphrase on key. + * + */ + public Optional> passphrase() { + return Optional.ofNullable(this.passphrase); + } + private KeyArgs() {} private KeyArgs(KeyArgs $) { @@ -82,6 +97,7 @@ private KeyArgs(KeyArgs $) { this.fullPath = $.fullPath; this.name = $.name; this.partition = $.partition; + this.passphrase = $.passphrase; } public static Builder builder() { @@ -186,6 +202,27 @@ public Builder partition(String partition) { return partition(Output.of(partition)); } + /** + * @param passphrase Passphrase on key. + * + * @return builder + * + */ + public Builder passphrase(@Nullable Output passphrase) { + $.passphrase = passphrase; + return this; + } + + /** + * @param passphrase Passphrase on key. + * + * @return builder + * + */ + public Builder passphrase(String passphrase) { + return passphrase(Output.of(passphrase)); + } + public KeyArgs build() { $.content = Objects.requireNonNull($.content, "expected parameter 'content' to be non-null"); $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterArgs.java index 191ab8e6..bb4ba0ff 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.f5bigip.ssl.inputs.GetWafEntityParameterUrlArgs; import java.lang.Boolean; import java.lang.Integer; import java.lang.String; @@ -165,6 +166,13 @@ public Optional> type() { return Optional.ofNullable(this.type); } + @Import(name="url") + private @Nullable Output url; + + public Optional> url() { + return Optional.ofNullable(this.url); + } + @Import(name="valueType") private @Nullable Output valueType; @@ -196,6 +204,7 @@ private GetWafEntityParameterArgs(GetWafEntityParameterArgs $) { this.sensitiveParameter = $.sensitiveParameter; this.signatureOverridesDisables = $.signatureOverridesDisables; this.type = $.type; + this.url = $.url; this.valueType = $.valueType; } @@ -410,6 +419,15 @@ public Builder type(String type) { return type(Output.of(type)); } + public Builder url(@Nullable Output url) { + $.url = url; + return this; + } + + public Builder url(GetWafEntityParameterUrlArgs url) { + return url(Output.of(url)); + } + public Builder valueType(@Nullable Output valueType) { $.valueType = valueType; return this; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterPlainArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterPlainArgs.java index 9d3cfd63..8d46d0b5 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterPlainArgs.java @@ -4,6 +4,7 @@ package com.pulumi.f5bigip.ssl.inputs; import com.pulumi.core.annotations.Import; +import com.pulumi.f5bigip.ssl.inputs.GetWafEntityParameterUrl; import java.lang.Boolean; import java.lang.Integer; import java.lang.String; @@ -164,6 +165,13 @@ public Optional type() { return Optional.ofNullable(this.type); } + @Import(name="url") + private @Nullable GetWafEntityParameterUrl url; + + public Optional url() { + return Optional.ofNullable(this.url); + } + @Import(name="valueType") private @Nullable String valueType; @@ -195,6 +203,7 @@ private GetWafEntityParameterPlainArgs(GetWafEntityParameterPlainArgs $) { this.sensitiveParameter = $.sensitiveParameter; this.signatureOverridesDisables = $.signatureOverridesDisables; this.type = $.type; + this.url = $.url; this.valueType = $.valueType; } @@ -325,6 +334,11 @@ public Builder type(@Nullable String type) { return this; } + public Builder url(@Nullable GetWafEntityParameterUrl url) { + $.url = url; + return this; + } + public Builder valueType(@Nullable String valueType) { $.valueType = valueType; return this; diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterUrl.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterUrl.java new file mode 100644 index 00000000..f5801694 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterUrl.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.ssl.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetWafEntityParameterUrl extends com.pulumi.resources.InvokeArgs { + + public static final GetWafEntityParameterUrl Empty = new GetWafEntityParameterUrl(); + + @Import(name="method", required=true) + private String method; + + public String method() { + return this.method; + } + + @Import(name="name", required=true) + private String name; + + public String name() { + return this.name; + } + + @Import(name="protocol", required=true) + private String protocol; + + public String protocol() { + return this.protocol; + } + + @Import(name="type", required=true) + private String type; + + public String type() { + return this.type; + } + + private GetWafEntityParameterUrl() {} + + private GetWafEntityParameterUrl(GetWafEntityParameterUrl $) { + this.method = $.method; + this.name = $.name; + this.protocol = $.protocol; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetWafEntityParameterUrl defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetWafEntityParameterUrl $; + + public Builder() { + $ = new GetWafEntityParameterUrl(); + } + + public Builder(GetWafEntityParameterUrl defaults) { + $ = new GetWafEntityParameterUrl(Objects.requireNonNull(defaults)); + } + + public Builder method(String method) { + $.method = method; + return this; + } + + public Builder name(String name) { + $.name = name; + return this; + } + + public Builder protocol(String protocol) { + $.protocol = protocol; + return this; + } + + public Builder type(String type) { + $.type = type; + return this; + } + + public GetWafEntityParameterUrl build() { + $.method = Objects.requireNonNull($.method, "expected parameter 'method' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.protocol = Objects.requireNonNull($.protocol, "expected parameter 'protocol' to be non-null"); + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterUrlArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterUrlArgs.java new file mode 100644 index 00000000..94686ee7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/GetWafEntityParameterUrlArgs.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.ssl.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetWafEntityParameterUrlArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetWafEntityParameterUrlArgs Empty = new GetWafEntityParameterUrlArgs(); + + @Import(name="method", required=true) + private Output method; + + public Output method() { + return this.method; + } + + @Import(name="name", required=true) + private Output name; + + public Output name() { + return this.name; + } + + @Import(name="protocol", required=true) + private Output protocol; + + public Output protocol() { + return this.protocol; + } + + @Import(name="type", required=true) + private Output type; + + public Output type() { + return this.type; + } + + private GetWafEntityParameterUrlArgs() {} + + private GetWafEntityParameterUrlArgs(GetWafEntityParameterUrlArgs $) { + this.method = $.method; + this.name = $.name; + this.protocol = $.protocol; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetWafEntityParameterUrlArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetWafEntityParameterUrlArgs $; + + public Builder() { + $ = new GetWafEntityParameterUrlArgs(); + } + + public Builder(GetWafEntityParameterUrlArgs defaults) { + $ = new GetWafEntityParameterUrlArgs(Objects.requireNonNull(defaults)); + } + + public Builder method(Output method) { + $.method = method; + return this; + } + + public Builder method(String method) { + return method(Output.of(method)); + } + + public Builder name(Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder protocol(Output protocol) { + $.protocol = protocol; + return this; + } + + public Builder protocol(String protocol) { + return protocol(Output.of(protocol)); + } + + public Builder type(Output type) { + $.type = type; + return this; + } + + public Builder type(String type) { + return type(Output.of(type)); + } + + public GetWafEntityParameterUrlArgs build() { + $.method = Objects.requireNonNull($.method, "expected parameter 'method' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.protocol = Objects.requireNonNull($.protocol, "expected parameter 'protocol' to be non-null"); + $.type = Objects.requireNonNull($.type, "expected parameter 'type' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/KeyState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/KeyState.java index 426ab969..ad9ea0f7 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/KeyState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/inputs/KeyState.java @@ -75,6 +75,21 @@ public Optional> partition() { return Optional.ofNullable(this.partition); } + /** + * Passphrase on key. + * + */ + @Import(name="passphrase") + private @Nullable Output passphrase; + + /** + * @return Passphrase on key. + * + */ + public Optional> passphrase() { + return Optional.ofNullable(this.passphrase); + } + private KeyState() {} private KeyState(KeyState $) { @@ -82,6 +97,7 @@ private KeyState(KeyState $) { this.fullPath = $.fullPath; this.name = $.name; this.partition = $.partition; + this.passphrase = $.passphrase; } public static Builder builder() { @@ -186,6 +202,27 @@ public Builder partition(String partition) { return partition(Output.of(partition)); } + /** + * @param passphrase Passphrase on key. + * + * @return builder + * + */ + public Builder passphrase(@Nullable Output passphrase) { + $.passphrase = passphrase; + return this; + } + + /** + * @param passphrase Passphrase on key. + * + * @return builder + * + */ + public Builder passphrase(String passphrase) { + return passphrase(Output.of(passphrase)); + } + public KeyState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/outputs/GetWafEntityParameterResult.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/outputs/GetWafEntityParameterResult.java index 02e946b0..5461e9bd 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/outputs/GetWafEntityParameterResult.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/outputs/GetWafEntityParameterResult.java @@ -4,6 +4,7 @@ package com.pulumi.f5bigip.ssl.outputs; import com.pulumi.core.annotations.CustomType; +import com.pulumi.f5bigip.ssl.outputs.GetWafEntityParameterUrl; import java.lang.Boolean; import java.lang.Integer; import java.lang.String; @@ -40,6 +41,7 @@ public final class GetWafEntityParameterResult { private @Nullable Boolean sensitiveParameter; private @Nullable List signatureOverridesDisables; private @Nullable String type; + private @Nullable GetWafEntityParameterUrl url; private @Nullable String valueType; private GetWafEntityParameterResult() {} @@ -113,6 +115,9 @@ public List signatureOverridesDisables() { public Optional type() { return Optional.ofNullable(this.type); } + public Optional url() { + return Optional.ofNullable(this.url); + } public Optional valueType() { return Optional.ofNullable(this.valueType); } @@ -148,6 +153,7 @@ public static final class Builder { private @Nullable Boolean sensitiveParameter; private @Nullable List signatureOverridesDisables; private @Nullable String type; + private @Nullable GetWafEntityParameterUrl url; private @Nullable String valueType; public Builder() {} public Builder(GetWafEntityParameterResult defaults) { @@ -174,6 +180,7 @@ public Builder(GetWafEntityParameterResult defaults) { this.sensitiveParameter = defaults.sensitiveParameter; this.signatureOverridesDisables = defaults.signatureOverridesDisables; this.type = defaults.type; + this.url = defaults.url; this.valueType = defaults.valueType; } @@ -291,6 +298,11 @@ public Builder type(@Nullable String type) { return this; } @CustomType.Setter + public Builder url(@Nullable GetWafEntityParameterUrl url) { + this.url = url; + return this; + } + @CustomType.Setter public Builder valueType(@Nullable String valueType) { this.valueType = valueType; return this; @@ -319,6 +331,7 @@ public GetWafEntityParameterResult build() { o.sensitiveParameter = sensitiveParameter; o.signatureOverridesDisables = signatureOverridesDisables; o.type = type; + o.url = url; o.valueType = valueType; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/outputs/GetWafEntityParameterUrl.java b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/outputs/GetWafEntityParameterUrl.java new file mode 100644 index 00000000..4076994a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/ssl/outputs/GetWafEntityParameterUrl.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.ssl.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetWafEntityParameterUrl { + private String method; + private String name; + private String protocol; + private String type; + + private GetWafEntityParameterUrl() {} + public String method() { + return this.method; + } + public String name() { + return this.name; + } + public String protocol() { + return this.protocol; + } + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetWafEntityParameterUrl defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String method; + private String name; + private String protocol; + private String type; + public Builder() {} + public Builder(GetWafEntityParameterUrl defaults) { + Objects.requireNonNull(defaults); + this.method = defaults.method; + this.name = defaults.name; + this.protocol = defaults.protocol; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder method(String method) { + this.method = Objects.requireNonNull(method); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder protocol(String protocol) { + this.protocol = Objects.requireNonNull(protocol); + return this; + } + @CustomType.Setter + public Builder type(String type) { + this.type = Objects.requireNonNull(type); + return this; + } + public GetWafEntityParameterUrl build() { + final var o = new GetWafEntityParameterUrl(); + o.method = method; + o.name = name; + o.protocol = protocol; + o.type = type; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/Dns.java b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/Dns.java index d3763f9e..f2cbbc4b 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/Dns.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/Dns.java @@ -17,7 +17,7 @@ import javax.annotation.Nullable; /** - * `f5bigip.sys.Dns` Configures DNS server on F5 BIG-IP + * `f5bigip.sys.Dns` Configures DNS Name server on F5 BIG-IP * * ## Example Usage * ```java @@ -44,7 +44,6 @@ * var dns1 = new Dns("dns1", DnsArgs.builder() * .description("/Common/DNS1") * .nameServers("1.1.1.1") - * .numberOfDots(2) * .searches("f5.com") * .build()); * @@ -70,42 +69,42 @@ public Output description() { return this.description; } /** - * Name or IP address of the DNS server + * Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * */ @Export(name="nameServers", type=List.class, parameters={String.class}) - private Output> nameServers; + private Output> nameServers; /** - * @return Name or IP address of the DNS server + * @return Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * */ - public Output>> nameServers() { - return Codegen.optional(this.nameServers); + public Output> nameServers() { + return this.nameServers; } /** * Configures the number of dots needed in a name before an initial absolute query will be made. * */ @Export(name="numberOfDots", type=Integer.class, parameters={}) - private Output numberOfDots; + private Output numberOfDots; /** * @return Configures the number of dots needed in a name before an initial absolute query will be made. * */ - public Output> numberOfDots() { - return Codegen.optional(this.numberOfDots); + public Output numberOfDots() { + return this.numberOfDots; } /** - * Specify what domains you want to search + * Specifies the domains that the system searches for local domain lookups, to resolve local host names. * */ @Export(name="searches", type=List.class, parameters={String.class}) private Output> searches; /** - * @return Specify what domains you want to search + * @return Specifies the domains that the system searches for local domain lookups, to resolve local host names. * */ public Output>> searches() { diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/DnsArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/DnsArgs.java index 09b92bf7..877fc2ed 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/DnsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/DnsArgs.java @@ -33,18 +33,18 @@ public Output description() { } /** - * Name or IP address of the DNS server + * Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * */ - @Import(name="nameServers") - private @Nullable Output> nameServers; + @Import(name="nameServers", required=true) + private Output> nameServers; /** - * @return Name or IP address of the DNS server + * @return Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * */ - public Optional>> nameServers() { - return Optional.ofNullable(this.nameServers); + public Output> nameServers() { + return this.nameServers; } /** @@ -63,14 +63,14 @@ public Optional> numberOfDots() { } /** - * Specify what domains you want to search + * Specifies the domains that the system searches for local domain lookups, to resolve local host names. * */ @Import(name="searches") private @Nullable Output> searches; /** - * @return Specify what domains you want to search + * @return Specifies the domains that the system searches for local domain lookups, to resolve local host names. * */ public Optional>> searches() { @@ -126,18 +126,18 @@ public Builder description(String description) { } /** - * @param nameServers Name or IP address of the DNS server + * @param nameServers Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * * @return builder * */ - public Builder nameServers(@Nullable Output> nameServers) { + public Builder nameServers(Output> nameServers) { $.nameServers = nameServers; return this; } /** - * @param nameServers Name or IP address of the DNS server + * @param nameServers Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * * @return builder * @@ -147,7 +147,7 @@ public Builder nameServers(List nameServers) { } /** - * @param nameServers Name or IP address of the DNS server + * @param nameServers Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * * @return builder * @@ -178,7 +178,7 @@ public Builder numberOfDots(Integer numberOfDots) { } /** - * @param searches Specify what domains you want to search + * @param searches Specifies the domains that the system searches for local domain lookups, to resolve local host names. * * @return builder * @@ -189,7 +189,7 @@ public Builder searches(@Nullable Output> searches) { } /** - * @param searches Specify what domains you want to search + * @param searches Specifies the domains that the system searches for local domain lookups, to resolve local host names. * * @return builder * @@ -199,7 +199,7 @@ public Builder searches(List searches) { } /** - * @param searches Specify what domains you want to search + * @param searches Specifies the domains that the system searches for local domain lookups, to resolve local host names. * * @return builder * @@ -210,6 +210,7 @@ public Builder searches(String... searches) { public DnsArgs build() { $.description = Objects.requireNonNull($.description, "expected parameter 'description' to be non-null"); + $.nameServers = Objects.requireNonNull($.nameServers, "expected parameter 'nameServers' to be non-null"); return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/Ntp.java b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/Ntp.java index 47791a60..38fb7ac5 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/Ntp.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/Ntp.java @@ -16,9 +16,8 @@ import javax.annotation.Nullable; /** - * `f5bigip.sys.Ntp` provides details about a specific bigip + * `f5bigip.sys.Ntp` resource is helpful when configuring NTP server on the BIG-IP. * - * This resource is helpful when configuring NTP server on the BIG-IP. * ## Example Usage * ```java * package generated_program; @@ -55,32 +54,32 @@ @ResourceType(type="f5bigip:sys/ntp:Ntp") public class Ntp extends com.pulumi.resources.CustomResource { /** - * Name of the ntp Servers + * User defined description. * */ @Export(name="description", type=String.class, parameters={}) private Output description; /** - * @return Name of the ntp Servers + * @return User defined description. * */ public Output description() { return this.description; } /** - * Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * Specifies the time servers that the system uses to update the system time. * */ @Export(name="servers", type=List.class, parameters={String.class}) - private Output> servers; + private Output> servers; /** - * @return Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @return Specifies the time servers that the system uses to update the system time. * */ - public Output>> servers() { - return Codegen.optional(this.servers); + public Output> servers() { + return this.servers; } /** * Specifies the time zone that you want to use for the system time. diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/NtpArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/NtpArgs.java index ad9ba715..bce0d4e4 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/NtpArgs.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/NtpArgs.java @@ -17,14 +17,14 @@ public final class NtpArgs extends com.pulumi.resources.ResourceArgs { public static final NtpArgs Empty = new NtpArgs(); /** - * Name of the ntp Servers + * User defined description. * */ @Import(name="description", required=true) private Output description; /** - * @return Name of the ntp Servers + * @return User defined description. * */ public Output description() { @@ -32,18 +32,18 @@ public Output description() { } /** - * Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * Specifies the time servers that the system uses to update the system time. * */ - @Import(name="servers") - private @Nullable Output> servers; + @Import(name="servers", required=true) + private Output> servers; /** - * @return Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @return Specifies the time servers that the system uses to update the system time. * */ - public Optional>> servers() { - return Optional.ofNullable(this.servers); + public Output> servers() { + return this.servers; } /** @@ -88,7 +88,7 @@ public Builder(NtpArgs defaults) { } /** - * @param description Name of the ntp Servers + * @param description User defined description. * * @return builder * @@ -99,7 +99,7 @@ public Builder description(Output description) { } /** - * @param description Name of the ntp Servers + * @param description User defined description. * * @return builder * @@ -109,18 +109,18 @@ public Builder description(String description) { } /** - * @param servers Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @param servers Specifies the time servers that the system uses to update the system time. * * @return builder * */ - public Builder servers(@Nullable Output> servers) { + public Builder servers(Output> servers) { $.servers = servers; return this; } /** - * @param servers Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @param servers Specifies the time servers that the system uses to update the system time. * * @return builder * @@ -130,7 +130,7 @@ public Builder servers(List servers) { } /** - * @param servers Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @param servers Specifies the time servers that the system uses to update the system time. * * @return builder * @@ -162,6 +162,7 @@ public Builder timezone(String timezone) { public NtpArgs build() { $.description = Objects.requireNonNull($.description, "expected parameter 'description' to be non-null"); + $.servers = Objects.requireNonNull($.servers, "expected parameter 'servers' to be non-null"); return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/inputs/DnsState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/inputs/DnsState.java index 9f7e1559..90e589d3 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/inputs/DnsState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/inputs/DnsState.java @@ -33,14 +33,14 @@ public Optional> description() { } /** - * Name or IP address of the DNS server + * Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * */ @Import(name="nameServers") private @Nullable Output> nameServers; /** - * @return Name or IP address of the DNS server + * @return Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * */ public Optional>> nameServers() { @@ -63,14 +63,14 @@ public Optional> numberOfDots() { } /** - * Specify what domains you want to search + * Specifies the domains that the system searches for local domain lookups, to resolve local host names. * */ @Import(name="searches") private @Nullable Output> searches; /** - * @return Specify what domains you want to search + * @return Specifies the domains that the system searches for local domain lookups, to resolve local host names. * */ public Optional>> searches() { @@ -126,7 +126,7 @@ public Builder description(String description) { } /** - * @param nameServers Name or IP address of the DNS server + * @param nameServers Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * * @return builder * @@ -137,7 +137,7 @@ public Builder nameServers(@Nullable Output> nameServers) { } /** - * @param nameServers Name or IP address of the DNS server + * @param nameServers Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * * @return builder * @@ -147,7 +147,7 @@ public Builder nameServers(List nameServers) { } /** - * @param nameServers Name or IP address of the DNS server + * @param nameServers Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. * * @return builder * @@ -178,7 +178,7 @@ public Builder numberOfDots(Integer numberOfDots) { } /** - * @param searches Specify what domains you want to search + * @param searches Specifies the domains that the system searches for local domain lookups, to resolve local host names. * * @return builder * @@ -189,7 +189,7 @@ public Builder searches(@Nullable Output> searches) { } /** - * @param searches Specify what domains you want to search + * @param searches Specifies the domains that the system searches for local domain lookups, to resolve local host names. * * @return builder * @@ -199,7 +199,7 @@ public Builder searches(List searches) { } /** - * @param searches Specify what domains you want to search + * @param searches Specifies the domains that the system searches for local domain lookups, to resolve local host names. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/inputs/NtpState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/inputs/NtpState.java index e6110027..e3325054 100644 --- a/sdk/java/src/main/java/com/pulumi/f5bigip/sys/inputs/NtpState.java +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/sys/inputs/NtpState.java @@ -17,14 +17,14 @@ public final class NtpState extends com.pulumi.resources.ResourceArgs { public static final NtpState Empty = new NtpState(); /** - * Name of the ntp Servers + * User defined description. * */ @Import(name="description") private @Nullable Output description; /** - * @return Name of the ntp Servers + * @return User defined description. * */ public Optional> description() { @@ -32,14 +32,14 @@ public Optional> description() { } /** - * Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * Specifies the time servers that the system uses to update the system time. * */ @Import(name="servers") private @Nullable Output> servers; /** - * @return Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @return Specifies the time servers that the system uses to update the system time. * */ public Optional>> servers() { @@ -88,7 +88,7 @@ public Builder(NtpState defaults) { } /** - * @param description Name of the ntp Servers + * @param description User defined description. * * @return builder * @@ -99,7 +99,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description Name of the ntp Servers + * @param description User defined description. * * @return builder * @@ -109,7 +109,7 @@ public Builder description(String description) { } /** - * @param servers Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @param servers Specifies the time servers that the system uses to update the system time. * * @return builder * @@ -120,7 +120,7 @@ public Builder servers(@Nullable Output> servers) { } /** - * @param servers Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @param servers Specifies the time servers that the system uses to update the system time. * * @return builder * @@ -130,7 +130,7 @@ public Builder servers(List servers) { } /** - * @param servers Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * @param servers Specifies the time servers that the system uses to update the system time. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/Guest.java b/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/Guest.java new file mode 100644 index 00000000..92feaf6f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/Guest.java @@ -0,0 +1,325 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.vcmp; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.f5bigip.Utilities; +import com.pulumi.f5bigip.vcmp.GuestArgs; +import com.pulumi.f5bigip.vcmp.inputs.GuestState; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * `f5bigip.vcmp.Guest` Manages a vCMP guest configuration + * + * Resource does not wait for vCMP guest to reach the desired state, it only ensures that a desired configuration is set on the target device. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.f5bigip.vcmp.Guest; + * import com.pulumi.f5bigip.vcmp.GuestArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var vcmp_test = new Guest("vcmp-test", GuestArgs.builder() + * .coresPerSlot(2) + * .initialImage("12.1.2.iso") + * .mgmtAddress("10.1.1.1/24") + * .mgmtNetwork("bridged") + * .mgmtRoute("none") + * .minNumberOfSlots(1) + * .name("tf_guest") + * .numberOfSlots(1) + * .state("provisioned") + * .build()); + * + * } + * } + * ``` + * + */ +@ResourceType(type="f5bigip:vcmp/guest:Guest") +public class Guest extends com.pulumi.resources.CustomResource { + /** + * Contains those slots to which the guest is allowed to be assigned. + * + */ + @Export(name="allowedSlots", type=List.class, parameters={Integer.class}) + private Output> allowedSlots; + + /** + * @return Contains those slots to which the guest is allowed to be assigned. + * + */ + public Output> allowedSlots() { + return this.allowedSlots; + } + /** + * Specifies the number of cores the system allocates to the guest. + * + */ + @Export(name="coresPerSlot", type=Integer.class, parameters={}) + private Output coresPerSlot; + + /** + * @return Specifies the number of cores the system allocates to the guest. + * + */ + public Output coresPerSlot() { + return this.coresPerSlot; + } + /** + * Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + */ + @Export(name="deleteVirtualDisk", type=Boolean.class, parameters={}) + private Output deleteVirtualDisk; + + /** + * @return Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + */ + public Output> deleteVirtualDisk() { + return Codegen.optional(this.deleteVirtualDisk); + } + /** + * Resource name including prepended partition path. + * + */ + @Export(name="fullPath", type=String.class, parameters={}) + private Output fullPath; + + /** + * @return Resource name including prepended partition path. + * + */ + public Output fullPath() { + return this.fullPath; + } + /** + * Specifies the hotfix ISO image file which is applied on top of the base image. + * + */ + @Export(name="initialHotfix", type=String.class, parameters={}) + private Output initialHotfix; + + /** + * @return Specifies the hotfix ISO image file which is applied on top of the base image. + * + */ + public Output initialHotfix() { + return this.initialHotfix; + } + /** + * Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + */ + @Export(name="initialImage", type=String.class, parameters={}) + private Output initialImage; + + /** + * @return Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + */ + public Output initialImage() { + return this.initialImage; + } + /** + * 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. + * + */ + @Export(name="mgmtAddress", type=String.class, parameters={}) + private Output mgmtAddress; + + /** + * @return 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. + * + */ + public Output mgmtAddress() { + return this.mgmtAddress; + } + /** + * Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + */ + @Export(name="mgmtNetwork", type=String.class, parameters={}) + private Output mgmtNetwork; + + /** + * @return Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + */ + public Output mgmtNetwork() { + return this.mgmtNetwork; + } + /** + * Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + */ + @Export(name="mgmtRoute", type=String.class, parameters={}) + private Output mgmtRoute; + + /** + * @return Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + */ + public Output mgmtRoute() { + return this.mgmtRoute; + } + /** + * Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + */ + @Export(name="minNumberOfSlots", type=Integer.class, parameters={}) + private Output minNumberOfSlots; + + /** + * @return Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + */ + public Output minNumberOfSlots() { + return this.minNumberOfSlots; + } + /** + * Name of the vCMP guest + * + */ + @Export(name="name", type=String.class, parameters={}) + private Output name; + + /** + * @return Name of the vCMP guest + * + */ + public Output name() { + return this.name; + } + /** + * Specifies the number of slots for the system to use when creating the guest. + * + */ + @Export(name="numberOfSlots", type=Integer.class, parameters={}) + private Output numberOfSlots; + + /** + * @return Specifies the number of slots for the system to use when creating the guest. + * + */ + public Output numberOfSlots() { + return this.numberOfSlots; + } + /** + * Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + */ + @Export(name="state", type=String.class, parameters={}) + private Output state; + + /** + * @return Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + */ + public Output state() { + return this.state; + } + /** + * Virtual disk associated with vCMP guest. + * + */ + @Export(name="virtualDisk", type=String.class, parameters={}) + private Output virtualDisk; + + /** + * @return Virtual disk associated with vCMP guest. + * + */ + public Output virtualDisk() { + return this.virtualDisk; + } + /** + * 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 + * + */ + @Export(name="vlans", type=List.class, parameters={String.class}) + private Output> vlans; + + /** + * @return 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 + * + */ + public Output> vlans() { + return this.vlans; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Guest(String name) { + this(name, GuestArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Guest(String name, GuestArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Guest(String name, GuestArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("f5bigip:vcmp/guest:Guest", name, args == null ? GuestArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Guest(String name, Output id, @Nullable GuestState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("f5bigip:vcmp/guest:Guest", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Guest get(String name, Output id, @Nullable GuestState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Guest(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/GuestArgs.java b/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/GuestArgs.java new file mode 100644 index 00000000..e54add2f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/GuestArgs.java @@ -0,0 +1,551 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.vcmp; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GuestArgs extends com.pulumi.resources.ResourceArgs { + + public static final GuestArgs Empty = new GuestArgs(); + + /** + * Contains those slots to which the guest is allowed to be assigned. + * + */ + @Import(name="allowedSlots") + private @Nullable Output> allowedSlots; + + /** + * @return Contains those slots to which the guest is allowed to be assigned. + * + */ + public Optional>> allowedSlots() { + return Optional.ofNullable(this.allowedSlots); + } + + /** + * Specifies the number of cores the system allocates to the guest. + * + */ + @Import(name="coresPerSlot") + private @Nullable Output coresPerSlot; + + /** + * @return Specifies the number of cores the system allocates to the guest. + * + */ + public Optional> coresPerSlot() { + return Optional.ofNullable(this.coresPerSlot); + } + + /** + * Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + */ + @Import(name="deleteVirtualDisk") + private @Nullable Output deleteVirtualDisk; + + /** + * @return Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + */ + public Optional> deleteVirtualDisk() { + return Optional.ofNullable(this.deleteVirtualDisk); + } + + /** + * Specifies the hotfix ISO image file which is applied on top of the base image. + * + */ + @Import(name="initialHotfix") + private @Nullable Output initialHotfix; + + /** + * @return Specifies the hotfix ISO image file which is applied on top of the base image. + * + */ + public Optional> initialHotfix() { + return Optional.ofNullable(this.initialHotfix); + } + + /** + * Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + */ + @Import(name="initialImage") + private @Nullable Output initialImage; + + /** + * @return Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + */ + public Optional> initialImage() { + return Optional.ofNullable(this.initialImage); + } + + /** + * 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. + * + */ + @Import(name="mgmtAddress") + private @Nullable Output mgmtAddress; + + /** + * @return 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. + * + */ + public Optional> mgmtAddress() { + return Optional.ofNullable(this.mgmtAddress); + } + + /** + * Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + */ + @Import(name="mgmtNetwork") + private @Nullable Output mgmtNetwork; + + /** + * @return Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + */ + public Optional> mgmtNetwork() { + return Optional.ofNullable(this.mgmtNetwork); + } + + /** + * Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + */ + @Import(name="mgmtRoute") + private @Nullable Output mgmtRoute; + + /** + * @return Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + */ + public Optional> mgmtRoute() { + return Optional.ofNullable(this.mgmtRoute); + } + + /** + * Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + */ + @Import(name="minNumberOfSlots") + private @Nullable Output minNumberOfSlots; + + /** + * @return Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + */ + public Optional> minNumberOfSlots() { + return Optional.ofNullable(this.minNumberOfSlots); + } + + /** + * Name of the vCMP guest + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the vCMP guest + * + */ + public Output name() { + return this.name; + } + + /** + * Specifies the number of slots for the system to use when creating the guest. + * + */ + @Import(name="numberOfSlots") + private @Nullable Output numberOfSlots; + + /** + * @return Specifies the number of slots for the system to use when creating the guest. + * + */ + public Optional> numberOfSlots() { + return Optional.ofNullable(this.numberOfSlots); + } + + /** + * Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + */ + @Import(name="state") + private @Nullable Output state; + + /** + * @return Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + */ + public Optional> state() { + return Optional.ofNullable(this.state); + } + + /** + * 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 + * + */ + @Import(name="vlans") + private @Nullable Output> vlans; + + /** + * @return 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 + * + */ + public Optional>> vlans() { + return Optional.ofNullable(this.vlans); + } + + private GuestArgs() {} + + private GuestArgs(GuestArgs $) { + this.allowedSlots = $.allowedSlots; + this.coresPerSlot = $.coresPerSlot; + this.deleteVirtualDisk = $.deleteVirtualDisk; + this.initialHotfix = $.initialHotfix; + this.initialImage = $.initialImage; + this.mgmtAddress = $.mgmtAddress; + this.mgmtNetwork = $.mgmtNetwork; + this.mgmtRoute = $.mgmtRoute; + this.minNumberOfSlots = $.minNumberOfSlots; + this.name = $.name; + this.numberOfSlots = $.numberOfSlots; + this.state = $.state; + this.vlans = $.vlans; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GuestArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GuestArgs $; + + public Builder() { + $ = new GuestArgs(); + } + + public Builder(GuestArgs defaults) { + $ = new GuestArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param allowedSlots Contains those slots to which the guest is allowed to be assigned. + * + * @return builder + * + */ + public Builder allowedSlots(@Nullable Output> allowedSlots) { + $.allowedSlots = allowedSlots; + return this; + } + + /** + * @param allowedSlots Contains those slots to which the guest is allowed to be assigned. + * + * @return builder + * + */ + public Builder allowedSlots(List allowedSlots) { + return allowedSlots(Output.of(allowedSlots)); + } + + /** + * @param allowedSlots Contains those slots to which the guest is allowed to be assigned. + * + * @return builder + * + */ + public Builder allowedSlots(Integer... allowedSlots) { + return allowedSlots(List.of(allowedSlots)); + } + + /** + * @param coresPerSlot Specifies the number of cores the system allocates to the guest. + * + * @return builder + * + */ + public Builder coresPerSlot(@Nullable Output coresPerSlot) { + $.coresPerSlot = coresPerSlot; + return this; + } + + /** + * @param coresPerSlot Specifies the number of cores the system allocates to the guest. + * + * @return builder + * + */ + public Builder coresPerSlot(Integer coresPerSlot) { + return coresPerSlot(Output.of(coresPerSlot)); + } + + /** + * @param deleteVirtualDisk Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + * @return builder + * + */ + public Builder deleteVirtualDisk(@Nullable Output deleteVirtualDisk) { + $.deleteVirtualDisk = deleteVirtualDisk; + return this; + } + + /** + * @param deleteVirtualDisk Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + * @return builder + * + */ + public Builder deleteVirtualDisk(Boolean deleteVirtualDisk) { + return deleteVirtualDisk(Output.of(deleteVirtualDisk)); + } + + /** + * @param initialHotfix Specifies the hotfix ISO image file which is applied on top of the base image. + * + * @return builder + * + */ + public Builder initialHotfix(@Nullable Output initialHotfix) { + $.initialHotfix = initialHotfix; + return this; + } + + /** + * @param initialHotfix Specifies the hotfix ISO image file which is applied on top of the base image. + * + * @return builder + * + */ + public Builder initialHotfix(String initialHotfix) { + return initialHotfix(Output.of(initialHotfix)); + } + + /** + * @param initialImage Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + * @return builder + * + */ + public Builder initialImage(@Nullable Output initialImage) { + $.initialImage = initialImage; + return this; + } + + /** + * @param initialImage Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + * @return builder + * + */ + public Builder initialImage(String initialImage) { + return initialImage(Output.of(initialImage)); + } + + /** + * @param mgmtAddress 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. + * + * @return builder + * + */ + public Builder mgmtAddress(@Nullable Output mgmtAddress) { + $.mgmtAddress = mgmtAddress; + return this; + } + + /** + * @param mgmtAddress 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. + * + * @return builder + * + */ + public Builder mgmtAddress(String mgmtAddress) { + return mgmtAddress(Output.of(mgmtAddress)); + } + + /** + * @param mgmtNetwork Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + * @return builder + * + */ + public Builder mgmtNetwork(@Nullable Output mgmtNetwork) { + $.mgmtNetwork = mgmtNetwork; + return this; + } + + /** + * @param mgmtNetwork Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + * @return builder + * + */ + public Builder mgmtNetwork(String mgmtNetwork) { + return mgmtNetwork(Output.of(mgmtNetwork)); + } + + /** + * @param mgmtRoute Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + * @return builder + * + */ + public Builder mgmtRoute(@Nullable Output mgmtRoute) { + $.mgmtRoute = mgmtRoute; + return this; + } + + /** + * @param mgmtRoute Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + * @return builder + * + */ + public Builder mgmtRoute(String mgmtRoute) { + return mgmtRoute(Output.of(mgmtRoute)); + } + + /** + * @param minNumberOfSlots Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + * @return builder + * + */ + public Builder minNumberOfSlots(@Nullable Output minNumberOfSlots) { + $.minNumberOfSlots = minNumberOfSlots; + return this; + } + + /** + * @param minNumberOfSlots Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + * @return builder + * + */ + public Builder minNumberOfSlots(Integer minNumberOfSlots) { + return minNumberOfSlots(Output.of(minNumberOfSlots)); + } + + /** + * @param name Name of the vCMP guest + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the vCMP guest + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param numberOfSlots Specifies the number of slots for the system to use when creating the guest. + * + * @return builder + * + */ + public Builder numberOfSlots(@Nullable Output numberOfSlots) { + $.numberOfSlots = numberOfSlots; + return this; + } + + /** + * @param numberOfSlots Specifies the number of slots for the system to use when creating the guest. + * + * @return builder + * + */ + public Builder numberOfSlots(Integer numberOfSlots) { + return numberOfSlots(Output.of(numberOfSlots)); + } + + /** + * @param state Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + * @return builder + * + */ + public Builder state(@Nullable Output state) { + $.state = state; + return this; + } + + /** + * @param state Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + * @return builder + * + */ + public Builder state(String state) { + return state(Output.of(state)); + } + + /** + * @param vlans 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 + * + * @return builder + * + */ + public Builder vlans(@Nullable Output> vlans) { + $.vlans = vlans; + return this; + } + + /** + * @param vlans 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 + * + * @return builder + * + */ + public Builder vlans(List vlans) { + return vlans(Output.of(vlans)); + } + + /** + * @param vlans 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 + * + * @return builder + * + */ + public Builder vlans(String... vlans) { + return vlans(List.of(vlans)); + } + + public GuestArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/inputs/GuestState.java b/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/inputs/GuestState.java new file mode 100644 index 00000000..482f236c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/f5bigip/vcmp/inputs/GuestState.java @@ -0,0 +1,624 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.f5bigip.vcmp.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GuestState extends com.pulumi.resources.ResourceArgs { + + public static final GuestState Empty = new GuestState(); + + /** + * Contains those slots to which the guest is allowed to be assigned. + * + */ + @Import(name="allowedSlots") + private @Nullable Output> allowedSlots; + + /** + * @return Contains those slots to which the guest is allowed to be assigned. + * + */ + public Optional>> allowedSlots() { + return Optional.ofNullable(this.allowedSlots); + } + + /** + * Specifies the number of cores the system allocates to the guest. + * + */ + @Import(name="coresPerSlot") + private @Nullable Output coresPerSlot; + + /** + * @return Specifies the number of cores the system allocates to the guest. + * + */ + public Optional> coresPerSlot() { + return Optional.ofNullable(this.coresPerSlot); + } + + /** + * Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + */ + @Import(name="deleteVirtualDisk") + private @Nullable Output deleteVirtualDisk; + + /** + * @return Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + */ + public Optional> deleteVirtualDisk() { + return Optional.ofNullable(this.deleteVirtualDisk); + } + + /** + * Resource name including prepended partition path. + * + */ + @Import(name="fullPath") + private @Nullable Output fullPath; + + /** + * @return Resource name including prepended partition path. + * + */ + public Optional> fullPath() { + return Optional.ofNullable(this.fullPath); + } + + /** + * Specifies the hotfix ISO image file which is applied on top of the base image. + * + */ + @Import(name="initialHotfix") + private @Nullable Output initialHotfix; + + /** + * @return Specifies the hotfix ISO image file which is applied on top of the base image. + * + */ + public Optional> initialHotfix() { + return Optional.ofNullable(this.initialHotfix); + } + + /** + * Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + */ + @Import(name="initialImage") + private @Nullable Output initialImage; + + /** + * @return Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + */ + public Optional> initialImage() { + return Optional.ofNullable(this.initialImage); + } + + /** + * 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. + * + */ + @Import(name="mgmtAddress") + private @Nullable Output mgmtAddress; + + /** + * @return 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. + * + */ + public Optional> mgmtAddress() { + return Optional.ofNullable(this.mgmtAddress); + } + + /** + * Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + */ + @Import(name="mgmtNetwork") + private @Nullable Output mgmtNetwork; + + /** + * @return Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + */ + public Optional> mgmtNetwork() { + return Optional.ofNullable(this.mgmtNetwork); + } + + /** + * Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + */ + @Import(name="mgmtRoute") + private @Nullable Output mgmtRoute; + + /** + * @return Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + */ + public Optional> mgmtRoute() { + return Optional.ofNullable(this.mgmtRoute); + } + + /** + * Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + */ + @Import(name="minNumberOfSlots") + private @Nullable Output minNumberOfSlots; + + /** + * @return Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + */ + public Optional> minNumberOfSlots() { + return Optional.ofNullable(this.minNumberOfSlots); + } + + /** + * Name of the vCMP guest + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the vCMP guest + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Specifies the number of slots for the system to use when creating the guest. + * + */ + @Import(name="numberOfSlots") + private @Nullable Output numberOfSlots; + + /** + * @return Specifies the number of slots for the system to use when creating the guest. + * + */ + public Optional> numberOfSlots() { + return Optional.ofNullable(this.numberOfSlots); + } + + /** + * Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + */ + @Import(name="state") + private @Nullable Output state; + + /** + * @return Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + */ + public Optional> state() { + return Optional.ofNullable(this.state); + } + + /** + * Virtual disk associated with vCMP guest. + * + */ + @Import(name="virtualDisk") + private @Nullable Output virtualDisk; + + /** + * @return Virtual disk associated with vCMP guest. + * + */ + public Optional> virtualDisk() { + return Optional.ofNullable(this.virtualDisk); + } + + /** + * 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 + * + */ + @Import(name="vlans") + private @Nullable Output> vlans; + + /** + * @return 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 + * + */ + public Optional>> vlans() { + return Optional.ofNullable(this.vlans); + } + + private GuestState() {} + + private GuestState(GuestState $) { + this.allowedSlots = $.allowedSlots; + this.coresPerSlot = $.coresPerSlot; + this.deleteVirtualDisk = $.deleteVirtualDisk; + this.fullPath = $.fullPath; + this.initialHotfix = $.initialHotfix; + this.initialImage = $.initialImage; + this.mgmtAddress = $.mgmtAddress; + this.mgmtNetwork = $.mgmtNetwork; + this.mgmtRoute = $.mgmtRoute; + this.minNumberOfSlots = $.minNumberOfSlots; + this.name = $.name; + this.numberOfSlots = $.numberOfSlots; + this.state = $.state; + this.virtualDisk = $.virtualDisk; + this.vlans = $.vlans; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GuestState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GuestState $; + + public Builder() { + $ = new GuestState(); + } + + public Builder(GuestState defaults) { + $ = new GuestState(Objects.requireNonNull(defaults)); + } + + /** + * @param allowedSlots Contains those slots to which the guest is allowed to be assigned. + * + * @return builder + * + */ + public Builder allowedSlots(@Nullable Output> allowedSlots) { + $.allowedSlots = allowedSlots; + return this; + } + + /** + * @param allowedSlots Contains those slots to which the guest is allowed to be assigned. + * + * @return builder + * + */ + public Builder allowedSlots(List allowedSlots) { + return allowedSlots(Output.of(allowedSlots)); + } + + /** + * @param allowedSlots Contains those slots to which the guest is allowed to be assigned. + * + * @return builder + * + */ + public Builder allowedSlots(Integer... allowedSlots) { + return allowedSlots(List.of(allowedSlots)); + } + + /** + * @param coresPerSlot Specifies the number of cores the system allocates to the guest. + * + * @return builder + * + */ + public Builder coresPerSlot(@Nullable Output coresPerSlot) { + $.coresPerSlot = coresPerSlot; + return this; + } + + /** + * @param coresPerSlot Specifies the number of cores the system allocates to the guest. + * + * @return builder + * + */ + public Builder coresPerSlot(Integer coresPerSlot) { + return coresPerSlot(Output.of(coresPerSlot)); + } + + /** + * @param deleteVirtualDisk Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + * @return builder + * + */ + public Builder deleteVirtualDisk(@Nullable Output deleteVirtualDisk) { + $.deleteVirtualDisk = deleteVirtualDisk; + return this; + } + + /** + * @param deleteVirtualDisk Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + * + * @return builder + * + */ + public Builder deleteVirtualDisk(Boolean deleteVirtualDisk) { + return deleteVirtualDisk(Output.of(deleteVirtualDisk)); + } + + /** + * @param fullPath Resource name including prepended partition path. + * + * @return builder + * + */ + public Builder fullPath(@Nullable Output fullPath) { + $.fullPath = fullPath; + return this; + } + + /** + * @param fullPath Resource name including prepended partition path. + * + * @return builder + * + */ + public Builder fullPath(String fullPath) { + return fullPath(Output.of(fullPath)); + } + + /** + * @param initialHotfix Specifies the hotfix ISO image file which is applied on top of the base image. + * + * @return builder + * + */ + public Builder initialHotfix(@Nullable Output initialHotfix) { + $.initialHotfix = initialHotfix; + return this; + } + + /** + * @param initialHotfix Specifies the hotfix ISO image file which is applied on top of the base image. + * + * @return builder + * + */ + public Builder initialHotfix(String initialHotfix) { + return initialHotfix(Output.of(initialHotfix)); + } + + /** + * @param initialImage Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + * @return builder + * + */ + public Builder initialImage(@Nullable Output initialImage) { + $.initialImage = initialImage; + return this; + } + + /** + * @param initialImage Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + * + * @return builder + * + */ + public Builder initialImage(String initialImage) { + return initialImage(Output.of(initialImage)); + } + + /** + * @param mgmtAddress 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. + * + * @return builder + * + */ + public Builder mgmtAddress(@Nullable Output mgmtAddress) { + $.mgmtAddress = mgmtAddress; + return this; + } + + /** + * @param mgmtAddress 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. + * + * @return builder + * + */ + public Builder mgmtAddress(String mgmtAddress) { + return mgmtAddress(Output.of(mgmtAddress)); + } + + /** + * @param mgmtNetwork Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + * @return builder + * + */ + public Builder mgmtNetwork(@Nullable Output mgmtNetwork) { + $.mgmtNetwork = mgmtNetwork; + return this; + } + + /** + * @param mgmtNetwork Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + * + * @return builder + * + */ + public Builder mgmtNetwork(String mgmtNetwork) { + return mgmtNetwork(Output.of(mgmtNetwork)); + } + + /** + * @param mgmtRoute Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + * @return builder + * + */ + public Builder mgmtRoute(@Nullable Output mgmtRoute) { + $.mgmtRoute = mgmtRoute; + return this; + } + + /** + * @param mgmtRoute Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + * + * @return builder + * + */ + public Builder mgmtRoute(String mgmtRoute) { + return mgmtRoute(Output.of(mgmtRoute)); + } + + /** + * @param minNumberOfSlots Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + * @return builder + * + */ + public Builder minNumberOfSlots(@Nullable Output minNumberOfSlots) { + $.minNumberOfSlots = minNumberOfSlots; + return this; + } + + /** + * @param minNumberOfSlots Specifies the minimum number of slots the guest must be assigned to in order to deploy. + * + * @return builder + * + */ + public Builder minNumberOfSlots(Integer minNumberOfSlots) { + return minNumberOfSlots(Output.of(minNumberOfSlots)); + } + + /** + * @param name Name of the vCMP guest + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the vCMP guest + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param numberOfSlots Specifies the number of slots for the system to use when creating the guest. + * + * @return builder + * + */ + public Builder numberOfSlots(@Nullable Output numberOfSlots) { + $.numberOfSlots = numberOfSlots; + return this; + } + + /** + * @param numberOfSlots Specifies the number of slots for the system to use when creating the guest. + * + * @return builder + * + */ + public Builder numberOfSlots(Integer numberOfSlots) { + return numberOfSlots(Output.of(numberOfSlots)); + } + + /** + * @param state Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + * @return builder + * + */ + public Builder state(@Nullable Output state) { + $.state = state; + return this; + } + + /** + * @param state Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + * + * @return builder + * + */ + public Builder state(String state) { + return state(Output.of(state)); + } + + /** + * @param virtualDisk Virtual disk associated with vCMP guest. + * + * @return builder + * + */ + public Builder virtualDisk(@Nullable Output virtualDisk) { + $.virtualDisk = virtualDisk; + return this; + } + + /** + * @param virtualDisk Virtual disk associated with vCMP guest. + * + * @return builder + * + */ + public Builder virtualDisk(String virtualDisk) { + return virtualDisk(Output.of(virtualDisk)); + } + + /** + * @param vlans 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 + * + * @return builder + * + */ + public Builder vlans(@Nullable Output> vlans) { + $.vlans = vlans; + return this; + } + + /** + * @param vlans 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 + * + * @return builder + * + */ + public Builder vlans(List vlans) { + return vlans(Output.of(vlans)); + } + + /** + * @param vlans 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 + * + * @return builder + * + */ + public Builder vlans(String... vlans) { + return vlans(List.of(vlans)); + } + + public GuestState build() { + return $; + } + } + +} diff --git a/sdk/nodejs/as3.ts b/sdk/nodejs/as3.ts index 7cfdfe83..df81bec4 100644 --- a/sdk/nodejs/as3.ts +++ b/sdk/nodejs/as3.ts @@ -45,7 +45,7 @@ import * as utilities from "./utilities"; * * bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! * - * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { * * as3_json * @@ -213,7 +213,7 @@ import * as utilities from "./utilities"; * * bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! * - * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + * Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { * * as3_json * diff --git a/sdk/nodejs/bigIqAs3.ts b/sdk/nodejs/bigIqAs3.ts index ecf96c6d..d4fc1b10 100644 --- a/sdk/nodejs/bigIqAs3.ts +++ b/sdk/nodejs/bigIqAs3.ts @@ -18,7 +18,7 @@ import * as utilities from "./utilities"; * * // Example Usage for json file * const exampletask = new f5bigip.BigIqAs3("exampletask", { - * as3Json: fs.readFileSync("bigiq_example.json", "utf-8"), + * as3Json: fs.readFileSync("bigiq_example.json"), * bigiqAddress: "xx.xx.xxx.xx", * bigiqPassword: "xxxxxxxxx", * bigiqUser: "xxxxx", @@ -128,15 +128,17 @@ export class BigIqAs3 extends pulumi.CustomResource { } resourceInputs["as3Json"] = args ? args.as3Json : undefined; resourceInputs["bigiqAddress"] = args ? args.bigiqAddress : undefined; - resourceInputs["bigiqLoginRef"] = args ? args.bigiqLoginRef : undefined; - resourceInputs["bigiqPassword"] = args ? args.bigiqPassword : undefined; - resourceInputs["bigiqPort"] = args ? args.bigiqPort : undefined; - resourceInputs["bigiqTokenAuth"] = args ? args.bigiqTokenAuth : undefined; - resourceInputs["bigiqUser"] = args ? args.bigiqUser : undefined; + resourceInputs["bigiqLoginRef"] = args?.bigiqLoginRef ? pulumi.secret(args.bigiqLoginRef) : undefined; + resourceInputs["bigiqPassword"] = args?.bigiqPassword ? pulumi.secret(args.bigiqPassword) : undefined; + resourceInputs["bigiqPort"] = args?.bigiqPort ? pulumi.secret(args.bigiqPort) : undefined; + resourceInputs["bigiqTokenAuth"] = args?.bigiqTokenAuth ? pulumi.secret(args.bigiqTokenAuth) : undefined; + resourceInputs["bigiqUser"] = args?.bigiqUser ? pulumi.secret(args.bigiqUser) : undefined; resourceInputs["ignoreMetadata"] = args ? args.ignoreMetadata : undefined; resourceInputs["tenantList"] = args ? args.tenantList : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["bigiqLoginRef", "bigiqPassword", "bigiqPort", "bigiqTokenAuth", "bigiqUser"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(BigIqAs3.__pulumiType, name, resourceInputs, opts); } } diff --git a/sdk/nodejs/cm/device.ts b/sdk/nodejs/cm/device.ts index 15daae2e..922d3390 100644 --- a/sdk/nodejs/cm/device.ts +++ b/sdk/nodejs/cm/device.ts @@ -14,7 +14,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const myNewDevice = new f5bigip.cm.Device("my_new_device", { + * const myNewDevice = new f5bigip.cm.Device("myNewDevice", { * configsyncIp: "2.2.2.2", * mirrorIp: "10.10.10.10", * mirrorSecondaryIp: "11.11.11.11", diff --git a/sdk/nodejs/cm/deviceGroup.ts b/sdk/nodejs/cm/deviceGroup.ts index 56324e2d..9dc5649d 100644 --- a/sdk/nodejs/cm/deviceGroup.ts +++ b/sdk/nodejs/cm/deviceGroup.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** @@ -14,7 +15,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const myNewDevicegroup = new f5bigip.cm.DeviceGroup("my_new_devicegroup", { + * const myNewDevicegroup = new f5bigip.cm.DeviceGroup("myNewDevicegroup", { * autoSync: "enabled", * devices: [ * { diff --git a/sdk/nodejs/cm/index.ts b/sdk/nodejs/cm/index.ts index 3f596931..c3ecd562 100644 --- a/sdk/nodejs/cm/index.ts +++ b/sdk/nodejs/cm/index.ts @@ -5,12 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: -export * from "./device"; -export * from "./deviceGroup"; +export { DeviceArgs, DeviceState } from "./device"; +export type Device = import("./device").Device; +export const Device: typeof import("./device").Device = null as any; +utilities.lazyLoad(exports, ["Device"], () => require("./device")); + +export { DeviceGroupArgs, DeviceGroupState } from "./deviceGroup"; +export type DeviceGroup = import("./deviceGroup").DeviceGroup; +export const DeviceGroup: typeof import("./deviceGroup").DeviceGroup = null as any; +utilities.lazyLoad(exports, ["DeviceGroup"], () => require("./deviceGroup")); -// Import resources to register: -import { Device } from "./device"; -import { DeviceGroup } from "./deviceGroup"; const _module = { version: utilities.getVersion(), diff --git a/sdk/nodejs/commonLicenseManageBigIq.ts b/sdk/nodejs/commonLicenseManageBigIq.ts index 72622269..e96768d2 100644 --- a/sdk/nodejs/commonLicenseManageBigIq.ts +++ b/sdk/nodejs/commonLicenseManageBigIq.ts @@ -208,11 +208,11 @@ export class CommonLicenseManageBigIq extends pulumi.CustomResource { } resourceInputs["assignmentType"] = args ? args.assignmentType : undefined; resourceInputs["bigiqAddress"] = args ? args.bigiqAddress : undefined; - resourceInputs["bigiqLoginRef"] = args ? args.bigiqLoginRef : undefined; - resourceInputs["bigiqPassword"] = args ? args.bigiqPassword : undefined; - resourceInputs["bigiqPort"] = args ? args.bigiqPort : undefined; - resourceInputs["bigiqTokenAuth"] = args ? args.bigiqTokenAuth : undefined; - resourceInputs["bigiqUser"] = args ? args.bigiqUser : undefined; + resourceInputs["bigiqLoginRef"] = args?.bigiqLoginRef ? pulumi.secret(args.bigiqLoginRef) : undefined; + resourceInputs["bigiqPassword"] = args?.bigiqPassword ? pulumi.secret(args.bigiqPassword) : undefined; + resourceInputs["bigiqPort"] = args?.bigiqPort ? pulumi.secret(args.bigiqPort) : undefined; + resourceInputs["bigiqTokenAuth"] = args?.bigiqTokenAuth ? pulumi.secret(args.bigiqTokenAuth) : undefined; + resourceInputs["bigiqUser"] = args?.bigiqUser ? pulumi.secret(args.bigiqUser) : undefined; resourceInputs["deviceLicenseStatus"] = args ? args.deviceLicenseStatus : undefined; resourceInputs["hypervisor"] = args ? args.hypervisor : undefined; resourceInputs["key"] = args ? args.key : undefined; @@ -224,6 +224,8 @@ export class CommonLicenseManageBigIq extends pulumi.CustomResource { resourceInputs["unitOfMeasure"] = args ? args.unitOfMeasure : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["bigiqLoginRef", "bigiqPassword", "bigiqPort", "bigiqTokenAuth", "bigiqUser"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(CommonLicenseManageBigIq.__pulumiType, name, resourceInputs, opts); } } diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index 45426354..4af8c340 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -84,6 +84,17 @@ Object.defineProperty(exports, "tokenValue", { enumerable: true, }); +/** + * Valid Trusted Certificate path + */ +export declare const trustedCertPath: string | undefined; +Object.defineProperty(exports, "trustedCertPath", { + get() { + return __config.get("trustedCertPath"); + }, + enumerable: true, +}); + /** * Username with API access to the BigIP */ @@ -95,3 +106,14 @@ Object.defineProperty(exports, "username", { enumerable: true, }); +/** + * If set to true, Disables TLS certificate check on BIG-IP. Default : True + */ +export declare const validateCertsDisable: boolean | undefined; +Object.defineProperty(exports, "validateCertsDisable", { + get() { + return __config.getObject("validateCertsDisable"); + }, + enumerable: true, +}); + diff --git a/sdk/nodejs/do.ts b/sdk/nodejs/do.ts index 2ae8bd85..a1ff0bcb 100644 --- a/sdk/nodejs/do.ts +++ b/sdk/nodejs/do.ts @@ -16,7 +16,7 @@ import * as utilities from "./utilities"; * import * as fs from "fs"; * * const do_example = new f5bigip.Do("do-example", { - * doJson: fs.readFileSync("example.json", "utf-8"), + * doJson: fs.readFileSync("example.json"), * timeout: 15, * }); * ``` @@ -115,15 +115,17 @@ export class Do extends pulumi.CustomResource { throw new Error("Missing required property 'doJson'"); } resourceInputs["bigipAddress"] = args ? args.bigipAddress : undefined; - resourceInputs["bigipPassword"] = args ? args.bigipPassword : undefined; + resourceInputs["bigipPassword"] = args?.bigipPassword ? pulumi.secret(args.bigipPassword) : undefined; resourceInputs["bigipPort"] = args ? args.bigipPort : undefined; - resourceInputs["bigipTokenAuth"] = args ? args.bigipTokenAuth : undefined; + resourceInputs["bigipTokenAuth"] = args?.bigipTokenAuth ? pulumi.secret(args.bigipTokenAuth) : undefined; resourceInputs["bigipUser"] = args ? args.bigipUser : undefined; resourceInputs["doJson"] = args ? args.doJson : undefined; resourceInputs["tenantName"] = args ? args.tenantName : undefined; resourceInputs["timeout"] = args ? args.timeout : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["bigipPassword", "bigipTokenAuth"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(Do.__pulumiType, name, resourceInputs, opts); } } diff --git a/sdk/nodejs/eventServiceDiscovery.ts b/sdk/nodejs/eventServiceDiscovery.ts index 017d8c17..dbfeed0f 100644 --- a/sdk/nodejs/eventServiceDiscovery.ts +++ b/sdk/nodejs/eventServiceDiscovery.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "./types"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** diff --git a/sdk/nodejs/fastApplication.ts b/sdk/nodejs/fastApplication.ts index 1a21ea1f..32670ae1 100644 --- a/sdk/nodejs/fastApplication.ts +++ b/sdk/nodejs/fastApplication.ts @@ -15,7 +15,7 @@ import * as utilities from "./utilities"; * import * as fs from "fs"; * * const foo_app = new f5bigip.FastApplication("foo-app", { - * fastJson: fs.readFileSync("new_fast_app.json", "utf-8"), + * fastJson: fs.readFileSync("new_fast_app.json"), * template: "examples/simple_http", * }); * ``` diff --git a/sdk/nodejs/fastHttpApp.ts b/sdk/nodejs/fastHttpApp.ts index 02586407..6440679f 100644 --- a/sdk/nodejs/fastHttpApp.ts +++ b/sdk/nodejs/fastHttpApp.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "./types"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** @@ -16,7 +17,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const fastHttpApp = new f5bigip.FastHttpApp("fast_http_app", { + * const fastHttpApp = new f5bigip.FastHttpApp("fastHttpApp", { * application: "fasthttpapp", * tenant: "fasthttptenant", * virtualServer: { @@ -59,39 +60,55 @@ export class FastHttpApp extends pulumi.CustomResource { */ public readonly application!: pulumi.Output; /** - * Name of an existing BIG-IP pool. + * List of LTM Policies to be applied FAST HTTP Application. */ - public readonly existPoolName!: pulumi.Output; + public readonly endpointLtmPolicies!: pulumi.Output; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ public readonly existingMonitor!: pulumi.Output; /** - * Name of an existing BIG-IP SNAT pool. + * Select an existing BIG-IP Pool */ - public readonly existingSnatPool!: pulumi.Output; + public readonly existingPool!: pulumi.Output; /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing BIG-IP SNAT pool. */ - public readonly fastCreateMonitor!: pulumi.Output; + public readonly existingSnatPool!: pulumi.Output; /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing WAF Security policy. */ - public readonly fastCreatePoolMembers!: pulumi.Output; + public readonly existingWafSecurityPolicy!: pulumi.Output; /** - * List of address to be used for FAST-Generated SNAT Pool. + * Json payload for FAST HTTP application. */ - public readonly fastCreateSnatPoolAddresses!: pulumi.Output; + public /*out*/ readonly fastHttpJson!: pulumi.Output; /** * 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 */ public readonly loadBalancingMode!: pulumi.Output; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + public readonly monitor!: pulumi.Output; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + public readonly poolMembers!: pulumi.Output; + /** + * List of security log profiles to be used for FAST application + */ + public readonly securityLogProfiles!: pulumi.Output; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ public readonly slowRampTime!: pulumi.Output; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + public readonly snatPoolAddresses!: pulumi.Output; /** * Name of the FAST HTTPS application tenant. */ @@ -101,6 +118,11 @@ export class FastHttpApp extends pulumi.CustomResource { * See virtual server below for more details. */ public readonly virtualServer!: pulumi.Output; + /** + * `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + */ + public readonly wafSecurityPolicy!: pulumi.Output; /** * Create a FastHttpApp resource with the given unique name, arguments, and options. @@ -116,16 +138,21 @@ export class FastHttpApp extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as FastHttpAppState | undefined; resourceInputs["application"] = state ? state.application : undefined; - resourceInputs["existPoolName"] = state ? state.existPoolName : undefined; + resourceInputs["endpointLtmPolicies"] = state ? state.endpointLtmPolicies : undefined; resourceInputs["existingMonitor"] = state ? state.existingMonitor : undefined; + resourceInputs["existingPool"] = state ? state.existingPool : undefined; resourceInputs["existingSnatPool"] = state ? state.existingSnatPool : undefined; - resourceInputs["fastCreateMonitor"] = state ? state.fastCreateMonitor : undefined; - resourceInputs["fastCreatePoolMembers"] = state ? state.fastCreatePoolMembers : undefined; - resourceInputs["fastCreateSnatPoolAddresses"] = state ? state.fastCreateSnatPoolAddresses : undefined; + resourceInputs["existingWafSecurityPolicy"] = state ? state.existingWafSecurityPolicy : undefined; + resourceInputs["fastHttpJson"] = state ? state.fastHttpJson : undefined; resourceInputs["loadBalancingMode"] = state ? state.loadBalancingMode : undefined; + resourceInputs["monitor"] = state ? state.monitor : undefined; + resourceInputs["poolMembers"] = state ? state.poolMembers : undefined; + resourceInputs["securityLogProfiles"] = state ? state.securityLogProfiles : undefined; resourceInputs["slowRampTime"] = state ? state.slowRampTime : undefined; + resourceInputs["snatPoolAddresses"] = state ? state.snatPoolAddresses : undefined; resourceInputs["tenant"] = state ? state.tenant : undefined; resourceInputs["virtualServer"] = state ? state.virtualServer : undefined; + resourceInputs["wafSecurityPolicy"] = state ? state.wafSecurityPolicy : undefined; } else { const args = argsOrState as FastHttpAppArgs | undefined; if ((!args || args.application === undefined) && !opts.urn) { @@ -135,16 +162,21 @@ export class FastHttpApp extends pulumi.CustomResource { throw new Error("Missing required property 'tenant'"); } resourceInputs["application"] = args ? args.application : undefined; - resourceInputs["existPoolName"] = args ? args.existPoolName : undefined; + resourceInputs["endpointLtmPolicies"] = args ? args.endpointLtmPolicies : undefined; resourceInputs["existingMonitor"] = args ? args.existingMonitor : undefined; + resourceInputs["existingPool"] = args ? args.existingPool : undefined; resourceInputs["existingSnatPool"] = args ? args.existingSnatPool : undefined; - resourceInputs["fastCreateMonitor"] = args ? args.fastCreateMonitor : undefined; - resourceInputs["fastCreatePoolMembers"] = args ? args.fastCreatePoolMembers : undefined; - resourceInputs["fastCreateSnatPoolAddresses"] = args ? args.fastCreateSnatPoolAddresses : undefined; + resourceInputs["existingWafSecurityPolicy"] = args ? args.existingWafSecurityPolicy : undefined; resourceInputs["loadBalancingMode"] = args ? args.loadBalancingMode : undefined; + resourceInputs["monitor"] = args ? args.monitor : undefined; + resourceInputs["poolMembers"] = args ? args.poolMembers : undefined; + resourceInputs["securityLogProfiles"] = args ? args.securityLogProfiles : undefined; resourceInputs["slowRampTime"] = args ? args.slowRampTime : undefined; + resourceInputs["snatPoolAddresses"] = args ? args.snatPoolAddresses : undefined; resourceInputs["tenant"] = args ? args.tenant : undefined; resourceInputs["virtualServer"] = args ? args.virtualServer : undefined; + resourceInputs["wafSecurityPolicy"] = args ? args.wafSecurityPolicy : undefined; + resourceInputs["fastHttpJson"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(FastHttpApp.__pulumiType, name, resourceInputs, opts); @@ -160,39 +192,55 @@ export interface FastHttpAppState { */ application?: pulumi.Input; /** - * Name of an existing BIG-IP pool. + * List of LTM Policies to be applied FAST HTTP Application. */ - existPoolName?: pulumi.Input; + endpointLtmPolicies?: pulumi.Input[]>; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ existingMonitor?: pulumi.Input; /** - * Name of an existing BIG-IP SNAT pool. + * Select an existing BIG-IP Pool */ - existingSnatPool?: pulumi.Input; + existingPool?: pulumi.Input; /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing BIG-IP SNAT pool. */ - fastCreateMonitor?: pulumi.Input; + existingSnatPool?: pulumi.Input; /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing WAF Security policy. */ - fastCreatePoolMembers?: pulumi.Input[]>; + existingWafSecurityPolicy?: pulumi.Input; /** - * List of address to be used for FAST-Generated SNAT Pool. + * Json payload for FAST HTTP application. */ - fastCreateSnatPoolAddresses?: pulumi.Input[]>; + fastHttpJson?: pulumi.Input; /** * 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 */ loadBalancingMode?: pulumi.Input; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + monitor?: pulumi.Input; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + poolMembers?: pulumi.Input[]>; + /** + * List of security log profiles to be used for FAST application + */ + securityLogProfiles?: pulumi.Input[]>; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ slowRampTime?: pulumi.Input; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + snatPoolAddresses?: pulumi.Input[]>; /** * Name of the FAST HTTPS application tenant. */ @@ -202,6 +250,11 @@ export interface FastHttpAppState { * See virtual server below for more details. */ virtualServer?: pulumi.Input; + /** + * `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + */ + wafSecurityPolicy?: pulumi.Input; } /** @@ -213,39 +266,51 @@ export interface FastHttpAppArgs { */ application: pulumi.Input; /** - * Name of an existing BIG-IP pool. + * List of LTM Policies to be applied FAST HTTP Application. */ - existPoolName?: pulumi.Input; + endpointLtmPolicies?: pulumi.Input[]>; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ existingMonitor?: pulumi.Input; + /** + * Select an existing BIG-IP Pool + */ + existingPool?: pulumi.Input; /** * Name of an existing BIG-IP SNAT pool. */ existingSnatPool?: pulumi.Input; /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing WAF Security policy. */ - fastCreateMonitor?: pulumi.Input; + existingWafSecurityPolicy?: pulumi.Input; /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * 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 */ - fastCreatePoolMembers?: pulumi.Input[]>; + loadBalancingMode?: pulumi.Input; /** - * List of address to be used for FAST-Generated SNAT Pool. + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. */ - fastCreateSnatPoolAddresses?: pulumi.Input[]>; + monitor?: pulumi.Input; /** - * 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 + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. */ - loadBalancingMode?: pulumi.Input; + poolMembers?: pulumi.Input[]>; + /** + * List of security log profiles to be used for FAST application + */ + securityLogProfiles?: pulumi.Input[]>; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ slowRampTime?: pulumi.Input; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + snatPoolAddresses?: pulumi.Input[]>; /** * Name of the FAST HTTPS application tenant. */ @@ -255,4 +320,9 @@ export interface FastHttpAppArgs { * See virtual server below for more details. */ virtualServer?: pulumi.Input; + /** + * `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + */ + wafSecurityPolicy?: pulumi.Input; } diff --git a/sdk/nodejs/fastHttpsApp.ts b/sdk/nodejs/fastHttpsApp.ts index 3a60e5fa..24cfea6c 100644 --- a/sdk/nodejs/fastHttpsApp.ts +++ b/sdk/nodejs/fastHttpsApp.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "./types"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** @@ -16,7 +17,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const fastHttpsApp = new f5bigip.FastHttpsApp("fast_https_app", { + * const fastHttpsApp = new f5bigip.FastHttpsApp("fastHttpsApp", { * application: "fasthttpsapp", * tenant: "fasthttpstenant", * virtualServer: { @@ -59,57 +60,87 @@ export class FastHttpsApp extends pulumi.CustomResource { */ public readonly application!: pulumi.Output; /** - * `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. - */ - public readonly createTlsServerProfile!: pulumi.Output; - /** - * Name of an existing BIG-IP pool. + * List of LTM Policies to be applied FAST HTTPS Application. */ - public readonly existPoolName!: pulumi.Output; + public readonly endpointLtmPolicies!: pulumi.Output; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ public readonly existingMonitor!: pulumi.Output; + /** + * Name of an existing BIG-IP pool. + */ + public readonly existingPool!: pulumi.Output; /** * Name of an existing BIG-IP SNAT pool. */ public readonly existingSnatPool!: pulumi.Output; /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing TLS client profile. */ - public readonly fastCreateMonitor!: pulumi.Output; + public readonly existingTlsClientProfile!: pulumi.Output; /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing TLS server profile. */ - public readonly fastCreatePoolMembers!: pulumi.Output; + public readonly existingTlsServerProfile!: pulumi.Output; /** - * List of address to be used for FAST-Generated SNAT Pool. + * Name of an existing WAF Security policy. */ - public readonly fastCreateSnatPoolAddresses!: pulumi.Output; + public readonly existingWafSecurityPolicy!: pulumi.Output; + /** + * Json payload for FAST HTTPS application. + */ + public /*out*/ readonly fastHttpsJson!: pulumi.Output; /** * 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 */ public readonly loadBalancingMode!: pulumi.Output; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + public readonly monitor!: pulumi.Output; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + public readonly poolMembers!: pulumi.Output; + /** + * List of security log profiles to be used for FAST application + */ + public readonly securityLogProfiles!: pulumi.Output; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ public readonly slowRampTime!: pulumi.Output; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + public readonly snatPoolAddresses!: pulumi.Output; /** * Name of the FAST HTTPS application tenant. */ public readonly tenant!: pulumi.Output; /** - * Name of an existing TLS server profile. + * `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. + */ + public readonly tlsClientProfile!: pulumi.Output; + /** + * `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. */ - public readonly tlsServerProfileName!: pulumi.Output; + public readonly tlsServerProfile!: pulumi.Output; /** * `virtualServer` block will provide `ip` and `port` options to be used for virtual server. * See virtual server below for more details. */ public readonly virtualServer!: pulumi.Output; + /** + * `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + */ + public readonly wafSecurityPolicy!: pulumi.Output; /** * Create a FastHttpsApp resource with the given unique name, arguments, and options. @@ -125,18 +156,25 @@ export class FastHttpsApp extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as FastHttpsAppState | undefined; resourceInputs["application"] = state ? state.application : undefined; - resourceInputs["createTlsServerProfile"] = state ? state.createTlsServerProfile : undefined; - resourceInputs["existPoolName"] = state ? state.existPoolName : undefined; + resourceInputs["endpointLtmPolicies"] = state ? state.endpointLtmPolicies : undefined; resourceInputs["existingMonitor"] = state ? state.existingMonitor : undefined; + resourceInputs["existingPool"] = state ? state.existingPool : undefined; resourceInputs["existingSnatPool"] = state ? state.existingSnatPool : undefined; - resourceInputs["fastCreateMonitor"] = state ? state.fastCreateMonitor : undefined; - resourceInputs["fastCreatePoolMembers"] = state ? state.fastCreatePoolMembers : undefined; - resourceInputs["fastCreateSnatPoolAddresses"] = state ? state.fastCreateSnatPoolAddresses : undefined; + resourceInputs["existingTlsClientProfile"] = state ? state.existingTlsClientProfile : undefined; + resourceInputs["existingTlsServerProfile"] = state ? state.existingTlsServerProfile : undefined; + resourceInputs["existingWafSecurityPolicy"] = state ? state.existingWafSecurityPolicy : undefined; + resourceInputs["fastHttpsJson"] = state ? state.fastHttpsJson : undefined; resourceInputs["loadBalancingMode"] = state ? state.loadBalancingMode : undefined; + resourceInputs["monitor"] = state ? state.monitor : undefined; + resourceInputs["poolMembers"] = state ? state.poolMembers : undefined; + resourceInputs["securityLogProfiles"] = state ? state.securityLogProfiles : undefined; resourceInputs["slowRampTime"] = state ? state.slowRampTime : undefined; + resourceInputs["snatPoolAddresses"] = state ? state.snatPoolAddresses : undefined; resourceInputs["tenant"] = state ? state.tenant : undefined; - resourceInputs["tlsServerProfileName"] = state ? state.tlsServerProfileName : undefined; + resourceInputs["tlsClientProfile"] = state ? state.tlsClientProfile : undefined; + resourceInputs["tlsServerProfile"] = state ? state.tlsServerProfile : undefined; resourceInputs["virtualServer"] = state ? state.virtualServer : undefined; + resourceInputs["wafSecurityPolicy"] = state ? state.wafSecurityPolicy : undefined; } else { const args = argsOrState as FastHttpsAppArgs | undefined; if ((!args || args.application === undefined) && !opts.urn) { @@ -146,18 +184,25 @@ export class FastHttpsApp extends pulumi.CustomResource { throw new Error("Missing required property 'tenant'"); } resourceInputs["application"] = args ? args.application : undefined; - resourceInputs["createTlsServerProfile"] = args ? args.createTlsServerProfile : undefined; - resourceInputs["existPoolName"] = args ? args.existPoolName : undefined; + resourceInputs["endpointLtmPolicies"] = args ? args.endpointLtmPolicies : undefined; resourceInputs["existingMonitor"] = args ? args.existingMonitor : undefined; + resourceInputs["existingPool"] = args ? args.existingPool : undefined; resourceInputs["existingSnatPool"] = args ? args.existingSnatPool : undefined; - resourceInputs["fastCreateMonitor"] = args ? args.fastCreateMonitor : undefined; - resourceInputs["fastCreatePoolMembers"] = args ? args.fastCreatePoolMembers : undefined; - resourceInputs["fastCreateSnatPoolAddresses"] = args ? args.fastCreateSnatPoolAddresses : undefined; + resourceInputs["existingTlsClientProfile"] = args ? args.existingTlsClientProfile : undefined; + resourceInputs["existingTlsServerProfile"] = args ? args.existingTlsServerProfile : undefined; + resourceInputs["existingWafSecurityPolicy"] = args ? args.existingWafSecurityPolicy : undefined; resourceInputs["loadBalancingMode"] = args ? args.loadBalancingMode : undefined; + resourceInputs["monitor"] = args ? args.monitor : undefined; + resourceInputs["poolMembers"] = args ? args.poolMembers : undefined; + resourceInputs["securityLogProfiles"] = args ? args.securityLogProfiles : undefined; resourceInputs["slowRampTime"] = args ? args.slowRampTime : undefined; + resourceInputs["snatPoolAddresses"] = args ? args.snatPoolAddresses : undefined; resourceInputs["tenant"] = args ? args.tenant : undefined; - resourceInputs["tlsServerProfileName"] = args ? args.tlsServerProfileName : undefined; + resourceInputs["tlsClientProfile"] = args ? args.tlsClientProfile : undefined; + resourceInputs["tlsServerProfile"] = args ? args.tlsServerProfile : undefined; resourceInputs["virtualServer"] = args ? args.virtualServer : undefined; + resourceInputs["wafSecurityPolicy"] = args ? args.wafSecurityPolicy : undefined; + resourceInputs["fastHttpsJson"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(FastHttpsApp.__pulumiType, name, resourceInputs, opts); @@ -173,57 +218,87 @@ export interface FastHttpsAppState { */ application?: pulumi.Input; /** - * `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. - */ - createTlsServerProfile?: pulumi.Input; - /** - * Name of an existing BIG-IP pool. + * List of LTM Policies to be applied FAST HTTPS Application. */ - existPoolName?: pulumi.Input; + endpointLtmPolicies?: pulumi.Input[]>; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ existingMonitor?: pulumi.Input; + /** + * Name of an existing BIG-IP pool. + */ + existingPool?: pulumi.Input; /** * Name of an existing BIG-IP SNAT pool. */ existingSnatPool?: pulumi.Input; /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing TLS client profile. */ - fastCreateMonitor?: pulumi.Input; + existingTlsClientProfile?: pulumi.Input; /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing TLS server profile. */ - fastCreatePoolMembers?: pulumi.Input[]>; + existingTlsServerProfile?: pulumi.Input; /** - * List of address to be used for FAST-Generated SNAT Pool. + * Name of an existing WAF Security policy. */ - fastCreateSnatPoolAddresses?: pulumi.Input[]>; + existingWafSecurityPolicy?: pulumi.Input; + /** + * Json payload for FAST HTTPS application. + */ + fastHttpsJson?: pulumi.Input; /** * 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 */ loadBalancingMode?: pulumi.Input; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + monitor?: pulumi.Input; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + poolMembers?: pulumi.Input[]>; + /** + * List of security log profiles to be used for FAST application + */ + securityLogProfiles?: pulumi.Input[]>; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ slowRampTime?: pulumi.Input; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + snatPoolAddresses?: pulumi.Input[]>; /** * Name of the FAST HTTPS application tenant. */ tenant?: pulumi.Input; /** - * Name of an existing TLS server profile. + * `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. */ - tlsServerProfileName?: pulumi.Input; + tlsClientProfile?: pulumi.Input; + /** + * `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + */ + tlsServerProfile?: pulumi.Input; /** * `virtualServer` block will provide `ip` and `port` options to be used for virtual server. * See virtual server below for more details. */ virtualServer?: pulumi.Input; + /** + * `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + */ + wafSecurityPolicy?: pulumi.Input; } /** @@ -235,55 +310,81 @@ export interface FastHttpsAppArgs { */ application: pulumi.Input; /** - * `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile. - * See TLS Server Profile below for more details. + * List of LTM Policies to be applied FAST HTTPS Application. */ - createTlsServerProfile?: pulumi.Input; - /** - * Name of an existing BIG-IP pool. - */ - existPoolName?: pulumi.Input; + endpointLtmPolicies?: pulumi.Input[]>; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ existingMonitor?: pulumi.Input; + /** + * Name of an existing BIG-IP pool. + */ + existingPool?: pulumi.Input; /** * Name of an existing BIG-IP SNAT pool. */ existingSnatPool?: pulumi.Input; /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing TLS client profile. */ - fastCreateMonitor?: pulumi.Input; + existingTlsClientProfile?: pulumi.Input; /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing TLS server profile. */ - fastCreatePoolMembers?: pulumi.Input[]>; + existingTlsServerProfile?: pulumi.Input; /** - * List of address to be used for FAST-Generated SNAT Pool. + * Name of an existing WAF Security policy. */ - fastCreateSnatPoolAddresses?: pulumi.Input[]>; + existingWafSecurityPolicy?: pulumi.Input; /** * 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 */ loadBalancingMode?: pulumi.Input; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + monitor?: pulumi.Input; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + poolMembers?: pulumi.Input[]>; + /** + * List of security log profiles to be used for FAST application + */ + securityLogProfiles?: pulumi.Input[]>; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ slowRampTime?: pulumi.Input; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + snatPoolAddresses?: pulumi.Input[]>; /** * Name of the FAST HTTPS application tenant. */ tenant: pulumi.Input; /** - * Name of an existing TLS server profile. + * `tlsClientProfile` block takes input for FAST-Generated TLS client Profile. + * See TLS Client Profile below for more details. */ - tlsServerProfileName?: pulumi.Input; + tlsClientProfile?: pulumi.Input; + /** + * `tlsServerProfile` block takes input for FAST-Generated TLS Server Profile. + * See TLS Server Profile below for more details. + */ + tlsServerProfile?: pulumi.Input; /** * `virtualServer` block will provide `ip` and `port` options to be used for virtual server. * See virtual server below for more details. */ virtualServer?: pulumi.Input; + /** + * `wafSecurityPolicy` block takes input for FAST-Generated WAF Security Policy. + * See WAF Security Policy below for more details. + */ + wafSecurityPolicy?: pulumi.Input; } diff --git a/sdk/nodejs/fastTcpApp.ts b/sdk/nodejs/fastTcpApp.ts index 47e5dd7d..d62b8b1b 100644 --- a/sdk/nodejs/fastTcpApp.ts +++ b/sdk/nodejs/fastTcpApp.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "./types"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** @@ -16,7 +17,7 @@ import * as utilities from "./utilities"; * * const fast_tcp_app = new f5bigip.FastTcpApp("fast-tcp-app", { * application: "tcp_app_2", - * fastCreatePoolMembers: [{ + * poolMembers: [{ * addresses: [ * "10.11.34.65", * "56.43.23.76", @@ -66,32 +67,18 @@ export class FastTcpApp extends pulumi.CustomResource { * Name of the FAST TCP application. */ public readonly application!: pulumi.Output; - /** - * Name of an existing BIG-IP pool. - */ - public readonly existPoolName!: pulumi.Output; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ public readonly existingMonitor!: pulumi.Output; /** - * Name of an existing BIG-IP SNAT pool. - */ - public readonly existingSnatPool!: pulumi.Output; - /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. - */ - public readonly fastCreateMonitor!: pulumi.Output; - /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing BIG-IP pool. */ - public readonly fastCreatePoolMembers!: pulumi.Output; + public readonly existingPool!: pulumi.Output; /** - * List of address to be used for FAST-Generated SNAT Pool. + * Name of an existing BIG-IP SNAT pool. */ - public readonly fastCreateSnatPoolAddresses!: pulumi.Output; + public readonly existingSnatPool!: pulumi.Output; /** * Json payload for FAST TCP application. */ @@ -100,10 +87,24 @@ export class FastTcpApp extends pulumi.CustomResource { * 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 */ public readonly loadBalancingMode!: pulumi.Output; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + public readonly monitor!: pulumi.Output; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + public readonly poolMembers!: pulumi.Output; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ public readonly slowRampTime!: pulumi.Output; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + public readonly snatPoolAddresses!: pulumi.Output; /** * Name of the FAST TCP application tenant. */ @@ -128,15 +129,15 @@ export class FastTcpApp extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as FastTcpAppState | undefined; resourceInputs["application"] = state ? state.application : undefined; - resourceInputs["existPoolName"] = state ? state.existPoolName : undefined; resourceInputs["existingMonitor"] = state ? state.existingMonitor : undefined; + resourceInputs["existingPool"] = state ? state.existingPool : undefined; resourceInputs["existingSnatPool"] = state ? state.existingSnatPool : undefined; - resourceInputs["fastCreateMonitor"] = state ? state.fastCreateMonitor : undefined; - resourceInputs["fastCreatePoolMembers"] = state ? state.fastCreatePoolMembers : undefined; - resourceInputs["fastCreateSnatPoolAddresses"] = state ? state.fastCreateSnatPoolAddresses : undefined; resourceInputs["fastTcpJson"] = state ? state.fastTcpJson : undefined; resourceInputs["loadBalancingMode"] = state ? state.loadBalancingMode : undefined; + resourceInputs["monitor"] = state ? state.monitor : undefined; + resourceInputs["poolMembers"] = state ? state.poolMembers : undefined; resourceInputs["slowRampTime"] = state ? state.slowRampTime : undefined; + resourceInputs["snatPoolAddresses"] = state ? state.snatPoolAddresses : undefined; resourceInputs["tenant"] = state ? state.tenant : undefined; resourceInputs["virtualServer"] = state ? state.virtualServer : undefined; } else { @@ -148,14 +149,14 @@ export class FastTcpApp extends pulumi.CustomResource { throw new Error("Missing required property 'tenant'"); } resourceInputs["application"] = args ? args.application : undefined; - resourceInputs["existPoolName"] = args ? args.existPoolName : undefined; resourceInputs["existingMonitor"] = args ? args.existingMonitor : undefined; + resourceInputs["existingPool"] = args ? args.existingPool : undefined; resourceInputs["existingSnatPool"] = args ? args.existingSnatPool : undefined; - resourceInputs["fastCreateMonitor"] = args ? args.fastCreateMonitor : undefined; - resourceInputs["fastCreatePoolMembers"] = args ? args.fastCreatePoolMembers : undefined; - resourceInputs["fastCreateSnatPoolAddresses"] = args ? args.fastCreateSnatPoolAddresses : undefined; resourceInputs["loadBalancingMode"] = args ? args.loadBalancingMode : undefined; + resourceInputs["monitor"] = args ? args.monitor : undefined; + resourceInputs["poolMembers"] = args ? args.poolMembers : undefined; resourceInputs["slowRampTime"] = args ? args.slowRampTime : undefined; + resourceInputs["snatPoolAddresses"] = args ? args.snatPoolAddresses : undefined; resourceInputs["tenant"] = args ? args.tenant : undefined; resourceInputs["virtualServer"] = args ? args.virtualServer : undefined; resourceInputs["fastTcpJson"] = undefined /*out*/; @@ -173,32 +174,18 @@ export interface FastTcpAppState { * Name of the FAST TCP application. */ application?: pulumi.Input; - /** - * Name of an existing BIG-IP pool. - */ - existPoolName?: pulumi.Input; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ existingMonitor?: pulumi.Input; /** - * Name of an existing BIG-IP SNAT pool. - */ - existingSnatPool?: pulumi.Input; - /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. - */ - fastCreateMonitor?: pulumi.Input; - /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * Name of an existing BIG-IP pool. */ - fastCreatePoolMembers?: pulumi.Input[]>; + existingPool?: pulumi.Input; /** - * List of address to be used for FAST-Generated SNAT Pool. + * Name of an existing BIG-IP SNAT pool. */ - fastCreateSnatPoolAddresses?: pulumi.Input[]>; + existingSnatPool?: pulumi.Input; /** * Json payload for FAST TCP application. */ @@ -207,10 +194,24 @@ export interface FastTcpAppState { * 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 */ loadBalancingMode?: pulumi.Input; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + monitor?: pulumi.Input; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + poolMembers?: pulumi.Input[]>; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ slowRampTime?: pulumi.Input; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + snatPoolAddresses?: pulumi.Input[]>; /** * Name of the FAST TCP application tenant. */ @@ -230,40 +231,40 @@ export interface FastTcpAppArgs { * Name of the FAST TCP application. */ application: pulumi.Input; - /** - * Name of an existing BIG-IP pool. - */ - existPoolName?: pulumi.Input; /** * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. */ existingMonitor?: pulumi.Input; /** - * Name of an existing BIG-IP SNAT pool. + * Name of an existing BIG-IP pool. */ - existingSnatPool?: pulumi.Input; + existingPool?: pulumi.Input; /** - * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor. - * See Pool Monitor below for more details. + * Name of an existing BIG-IP SNAT pool. */ - fastCreateMonitor?: pulumi.Input; + existingSnatPool?: pulumi.Input; /** - * `fastCreatePoolMembers` block takes input for FAST-Generated Pool. - * See Pool Members below for more details. + * 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 */ - fastCreatePoolMembers?: pulumi.Input[]>; + loadBalancingMode?: pulumi.Input; /** - * List of address to be used for FAST-Generated SNAT Pool. + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. */ - fastCreateSnatPoolAddresses?: pulumi.Input[]>; + monitor?: pulumi.Input; /** - * 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 + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. */ - loadBalancingMode?: pulumi.Input; + poolMembers?: pulumi.Input[]>; /** * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds */ slowRampTime?: pulumi.Input; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + snatPoolAddresses?: pulumi.Input[]>; /** * Name of the FAST TCP application tenant. */ diff --git a/sdk/nodejs/fastUdpApp.ts b/sdk/nodejs/fastUdpApp.ts new file mode 100644 index 00000000..a7d37fa6 --- /dev/null +++ b/sdk/nodejs/fastUdpApp.ts @@ -0,0 +1,403 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * `f5bigip.FastUdpApp` This resource will create and manage FAST UDP applications on BIG-IP from provided JSON declaration. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const fast_udp_app = new f5bigip.FastUdpApp("fast-udp-app", { + * application: "udp_app_2", + * poolMembers: [{ + * addresses: [ + * "10.11.34.65", + * "56.43.23.76", + * ], + * connectionLimit: 4, + * port: 443, + * priorityGroup: 1, + * shareNodes: true, + * }], + * tenant: "udp_app_tenant", + * virtualServer: { + * ip: "11.12.16.30", + * port: 443, + * }, + * }); + * ``` + */ +export class FastUdpApp extends pulumi.CustomResource { + /** + * Get an existing FastUdpApp resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: FastUdpAppState, opts?: pulumi.CustomResourceOptions): FastUdpApp { + return new FastUdpApp(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'f5bigip:index/fastUdpApp:FastUdpApp'; + + /** + * Returns true if the given object is an instance of FastUdpApp. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is FastUdpApp { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === FastUdpApp.__pulumiType; + } + + /** + * Name of the FAST UDP application. + */ + public readonly application!: pulumi.Output; + /** + * Enables use of FastL4 profiles. + */ + public readonly enableFastl4!: pulumi.Output; + /** + * Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + */ + public readonly existingMonitor!: pulumi.Output; + /** + * Name of an existing BIG-IP pool. + */ + public readonly existingPool!: pulumi.Output; + /** + * Name of an existing BIG-IP FastL4 or UDP profile. + */ + public readonly existingProfile!: pulumi.Output; + /** + * Name of an existing BIG-IP SNAT pool. + */ + public readonly existingSnatPool!: pulumi.Output; + /** + * Type of fallback persistence record to be created for each new client connection. + */ + public readonly fallbackPersistence!: pulumi.Output; + /** + * Json payload for FAST UDP application. + */ + public /*out*/ readonly fastUdpJson!: pulumi.Output; + /** + * Irules to attach to Virtual Server. + */ + public readonly irules!: pulumi.Output; + /** + * 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 + */ + public readonly loadBalancingMode!: pulumi.Output; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + public readonly monitor!: pulumi.Output; + /** + * Name of an existing BIG-IP persistence profile to be used. + */ + public readonly persistenceProfile!: pulumi.Output; + /** + * Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + */ + public readonly persistenceType!: pulumi.Output; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + public readonly poolMembers!: pulumi.Output; + /** + * Existing security log profiles to enable. + */ + public readonly securityLogProfiles!: pulumi.Output; + /** + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + */ + public readonly slowRampTime!: pulumi.Output; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + public readonly snatPoolAddresses!: pulumi.Output; + /** + * Name of the FAST UDP application tenant. + */ + public readonly tenant!: pulumi.Output; + /** + * `virtualServer` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + */ + public readonly virtualServer!: pulumi.Output; + /** + * Names of existing VLANs to allow. + */ + public readonly vlansAlloweds!: pulumi.Output; + /** + * Names of existing VLANs to reject. + */ + public readonly vlansRejecteds!: pulumi.Output; + + /** + * Create a FastUdpApp resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: FastUdpAppArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: FastUdpAppArgs | FastUdpAppState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as FastUdpAppState | undefined; + resourceInputs["application"] = state ? state.application : undefined; + resourceInputs["enableFastl4"] = state ? state.enableFastl4 : undefined; + resourceInputs["existingMonitor"] = state ? state.existingMonitor : undefined; + resourceInputs["existingPool"] = state ? state.existingPool : undefined; + resourceInputs["existingProfile"] = state ? state.existingProfile : undefined; + resourceInputs["existingSnatPool"] = state ? state.existingSnatPool : undefined; + resourceInputs["fallbackPersistence"] = state ? state.fallbackPersistence : undefined; + resourceInputs["fastUdpJson"] = state ? state.fastUdpJson : undefined; + resourceInputs["irules"] = state ? state.irules : undefined; + resourceInputs["loadBalancingMode"] = state ? state.loadBalancingMode : undefined; + resourceInputs["monitor"] = state ? state.monitor : undefined; + resourceInputs["persistenceProfile"] = state ? state.persistenceProfile : undefined; + resourceInputs["persistenceType"] = state ? state.persistenceType : undefined; + resourceInputs["poolMembers"] = state ? state.poolMembers : undefined; + resourceInputs["securityLogProfiles"] = state ? state.securityLogProfiles : undefined; + resourceInputs["slowRampTime"] = state ? state.slowRampTime : undefined; + resourceInputs["snatPoolAddresses"] = state ? state.snatPoolAddresses : undefined; + resourceInputs["tenant"] = state ? state.tenant : undefined; + resourceInputs["virtualServer"] = state ? state.virtualServer : undefined; + resourceInputs["vlansAlloweds"] = state ? state.vlansAlloweds : undefined; + resourceInputs["vlansRejecteds"] = state ? state.vlansRejecteds : undefined; + } else { + const args = argsOrState as FastUdpAppArgs | undefined; + if ((!args || args.application === undefined) && !opts.urn) { + throw new Error("Missing required property 'application'"); + } + if ((!args || args.tenant === undefined) && !opts.urn) { + throw new Error("Missing required property 'tenant'"); + } + resourceInputs["application"] = args ? args.application : undefined; + resourceInputs["enableFastl4"] = args ? args.enableFastl4 : undefined; + resourceInputs["existingMonitor"] = args ? args.existingMonitor : undefined; + resourceInputs["existingPool"] = args ? args.existingPool : undefined; + resourceInputs["existingProfile"] = args ? args.existingProfile : undefined; + resourceInputs["existingSnatPool"] = args ? args.existingSnatPool : undefined; + resourceInputs["fallbackPersistence"] = args ? args.fallbackPersistence : undefined; + resourceInputs["irules"] = args ? args.irules : undefined; + resourceInputs["loadBalancingMode"] = args ? args.loadBalancingMode : undefined; + resourceInputs["monitor"] = args ? args.monitor : undefined; + resourceInputs["persistenceProfile"] = args ? args.persistenceProfile : undefined; + resourceInputs["persistenceType"] = args ? args.persistenceType : undefined; + resourceInputs["poolMembers"] = args ? args.poolMembers : undefined; + resourceInputs["securityLogProfiles"] = args ? args.securityLogProfiles : undefined; + resourceInputs["slowRampTime"] = args ? args.slowRampTime : undefined; + resourceInputs["snatPoolAddresses"] = args ? args.snatPoolAddresses : undefined; + resourceInputs["tenant"] = args ? args.tenant : undefined; + resourceInputs["virtualServer"] = args ? args.virtualServer : undefined; + resourceInputs["vlansAlloweds"] = args ? args.vlansAlloweds : undefined; + resourceInputs["vlansRejecteds"] = args ? args.vlansRejecteds : undefined; + resourceInputs["fastUdpJson"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(FastUdpApp.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering FastUdpApp resources. + */ +export interface FastUdpAppState { + /** + * Name of the FAST UDP application. + */ + application?: pulumi.Input; + /** + * Enables use of FastL4 profiles. + */ + enableFastl4?: pulumi.Input; + /** + * Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + */ + existingMonitor?: pulumi.Input; + /** + * Name of an existing BIG-IP pool. + */ + existingPool?: pulumi.Input; + /** + * Name of an existing BIG-IP FastL4 or UDP profile. + */ + existingProfile?: pulumi.Input; + /** + * Name of an existing BIG-IP SNAT pool. + */ + existingSnatPool?: pulumi.Input; + /** + * Type of fallback persistence record to be created for each new client connection. + */ + fallbackPersistence?: pulumi.Input; + /** + * Json payload for FAST UDP application. + */ + fastUdpJson?: pulumi.Input; + /** + * Irules to attach to Virtual Server. + */ + irules?: pulumi.Input[]>; + /** + * 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 + */ + loadBalancingMode?: pulumi.Input; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + monitor?: pulumi.Input; + /** + * Name of an existing BIG-IP persistence profile to be used. + */ + persistenceProfile?: pulumi.Input; + /** + * Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + */ + persistenceType?: pulumi.Input; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + poolMembers?: pulumi.Input[]>; + /** + * Existing security log profiles to enable. + */ + securityLogProfiles?: pulumi.Input[]>; + /** + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + */ + slowRampTime?: pulumi.Input; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + snatPoolAddresses?: pulumi.Input[]>; + /** + * Name of the FAST UDP application tenant. + */ + tenant?: pulumi.Input; + /** + * `virtualServer` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + */ + virtualServer?: pulumi.Input; + /** + * Names of existing VLANs to allow. + */ + vlansAlloweds?: pulumi.Input[]>; + /** + * Names of existing VLANs to reject. + */ + vlansRejecteds?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a FastUdpApp resource. + */ +export interface FastUdpAppArgs { + /** + * Name of the FAST UDP application. + */ + application: pulumi.Input; + /** + * Enables use of FastL4 profiles. + */ + enableFastl4?: pulumi.Input; + /** + * Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + */ + existingMonitor?: pulumi.Input; + /** + * Name of an existing BIG-IP pool. + */ + existingPool?: pulumi.Input; + /** + * Name of an existing BIG-IP FastL4 or UDP profile. + */ + existingProfile?: pulumi.Input; + /** + * Name of an existing BIG-IP SNAT pool. + */ + existingSnatPool?: pulumi.Input; + /** + * Type of fallback persistence record to be created for each new client connection. + */ + fallbackPersistence?: pulumi.Input; + /** + * Irules to attach to Virtual Server. + */ + irules?: pulumi.Input[]>; + /** + * 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 + */ + loadBalancingMode?: pulumi.Input; + /** + * `monitor` block takes input for FAST-Generated Pool Monitor. + * See Pool Monitor below for more details. + */ + monitor?: pulumi.Input; + /** + * Name of an existing BIG-IP persistence profile to be used. + */ + persistenceProfile?: pulumi.Input; + /** + * Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + */ + persistenceType?: pulumi.Input; + /** + * `poolMembers` block takes input for FAST-Generated Pool. + * See Pool Members below for more details. + */ + poolMembers?: pulumi.Input[]>; + /** + * Existing security log profiles to enable. + */ + securityLogProfiles?: pulumi.Input[]>; + /** + * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + */ + slowRampTime?: pulumi.Input; + /** + * List of address to be used for FAST-Generated SNAT Pool. + */ + snatPoolAddresses?: pulumi.Input[]>; + /** + * Name of the FAST UDP application tenant. + */ + tenant: pulumi.Input; + /** + * `virtualServer` block will provide `ip` and `port` options to be used for virtual server. + * See virtual server below for more details. + */ + virtualServer?: pulumi.Input; + /** + * Names of existing VLANs to allow. + */ + vlansAlloweds?: pulumi.Input[]>; + /** + * Names of existing VLANs to reject. + */ + vlansRejecteds?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 58498edf..97de9ccb 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -5,24 +5,101 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; // Export members: -export * from "./as3"; -export * from "./bigIqAs3"; -export * from "./command"; -export * from "./commonLicenseManageBigIq"; -export * from "./do"; -export * from "./eventServiceDiscovery"; -export * from "./fastApplication"; -export * from "./fastHttpApp"; -export * from "./fastHttpsApp"; -export * from "./fastTcpApp"; -export * from "./fastTemplate"; -export * from "./ipsecPolicy"; -export * from "./ipsecProfile"; -export * from "./netIkePeer"; -export * from "./netTunnel"; -export * from "./provider"; -export * from "./trafficSelector"; -export * from "./wafPolicy"; +export { As3Args, As3State } from "./as3"; +export type As3 = import("./as3").As3; +export const As3: typeof import("./as3").As3 = null as any; +utilities.lazyLoad(exports, ["As3"], () => require("./as3")); + +export { BigIqAs3Args, BigIqAs3State } from "./bigIqAs3"; +export type BigIqAs3 = import("./bigIqAs3").BigIqAs3; +export const BigIqAs3: typeof import("./bigIqAs3").BigIqAs3 = null as any; +utilities.lazyLoad(exports, ["BigIqAs3"], () => require("./bigIqAs3")); + +export { CommandArgs, CommandState } from "./command"; +export type Command = import("./command").Command; +export const Command: typeof import("./command").Command = null as any; +utilities.lazyLoad(exports, ["Command"], () => require("./command")); + +export { CommonLicenseManageBigIqArgs, CommonLicenseManageBigIqState } from "./commonLicenseManageBigIq"; +export type CommonLicenseManageBigIq = import("./commonLicenseManageBigIq").CommonLicenseManageBigIq; +export const CommonLicenseManageBigIq: typeof import("./commonLicenseManageBigIq").CommonLicenseManageBigIq = null as any; +utilities.lazyLoad(exports, ["CommonLicenseManageBigIq"], () => require("./commonLicenseManageBigIq")); + +export { DoArgs, DoState } from "./do"; +export type Do = import("./do").Do; +export const Do: typeof import("./do").Do = null as any; +utilities.lazyLoad(exports, ["Do"], () => require("./do")); + +export { EventServiceDiscoveryArgs, EventServiceDiscoveryState } from "./eventServiceDiscovery"; +export type EventServiceDiscovery = import("./eventServiceDiscovery").EventServiceDiscovery; +export const EventServiceDiscovery: typeof import("./eventServiceDiscovery").EventServiceDiscovery = null as any; +utilities.lazyLoad(exports, ["EventServiceDiscovery"], () => require("./eventServiceDiscovery")); + +export { FastApplicationArgs, FastApplicationState } from "./fastApplication"; +export type FastApplication = import("./fastApplication").FastApplication; +export const FastApplication: typeof import("./fastApplication").FastApplication = null as any; +utilities.lazyLoad(exports, ["FastApplication"], () => require("./fastApplication")); + +export { FastHttpAppArgs, FastHttpAppState } from "./fastHttpApp"; +export type FastHttpApp = import("./fastHttpApp").FastHttpApp; +export const FastHttpApp: typeof import("./fastHttpApp").FastHttpApp = null as any; +utilities.lazyLoad(exports, ["FastHttpApp"], () => require("./fastHttpApp")); + +export { FastHttpsAppArgs, FastHttpsAppState } from "./fastHttpsApp"; +export type FastHttpsApp = import("./fastHttpsApp").FastHttpsApp; +export const FastHttpsApp: typeof import("./fastHttpsApp").FastHttpsApp = null as any; +utilities.lazyLoad(exports, ["FastHttpsApp"], () => require("./fastHttpsApp")); + +export { FastTcpAppArgs, FastTcpAppState } from "./fastTcpApp"; +export type FastTcpApp = import("./fastTcpApp").FastTcpApp; +export const FastTcpApp: typeof import("./fastTcpApp").FastTcpApp = null as any; +utilities.lazyLoad(exports, ["FastTcpApp"], () => require("./fastTcpApp")); + +export { FastTemplateArgs, FastTemplateState } from "./fastTemplate"; +export type FastTemplate = import("./fastTemplate").FastTemplate; +export const FastTemplate: typeof import("./fastTemplate").FastTemplate = null as any; +utilities.lazyLoad(exports, ["FastTemplate"], () => require("./fastTemplate")); + +export { FastUdpAppArgs, FastUdpAppState } from "./fastUdpApp"; +export type FastUdpApp = import("./fastUdpApp").FastUdpApp; +export const FastUdpApp: typeof import("./fastUdpApp").FastUdpApp = null as any; +utilities.lazyLoad(exports, ["FastUdpApp"], () => require("./fastUdpApp")); + +export { IpsecPolicyArgs, IpsecPolicyState } from "./ipsecPolicy"; +export type IpsecPolicy = import("./ipsecPolicy").IpsecPolicy; +export const IpsecPolicy: typeof import("./ipsecPolicy").IpsecPolicy = null as any; +utilities.lazyLoad(exports, ["IpsecPolicy"], () => require("./ipsecPolicy")); + +export { IpsecProfileArgs, IpsecProfileState } from "./ipsecProfile"; +export type IpsecProfile = import("./ipsecProfile").IpsecProfile; +export const IpsecProfile: typeof import("./ipsecProfile").IpsecProfile = null as any; +utilities.lazyLoad(exports, ["IpsecProfile"], () => require("./ipsecProfile")); + +export { NetIkePeerArgs, NetIkePeerState } from "./netIkePeer"; +export type NetIkePeer = import("./netIkePeer").NetIkePeer; +export const NetIkePeer: typeof import("./netIkePeer").NetIkePeer = null as any; +utilities.lazyLoad(exports, ["NetIkePeer"], () => require("./netIkePeer")); + +export { NetTunnelArgs, NetTunnelState } from "./netTunnel"; +export type NetTunnel = import("./netTunnel").NetTunnel; +export const NetTunnel: typeof import("./netTunnel").NetTunnel = null as any; +utilities.lazyLoad(exports, ["NetTunnel"], () => require("./netTunnel")); + +export { ProviderArgs } from "./provider"; +export type Provider = import("./provider").Provider; +export const Provider: typeof import("./provider").Provider = null as any; +utilities.lazyLoad(exports, ["Provider"], () => require("./provider")); + +export { TrafficSelectorArgs, TrafficSelectorState } from "./trafficSelector"; +export type TrafficSelector = import("./trafficSelector").TrafficSelector; +export const TrafficSelector: typeof import("./trafficSelector").TrafficSelector = null as any; +utilities.lazyLoad(exports, ["TrafficSelector"], () => require("./trafficSelector")); + +export { WafPolicyArgs, WafPolicyState } from "./wafPolicy"; +export type WafPolicy = import("./wafPolicy").WafPolicy; +export const WafPolicy: typeof import("./wafPolicy").WafPolicy = null as any; +utilities.lazyLoad(exports, ["WafPolicy"], () => require("./wafPolicy")); + // Export sub-modules: import * as cm from "./cm"; @@ -32,6 +109,7 @@ import * as net from "./net"; import * as ssl from "./ssl"; import * as sys from "./sys"; import * as types from "./types"; +import * as vcmp from "./vcmp"; export { cm, @@ -41,27 +119,9 @@ export { ssl, sys, types, + vcmp, }; -// Import resources to register: -import { As3 } from "./as3"; -import { BigIqAs3 } from "./bigIqAs3"; -import { Command } from "./command"; -import { CommonLicenseManageBigIq } from "./commonLicenseManageBigIq"; -import { Do } from "./do"; -import { EventServiceDiscovery } from "./eventServiceDiscovery"; -import { FastApplication } from "./fastApplication"; -import { FastHttpApp } from "./fastHttpApp"; -import { FastHttpsApp } from "./fastHttpsApp"; -import { FastTcpApp } from "./fastTcpApp"; -import { FastTemplate } from "./fastTemplate"; -import { IpsecPolicy } from "./ipsecPolicy"; -import { IpsecProfile } from "./ipsecProfile"; -import { NetIkePeer } from "./netIkePeer"; -import { NetTunnel } from "./netTunnel"; -import { TrafficSelector } from "./trafficSelector"; -import { WafPolicy } from "./wafPolicy"; - const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { @@ -88,6 +148,8 @@ const _module = { return new FastTcpApp(name, undefined, { urn }) case "f5bigip:index/fastTemplate:FastTemplate": return new FastTemplate(name, undefined, { urn }) + case "f5bigip:index/fastUdpApp:FastUdpApp": + return new FastUdpApp(name, undefined, { urn }) case "f5bigip:index/ipsecPolicy:IpsecPolicy": return new IpsecPolicy(name, undefined, { urn }) case "f5bigip:index/ipsecProfile:IpsecProfile": @@ -116,15 +178,13 @@ pulumi.runtime.registerResourceModule("f5bigip", "index/fastHttpApp", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/fastHttpsApp", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/fastTcpApp", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/fastTemplate", _module) +pulumi.runtime.registerResourceModule("f5bigip", "index/fastUdpApp", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/ipsecPolicy", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/ipsecProfile", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/netIkePeer", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/netTunnel", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/trafficSelector", _module) pulumi.runtime.registerResourceModule("f5bigip", "index/wafPolicy", _module) - -import { Provider } from "./provider"; - pulumi.runtime.registerResourcePackage("f5bigip", { version: utilities.getVersion(), constructProvider: (name: string, type: string, urn: string): pulumi.ProviderResource => { diff --git a/sdk/nodejs/ipsecProfile.ts b/sdk/nodejs/ipsecProfile.ts index 30eb5c90..222ab93a 100644 --- a/sdk/nodejs/ipsecProfile.ts +++ b/sdk/nodejs/ipsecProfile.ts @@ -13,7 +13,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const azurevWANProfile = new f5bigip.IpsecProfile("azurevWAN_profile", { + * const azurevWANProfile = new f5bigip.IpsecProfile("azurevWANProfile", { * description: "mytestipsecprofile", * name: "/Common/Mytestipsecprofile", * trafficSelector: "test-trafficselector", diff --git a/sdk/nodejs/ltm/dataGroup.ts b/sdk/nodejs/ltm/dataGroup.ts index 46d737ba..9d0fc47e 100644 --- a/sdk/nodejs/ltm/dataGroup.ts +++ b/sdk/nodejs/ltm/dataGroup.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** diff --git a/sdk/nodejs/ltm/getDataGroup.ts b/sdk/nodejs/ltm/getDataGroup.ts index add7b9df..76d52ff0 100644 --- a/sdk/nodejs/ltm/getDataGroup.ts +++ b/sdk/nodejs/ltm/getDataGroup.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** @@ -14,18 +15,15 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const dG_TC3 = pulumi.output(f5bigip.ltm.getDataGroup({ + * const dG-TC3 = f5bigip.ltm.getDataGroup({ * name: "test-dg", * partition: "Common", - * })); + * }); * ``` */ export function getDataGroup(args: GetDataGroupArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ltm/getDataGroup:getDataGroup", { "name": args.name, "partition": args.partition, @@ -75,9 +73,23 @@ export interface GetDataGroupResult { */ readonly type: string; } - +/** + * Use this data source (`f5bigip.ltm.DataGroup`) to get the data group details available on BIG-IP + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const dG-TC3 = f5bigip.ltm.getDataGroup({ + * name: "test-dg", + * partition: "Common", + * }); + * ``` + */ export function getDataGroupOutput(args: GetDataGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getDataGroup(a, opts)) + return pulumi.output(args).apply((a: any) => getDataGroup(a, opts)) } /** diff --git a/sdk/nodejs/ltm/getIrule.ts b/sdk/nodejs/ltm/getIrule.ts index 15ab7484..7a1d520e 100644 --- a/sdk/nodejs/ltm/getIrule.ts +++ b/sdk/nodejs/ltm/getIrule.ts @@ -13,20 +13,16 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const test = pulumi.output(f5bigip.ltm.getIrule({ + * const test = f5bigip.ltm.getIrule({ * name: "terraform_irule", * partition: "Common", - * })); - * - * export const bigipIrule = test.irule; + * }); + * export const bigipIrule = test.then(test => test.irule); * ``` */ export function getIrule(args: GetIruleArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ltm/getIrule:getIrule", { "name": args.name, "partition": args.partition, @@ -68,9 +64,24 @@ export interface GetIruleResult { */ readonly partition: string; } - +/** + * Use this data source (`f5bigip.ltm.IRule`) to get the ltm irule details available on BIG-IP + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const test = f5bigip.ltm.getIrule({ + * name: "terraform_irule", + * partition: "Common", + * }); + * export const bigipIrule = test.then(test => test.irule); + * ``` + */ export function getIruleOutput(args: GetIruleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getIrule(a, opts)) + return pulumi.output(args).apply((a: any) => getIrule(a, opts)) } /** diff --git a/sdk/nodejs/ltm/getMonitor.ts b/sdk/nodejs/ltm/getMonitor.ts index 7c3b07de..1702af4e 100644 --- a/sdk/nodejs/ltm/getMonitor.ts +++ b/sdk/nodejs/ltm/getMonitor.ts @@ -13,18 +13,15 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const monitor_TC1 = pulumi.output(f5bigip.ltm.getMonitor({ + * const monitor-TC1 = f5bigip.ltm.getMonitor({ * name: "test-monitor", * partition: "Common", - * })); + * }); * ``` */ export function getMonitor(args: GetMonitorArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ltm/getMonitor:getMonitor", { "name": args.name, "partition": args.partition, @@ -96,9 +93,23 @@ export interface GetMonitorResult { readonly transparent: string; readonly username: string; } - +/** + * Use this data source (`f5bigip.ltm.Monitor`) to get the ltm monitor details available on BIG-IP + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const monitor-TC1 = f5bigip.ltm.getMonitor({ + * name: "test-monitor", + * partition: "Common", + * }); + * ``` + */ export function getMonitorOutput(args: GetMonitorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getMonitor(a, opts)) + return pulumi.output(args).apply((a: any) => getMonitor(a, opts)) } /** diff --git a/sdk/nodejs/ltm/getNode.ts b/sdk/nodejs/ltm/getNode.ts index 78af9d21..325ebd9b 100644 --- a/sdk/nodejs/ltm/getNode.ts +++ b/sdk/nodejs/ltm/getNode.ts @@ -2,18 +2,16 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** * Use this data source (`f5bigip.ltm.Node`) to get the ltm node details available on BIG-IP */ export function getNode(args: GetNodeArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ltm/getNode:getNode", { "address": args.address, "description": args.description, @@ -100,9 +98,11 @@ export interface GetNodeResult { */ readonly state: string; } - +/** + * Use this data source (`f5bigip.ltm.Node`) to get the ltm node details available on BIG-IP + */ export function getNodeOutput(args: GetNodeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getNode(a, opts)) + return pulumi.output(args).apply((a: any) => getNode(a, opts)) } /** diff --git a/sdk/nodejs/ltm/getPolicy.ts b/sdk/nodejs/ltm/getPolicy.ts index 562b42fa..bd26c02f 100644 --- a/sdk/nodejs/ltm/getPolicy.ts +++ b/sdk/nodejs/ltm/getPolicy.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** @@ -21,11 +22,8 @@ import * as utilities from "../utilities"; * ``` */ export function getPolicy(args: GetPolicyArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ltm/getPolicy:getPolicy", { "controls": args.controls, "name": args.name, @@ -93,9 +91,23 @@ export interface GetPolicyResult { */ readonly strategy?: string; } - +/** + * Use this data source (`f5bigip.ltm.Policy`) to get the ltm policy details available on BIG-IP + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const test = f5bigip.ltm.getPolicy({ + * name: "/Common/test-policy", + * }); + * export const bigipPolicy = test.then(test => test.rules); + * ``` + */ export function getPolicyOutput(args: GetPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getPolicy(a, opts)) + return pulumi.output(args).apply((a: any) => getPolicy(a, opts)) } /** diff --git a/sdk/nodejs/ltm/getPool.ts b/sdk/nodejs/ltm/getPool.ts index f848d916..c2f296c1 100644 --- a/sdk/nodejs/ltm/getPool.ts +++ b/sdk/nodejs/ltm/getPool.ts @@ -13,18 +13,15 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const pool_Example = pulumi.output(f5bigip.ltm.getPool({ + * const pool-Example = f5bigip.ltm.getPool({ * name: "example-pool", * partition: "Common", - * })); + * }); * ``` */ export function getPool(args: GetPoolArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ltm/getPool:getPool", { "name": args.name, "partition": args.partition, @@ -60,9 +57,23 @@ export interface GetPoolResult { readonly name: string; readonly partition: string; } - +/** + * Use this data source (`f5bigip.ltm.Pool`) to get the ltm monitor details available on BIG-IP + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const pool-Example = f5bigip.ltm.getPool({ + * name: "example-pool", + * partition: "Common", + * }); + * ``` + */ export function getPoolOutput(args: GetPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getPool(a, opts)) + return pulumi.output(args).apply((a: any) => getPool(a, opts)) } /** diff --git a/sdk/nodejs/ltm/index.ts b/sdk/nodejs/ltm/index.ts index e39dbf47..95caa0e1 100644 --- a/sdk/nodejs/ltm/index.ts +++ b/sdk/nodejs/ltm/index.ts @@ -5,64 +5,161 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: -export * from "./dataGroup"; -export * from "./getDataGroup"; -export * from "./getIrule"; -export * from "./getMonitor"; -export * from "./getNode"; -export * from "./getPolicy"; -export * from "./getPool"; -export * from "./irule"; -export * from "./monitor"; -export * from "./node"; -export * from "./persistenceProfileCookie"; -export * from "./persistenceProfileDstAddr"; -export * from "./persistenceProfileSrcAddr"; -export * from "./persistenceProfileSsl"; -export * from "./policy"; -export * from "./pool"; -export * from "./poolAttachment"; -export * from "./profileClientSsl"; -export * from "./profileFastHttp"; -export * from "./profileFastL4"; -export * from "./profileFtp"; -export * from "./profileHttp"; -export * from "./profileHttp2"; -export * from "./profileHttpCompress"; -export * from "./profileOneConnect"; -export * from "./profileServerSsl"; -export * from "./profileTcp"; -export * from "./snat"; -export * from "./snatPool"; -export * from "./virtualAddress"; -export * from "./virtualServer"; - -// Import resources to register: -import { DataGroup } from "./dataGroup"; -import { IRule } from "./irule"; -import { Monitor } from "./monitor"; -import { Node } from "./node"; -import { PersistenceProfileCookie } from "./persistenceProfileCookie"; -import { PersistenceProfileDstAddr } from "./persistenceProfileDstAddr"; -import { PersistenceProfileSrcAddr } from "./persistenceProfileSrcAddr"; -import { PersistenceProfileSsl } from "./persistenceProfileSsl"; -import { Policy } from "./policy"; -import { Pool } from "./pool"; -import { PoolAttachment } from "./poolAttachment"; -import { ProfileClientSsl } from "./profileClientSsl"; -import { ProfileFastHttp } from "./profileFastHttp"; -import { ProfileFastL4 } from "./profileFastL4"; -import { ProfileFtp } from "./profileFtp"; -import { ProfileHttp2 } from "./profileHttp2"; -import { ProfileHttp } from "./profileHttp"; -import { ProfileHttpCompress } from "./profileHttpCompress"; -import { ProfileOneConnect } from "./profileOneConnect"; -import { ProfileServerSsl } from "./profileServerSsl"; -import { ProfileTcp } from "./profileTcp"; -import { Snat } from "./snat"; -import { SnatPool } from "./snatPool"; -import { VirtualAddress } from "./virtualAddress"; -import { VirtualServer } from "./virtualServer"; +export { DataGroupArgs, DataGroupState } from "./dataGroup"; +export type DataGroup = import("./dataGroup").DataGroup; +export const DataGroup: typeof import("./dataGroup").DataGroup = null as any; +utilities.lazyLoad(exports, ["DataGroup"], () => require("./dataGroup")); + +export { GetDataGroupArgs, GetDataGroupResult, GetDataGroupOutputArgs } from "./getDataGroup"; +export const getDataGroup: typeof import("./getDataGroup").getDataGroup = null as any; +export const getDataGroupOutput: typeof import("./getDataGroup").getDataGroupOutput = null as any; +utilities.lazyLoad(exports, ["getDataGroup","getDataGroupOutput"], () => require("./getDataGroup")); + +export { GetIruleArgs, GetIruleResult, GetIruleOutputArgs } from "./getIrule"; +export const getIrule: typeof import("./getIrule").getIrule = null as any; +export const getIruleOutput: typeof import("./getIrule").getIruleOutput = null as any; +utilities.lazyLoad(exports, ["getIrule","getIruleOutput"], () => require("./getIrule")); + +export { GetMonitorArgs, GetMonitorResult, GetMonitorOutputArgs } from "./getMonitor"; +export const getMonitor: typeof import("./getMonitor").getMonitor = null as any; +export const getMonitorOutput: typeof import("./getMonitor").getMonitorOutput = null as any; +utilities.lazyLoad(exports, ["getMonitor","getMonitorOutput"], () => require("./getMonitor")); + +export { GetNodeArgs, GetNodeResult, GetNodeOutputArgs } from "./getNode"; +export const getNode: typeof import("./getNode").getNode = null as any; +export const getNodeOutput: typeof import("./getNode").getNodeOutput = null as any; +utilities.lazyLoad(exports, ["getNode","getNodeOutput"], () => require("./getNode")); + +export { GetPolicyArgs, GetPolicyResult, GetPolicyOutputArgs } from "./getPolicy"; +export const getPolicy: typeof import("./getPolicy").getPolicy = null as any; +export const getPolicyOutput: typeof import("./getPolicy").getPolicyOutput = null as any; +utilities.lazyLoad(exports, ["getPolicy","getPolicyOutput"], () => require("./getPolicy")); + +export { GetPoolArgs, GetPoolResult, GetPoolOutputArgs } from "./getPool"; +export const getPool: typeof import("./getPool").getPool = null as any; +export const getPoolOutput: typeof import("./getPool").getPoolOutput = null as any; +utilities.lazyLoad(exports, ["getPool","getPoolOutput"], () => require("./getPool")); + +export { IRuleArgs, IRuleState } from "./irule"; +export type IRule = import("./irule").IRule; +export const IRule: typeof import("./irule").IRule = null as any; +utilities.lazyLoad(exports, ["IRule"], () => require("./irule")); + +export { MonitorArgs, MonitorState } from "./monitor"; +export type Monitor = import("./monitor").Monitor; +export const Monitor: typeof import("./monitor").Monitor = null as any; +utilities.lazyLoad(exports, ["Monitor"], () => require("./monitor")); + +export { NodeArgs, NodeState } from "./node"; +export type Node = import("./node").Node; +export const Node: typeof import("./node").Node = null as any; +utilities.lazyLoad(exports, ["Node"], () => require("./node")); + +export { PersistenceProfileCookieArgs, PersistenceProfileCookieState } from "./persistenceProfileCookie"; +export type PersistenceProfileCookie = import("./persistenceProfileCookie").PersistenceProfileCookie; +export const PersistenceProfileCookie: typeof import("./persistenceProfileCookie").PersistenceProfileCookie = null as any; +utilities.lazyLoad(exports, ["PersistenceProfileCookie"], () => require("./persistenceProfileCookie")); + +export { PersistenceProfileDstAddrArgs, PersistenceProfileDstAddrState } from "./persistenceProfileDstAddr"; +export type PersistenceProfileDstAddr = import("./persistenceProfileDstAddr").PersistenceProfileDstAddr; +export const PersistenceProfileDstAddr: typeof import("./persistenceProfileDstAddr").PersistenceProfileDstAddr = null as any; +utilities.lazyLoad(exports, ["PersistenceProfileDstAddr"], () => require("./persistenceProfileDstAddr")); + +export { PersistenceProfileSrcAddrArgs, PersistenceProfileSrcAddrState } from "./persistenceProfileSrcAddr"; +export type PersistenceProfileSrcAddr = import("./persistenceProfileSrcAddr").PersistenceProfileSrcAddr; +export const PersistenceProfileSrcAddr: typeof import("./persistenceProfileSrcAddr").PersistenceProfileSrcAddr = null as any; +utilities.lazyLoad(exports, ["PersistenceProfileSrcAddr"], () => require("./persistenceProfileSrcAddr")); + +export { PersistenceProfileSslArgs, PersistenceProfileSslState } from "./persistenceProfileSsl"; +export type PersistenceProfileSsl = import("./persistenceProfileSsl").PersistenceProfileSsl; +export const PersistenceProfileSsl: typeof import("./persistenceProfileSsl").PersistenceProfileSsl = null as any; +utilities.lazyLoad(exports, ["PersistenceProfileSsl"], () => require("./persistenceProfileSsl")); + +export { PolicyArgs, PolicyState } from "./policy"; +export type Policy = import("./policy").Policy; +export const Policy: typeof import("./policy").Policy = null as any; +utilities.lazyLoad(exports, ["Policy"], () => require("./policy")); + +export { PoolArgs, PoolState } from "./pool"; +export type Pool = import("./pool").Pool; +export const Pool: typeof import("./pool").Pool = null as any; +utilities.lazyLoad(exports, ["Pool"], () => require("./pool")); + +export { PoolAttachmentArgs, PoolAttachmentState } from "./poolAttachment"; +export type PoolAttachment = import("./poolAttachment").PoolAttachment; +export const PoolAttachment: typeof import("./poolAttachment").PoolAttachment = null as any; +utilities.lazyLoad(exports, ["PoolAttachment"], () => require("./poolAttachment")); + +export { ProfileClientSslArgs, ProfileClientSslState } from "./profileClientSsl"; +export type ProfileClientSsl = import("./profileClientSsl").ProfileClientSsl; +export const ProfileClientSsl: typeof import("./profileClientSsl").ProfileClientSsl = null as any; +utilities.lazyLoad(exports, ["ProfileClientSsl"], () => require("./profileClientSsl")); + +export { ProfileFastHttpArgs, ProfileFastHttpState } from "./profileFastHttp"; +export type ProfileFastHttp = import("./profileFastHttp").ProfileFastHttp; +export const ProfileFastHttp: typeof import("./profileFastHttp").ProfileFastHttp = null as any; +utilities.lazyLoad(exports, ["ProfileFastHttp"], () => require("./profileFastHttp")); + +export { ProfileFastL4Args, ProfileFastL4State } from "./profileFastL4"; +export type ProfileFastL4 = import("./profileFastL4").ProfileFastL4; +export const ProfileFastL4: typeof import("./profileFastL4").ProfileFastL4 = null as any; +utilities.lazyLoad(exports, ["ProfileFastL4"], () => require("./profileFastL4")); + +export { ProfileFtpArgs, ProfileFtpState } from "./profileFtp"; +export type ProfileFtp = import("./profileFtp").ProfileFtp; +export const ProfileFtp: typeof import("./profileFtp").ProfileFtp = null as any; +utilities.lazyLoad(exports, ["ProfileFtp"], () => require("./profileFtp")); + +export { ProfileHttpArgs, ProfileHttpState } from "./profileHttp"; +export type ProfileHttp = import("./profileHttp").ProfileHttp; +export const ProfileHttp: typeof import("./profileHttp").ProfileHttp = null as any; +utilities.lazyLoad(exports, ["ProfileHttp"], () => require("./profileHttp")); + +export { ProfileHttp2Args, ProfileHttp2State } from "./profileHttp2"; +export type ProfileHttp2 = import("./profileHttp2").ProfileHttp2; +export const ProfileHttp2: typeof import("./profileHttp2").ProfileHttp2 = null as any; +utilities.lazyLoad(exports, ["ProfileHttp2"], () => require("./profileHttp2")); + +export { ProfileHttpCompressArgs, ProfileHttpCompressState } from "./profileHttpCompress"; +export type ProfileHttpCompress = import("./profileHttpCompress").ProfileHttpCompress; +export const ProfileHttpCompress: typeof import("./profileHttpCompress").ProfileHttpCompress = null as any; +utilities.lazyLoad(exports, ["ProfileHttpCompress"], () => require("./profileHttpCompress")); + +export { ProfileOneConnectArgs, ProfileOneConnectState } from "./profileOneConnect"; +export type ProfileOneConnect = import("./profileOneConnect").ProfileOneConnect; +export const ProfileOneConnect: typeof import("./profileOneConnect").ProfileOneConnect = null as any; +utilities.lazyLoad(exports, ["ProfileOneConnect"], () => require("./profileOneConnect")); + +export { ProfileServerSslArgs, ProfileServerSslState } from "./profileServerSsl"; +export type ProfileServerSsl = import("./profileServerSsl").ProfileServerSsl; +export const ProfileServerSsl: typeof import("./profileServerSsl").ProfileServerSsl = null as any; +utilities.lazyLoad(exports, ["ProfileServerSsl"], () => require("./profileServerSsl")); + +export { ProfileTcpArgs, ProfileTcpState } from "./profileTcp"; +export type ProfileTcp = import("./profileTcp").ProfileTcp; +export const ProfileTcp: typeof import("./profileTcp").ProfileTcp = null as any; +utilities.lazyLoad(exports, ["ProfileTcp"], () => require("./profileTcp")); + +export { SnatArgs, SnatState } from "./snat"; +export type Snat = import("./snat").Snat; +export const Snat: typeof import("./snat").Snat = null as any; +utilities.lazyLoad(exports, ["Snat"], () => require("./snat")); + +export { SnatPoolArgs, SnatPoolState } from "./snatPool"; +export type SnatPool = import("./snatPool").SnatPool; +export const SnatPool: typeof import("./snatPool").SnatPool = null as any; +utilities.lazyLoad(exports, ["SnatPool"], () => require("./snatPool")); + +export { VirtualAddressArgs, VirtualAddressState } from "./virtualAddress"; +export type VirtualAddress = import("./virtualAddress").VirtualAddress; +export const VirtualAddress: typeof import("./virtualAddress").VirtualAddress = null as any; +utilities.lazyLoad(exports, ["VirtualAddress"], () => require("./virtualAddress")); + +export { VirtualServerArgs, VirtualServerState } from "./virtualServer"; +export type VirtualServer = import("./virtualServer").VirtualServer; +export const VirtualServer: typeof import("./virtualServer").VirtualServer = null as any; +utilities.lazyLoad(exports, ["VirtualServer"], () => require("./virtualServer")); + const _module = { version: utilities.getVersion(), diff --git a/sdk/nodejs/ltm/monitor.ts b/sdk/nodejs/ltm/monitor.ts index 1ce5a426..eb6d24ae 100644 --- a/sdk/nodejs/ltm/monitor.ts +++ b/sdk/nodejs/ltm/monitor.ts @@ -20,14 +20,18 @@ import * as utilities from "../utilities"; * interval: 998, * name: "/Common/terraform_monitor", * parent: "/Common/http", - * send: "GET /some/path \n", + * send: `GET /some/path + * + * `, * timeout: 999, * }); * const test_https_monitor = new f5bigip.ltm.Monitor("test-https-monitor", { * interval: 999, * name: "/Common/terraform_monitor", * parent: "/Common/http", - * send: "GET /some/path \n", + * send: `GET /some/path + * + * `, * sslProfile: "/Common/serverssl", * timeout: 1000, * }); @@ -229,7 +233,7 @@ export class Monitor extends pulumi.CustomResource { resourceInputs["mode"] = args ? args.mode : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["parent"] = args ? args.parent : undefined; - resourceInputs["password"] = args ? args.password : undefined; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; resourceInputs["receive"] = args ? args.receive : undefined; resourceInputs["receiveDisable"] = args ? args.receiveDisable : undefined; resourceInputs["reverse"] = args ? args.reverse : undefined; @@ -242,6 +246,8 @@ export class Monitor extends pulumi.CustomResource { resourceInputs["username"] = args ? args.username : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(Monitor.__pulumiType, name, resourceInputs, opts); } } diff --git a/sdk/nodejs/ltm/node.ts b/sdk/nodejs/ltm/node.ts index 5efa58da..fe52658e 100644 --- a/sdk/nodejs/ltm/node.ts +++ b/sdk/nodejs/ltm/node.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** diff --git a/sdk/nodejs/ltm/policy.ts b/sdk/nodejs/ltm/policy.ts index 56cf35c3..d5cdc263 100644 --- a/sdk/nodejs/ltm/policy.ts +++ b/sdk/nodejs/ltm/policy.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** @@ -73,7 +74,7 @@ export class Policy extends pulumi.CustomResource { */ public readonly controls!: pulumi.Output; /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. */ public readonly name!: pulumi.Output; /** @@ -85,7 +86,7 @@ export class Policy extends pulumi.CustomResource { */ public readonly requires!: pulumi.Output; /** - * Rules can be applied using the policy + * List of Rules can be applied using the policy. Each rule is block type with following arguments. */ public readonly rules!: pulumi.Output; /** @@ -138,7 +139,7 @@ export interface PolicyState { */ controls?: pulumi.Input[]>; /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. */ name?: pulumi.Input; /** @@ -150,7 +151,7 @@ export interface PolicyState { */ requires?: pulumi.Input[]>; /** - * Rules can be applied using the policy + * List of Rules can be applied using the policy. Each rule is block type with following arguments. */ rules?: pulumi.Input[]>; /** @@ -168,7 +169,7 @@ export interface PolicyArgs { */ controls?: pulumi.Input[]>; /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. */ name: pulumi.Input; /** @@ -180,7 +181,7 @@ export interface PolicyArgs { */ requires?: pulumi.Input[]>; /** - * Rules can be applied using the policy + * List of Rules can be applied using the policy. Each rule is block type with following arguments. */ rules?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/ltm/profileClientSsl.ts b/sdk/nodejs/ltm/profileClientSsl.ts index a2283565..34a8ab1d 100644 --- a/sdk/nodejs/ltm/profileClientSsl.ts +++ b/sdk/nodejs/ltm/profileClientSsl.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** @@ -96,12 +97,15 @@ export class ProfileClientSsl extends pulumi.CustomResource { /** * Specifies a cert name for use. */ - public readonly cert!: pulumi.Output; + public readonly cert!: pulumi.Output; /** * Cert extension includes for ssl forward proxy */ public readonly certExtensionIncludes!: pulumi.Output; - public readonly certKeyChains!: pulumi.Output; + /** + * @deprecated This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + */ + public readonly certKeyChain!: pulumi.Output; /** * Life span of the certificate in days for ssl forward proxy */ @@ -113,7 +117,11 @@ export class ProfileClientSsl extends pulumi.CustomResource { /** * Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional */ - public readonly chain!: pulumi.Output; + public readonly chain!: pulumi.Output; + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + */ + public readonly cipherGroup!: pulumi.Output; /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. */ @@ -157,7 +165,7 @@ export class ProfileClientSsl extends pulumi.CustomResource { /** * Contains a key name */ - public readonly key!: pulumi.Output; + public readonly key!: pulumi.Output; /** * ModSSL Methods enabled / disabled. Default is disabled. */ @@ -301,10 +309,11 @@ export class ProfileClientSsl extends pulumi.CustomResource { resourceInputs["cacheTimeout"] = state ? state.cacheTimeout : undefined; resourceInputs["cert"] = state ? state.cert : undefined; resourceInputs["certExtensionIncludes"] = state ? state.certExtensionIncludes : undefined; - resourceInputs["certKeyChains"] = state ? state.certKeyChains : undefined; + resourceInputs["certKeyChain"] = state ? state.certKeyChain : undefined; resourceInputs["certLifeSpan"] = state ? state.certLifeSpan : undefined; resourceInputs["certLookupByIpaddrPort"] = state ? state.certLookupByIpaddrPort : undefined; resourceInputs["chain"] = state ? state.chain : undefined; + resourceInputs["cipherGroup"] = state ? state.cipherGroup : undefined; resourceInputs["ciphers"] = state ? state.ciphers : undefined; resourceInputs["clientCertCa"] = state ? state.clientCertCa : undefined; resourceInputs["crlFile"] = state ? state.crlFile : undefined; @@ -361,10 +370,11 @@ export class ProfileClientSsl extends pulumi.CustomResource { resourceInputs["cacheTimeout"] = args ? args.cacheTimeout : undefined; resourceInputs["cert"] = args ? args.cert : undefined; resourceInputs["certExtensionIncludes"] = args ? args.certExtensionIncludes : undefined; - resourceInputs["certKeyChains"] = args ? args.certKeyChains : undefined; + resourceInputs["certKeyChain"] = args ? args.certKeyChain : undefined; resourceInputs["certLifeSpan"] = args ? args.certLifeSpan : undefined; resourceInputs["certLookupByIpaddrPort"] = args ? args.certLookupByIpaddrPort : undefined; resourceInputs["chain"] = args ? args.chain : undefined; + resourceInputs["cipherGroup"] = args ? args.cipherGroup : undefined; resourceInputs["ciphers"] = args ? args.ciphers : undefined; resourceInputs["clientCertCa"] = args ? args.clientCertCa : undefined; resourceInputs["crlFile"] = args ? args.crlFile : undefined; @@ -380,7 +390,7 @@ export class ProfileClientSsl extends pulumi.CustomResource { resourceInputs["mode"] = args ? args.mode : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["partition"] = args ? args.partition : undefined; - resourceInputs["passphrase"] = args ? args.passphrase : undefined; + resourceInputs["passphrase"] = args?.passphrase ? pulumi.secret(args.passphrase) : undefined; resourceInputs["peerCertMode"] = args ? args.peerCertMode : undefined; resourceInputs["proxyCaCert"] = args ? args.proxyCaCert : undefined; resourceInputs["proxyCaKey"] = args ? args.proxyCaKey : undefined; @@ -406,6 +416,8 @@ export class ProfileClientSsl extends pulumi.CustomResource { resourceInputs["uncleanShutdown"] = args ? args.uncleanShutdown : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["passphrase"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(ProfileClientSsl.__pulumiType, name, resourceInputs, opts); } } @@ -463,7 +475,10 @@ export interface ProfileClientSslState { * Cert extension includes for ssl forward proxy */ certExtensionIncludes?: pulumi.Input[]>; - certKeyChains?: pulumi.Input[]>; + /** + * @deprecated This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + */ + certKeyChain?: pulumi.Input; /** * Life span of the certificate in days for ssl forward proxy */ @@ -476,6 +491,10 @@ export interface ProfileClientSslState { * Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional */ chain?: pulumi.Input; + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + */ + cipherGroup?: pulumi.Input; /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. */ @@ -692,7 +711,10 @@ export interface ProfileClientSslArgs { * Cert extension includes for ssl forward proxy */ certExtensionIncludes?: pulumi.Input[]>; - certKeyChains?: pulumi.Input[]>; + /** + * @deprecated This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute. + */ + certKeyChain?: pulumi.Input; /** * Life span of the certificate in days for ssl forward proxy */ @@ -705,6 +727,10 @@ export interface ProfileClientSslArgs { * Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional */ chain?: pulumi.Input; + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + */ + cipherGroup?: pulumi.Input; /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. */ diff --git a/sdk/nodejs/ltm/profileFastL4.ts b/sdk/nodejs/ltm/profileFastL4.ts index 6d13720f..2a96ac3f 100644 --- a/sdk/nodejs/ltm/profileFastL4.ts +++ b/sdk/nodejs/ltm/profileFastL4.ts @@ -5,9 +5,9 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * `f5bigip.ltm.ProfileFastL4` Configures a custom profileFastl4 for use by health checks. + * `f5bigip.ltm.ProfileFastL4` Configures a custom LTM fastL4 profile for use by health checks. * - * For 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. + * 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-fastl4profile`) or `partition + directory + name` of the resource (example: `/Common/test/my-fastl4profile`) * * ## Example Usage * @@ -15,7 +15,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const profileFastl4 = new f5bigip.ltm.ProfileFastL4("profile_fastl4", { + * const profileFastl4 = new f5bigip.ltm.ProfileFastL4("profileFastl4", { * clientTimeout: 40, * defaultsFrom: "/Common/fastL4", * explicitflowMigration: "enabled", @@ -23,7 +23,7 @@ import * as utilities from "../utilities"; * idleTimeout: "200", * iptosToclient: "pass-through", * iptosToserver: "pass-through", - * keepaliveInterval: "disabled", //This cannot take enabled + * keepaliveInterval: "disabled", * name: "/Common/sjfastl4profile", * }); * ``` @@ -97,13 +97,33 @@ export class ProfileFastL4 extends pulumi.CustomResource { */ public readonly keepaliveInterval!: pulumi.Output; /** - * Name of the profile_fastl4 + * Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + */ + public readonly lateBinding!: pulumi.Output; + /** + * 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. + */ + public readonly looseClose!: pulumi.Output; + /** + * 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. + */ + public readonly looseInitiation!: pulumi.Output; + /** + * 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`) */ public readonly name!: pulumi.Output; /** - * Displays the administrative partition within which this profile resides + * name of partition */ public readonly partition!: pulumi.Output; + /** + * Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + */ + public readonly receiveWindowsize!: pulumi.Output; + /** + * 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`. + */ + public readonly tcpHandshakeTimeout!: pulumi.Output; /** * Create a ProfileFastL4 resource with the given unique name, arguments, and options. @@ -126,8 +146,13 @@ export class ProfileFastL4 extends pulumi.CustomResource { resourceInputs["iptosToclient"] = state ? state.iptosToclient : undefined; resourceInputs["iptosToserver"] = state ? state.iptosToserver : undefined; resourceInputs["keepaliveInterval"] = state ? state.keepaliveInterval : undefined; + resourceInputs["lateBinding"] = state ? state.lateBinding : undefined; + resourceInputs["looseClose"] = state ? state.looseClose : undefined; + resourceInputs["looseInitiation"] = state ? state.looseInitiation : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["partition"] = state ? state.partition : undefined; + resourceInputs["receiveWindowsize"] = state ? state.receiveWindowsize : undefined; + resourceInputs["tcpHandshakeTimeout"] = state ? state.tcpHandshakeTimeout : undefined; } else { const args = argsOrState as ProfileFastL4Args | undefined; if ((!args || args.name === undefined) && !opts.urn) { @@ -141,8 +166,13 @@ export class ProfileFastL4 extends pulumi.CustomResource { resourceInputs["iptosToclient"] = args ? args.iptosToclient : undefined; resourceInputs["iptosToserver"] = args ? args.iptosToserver : undefined; resourceInputs["keepaliveInterval"] = args ? args.keepaliveInterval : undefined; + resourceInputs["lateBinding"] = args ? args.lateBinding : undefined; + resourceInputs["looseClose"] = args ? args.looseClose : undefined; + resourceInputs["looseInitiation"] = args ? args.looseInitiation : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["partition"] = args ? args.partition : undefined; + resourceInputs["receiveWindowsize"] = args ? args.receiveWindowsize : undefined; + resourceInputs["tcpHandshakeTimeout"] = args ? args.tcpHandshakeTimeout : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(ProfileFastL4.__pulumiType, name, resourceInputs, opts); @@ -186,13 +216,33 @@ export interface ProfileFastL4State { */ keepaliveInterval?: pulumi.Input; /** - * Name of the profile_fastl4 + * Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + */ + lateBinding?: pulumi.Input; + /** + * 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. + */ + looseClose?: pulumi.Input; + /** + * 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. + */ + looseInitiation?: pulumi.Input; + /** + * 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`) */ name?: pulumi.Input; /** - * Displays the administrative partition within which this profile resides + * name of partition */ partition?: pulumi.Input; + /** + * Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + */ + receiveWindowsize?: pulumi.Input; + /** + * 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`. + */ + tcpHandshakeTimeout?: pulumi.Input; } /** @@ -232,11 +282,31 @@ export interface ProfileFastL4Args { */ keepaliveInterval?: pulumi.Input; /** - * Name of the profile_fastl4 + * Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + */ + lateBinding?: pulumi.Input; + /** + * 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. + */ + looseClose?: pulumi.Input; + /** + * 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. + */ + looseInitiation?: pulumi.Input; + /** + * 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`) */ name: pulumi.Input; /** - * Displays the administrative partition within which this profile resides + * name of partition */ partition?: pulumi.Input; + /** + * Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + */ + receiveWindowsize?: pulumi.Input; + /** + * 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`. + */ + tcpHandshakeTimeout?: pulumi.Input; } diff --git a/sdk/nodejs/ltm/profileHttpCompress.ts b/sdk/nodejs/ltm/profileHttpCompress.ts index 7f9a2ec0..8117bfbd 100644 --- a/sdk/nodejs/ltm/profileHttpCompress.ts +++ b/sdk/nodejs/ltm/profileHttpCompress.ts @@ -7,7 +7,7 @@ import * as utilities from "../utilities"; /** * `f5bigip.ltm.ProfileHttpCompress` Virtual server HTTP compression profile configuration * - * Resources 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 ) + * Resources 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`) * * ## Example Usage * @@ -27,6 +27,14 @@ import * as utilities from "../utilities"; * uriIncludes: ["www.xyzbc.cisco.com"], * }); * ``` + * + * ## Import + * + * BIG-IP LTM HTTP Compress profiles can be imported using the `name`, e.g. + * + * ```sh + * $ pulumi import f5bigip:ltm/profileHttpCompress:ProfileHttpCompress test-httpcomprs_import /Common/test-httpcomprs + * ``` */ export class ProfileHttpCompress extends pulumi.CustomResource { /** @@ -56,6 +64,10 @@ export class ProfileHttpCompress extends pulumi.CustomResource { return obj['__pulumiType'] === ProfileHttpCompress.__pulumiType; } + /** + * 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 `4096` bytes. + */ + public readonly compressionBuffersize!: pulumi.Output; /** * 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. */ @@ -64,12 +76,32 @@ export class ProfileHttpCompress extends pulumi.CustomResource { * 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. */ public readonly contentTypeIncludes!: pulumi.Output; + /** + * 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 `enabled`. + */ + public readonly cpuSaver!: pulumi.Output; /** * 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. */ public readonly defaultsFrom!: pulumi.Output; /** - * Name of the profile_httpcompress + * 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) + */ + public readonly gzipCompressionLevel!: pulumi.Output; + /** + * 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`. + */ + public readonly gzipMemoryLevel!: pulumi.Output; + /** + * Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + */ + public readonly gzipWindowSize!: pulumi.Output; + /** + * Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + */ + public readonly keepAcceptEncoding!: pulumi.Output; + /** + * 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`) */ public readonly name!: pulumi.Output; /** @@ -80,6 +112,10 @@ export class ProfileHttpCompress extends pulumi.CustomResource { * 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. */ public readonly uriIncludes!: pulumi.Output; + /** + * Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + */ + public readonly varyHeader!: pulumi.Output; /** * Create a ProfileHttpCompress resource with the given unique name, arguments, and options. @@ -94,23 +130,37 @@ export class ProfileHttpCompress extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as ProfileHttpCompressState | undefined; + resourceInputs["compressionBuffersize"] = state ? state.compressionBuffersize : undefined; resourceInputs["contentTypeExcludes"] = state ? state.contentTypeExcludes : undefined; resourceInputs["contentTypeIncludes"] = state ? state.contentTypeIncludes : undefined; + resourceInputs["cpuSaver"] = state ? state.cpuSaver : undefined; resourceInputs["defaultsFrom"] = state ? state.defaultsFrom : undefined; + resourceInputs["gzipCompressionLevel"] = state ? state.gzipCompressionLevel : undefined; + resourceInputs["gzipMemoryLevel"] = state ? state.gzipMemoryLevel : undefined; + resourceInputs["gzipWindowSize"] = state ? state.gzipWindowSize : undefined; + resourceInputs["keepAcceptEncoding"] = state ? state.keepAcceptEncoding : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["uriExcludes"] = state ? state.uriExcludes : undefined; resourceInputs["uriIncludes"] = state ? state.uriIncludes : undefined; + resourceInputs["varyHeader"] = state ? state.varyHeader : undefined; } else { const args = argsOrState as ProfileHttpCompressArgs | undefined; if ((!args || args.name === undefined) && !opts.urn) { throw new Error("Missing required property 'name'"); } + resourceInputs["compressionBuffersize"] = args ? args.compressionBuffersize : undefined; resourceInputs["contentTypeExcludes"] = args ? args.contentTypeExcludes : undefined; resourceInputs["contentTypeIncludes"] = args ? args.contentTypeIncludes : undefined; + resourceInputs["cpuSaver"] = args ? args.cpuSaver : undefined; resourceInputs["defaultsFrom"] = args ? args.defaultsFrom : undefined; + resourceInputs["gzipCompressionLevel"] = args ? args.gzipCompressionLevel : undefined; + resourceInputs["gzipMemoryLevel"] = args ? args.gzipMemoryLevel : undefined; + resourceInputs["gzipWindowSize"] = args ? args.gzipWindowSize : undefined; + resourceInputs["keepAcceptEncoding"] = args ? args.keepAcceptEncoding : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["uriExcludes"] = args ? args.uriExcludes : undefined; resourceInputs["uriIncludes"] = args ? args.uriIncludes : undefined; + resourceInputs["varyHeader"] = args ? args.varyHeader : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(ProfileHttpCompress.__pulumiType, name, resourceInputs, opts); @@ -121,6 +171,10 @@ export class ProfileHttpCompress extends pulumi.CustomResource { * Input properties used for looking up and filtering ProfileHttpCompress resources. */ export interface ProfileHttpCompressState { + /** + * 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 `4096` bytes. + */ + compressionBuffersize?: pulumi.Input; /** * 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. */ @@ -129,12 +183,32 @@ export interface ProfileHttpCompressState { * 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. */ contentTypeIncludes?: pulumi.Input[]>; + /** + * 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 `enabled`. + */ + cpuSaver?: pulumi.Input; /** * 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. */ defaultsFrom?: pulumi.Input; /** - * Name of the profile_httpcompress + * 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) + */ + gzipCompressionLevel?: pulumi.Input; + /** + * 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`. + */ + gzipMemoryLevel?: pulumi.Input; + /** + * Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + */ + gzipWindowSize?: pulumi.Input; + /** + * Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + */ + keepAcceptEncoding?: pulumi.Input; + /** + * 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`) */ name?: pulumi.Input; /** @@ -145,12 +219,20 @@ export interface ProfileHttpCompressState { * 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. */ uriIncludes?: pulumi.Input[]>; + /** + * Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + */ + varyHeader?: pulumi.Input; } /** * The set of arguments for constructing a ProfileHttpCompress resource. */ export interface ProfileHttpCompressArgs { + /** + * 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 `4096` bytes. + */ + compressionBuffersize?: pulumi.Input; /** * 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. */ @@ -159,12 +241,32 @@ export interface ProfileHttpCompressArgs { * 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. */ contentTypeIncludes?: pulumi.Input[]>; + /** + * 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 `enabled`. + */ + cpuSaver?: pulumi.Input; /** * 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. */ defaultsFrom?: pulumi.Input; /** - * Name of the profile_httpcompress + * 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) + */ + gzipCompressionLevel?: pulumi.Input; + /** + * 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`. + */ + gzipMemoryLevel?: pulumi.Input; + /** + * Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + */ + gzipWindowSize?: pulumi.Input; + /** + * Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + */ + keepAcceptEncoding?: pulumi.Input; + /** + * 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`) */ name: pulumi.Input; /** @@ -175,4 +277,8 @@ export interface ProfileHttpCompressArgs { * 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. */ uriIncludes?: pulumi.Input[]>; + /** + * Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + */ + varyHeader?: pulumi.Input; } diff --git a/sdk/nodejs/ltm/profileOneConnect.ts b/sdk/nodejs/ltm/profileOneConnect.ts index aa8f60c6..44547be2 100644 --- a/sdk/nodejs/ltm/profileOneConnect.ts +++ b/sdk/nodejs/ltm/profileOneConnect.ts @@ -15,9 +15,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const test_oneconnect = new f5bigip.ltm.ProfileOneConnect("test-oneconnect", { - * name: "/Common/test-oneconnect", - * }); + * const test_oneconnect = new f5bigip.ltm.ProfileOneConnect("test-oneconnect", {name: "/Common/test-oneconnect"}); * ``` * * ## Import diff --git a/sdk/nodejs/ltm/profileServerSsl.ts b/sdk/nodejs/ltm/profileServerSsl.ts index e442f7f4..4259f27d 100644 --- a/sdk/nodejs/ltm/profileServerSsl.ts +++ b/sdk/nodejs/ltm/profileServerSsl.ts @@ -107,11 +107,15 @@ export class ProfileServerSsl extends pulumi.CustomResource { /** * Specifies the name of the certificate that the system uses for server-side SSL processing. */ - public readonly cert!: pulumi.Output; + public readonly cert!: pulumi.Output; /** * Specifies the certificates-key chain to associate with the SSL profile */ - public readonly chain!: pulumi.Output; + public readonly chain!: pulumi.Output; + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + */ + public readonly cipherGroup!: pulumi.Output; /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. */ @@ -143,7 +147,7 @@ export class ProfileServerSsl extends pulumi.CustomResource { /** * Specifies the file name of the SSL key. */ - public readonly key!: pulumi.Output; + public readonly key!: pulumi.Output; /** * ModSSL Methods enabled / disabled. Default is disabled. */ @@ -287,6 +291,7 @@ export class ProfileServerSsl extends pulumi.CustomResource { resourceInputs["cacheTimeout"] = state ? state.cacheTimeout : undefined; resourceInputs["cert"] = state ? state.cert : undefined; resourceInputs["chain"] = state ? state.chain : undefined; + resourceInputs["cipherGroup"] = state ? state.cipherGroup : undefined; resourceInputs["ciphers"] = state ? state.ciphers : undefined; resourceInputs["defaultsFrom"] = state ? state.defaultsFrom : undefined; resourceInputs["expireCertResponseControl"] = state ? state.expireCertResponseControl : undefined; @@ -342,6 +347,7 @@ export class ProfileServerSsl extends pulumi.CustomResource { resourceInputs["cacheTimeout"] = args ? args.cacheTimeout : undefined; resourceInputs["cert"] = args ? args.cert : undefined; resourceInputs["chain"] = args ? args.chain : undefined; + resourceInputs["cipherGroup"] = args ? args.cipherGroup : undefined; resourceInputs["ciphers"] = args ? args.ciphers : undefined; resourceInputs["defaultsFrom"] = args ? args.defaultsFrom : undefined; resourceInputs["expireCertResponseControl"] = args ? args.expireCertResponseControl : undefined; @@ -354,7 +360,7 @@ export class ProfileServerSsl extends pulumi.CustomResource { resourceInputs["mode"] = args ? args.mode : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["partition"] = args ? args.partition : undefined; - resourceInputs["passphrase"] = args ? args.passphrase : undefined; + resourceInputs["passphrase"] = args?.passphrase ? pulumi.secret(args.passphrase) : undefined; resourceInputs["peerCertMode"] = args ? args.peerCertMode : undefined; resourceInputs["proxyCaCert"] = args ? args.proxyCaCert : undefined; resourceInputs["proxyCaKey"] = args ? args.proxyCaKey : undefined; @@ -379,6 +385,8 @@ export class ProfileServerSsl extends pulumi.CustomResource { resourceInputs["untrustedCertResponseControl"] = args ? args.untrustedCertResponseControl : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["passphrase"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(ProfileServerSsl.__pulumiType, name, resourceInputs, opts); } } @@ -448,6 +456,10 @@ export interface ProfileServerSslState { * Specifies the certificates-key chain to associate with the SSL profile */ chain?: pulumi.Input; + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + */ + cipherGroup?: pulumi.Input; /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. */ @@ -661,6 +673,10 @@ export interface ProfileServerSslArgs { * Specifies the certificates-key chain to associate with the SSL profile */ chain?: pulumi.Input; + /** + * Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + */ + cipherGroup?: pulumi.Input; /** * Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. */ diff --git a/sdk/nodejs/ltm/profileTcp.ts b/sdk/nodejs/ltm/profileTcp.ts index 8d8214b2..4e530a64 100644 --- a/sdk/nodejs/ltm/profileTcp.ts +++ b/sdk/nodejs/ltm/profileTcp.ts @@ -5,9 +5,9 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * `f5bigip.ltm.ProfileTcp` Configures a custom profileTcp for use by health checks. + * `f5bigip.ltm.ProfileTcp` Configures a custom TCP LTM Profile for use by health checks. * - * Resources 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 ) + * Resources 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 ) * * ## Example Usage * @@ -59,6 +59,10 @@ export class ProfileTcp extends pulumi.CustomResource { * 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. */ public readonly closeWaitTimeout!: pulumi.Output; + /** + * Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + */ + public readonly congestionControl!: pulumi.Output; /** * 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. */ @@ -68,7 +72,15 @@ export class ProfileTcp extends pulumi.CustomResource { */ public readonly deferredAccept!: pulumi.Output; /** - * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * 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. + */ + public readonly delayedAcks!: pulumi.Output; + /** + * 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. + */ + public readonly earlyRetransmit!: pulumi.Output; + /** + * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. */ public readonly fastOpen!: pulumi.Output; /** @@ -83,18 +95,54 @@ export class ProfileTcp extends pulumi.CustomResource { * Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. */ public readonly idleTimeout!: pulumi.Output; + /** + * 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. + */ + public readonly initialCongestionWindowsize!: pulumi.Output; /** * Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. */ public readonly keepaliveInterval!: pulumi.Output; /** - * Name of the profile_tcp + * 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. + */ + public readonly nagle!: pulumi.Output; + /** + * 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 ) */ public readonly name!: pulumi.Output; /** - * Displays the administrative partition within which this profile resides + * name of partition */ public readonly partition!: pulumi.Output; + /** + * Specifies the proxy buffer level, in bytes, at which the receive window is closed. + */ + public readonly proxybufferHigh!: pulumi.Output; + /** + * 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. + */ + public readonly receiveWindowsize!: pulumi.Output; + /** + * Specifies the SEND window size. The default is 131072 bytes. + */ + public readonly sendBuffersize!: pulumi.Output; + /** + * 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. + */ + public readonly taillossProbe!: pulumi.Output; + /** + * 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. + */ + public readonly timewaitRecycle!: pulumi.Output; + /** + * 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 `disabled`. + */ + public readonly verifiedAccept!: pulumi.Output; + /** + * Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + */ + public readonly zerowindowTimeout!: pulumi.Output; /** * Create a ProfileTcp resource with the given unique name, arguments, and options. @@ -110,30 +158,54 @@ export class ProfileTcp extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ProfileTcpState | undefined; resourceInputs["closeWaitTimeout"] = state ? state.closeWaitTimeout : undefined; + resourceInputs["congestionControl"] = state ? state.congestionControl : undefined; resourceInputs["defaultsFrom"] = state ? state.defaultsFrom : undefined; resourceInputs["deferredAccept"] = state ? state.deferredAccept : undefined; + resourceInputs["delayedAcks"] = state ? state.delayedAcks : undefined; + resourceInputs["earlyRetransmit"] = state ? state.earlyRetransmit : undefined; resourceInputs["fastOpen"] = state ? state.fastOpen : undefined; resourceInputs["finwait2timeout"] = state ? state.finwait2timeout : undefined; resourceInputs["finwaitTimeout"] = state ? state.finwaitTimeout : undefined; resourceInputs["idleTimeout"] = state ? state.idleTimeout : undefined; + resourceInputs["initialCongestionWindowsize"] = state ? state.initialCongestionWindowsize : undefined; resourceInputs["keepaliveInterval"] = state ? state.keepaliveInterval : undefined; + resourceInputs["nagle"] = state ? state.nagle : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["partition"] = state ? state.partition : undefined; + resourceInputs["proxybufferHigh"] = state ? state.proxybufferHigh : undefined; + resourceInputs["receiveWindowsize"] = state ? state.receiveWindowsize : undefined; + resourceInputs["sendBuffersize"] = state ? state.sendBuffersize : undefined; + resourceInputs["taillossProbe"] = state ? state.taillossProbe : undefined; + resourceInputs["timewaitRecycle"] = state ? state.timewaitRecycle : undefined; + resourceInputs["verifiedAccept"] = state ? state.verifiedAccept : undefined; + resourceInputs["zerowindowTimeout"] = state ? state.zerowindowTimeout : undefined; } else { const args = argsOrState as ProfileTcpArgs | undefined; if ((!args || args.name === undefined) && !opts.urn) { throw new Error("Missing required property 'name'"); } resourceInputs["closeWaitTimeout"] = args ? args.closeWaitTimeout : undefined; + resourceInputs["congestionControl"] = args ? args.congestionControl : undefined; resourceInputs["defaultsFrom"] = args ? args.defaultsFrom : undefined; resourceInputs["deferredAccept"] = args ? args.deferredAccept : undefined; + resourceInputs["delayedAcks"] = args ? args.delayedAcks : undefined; + resourceInputs["earlyRetransmit"] = args ? args.earlyRetransmit : undefined; resourceInputs["fastOpen"] = args ? args.fastOpen : undefined; resourceInputs["finwait2timeout"] = args ? args.finwait2timeout : undefined; resourceInputs["finwaitTimeout"] = args ? args.finwaitTimeout : undefined; resourceInputs["idleTimeout"] = args ? args.idleTimeout : undefined; + resourceInputs["initialCongestionWindowsize"] = args ? args.initialCongestionWindowsize : undefined; resourceInputs["keepaliveInterval"] = args ? args.keepaliveInterval : undefined; + resourceInputs["nagle"] = args ? args.nagle : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["partition"] = args ? args.partition : undefined; + resourceInputs["proxybufferHigh"] = args ? args.proxybufferHigh : undefined; + resourceInputs["receiveWindowsize"] = args ? args.receiveWindowsize : undefined; + resourceInputs["sendBuffersize"] = args ? args.sendBuffersize : undefined; + resourceInputs["taillossProbe"] = args ? args.taillossProbe : undefined; + resourceInputs["timewaitRecycle"] = args ? args.timewaitRecycle : undefined; + resourceInputs["verifiedAccept"] = args ? args.verifiedAccept : undefined; + resourceInputs["zerowindowTimeout"] = args ? args.zerowindowTimeout : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(ProfileTcp.__pulumiType, name, resourceInputs, opts); @@ -148,6 +220,10 @@ export interface ProfileTcpState { * 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. */ closeWaitTimeout?: pulumi.Input; + /** + * Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + */ + congestionControl?: pulumi.Input; /** * 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. */ @@ -157,7 +233,15 @@ export interface ProfileTcpState { */ deferredAccept?: pulumi.Input; /** - * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * 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. + */ + delayedAcks?: pulumi.Input; + /** + * 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. + */ + earlyRetransmit?: pulumi.Input; + /** + * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. */ fastOpen?: pulumi.Input; /** @@ -172,18 +256,54 @@ export interface ProfileTcpState { * Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. */ idleTimeout?: pulumi.Input; + /** + * 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. + */ + initialCongestionWindowsize?: pulumi.Input; /** * Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. */ keepaliveInterval?: pulumi.Input; /** - * Name of the profile_tcp + * 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. + */ + nagle?: pulumi.Input; + /** + * 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 ) */ name?: pulumi.Input; /** - * Displays the administrative partition within which this profile resides + * name of partition */ partition?: pulumi.Input; + /** + * Specifies the proxy buffer level, in bytes, at which the receive window is closed. + */ + proxybufferHigh?: pulumi.Input; + /** + * 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. + */ + receiveWindowsize?: pulumi.Input; + /** + * Specifies the SEND window size. The default is 131072 bytes. + */ + sendBuffersize?: pulumi.Input; + /** + * 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. + */ + taillossProbe?: pulumi.Input; + /** + * 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. + */ + timewaitRecycle?: pulumi.Input; + /** + * 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 `disabled`. + */ + verifiedAccept?: pulumi.Input; + /** + * Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + */ + zerowindowTimeout?: pulumi.Input; } /** @@ -194,6 +314,10 @@ export interface ProfileTcpArgs { * 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. */ closeWaitTimeout?: pulumi.Input; + /** + * Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + */ + congestionControl?: pulumi.Input; /** * 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. */ @@ -203,7 +327,15 @@ export interface ProfileTcpArgs { */ deferredAccept?: pulumi.Input; /** - * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + * 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. + */ + delayedAcks?: pulumi.Input; + /** + * 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. + */ + earlyRetransmit?: pulumi.Input; + /** + * When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fastOpen` set to `enabled`, argument `verifiedAccept` can't be set to `enabled`. */ fastOpen?: pulumi.Input; /** @@ -218,16 +350,52 @@ export interface ProfileTcpArgs { * Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. */ idleTimeout?: pulumi.Input; + /** + * 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. + */ + initialCongestionWindowsize?: pulumi.Input; /** * Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. */ keepaliveInterval?: pulumi.Input; /** - * Name of the profile_tcp + * 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. + */ + nagle?: pulumi.Input; + /** + * 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 ) */ name: pulumi.Input; /** - * Displays the administrative partition within which this profile resides + * name of partition */ partition?: pulumi.Input; + /** + * Specifies the proxy buffer level, in bytes, at which the receive window is closed. + */ + proxybufferHigh?: pulumi.Input; + /** + * 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. + */ + receiveWindowsize?: pulumi.Input; + /** + * Specifies the SEND window size. The default is 131072 bytes. + */ + sendBuffersize?: pulumi.Input; + /** + * 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. + */ + taillossProbe?: pulumi.Input; + /** + * 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. + */ + timewaitRecycle?: pulumi.Input; + /** + * 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 `disabled`. + */ + verifiedAccept?: pulumi.Input; + /** + * Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + */ + zerowindowTimeout?: pulumi.Input; } diff --git a/sdk/nodejs/ltm/snat.ts b/sdk/nodejs/ltm/snat.ts index e87cc723..2099f682 100644 --- a/sdk/nodejs/ltm/snat.ts +++ b/sdk/nodejs/ltm/snat.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** @@ -57,7 +58,7 @@ export class Snat extends pulumi.CustomResource { } /** - * -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. */ public readonly autolasthop!: pulumi.Output; /** @@ -155,7 +156,7 @@ export class Snat extends pulumi.CustomResource { */ export interface SnatState { /** - * -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. */ autolasthop?: pulumi.Input; /** @@ -205,7 +206,7 @@ export interface SnatState { */ export interface SnatArgs { /** - * -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + * Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. */ autolasthop?: pulumi.Input; /** diff --git a/sdk/nodejs/ltm/snatPool.ts b/sdk/nodejs/ltm/snatPool.ts index ffbf0a5d..b88d9df9 100644 --- a/sdk/nodejs/ltm/snatPool.ts +++ b/sdk/nodejs/ltm/snatPool.ts @@ -15,7 +15,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const snatpoolSanjose = new f5bigip.ltm.SnatPool("snatpool_sanjose", { + * const snatpoolSanjose = new f5bigip.ltm.SnatPool("snatpoolSanjose", { * members: [ * "191.1.1.1", * "194.2.2.2", diff --git a/sdk/nodejs/ltm/virtualAddress.ts b/sdk/nodejs/ltm/virtualAddress.ts index 2410a09b..96130084 100644 --- a/sdk/nodejs/ltm/virtualAddress.ts +++ b/sdk/nodejs/ltm/virtualAddress.ts @@ -15,7 +15,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const vsVa = new f5bigip.ltm.VirtualAddress("vs_va", { + * const vsVa = new f5bigip.ltm.VirtualAddress("vsVa", { * advertizeRoute: "enabled", * name: "/Common/xxxxx", * }); diff --git a/sdk/nodejs/ltm/virtualServer.ts b/sdk/nodejs/ltm/virtualServer.ts index e9f798e1..0a80eae2 100644 --- a/sdk/nodejs/ltm/virtualServer.ts +++ b/sdk/nodejs/ltm/virtualServer.ts @@ -83,7 +83,7 @@ export class VirtualServer extends pulumi.CustomResource { * List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles */ public readonly clientProfiles!: pulumi.Output; - public readonly defaultPersistenceProfile!: pulumi.Output; + public readonly defaultPersistenceProfile!: pulumi.Output; /** * Description of Virtual server */ @@ -91,15 +91,19 @@ export class VirtualServer extends pulumi.CustomResource { /** * Destination IP */ - public readonly destination!: pulumi.Output; + public readonly destination!: pulumi.Output; /** * Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. */ public readonly fallbackPersistenceProfile!: pulumi.Output; + /** + * 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`. + */ + public readonly firewallEnforcedPolicy!: pulumi.Output; /** * Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) */ - public readonly ipProtocol!: pulumi.Output; + public readonly ipProtocol!: pulumi.Output; /** * The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. */ @@ -139,7 +143,7 @@ export class VirtualServer extends pulumi.CustomResource { */ public readonly serverProfiles!: pulumi.Output; /** - * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. */ public readonly snatpool!: pulumi.Output; /** @@ -147,21 +151,29 @@ export class VirtualServer extends pulumi.CustomResource { */ public readonly source!: pulumi.Output; /** - * Can be either omitted for none or the values automap or snat + * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. + */ + public readonly sourceAddressTranslation!: pulumi.Output; + /** + * Specifies whether the system preserves the source port of the connection. The default is `preserve`. */ - public readonly sourceAddressTranslation!: pulumi.Output; + public readonly sourcePort!: pulumi.Output; /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled */ public readonly state!: pulumi.Output; + /** + * Specifies destination traffic matching information to which the virtual server sends traffic + */ + public readonly trafficmatchingCriteria!: pulumi.Output; /** * 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. */ - public readonly translateAddress!: pulumi.Output; + public readonly translateAddress!: pulumi.Output; /** * 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 */ - public readonly translatePort!: pulumi.Output; + public readonly translatePort!: pulumi.Output; /** * The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlanEnabled` */ @@ -190,6 +202,7 @@ export class VirtualServer extends pulumi.CustomResource { resourceInputs["description"] = state ? state.description : undefined; resourceInputs["destination"] = state ? state.destination : undefined; resourceInputs["fallbackPersistenceProfile"] = state ? state.fallbackPersistenceProfile : undefined; + resourceInputs["firewallEnforcedPolicy"] = state ? state.firewallEnforcedPolicy : undefined; resourceInputs["ipProtocol"] = state ? state.ipProtocol : undefined; resourceInputs["irules"] = state ? state.irules : undefined; resourceInputs["mask"] = state ? state.mask : undefined; @@ -205,27 +218,24 @@ export class VirtualServer extends pulumi.CustomResource { resourceInputs["snatpool"] = state ? state.snatpool : undefined; resourceInputs["source"] = state ? state.source : undefined; resourceInputs["sourceAddressTranslation"] = state ? state.sourceAddressTranslation : undefined; + resourceInputs["sourcePort"] = state ? state.sourcePort : undefined; resourceInputs["state"] = state ? state.state : undefined; + resourceInputs["trafficmatchingCriteria"] = state ? state.trafficmatchingCriteria : undefined; resourceInputs["translateAddress"] = state ? state.translateAddress : undefined; resourceInputs["translatePort"] = state ? state.translatePort : undefined; resourceInputs["vlans"] = state ? state.vlans : undefined; resourceInputs["vlansEnabled"] = state ? state.vlansEnabled : undefined; } else { const args = argsOrState as VirtualServerArgs | undefined; - if ((!args || args.destination === undefined) && !opts.urn) { - throw new Error("Missing required property 'destination'"); - } if ((!args || args.name === undefined) && !opts.urn) { throw new Error("Missing required property 'name'"); } - if ((!args || args.port === undefined) && !opts.urn) { - throw new Error("Missing required property 'port'"); - } resourceInputs["clientProfiles"] = args ? args.clientProfiles : undefined; resourceInputs["defaultPersistenceProfile"] = args ? args.defaultPersistenceProfile : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["destination"] = args ? args.destination : undefined; resourceInputs["fallbackPersistenceProfile"] = args ? args.fallbackPersistenceProfile : undefined; + resourceInputs["firewallEnforcedPolicy"] = args ? args.firewallEnforcedPolicy : undefined; resourceInputs["ipProtocol"] = args ? args.ipProtocol : undefined; resourceInputs["irules"] = args ? args.irules : undefined; resourceInputs["mask"] = args ? args.mask : undefined; @@ -241,7 +251,9 @@ export class VirtualServer extends pulumi.CustomResource { resourceInputs["snatpool"] = args ? args.snatpool : undefined; resourceInputs["source"] = args ? args.source : undefined; resourceInputs["sourceAddressTranslation"] = args ? args.sourceAddressTranslation : undefined; + resourceInputs["sourcePort"] = args ? args.sourcePort : undefined; resourceInputs["state"] = args ? args.state : undefined; + resourceInputs["trafficmatchingCriteria"] = args ? args.trafficmatchingCriteria : undefined; resourceInputs["translateAddress"] = args ? args.translateAddress : undefined; resourceInputs["translatePort"] = args ? args.translatePort : undefined; resourceInputs["vlans"] = args ? args.vlans : undefined; @@ -273,6 +285,10 @@ export interface VirtualServerState { * Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. */ fallbackPersistenceProfile?: pulumi.Input; + /** + * 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`. + */ + firewallEnforcedPolicy?: pulumi.Input; /** * Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) */ @@ -316,7 +332,7 @@ export interface VirtualServerState { */ serverProfiles?: pulumi.Input[]>; /** - * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. */ snatpool?: pulumi.Input; /** @@ -324,13 +340,21 @@ export interface VirtualServerState { */ source?: pulumi.Input; /** - * Can be either omitted for none or the values automap or snat + * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. */ sourceAddressTranslation?: pulumi.Input; + /** + * Specifies whether the system preserves the source port of the connection. The default is `preserve`. + */ + sourcePort?: pulumi.Input; /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled */ state?: pulumi.Input; + /** + * Specifies destination traffic matching information to which the virtual server sends traffic + */ + trafficmatchingCriteria?: pulumi.Input; /** * 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. */ @@ -366,11 +390,15 @@ export interface VirtualServerArgs { /** * Destination IP */ - destination: pulumi.Input; + destination?: pulumi.Input; /** * Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. */ fallbackPersistenceProfile?: pulumi.Input; + /** + * 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`. + */ + firewallEnforcedPolicy?: pulumi.Input; /** * Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) */ @@ -400,7 +428,7 @@ export interface VirtualServerArgs { /** * Listen port for the virtual server */ - port: pulumi.Input; + port?: pulumi.Input; /** * List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. */ @@ -414,7 +442,7 @@ export interface VirtualServerArgs { */ serverProfiles?: pulumi.Input[]>; /** - * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. */ snatpool?: pulumi.Input; /** @@ -422,13 +450,21 @@ export interface VirtualServerArgs { */ source?: pulumi.Input; /** - * Can be either omitted for none or the values automap or snat + * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. */ sourceAddressTranslation?: pulumi.Input; + /** + * Specifies whether the system preserves the source port of the connection. The default is `preserve`. + */ + sourcePort?: pulumi.Input; /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled */ state?: pulumi.Input; + /** + * Specifies destination traffic matching information to which the virtual server sends traffic + */ + trafficmatchingCriteria?: pulumi.Input; /** * 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. */ diff --git a/sdk/nodejs/net/index.ts b/sdk/nodejs/net/index.ts index 4e1510a8..50f81cbe 100644 --- a/sdk/nodejs/net/index.ts +++ b/sdk/nodejs/net/index.ts @@ -5,14 +5,21 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: -export * from "./route"; -export * from "./selfIp"; -export * from "./vlan"; +export { RouteArgs, RouteState } from "./route"; +export type Route = import("./route").Route; +export const Route: typeof import("./route").Route = null as any; +utilities.lazyLoad(exports, ["Route"], () => require("./route")); + +export { SelfIpArgs, SelfIpState } from "./selfIp"; +export type SelfIp = import("./selfIp").SelfIp; +export const SelfIp: typeof import("./selfIp").SelfIp = null as any; +utilities.lazyLoad(exports, ["SelfIp"], () => require("./selfIp")); + +export { VlanArgs, VlanState } from "./vlan"; +export type Vlan = import("./vlan").Vlan; +export const Vlan: typeof import("./vlan").Vlan = null as any; +utilities.lazyLoad(exports, ["Vlan"], () => require("./vlan")); -// Import resources to register: -import { Route } from "./route"; -import { SelfIp } from "./selfIp"; -import { Vlan } from "./vlan"; const _module = { version: utilities.getVersion(), diff --git a/sdk/nodejs/net/vlan.ts b/sdk/nodejs/net/vlan.ts index 82abb13e..d415a945 100644 --- a/sdk/nodejs/net/vlan.ts +++ b/sdk/nodejs/net/vlan.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** diff --git a/sdk/nodejs/netIkePeer.ts b/sdk/nodejs/netIkePeer.ts index 214b5051..585520ac 100644 --- a/sdk/nodejs/netIkePeer.ts +++ b/sdk/nodejs/netIkePeer.ts @@ -6,19 +6,6 @@ import * as utilities from "./utilities"; /** * `f5bigip.NetIkePeer` Manages a ikePeer configuration - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as f5bigip from "@pulumi/f5bigip"; - * - * const example1 = new f5bigip.NetIkePeer("example1", { - * localAddress: "192.16.81.240", - * name: "example1", - * profile: "/Common/dslite", - * }); - * ``` */ export class NetIkePeer extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index 1b4ddaef..7a1cac67 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -45,6 +45,10 @@ export class Provider extends pulumi.ProviderResource { * A token generated outside the provider, in place of password */ public readonly tokenValue!: pulumi.Output; + /** + * Valid Trusted Certificate path + */ + public readonly trustedCertPath!: pulumi.Output; /** * Username with API access to the BigIP */ @@ -68,7 +72,9 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["teemDisable"] = pulumi.output(args ? args.teemDisable : undefined).apply(JSON.stringify); resourceInputs["tokenAuth"] = pulumi.output(args ? args.tokenAuth : undefined).apply(JSON.stringify); resourceInputs["tokenValue"] = args ? args.tokenValue : undefined; + resourceInputs["trustedCertPath"] = args ? args.trustedCertPath : undefined; resourceInputs["username"] = args ? args.username : undefined; + resourceInputs["validateCertsDisable"] = pulumi.output(args ? args.validateCertsDisable : undefined).apply(JSON.stringify); } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Provider.__pulumiType, name, resourceInputs, opts); @@ -107,8 +113,16 @@ export interface ProviderArgs { * A token generated outside the provider, in place of password */ tokenValue?: pulumi.Input; + /** + * Valid Trusted Certificate path + */ + trustedCertPath?: pulumi.Input; /** * Username with API access to the BigIP */ username?: pulumi.Input; + /** + * If set to true, Disables TLS certificate check on BIG-IP. Default : True + */ + validateCertsDisable?: pulumi.Input; } diff --git a/sdk/nodejs/ssl/certificate.ts b/sdk/nodejs/ssl/certificate.ts index 922ec477..ab8b4b6d 100644 --- a/sdk/nodejs/ssl/certificate.ts +++ b/sdk/nodejs/ssl/certificate.ts @@ -92,12 +92,14 @@ export class Certificate extends pulumi.CustomResource { if ((!args || args.name === undefined) && !opts.urn) { throw new Error("Missing required property 'name'"); } - resourceInputs["content"] = args ? args.content : undefined; + resourceInputs["content"] = args?.content ? pulumi.secret(args.content) : undefined; resourceInputs["fullPath"] = args ? args.fullPath : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["partition"] = args ? args.partition : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["content"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(Certificate.__pulumiType, name, resourceInputs, opts); } } diff --git a/sdk/nodejs/ssl/getCertificate.ts b/sdk/nodejs/ssl/getCertificate.ts index 4ee1fe67..29a101dd 100644 --- a/sdk/nodejs/ssl/getCertificate.ts +++ b/sdk/nodejs/ssl/getCertificate.ts @@ -13,20 +13,16 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const test = pulumi.output(f5bigip.ssl.getCertificate({ + * const test = f5bigip.ssl.getCertificate({ * name: "terraform_ssl_certificate", * partition: "Common", - * })); - * - * export const bigipSslCertificateName = test.name; + * }); + * export const bigipSslCertificateName = test.then(test => test.name); * ``` */ export function getCertificate(args: GetCertificateArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ssl/getCertificate:getCertificate", { "name": args.name, "partition": args.partition, @@ -65,9 +61,24 @@ export interface GetCertificateResult { */ readonly partition: string; } - +/** + * Use this data source (`f5bigip.ssl.Certificate`) to get the ssl-certificate details available on BIG-IP + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const test = f5bigip.ssl.getCertificate({ + * name: "terraform_ssl_certificate", + * partition: "Common", + * }); + * export const bigipSslCertificateName = test.then(test => test.name); + * ``` + */ export function getCertificateOutput(args: GetCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getCertificate(a, opts)) + return pulumi.output(args).apply((a: any) => getCertificate(a, opts)) } /** diff --git a/sdk/nodejs/ssl/getVWanConfig.ts b/sdk/nodejs/ssl/getVWanConfig.ts index e20bde88..77c9c894 100644 --- a/sdk/nodejs/ssl/getVWanConfig.ts +++ b/sdk/nodejs/ssl/getVWanConfig.ts @@ -13,11 +13,11 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const vwanconfig = pulumi.output(f5bigip.ssl.getVWanConfig({ + * const vwanconfig = f5bigip.ssl.getVWanConfig({ * azureVwanName: "azurevwan-bigip-vwan-9c8d", * azureVwanResourcegroup: "azurevwan-bigip-rg-9c8d", * azureVwanVpnsite: "azurevwan-bigip-vsite-9c8d", - * })); + * }); * ``` * ## Pre-required Environment Settings: * @@ -34,11 +34,8 @@ import * as utilities from "../utilities"; * * `STORAGE_ACCOUNT_KEY` - (Required) Specifies the storage account key to authenticate,set this Environment variable with account key value. */ export function getVWanConfig(args: GetVWanConfigArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ssl/getVWanConfig:getVWanConfig", { "azureVwanName": args.azureVwanName, "azureVwanResourcegroup": args.azureVwanResourcegroup, @@ -96,9 +93,37 @@ export interface GetVWanConfigResult { */ readonly vwanGwAddresses: string[]; } - +/** + * Use this data source (`f5bigip.ssl.getVWanConfig`) to get the vWAN site config from Azure VWAN Site + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const vwanconfig = f5bigip.ssl.getVWanConfig({ + * azureVwanName: "azurevwan-bigip-vwan-9c8d", + * azureVwanResourcegroup: "azurevwan-bigip-rg-9c8d", + * azureVwanVpnsite: "azurevwan-bigip-vsite-9c8d", + * }); + * ``` + * ## Pre-required Environment Settings: + * + * * `AZURE_CLIENT_ID` - (Required) Set this environment variable with the Azure app client ID to use. + * + * * `AZURE_CLIENT_SECRET` - (Required) Set this environment variable with the Azure app secret to use. + * + * * `AZURE_SUBSCRIPTION_ID` - (Required) Set this environment variable with the Azure subscription ID to use. + * + * * `AZURE_TENANT_ID` - (Required) Set this environment variable with the Tenant ID to which to authenticate. + * + * * `STORAGE_ACCOUNT_NAME` - (Required) Set this environment variable with the storage account for download config. + * + * * `STORAGE_ACCOUNT_KEY` - (Required) Specifies the storage account key to authenticate,set this Environment variable with account key value. + */ export function getVWanConfigOutput(args: GetVWanConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getVWanConfig(a, opts)) + return pulumi.output(args).apply((a: any) => getVWanConfig(a, opts)) } /** diff --git a/sdk/nodejs/ssl/getWafEntityParameter.ts b/sdk/nodejs/ssl/getWafEntityParameter.ts index 594fecf7..42a8f002 100644 --- a/sdk/nodejs/ssl/getWafEntityParameter.ts +++ b/sdk/nodejs/ssl/getWafEntityParameter.ts @@ -2,14 +2,13 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; export function getWafEntityParameter(args: GetWafEntityParameterArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ssl/getWafEntityParameter:getWafEntityParameter", { "allowEmptyType": args.allowEmptyType, "allowRepeatedParameterName": args.allowRepeatedParameterName, @@ -32,6 +31,7 @@ export function getWafEntityParameter(args: GetWafEntityParameterArgs, opts?: pu "sensitiveParameter": args.sensitiveParameter, "signatureOverridesDisables": args.signatureOverridesDisables, "type": args.type, + "url": args.url, "valueType": args.valueType, }, opts); } @@ -61,6 +61,7 @@ export interface GetWafEntityParameterArgs { sensitiveParameter?: boolean; signatureOverridesDisables?: number[]; type?: string; + url?: inputs.ssl.GetWafEntityParameterUrl; valueType?: string; } @@ -93,11 +94,11 @@ export interface GetWafEntityParameterResult { readonly sensitiveParameter?: boolean; readonly signatureOverridesDisables?: number[]; readonly type?: string; + readonly url?: outputs.ssl.GetWafEntityParameterUrl; readonly valueType?: string; } - export function getWafEntityParameterOutput(args: GetWafEntityParameterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getWafEntityParameter(a, opts)) + return pulumi.output(args).apply((a: any) => getWafEntityParameter(a, opts)) } /** @@ -125,5 +126,6 @@ export interface GetWafEntityParameterOutputArgs { sensitiveParameter?: pulumi.Input; signatureOverridesDisables?: pulumi.Input[]>; type?: pulumi.Input; + url?: pulumi.Input; valueType?: pulumi.Input; } diff --git a/sdk/nodejs/ssl/getWafEntityUrl.ts b/sdk/nodejs/ssl/getWafEntityUrl.ts index 72e29d5b..bfa6610c 100644 --- a/sdk/nodejs/ssl/getWafEntityUrl.ts +++ b/sdk/nodejs/ssl/getWafEntityUrl.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** @@ -14,7 +15,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const wAFURL1 = pulumi.output(f5bigip.ssl.getWafEntityUrl({ + * const wAFURL1 = f5bigip.ssl.getWafEntityUrl({ * description: "this is a test", * methodOverrides: [ * { @@ -34,15 +35,12 @@ import * as utilities from "../utilities"; * 87654321, * ], * type: "explicit", - * })); + * }); * ``` */ export function getWafEntityUrl(args: GetWafEntityUrlArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ssl/getWafEntityUrl:getWafEntityUrl", { "description": args.description, "method": args.method, @@ -114,9 +112,40 @@ export interface GetWafEntityUrlResult { readonly signatureOverridesDisables?: number[]; readonly type?: string; } - +/** + * Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to create JSON for WAF URL to later use with an existing WAF policy. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const wAFURL1 = f5bigip.ssl.getWafEntityUrl({ + * description: "this is a test", + * methodOverrides: [ + * { + * allow: false, + * method: "BCOPY", + * }, + * { + * allow: true, + * method: "BDELETE", + * }, + * ], + * name: "/foobar", + * performStaging: true, + * protocol: "HTTP", + * signatureOverridesDisables: [ + * 12345678, + * 87654321, + * ], + * type: "explicit", + * }); + * ``` + */ export function getWafEntityUrlOutput(args: GetWafEntityUrlOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getWafEntityUrl(a, opts)) + return pulumi.output(args).apply((a: any) => getWafEntityUrl(a, opts)) } /** diff --git a/sdk/nodejs/ssl/getWafPbSuggestions.ts b/sdk/nodejs/ssl/getWafPbSuggestions.ts index a6b8437d..a3a63e1c 100644 --- a/sdk/nodejs/ssl/getWafPbSuggestions.ts +++ b/sdk/nodejs/ssl/getWafPbSuggestions.ts @@ -13,19 +13,16 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const pBWAF1 = pulumi.output(f5bigip.ssl.getWafPbSuggestions({ + * const pBWAF1 = f5bigip.ssl.getWafPbSuggestions({ * minimumLearningScore: 20, * partition: "Common", * policyName: "protect_me_policy", - * })); + * }); * ``` */ export function getWafPbSuggestions(args: GetWafPbSuggestionsArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ssl/getWafPbSuggestions:getWafPbSuggestions", { "minimumLearningScore": args.minimumLearningScore, "partition": args.partition, @@ -76,9 +73,24 @@ export interface GetWafPbSuggestionsResult { readonly policyId: string; readonly policyName: string; } - +/** + * Use this data source (`f5bigip.ssl.getWafPbSuggestions`) to export PB suggestions from an existing WAF policy. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const pBWAF1 = f5bigip.ssl.getWafPbSuggestions({ + * minimumLearningScore: 20, + * partition: "Common", + * policyName: "protect_me_policy", + * }); + * ``` + */ export function getWafPbSuggestionsOutput(args: GetWafPbSuggestionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getWafPbSuggestions(a, opts)) + return pulumi.output(args).apply((a: any) => getWafPbSuggestions(a, opts)) } /** diff --git a/sdk/nodejs/ssl/getWafPolicy.ts b/sdk/nodejs/ssl/getWafPolicy.ts index b38495cd..e6214394 100644 --- a/sdk/nodejs/ssl/getWafPolicy.ts +++ b/sdk/nodejs/ssl/getWafPolicy.ts @@ -13,17 +13,14 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const existpolicy = pulumi.output(f5bigip.ssl.getWafPolicy({ + * const existpolicy = f5bigip.ssl.getWafPolicy({ * policyId: "xxxxx", - * })); + * }); * ``` */ export function getWafPolicy(args: GetWafPolicyArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ssl/getWafPolicy:getWafPolicy", { "policyId": args.policyId, "policyJson": args.policyJson, @@ -58,9 +55,22 @@ export interface GetWafPolicyResult { */ readonly policyJson: string; } - +/** + * Use this data source (`f5bigip.WafPolicy`) to get the details of exist WAF policy BIG-IP. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const existpolicy = f5bigip.ssl.getWafPolicy({ + * policyId: "xxxxx", + * }); + * ``` + */ export function getWafPolicyOutput(args: GetWafPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getWafPolicy(a, opts)) + return pulumi.output(args).apply((a: any) => getWafPolicy(a, opts)) } /** diff --git a/sdk/nodejs/ssl/getWafSignatures.ts b/sdk/nodejs/ssl/getWafSignatures.ts index 31bc6beb..3887465a 100644 --- a/sdk/nodejs/ssl/getWafSignatures.ts +++ b/sdk/nodejs/ssl/getWafSignatures.ts @@ -13,17 +13,14 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const wAFSIG1 = pulumi.output(f5bigip.ssl.getWafSignatures({ + * const wAFSIG1 = f5bigip.ssl.getWafSignatures({ * signatureId: 200104004, - * })); + * }); * ``` */ export function getWafSignatures(args: GetWafSignaturesArgs, opts?: pulumi.InvokeOptions): Promise { - if (!opts) { - opts = {} - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("f5bigip:ssl/getWafSignatures:getWafSignatures", { "accuracy": args.accuracy, "description": args.description, @@ -116,9 +113,22 @@ export interface GetWafSignaturesResult { */ readonly type: string; } - +/** + * Use this data source (`f5bigip.ssl.getWafSignatures`) to get the details of attack signatures available on BIG-IP WAF + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const wAFSIG1 = f5bigip.ssl.getWafSignatures({ + * signatureId: 200104004, + * }); + * ``` + */ export function getWafSignaturesOutput(args: GetWafSignaturesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply(a => getWafSignatures(a, opts)) + return pulumi.output(args).apply((a: any) => getWafSignatures(a, opts)) } /** diff --git a/sdk/nodejs/ssl/index.ts b/sdk/nodejs/ssl/index.ts index 5e183d19..342e50a1 100644 --- a/sdk/nodejs/ssl/index.ts +++ b/sdk/nodejs/ssl/index.ts @@ -5,19 +5,51 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: -export * from "./certificate"; -export * from "./getCertificate"; -export * from "./getVWanConfig"; -export * from "./getWafEntityParameter"; -export * from "./getWafEntityUrl"; -export * from "./getWafPbSuggestions"; -export * from "./getWafPolicy"; -export * from "./getWafSignatures"; -export * from "./key"; - -// Import resources to register: -import { Certificate } from "./certificate"; -import { Key } from "./key"; +export { CertificateArgs, CertificateState } from "./certificate"; +export type Certificate = import("./certificate").Certificate; +export const Certificate: typeof import("./certificate").Certificate = null as any; +utilities.lazyLoad(exports, ["Certificate"], () => require("./certificate")); + +export { GetCertificateArgs, GetCertificateResult, GetCertificateOutputArgs } from "./getCertificate"; +export const getCertificate: typeof import("./getCertificate").getCertificate = null as any; +export const getCertificateOutput: typeof import("./getCertificate").getCertificateOutput = null as any; +utilities.lazyLoad(exports, ["getCertificate","getCertificateOutput"], () => require("./getCertificate")); + +export { GetVWanConfigArgs, GetVWanConfigResult, GetVWanConfigOutputArgs } from "./getVWanConfig"; +export const getVWanConfig: typeof import("./getVWanConfig").getVWanConfig = null as any; +export const getVWanConfigOutput: typeof import("./getVWanConfig").getVWanConfigOutput = null as any; +utilities.lazyLoad(exports, ["getVWanConfig","getVWanConfigOutput"], () => require("./getVWanConfig")); + +export { GetWafEntityParameterArgs, GetWafEntityParameterResult, GetWafEntityParameterOutputArgs } from "./getWafEntityParameter"; +export const getWafEntityParameter: typeof import("./getWafEntityParameter").getWafEntityParameter = null as any; +export const getWafEntityParameterOutput: typeof import("./getWafEntityParameter").getWafEntityParameterOutput = null as any; +utilities.lazyLoad(exports, ["getWafEntityParameter","getWafEntityParameterOutput"], () => require("./getWafEntityParameter")); + +export { GetWafEntityUrlArgs, GetWafEntityUrlResult, GetWafEntityUrlOutputArgs } from "./getWafEntityUrl"; +export const getWafEntityUrl: typeof import("./getWafEntityUrl").getWafEntityUrl = null as any; +export const getWafEntityUrlOutput: typeof import("./getWafEntityUrl").getWafEntityUrlOutput = null as any; +utilities.lazyLoad(exports, ["getWafEntityUrl","getWafEntityUrlOutput"], () => require("./getWafEntityUrl")); + +export { GetWafPbSuggestionsArgs, GetWafPbSuggestionsResult, GetWafPbSuggestionsOutputArgs } from "./getWafPbSuggestions"; +export const getWafPbSuggestions: typeof import("./getWafPbSuggestions").getWafPbSuggestions = null as any; +export const getWafPbSuggestionsOutput: typeof import("./getWafPbSuggestions").getWafPbSuggestionsOutput = null as any; +utilities.lazyLoad(exports, ["getWafPbSuggestions","getWafPbSuggestionsOutput"], () => require("./getWafPbSuggestions")); + +export { GetWafPolicyArgs, GetWafPolicyResult, GetWafPolicyOutputArgs } from "./getWafPolicy"; +export const getWafPolicy: typeof import("./getWafPolicy").getWafPolicy = null as any; +export const getWafPolicyOutput: typeof import("./getWafPolicy").getWafPolicyOutput = null as any; +utilities.lazyLoad(exports, ["getWafPolicy","getWafPolicyOutput"], () => require("./getWafPolicy")); + +export { GetWafSignaturesArgs, GetWafSignaturesResult, GetWafSignaturesOutputArgs } from "./getWafSignatures"; +export const getWafSignatures: typeof import("./getWafSignatures").getWafSignatures = null as any; +export const getWafSignaturesOutput: typeof import("./getWafSignatures").getWafSignaturesOutput = null as any; +utilities.lazyLoad(exports, ["getWafSignatures","getWafSignaturesOutput"], () => require("./getWafSignatures")); + +export { KeyArgs, KeyState } from "./key"; +export type Key = import("./key").Key; +export const Key: typeof import("./key").Key = null as any; +utilities.lazyLoad(exports, ["Key"], () => require("./key")); + const _module = { version: utilities.getVersion(), diff --git a/sdk/nodejs/ssl/key.ts b/sdk/nodejs/ssl/key.ts index 89593926..6e14bb4d 100644 --- a/sdk/nodejs/ssl/key.ts +++ b/sdk/nodejs/ssl/key.ts @@ -66,6 +66,10 @@ export class Key extends pulumi.CustomResource { * Partition of ssl certificate key */ public readonly partition!: pulumi.Output; + /** + * Passphrase on key. + */ + public readonly passphrase!: pulumi.Output; /** * Create a Key resource with the given unique name, arguments, and options. @@ -84,6 +88,7 @@ export class Key extends pulumi.CustomResource { resourceInputs["fullPath"] = state ? state.fullPath : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["partition"] = state ? state.partition : undefined; + resourceInputs["passphrase"] = state ? state.passphrase : undefined; } else { const args = argsOrState as KeyArgs | undefined; if ((!args || args.content === undefined) && !opts.urn) { @@ -92,12 +97,15 @@ export class Key extends pulumi.CustomResource { if ((!args || args.name === undefined) && !opts.urn) { throw new Error("Missing required property 'name'"); } - resourceInputs["content"] = args ? args.content : undefined; + resourceInputs["content"] = args?.content ? pulumi.secret(args.content) : undefined; resourceInputs["fullPath"] = args ? args.fullPath : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["partition"] = args ? args.partition : undefined; + resourceInputs["passphrase"] = args?.passphrase ? pulumi.secret(args.passphrase) : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["content", "passphrase"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(Key.__pulumiType, name, resourceInputs, opts); } } @@ -122,6 +130,10 @@ export interface KeyState { * Partition of ssl certificate key */ partition?: pulumi.Input; + /** + * Passphrase on key. + */ + passphrase?: pulumi.Input; } /** @@ -144,4 +156,8 @@ export interface KeyArgs { * Partition of ssl certificate key */ partition?: pulumi.Input; + /** + * Passphrase on key. + */ + passphrase?: pulumi.Input; } diff --git a/sdk/nodejs/sys/dns.ts b/sdk/nodejs/sys/dns.ts index 6d7745fb..c0346efb 100644 --- a/sdk/nodejs/sys/dns.ts +++ b/sdk/nodejs/sys/dns.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * `f5bigip.sys.Dns` Configures DNS server on F5 BIG-IP + * `f5bigip.sys.Dns` Configures DNS Name server on F5 BIG-IP * * ## Example Usage * @@ -16,7 +16,6 @@ import * as utilities from "../utilities"; * const dns1 = new f5bigip.sys.Dns("dns1", { * description: "/Common/DNS1", * nameServers: ["1.1.1.1"], - * numberOfDots: 2, * searches: ["f5.com"], * }); * ``` @@ -54,15 +53,15 @@ export class Dns extends pulumi.CustomResource { */ public readonly description!: pulumi.Output; /** - * Name or IP address of the DNS server + * Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. */ - public readonly nameServers!: pulumi.Output; + public readonly nameServers!: pulumi.Output; /** * Configures the number of dots needed in a name before an initial absolute query will be made. */ - public readonly numberOfDots!: pulumi.Output; + public readonly numberOfDots!: pulumi.Output; /** - * Specify what domains you want to search + * Specifies the domains that the system searches for local domain lookups, to resolve local host names. */ public readonly searches!: pulumi.Output; @@ -88,6 +87,9 @@ export class Dns extends pulumi.CustomResource { if ((!args || args.description === undefined) && !opts.urn) { throw new Error("Missing required property 'description'"); } + if ((!args || args.nameServers === undefined) && !opts.urn) { + throw new Error("Missing required property 'nameServers'"); + } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["nameServers"] = args ? args.nameServers : undefined; resourceInputs["numberOfDots"] = args ? args.numberOfDots : undefined; @@ -107,7 +109,7 @@ export interface DnsState { */ description?: pulumi.Input; /** - * Name or IP address of the DNS server + * Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. */ nameServers?: pulumi.Input[]>; /** @@ -115,7 +117,7 @@ export interface DnsState { */ numberOfDots?: pulumi.Input; /** - * Specify what domains you want to search + * Specifies the domains that the system searches for local domain lookups, to resolve local host names. */ searches?: pulumi.Input[]>; } @@ -129,15 +131,15 @@ export interface DnsArgs { */ description: pulumi.Input; /** - * Name or IP address of the DNS server + * Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. */ - nameServers?: pulumi.Input[]>; + nameServers: pulumi.Input[]>; /** * Configures the number of dots needed in a name before an initial absolute query will be made. */ numberOfDots?: pulumi.Input; /** - * Specify what domains you want to search + * Specifies the domains that the system searches for local domain lookups, to resolve local host names. */ searches?: pulumi.Input[]>; } diff --git a/sdk/nodejs/sys/iapp.ts b/sdk/nodejs/sys/iapp.ts index a1ab8256..dab5c87b 100644 --- a/sdk/nodejs/sys/iapp.ts +++ b/sdk/nodejs/sys/iapp.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** diff --git a/sdk/nodejs/sys/index.ts b/sdk/nodejs/sys/index.ts index 349407cd..365a4f89 100644 --- a/sdk/nodejs/sys/index.ts +++ b/sdk/nodejs/sys/index.ts @@ -5,22 +5,41 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: -export * from "./bigIpLicense"; -export * from "./dns"; -export * from "./iapp"; -export * from "./ntp"; -export * from "./provision"; -export * from "./snmp"; -export * from "./snmpTraps"; - -// Import resources to register: -import { BigIpLicense } from "./bigIpLicense"; -import { Dns } from "./dns"; -import { IApp } from "./iapp"; -import { Ntp } from "./ntp"; -import { Provision } from "./provision"; -import { Snmp } from "./snmp"; -import { SnmpTraps } from "./snmpTraps"; +export { BigIpLicenseArgs, BigIpLicenseState } from "./bigIpLicense"; +export type BigIpLicense = import("./bigIpLicense").BigIpLicense; +export const BigIpLicense: typeof import("./bigIpLicense").BigIpLicense = null as any; +utilities.lazyLoad(exports, ["BigIpLicense"], () => require("./bigIpLicense")); + +export { DnsArgs, DnsState } from "./dns"; +export type Dns = import("./dns").Dns; +export const Dns: typeof import("./dns").Dns = null as any; +utilities.lazyLoad(exports, ["Dns"], () => require("./dns")); + +export { IAppArgs, IAppState } from "./iapp"; +export type IApp = import("./iapp").IApp; +export const IApp: typeof import("./iapp").IApp = null as any; +utilities.lazyLoad(exports, ["IApp"], () => require("./iapp")); + +export { NtpArgs, NtpState } from "./ntp"; +export type Ntp = import("./ntp").Ntp; +export const Ntp: typeof import("./ntp").Ntp = null as any; +utilities.lazyLoad(exports, ["Ntp"], () => require("./ntp")); + +export { ProvisionArgs, ProvisionState } from "./provision"; +export type Provision = import("./provision").Provision; +export const Provision: typeof import("./provision").Provision = null as any; +utilities.lazyLoad(exports, ["Provision"], () => require("./provision")); + +export { SnmpArgs, SnmpState } from "./snmp"; +export type Snmp = import("./snmp").Snmp; +export const Snmp: typeof import("./snmp").Snmp = null as any; +utilities.lazyLoad(exports, ["Snmp"], () => require("./snmp")); + +export { SnmpTrapsArgs, SnmpTrapsState } from "./snmpTraps"; +export type SnmpTraps = import("./snmpTraps").SnmpTraps; +export const SnmpTraps: typeof import("./snmpTraps").SnmpTraps = null as any; +utilities.lazyLoad(exports, ["SnmpTraps"], () => require("./snmpTraps")); + const _module = { version: utilities.getVersion(), diff --git a/sdk/nodejs/sys/ntp.ts b/sdk/nodejs/sys/ntp.ts index 48c5e180..8715841e 100644 --- a/sdk/nodejs/sys/ntp.ts +++ b/sdk/nodejs/sys/ntp.ts @@ -5,9 +5,8 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * `f5bigip.sys.Ntp` provides details about a specific bigip + * `f5bigip.sys.Ntp` resource is helpful when configuring NTP server on the BIG-IP. * - * This resource is helpful when configuring NTP server on the BIG-IP. * ## Example Usage * * ```typescript @@ -50,13 +49,13 @@ export class Ntp extends pulumi.CustomResource { } /** - * Name of the ntp Servers + * User defined description. */ public readonly description!: pulumi.Output; /** - * Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * Specifies the time servers that the system uses to update the system time. */ - public readonly servers!: pulumi.Output; + public readonly servers!: pulumi.Output; /** * Specifies the time zone that you want to use for the system time. */ @@ -83,6 +82,9 @@ export class Ntp extends pulumi.CustomResource { if ((!args || args.description === undefined) && !opts.urn) { throw new Error("Missing required property 'description'"); } + if ((!args || args.servers === undefined) && !opts.urn) { + throw new Error("Missing required property 'servers'"); + } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["servers"] = args ? args.servers : undefined; resourceInputs["timezone"] = args ? args.timezone : undefined; @@ -97,11 +99,11 @@ export class Ntp extends pulumi.CustomResource { */ export interface NtpState { /** - * Name of the ntp Servers + * User defined description. */ description?: pulumi.Input; /** - * Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * Specifies the time servers that the system uses to update the system time. */ servers?: pulumi.Input[]>; /** @@ -115,13 +117,13 @@ export interface NtpState { */ export interface NtpArgs { /** - * Name of the ntp Servers + * User defined description. */ description: pulumi.Input; /** - * Adds NTP servers to or deletes NTP servers from the BIG-IP system. + * Specifies the time servers that the system uses to update the system time. */ - servers?: pulumi.Input[]>; + servers: pulumi.Input[]>; /** * Specifies the time zone that you want to use for the system time. */ diff --git a/sdk/nodejs/sys/snmpTraps.ts b/sdk/nodejs/sys/snmpTraps.ts index b3a4948b..4d073590 100644 --- a/sdk/nodejs/sys/snmpTraps.ts +++ b/sdk/nodejs/sys/snmpTraps.ts @@ -12,7 +12,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as f5bigip from "@pulumi/f5bigip"; * - * const snmpTraps = new f5bigip.sys.SnmpTraps("snmp_traps", { + * const snmpTraps = new f5bigip.sys.SnmpTraps("snmpTraps", { * community: "f5community", * description: "Setup snmp traps", * host: "195.10.10.1", diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index fa88c5dc..f14a36c6 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -29,6 +29,7 @@ "fastHttpsApp.ts", "fastTcpApp.ts", "fastTemplate.ts", + "fastUdpApp.ts", "index.ts", "ipsecPolicy.ts", "ipsecProfile.ts", @@ -94,6 +95,8 @@ "types/input.ts", "types/output.ts", "utilities.ts", + "vcmp/guest.ts", + "vcmp/index.ts", "wafPolicy.ts" ] } diff --git a/sdk/nodejs/types/index.ts b/sdk/nodejs/types/index.ts index a6057c6f..c7b9909c 100644 --- a/sdk/nodejs/types/index.ts +++ b/sdk/nodejs/types/index.ts @@ -1,6 +1,8 @@ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** +import * as utilities from "../utilities"; + // Export sub-modules: import * as input from "./input"; import * as output from "./output"; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index c2222fa1..734074e3 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; export interface EventServiceDiscoveryNode { id?: pulumi.Input; @@ -10,7 +11,7 @@ export interface EventServiceDiscoveryNode { port?: pulumi.Input; } -export interface FastHttpAppFastCreateMonitor { +export interface FastHttpAppMonitor { /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. */ @@ -37,7 +38,7 @@ export interface FastHttpAppFastCreateMonitor { username?: pulumi.Input; } -export interface FastHttpAppFastCreatePoolMember { +export interface FastHttpAppPoolMember { /** * List of server address to be used for FAST-Generated Pool. */ @@ -66,23 +67,19 @@ export interface FastHttpAppVirtualServer { */ ip: pulumi.Input; /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application */ port: pulumi.Input; } -export interface FastHttpsAppCreateTlsServerProfile { +export interface FastHttpAppWafSecurityPolicy { /** - * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. - */ - tlsCertName: pulumi.Input; - /** - * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + * Setting `true` will enable FAST to create WAF Security Policy. */ - tlsKeyName: pulumi.Input; + enable: pulumi.Input; } -export interface FastHttpsAppFastCreateMonitor { +export interface FastHttpsAppMonitor { /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. */ @@ -109,7 +106,7 @@ export interface FastHttpsAppFastCreateMonitor { username?: pulumi.Input; } -export interface FastHttpsAppFastCreatePoolMember { +export interface FastHttpsAppPoolMember { /** * List of server address to be used for FAST-Generated Pool. */ @@ -132,25 +129,54 @@ export interface FastHttpsAppFastCreatePoolMember { shareNodes?: pulumi.Input; } +export interface FastHttpsAppTlsClientProfile { + /** + * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + */ + tlsCertName: pulumi.Input; + /** + * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + */ + tlsKeyName: pulumi.Input; +} + +export interface FastHttpsAppTlsServerProfile { + /** + * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + */ + tlsCertName: pulumi.Input; + /** + * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + */ + tlsKeyName: pulumi.Input; +} + export interface FastHttpsAppVirtualServer { /** * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` */ ip: pulumi.Input; /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application */ port: pulumi.Input; } -export interface FastTcpAppFastCreateMonitor { +export interface FastHttpsAppWafSecurityPolicy { + /** + * Setting `true` will enable FAST to create WAF Security Policy. + */ + enable: pulumi.Input; +} + +export interface FastTcpAppMonitor { /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. */ interval?: pulumi.Input; } -export interface FastTcpAppFastCreatePoolMember { +export interface FastTcpAppPoolMember { /** * List of server address to be used for FAST-Generated Pool. */ @@ -179,7 +205,56 @@ export interface FastTcpAppVirtualServer { */ ip: pulumi.Input; /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application + */ + port: pulumi.Input; +} + +export interface FastUdpAppMonitor { + /** + * The presence of this optional string is required in the response, if specified it confirms availability. + */ + expectedResponse?: pulumi.Input; + /** + * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + */ + interval?: pulumi.Input; + /** + * Optional data to be sent during each health check. + */ + sendString?: pulumi.Input; +} + +export interface FastUdpAppPoolMember { + /** + * List of server address to be used for FAST-Generated Pool. + */ + addresses: pulumi.Input[]>; + /** + * connectionLimit value to be used for FAST-Generated Pool. + */ + connectionLimit?: pulumi.Input; + /** + * port number of serviceport to be used for FAST-Generated Pool. + */ + port?: pulumi.Input; + /** + * priorityGroup value to be used for FAST-Generated Pool. + */ + priorityGroup?: pulumi.Input; + /** + * shareNodes value to be used for FAST-Generated Pool. + */ + shareNodes?: pulumi.Input; +} + +export interface FastUdpAppVirtualServer { + /** + * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + */ + ip: pulumi.Input; + /** + * Port number to used for accessing virtual server/application */ port: pulumi.Input; } @@ -235,66 +310,66 @@ export namespace ltm { name: pulumi.Input; } - export interface GetDataGroupRecordArgs { - data?: pulumi.Input; + export interface GetDataGroupRecord { + data?: string; /** * Name of the datagroup */ - name: pulumi.Input; + name: string; } - export interface GetDataGroupRecord { - data?: string; + export interface GetDataGroupRecordArgs { + data?: pulumi.Input; /** * Name of the datagroup */ - name: string; + name: pulumi.Input; } - export interface GetNodeFqdnArgs { + export interface GetNodeFqdn { /** * The FQDN node's address family. */ - addressFamily?: pulumi.Input; + addressFamily?: string; /** * Specifies if the node should scale to the IP address set returned by DNS. */ - autopopulate?: pulumi.Input; + autopopulate?: string; /** * The number of attempts to resolve a domain name. */ - downinterval?: pulumi.Input; + downinterval?: number; /** * The amount of time before sending the next DNS query. */ - interval?: pulumi.Input; + interval?: string; /** * Name of the node. */ - name?: pulumi.Input; + name?: string; } - export interface GetNodeFqdn { + export interface GetNodeFqdnArgs { /** * The FQDN node's address family. */ - addressFamily?: string; + addressFamily?: pulumi.Input; /** * Specifies if the node should scale to the IP address set returned by DNS. */ - autopopulate?: string; + autopopulate?: pulumi.Input; /** * The number of attempts to resolve a domain name. */ - downinterval?: number; + downinterval?: pulumi.Input; /** * The amount of time before sending the next DNS query. */ - interval?: string; + interval?: pulumi.Input; /** * Name of the node. */ - name?: string; + name?: pulumi.Input; } export interface GetPolicyRule { @@ -547,6 +622,7 @@ export namespace ltm { countryCode?: boolean; countryName?: boolean; cpuUsage?: boolean; + datagroup?: string; deviceMake?: boolean; deviceModel?: boolean; domain?: boolean; @@ -640,6 +716,7 @@ export namespace ltm { countryCode?: pulumi.Input; countryName?: pulumi.Input; cpuUsage?: pulumi.Input; + datagroup?: pulumi.Input; deviceMake?: pulumi.Input; deviceModel?: pulumi.Input; domain?: pulumi.Input; @@ -733,10 +810,16 @@ export namespace ltm { } export interface PolicyRule { + /** + * Block type. See action block for more details. + */ actions?: pulumi.Input[]>; + /** + * Block type. See condition block for more details. + */ conditions?: pulumi.Input[]>; /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. */ name: pulumi.Input; } @@ -867,6 +950,7 @@ export namespace ltm { caseSensitive?: pulumi.Input; cipher?: pulumi.Input; cipherBits?: pulumi.Input; + clientAccepted?: pulumi.Input; clientSsl?: pulumi.Input; code?: pulumi.Input; commonName?: pulumi.Input; @@ -875,6 +959,7 @@ export namespace ltm { countryCode?: pulumi.Input; countryName?: pulumi.Input; cpuUsage?: pulumi.Input; + datagroup?: pulumi.Input; deviceMake?: pulumi.Input; deviceModel?: pulumi.Input; domain?: pulumi.Input; @@ -978,7 +1063,6 @@ export namespace ltm { */ name?: pulumi.Input; } - } export namespace net { @@ -995,6 +1079,20 @@ export namespace net { } export namespace ssl { + export interface GetWafEntityParameterUrl { + method: string; + name: string; + protocol: string; + type: string; + } + + export interface GetWafEntityParameterUrlArgs { + method: pulumi.Input; + name: pulumi.Input; + protocol: pulumi.Input; + type: pulumi.Input; + } + export interface GetWafEntityUrlMethodOverride { /** * Specifies that the system allows or disallows a method for this URL diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index c8da4c89..6d5ade1e 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "../types"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; export interface EventServiceDiscoveryNode { id?: string; @@ -10,7 +11,7 @@ export interface EventServiceDiscoveryNode { port?: number; } -export interface FastHttpAppFastCreateMonitor { +export interface FastHttpAppMonitor { /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. */ @@ -37,7 +38,7 @@ export interface FastHttpAppFastCreateMonitor { username?: string; } -export interface FastHttpAppFastCreatePoolMember { +export interface FastHttpAppPoolMember { /** * List of server address to be used for FAST-Generated Pool. */ @@ -66,23 +67,19 @@ export interface FastHttpAppVirtualServer { */ ip: string; /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application */ port: number; } -export interface FastHttpsAppCreateTlsServerProfile { +export interface FastHttpAppWafSecurityPolicy { /** - * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. - */ - tlsCertName: string; - /** - * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + * Setting `true` will enable FAST to create WAF Security Policy. */ - tlsKeyName: string; + enable: boolean; } -export interface FastHttpsAppFastCreateMonitor { +export interface FastHttpsAppMonitor { /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. */ @@ -109,7 +106,7 @@ export interface FastHttpsAppFastCreateMonitor { username?: string; } -export interface FastHttpsAppFastCreatePoolMember { +export interface FastHttpsAppPoolMember { /** * List of server address to be used for FAST-Generated Pool. */ @@ -132,25 +129,54 @@ export interface FastHttpsAppFastCreatePoolMember { shareNodes?: boolean; } +export interface FastHttpsAppTlsClientProfile { + /** + * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + */ + tlsCertName: string; + /** + * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + */ + tlsKeyName: string; +} + +export interface FastHttpsAppTlsServerProfile { + /** + * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + */ + tlsCertName: string; + /** + * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + */ + tlsKeyName: string; +} + export interface FastHttpsAppVirtualServer { /** * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` */ ip: string; /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application */ port: number; } -export interface FastTcpAppFastCreateMonitor { +export interface FastHttpsAppWafSecurityPolicy { + /** + * Setting `true` will enable FAST to create WAF Security Policy. + */ + enable: boolean; +} + +export interface FastTcpAppMonitor { /** * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. */ interval?: number; } -export interface FastTcpAppFastCreatePoolMember { +export interface FastTcpAppPoolMember { /** * List of server address to be used for FAST-Generated Pool. */ @@ -179,7 +205,56 @@ export interface FastTcpAppVirtualServer { */ ip: string; /** - * -(Optional , `int`) Port number to used for accessing virtual server/application + * Port number to used for accessing virtual server/application + */ + port: number; +} + +export interface FastUdpAppMonitor { + /** + * The presence of this optional string is required in the response, if specified it confirms availability. + */ + expectedResponse?: string; + /** + * Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + */ + interval?: number; + /** + * Optional data to be sent during each health check. + */ + sendString?: string; +} + +export interface FastUdpAppPoolMember { + /** + * List of server address to be used for FAST-Generated Pool. + */ + addresses: string[]; + /** + * connectionLimit value to be used for FAST-Generated Pool. + */ + connectionLimit?: number; + /** + * port number of serviceport to be used for FAST-Generated Pool. + */ + port?: number; + /** + * priorityGroup value to be used for FAST-Generated Pool. + */ + priorityGroup?: number; + /** + * shareNodes value to be used for FAST-Generated Pool. + */ + shareNodes?: boolean; +} + +export interface FastUdpAppVirtualServer { + /** + * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + */ + ip: string; + /** + * Port number to used for accessing virtual server/application */ port: number; } @@ -402,6 +477,7 @@ export namespace ltm { countryCode: boolean; countryName: boolean; cpuUsage: boolean; + datagroup: string; deviceMake: boolean; deviceModel: boolean; domain: boolean; @@ -495,10 +571,16 @@ export namespace ltm { } export interface PolicyRule { + /** + * Block type. See action block for more details. + */ actions?: outputs.ltm.PolicyRuleAction[]; + /** + * Block type. See condition block for more details. + */ conditions?: outputs.ltm.PolicyRuleCondition[]; /** - * Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + * Name of Rule to be applied in policy. */ name: string; } @@ -629,6 +711,7 @@ export namespace ltm { caseSensitive: boolean; cipher: boolean; cipherBits: boolean; + clientAccepted: boolean; clientSsl: boolean; code: boolean; commonName: boolean; @@ -637,6 +720,7 @@ export namespace ltm { countryCode: boolean; countryName: boolean; cpuUsage: boolean; + datagroup?: string; deviceMake: boolean; deviceModel: boolean; domain: boolean; @@ -730,7 +814,7 @@ export namespace ltm { * 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`. */ name?: string; - passphrase?: string; + passphrase: string; } export interface SnatOrigin { @@ -740,6 +824,7 @@ export namespace ltm { */ name?: string; } + } export namespace net { @@ -757,6 +842,13 @@ export namespace net { } export namespace ssl { + export interface GetWafEntityParameterUrl { + method: string; + name: string; + protocol: string; + type: string; + } + export interface GetWafEntityUrlMethodOverride { /** * Specifies that the system allows or disallows a method for this URL diff --git a/sdk/nodejs/utilities.ts b/sdk/nodejs/utilities.ts index 4c60e03f..2580a644 100644 --- a/sdk/nodejs/utilities.ts +++ b/sdk/nodejs/utilities.ts @@ -52,3 +52,15 @@ export function getVersion(): string { export function resourceOptsDefaults(): any { return { version: getVersion() }; } + +/** @internal */ +export function lazyLoad(exports: any, props: string[], loadModule: any) { + for (let property of props) { + Object.defineProperty(exports, property, { + enumerable: true, + get: function() { + return loadModule()[property]; + }, + }); + } +} diff --git a/sdk/nodejs/vcmp/guest.ts b/sdk/nodejs/vcmp/guest.ts new file mode 100644 index 00000000..0fdd5a55 --- /dev/null +++ b/sdk/nodejs/vcmp/guest.ts @@ -0,0 +1,296 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * `f5bigip.vcmp.Guest` Manages a vCMP guest configuration + * + * Resource does not wait for vCMP guest to reach the desired state, it only ensures that a desired configuration is set on the target device. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as f5bigip from "@pulumi/f5bigip"; + * + * const vcmp_test = new f5bigip.vcmp.Guest("vcmp-test", { + * coresPerSlot: 2, + * initialImage: "12.1.2.iso", + * mgmtAddress: "10.1.1.1/24", + * mgmtNetwork: "bridged", + * mgmtRoute: "none", + * minNumberOfSlots: 1, + * name: "tf_guest", + * numberOfSlots: 1, + * state: "provisioned", + * }); + * ``` + */ +export class Guest extends pulumi.CustomResource { + /** + * Get an existing Guest resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: GuestState, opts?: pulumi.CustomResourceOptions): Guest { + return new Guest(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'f5bigip:vcmp/guest:Guest'; + + /** + * Returns true if the given object is an instance of Guest. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Guest { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Guest.__pulumiType; + } + + /** + * Contains those slots to which the guest is allowed to be assigned. + */ + public readonly allowedSlots!: pulumi.Output; + /** + * Specifies the number of cores the system allocates to the guest. + */ + public readonly coresPerSlot!: pulumi.Output; + /** + * Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + */ + public readonly deleteVirtualDisk!: pulumi.Output; + /** + * Resource name including prepended partition path. + */ + public /*out*/ readonly fullPath!: pulumi.Output; + /** + * Specifies the hotfix ISO image file which is applied on top of the base image. + */ + public readonly initialHotfix!: pulumi.Output; + /** + * Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + */ + public readonly initialImage!: pulumi.Output; + /** + * 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. + */ + public readonly mgmtAddress!: pulumi.Output; + /** + * Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + */ + public readonly mgmtNetwork!: pulumi.Output; + /** + * Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. + */ + public readonly mgmtRoute!: pulumi.Output; + /** + * Specifies the minimum number of slots the guest must be assigned to in order to deploy. + */ + public readonly minNumberOfSlots!: pulumi.Output; + /** + * Name of the vCMP guest + */ + public readonly name!: pulumi.Output; + /** + * Specifies the number of slots for the system to use when creating the guest. + */ + public readonly numberOfSlots!: pulumi.Output; + /** + * Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + */ + public readonly state!: pulumi.Output; + /** + * Virtual disk associated with vCMP guest. + */ + public /*out*/ readonly virtualDisk!: pulumi.Output; + /** + * 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 + */ + public readonly vlans!: pulumi.Output; + + /** + * Create a Guest resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: GuestArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: GuestArgs | GuestState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as GuestState | undefined; + resourceInputs["allowedSlots"] = state ? state.allowedSlots : undefined; + resourceInputs["coresPerSlot"] = state ? state.coresPerSlot : undefined; + resourceInputs["deleteVirtualDisk"] = state ? state.deleteVirtualDisk : undefined; + resourceInputs["fullPath"] = state ? state.fullPath : undefined; + resourceInputs["initialHotfix"] = state ? state.initialHotfix : undefined; + resourceInputs["initialImage"] = state ? state.initialImage : undefined; + resourceInputs["mgmtAddress"] = state ? state.mgmtAddress : undefined; + resourceInputs["mgmtNetwork"] = state ? state.mgmtNetwork : undefined; + resourceInputs["mgmtRoute"] = state ? state.mgmtRoute : undefined; + resourceInputs["minNumberOfSlots"] = state ? state.minNumberOfSlots : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["numberOfSlots"] = state ? state.numberOfSlots : undefined; + resourceInputs["state"] = state ? state.state : undefined; + resourceInputs["virtualDisk"] = state ? state.virtualDisk : undefined; + resourceInputs["vlans"] = state ? state.vlans : undefined; + } else { + const args = argsOrState as GuestArgs | undefined; + if ((!args || args.name === undefined) && !opts.urn) { + throw new Error("Missing required property 'name'"); + } + resourceInputs["allowedSlots"] = args ? args.allowedSlots : undefined; + resourceInputs["coresPerSlot"] = args ? args.coresPerSlot : undefined; + resourceInputs["deleteVirtualDisk"] = args ? args.deleteVirtualDisk : undefined; + resourceInputs["initialHotfix"] = args ? args.initialHotfix : undefined; + resourceInputs["initialImage"] = args ? args.initialImage : undefined; + resourceInputs["mgmtAddress"] = args ? args.mgmtAddress : undefined; + resourceInputs["mgmtNetwork"] = args ? args.mgmtNetwork : undefined; + resourceInputs["mgmtRoute"] = args ? args.mgmtRoute : undefined; + resourceInputs["minNumberOfSlots"] = args ? args.minNumberOfSlots : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["numberOfSlots"] = args ? args.numberOfSlots : undefined; + resourceInputs["state"] = args ? args.state : undefined; + resourceInputs["vlans"] = args ? args.vlans : undefined; + resourceInputs["fullPath"] = undefined /*out*/; + resourceInputs["virtualDisk"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Guest.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Guest resources. + */ +export interface GuestState { + /** + * Contains those slots to which the guest is allowed to be assigned. + */ + allowedSlots?: pulumi.Input[]>; + /** + * Specifies the number of cores the system allocates to the guest. + */ + coresPerSlot?: pulumi.Input; + /** + * Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + */ + deleteVirtualDisk?: pulumi.Input; + /** + * Resource name including prepended partition path. + */ + fullPath?: pulumi.Input; + /** + * Specifies the hotfix ISO image file which is applied on top of the base image. + */ + initialHotfix?: pulumi.Input; + /** + * Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + */ + initialImage?: pulumi.Input; + /** + * 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. + */ + mgmtAddress?: pulumi.Input; + /** + * Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + */ + mgmtNetwork?: pulumi.Input; + /** + * Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. + */ + mgmtRoute?: pulumi.Input; + /** + * Specifies the minimum number of slots the guest must be assigned to in order to deploy. + */ + minNumberOfSlots?: pulumi.Input; + /** + * Name of the vCMP guest + */ + name?: pulumi.Input; + /** + * Specifies the number of slots for the system to use when creating the guest. + */ + numberOfSlots?: pulumi.Input; + /** + * Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + */ + state?: pulumi.Input; + /** + * Virtual disk associated with vCMP guest. + */ + virtualDisk?: pulumi.Input; + /** + * 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 + */ + vlans?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a Guest resource. + */ +export interface GuestArgs { + /** + * Contains those slots to which the guest is allowed to be assigned. + */ + allowedSlots?: pulumi.Input[]>; + /** + * Specifies the number of cores the system allocates to the guest. + */ + coresPerSlot?: pulumi.Input; + /** + * Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + */ + deleteVirtualDisk?: pulumi.Input; + /** + * Specifies the hotfix ISO image file which is applied on top of the base image. + */ + initialHotfix?: pulumi.Input; + /** + * Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + */ + initialImage?: pulumi.Input; + /** + * 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. + */ + mgmtAddress?: pulumi.Input; + /** + * Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + */ + mgmtNetwork?: pulumi.Input; + /** + * Specifies the gateway address for the `mgmtAddress`. Can be set to `none` to remove the value from the configuration. + */ + mgmtRoute?: pulumi.Input; + /** + * Specifies the minimum number of slots the guest must be assigned to in order to deploy. + */ + minNumberOfSlots?: pulumi.Input; + /** + * Name of the vCMP guest + */ + name: pulumi.Input; + /** + * Specifies the number of slots for the system to use when creating the guest. + */ + numberOfSlots?: pulumi.Input; + /** + * Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + */ + state?: pulumi.Input; + /** + * 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 + */ + vlans?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/vcmp/index.ts b/sdk/nodejs/vcmp/index.ts new file mode 100644 index 00000000..c2c8f8e3 --- /dev/null +++ b/sdk/nodejs/vcmp/index.ts @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { GuestArgs, GuestState } from "./guest"; +export type Guest = import("./guest").Guest; +export const Guest: typeof import("./guest").Guest = null as any; +utilities.lazyLoad(exports, ["Guest"], () => require("./guest")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "f5bigip:vcmp/guest:Guest": + return new Guest(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("f5bigip", "vcmp/guest", _module) diff --git a/sdk/nodejs/wafPolicy.ts b/sdk/nodejs/wafPolicy.ts index 3adfe39a..3d26b366 100644 --- a/sdk/nodejs/wafPolicy.ts +++ b/sdk/nodejs/wafPolicy.ts @@ -2,7 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import { input as inputs, output as outputs } from "./types"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** @@ -11,6 +12,8 @@ import * as utilities from "./utilities"; * * * [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html) * + * > **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned. + * * ## Example Usage * * ```typescript @@ -154,7 +157,7 @@ export class WafPolicy extends pulumi.CustomResource { /** * Exported WAF policy deployed on BIGIP. */ - public readonly policyExportJson!: pulumi.Output; + public /*out*/ readonly policyExportJson!: pulumi.Output; /** * The id of the A.WAF Policy as it would be calculated on the BIG-IP. */ @@ -254,7 +257,6 @@ export class WafPolicy extends pulumi.CustomResource { resourceInputs["parameters"] = args ? args.parameters : undefined; resourceInputs["partition"] = args ? args.partition : undefined; resourceInputs["policyBuilders"] = args ? args.policyBuilders : undefined; - resourceInputs["policyExportJson"] = args ? args.policyExportJson : undefined; resourceInputs["policyId"] = args ? args.policyId : undefined; resourceInputs["policyImportJson"] = args ? args.policyImportJson : undefined; resourceInputs["protocolIndependent"] = args ? args.protocolIndependent : undefined; @@ -265,6 +267,7 @@ export class WafPolicy extends pulumi.CustomResource { resourceInputs["templateName"] = args ? args.templateName : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["urls"] = args ? args.urls : undefined; + resourceInputs["policyExportJson"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(WafPolicy.__pulumiType, name, resourceInputs, opts); @@ -439,10 +442,6 @@ export interface WafPolicyArgs { * See policy builder below for more details. */ policyBuilders?: pulumi.Input[]>; - /** - * Exported WAF policy deployed on BIGIP. - */ - policyExportJson?: pulumi.Input; /** * The id of the A.WAF Policy as it would be calculated on the BIG-IP. */ diff --git a/sdk/python/pulumi_f5bigip/__init__.py b/sdk/python/pulumi_f5bigip/__init__.py index 507c4759..ff4dcf68 100644 --- a/sdk/python/pulumi_f5bigip/__init__.py +++ b/sdk/python/pulumi_f5bigip/__init__.py @@ -16,6 +16,7 @@ from .fast_https_app import * from .fast_tcp_app import * from .fast_template import * +from .fast_udp_app import * from .ipsec_policy import * from .ipsec_profile import * from .net_ike_peer import * @@ -40,6 +41,8 @@ ssl = __ssl import pulumi_f5bigip.sys as __sys sys = __sys + import pulumi_f5bigip.vcmp as __vcmp + vcmp = __vcmp else: cm = _utilities.lazy_import('pulumi_f5bigip.cm') config = _utilities.lazy_import('pulumi_f5bigip.config') @@ -47,6 +50,7 @@ net = _utilities.lazy_import('pulumi_f5bigip.net') ssl = _utilities.lazy_import('pulumi_f5bigip.ssl') sys = _utilities.lazy_import('pulumi_f5bigip.sys') + vcmp = _utilities.lazy_import('pulumi_f5bigip.vcmp') _utilities.register( resource_modules=""" @@ -155,6 +159,14 @@ "f5bigip:index/fastTemplate:FastTemplate": "FastTemplate" } }, + { + "pkg": "f5bigip", + "mod": "index/fastUdpApp", + "fqn": "pulumi_f5bigip", + "classes": { + "f5bigip:index/fastUdpApp:FastUdpApp": "FastUdpApp" + } + }, { "pkg": "f5bigip", "mod": "index/ipsecPolicy", @@ -498,6 +510,14 @@ "classes": { "f5bigip:sys/snmpTraps:SnmpTraps": "SnmpTraps" } + }, + { + "pkg": "f5bigip", + "mod": "vcmp/guest", + "fqn": "pulumi_f5bigip.vcmp", + "classes": { + "f5bigip:vcmp/guest:Guest": "Guest" + } } ] """, diff --git a/sdk/python/pulumi_f5bigip/_inputs.py b/sdk/python/pulumi_f5bigip/_inputs.py index fe905e15..226fd415 100644 --- a/sdk/python/pulumi_f5bigip/_inputs.py +++ b/sdk/python/pulumi_f5bigip/_inputs.py @@ -11,16 +11,22 @@ __all__ = [ 'EventServiceDiscoveryNodeArgs', - 'FastHttpAppFastCreateMonitorArgs', - 'FastHttpAppFastCreatePoolMemberArgs', + 'FastHttpAppMonitorArgs', + 'FastHttpAppPoolMemberArgs', 'FastHttpAppVirtualServerArgs', - 'FastHttpsAppCreateTlsServerProfileArgs', - 'FastHttpsAppFastCreateMonitorArgs', - 'FastHttpsAppFastCreatePoolMemberArgs', + 'FastHttpAppWafSecurityPolicyArgs', + 'FastHttpsAppMonitorArgs', + 'FastHttpsAppPoolMemberArgs', + 'FastHttpsAppTlsClientProfileArgs', + 'FastHttpsAppTlsServerProfileArgs', 'FastHttpsAppVirtualServerArgs', - 'FastTcpAppFastCreateMonitorArgs', - 'FastTcpAppFastCreatePoolMemberArgs', + 'FastHttpsAppWafSecurityPolicyArgs', + 'FastTcpAppMonitorArgs', + 'FastTcpAppPoolMemberArgs', 'FastTcpAppVirtualServerArgs', + 'FastUdpAppMonitorArgs', + 'FastUdpAppPoolMemberArgs', + 'FastUdpAppVirtualServerArgs', 'WafPolicyFileTypeArgs', 'WafPolicyGraphqlProfileArgs', 'WafPolicyPolicyBuilderArgs', @@ -69,7 +75,7 @@ def port(self, value: Optional[pulumi.Input[int]]): @pulumi.input_type -class FastHttpAppFastCreateMonitorArgs: +class FastHttpAppMonitorArgs: def __init__(__self__, *, interval: Optional[pulumi.Input[int]] = None, monitor_auth: Optional[pulumi.Input[bool]] = None, @@ -172,7 +178,7 @@ def username(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class FastHttpAppFastCreatePoolMemberArgs: +class FastHttpAppPoolMemberArgs: def __init__(__self__, *, addresses: pulumi.Input[Sequence[pulumi.Input[str]]], connection_limit: Optional[pulumi.Input[int]] = None, @@ -264,7 +270,7 @@ def __init__(__self__, *, port: pulumi.Input[int]): """ :param pulumi.Input[str] ip: IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` - :param pulumi.Input[int] port: -(Optional , `int`) Port number to used for accessing virtual server/application + :param pulumi.Input[int] port: Port number to used for accessing virtual server/application """ pulumi.set(__self__, "ip", ip) pulumi.set(__self__, "port", port) @@ -285,7 +291,7 @@ def ip(self, value: pulumi.Input[str]): @pulumi.getter def port(self) -> pulumi.Input[int]: """ - -(Optional , `int`) Port number to used for accessing virtual server/application + Port number to used for accessing virtual server/application """ return pulumi.get(self, "port") @@ -295,44 +301,29 @@ def port(self, value: pulumi.Input[int]): @pulumi.input_type -class FastHttpsAppCreateTlsServerProfileArgs: +class FastHttpAppWafSecurityPolicyArgs: def __init__(__self__, *, - tls_cert_name: pulumi.Input[str], - tls_key_name: pulumi.Input[str]): + enable: pulumi.Input[bool]): """ - :param pulumi.Input[str] tls_cert_name: Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. - :param pulumi.Input[str] tls_key_name: Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + :param pulumi.Input[bool] enable: Setting `true` will enable FAST to create WAF Security Policy. """ - pulumi.set(__self__, "tls_cert_name", tls_cert_name) - pulumi.set(__self__, "tls_key_name", tls_key_name) - - @property - @pulumi.getter(name="tlsCertName") - def tls_cert_name(self) -> pulumi.Input[str]: - """ - Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. - """ - return pulumi.get(self, "tls_cert_name") - - @tls_cert_name.setter - def tls_cert_name(self, value: pulumi.Input[str]): - pulumi.set(self, "tls_cert_name", value) + pulumi.set(__self__, "enable", enable) @property - @pulumi.getter(name="tlsKeyName") - def tls_key_name(self) -> pulumi.Input[str]: + @pulumi.getter + def enable(self) -> pulumi.Input[bool]: """ - Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + Setting `true` will enable FAST to create WAF Security Policy. """ - return pulumi.get(self, "tls_key_name") + return pulumi.get(self, "enable") - @tls_key_name.setter - def tls_key_name(self, value: pulumi.Input[str]): - pulumi.set(self, "tls_key_name", value) + @enable.setter + def enable(self, value: pulumi.Input[bool]): + pulumi.set(self, "enable", value) @pulumi.input_type -class FastHttpsAppFastCreateMonitorArgs: +class FastHttpsAppMonitorArgs: def __init__(__self__, *, interval: Optional[pulumi.Input[int]] = None, monitor_auth: Optional[pulumi.Input[bool]] = None, @@ -435,7 +426,7 @@ def username(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class FastHttpsAppFastCreatePoolMemberArgs: +class FastHttpsAppPoolMemberArgs: def __init__(__self__, *, addresses: pulumi.Input[Sequence[pulumi.Input[str]]], connection_limit: Optional[pulumi.Input[int]] = None, @@ -520,6 +511,80 @@ def share_nodes(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "share_nodes", value) +@pulumi.input_type +class FastHttpsAppTlsClientProfileArgs: + def __init__(__self__, *, + tls_cert_name: pulumi.Input[str], + tls_key_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] tls_cert_name: Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + :param pulumi.Input[str] tls_key_name: Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + """ + pulumi.set(__self__, "tls_cert_name", tls_cert_name) + pulumi.set(__self__, "tls_key_name", tls_key_name) + + @property + @pulumi.getter(name="tlsCertName") + def tls_cert_name(self) -> pulumi.Input[str]: + """ + Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + """ + return pulumi.get(self, "tls_cert_name") + + @tls_cert_name.setter + def tls_cert_name(self, value: pulumi.Input[str]): + pulumi.set(self, "tls_cert_name", value) + + @property + @pulumi.getter(name="tlsKeyName") + def tls_key_name(self) -> pulumi.Input[str]: + """ + Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + """ + return pulumi.get(self, "tls_key_name") + + @tls_key_name.setter + def tls_key_name(self, value: pulumi.Input[str]): + pulumi.set(self, "tls_key_name", value) + + +@pulumi.input_type +class FastHttpsAppTlsServerProfileArgs: + def __init__(__self__, *, + tls_cert_name: pulumi.Input[str], + tls_key_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] tls_cert_name: Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + :param pulumi.Input[str] tls_key_name: Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + """ + pulumi.set(__self__, "tls_cert_name", tls_cert_name) + pulumi.set(__self__, "tls_key_name", tls_key_name) + + @property + @pulumi.getter(name="tlsCertName") + def tls_cert_name(self) -> pulumi.Input[str]: + """ + Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + """ + return pulumi.get(self, "tls_cert_name") + + @tls_cert_name.setter + def tls_cert_name(self, value: pulumi.Input[str]): + pulumi.set(self, "tls_cert_name", value) + + @property + @pulumi.getter(name="tlsKeyName") + def tls_key_name(self) -> pulumi.Input[str]: + """ + Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + """ + return pulumi.get(self, "tls_key_name") + + @tls_key_name.setter + def tls_key_name(self, value: pulumi.Input[str]): + pulumi.set(self, "tls_key_name", value) + + @pulumi.input_type class FastHttpsAppVirtualServerArgs: def __init__(__self__, *, @@ -527,7 +592,7 @@ def __init__(__self__, *, port: pulumi.Input[int]): """ :param pulumi.Input[str] ip: IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` - :param pulumi.Input[int] port: -(Optional , `int`) Port number to used for accessing virtual server/application + :param pulumi.Input[int] port: Port number to used for accessing virtual server/application """ pulumi.set(__self__, "ip", ip) pulumi.set(__self__, "port", port) @@ -548,7 +613,7 @@ def ip(self, value: pulumi.Input[str]): @pulumi.getter def port(self) -> pulumi.Input[int]: """ - -(Optional , `int`) Port number to used for accessing virtual server/application + Port number to used for accessing virtual server/application """ return pulumi.get(self, "port") @@ -558,7 +623,29 @@ def port(self, value: pulumi.Input[int]): @pulumi.input_type -class FastTcpAppFastCreateMonitorArgs: +class FastHttpsAppWafSecurityPolicyArgs: + def __init__(__self__, *, + enable: pulumi.Input[bool]): + """ + :param pulumi.Input[bool] enable: Setting `true` will enable FAST to create WAF Security Policy. + """ + pulumi.set(__self__, "enable", enable) + + @property + @pulumi.getter + def enable(self) -> pulumi.Input[bool]: + """ + Setting `true` will enable FAST to create WAF Security Policy. + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: pulumi.Input[bool]): + pulumi.set(self, "enable", value) + + +@pulumi.input_type +class FastTcpAppMonitorArgs: def __init__(__self__, *, interval: Optional[pulumi.Input[int]] = None): """ @@ -581,7 +668,7 @@ def interval(self, value: Optional[pulumi.Input[int]]): @pulumi.input_type -class FastTcpAppFastCreatePoolMemberArgs: +class FastTcpAppPoolMemberArgs: def __init__(__self__, *, addresses: pulumi.Input[Sequence[pulumi.Input[str]]], connection_limit: Optional[pulumi.Input[int]] = None, @@ -673,7 +760,185 @@ def __init__(__self__, *, port: pulumi.Input[int]): """ :param pulumi.Input[str] ip: IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` - :param pulumi.Input[int] port: -(Optional , `int`) Port number to used for accessing virtual server/application + :param pulumi.Input[int] port: Port number to used for accessing virtual server/application + """ + pulumi.set(__self__, "ip", ip) + pulumi.set(__self__, "port", port) + + @property + @pulumi.getter + def ip(self) -> pulumi.Input[str]: + """ + IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + """ + return pulumi.get(self, "ip") + + @ip.setter + def ip(self, value: pulumi.Input[str]): + pulumi.set(self, "ip", value) + + @property + @pulumi.getter + def port(self) -> pulumi.Input[int]: + """ + Port number to used for accessing virtual server/application + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: pulumi.Input[int]): + pulumi.set(self, "port", value) + + +@pulumi.input_type +class FastUdpAppMonitorArgs: + def __init__(__self__, *, + expected_response: Optional[pulumi.Input[str]] = None, + interval: Optional[pulumi.Input[int]] = None, + send_string: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] expected_response: The presence of this optional string is required in the response, if specified it confirms availability. + :param pulumi.Input[int] interval: Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + :param pulumi.Input[str] send_string: Optional data to be sent during each health check. + """ + if expected_response is not None: + pulumi.set(__self__, "expected_response", expected_response) + if interval is not None: + pulumi.set(__self__, "interval", interval) + if send_string is not None: + pulumi.set(__self__, "send_string", send_string) + + @property + @pulumi.getter(name="expectedResponse") + def expected_response(self) -> Optional[pulumi.Input[str]]: + """ + The presence of this optional string is required in the response, if specified it confirms availability. + """ + return pulumi.get(self, "expected_response") + + @expected_response.setter + def expected_response(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expected_response", value) + + @property + @pulumi.getter + def interval(self) -> Optional[pulumi.Input[int]]: + """ + Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "interval", value) + + @property + @pulumi.getter(name="sendString") + def send_string(self) -> Optional[pulumi.Input[str]]: + """ + Optional data to be sent during each health check. + """ + return pulumi.get(self, "send_string") + + @send_string.setter + def send_string(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "send_string", value) + + +@pulumi.input_type +class FastUdpAppPoolMemberArgs: + def __init__(__self__, *, + addresses: pulumi.Input[Sequence[pulumi.Input[str]]], + connection_limit: Optional[pulumi.Input[int]] = None, + port: Optional[pulumi.Input[int]] = None, + priority_group: Optional[pulumi.Input[int]] = None, + share_nodes: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] addresses: List of server address to be used for FAST-Generated Pool. + :param pulumi.Input[int] connection_limit: connectionLimit value to be used for FAST-Generated Pool. + :param pulumi.Input[int] port: port number of serviceport to be used for FAST-Generated Pool. + :param pulumi.Input[int] priority_group: priorityGroup value to be used for FAST-Generated Pool. + :param pulumi.Input[bool] share_nodes: shareNodes value to be used for FAST-Generated Pool. + """ + pulumi.set(__self__, "addresses", addresses) + if connection_limit is not None: + pulumi.set(__self__, "connection_limit", connection_limit) + if port is not None: + pulumi.set(__self__, "port", port) + if priority_group is not None: + pulumi.set(__self__, "priority_group", priority_group) + if share_nodes is not None: + pulumi.set(__self__, "share_nodes", share_nodes) + + @property + @pulumi.getter + def addresses(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of server address to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "addresses") + + @addresses.setter + def addresses(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "addresses", value) + + @property + @pulumi.getter(name="connectionLimit") + def connection_limit(self) -> Optional[pulumi.Input[int]]: + """ + connectionLimit value to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "connection_limit") + + @connection_limit.setter + def connection_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "connection_limit", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + port number of serviceport to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter(name="priorityGroup") + def priority_group(self) -> Optional[pulumi.Input[int]]: + """ + priorityGroup value to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "priority_group") + + @priority_group.setter + def priority_group(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "priority_group", value) + + @property + @pulumi.getter(name="shareNodes") + def share_nodes(self) -> Optional[pulumi.Input[bool]]: + """ + shareNodes value to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "share_nodes") + + @share_nodes.setter + def share_nodes(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "share_nodes", value) + + +@pulumi.input_type +class FastUdpAppVirtualServerArgs: + def __init__(__self__, *, + ip: pulumi.Input[str], + port: pulumi.Input[int]): + """ + :param pulumi.Input[str] ip: IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + :param pulumi.Input[int] port: Port number to used for accessing virtual server/application """ pulumi.set(__self__, "ip", ip) pulumi.set(__self__, "port", port) @@ -694,7 +959,7 @@ def ip(self, value: pulumi.Input[str]): @pulumi.getter def port(self) -> pulumi.Input[int]: """ - -(Optional , `int`) Port number to used for accessing virtual server/application + Port number to used for accessing virtual server/application """ return pulumi.get(self, "port") diff --git a/sdk/python/pulumi_f5bigip/as3.py b/sdk/python/pulumi_f5bigip/as3.py index 1ca06da8..bda4f6a1 100644 --- a/sdk/python/pulumi_f5bigip/as3.py +++ b/sdk/python/pulumi_f5bigip/as3.py @@ -309,7 +309,7 @@ def __init__(__self__, bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! - Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { as3_json @@ -477,7 +477,7 @@ class = "Tenant" bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! - Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { as3_json @@ -784,7 +784,7 @@ def __init__(__self__, bigip_as3.testImporting from ID "Sample_http_01"... bigip_as3.testImport prepared! - Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { as3_json @@ -952,7 +952,7 @@ class = "Tenant" bigip_as3.testImporting from ID "Sample_http_01,Sample_non_http_01"... bigip_as3.testImport prepared! - Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show # bigip_as3.testresource "bigip_as3" "test" { + Prepared bigip_as3 for import bigip_as3.testRefreshing state... [id=Sample_http_01,Sample_non_http_01] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. $ terraform show bigip_as3.testresource "bigip_as3" "test" { as3_json diff --git a/sdk/python/pulumi_f5bigip/big_iq_as3.py b/sdk/python/pulumi_f5bigip/big_iq_as3.py index 3aa01f4f..0a1386c3 100644 --- a/sdk/python/pulumi_f5bigip/big_iq_as3.py +++ b/sdk/python/pulumi_f5bigip/big_iq_as3.py @@ -421,17 +421,19 @@ def _internal_init(__self__, if bigiq_address is None and not opts.urn: raise TypeError("Missing required property 'bigiq_address'") __props__.__dict__["bigiq_address"] = bigiq_address - __props__.__dict__["bigiq_login_ref"] = bigiq_login_ref + __props__.__dict__["bigiq_login_ref"] = None if bigiq_login_ref is None else pulumi.Output.secret(bigiq_login_ref) if bigiq_password is None and not opts.urn: raise TypeError("Missing required property 'bigiq_password'") - __props__.__dict__["bigiq_password"] = bigiq_password - __props__.__dict__["bigiq_port"] = bigiq_port - __props__.__dict__["bigiq_token_auth"] = bigiq_token_auth + __props__.__dict__["bigiq_password"] = None if bigiq_password is None else pulumi.Output.secret(bigiq_password) + __props__.__dict__["bigiq_port"] = None if bigiq_port is None else pulumi.Output.secret(bigiq_port) + __props__.__dict__["bigiq_token_auth"] = None if bigiq_token_auth is None else pulumi.Output.secret(bigiq_token_auth) if bigiq_user is None and not opts.urn: raise TypeError("Missing required property 'bigiq_user'") - __props__.__dict__["bigiq_user"] = bigiq_user + __props__.__dict__["bigiq_user"] = None if bigiq_user is None else pulumi.Output.secret(bigiq_user) __props__.__dict__["ignore_metadata"] = ignore_metadata __props__.__dict__["tenant_list"] = tenant_list + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["bigiqLoginRef", "bigiqPassword", "bigiqPort", "bigiqTokenAuth", "bigiqUser"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(BigIqAs3, __self__).__init__( 'f5bigip:index/bigIqAs3:BigIqAs3', resource_name, diff --git a/sdk/python/pulumi_f5bigip/common_license_manage_big_iq.py b/sdk/python/pulumi_f5bigip/common_license_manage_big_iq.py index 24db2ef7..ea718913 100644 --- a/sdk/python/pulumi_f5bigip/common_license_manage_big_iq.py +++ b/sdk/python/pulumi_f5bigip/common_license_manage_big_iq.py @@ -741,15 +741,15 @@ def _internal_init(__self__, if bigiq_address is None and not opts.urn: raise TypeError("Missing required property 'bigiq_address'") __props__.__dict__["bigiq_address"] = bigiq_address - __props__.__dict__["bigiq_login_ref"] = bigiq_login_ref + __props__.__dict__["bigiq_login_ref"] = None if bigiq_login_ref is None else pulumi.Output.secret(bigiq_login_ref) if bigiq_password is None and not opts.urn: raise TypeError("Missing required property 'bigiq_password'") - __props__.__dict__["bigiq_password"] = bigiq_password - __props__.__dict__["bigiq_port"] = bigiq_port - __props__.__dict__["bigiq_token_auth"] = bigiq_token_auth + __props__.__dict__["bigiq_password"] = None if bigiq_password is None else pulumi.Output.secret(bigiq_password) + __props__.__dict__["bigiq_port"] = None if bigiq_port is None else pulumi.Output.secret(bigiq_port) + __props__.__dict__["bigiq_token_auth"] = None if bigiq_token_auth is None else pulumi.Output.secret(bigiq_token_auth) if bigiq_user is None and not opts.urn: raise TypeError("Missing required property 'bigiq_user'") - __props__.__dict__["bigiq_user"] = bigiq_user + __props__.__dict__["bigiq_user"] = None if bigiq_user is None else pulumi.Output.secret(bigiq_user) __props__.__dict__["device_license_status"] = device_license_status __props__.__dict__["hypervisor"] = hypervisor __props__.__dict__["key"] = key @@ -761,6 +761,8 @@ def _internal_init(__self__, __props__.__dict__["skukeyword2"] = skukeyword2 __props__.__dict__["tenant"] = tenant __props__.__dict__["unit_of_measure"] = unit_of_measure + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["bigiqLoginRef", "bigiqPassword", "bigiqPort", "bigiqTokenAuth", "bigiqUser"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(CommonLicenseManageBigIq, __self__).__init__( 'f5bigip:index/commonLicenseManageBigIq:CommonLicenseManageBigIq', resource_name, diff --git a/sdk/python/pulumi_f5bigip/config/__init__.pyi b/sdk/python/pulumi_f5bigip/config/__init__.pyi index 6154068d..41d159d8 100644 --- a/sdk/python/pulumi_f5bigip/config/__init__.pyi +++ b/sdk/python/pulumi_f5bigip/config/__init__.pyi @@ -44,8 +44,18 @@ tokenValue: Optional[str] A token generated outside the provider, in place of password """ +trustedCertPath: Optional[str] +""" +Valid Trusted Certificate path +""" + username: Optional[str] """ Username with API access to the BigIP """ +validateCertsDisable: Optional[bool] +""" +If set to true, Disables TLS certificate check on BIG-IP. Default : True +""" + diff --git a/sdk/python/pulumi_f5bigip/config/vars.py b/sdk/python/pulumi_f5bigip/config/vars.py index 02458a3a..35f67426 100644 --- a/sdk/python/pulumi_f5bigip/config/vars.py +++ b/sdk/python/pulumi_f5bigip/config/vars.py @@ -64,6 +64,13 @@ def token_value(self) -> Optional[str]: """ return __config__.get('tokenValue') + @property + def trusted_cert_path(self) -> Optional[str]: + """ + Valid Trusted Certificate path + """ + return __config__.get('trustedCertPath') + @property def username(self) -> Optional[str]: """ @@ -71,3 +78,10 @@ def username(self) -> Optional[str]: """ return __config__.get('username') + @property + def validate_certs_disable(self) -> Optional[bool]: + """ + If set to true, Disables TLS certificate check on BIG-IP. Default : True + """ + return __config__.get_bool('validateCertsDisable') + diff --git a/sdk/python/pulumi_f5bigip/do.py b/sdk/python/pulumi_f5bigip/do.py index b7f95ec4..da5b6eb9 100644 --- a/sdk/python/pulumi_f5bigip/do.py +++ b/sdk/python/pulumi_f5bigip/do.py @@ -402,9 +402,9 @@ def _internal_init(__self__, __props__ = DoArgs.__new__(DoArgs) __props__.__dict__["bigip_address"] = bigip_address - __props__.__dict__["bigip_password"] = bigip_password + __props__.__dict__["bigip_password"] = None if bigip_password is None else pulumi.Output.secret(bigip_password) __props__.__dict__["bigip_port"] = bigip_port - __props__.__dict__["bigip_token_auth"] = bigip_token_auth + __props__.__dict__["bigip_token_auth"] = None if bigip_token_auth is None else pulumi.Output.secret(bigip_token_auth) __props__.__dict__["bigip_user"] = bigip_user if do_json is None and not opts.urn: raise TypeError("Missing required property 'do_json'") @@ -414,6 +414,8 @@ def _internal_init(__self__, pulumi.log.warn("""tenant_name is deprecated: this attribute is no longer in use""") __props__.__dict__["tenant_name"] = tenant_name __props__.__dict__["timeout"] = timeout + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["bigipPassword", "bigipTokenAuth"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(Do, __self__).__init__( 'f5bigip:index/do:Do', resource_name, diff --git a/sdk/python/pulumi_f5bigip/fast_http_app.py b/sdk/python/pulumi_f5bigip/fast_http_app.py index 75ac4627..a02f7b9b 100644 --- a/sdk/python/pulumi_f5bigip/fast_http_app.py +++ b/sdk/python/pulumi_f5bigip/fast_http_app.py @@ -18,52 +18,69 @@ class FastHttpAppArgs: def __init__(__self__, *, application: pulumi.Input[str], tenant: pulumi.Input[str], - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input['FastHttpAppFastCreateMonitorArgs']] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppFastCreatePoolMemberArgs']]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input['FastHttpAppMonitorArgs']] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppPoolMemberArgs']]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, - virtual_server: Optional[pulumi.Input['FastHttpAppVirtualServerArgs']] = None): + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + virtual_server: Optional[pulumi.Input['FastHttpAppVirtualServerArgs']] = None, + waf_security_policy: Optional[pulumi.Input['FastHttpAppWafSecurityPolicyArgs']] = None): """ The set of arguments for constructing a FastHttpApp resource. :param pulumi.Input[str] application: Name of the FAST HTTPS application. :param pulumi.Input[str] tenant: Name of the FAST HTTPS application tenant. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] endpoint_ltm_policies: List of LTM Policies to be applied FAST HTTP Application. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Select an existing BIG-IP Pool :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input['FastHttpAppFastCreateMonitorArgs'] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] existing_waf_security_policy: Name of an existing WAF Security policy. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input['FastHttpAppMonitorArgs'] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input['FastHttpAppFastCreatePoolMemberArgs']]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input['FastHttpAppPoolMemberArgs']]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: List of security log profiles to be used for FAST application :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input['FastHttpAppVirtualServerArgs'] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. + :param pulumi.Input['FastHttpAppWafSecurityPolicyArgs'] waf_security_policy: `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. """ pulumi.set(__self__, "application", application) pulumi.set(__self__, "tenant", tenant) - if exist_pool_name is not None: - pulumi.set(__self__, "exist_pool_name", exist_pool_name) + if endpoint_ltm_policies is not None: + pulumi.set(__self__, "endpoint_ltm_policies", endpoint_ltm_policies) if existing_monitor is not None: pulumi.set(__self__, "existing_monitor", existing_monitor) + if existing_pool is not None: + pulumi.set(__self__, "existing_pool", existing_pool) if existing_snat_pool is not None: pulumi.set(__self__, "existing_snat_pool", existing_snat_pool) - if fast_create_monitor is not None: - pulumi.set(__self__, "fast_create_monitor", fast_create_monitor) - if fast_create_pool_members is not None: - pulumi.set(__self__, "fast_create_pool_members", fast_create_pool_members) - if fast_create_snat_pool_addresses is not None: - pulumi.set(__self__, "fast_create_snat_pool_addresses", fast_create_snat_pool_addresses) + if existing_waf_security_policy is not None: + pulumi.set(__self__, "existing_waf_security_policy", existing_waf_security_policy) if load_balancing_mode is not None: pulumi.set(__self__, "load_balancing_mode", load_balancing_mode) + if monitor is not None: + pulumi.set(__self__, "monitor", monitor) + if pool_members is not None: + pulumi.set(__self__, "pool_members", pool_members) + if security_log_profiles is not None: + pulumi.set(__self__, "security_log_profiles", security_log_profiles) if slow_ramp_time is not None: pulumi.set(__self__, "slow_ramp_time", slow_ramp_time) + if snat_pool_addresses is not None: + pulumi.set(__self__, "snat_pool_addresses", snat_pool_addresses) if virtual_server is not None: pulumi.set(__self__, "virtual_server", virtual_server) + if waf_security_policy is not None: + pulumi.set(__self__, "waf_security_policy", waf_security_policy) @property @pulumi.getter @@ -90,16 +107,16 @@ def tenant(self, value: pulumi.Input[str]): pulumi.set(self, "tenant", value) @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="endpointLtmPolicies") + def endpoint_ltm_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Name of an existing BIG-IP pool. + List of LTM Policies to be applied FAST HTTP Application. """ - return pulumi.get(self, "exist_pool_name") + return pulumi.get(self, "endpoint_ltm_policies") - @exist_pool_name.setter - def exist_pool_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "exist_pool_name", value) + @endpoint_ltm_policies.setter + def endpoint_ltm_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "endpoint_ltm_policies", value) @property @pulumi.getter(name="existingMonitor") @@ -113,6 +130,18 @@ def existing_monitor(self) -> Optional[pulumi.Input[str]]: def existing_monitor(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_monitor", value) + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> Optional[pulumi.Input[str]]: + """ + Select an existing BIG-IP Pool + """ + return pulumi.get(self, "existing_pool") + + @existing_pool.setter + def existing_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_pool", value) + @property @pulumi.getter(name="existingSnatPool") def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: @@ -126,54 +155,66 @@ def existing_snat_pool(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_snat_pool", value) @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> Optional[pulumi.Input['FastHttpAppFastCreateMonitorArgs']]: + @pulumi.getter(name="existingWafSecurityPolicy") + def existing_waf_security_policy(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. + Name of an existing WAF Security policy. """ - return pulumi.get(self, "fast_create_monitor") + return pulumi.get(self, "existing_waf_security_policy") - @fast_create_monitor.setter - def fast_create_monitor(self, value: Optional[pulumi.Input['FastHttpAppFastCreateMonitorArgs']]): - pulumi.set(self, "fast_create_monitor", value) + @existing_waf_security_policy.setter + def existing_waf_security_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_waf_security_policy", value) @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppFastCreatePoolMemberArgs']]]]: + @pulumi.getter(name="loadBalancingMode") + def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. + 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 + """ + return pulumi.get(self, "load_balancing_mode") + + @load_balancing_mode.setter + def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "load_balancing_mode", value) + + @property + @pulumi.getter + def monitor(self) -> Optional[pulumi.Input['FastHttpAppMonitorArgs']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. """ - return pulumi.get(self, "fast_create_pool_members") + return pulumi.get(self, "monitor") - @fast_create_pool_members.setter - def fast_create_pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppFastCreatePoolMemberArgs']]]]): - pulumi.set(self, "fast_create_pool_members", value) + @monitor.setter + def monitor(self, value: Optional[pulumi.Input['FastHttpAppMonitorArgs']]): + pulumi.set(self, "monitor", value) @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + @pulumi.getter(name="poolMembers") + def pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppPoolMemberArgs']]]]: """ - List of address to be used for FAST-Generated SNAT Pool. + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. """ - return pulumi.get(self, "fast_create_snat_pool_addresses") + return pulumi.get(self, "pool_members") - @fast_create_snat_pool_addresses.setter - def fast_create_snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "fast_create_snat_pool_addresses", value) + @pool_members.setter + def pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppPoolMemberArgs']]]]): + pulumi.set(self, "pool_members", value) @property - @pulumi.getter(name="loadBalancingMode") - def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - 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 + List of security log profiles to be used for FAST application """ - return pulumi.get(self, "load_balancing_mode") + return pulumi.get(self, "security_log_profiles") - @load_balancing_mode.setter - def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "load_balancing_mode", value) + @security_log_profiles.setter + def security_log_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_log_profiles", value) @property @pulumi.getter(name="slowRampTime") @@ -187,6 +228,18 @@ def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: def slow_ramp_time(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "slow_ramp_time", value) + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @snat_pool_addresses.setter + def snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "snat_pool_addresses", value) + @property @pulumi.getter(name="virtualServer") def virtual_server(self) -> Optional[pulumi.Input['FastHttpAppVirtualServerArgs']]: @@ -200,60 +253,94 @@ def virtual_server(self) -> Optional[pulumi.Input['FastHttpAppVirtualServerArgs' def virtual_server(self, value: Optional[pulumi.Input['FastHttpAppVirtualServerArgs']]): pulumi.set(self, "virtual_server", value) + @property + @pulumi.getter(name="wafSecurityPolicy") + def waf_security_policy(self) -> Optional[pulumi.Input['FastHttpAppWafSecurityPolicyArgs']]: + """ + `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. + """ + return pulumi.get(self, "waf_security_policy") + + @waf_security_policy.setter + def waf_security_policy(self, value: Optional[pulumi.Input['FastHttpAppWafSecurityPolicyArgs']]): + pulumi.set(self, "waf_security_policy", value) + @pulumi.input_type class _FastHttpAppState: def __init__(__self__, *, application: Optional[pulumi.Input[str]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input['FastHttpAppFastCreateMonitorArgs']] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppFastCreatePoolMemberArgs']]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, + fast_http_json: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input['FastHttpAppMonitorArgs']] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppPoolMemberArgs']]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, - virtual_server: Optional[pulumi.Input['FastHttpAppVirtualServerArgs']] = None): + virtual_server: Optional[pulumi.Input['FastHttpAppVirtualServerArgs']] = None, + waf_security_policy: Optional[pulumi.Input['FastHttpAppWafSecurityPolicyArgs']] = None): """ Input properties used for looking up and filtering FastHttpApp resources. :param pulumi.Input[str] application: Name of the FAST HTTPS application. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] endpoint_ltm_policies: List of LTM Policies to be applied FAST HTTP Application. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Select an existing BIG-IP Pool :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input['FastHttpAppFastCreateMonitorArgs'] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] existing_waf_security_policy: Name of an existing WAF Security policy. + :param pulumi.Input[str] fast_http_json: Json payload for FAST HTTP application. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input['FastHttpAppMonitorArgs'] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input['FastHttpAppFastCreatePoolMemberArgs']]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input['FastHttpAppPoolMemberArgs']]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: List of security log profiles to be used for FAST application :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST HTTPS application tenant. :param pulumi.Input['FastHttpAppVirtualServerArgs'] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. + :param pulumi.Input['FastHttpAppWafSecurityPolicyArgs'] waf_security_policy: `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. """ if application is not None: pulumi.set(__self__, "application", application) - if exist_pool_name is not None: - pulumi.set(__self__, "exist_pool_name", exist_pool_name) + if endpoint_ltm_policies is not None: + pulumi.set(__self__, "endpoint_ltm_policies", endpoint_ltm_policies) if existing_monitor is not None: pulumi.set(__self__, "existing_monitor", existing_monitor) + if existing_pool is not None: + pulumi.set(__self__, "existing_pool", existing_pool) if existing_snat_pool is not None: pulumi.set(__self__, "existing_snat_pool", existing_snat_pool) - if fast_create_monitor is not None: - pulumi.set(__self__, "fast_create_monitor", fast_create_monitor) - if fast_create_pool_members is not None: - pulumi.set(__self__, "fast_create_pool_members", fast_create_pool_members) - if fast_create_snat_pool_addresses is not None: - pulumi.set(__self__, "fast_create_snat_pool_addresses", fast_create_snat_pool_addresses) + if existing_waf_security_policy is not None: + pulumi.set(__self__, "existing_waf_security_policy", existing_waf_security_policy) + if fast_http_json is not None: + pulumi.set(__self__, "fast_http_json", fast_http_json) if load_balancing_mode is not None: pulumi.set(__self__, "load_balancing_mode", load_balancing_mode) + if monitor is not None: + pulumi.set(__self__, "monitor", monitor) + if pool_members is not None: + pulumi.set(__self__, "pool_members", pool_members) + if security_log_profiles is not None: + pulumi.set(__self__, "security_log_profiles", security_log_profiles) if slow_ramp_time is not None: pulumi.set(__self__, "slow_ramp_time", slow_ramp_time) + if snat_pool_addresses is not None: + pulumi.set(__self__, "snat_pool_addresses", snat_pool_addresses) if tenant is not None: pulumi.set(__self__, "tenant", tenant) if virtual_server is not None: pulumi.set(__self__, "virtual_server", virtual_server) + if waf_security_policy is not None: + pulumi.set(__self__, "waf_security_policy", waf_security_policy) @property @pulumi.getter @@ -268,16 +355,16 @@ def application(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "application", value) @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="endpointLtmPolicies") + def endpoint_ltm_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Name of an existing BIG-IP pool. + List of LTM Policies to be applied FAST HTTP Application. """ - return pulumi.get(self, "exist_pool_name") + return pulumi.get(self, "endpoint_ltm_policies") - @exist_pool_name.setter - def exist_pool_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "exist_pool_name", value) + @endpoint_ltm_policies.setter + def endpoint_ltm_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "endpoint_ltm_policies", value) @property @pulumi.getter(name="existingMonitor") @@ -291,6 +378,18 @@ def existing_monitor(self) -> Optional[pulumi.Input[str]]: def existing_monitor(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_monitor", value) + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> Optional[pulumi.Input[str]]: + """ + Select an existing BIG-IP Pool + """ + return pulumi.get(self, "existing_pool") + + @existing_pool.setter + def existing_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_pool", value) + @property @pulumi.getter(name="existingSnatPool") def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: @@ -304,42 +403,28 @@ def existing_snat_pool(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_snat_pool", value) @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> Optional[pulumi.Input['FastHttpAppFastCreateMonitorArgs']]: + @pulumi.getter(name="existingWafSecurityPolicy") + def existing_waf_security_policy(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. + Name of an existing WAF Security policy. """ - return pulumi.get(self, "fast_create_monitor") + return pulumi.get(self, "existing_waf_security_policy") - @fast_create_monitor.setter - def fast_create_monitor(self, value: Optional[pulumi.Input['FastHttpAppFastCreateMonitorArgs']]): - pulumi.set(self, "fast_create_monitor", value) + @existing_waf_security_policy.setter + def existing_waf_security_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_waf_security_policy", value) @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppFastCreatePoolMemberArgs']]]]: + @pulumi.getter(name="fastHttpJson") + def fast_http_json(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. + Json payload for FAST HTTP application. """ - return pulumi.get(self, "fast_create_pool_members") + return pulumi.get(self, "fast_http_json") - @fast_create_pool_members.setter - def fast_create_pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppFastCreatePoolMemberArgs']]]]): - pulumi.set(self, "fast_create_pool_members", value) - - @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - List of address to be used for FAST-Generated SNAT Pool. - """ - return pulumi.get(self, "fast_create_snat_pool_addresses") - - @fast_create_snat_pool_addresses.setter - def fast_create_snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "fast_create_snat_pool_addresses", value) + @fast_http_json.setter + def fast_http_json(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fast_http_json", value) @property @pulumi.getter(name="loadBalancingMode") @@ -353,6 +438,44 @@ def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "load_balancing_mode", value) + @property + @pulumi.getter + def monitor(self) -> Optional[pulumi.Input['FastHttpAppMonitorArgs']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @monitor.setter + def monitor(self, value: Optional[pulumi.Input['FastHttpAppMonitorArgs']]): + pulumi.set(self, "monitor", value) + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppPoolMemberArgs']]]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @pool_members.setter + def pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpAppPoolMemberArgs']]]]): + pulumi.set(self, "pool_members", value) + + @property + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of security log profiles to be used for FAST application + """ + return pulumi.get(self, "security_log_profiles") + + @security_log_profiles.setter + def security_log_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_log_profiles", value) + @property @pulumi.getter(name="slowRampTime") def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: @@ -365,6 +488,18 @@ def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: def slow_ramp_time(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "slow_ramp_time", value) + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @snat_pool_addresses.setter + def snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "snat_pool_addresses", value) + @property @pulumi.getter def tenant(self) -> Optional[pulumi.Input[str]]: @@ -390,6 +525,19 @@ def virtual_server(self) -> Optional[pulumi.Input['FastHttpAppVirtualServerArgs' def virtual_server(self, value: Optional[pulumi.Input['FastHttpAppVirtualServerArgs']]): pulumi.set(self, "virtual_server", value) + @property + @pulumi.getter(name="wafSecurityPolicy") + def waf_security_policy(self) -> Optional[pulumi.Input['FastHttpAppWafSecurityPolicyArgs']]: + """ + `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. + """ + return pulumi.get(self, "waf_security_policy") + + @waf_security_policy.setter + def waf_security_policy(self, value: Optional[pulumi.Input['FastHttpAppWafSecurityPolicyArgs']]): + pulumi.set(self, "waf_security_policy", value) + class FastHttpApp(pulumi.CustomResource): @overload @@ -397,16 +545,20 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, virtual_server: Optional[pulumi.Input[pulumi.InputType['FastHttpAppVirtualServerArgs']]] = None, + waf_security_policy: Optional[pulumi.Input[pulumi.InputType['FastHttpAppWafSecurityPolicyArgs']]] = None, __props__=None): """ `FastHttpApp` This resource will create and manage FAST HTTP applications on BIG-IP @@ -431,19 +583,24 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] application: Name of the FAST HTTPS application. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] endpoint_ltm_policies: List of LTM Policies to be applied FAST HTTP Application. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Select an existing BIG-IP Pool :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input[pulumi.InputType['FastHttpAppFastCreateMonitorArgs']] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] existing_waf_security_policy: Name of an existing WAF Security policy. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[pulumi.InputType['FastHttpAppMonitorArgs']] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppFastCreatePoolMemberArgs']]]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppPoolMemberArgs']]]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: List of security log profiles to be used for FAST application :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST HTTPS application tenant. :param pulumi.Input[pulumi.InputType['FastHttpAppVirtualServerArgs']] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. + :param pulumi.Input[pulumi.InputType['FastHttpAppWafSecurityPolicyArgs']] waf_security_policy: `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. """ ... @overload @@ -487,16 +644,20 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, virtual_server: Optional[pulumi.Input[pulumi.InputType['FastHttpAppVirtualServerArgs']]] = None, + waf_security_policy: Optional[pulumi.Input[pulumi.InputType['FastHttpAppWafSecurityPolicyArgs']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -509,18 +670,23 @@ def _internal_init(__self__, if application is None and not opts.urn: raise TypeError("Missing required property 'application'") __props__.__dict__["application"] = application - __props__.__dict__["exist_pool_name"] = exist_pool_name + __props__.__dict__["endpoint_ltm_policies"] = endpoint_ltm_policies __props__.__dict__["existing_monitor"] = existing_monitor + __props__.__dict__["existing_pool"] = existing_pool __props__.__dict__["existing_snat_pool"] = existing_snat_pool - __props__.__dict__["fast_create_monitor"] = fast_create_monitor - __props__.__dict__["fast_create_pool_members"] = fast_create_pool_members - __props__.__dict__["fast_create_snat_pool_addresses"] = fast_create_snat_pool_addresses + __props__.__dict__["existing_waf_security_policy"] = existing_waf_security_policy __props__.__dict__["load_balancing_mode"] = load_balancing_mode + __props__.__dict__["monitor"] = monitor + __props__.__dict__["pool_members"] = pool_members + __props__.__dict__["security_log_profiles"] = security_log_profiles __props__.__dict__["slow_ramp_time"] = slow_ramp_time + __props__.__dict__["snat_pool_addresses"] = snat_pool_addresses if tenant is None and not opts.urn: raise TypeError("Missing required property 'tenant'") __props__.__dict__["tenant"] = tenant __props__.__dict__["virtual_server"] = virtual_server + __props__.__dict__["waf_security_policy"] = waf_security_policy + __props__.__dict__["fast_http_json"] = None super(FastHttpApp, __self__).__init__( 'f5bigip:index/fastHttpApp:FastHttpApp', resource_name, @@ -532,16 +698,21 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, + fast_http_json: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, - virtual_server: Optional[pulumi.Input[pulumi.InputType['FastHttpAppVirtualServerArgs']]] = None) -> 'FastHttpApp': + virtual_server: Optional[pulumi.Input[pulumi.InputType['FastHttpAppVirtualServerArgs']]] = None, + waf_security_policy: Optional[pulumi.Input[pulumi.InputType['FastHttpAppWafSecurityPolicyArgs']]] = None) -> 'FastHttpApp': """ Get an existing FastHttpApp resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -550,35 +721,46 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] application: Name of the FAST HTTPS application. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] endpoint_ltm_policies: List of LTM Policies to be applied FAST HTTP Application. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Select an existing BIG-IP Pool :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input[pulumi.InputType['FastHttpAppFastCreateMonitorArgs']] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] existing_waf_security_policy: Name of an existing WAF Security policy. + :param pulumi.Input[str] fast_http_json: Json payload for FAST HTTP application. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[pulumi.InputType['FastHttpAppMonitorArgs']] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppFastCreatePoolMemberArgs']]]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpAppPoolMemberArgs']]]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: List of security log profiles to be used for FAST application :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST HTTPS application tenant. :param pulumi.Input[pulumi.InputType['FastHttpAppVirtualServerArgs']] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. + :param pulumi.Input[pulumi.InputType['FastHttpAppWafSecurityPolicyArgs']] waf_security_policy: `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _FastHttpAppState.__new__(_FastHttpAppState) __props__.__dict__["application"] = application - __props__.__dict__["exist_pool_name"] = exist_pool_name + __props__.__dict__["endpoint_ltm_policies"] = endpoint_ltm_policies __props__.__dict__["existing_monitor"] = existing_monitor + __props__.__dict__["existing_pool"] = existing_pool __props__.__dict__["existing_snat_pool"] = existing_snat_pool - __props__.__dict__["fast_create_monitor"] = fast_create_monitor - __props__.__dict__["fast_create_pool_members"] = fast_create_pool_members - __props__.__dict__["fast_create_snat_pool_addresses"] = fast_create_snat_pool_addresses + __props__.__dict__["existing_waf_security_policy"] = existing_waf_security_policy + __props__.__dict__["fast_http_json"] = fast_http_json __props__.__dict__["load_balancing_mode"] = load_balancing_mode + __props__.__dict__["monitor"] = monitor + __props__.__dict__["pool_members"] = pool_members + __props__.__dict__["security_log_profiles"] = security_log_profiles __props__.__dict__["slow_ramp_time"] = slow_ramp_time + __props__.__dict__["snat_pool_addresses"] = snat_pool_addresses __props__.__dict__["tenant"] = tenant __props__.__dict__["virtual_server"] = virtual_server + __props__.__dict__["waf_security_policy"] = waf_security_policy return FastHttpApp(resource_name, opts=opts, __props__=__props__) @property @@ -590,12 +772,12 @@ def application(self) -> pulumi.Output[str]: return pulumi.get(self, "application") @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter(name="endpointLtmPolicies") + def endpoint_ltm_policies(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Name of an existing BIG-IP pool. + List of LTM Policies to be applied FAST HTTP Application. """ - return pulumi.get(self, "exist_pool_name") + return pulumi.get(self, "endpoint_ltm_policies") @property @pulumi.getter(name="existingMonitor") @@ -606,38 +788,36 @@ def existing_monitor(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "existing_monitor") @property - @pulumi.getter(name="existingSnatPool") - def existing_snat_pool(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter(name="existingPool") + def existing_pool(self) -> pulumi.Output[Optional[str]]: """ - Name of an existing BIG-IP SNAT pool. + Select an existing BIG-IP Pool """ - return pulumi.get(self, "existing_snat_pool") + return pulumi.get(self, "existing_pool") @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> pulumi.Output[Optional['outputs.FastHttpAppFastCreateMonitor']]: + @pulumi.getter(name="existingSnatPool") + def existing_snat_pool(self) -> pulumi.Output[Optional[str]]: """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. + Name of an existing BIG-IP SNAT pool. """ - return pulumi.get(self, "fast_create_monitor") + return pulumi.get(self, "existing_snat_pool") @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> pulumi.Output[Optional[Sequence['outputs.FastHttpAppFastCreatePoolMember']]]: + @pulumi.getter(name="existingWafSecurityPolicy") + def existing_waf_security_policy(self) -> pulumi.Output[Optional[str]]: """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. + Name of an existing WAF Security policy. """ - return pulumi.get(self, "fast_create_pool_members") + return pulumi.get(self, "existing_waf_security_policy") @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> pulumi.Output[Optional[Sequence[str]]]: + @pulumi.getter(name="fastHttpJson") + def fast_http_json(self) -> pulumi.Output[str]: """ - List of address to be used for FAST-Generated SNAT Pool. + Json payload for FAST HTTP application. """ - return pulumi.get(self, "fast_create_snat_pool_addresses") + return pulumi.get(self, "fast_http_json") @property @pulumi.getter(name="loadBalancingMode") @@ -647,6 +827,32 @@ def load_balancing_mode(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "load_balancing_mode") + @property + @pulumi.getter + def monitor(self) -> pulumi.Output[Optional['outputs.FastHttpAppMonitor']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> pulumi.Output[Optional[Sequence['outputs.FastHttpAppPoolMember']]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @property + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of security log profiles to be used for FAST application + """ + return pulumi.get(self, "security_log_profiles") + @property @pulumi.getter(name="slowRampTime") def slow_ramp_time(self) -> pulumi.Output[Optional[int]]: @@ -655,6 +861,14 @@ def slow_ramp_time(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "slow_ramp_time") + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + @property @pulumi.getter def tenant(self) -> pulumi.Output[str]: @@ -672,3 +886,12 @@ def virtual_server(self) -> pulumi.Output[Optional['outputs.FastHttpAppVirtualSe """ return pulumi.get(self, "virtual_server") + @property + @pulumi.getter(name="wafSecurityPolicy") + def waf_security_policy(self) -> pulumi.Output[Optional['outputs.FastHttpAppWafSecurityPolicy']]: + """ + `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. + """ + return pulumi.get(self, "waf_security_policy") + diff --git a/sdk/python/pulumi_f5bigip/fast_https_app.py b/sdk/python/pulumi_f5bigip/fast_https_app.py index a4a42901..315a1987 100644 --- a/sdk/python/pulumi_f5bigip/fast_https_app.py +++ b/sdk/python/pulumi_f5bigip/fast_https_app.py @@ -18,61 +18,87 @@ class FastHttpsAppArgs: def __init__(__self__, *, application: pulumi.Input[str], tenant: pulumi.Input[str], - create_tls_server_profile: Optional[pulumi.Input['FastHttpsAppCreateTlsServerProfileArgs']] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input['FastHttpsAppFastCreateMonitorArgs']] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppFastCreatePoolMemberArgs']]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_tls_client_profile: Optional[pulumi.Input[str]] = None, + existing_tls_server_profile: Optional[pulumi.Input[str]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input['FastHttpsAppMonitorArgs']] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppPoolMemberArgs']]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, - tls_server_profile_name: Optional[pulumi.Input[str]] = None, - virtual_server: Optional[pulumi.Input['FastHttpsAppVirtualServerArgs']] = None): + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tls_client_profile: Optional[pulumi.Input['FastHttpsAppTlsClientProfileArgs']] = None, + tls_server_profile: Optional[pulumi.Input['FastHttpsAppTlsServerProfileArgs']] = None, + virtual_server: Optional[pulumi.Input['FastHttpsAppVirtualServerArgs']] = None, + waf_security_policy: Optional[pulumi.Input['FastHttpsAppWafSecurityPolicyArgs']] = None): """ The set of arguments for constructing a FastHttpsApp resource. :param pulumi.Input[str] application: Name of the FAST HTTPS application. :param pulumi.Input[str] tenant: Name of the FAST HTTPS application tenant. - :param pulumi.Input['FastHttpsAppCreateTlsServerProfileArgs'] create_tls_server_profile: `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - See TLS Server Profile below for more details. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] endpoint_ltm_policies: List of LTM Policies to be applied FAST HTTPS Application. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input['FastHttpsAppFastCreateMonitorArgs'] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] existing_tls_client_profile: Name of an existing TLS client profile. + :param pulumi.Input[str] existing_tls_server_profile: Name of an existing TLS server profile. + :param pulumi.Input[str] existing_waf_security_policy: Name of an existing WAF Security policy. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input['FastHttpsAppMonitorArgs'] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input['FastHttpsAppFastCreatePoolMemberArgs']]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input['FastHttpsAppPoolMemberArgs']]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: List of security log profiles to be used for FAST application :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds - :param pulumi.Input[str] tls_server_profile_name: Name of an existing TLS server profile. + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. + :param pulumi.Input['FastHttpsAppTlsClientProfileArgs'] tls_client_profile: `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + See TLS Client Profile below for more details. + :param pulumi.Input['FastHttpsAppTlsServerProfileArgs'] tls_server_profile: `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + See TLS Server Profile below for more details. :param pulumi.Input['FastHttpsAppVirtualServerArgs'] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. + :param pulumi.Input['FastHttpsAppWafSecurityPolicyArgs'] waf_security_policy: `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. """ pulumi.set(__self__, "application", application) pulumi.set(__self__, "tenant", tenant) - if create_tls_server_profile is not None: - pulumi.set(__self__, "create_tls_server_profile", create_tls_server_profile) - if exist_pool_name is not None: - pulumi.set(__self__, "exist_pool_name", exist_pool_name) + if endpoint_ltm_policies is not None: + pulumi.set(__self__, "endpoint_ltm_policies", endpoint_ltm_policies) if existing_monitor is not None: pulumi.set(__self__, "existing_monitor", existing_monitor) + if existing_pool is not None: + pulumi.set(__self__, "existing_pool", existing_pool) if existing_snat_pool is not None: pulumi.set(__self__, "existing_snat_pool", existing_snat_pool) - if fast_create_monitor is not None: - pulumi.set(__self__, "fast_create_monitor", fast_create_monitor) - if fast_create_pool_members is not None: - pulumi.set(__self__, "fast_create_pool_members", fast_create_pool_members) - if fast_create_snat_pool_addresses is not None: - pulumi.set(__self__, "fast_create_snat_pool_addresses", fast_create_snat_pool_addresses) + if existing_tls_client_profile is not None: + pulumi.set(__self__, "existing_tls_client_profile", existing_tls_client_profile) + if existing_tls_server_profile is not None: + pulumi.set(__self__, "existing_tls_server_profile", existing_tls_server_profile) + if existing_waf_security_policy is not None: + pulumi.set(__self__, "existing_waf_security_policy", existing_waf_security_policy) if load_balancing_mode is not None: pulumi.set(__self__, "load_balancing_mode", load_balancing_mode) + if monitor is not None: + pulumi.set(__self__, "monitor", monitor) + if pool_members is not None: + pulumi.set(__self__, "pool_members", pool_members) + if security_log_profiles is not None: + pulumi.set(__self__, "security_log_profiles", security_log_profiles) if slow_ramp_time is not None: pulumi.set(__self__, "slow_ramp_time", slow_ramp_time) - if tls_server_profile_name is not None: - pulumi.set(__self__, "tls_server_profile_name", tls_server_profile_name) + if snat_pool_addresses is not None: + pulumi.set(__self__, "snat_pool_addresses", snat_pool_addresses) + if tls_client_profile is not None: + pulumi.set(__self__, "tls_client_profile", tls_client_profile) + if tls_server_profile is not None: + pulumi.set(__self__, "tls_server_profile", tls_server_profile) if virtual_server is not None: pulumi.set(__self__, "virtual_server", virtual_server) + if waf_security_policy is not None: + pulumi.set(__self__, "waf_security_policy", waf_security_policy) @property @pulumi.getter @@ -99,29 +125,16 @@ def tenant(self, value: pulumi.Input[str]): pulumi.set(self, "tenant", value) @property - @pulumi.getter(name="createTlsServerProfile") - def create_tls_server_profile(self) -> Optional[pulumi.Input['FastHttpsAppCreateTlsServerProfileArgs']]: - """ - `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - See TLS Server Profile below for more details. + @pulumi.getter(name="endpointLtmPolicies") + def endpoint_ltm_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - return pulumi.get(self, "create_tls_server_profile") - - @create_tls_server_profile.setter - def create_tls_server_profile(self, value: Optional[pulumi.Input['FastHttpsAppCreateTlsServerProfileArgs']]): - pulumi.set(self, "create_tls_server_profile", value) - - @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> Optional[pulumi.Input[str]]: - """ - Name of an existing BIG-IP pool. + List of LTM Policies to be applied FAST HTTPS Application. """ - return pulumi.get(self, "exist_pool_name") + return pulumi.get(self, "endpoint_ltm_policies") - @exist_pool_name.setter - def exist_pool_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "exist_pool_name", value) + @endpoint_ltm_policies.setter + def endpoint_ltm_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "endpoint_ltm_policies", value) @property @pulumi.getter(name="existingMonitor") @@ -135,6 +148,18 @@ def existing_monitor(self) -> Optional[pulumi.Input[str]]: def existing_monitor(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_monitor", value) + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP pool. + """ + return pulumi.get(self, "existing_pool") + + @existing_pool.setter + def existing_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_pool", value) + @property @pulumi.getter(name="existingSnatPool") def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: @@ -148,42 +173,40 @@ def existing_snat_pool(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_snat_pool", value) @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> Optional[pulumi.Input['FastHttpsAppFastCreateMonitorArgs']]: + @pulumi.getter(name="existingTlsClientProfile") + def existing_tls_client_profile(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. + Name of an existing TLS client profile. """ - return pulumi.get(self, "fast_create_monitor") + return pulumi.get(self, "existing_tls_client_profile") - @fast_create_monitor.setter - def fast_create_monitor(self, value: Optional[pulumi.Input['FastHttpsAppFastCreateMonitorArgs']]): - pulumi.set(self, "fast_create_monitor", value) + @existing_tls_client_profile.setter + def existing_tls_client_profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_tls_client_profile", value) @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppFastCreatePoolMemberArgs']]]]: + @pulumi.getter(name="existingTlsServerProfile") + def existing_tls_server_profile(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. + Name of an existing TLS server profile. """ - return pulumi.get(self, "fast_create_pool_members") + return pulumi.get(self, "existing_tls_server_profile") - @fast_create_pool_members.setter - def fast_create_pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppFastCreatePoolMemberArgs']]]]): - pulumi.set(self, "fast_create_pool_members", value) + @existing_tls_server_profile.setter + def existing_tls_server_profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_tls_server_profile", value) @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + @pulumi.getter(name="existingWafSecurityPolicy") + def existing_waf_security_policy(self) -> Optional[pulumi.Input[str]]: """ - List of address to be used for FAST-Generated SNAT Pool. + Name of an existing WAF Security policy. """ - return pulumi.get(self, "fast_create_snat_pool_addresses") + return pulumi.get(self, "existing_waf_security_policy") - @fast_create_snat_pool_addresses.setter - def fast_create_snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "fast_create_snat_pool_addresses", value) + @existing_waf_security_policy.setter + def existing_waf_security_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_waf_security_policy", value) @property @pulumi.getter(name="loadBalancingMode") @@ -197,6 +220,44 @@ def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "load_balancing_mode", value) + @property + @pulumi.getter + def monitor(self) -> Optional[pulumi.Input['FastHttpsAppMonitorArgs']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @monitor.setter + def monitor(self, value: Optional[pulumi.Input['FastHttpsAppMonitorArgs']]): + pulumi.set(self, "monitor", value) + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppPoolMemberArgs']]]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @pool_members.setter + def pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppPoolMemberArgs']]]]): + pulumi.set(self, "pool_members", value) + + @property + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of security log profiles to be used for FAST application + """ + return pulumi.get(self, "security_log_profiles") + + @security_log_profiles.setter + def security_log_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_log_profiles", value) + @property @pulumi.getter(name="slowRampTime") def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: @@ -210,16 +271,42 @@ def slow_ramp_time(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "slow_ramp_time", value) @property - @pulumi.getter(name="tlsServerProfileName") - def tls_server_profile_name(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Name of an existing TLS server profile. + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @snat_pool_addresses.setter + def snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "snat_pool_addresses", value) + + @property + @pulumi.getter(name="tlsClientProfile") + def tls_client_profile(self) -> Optional[pulumi.Input['FastHttpsAppTlsClientProfileArgs']]: + """ + `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + See TLS Client Profile below for more details. """ - return pulumi.get(self, "tls_server_profile_name") + return pulumi.get(self, "tls_client_profile") - @tls_server_profile_name.setter - def tls_server_profile_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "tls_server_profile_name", value) + @tls_client_profile.setter + def tls_client_profile(self, value: Optional[pulumi.Input['FastHttpsAppTlsClientProfileArgs']]): + pulumi.set(self, "tls_client_profile", value) + + @property + @pulumi.getter(name="tlsServerProfile") + def tls_server_profile(self) -> Optional[pulumi.Input['FastHttpsAppTlsServerProfileArgs']]: + """ + `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + See TLS Server Profile below for more details. + """ + return pulumi.get(self, "tls_server_profile") + + @tls_server_profile.setter + def tls_server_profile(self, value: Optional[pulumi.Input['FastHttpsAppTlsServerProfileArgs']]): + pulumi.set(self, "tls_server_profile", value) @property @pulumi.getter(name="virtualServer") @@ -234,69 +321,112 @@ def virtual_server(self) -> Optional[pulumi.Input['FastHttpsAppVirtualServerArgs def virtual_server(self, value: Optional[pulumi.Input['FastHttpsAppVirtualServerArgs']]): pulumi.set(self, "virtual_server", value) + @property + @pulumi.getter(name="wafSecurityPolicy") + def waf_security_policy(self) -> Optional[pulumi.Input['FastHttpsAppWafSecurityPolicyArgs']]: + """ + `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. + """ + return pulumi.get(self, "waf_security_policy") + + @waf_security_policy.setter + def waf_security_policy(self, value: Optional[pulumi.Input['FastHttpsAppWafSecurityPolicyArgs']]): + pulumi.set(self, "waf_security_policy", value) + @pulumi.input_type class _FastHttpsAppState: def __init__(__self__, *, application: Optional[pulumi.Input[str]] = None, - create_tls_server_profile: Optional[pulumi.Input['FastHttpsAppCreateTlsServerProfileArgs']] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input['FastHttpsAppFastCreateMonitorArgs']] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppFastCreatePoolMemberArgs']]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_tls_client_profile: Optional[pulumi.Input[str]] = None, + existing_tls_server_profile: Optional[pulumi.Input[str]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, + fast_https_json: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input['FastHttpsAppMonitorArgs']] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppPoolMemberArgs']]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, - tls_server_profile_name: Optional[pulumi.Input[str]] = None, - virtual_server: Optional[pulumi.Input['FastHttpsAppVirtualServerArgs']] = None): + tls_client_profile: Optional[pulumi.Input['FastHttpsAppTlsClientProfileArgs']] = None, + tls_server_profile: Optional[pulumi.Input['FastHttpsAppTlsServerProfileArgs']] = None, + virtual_server: Optional[pulumi.Input['FastHttpsAppVirtualServerArgs']] = None, + waf_security_policy: Optional[pulumi.Input['FastHttpsAppWafSecurityPolicyArgs']] = None): """ Input properties used for looking up and filtering FastHttpsApp resources. :param pulumi.Input[str] application: Name of the FAST HTTPS application. - :param pulumi.Input['FastHttpsAppCreateTlsServerProfileArgs'] create_tls_server_profile: `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - See TLS Server Profile below for more details. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] endpoint_ltm_policies: List of LTM Policies to be applied FAST HTTPS Application. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input['FastHttpsAppFastCreateMonitorArgs'] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] existing_tls_client_profile: Name of an existing TLS client profile. + :param pulumi.Input[str] existing_tls_server_profile: Name of an existing TLS server profile. + :param pulumi.Input[str] existing_waf_security_policy: Name of an existing WAF Security policy. + :param pulumi.Input[str] fast_https_json: Json payload for FAST HTTPS application. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input['FastHttpsAppMonitorArgs'] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input['FastHttpsAppFastCreatePoolMemberArgs']]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input['FastHttpsAppPoolMemberArgs']]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: List of security log profiles to be used for FAST application :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST HTTPS application tenant. - :param pulumi.Input[str] tls_server_profile_name: Name of an existing TLS server profile. + :param pulumi.Input['FastHttpsAppTlsClientProfileArgs'] tls_client_profile: `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + See TLS Client Profile below for more details. + :param pulumi.Input['FastHttpsAppTlsServerProfileArgs'] tls_server_profile: `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + See TLS Server Profile below for more details. :param pulumi.Input['FastHttpsAppVirtualServerArgs'] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. + :param pulumi.Input['FastHttpsAppWafSecurityPolicyArgs'] waf_security_policy: `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. """ if application is not None: pulumi.set(__self__, "application", application) - if create_tls_server_profile is not None: - pulumi.set(__self__, "create_tls_server_profile", create_tls_server_profile) - if exist_pool_name is not None: - pulumi.set(__self__, "exist_pool_name", exist_pool_name) + if endpoint_ltm_policies is not None: + pulumi.set(__self__, "endpoint_ltm_policies", endpoint_ltm_policies) if existing_monitor is not None: pulumi.set(__self__, "existing_monitor", existing_monitor) + if existing_pool is not None: + pulumi.set(__self__, "existing_pool", existing_pool) if existing_snat_pool is not None: pulumi.set(__self__, "existing_snat_pool", existing_snat_pool) - if fast_create_monitor is not None: - pulumi.set(__self__, "fast_create_monitor", fast_create_monitor) - if fast_create_pool_members is not None: - pulumi.set(__self__, "fast_create_pool_members", fast_create_pool_members) - if fast_create_snat_pool_addresses is not None: - pulumi.set(__self__, "fast_create_snat_pool_addresses", fast_create_snat_pool_addresses) + if existing_tls_client_profile is not None: + pulumi.set(__self__, "existing_tls_client_profile", existing_tls_client_profile) + if existing_tls_server_profile is not None: + pulumi.set(__self__, "existing_tls_server_profile", existing_tls_server_profile) + if existing_waf_security_policy is not None: + pulumi.set(__self__, "existing_waf_security_policy", existing_waf_security_policy) + if fast_https_json is not None: + pulumi.set(__self__, "fast_https_json", fast_https_json) if load_balancing_mode is not None: pulumi.set(__self__, "load_balancing_mode", load_balancing_mode) + if monitor is not None: + pulumi.set(__self__, "monitor", monitor) + if pool_members is not None: + pulumi.set(__self__, "pool_members", pool_members) + if security_log_profiles is not None: + pulumi.set(__self__, "security_log_profiles", security_log_profiles) if slow_ramp_time is not None: pulumi.set(__self__, "slow_ramp_time", slow_ramp_time) + if snat_pool_addresses is not None: + pulumi.set(__self__, "snat_pool_addresses", snat_pool_addresses) if tenant is not None: pulumi.set(__self__, "tenant", tenant) - if tls_server_profile_name is not None: - pulumi.set(__self__, "tls_server_profile_name", tls_server_profile_name) + if tls_client_profile is not None: + pulumi.set(__self__, "tls_client_profile", tls_client_profile) + if tls_server_profile is not None: + pulumi.set(__self__, "tls_server_profile", tls_server_profile) if virtual_server is not None: pulumi.set(__self__, "virtual_server", virtual_server) + if waf_security_policy is not None: + pulumi.set(__self__, "waf_security_policy", waf_security_policy) @property @pulumi.getter @@ -311,29 +441,16 @@ def application(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "application", value) @property - @pulumi.getter(name="createTlsServerProfile") - def create_tls_server_profile(self) -> Optional[pulumi.Input['FastHttpsAppCreateTlsServerProfileArgs']]: - """ - `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - See TLS Server Profile below for more details. - """ - return pulumi.get(self, "create_tls_server_profile") - - @create_tls_server_profile.setter - def create_tls_server_profile(self, value: Optional[pulumi.Input['FastHttpsAppCreateTlsServerProfileArgs']]): - pulumi.set(self, "create_tls_server_profile", value) - - @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="endpointLtmPolicies") + def endpoint_ltm_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Name of an existing BIG-IP pool. + List of LTM Policies to be applied FAST HTTPS Application. """ - return pulumi.get(self, "exist_pool_name") + return pulumi.get(self, "endpoint_ltm_policies") - @exist_pool_name.setter - def exist_pool_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "exist_pool_name", value) + @endpoint_ltm_policies.setter + def endpoint_ltm_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "endpoint_ltm_policies", value) @property @pulumi.getter(name="existingMonitor") @@ -347,6 +464,18 @@ def existing_monitor(self) -> Optional[pulumi.Input[str]]: def existing_monitor(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_monitor", value) + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP pool. + """ + return pulumi.get(self, "existing_pool") + + @existing_pool.setter + def existing_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_pool", value) + @property @pulumi.getter(name="existingSnatPool") def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: @@ -360,42 +489,52 @@ def existing_snat_pool(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_snat_pool", value) @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> Optional[pulumi.Input['FastHttpsAppFastCreateMonitorArgs']]: + @pulumi.getter(name="existingTlsClientProfile") + def existing_tls_client_profile(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. + Name of an existing TLS client profile. """ - return pulumi.get(self, "fast_create_monitor") + return pulumi.get(self, "existing_tls_client_profile") - @fast_create_monitor.setter - def fast_create_monitor(self, value: Optional[pulumi.Input['FastHttpsAppFastCreateMonitorArgs']]): - pulumi.set(self, "fast_create_monitor", value) + @existing_tls_client_profile.setter + def existing_tls_client_profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_tls_client_profile", value) @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppFastCreatePoolMemberArgs']]]]: + @pulumi.getter(name="existingTlsServerProfile") + def existing_tls_server_profile(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. + Name of an existing TLS server profile. """ - return pulumi.get(self, "fast_create_pool_members") + return pulumi.get(self, "existing_tls_server_profile") - @fast_create_pool_members.setter - def fast_create_pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppFastCreatePoolMemberArgs']]]]): - pulumi.set(self, "fast_create_pool_members", value) + @existing_tls_server_profile.setter + def existing_tls_server_profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_tls_server_profile", value) @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + @pulumi.getter(name="existingWafSecurityPolicy") + def existing_waf_security_policy(self) -> Optional[pulumi.Input[str]]: """ - List of address to be used for FAST-Generated SNAT Pool. + Name of an existing WAF Security policy. + """ + return pulumi.get(self, "existing_waf_security_policy") + + @existing_waf_security_policy.setter + def existing_waf_security_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_waf_security_policy", value) + + @property + @pulumi.getter(name="fastHttpsJson") + def fast_https_json(self) -> Optional[pulumi.Input[str]]: + """ + Json payload for FAST HTTPS application. """ - return pulumi.get(self, "fast_create_snat_pool_addresses") + return pulumi.get(self, "fast_https_json") - @fast_create_snat_pool_addresses.setter - def fast_create_snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "fast_create_snat_pool_addresses", value) + @fast_https_json.setter + def fast_https_json(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fast_https_json", value) @property @pulumi.getter(name="loadBalancingMode") @@ -409,6 +548,44 @@ def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "load_balancing_mode", value) + @property + @pulumi.getter + def monitor(self) -> Optional[pulumi.Input['FastHttpsAppMonitorArgs']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @monitor.setter + def monitor(self, value: Optional[pulumi.Input['FastHttpsAppMonitorArgs']]): + pulumi.set(self, "monitor", value) + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppPoolMemberArgs']]]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @pool_members.setter + def pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastHttpsAppPoolMemberArgs']]]]): + pulumi.set(self, "pool_members", value) + + @property + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of security log profiles to be used for FAST application + """ + return pulumi.get(self, "security_log_profiles") + + @security_log_profiles.setter + def security_log_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_log_profiles", value) + @property @pulumi.getter(name="slowRampTime") def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: @@ -421,6 +598,18 @@ def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: def slow_ramp_time(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "slow_ramp_time", value) + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @snat_pool_addresses.setter + def snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "snat_pool_addresses", value) + @property @pulumi.getter def tenant(self) -> Optional[pulumi.Input[str]]: @@ -434,16 +623,30 @@ def tenant(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tenant", value) @property - @pulumi.getter(name="tlsServerProfileName") - def tls_server_profile_name(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="tlsClientProfile") + def tls_client_profile(self) -> Optional[pulumi.Input['FastHttpsAppTlsClientProfileArgs']]: """ - Name of an existing TLS server profile. + `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + See TLS Client Profile below for more details. + """ + return pulumi.get(self, "tls_client_profile") + + @tls_client_profile.setter + def tls_client_profile(self, value: Optional[pulumi.Input['FastHttpsAppTlsClientProfileArgs']]): + pulumi.set(self, "tls_client_profile", value) + + @property + @pulumi.getter(name="tlsServerProfile") + def tls_server_profile(self) -> Optional[pulumi.Input['FastHttpsAppTlsServerProfileArgs']]: + """ + `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + See TLS Server Profile below for more details. """ - return pulumi.get(self, "tls_server_profile_name") + return pulumi.get(self, "tls_server_profile") - @tls_server_profile_name.setter - def tls_server_profile_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "tls_server_profile_name", value) + @tls_server_profile.setter + def tls_server_profile(self, value: Optional[pulumi.Input['FastHttpsAppTlsServerProfileArgs']]): + pulumi.set(self, "tls_server_profile", value) @property @pulumi.getter(name="virtualServer") @@ -458,6 +661,19 @@ def virtual_server(self) -> Optional[pulumi.Input['FastHttpsAppVirtualServerArgs def virtual_server(self, value: Optional[pulumi.Input['FastHttpsAppVirtualServerArgs']]): pulumi.set(self, "virtual_server", value) + @property + @pulumi.getter(name="wafSecurityPolicy") + def waf_security_policy(self) -> Optional[pulumi.Input['FastHttpsAppWafSecurityPolicyArgs']]: + """ + `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. + """ + return pulumi.get(self, "waf_security_policy") + + @waf_security_policy.setter + def waf_security_policy(self, value: Optional[pulumi.Input['FastHttpsAppWafSecurityPolicyArgs']]): + pulumi.set(self, "waf_security_policy", value) + class FastHttpsApp(pulumi.CustomResource): @overload @@ -465,18 +681,24 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - create_tls_server_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppCreateTlsServerProfileArgs']]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_tls_client_profile: Optional[pulumi.Input[str]] = None, + existing_tls_server_profile: Optional[pulumi.Input[str]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, - tls_server_profile_name: Optional[pulumi.Input[str]] = None, + tls_client_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppTlsClientProfileArgs']]] = None, + tls_server_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppTlsServerProfileArgs']]] = None, virtual_server: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppVirtualServerArgs']]] = None, + waf_security_policy: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppWafSecurityPolicyArgs']]] = None, __props__=None): """ `FastHttpsApp` This resource will create and manage FAST HTTPS applications on BIG-IP @@ -501,22 +723,30 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] application: Name of the FAST HTTPS application. - :param pulumi.Input[pulumi.InputType['FastHttpsAppCreateTlsServerProfileArgs']] create_tls_server_profile: `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - See TLS Server Profile below for more details. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] endpoint_ltm_policies: List of LTM Policies to be applied FAST HTTPS Application. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input[pulumi.InputType['FastHttpsAppFastCreateMonitorArgs']] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] existing_tls_client_profile: Name of an existing TLS client profile. + :param pulumi.Input[str] existing_tls_server_profile: Name of an existing TLS server profile. + :param pulumi.Input[str] existing_waf_security_policy: Name of an existing WAF Security policy. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[pulumi.InputType['FastHttpsAppMonitorArgs']] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppFastCreatePoolMemberArgs']]]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppPoolMemberArgs']]]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: List of security log profiles to be used for FAST application :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST HTTPS application tenant. - :param pulumi.Input[str] tls_server_profile_name: Name of an existing TLS server profile. + :param pulumi.Input[pulumi.InputType['FastHttpsAppTlsClientProfileArgs']] tls_client_profile: `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + See TLS Client Profile below for more details. + :param pulumi.Input[pulumi.InputType['FastHttpsAppTlsServerProfileArgs']] tls_server_profile: `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + See TLS Server Profile below for more details. :param pulumi.Input[pulumi.InputType['FastHttpsAppVirtualServerArgs']] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. + :param pulumi.Input[pulumi.InputType['FastHttpsAppWafSecurityPolicyArgs']] waf_security_policy: `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. """ ... @overload @@ -560,18 +790,24 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - create_tls_server_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppCreateTlsServerProfileArgs']]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_tls_client_profile: Optional[pulumi.Input[str]] = None, + existing_tls_server_profile: Optional[pulumi.Input[str]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, - tls_server_profile_name: Optional[pulumi.Input[str]] = None, + tls_client_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppTlsClientProfileArgs']]] = None, + tls_server_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppTlsServerProfileArgs']]] = None, virtual_server: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppVirtualServerArgs']]] = None, + waf_security_policy: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppWafSecurityPolicyArgs']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -584,20 +820,27 @@ def _internal_init(__self__, if application is None and not opts.urn: raise TypeError("Missing required property 'application'") __props__.__dict__["application"] = application - __props__.__dict__["create_tls_server_profile"] = create_tls_server_profile - __props__.__dict__["exist_pool_name"] = exist_pool_name + __props__.__dict__["endpoint_ltm_policies"] = endpoint_ltm_policies __props__.__dict__["existing_monitor"] = existing_monitor + __props__.__dict__["existing_pool"] = existing_pool __props__.__dict__["existing_snat_pool"] = existing_snat_pool - __props__.__dict__["fast_create_monitor"] = fast_create_monitor - __props__.__dict__["fast_create_pool_members"] = fast_create_pool_members - __props__.__dict__["fast_create_snat_pool_addresses"] = fast_create_snat_pool_addresses + __props__.__dict__["existing_tls_client_profile"] = existing_tls_client_profile + __props__.__dict__["existing_tls_server_profile"] = existing_tls_server_profile + __props__.__dict__["existing_waf_security_policy"] = existing_waf_security_policy __props__.__dict__["load_balancing_mode"] = load_balancing_mode + __props__.__dict__["monitor"] = monitor + __props__.__dict__["pool_members"] = pool_members + __props__.__dict__["security_log_profiles"] = security_log_profiles __props__.__dict__["slow_ramp_time"] = slow_ramp_time + __props__.__dict__["snat_pool_addresses"] = snat_pool_addresses if tenant is None and not opts.urn: raise TypeError("Missing required property 'tenant'") __props__.__dict__["tenant"] = tenant - __props__.__dict__["tls_server_profile_name"] = tls_server_profile_name + __props__.__dict__["tls_client_profile"] = tls_client_profile + __props__.__dict__["tls_server_profile"] = tls_server_profile __props__.__dict__["virtual_server"] = virtual_server + __props__.__dict__["waf_security_policy"] = waf_security_policy + __props__.__dict__["fast_https_json"] = None super(FastHttpsApp, __self__).__init__( 'f5bigip:index/fastHttpsApp:FastHttpsApp', resource_name, @@ -609,18 +852,25 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - create_tls_server_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppCreateTlsServerProfileArgs']]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, + endpoint_ltm_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + existing_tls_client_profile: Optional[pulumi.Input[str]] = None, + existing_tls_server_profile: Optional[pulumi.Input[str]] = None, + existing_waf_security_policy: Optional[pulumi.Input[str]] = None, + fast_https_json: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, - tls_server_profile_name: Optional[pulumi.Input[str]] = None, - virtual_server: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppVirtualServerArgs']]] = None) -> 'FastHttpsApp': + tls_client_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppTlsClientProfileArgs']]] = None, + tls_server_profile: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppTlsServerProfileArgs']]] = None, + virtual_server: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppVirtualServerArgs']]] = None, + waf_security_policy: Optional[pulumi.Input[pulumi.InputType['FastHttpsAppWafSecurityPolicyArgs']]] = None) -> 'FastHttpsApp': """ Get an existing FastHttpsApp resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -629,40 +879,56 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] application: Name of the FAST HTTPS application. - :param pulumi.Input[pulumi.InputType['FastHttpsAppCreateTlsServerProfileArgs']] create_tls_server_profile: `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - See TLS Server Profile below for more details. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] endpoint_ltm_policies: List of LTM Policies to be applied FAST HTTPS Application. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input[pulumi.InputType['FastHttpsAppFastCreateMonitorArgs']] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] existing_tls_client_profile: Name of an existing TLS client profile. + :param pulumi.Input[str] existing_tls_server_profile: Name of an existing TLS server profile. + :param pulumi.Input[str] existing_waf_security_policy: Name of an existing WAF Security policy. + :param pulumi.Input[str] fast_https_json: Json payload for FAST HTTPS application. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[pulumi.InputType['FastHttpsAppMonitorArgs']] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppFastCreatePoolMemberArgs']]]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastHttpsAppPoolMemberArgs']]]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: List of security log profiles to be used for FAST application :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST HTTPS application tenant. - :param pulumi.Input[str] tls_server_profile_name: Name of an existing TLS server profile. + :param pulumi.Input[pulumi.InputType['FastHttpsAppTlsClientProfileArgs']] tls_client_profile: `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + See TLS Client Profile below for more details. + :param pulumi.Input[pulumi.InputType['FastHttpsAppTlsServerProfileArgs']] tls_server_profile: `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + See TLS Server Profile below for more details. :param pulumi.Input[pulumi.InputType['FastHttpsAppVirtualServerArgs']] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. + :param pulumi.Input[pulumi.InputType['FastHttpsAppWafSecurityPolicyArgs']] waf_security_policy: `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _FastHttpsAppState.__new__(_FastHttpsAppState) __props__.__dict__["application"] = application - __props__.__dict__["create_tls_server_profile"] = create_tls_server_profile - __props__.__dict__["exist_pool_name"] = exist_pool_name + __props__.__dict__["endpoint_ltm_policies"] = endpoint_ltm_policies __props__.__dict__["existing_monitor"] = existing_monitor + __props__.__dict__["existing_pool"] = existing_pool __props__.__dict__["existing_snat_pool"] = existing_snat_pool - __props__.__dict__["fast_create_monitor"] = fast_create_monitor - __props__.__dict__["fast_create_pool_members"] = fast_create_pool_members - __props__.__dict__["fast_create_snat_pool_addresses"] = fast_create_snat_pool_addresses + __props__.__dict__["existing_tls_client_profile"] = existing_tls_client_profile + __props__.__dict__["existing_tls_server_profile"] = existing_tls_server_profile + __props__.__dict__["existing_waf_security_policy"] = existing_waf_security_policy + __props__.__dict__["fast_https_json"] = fast_https_json __props__.__dict__["load_balancing_mode"] = load_balancing_mode + __props__.__dict__["monitor"] = monitor + __props__.__dict__["pool_members"] = pool_members + __props__.__dict__["security_log_profiles"] = security_log_profiles __props__.__dict__["slow_ramp_time"] = slow_ramp_time + __props__.__dict__["snat_pool_addresses"] = snat_pool_addresses __props__.__dict__["tenant"] = tenant - __props__.__dict__["tls_server_profile_name"] = tls_server_profile_name + __props__.__dict__["tls_client_profile"] = tls_client_profile + __props__.__dict__["tls_server_profile"] = tls_server_profile __props__.__dict__["virtual_server"] = virtual_server + __props__.__dict__["waf_security_policy"] = waf_security_policy return FastHttpsApp(resource_name, opts=opts, __props__=__props__) @property @@ -674,21 +940,12 @@ def application(self) -> pulumi.Output[str]: return pulumi.get(self, "application") @property - @pulumi.getter(name="createTlsServerProfile") - def create_tls_server_profile(self) -> pulumi.Output[Optional['outputs.FastHttpsAppCreateTlsServerProfile']]: - """ - `create_tls_server_profile` block takes input for FAST-Generated TLS Server Profile. - See TLS Server Profile below for more details. - """ - return pulumi.get(self, "create_tls_server_profile") - - @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter(name="endpointLtmPolicies") + def endpoint_ltm_policies(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Name of an existing BIG-IP pool. + List of LTM Policies to be applied FAST HTTPS Application. """ - return pulumi.get(self, "exist_pool_name") + return pulumi.get(self, "endpoint_ltm_policies") @property @pulumi.getter(name="existingMonitor") @@ -698,6 +955,14 @@ def existing_monitor(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "existing_monitor") + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> pulumi.Output[Optional[str]]: + """ + Name of an existing BIG-IP pool. + """ + return pulumi.get(self, "existing_pool") + @property @pulumi.getter(name="existingSnatPool") def existing_snat_pool(self) -> pulumi.Output[Optional[str]]: @@ -707,30 +972,36 @@ def existing_snat_pool(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "existing_snat_pool") @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> pulumi.Output[Optional['outputs.FastHttpsAppFastCreateMonitor']]: + @pulumi.getter(name="existingTlsClientProfile") + def existing_tls_client_profile(self) -> pulumi.Output[Optional[str]]: """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. + Name of an existing TLS client profile. """ - return pulumi.get(self, "fast_create_monitor") + return pulumi.get(self, "existing_tls_client_profile") @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> pulumi.Output[Optional[Sequence['outputs.FastHttpsAppFastCreatePoolMember']]]: + @pulumi.getter(name="existingTlsServerProfile") + def existing_tls_server_profile(self) -> pulumi.Output[Optional[str]]: """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. + Name of an existing TLS server profile. """ - return pulumi.get(self, "fast_create_pool_members") + return pulumi.get(self, "existing_tls_server_profile") @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> pulumi.Output[Optional[Sequence[str]]]: + @pulumi.getter(name="existingWafSecurityPolicy") + def existing_waf_security_policy(self) -> pulumi.Output[Optional[str]]: """ - List of address to be used for FAST-Generated SNAT Pool. + Name of an existing WAF Security policy. + """ + return pulumi.get(self, "existing_waf_security_policy") + + @property + @pulumi.getter(name="fastHttpsJson") + def fast_https_json(self) -> pulumi.Output[str]: + """ + Json payload for FAST HTTPS application. """ - return pulumi.get(self, "fast_create_snat_pool_addresses") + return pulumi.get(self, "fast_https_json") @property @pulumi.getter(name="loadBalancingMode") @@ -740,6 +1011,32 @@ def load_balancing_mode(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "load_balancing_mode") + @property + @pulumi.getter + def monitor(self) -> pulumi.Output[Optional['outputs.FastHttpsAppMonitor']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> pulumi.Output[Optional[Sequence['outputs.FastHttpsAppPoolMember']]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @property + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of security log profiles to be used for FAST application + """ + return pulumi.get(self, "security_log_profiles") + @property @pulumi.getter(name="slowRampTime") def slow_ramp_time(self) -> pulumi.Output[Optional[int]]: @@ -748,6 +1045,14 @@ def slow_ramp_time(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "slow_ramp_time") + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + @property @pulumi.getter def tenant(self) -> pulumi.Output[str]: @@ -757,12 +1062,22 @@ def tenant(self) -> pulumi.Output[str]: return pulumi.get(self, "tenant") @property - @pulumi.getter(name="tlsServerProfileName") - def tls_server_profile_name(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter(name="tlsClientProfile") + def tls_client_profile(self) -> pulumi.Output[Optional['outputs.FastHttpsAppTlsClientProfile']]: """ - Name of an existing TLS server profile. + `tls_client_profile` block takes input for FAST-Generated TLS client Profile. + See TLS Client Profile below for more details. """ - return pulumi.get(self, "tls_server_profile_name") + return pulumi.get(self, "tls_client_profile") + + @property + @pulumi.getter(name="tlsServerProfile") + def tls_server_profile(self) -> pulumi.Output[Optional['outputs.FastHttpsAppTlsServerProfile']]: + """ + `tls_server_profile` block takes input for FAST-Generated TLS Server Profile. + See TLS Server Profile below for more details. + """ + return pulumi.get(self, "tls_server_profile") @property @pulumi.getter(name="virtualServer") @@ -773,3 +1088,12 @@ def virtual_server(self) -> pulumi.Output[Optional['outputs.FastHttpsAppVirtualS """ return pulumi.get(self, "virtual_server") + @property + @pulumi.getter(name="wafSecurityPolicy") + def waf_security_policy(self) -> pulumi.Output[Optional['outputs.FastHttpsAppWafSecurityPolicy']]: + """ + `waf_security_policy` block takes input for FAST-Generated WAF Security Policy. + See WAF Security Policy below for more details. + """ + return pulumi.get(self, "waf_security_policy") + diff --git a/sdk/python/pulumi_f5bigip/fast_tcp_app.py b/sdk/python/pulumi_f5bigip/fast_tcp_app.py index fc3076e2..b1a35903 100644 --- a/sdk/python/pulumi_f5bigip/fast_tcp_app.py +++ b/sdk/python/pulumi_f5bigip/fast_tcp_app.py @@ -18,50 +18,50 @@ class FastTcpAppArgs: def __init__(__self__, *, application: pulumi.Input[str], tenant: pulumi.Input[str], - exist_pool_name: Optional[pulumi.Input[str]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input['FastTcpAppFastCreateMonitorArgs']] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppFastCreatePoolMemberArgs']]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input['FastTcpAppMonitorArgs']] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppPoolMemberArgs']]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, virtual_server: Optional[pulumi.Input['FastTcpAppVirtualServerArgs']] = None): """ The set of arguments for constructing a FastTcpApp resource. :param pulumi.Input[str] application: Name of the FAST TCP application. :param pulumi.Input[str] tenant: Name of the FAST TCP application tenant. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input['FastTcpAppFastCreateMonitorArgs'] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input['FastTcpAppMonitorArgs'] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input['FastTcpAppFastCreatePoolMemberArgs']]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input['FastTcpAppPoolMemberArgs']]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input['FastTcpAppVirtualServerArgs'] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. """ pulumi.set(__self__, "application", application) pulumi.set(__self__, "tenant", tenant) - if exist_pool_name is not None: - pulumi.set(__self__, "exist_pool_name", exist_pool_name) if existing_monitor is not None: pulumi.set(__self__, "existing_monitor", existing_monitor) + if existing_pool is not None: + pulumi.set(__self__, "existing_pool", existing_pool) if existing_snat_pool is not None: pulumi.set(__self__, "existing_snat_pool", existing_snat_pool) - if fast_create_monitor is not None: - pulumi.set(__self__, "fast_create_monitor", fast_create_monitor) - if fast_create_pool_members is not None: - pulumi.set(__self__, "fast_create_pool_members", fast_create_pool_members) - if fast_create_snat_pool_addresses is not None: - pulumi.set(__self__, "fast_create_snat_pool_addresses", fast_create_snat_pool_addresses) if load_balancing_mode is not None: pulumi.set(__self__, "load_balancing_mode", load_balancing_mode) + if monitor is not None: + pulumi.set(__self__, "monitor", monitor) + if pool_members is not None: + pulumi.set(__self__, "pool_members", pool_members) if slow_ramp_time is not None: pulumi.set(__self__, "slow_ramp_time", slow_ramp_time) + if snat_pool_addresses is not None: + pulumi.set(__self__, "snat_pool_addresses", snat_pool_addresses) if virtual_server is not None: pulumi.set(__self__, "virtual_server", virtual_server) @@ -89,18 +89,6 @@ def tenant(self) -> pulumi.Input[str]: def tenant(self, value: pulumi.Input[str]): pulumi.set(self, "tenant", value) - @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> Optional[pulumi.Input[str]]: - """ - Name of an existing BIG-IP pool. - """ - return pulumi.get(self, "exist_pool_name") - - @exist_pool_name.setter - def exist_pool_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "exist_pool_name", value) - @property @pulumi.getter(name="existingMonitor") def existing_monitor(self) -> Optional[pulumi.Input[str]]: @@ -113,6 +101,18 @@ def existing_monitor(self) -> Optional[pulumi.Input[str]]: def existing_monitor(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_monitor", value) + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP pool. + """ + return pulumi.get(self, "existing_pool") + + @existing_pool.setter + def existing_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_pool", value) + @property @pulumi.getter(name="existingSnatPool") def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: @@ -126,54 +126,42 @@ def existing_snat_pool(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_snat_pool", value) @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> Optional[pulumi.Input['FastTcpAppFastCreateMonitorArgs']]: + @pulumi.getter(name="loadBalancingMode") + def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. + 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 """ - return pulumi.get(self, "fast_create_monitor") + return pulumi.get(self, "load_balancing_mode") - @fast_create_monitor.setter - def fast_create_monitor(self, value: Optional[pulumi.Input['FastTcpAppFastCreateMonitorArgs']]): - pulumi.set(self, "fast_create_monitor", value) + @load_balancing_mode.setter + def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "load_balancing_mode", value) @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppFastCreatePoolMemberArgs']]]]: + @pulumi.getter + def monitor(self) -> Optional[pulumi.Input['FastTcpAppMonitorArgs']]: """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. """ - return pulumi.get(self, "fast_create_pool_members") + return pulumi.get(self, "monitor") - @fast_create_pool_members.setter - def fast_create_pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppFastCreatePoolMemberArgs']]]]): - pulumi.set(self, "fast_create_pool_members", value) + @monitor.setter + def monitor(self, value: Optional[pulumi.Input['FastTcpAppMonitorArgs']]): + pulumi.set(self, "monitor", value) @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + @pulumi.getter(name="poolMembers") + def pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppPoolMemberArgs']]]]: """ - List of address to be used for FAST-Generated SNAT Pool. + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. """ - return pulumi.get(self, "fast_create_snat_pool_addresses") + return pulumi.get(self, "pool_members") - @fast_create_snat_pool_addresses.setter - def fast_create_snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "fast_create_snat_pool_addresses", value) - - @property - @pulumi.getter(name="loadBalancingMode") - def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: - """ - 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 - """ - return pulumi.get(self, "load_balancing_mode") - - @load_balancing_mode.setter - def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "load_balancing_mode", value) + @pool_members.setter + def pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppPoolMemberArgs']]]]): + pulumi.set(self, "pool_members", value) @property @pulumi.getter(name="slowRampTime") @@ -187,6 +175,18 @@ def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: def slow_ramp_time(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "slow_ramp_time", value) + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @snat_pool_addresses.setter + def snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "snat_pool_addresses", value) + @property @pulumi.getter(name="virtualServer") def virtual_server(self) -> Optional[pulumi.Input['FastTcpAppVirtualServerArgs']]: @@ -205,55 +205,55 @@ def virtual_server(self, value: Optional[pulumi.Input['FastTcpAppVirtualServerAr class _FastTcpAppState: def __init__(__self__, *, application: Optional[pulumi.Input[str]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input['FastTcpAppFastCreateMonitorArgs']] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppFastCreatePoolMemberArgs']]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, fast_tcp_json: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input['FastTcpAppMonitorArgs']] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppPoolMemberArgs']]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, virtual_server: Optional[pulumi.Input['FastTcpAppVirtualServerArgs']] = None): """ Input properties used for looking up and filtering FastTcpApp resources. :param pulumi.Input[str] application: Name of the FAST TCP application. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input['FastTcpAppFastCreateMonitorArgs'] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input['FastTcpAppFastCreatePoolMemberArgs']]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] fast_tcp_json: Json payload for FAST TCP application. :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input['FastTcpAppMonitorArgs'] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + :param pulumi.Input[Sequence[pulumi.Input['FastTcpAppPoolMemberArgs']]] pool_members: `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST TCP application tenant. :param pulumi.Input['FastTcpAppVirtualServerArgs'] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. """ if application is not None: pulumi.set(__self__, "application", application) - if exist_pool_name is not None: - pulumi.set(__self__, "exist_pool_name", exist_pool_name) if existing_monitor is not None: pulumi.set(__self__, "existing_monitor", existing_monitor) + if existing_pool is not None: + pulumi.set(__self__, "existing_pool", existing_pool) if existing_snat_pool is not None: pulumi.set(__self__, "existing_snat_pool", existing_snat_pool) - if fast_create_monitor is not None: - pulumi.set(__self__, "fast_create_monitor", fast_create_monitor) - if fast_create_pool_members is not None: - pulumi.set(__self__, "fast_create_pool_members", fast_create_pool_members) - if fast_create_snat_pool_addresses is not None: - pulumi.set(__self__, "fast_create_snat_pool_addresses", fast_create_snat_pool_addresses) if fast_tcp_json is not None: pulumi.set(__self__, "fast_tcp_json", fast_tcp_json) if load_balancing_mode is not None: pulumi.set(__self__, "load_balancing_mode", load_balancing_mode) + if monitor is not None: + pulumi.set(__self__, "monitor", monitor) + if pool_members is not None: + pulumi.set(__self__, "pool_members", pool_members) if slow_ramp_time is not None: pulumi.set(__self__, "slow_ramp_time", slow_ramp_time) + if snat_pool_addresses is not None: + pulumi.set(__self__, "snat_pool_addresses", snat_pool_addresses) if tenant is not None: pulumi.set(__self__, "tenant", tenant) if virtual_server is not None: @@ -271,18 +271,6 @@ def application(self) -> Optional[pulumi.Input[str]]: def application(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "application", value) - @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> Optional[pulumi.Input[str]]: - """ - Name of an existing BIG-IP pool. - """ - return pulumi.get(self, "exist_pool_name") - - @exist_pool_name.setter - def exist_pool_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "exist_pool_name", value) - @property @pulumi.getter(name="existingMonitor") def existing_monitor(self) -> Optional[pulumi.Input[str]]: @@ -295,6 +283,18 @@ def existing_monitor(self) -> Optional[pulumi.Input[str]]: def existing_monitor(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_monitor", value) + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP pool. + """ + return pulumi.get(self, "existing_pool") + + @existing_pool.setter + def existing_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_pool", value) + @property @pulumi.getter(name="existingSnatPool") def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: @@ -307,44 +307,6 @@ def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: def existing_snat_pool(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "existing_snat_pool", value) - @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> Optional[pulumi.Input['FastTcpAppFastCreateMonitorArgs']]: - """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. - """ - return pulumi.get(self, "fast_create_monitor") - - @fast_create_monitor.setter - def fast_create_monitor(self, value: Optional[pulumi.Input['FastTcpAppFastCreateMonitorArgs']]): - pulumi.set(self, "fast_create_monitor", value) - - @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppFastCreatePoolMemberArgs']]]]: - """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. - """ - return pulumi.get(self, "fast_create_pool_members") - - @fast_create_pool_members.setter - def fast_create_pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppFastCreatePoolMemberArgs']]]]): - pulumi.set(self, "fast_create_pool_members", value) - - @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - List of address to be used for FAST-Generated SNAT Pool. - """ - return pulumi.get(self, "fast_create_snat_pool_addresses") - - @fast_create_snat_pool_addresses.setter - def fast_create_snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "fast_create_snat_pool_addresses", value) - @property @pulumi.getter(name="fastTcpJson") def fast_tcp_json(self) -> Optional[pulumi.Input[str]]: @@ -369,6 +331,32 @@ def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "load_balancing_mode", value) + @property + @pulumi.getter + def monitor(self) -> Optional[pulumi.Input['FastTcpAppMonitorArgs']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @monitor.setter + def monitor(self, value: Optional[pulumi.Input['FastTcpAppMonitorArgs']]): + pulumi.set(self, "monitor", value) + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppPoolMemberArgs']]]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @pool_members.setter + def pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastTcpAppPoolMemberArgs']]]]): + pulumi.set(self, "pool_members", value) + @property @pulumi.getter(name="slowRampTime") def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: @@ -381,6 +369,18 @@ def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: def slow_ramp_time(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "slow_ramp_time", value) + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @snat_pool_addresses.setter + def snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "snat_pool_addresses", value) + @property @pulumi.getter def tenant(self) -> Optional[pulumi.Input[str]]: @@ -413,14 +413,14 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastTcpAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastTcpAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppPoolMemberArgs']]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, virtual_server: Optional[pulumi.Input[pulumi.InputType['FastTcpAppVirtualServerArgs']]] = None, __props__=None): @@ -435,7 +435,7 @@ def __init__(__self__, fast_tcp_app = f5bigip.FastTcpApp("fast-tcp-app", application="tcp_app_2", - fast_create_pool_members=[f5bigip.FastTcpAppFastCreatePoolMemberArgs( + pool_members=[f5bigip.FastTcpAppPoolMemberArgs( addresses=[ "10.11.34.65", "56.43.23.76", @@ -455,16 +455,16 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] application: Name of the FAST TCP application. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input[pulumi.InputType['FastTcpAppFastCreateMonitorArgs']] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[pulumi.InputType['FastTcpAppMonitorArgs']] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppFastCreatePoolMemberArgs']]]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppPoolMemberArgs']]]] pool_members: `pool_members` block takes input for FAST-Generated Pool. See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. - :param pulumi.Input[str] load_balancing_mode: 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 :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST TCP application tenant. :param pulumi.Input[pulumi.InputType['FastTcpAppVirtualServerArgs']] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. @@ -486,7 +486,7 @@ def __init__(__self__, fast_tcp_app = f5bigip.FastTcpApp("fast-tcp-app", application="tcp_app_2", - fast_create_pool_members=[f5bigip.FastTcpAppFastCreatePoolMemberArgs( + pool_members=[f5bigip.FastTcpAppPoolMemberArgs( addresses=[ "10.11.34.65", "56.43.23.76", @@ -519,14 +519,14 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastTcpAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastTcpAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppPoolMemberArgs']]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, virtual_server: Optional[pulumi.Input[pulumi.InputType['FastTcpAppVirtualServerArgs']]] = None, __props__=None): @@ -541,14 +541,14 @@ def _internal_init(__self__, if application is None and not opts.urn: raise TypeError("Missing required property 'application'") __props__.__dict__["application"] = application - __props__.__dict__["exist_pool_name"] = exist_pool_name __props__.__dict__["existing_monitor"] = existing_monitor + __props__.__dict__["existing_pool"] = existing_pool __props__.__dict__["existing_snat_pool"] = existing_snat_pool - __props__.__dict__["fast_create_monitor"] = fast_create_monitor - __props__.__dict__["fast_create_pool_members"] = fast_create_pool_members - __props__.__dict__["fast_create_snat_pool_addresses"] = fast_create_snat_pool_addresses __props__.__dict__["load_balancing_mode"] = load_balancing_mode + __props__.__dict__["monitor"] = monitor + __props__.__dict__["pool_members"] = pool_members __props__.__dict__["slow_ramp_time"] = slow_ramp_time + __props__.__dict__["snat_pool_addresses"] = snat_pool_addresses if tenant is None and not opts.urn: raise TypeError("Missing required property 'tenant'") __props__.__dict__["tenant"] = tenant @@ -565,15 +565,15 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, application: Optional[pulumi.Input[str]] = None, - exist_pool_name: Optional[pulumi.Input[str]] = None, existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, existing_snat_pool: Optional[pulumi.Input[str]] = None, - fast_create_monitor: Optional[pulumi.Input[pulumi.InputType['FastTcpAppFastCreateMonitorArgs']]] = None, - fast_create_pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppFastCreatePoolMemberArgs']]]]] = None, - fast_create_snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, fast_tcp_json: Optional[pulumi.Input[str]] = None, load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastTcpAppMonitorArgs']]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppPoolMemberArgs']]]]] = None, slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tenant: Optional[pulumi.Input[str]] = None, virtual_server: Optional[pulumi.Input[pulumi.InputType['FastTcpAppVirtualServerArgs']]] = None) -> 'FastTcpApp': """ @@ -584,17 +584,17 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] application: Name of the FAST TCP application. - :param pulumi.Input[str] exist_pool_name: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. - :param pulumi.Input[pulumi.InputType['FastTcpAppFastCreateMonitorArgs']] fast_create_monitor: `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppFastCreatePoolMemberArgs']]]] fast_create_pool_members: `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fast_create_snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] fast_tcp_json: Json payload for FAST TCP application. :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[pulumi.InputType['FastTcpAppMonitorArgs']] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastTcpAppPoolMemberArgs']]]] pool_members: `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. :param pulumi.Input[str] tenant: Name of the FAST TCP application tenant. :param pulumi.Input[pulumi.InputType['FastTcpAppVirtualServerArgs']] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. See virtual server below for more details. @@ -604,15 +604,15 @@ def get(resource_name: str, __props__ = _FastTcpAppState.__new__(_FastTcpAppState) __props__.__dict__["application"] = application - __props__.__dict__["exist_pool_name"] = exist_pool_name __props__.__dict__["existing_monitor"] = existing_monitor + __props__.__dict__["existing_pool"] = existing_pool __props__.__dict__["existing_snat_pool"] = existing_snat_pool - __props__.__dict__["fast_create_monitor"] = fast_create_monitor - __props__.__dict__["fast_create_pool_members"] = fast_create_pool_members - __props__.__dict__["fast_create_snat_pool_addresses"] = fast_create_snat_pool_addresses __props__.__dict__["fast_tcp_json"] = fast_tcp_json __props__.__dict__["load_balancing_mode"] = load_balancing_mode + __props__.__dict__["monitor"] = monitor + __props__.__dict__["pool_members"] = pool_members __props__.__dict__["slow_ramp_time"] = slow_ramp_time + __props__.__dict__["snat_pool_addresses"] = snat_pool_addresses __props__.__dict__["tenant"] = tenant __props__.__dict__["virtual_server"] = virtual_server return FastTcpApp(resource_name, opts=opts, __props__=__props__) @@ -625,14 +625,6 @@ def application(self) -> pulumi.Output[str]: """ return pulumi.get(self, "application") - @property - @pulumi.getter(name="existPoolName") - def exist_pool_name(self) -> pulumi.Output[Optional[str]]: - """ - Name of an existing BIG-IP pool. - """ - return pulumi.get(self, "exist_pool_name") - @property @pulumi.getter(name="existingMonitor") def existing_monitor(self) -> pulumi.Output[Optional[str]]: @@ -642,38 +634,20 @@ def existing_monitor(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "existing_monitor") @property - @pulumi.getter(name="existingSnatPool") - def existing_snat_pool(self) -> pulumi.Output[Optional[str]]: - """ - Name of an existing BIG-IP SNAT pool. - """ - return pulumi.get(self, "existing_snat_pool") - - @property - @pulumi.getter(name="fastCreateMonitor") - def fast_create_monitor(self) -> pulumi.Output[Optional['outputs.FastTcpAppFastCreateMonitor']]: - """ - `fast_create_monitor` block takes input for FAST-Generated Pool Monitor. - See Pool Monitor below for more details. + @pulumi.getter(name="existingPool") + def existing_pool(self) -> pulumi.Output[Optional[str]]: """ - return pulumi.get(self, "fast_create_monitor") - - @property - @pulumi.getter(name="fastCreatePoolMembers") - def fast_create_pool_members(self) -> pulumi.Output[Optional[Sequence['outputs.FastTcpAppFastCreatePoolMember']]]: - """ - `fast_create_pool_members` block takes input for FAST-Generated Pool. - See Pool Members below for more details. + Name of an existing BIG-IP pool. """ - return pulumi.get(self, "fast_create_pool_members") + return pulumi.get(self, "existing_pool") @property - @pulumi.getter(name="fastCreateSnatPoolAddresses") - def fast_create_snat_pool_addresses(self) -> pulumi.Output[Optional[Sequence[str]]]: + @pulumi.getter(name="existingSnatPool") + def existing_snat_pool(self) -> pulumi.Output[Optional[str]]: """ - List of address to be used for FAST-Generated SNAT Pool. + Name of an existing BIG-IP SNAT pool. """ - return pulumi.get(self, "fast_create_snat_pool_addresses") + return pulumi.get(self, "existing_snat_pool") @property @pulumi.getter(name="fastTcpJson") @@ -691,6 +665,24 @@ def load_balancing_mode(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "load_balancing_mode") + @property + @pulumi.getter + def monitor(self) -> pulumi.Output[Optional['outputs.FastTcpAppMonitor']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> pulumi.Output[Optional[Sequence['outputs.FastTcpAppPoolMember']]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + @property @pulumi.getter(name="slowRampTime") def slow_ramp_time(self) -> pulumi.Output[Optional[int]]: @@ -699,6 +691,14 @@ def slow_ramp_time(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "slow_ramp_time") + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + @property @pulumi.getter def tenant(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_f5bigip/fast_udp_app.py b/sdk/python/pulumi_f5bigip/fast_udp_app.py new file mode 100644 index 00000000..53df899b --- /dev/null +++ b/sdk/python/pulumi_f5bigip/fast_udp_app.py @@ -0,0 +1,1141 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['FastUdpAppArgs', 'FastUdpApp'] + +@pulumi.input_type +class FastUdpAppArgs: + def __init__(__self__, *, + application: pulumi.Input[str], + tenant: pulumi.Input[str], + enable_fastl4: Optional[pulumi.Input[bool]] = None, + existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, + existing_profile: Optional[pulumi.Input[str]] = None, + existing_snat_pool: Optional[pulumi.Input[str]] = None, + fallback_persistence: Optional[pulumi.Input[str]] = None, + irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input['FastUdpAppMonitorArgs']] = None, + persistence_profile: Optional[pulumi.Input[str]] = None, + persistence_type: Optional[pulumi.Input[str]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastUdpAppPoolMemberArgs']]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + virtual_server: Optional[pulumi.Input['FastUdpAppVirtualServerArgs']] = None, + vlans_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vlans_rejecteds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a FastUdpApp resource. + :param pulumi.Input[str] application: Name of the FAST UDP application. + :param pulumi.Input[str] tenant: Name of the FAST UDP application tenant. + :param pulumi.Input[bool] enable_fastl4: Enables use of FastL4 profiles. + :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. + :param pulumi.Input[str] existing_profile: Name of an existing BIG-IP FastL4 or UDP profile. + :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. + :param pulumi.Input[str] fallback_persistence: Type of fallback persistence record to be created for each new client connection. + :param pulumi.Input[Sequence[pulumi.Input[str]]] irules: Irules to attach to Virtual Server. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input['FastUdpAppMonitorArgs'] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + :param pulumi.Input[str] persistence_profile: Name of an existing BIG-IP persistence profile to be used. + :param pulumi.Input[str] persistence_type: Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + :param pulumi.Input[Sequence[pulumi.Input['FastUdpAppPoolMemberArgs']]] pool_members: `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: Existing security log profiles to enable. + :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. + :param pulumi.Input['FastUdpAppVirtualServerArgs'] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + See virtual server below for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans_alloweds: Names of existing VLANs to allow. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans_rejecteds: Names of existing VLANs to reject. + """ + pulumi.set(__self__, "application", application) + pulumi.set(__self__, "tenant", tenant) + if enable_fastl4 is not None: + pulumi.set(__self__, "enable_fastl4", enable_fastl4) + if existing_monitor is not None: + pulumi.set(__self__, "existing_monitor", existing_monitor) + if existing_pool is not None: + pulumi.set(__self__, "existing_pool", existing_pool) + if existing_profile is not None: + pulumi.set(__self__, "existing_profile", existing_profile) + if existing_snat_pool is not None: + pulumi.set(__self__, "existing_snat_pool", existing_snat_pool) + if fallback_persistence is not None: + pulumi.set(__self__, "fallback_persistence", fallback_persistence) + if irules is not None: + pulumi.set(__self__, "irules", irules) + if load_balancing_mode is not None: + pulumi.set(__self__, "load_balancing_mode", load_balancing_mode) + if monitor is not None: + pulumi.set(__self__, "monitor", monitor) + if persistence_profile is not None: + pulumi.set(__self__, "persistence_profile", persistence_profile) + if persistence_type is not None: + pulumi.set(__self__, "persistence_type", persistence_type) + if pool_members is not None: + pulumi.set(__self__, "pool_members", pool_members) + if security_log_profiles is not None: + pulumi.set(__self__, "security_log_profiles", security_log_profiles) + if slow_ramp_time is not None: + pulumi.set(__self__, "slow_ramp_time", slow_ramp_time) + if snat_pool_addresses is not None: + pulumi.set(__self__, "snat_pool_addresses", snat_pool_addresses) + if virtual_server is not None: + pulumi.set(__self__, "virtual_server", virtual_server) + if vlans_alloweds is not None: + pulumi.set(__self__, "vlans_alloweds", vlans_alloweds) + if vlans_rejecteds is not None: + pulumi.set(__self__, "vlans_rejecteds", vlans_rejecteds) + + @property + @pulumi.getter + def application(self) -> pulumi.Input[str]: + """ + Name of the FAST UDP application. + """ + return pulumi.get(self, "application") + + @application.setter + def application(self, value: pulumi.Input[str]): + pulumi.set(self, "application", value) + + @property + @pulumi.getter + def tenant(self) -> pulumi.Input[str]: + """ + Name of the FAST UDP application tenant. + """ + return pulumi.get(self, "tenant") + + @tenant.setter + def tenant(self, value: pulumi.Input[str]): + pulumi.set(self, "tenant", value) + + @property + @pulumi.getter(name="enableFastl4") + def enable_fastl4(self) -> Optional[pulumi.Input[bool]]: + """ + Enables use of FastL4 profiles. + """ + return pulumi.get(self, "enable_fastl4") + + @enable_fastl4.setter + def enable_fastl4(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_fastl4", value) + + @property + @pulumi.getter(name="existingMonitor") + def existing_monitor(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + """ + return pulumi.get(self, "existing_monitor") + + @existing_monitor.setter + def existing_monitor(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_monitor", value) + + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP pool. + """ + return pulumi.get(self, "existing_pool") + + @existing_pool.setter + def existing_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_pool", value) + + @property + @pulumi.getter(name="existingProfile") + def existing_profile(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP FastL4 or UDP profile. + """ + return pulumi.get(self, "existing_profile") + + @existing_profile.setter + def existing_profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_profile", value) + + @property + @pulumi.getter(name="existingSnatPool") + def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP SNAT pool. + """ + return pulumi.get(self, "existing_snat_pool") + + @existing_snat_pool.setter + def existing_snat_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_snat_pool", value) + + @property + @pulumi.getter(name="fallbackPersistence") + def fallback_persistence(self) -> Optional[pulumi.Input[str]]: + """ + Type of fallback persistence record to be created for each new client connection. + """ + return pulumi.get(self, "fallback_persistence") + + @fallback_persistence.setter + def fallback_persistence(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fallback_persistence", value) + + @property + @pulumi.getter + def irules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Irules to attach to Virtual Server. + """ + return pulumi.get(self, "irules") + + @irules.setter + def irules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "irules", value) + + @property + @pulumi.getter(name="loadBalancingMode") + def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: + """ + 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 + """ + return pulumi.get(self, "load_balancing_mode") + + @load_balancing_mode.setter + def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "load_balancing_mode", value) + + @property + @pulumi.getter + def monitor(self) -> Optional[pulumi.Input['FastUdpAppMonitorArgs']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @monitor.setter + def monitor(self, value: Optional[pulumi.Input['FastUdpAppMonitorArgs']]): + pulumi.set(self, "monitor", value) + + @property + @pulumi.getter(name="persistenceProfile") + def persistence_profile(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP persistence profile to be used. + """ + return pulumi.get(self, "persistence_profile") + + @persistence_profile.setter + def persistence_profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "persistence_profile", value) + + @property + @pulumi.getter(name="persistenceType") + def persistence_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + """ + return pulumi.get(self, "persistence_type") + + @persistence_type.setter + def persistence_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "persistence_type", value) + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastUdpAppPoolMemberArgs']]]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @pool_members.setter + def pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastUdpAppPoolMemberArgs']]]]): + pulumi.set(self, "pool_members", value) + + @property + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Existing security log profiles to enable. + """ + return pulumi.get(self, "security_log_profiles") + + @security_log_profiles.setter + def security_log_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_log_profiles", value) + + @property + @pulumi.getter(name="slowRampTime") + def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: + """ + Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + """ + return pulumi.get(self, "slow_ramp_time") + + @slow_ramp_time.setter + def slow_ramp_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "slow_ramp_time", value) + + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @snat_pool_addresses.setter + def snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "snat_pool_addresses", value) + + @property + @pulumi.getter(name="virtualServer") + def virtual_server(self) -> Optional[pulumi.Input['FastUdpAppVirtualServerArgs']]: + """ + `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + See virtual server below for more details. + """ + return pulumi.get(self, "virtual_server") + + @virtual_server.setter + def virtual_server(self, value: Optional[pulumi.Input['FastUdpAppVirtualServerArgs']]): + pulumi.set(self, "virtual_server", value) + + @property + @pulumi.getter(name="vlansAlloweds") + def vlans_alloweds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Names of existing VLANs to allow. + """ + return pulumi.get(self, "vlans_alloweds") + + @vlans_alloweds.setter + def vlans_alloweds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vlans_alloweds", value) + + @property + @pulumi.getter(name="vlansRejecteds") + def vlans_rejecteds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Names of existing VLANs to reject. + """ + return pulumi.get(self, "vlans_rejecteds") + + @vlans_rejecteds.setter + def vlans_rejecteds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vlans_rejecteds", value) + + +@pulumi.input_type +class _FastUdpAppState: + def __init__(__self__, *, + application: Optional[pulumi.Input[str]] = None, + enable_fastl4: Optional[pulumi.Input[bool]] = None, + existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, + existing_profile: Optional[pulumi.Input[str]] = None, + existing_snat_pool: Optional[pulumi.Input[str]] = None, + fallback_persistence: Optional[pulumi.Input[str]] = None, + fast_udp_json: Optional[pulumi.Input[str]] = None, + irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input['FastUdpAppMonitorArgs']] = None, + persistence_profile: Optional[pulumi.Input[str]] = None, + persistence_type: Optional[pulumi.Input[str]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input['FastUdpAppPoolMemberArgs']]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant: Optional[pulumi.Input[str]] = None, + virtual_server: Optional[pulumi.Input['FastUdpAppVirtualServerArgs']] = None, + vlans_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vlans_rejecteds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering FastUdpApp resources. + :param pulumi.Input[str] application: Name of the FAST UDP application. + :param pulumi.Input[bool] enable_fastl4: Enables use of FastL4 profiles. + :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. + :param pulumi.Input[str] existing_profile: Name of an existing BIG-IP FastL4 or UDP profile. + :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. + :param pulumi.Input[str] fallback_persistence: Type of fallback persistence record to be created for each new client connection. + :param pulumi.Input[str] fast_udp_json: Json payload for FAST UDP application. + :param pulumi.Input[Sequence[pulumi.Input[str]]] irules: Irules to attach to Virtual Server. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input['FastUdpAppMonitorArgs'] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + :param pulumi.Input[str] persistence_profile: Name of an existing BIG-IP persistence profile to be used. + :param pulumi.Input[str] persistence_type: Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + :param pulumi.Input[Sequence[pulumi.Input['FastUdpAppPoolMemberArgs']]] pool_members: `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: Existing security log profiles to enable. + :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. + :param pulumi.Input[str] tenant: Name of the FAST UDP application tenant. + :param pulumi.Input['FastUdpAppVirtualServerArgs'] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + See virtual server below for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans_alloweds: Names of existing VLANs to allow. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans_rejecteds: Names of existing VLANs to reject. + """ + if application is not None: + pulumi.set(__self__, "application", application) + if enable_fastl4 is not None: + pulumi.set(__self__, "enable_fastl4", enable_fastl4) + if existing_monitor is not None: + pulumi.set(__self__, "existing_monitor", existing_monitor) + if existing_pool is not None: + pulumi.set(__self__, "existing_pool", existing_pool) + if existing_profile is not None: + pulumi.set(__self__, "existing_profile", existing_profile) + if existing_snat_pool is not None: + pulumi.set(__self__, "existing_snat_pool", existing_snat_pool) + if fallback_persistence is not None: + pulumi.set(__self__, "fallback_persistence", fallback_persistence) + if fast_udp_json is not None: + pulumi.set(__self__, "fast_udp_json", fast_udp_json) + if irules is not None: + pulumi.set(__self__, "irules", irules) + if load_balancing_mode is not None: + pulumi.set(__self__, "load_balancing_mode", load_balancing_mode) + if monitor is not None: + pulumi.set(__self__, "monitor", monitor) + if persistence_profile is not None: + pulumi.set(__self__, "persistence_profile", persistence_profile) + if persistence_type is not None: + pulumi.set(__self__, "persistence_type", persistence_type) + if pool_members is not None: + pulumi.set(__self__, "pool_members", pool_members) + if security_log_profiles is not None: + pulumi.set(__self__, "security_log_profiles", security_log_profiles) + if slow_ramp_time is not None: + pulumi.set(__self__, "slow_ramp_time", slow_ramp_time) + if snat_pool_addresses is not None: + pulumi.set(__self__, "snat_pool_addresses", snat_pool_addresses) + if tenant is not None: + pulumi.set(__self__, "tenant", tenant) + if virtual_server is not None: + pulumi.set(__self__, "virtual_server", virtual_server) + if vlans_alloweds is not None: + pulumi.set(__self__, "vlans_alloweds", vlans_alloweds) + if vlans_rejecteds is not None: + pulumi.set(__self__, "vlans_rejecteds", vlans_rejecteds) + + @property + @pulumi.getter + def application(self) -> Optional[pulumi.Input[str]]: + """ + Name of the FAST UDP application. + """ + return pulumi.get(self, "application") + + @application.setter + def application(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application", value) + + @property + @pulumi.getter(name="enableFastl4") + def enable_fastl4(self) -> Optional[pulumi.Input[bool]]: + """ + Enables use of FastL4 profiles. + """ + return pulumi.get(self, "enable_fastl4") + + @enable_fastl4.setter + def enable_fastl4(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_fastl4", value) + + @property + @pulumi.getter(name="existingMonitor") + def existing_monitor(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + """ + return pulumi.get(self, "existing_monitor") + + @existing_monitor.setter + def existing_monitor(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_monitor", value) + + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP pool. + """ + return pulumi.get(self, "existing_pool") + + @existing_pool.setter + def existing_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_pool", value) + + @property + @pulumi.getter(name="existingProfile") + def existing_profile(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP FastL4 or UDP profile. + """ + return pulumi.get(self, "existing_profile") + + @existing_profile.setter + def existing_profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_profile", value) + + @property + @pulumi.getter(name="existingSnatPool") + def existing_snat_pool(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP SNAT pool. + """ + return pulumi.get(self, "existing_snat_pool") + + @existing_snat_pool.setter + def existing_snat_pool(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "existing_snat_pool", value) + + @property + @pulumi.getter(name="fallbackPersistence") + def fallback_persistence(self) -> Optional[pulumi.Input[str]]: + """ + Type of fallback persistence record to be created for each new client connection. + """ + return pulumi.get(self, "fallback_persistence") + + @fallback_persistence.setter + def fallback_persistence(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fallback_persistence", value) + + @property + @pulumi.getter(name="fastUdpJson") + def fast_udp_json(self) -> Optional[pulumi.Input[str]]: + """ + Json payload for FAST UDP application. + """ + return pulumi.get(self, "fast_udp_json") + + @fast_udp_json.setter + def fast_udp_json(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fast_udp_json", value) + + @property + @pulumi.getter + def irules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Irules to attach to Virtual Server. + """ + return pulumi.get(self, "irules") + + @irules.setter + def irules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "irules", value) + + @property + @pulumi.getter(name="loadBalancingMode") + def load_balancing_mode(self) -> Optional[pulumi.Input[str]]: + """ + 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 + """ + return pulumi.get(self, "load_balancing_mode") + + @load_balancing_mode.setter + def load_balancing_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "load_balancing_mode", value) + + @property + @pulumi.getter + def monitor(self) -> Optional[pulumi.Input['FastUdpAppMonitorArgs']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @monitor.setter + def monitor(self, value: Optional[pulumi.Input['FastUdpAppMonitorArgs']]): + pulumi.set(self, "monitor", value) + + @property + @pulumi.getter(name="persistenceProfile") + def persistence_profile(self) -> Optional[pulumi.Input[str]]: + """ + Name of an existing BIG-IP persistence profile to be used. + """ + return pulumi.get(self, "persistence_profile") + + @persistence_profile.setter + def persistence_profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "persistence_profile", value) + + @property + @pulumi.getter(name="persistenceType") + def persistence_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + """ + return pulumi.get(self, "persistence_type") + + @persistence_type.setter + def persistence_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "persistence_type", value) + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FastUdpAppPoolMemberArgs']]]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @pool_members.setter + def pool_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FastUdpAppPoolMemberArgs']]]]): + pulumi.set(self, "pool_members", value) + + @property + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Existing security log profiles to enable. + """ + return pulumi.get(self, "security_log_profiles") + + @security_log_profiles.setter + def security_log_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_log_profiles", value) + + @property + @pulumi.getter(name="slowRampTime") + def slow_ramp_time(self) -> Optional[pulumi.Input[int]]: + """ + Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + """ + return pulumi.get(self, "slow_ramp_time") + + @slow_ramp_time.setter + def slow_ramp_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "slow_ramp_time", value) + + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @snat_pool_addresses.setter + def snat_pool_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "snat_pool_addresses", value) + + @property + @pulumi.getter + def tenant(self) -> Optional[pulumi.Input[str]]: + """ + Name of the FAST UDP application tenant. + """ + return pulumi.get(self, "tenant") + + @tenant.setter + def tenant(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant", value) + + @property + @pulumi.getter(name="virtualServer") + def virtual_server(self) -> Optional[pulumi.Input['FastUdpAppVirtualServerArgs']]: + """ + `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + See virtual server below for more details. + """ + return pulumi.get(self, "virtual_server") + + @virtual_server.setter + def virtual_server(self, value: Optional[pulumi.Input['FastUdpAppVirtualServerArgs']]): + pulumi.set(self, "virtual_server", value) + + @property + @pulumi.getter(name="vlansAlloweds") + def vlans_alloweds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Names of existing VLANs to allow. + """ + return pulumi.get(self, "vlans_alloweds") + + @vlans_alloweds.setter + def vlans_alloweds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vlans_alloweds", value) + + @property + @pulumi.getter(name="vlansRejecteds") + def vlans_rejecteds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Names of existing VLANs to reject. + """ + return pulumi.get(self, "vlans_rejecteds") + + @vlans_rejecteds.setter + def vlans_rejecteds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vlans_rejecteds", value) + + +class FastUdpApp(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application: Optional[pulumi.Input[str]] = None, + enable_fastl4: Optional[pulumi.Input[bool]] = None, + existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, + existing_profile: Optional[pulumi.Input[str]] = None, + existing_snat_pool: Optional[pulumi.Input[str]] = None, + fallback_persistence: Optional[pulumi.Input[str]] = None, + irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastUdpAppMonitorArgs']]] = None, + persistence_profile: Optional[pulumi.Input[str]] = None, + persistence_type: Optional[pulumi.Input[str]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastUdpAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant: Optional[pulumi.Input[str]] = None, + virtual_server: Optional[pulumi.Input[pulumi.InputType['FastUdpAppVirtualServerArgs']]] = None, + vlans_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vlans_rejecteds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + `FastUdpApp` This resource will create and manage FAST UDP applications on BIG-IP from provided JSON declaration. + + ## Example Usage + + ```python + import pulumi + import pulumi_f5bigip as f5bigip + + fast_udp_app = f5bigip.FastUdpApp("fast-udp-app", + application="udp_app_2", + pool_members=[f5bigip.FastUdpAppPoolMemberArgs( + addresses=[ + "10.11.34.65", + "56.43.23.76", + ], + connection_limit=4, + port=443, + priority_group=1, + share_nodes=True, + )], + tenant="udp_app_tenant", + virtual_server=f5bigip.FastUdpAppVirtualServerArgs( + ip="11.12.16.30", + port=443, + )) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] application: Name of the FAST UDP application. + :param pulumi.Input[bool] enable_fastl4: Enables use of FastL4 profiles. + :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. + :param pulumi.Input[str] existing_profile: Name of an existing BIG-IP FastL4 or UDP profile. + :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. + :param pulumi.Input[str] fallback_persistence: Type of fallback persistence record to be created for each new client connection. + :param pulumi.Input[Sequence[pulumi.Input[str]]] irules: Irules to attach to Virtual Server. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[pulumi.InputType['FastUdpAppMonitorArgs']] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + :param pulumi.Input[str] persistence_profile: Name of an existing BIG-IP persistence profile to be used. + :param pulumi.Input[str] persistence_type: Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastUdpAppPoolMemberArgs']]]] pool_members: `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: Existing security log profiles to enable. + :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. + :param pulumi.Input[str] tenant: Name of the FAST UDP application tenant. + :param pulumi.Input[pulumi.InputType['FastUdpAppVirtualServerArgs']] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + See virtual server below for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans_alloweds: Names of existing VLANs to allow. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans_rejecteds: Names of existing VLANs to reject. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: FastUdpAppArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + `FastUdpApp` This resource will create and manage FAST UDP applications on BIG-IP from provided JSON declaration. + + ## Example Usage + + ```python + import pulumi + import pulumi_f5bigip as f5bigip + + fast_udp_app = f5bigip.FastUdpApp("fast-udp-app", + application="udp_app_2", + pool_members=[f5bigip.FastUdpAppPoolMemberArgs( + addresses=[ + "10.11.34.65", + "56.43.23.76", + ], + connection_limit=4, + port=443, + priority_group=1, + share_nodes=True, + )], + tenant="udp_app_tenant", + virtual_server=f5bigip.FastUdpAppVirtualServerArgs( + ip="11.12.16.30", + port=443, + )) + ``` + + :param str resource_name: The name of the resource. + :param FastUdpAppArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(FastUdpAppArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application: Optional[pulumi.Input[str]] = None, + enable_fastl4: Optional[pulumi.Input[bool]] = None, + existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, + existing_profile: Optional[pulumi.Input[str]] = None, + existing_snat_pool: Optional[pulumi.Input[str]] = None, + fallback_persistence: Optional[pulumi.Input[str]] = None, + irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastUdpAppMonitorArgs']]] = None, + persistence_profile: Optional[pulumi.Input[str]] = None, + persistence_type: Optional[pulumi.Input[str]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastUdpAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant: Optional[pulumi.Input[str]] = None, + virtual_server: Optional[pulumi.Input[pulumi.InputType['FastUdpAppVirtualServerArgs']]] = None, + vlans_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vlans_rejecteds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = FastUdpAppArgs.__new__(FastUdpAppArgs) + + if application is None and not opts.urn: + raise TypeError("Missing required property 'application'") + __props__.__dict__["application"] = application + __props__.__dict__["enable_fastl4"] = enable_fastl4 + __props__.__dict__["existing_monitor"] = existing_monitor + __props__.__dict__["existing_pool"] = existing_pool + __props__.__dict__["existing_profile"] = existing_profile + __props__.__dict__["existing_snat_pool"] = existing_snat_pool + __props__.__dict__["fallback_persistence"] = fallback_persistence + __props__.__dict__["irules"] = irules + __props__.__dict__["load_balancing_mode"] = load_balancing_mode + __props__.__dict__["monitor"] = monitor + __props__.__dict__["persistence_profile"] = persistence_profile + __props__.__dict__["persistence_type"] = persistence_type + __props__.__dict__["pool_members"] = pool_members + __props__.__dict__["security_log_profiles"] = security_log_profiles + __props__.__dict__["slow_ramp_time"] = slow_ramp_time + __props__.__dict__["snat_pool_addresses"] = snat_pool_addresses + if tenant is None and not opts.urn: + raise TypeError("Missing required property 'tenant'") + __props__.__dict__["tenant"] = tenant + __props__.__dict__["virtual_server"] = virtual_server + __props__.__dict__["vlans_alloweds"] = vlans_alloweds + __props__.__dict__["vlans_rejecteds"] = vlans_rejecteds + __props__.__dict__["fast_udp_json"] = None + super(FastUdpApp, __self__).__init__( + 'f5bigip:index/fastUdpApp:FastUdpApp', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + application: Optional[pulumi.Input[str]] = None, + enable_fastl4: Optional[pulumi.Input[bool]] = None, + existing_monitor: Optional[pulumi.Input[str]] = None, + existing_pool: Optional[pulumi.Input[str]] = None, + existing_profile: Optional[pulumi.Input[str]] = None, + existing_snat_pool: Optional[pulumi.Input[str]] = None, + fallback_persistence: Optional[pulumi.Input[str]] = None, + fast_udp_json: Optional[pulumi.Input[str]] = None, + irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + load_balancing_mode: Optional[pulumi.Input[str]] = None, + monitor: Optional[pulumi.Input[pulumi.InputType['FastUdpAppMonitorArgs']]] = None, + persistence_profile: Optional[pulumi.Input[str]] = None, + persistence_type: Optional[pulumi.Input[str]] = None, + pool_members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastUdpAppPoolMemberArgs']]]]] = None, + security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + slow_ramp_time: Optional[pulumi.Input[int]] = None, + snat_pool_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tenant: Optional[pulumi.Input[str]] = None, + virtual_server: Optional[pulumi.Input[pulumi.InputType['FastUdpAppVirtualServerArgs']]] = None, + vlans_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vlans_rejecteds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'FastUdpApp': + """ + Get an existing FastUdpApp resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] application: Name of the FAST UDP application. + :param pulumi.Input[bool] enable_fastl4: Enables use of FastL4 profiles. + :param pulumi.Input[str] existing_monitor: Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + :param pulumi.Input[str] existing_pool: Name of an existing BIG-IP pool. + :param pulumi.Input[str] existing_profile: Name of an existing BIG-IP FastL4 or UDP profile. + :param pulumi.Input[str] existing_snat_pool: Name of an existing BIG-IP SNAT pool. + :param pulumi.Input[str] fallback_persistence: Type of fallback persistence record to be created for each new client connection. + :param pulumi.Input[str] fast_udp_json: Json payload for FAST UDP application. + :param pulumi.Input[Sequence[pulumi.Input[str]]] irules: Irules to attach to Virtual Server. + :param pulumi.Input[str] load_balancing_mode: 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 + :param pulumi.Input[pulumi.InputType['FastUdpAppMonitorArgs']] monitor: `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + :param pulumi.Input[str] persistence_profile: Name of an existing BIG-IP persistence profile to be used. + :param pulumi.Input[str] persistence_type: Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FastUdpAppPoolMemberArgs']]]] pool_members: `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: Existing security log profiles to enable. + :param pulumi.Input[int] slow_ramp_time: Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + :param pulumi.Input[Sequence[pulumi.Input[str]]] snat_pool_addresses: List of address to be used for FAST-Generated SNAT Pool. + :param pulumi.Input[str] tenant: Name of the FAST UDP application tenant. + :param pulumi.Input[pulumi.InputType['FastUdpAppVirtualServerArgs']] virtual_server: `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + See virtual server below for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans_alloweds: Names of existing VLANs to allow. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans_rejecteds: Names of existing VLANs to reject. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _FastUdpAppState.__new__(_FastUdpAppState) + + __props__.__dict__["application"] = application + __props__.__dict__["enable_fastl4"] = enable_fastl4 + __props__.__dict__["existing_monitor"] = existing_monitor + __props__.__dict__["existing_pool"] = existing_pool + __props__.__dict__["existing_profile"] = existing_profile + __props__.__dict__["existing_snat_pool"] = existing_snat_pool + __props__.__dict__["fallback_persistence"] = fallback_persistence + __props__.__dict__["fast_udp_json"] = fast_udp_json + __props__.__dict__["irules"] = irules + __props__.__dict__["load_balancing_mode"] = load_balancing_mode + __props__.__dict__["monitor"] = monitor + __props__.__dict__["persistence_profile"] = persistence_profile + __props__.__dict__["persistence_type"] = persistence_type + __props__.__dict__["pool_members"] = pool_members + __props__.__dict__["security_log_profiles"] = security_log_profiles + __props__.__dict__["slow_ramp_time"] = slow_ramp_time + __props__.__dict__["snat_pool_addresses"] = snat_pool_addresses + __props__.__dict__["tenant"] = tenant + __props__.__dict__["virtual_server"] = virtual_server + __props__.__dict__["vlans_alloweds"] = vlans_alloweds + __props__.__dict__["vlans_rejecteds"] = vlans_rejecteds + return FastUdpApp(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def application(self) -> pulumi.Output[str]: + """ + Name of the FAST UDP application. + """ + return pulumi.get(self, "application") + + @property + @pulumi.getter(name="enableFastl4") + def enable_fastl4(self) -> pulumi.Output[Optional[bool]]: + """ + Enables use of FastL4 profiles. + """ + return pulumi.get(self, "enable_fastl4") + + @property + @pulumi.getter(name="existingMonitor") + def existing_monitor(self) -> pulumi.Output[Optional[str]]: + """ + Name of an existing BIG-IP UDP pool monitor. Monitors are used to determine the health of the application on each server. + """ + return pulumi.get(self, "existing_monitor") + + @property + @pulumi.getter(name="existingPool") + def existing_pool(self) -> pulumi.Output[Optional[str]]: + """ + Name of an existing BIG-IP pool. + """ + return pulumi.get(self, "existing_pool") + + @property + @pulumi.getter(name="existingProfile") + def existing_profile(self) -> pulumi.Output[Optional[str]]: + """ + Name of an existing BIG-IP FastL4 or UDP profile. + """ + return pulumi.get(self, "existing_profile") + + @property + @pulumi.getter(name="existingSnatPool") + def existing_snat_pool(self) -> pulumi.Output[Optional[str]]: + """ + Name of an existing BIG-IP SNAT pool. + """ + return pulumi.get(self, "existing_snat_pool") + + @property + @pulumi.getter(name="fallbackPersistence") + def fallback_persistence(self) -> pulumi.Output[Optional[str]]: + """ + Type of fallback persistence record to be created for each new client connection. + """ + return pulumi.get(self, "fallback_persistence") + + @property + @pulumi.getter(name="fastUdpJson") + def fast_udp_json(self) -> pulumi.Output[str]: + """ + Json payload for FAST UDP application. + """ + return pulumi.get(self, "fast_udp_json") + + @property + @pulumi.getter + def irules(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Irules to attach to Virtual Server. + """ + return pulumi.get(self, "irules") + + @property + @pulumi.getter(name="loadBalancingMode") + def load_balancing_mode(self) -> pulumi.Output[Optional[str]]: + """ + 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 + """ + return pulumi.get(self, "load_balancing_mode") + + @property + @pulumi.getter + def monitor(self) -> pulumi.Output[Optional['outputs.FastUdpAppMonitor']]: + """ + `monitor` block takes input for FAST-Generated Pool Monitor. + See Pool Monitor below for more details. + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="persistenceProfile") + def persistence_profile(self) -> pulumi.Output[Optional[str]]: + """ + Name of an existing BIG-IP persistence profile to be used. + """ + return pulumi.get(self, "persistence_profile") + + @property + @pulumi.getter(name="persistenceType") + def persistence_type(self) -> pulumi.Output[Optional[str]]: + """ + Type of persistence profile to be created. Using this option will enable use of FAST generated persistence profiles. + """ + return pulumi.get(self, "persistence_type") + + @property + @pulumi.getter(name="poolMembers") + def pool_members(self) -> pulumi.Output[Optional[Sequence['outputs.FastUdpAppPoolMember']]]: + """ + `pool_members` block takes input for FAST-Generated Pool. + See Pool Members below for more details. + """ + return pulumi.get(self, "pool_members") + + @property + @pulumi.getter(name="securityLogProfiles") + def security_log_profiles(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Existing security log profiles to enable. + """ + return pulumi.get(self, "security_log_profiles") + + @property + @pulumi.getter(name="slowRampTime") + def slow_ramp_time(self) -> pulumi.Output[Optional[int]]: + """ + Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds + """ + return pulumi.get(self, "slow_ramp_time") + + @property + @pulumi.getter(name="snatPoolAddresses") + def snat_pool_addresses(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of address to be used for FAST-Generated SNAT Pool. + """ + return pulumi.get(self, "snat_pool_addresses") + + @property + @pulumi.getter + def tenant(self) -> pulumi.Output[str]: + """ + Name of the FAST UDP application tenant. + """ + return pulumi.get(self, "tenant") + + @property + @pulumi.getter(name="virtualServer") + def virtual_server(self) -> pulumi.Output[Optional['outputs.FastUdpAppVirtualServer']]: + """ + `virtual_server` block will provide `ip` and `port` options to be used for virtual server. + See virtual server below for more details. + """ + return pulumi.get(self, "virtual_server") + + @property + @pulumi.getter(name="vlansAlloweds") + def vlans_alloweds(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Names of existing VLANs to allow. + """ + return pulumi.get(self, "vlans_alloweds") + + @property + @pulumi.getter(name="vlansRejecteds") + def vlans_rejecteds(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Names of existing VLANs to reject. + """ + return pulumi.get(self, "vlans_rejecteds") + diff --git a/sdk/python/pulumi_f5bigip/ltm/_inputs.py b/sdk/python/pulumi_f5bigip/ltm/_inputs.py index 7554b765..3b90f270 100644 --- a/sdk/python/pulumi_f5bigip/ltm/_inputs.py +++ b/sdk/python/pulumi_f5bigip/ltm/_inputs.py @@ -148,7 +148,9 @@ def __init__(__self__, *, actions: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleActionArgs']]]] = None, conditions: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleConditionArgs']]]] = None): """ - :param pulumi.Input[str] name: Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + :param pulumi.Input[str] name: Name of Rule to be applied in policy. + :param pulumi.Input[Sequence[pulumi.Input['PolicyRuleActionArgs']]] actions: Block type. See action block for more details. + :param pulumi.Input[Sequence[pulumi.Input['PolicyRuleConditionArgs']]] conditions: Block type. See condition block for more details. """ pulumi.set(__self__, "name", name) if actions is not None: @@ -160,7 +162,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> pulumi.Input[str]: """ - Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + Name of Rule to be applied in policy. """ return pulumi.get(self, "name") @@ -171,6 +173,9 @@ def name(self, value: pulumi.Input[str]): @property @pulumi.getter def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleActionArgs']]]]: + """ + Block type. See action block for more details. + """ return pulumi.get(self, "actions") @actions.setter @@ -180,6 +185,9 @@ def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRule @property @pulumi.getter def conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleConditionArgs']]]]: + """ + Block type. See condition block for more details. + """ return pulumi.get(self, "conditions") @conditions.setter @@ -1466,6 +1474,7 @@ def __init__(__self__, *, case_sensitive: Optional[pulumi.Input[bool]] = None, cipher: Optional[pulumi.Input[bool]] = None, cipher_bits: Optional[pulumi.Input[bool]] = None, + client_accepted: Optional[pulumi.Input[bool]] = None, client_ssl: Optional[pulumi.Input[bool]] = None, code: Optional[pulumi.Input[bool]] = None, common_name: Optional[pulumi.Input[bool]] = None, @@ -1474,6 +1483,7 @@ def __init__(__self__, *, country_code: Optional[pulumi.Input[bool]] = None, country_name: Optional[pulumi.Input[bool]] = None, cpu_usage: Optional[pulumi.Input[bool]] = None, + datagroup: Optional[pulumi.Input[str]] = None, device_make: Optional[pulumi.Input[bool]] = None, device_model: Optional[pulumi.Input[bool]] = None, domain: Optional[pulumi.Input[bool]] = None, @@ -1566,6 +1576,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cipher", cipher) if cipher_bits is not None: pulumi.set(__self__, "cipher_bits", cipher_bits) + if client_accepted is not None: + pulumi.set(__self__, "client_accepted", client_accepted) if client_ssl is not None: pulumi.set(__self__, "client_ssl", client_ssl) if code is not None: @@ -1582,6 +1594,8 @@ def __init__(__self__, *, pulumi.set(__self__, "country_name", country_name) if cpu_usage is not None: pulumi.set(__self__, "cpu_usage", cpu_usage) + if datagroup is not None: + pulumi.set(__self__, "datagroup", datagroup) if device_make is not None: pulumi.set(__self__, "device_make", device_make) if device_model is not None: @@ -1812,6 +1826,15 @@ def cipher_bits(self) -> Optional[pulumi.Input[bool]]: def cipher_bits(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "cipher_bits", value) + @property + @pulumi.getter(name="clientAccepted") + def client_accepted(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "client_accepted") + + @client_accepted.setter + def client_accepted(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "client_accepted", value) + @property @pulumi.getter(name="clientSsl") def client_ssl(self) -> Optional[pulumi.Input[bool]]: @@ -1884,6 +1907,15 @@ def cpu_usage(self) -> Optional[pulumi.Input[bool]]: def cpu_usage(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "cpu_usage", value) + @property + @pulumi.getter + def datagroup(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "datagroup") + + @datagroup.setter + def datagroup(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "datagroup", value) + @property @pulumi.getter(name="deviceMake") def device_make(self) -> Optional[pulumi.Input[bool]]: @@ -4004,6 +4036,7 @@ def __init__(__self__, *, country_code: bool, country_name: bool, cpu_usage: bool, + datagroup: str, device_make: bool, device_model: bool, domain: bool, @@ -4094,6 +4127,7 @@ def __init__(__self__, *, pulumi.set(__self__, "country_code", country_code) pulumi.set(__self__, "country_name", country_name) pulumi.set(__self__, "cpu_usage", cpu_usage) + pulumi.set(__self__, "datagroup", datagroup) pulumi.set(__self__, "device_make", device_make) pulumi.set(__self__, "device_model", device_model) pulumi.set(__self__, "domain", domain) @@ -4321,6 +4355,15 @@ def cpu_usage(self) -> bool: def cpu_usage(self, value: bool): pulumi.set(self, "cpu_usage", value) + @property + @pulumi.getter + def datagroup(self) -> str: + return pulumi.get(self, "datagroup") + + @datagroup.setter + def datagroup(self, value: str): + pulumi.set(self, "datagroup", value) + @property @pulumi.getter(name="deviceMake") def device_make(self) -> bool: diff --git a/sdk/python/pulumi_f5bigip/ltm/monitor.py b/sdk/python/pulumi_f5bigip/ltm/monitor.py index 9b6a22a7..fd27ebc2 100644 --- a/sdk/python/pulumi_f5bigip/ltm/monitor.py +++ b/sdk/python/pulumi_f5bigip/ltm/monitor.py @@ -981,7 +981,7 @@ def _internal_init(__self__, if parent is None and not opts.urn: raise TypeError("Missing required property 'parent'") __props__.__dict__["parent"] = parent - __props__.__dict__["password"] = password + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) __props__.__dict__["receive"] = receive __props__.__dict__["receive_disable"] = receive_disable __props__.__dict__["reverse"] = reverse @@ -992,6 +992,8 @@ def _internal_init(__self__, __props__.__dict__["transparent"] = transparent __props__.__dict__["up_interval"] = up_interval __props__.__dict__["username"] = username + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(Monitor, __self__).__init__( 'f5bigip:ltm/monitor:Monitor', resource_name, diff --git a/sdk/python/pulumi_f5bigip/ltm/outputs.py b/sdk/python/pulumi_f5bigip/ltm/outputs.py index 1e22882f..dca3e658 100644 --- a/sdk/python/pulumi_f5bigip/ltm/outputs.py +++ b/sdk/python/pulumi_f5bigip/ltm/outputs.py @@ -138,7 +138,9 @@ def __init__(__self__, *, actions: Optional[Sequence['outputs.PolicyRuleAction']] = None, conditions: Optional[Sequence['outputs.PolicyRuleCondition']] = None): """ - :param str name: Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + :param str name: Name of Rule to be applied in policy. + :param Sequence['PolicyRuleActionArgs'] actions: Block type. See action block for more details. + :param Sequence['PolicyRuleConditionArgs'] conditions: Block type. See condition block for more details. """ pulumi.set(__self__, "name", name) if actions is not None: @@ -150,18 +152,24 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> str: """ - Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + Name of Rule to be applied in policy. """ return pulumi.get(self, "name") @property @pulumi.getter def actions(self) -> Optional[Sequence['outputs.PolicyRuleAction']]: + """ + Block type. See action block for more details. + """ return pulumi.get(self, "actions") @property @pulumi.getter def conditions(self) -> Optional[Sequence['outputs.PolicyRuleCondition']]: + """ + Block type. See condition block for more details. + """ return pulumi.get(self, "conditions") @@ -1114,6 +1122,8 @@ def __key_warning(key: str): suggest = "case_sensitive" elif key == "cipherBits": suggest = "cipher_bits" + elif key == "clientAccepted": + suggest = "client_accepted" elif key == "clientSsl": suggest = "client_ssl" elif key == "commonName": @@ -1214,6 +1224,7 @@ def __init__(__self__, *, case_sensitive: Optional[bool] = None, cipher: Optional[bool] = None, cipher_bits: Optional[bool] = None, + client_accepted: Optional[bool] = None, client_ssl: Optional[bool] = None, code: Optional[bool] = None, common_name: Optional[bool] = None, @@ -1222,6 +1233,7 @@ def __init__(__self__, *, country_code: Optional[bool] = None, country_name: Optional[bool] = None, cpu_usage: Optional[bool] = None, + datagroup: Optional[str] = None, device_make: Optional[bool] = None, device_model: Optional[bool] = None, domain: Optional[bool] = None, @@ -1314,6 +1326,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cipher", cipher) if cipher_bits is not None: pulumi.set(__self__, "cipher_bits", cipher_bits) + if client_accepted is not None: + pulumi.set(__self__, "client_accepted", client_accepted) if client_ssl is not None: pulumi.set(__self__, "client_ssl", client_ssl) if code is not None: @@ -1330,6 +1344,8 @@ def __init__(__self__, *, pulumi.set(__self__, "country_name", country_name) if cpu_usage is not None: pulumi.set(__self__, "cpu_usage", cpu_usage) + if datagroup is not None: + pulumi.set(__self__, "datagroup", datagroup) if device_make is not None: pulumi.set(__self__, "device_make", device_make) if device_model is not None: @@ -1524,6 +1540,11 @@ def cipher(self) -> Optional[bool]: def cipher_bits(self) -> Optional[bool]: return pulumi.get(self, "cipher_bits") + @property + @pulumi.getter(name="clientAccepted") + def client_accepted(self) -> Optional[bool]: + return pulumi.get(self, "client_accepted") + @property @pulumi.getter(name="clientSsl") def client_ssl(self) -> Optional[bool]: @@ -1564,6 +1585,11 @@ def country_name(self) -> Optional[bool]: def cpu_usage(self) -> Optional[bool]: return pulumi.get(self, "cpu_usage") + @property + @pulumi.getter + def datagroup(self) -> Optional[str]: + return pulumi.get(self, "datagroup") + @property @pulumi.getter(name="deviceMake") def device_make(self) -> Optional[bool]: @@ -2921,6 +2947,7 @@ def __init__(__self__, *, country_code: bool, country_name: bool, cpu_usage: bool, + datagroup: str, device_make: bool, device_model: bool, domain: bool, @@ -3011,6 +3038,7 @@ def __init__(__self__, *, pulumi.set(__self__, "country_code", country_code) pulumi.set(__self__, "country_name", country_name) pulumi.set(__self__, "cpu_usage", cpu_usage) + pulumi.set(__self__, "datagroup", datagroup) pulumi.set(__self__, "device_make", device_make) pulumi.set(__self__, "device_model", device_model) pulumi.set(__self__, "domain", domain) @@ -3170,6 +3198,11 @@ def country_name(self) -> bool: def cpu_usage(self) -> bool: return pulumi.get(self, "cpu_usage") + @property + @pulumi.getter + def datagroup(self) -> str: + return pulumi.get(self, "datagroup") + @property @pulumi.getter(name="deviceMake") def device_make(self) -> bool: diff --git a/sdk/python/pulumi_f5bigip/ltm/policy.py b/sdk/python/pulumi_f5bigip/ltm/policy.py index 752608b6..b6455624 100644 --- a/sdk/python/pulumi_f5bigip/ltm/policy.py +++ b/sdk/python/pulumi_f5bigip/ltm/policy.py @@ -24,11 +24,11 @@ def __init__(__self__, *, strategy: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Policy resource. - :param pulumi.Input[str] name: Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + :param pulumi.Input[str] name: Name of Rule to be applied in policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] controls: Specifies the controls :param pulumi.Input[str] published_copy: If you want to publish the policy else it will be deployed in Drafts mode. :param pulumi.Input[Sequence[pulumi.Input[str]]] requires: Specifies the protocol - :param pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]] rules: Rules can be applied using the policy + :param pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]] rules: List of Rules can be applied using the policy. Each rule is block type with following arguments. :param pulumi.Input[str] strategy: Specifies the match strategy """ pulumi.set(__self__, "name", name) @@ -47,7 +47,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> pulumi.Input[str]: """ - Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + Name of Rule to be applied in policy. """ return pulumi.get(self, "name") @@ -95,7 +95,7 @@ def requires(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]]]: """ - Rules can be applied using the policy + List of Rules can be applied using the policy. Each rule is block type with following arguments. """ return pulumi.get(self, "rules") @@ -128,10 +128,10 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Policy resources. :param pulumi.Input[Sequence[pulumi.Input[str]]] controls: Specifies the controls - :param pulumi.Input[str] name: Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + :param pulumi.Input[str] name: Name of Rule to be applied in policy. :param pulumi.Input[str] published_copy: If you want to publish the policy else it will be deployed in Drafts mode. :param pulumi.Input[Sequence[pulumi.Input[str]]] requires: Specifies the protocol - :param pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]] rules: Rules can be applied using the policy + :param pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]] rules: List of Rules can be applied using the policy. Each rule is block type with following arguments. :param pulumi.Input[str] strategy: Specifies the match strategy """ if controls is not None: @@ -163,7 +163,7 @@ def controls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + Name of Rule to be applied in policy. """ return pulumi.get(self, "name") @@ -199,7 +199,7 @@ def requires(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]]]: """ - Rules can be applied using the policy + List of Rules can be applied using the policy. Each rule is block type with following arguments. """ return pulumi.get(self, "rules") @@ -267,10 +267,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] controls: Specifies the controls - :param pulumi.Input[str] name: Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + :param pulumi.Input[str] name: Name of Rule to be applied in policy. :param pulumi.Input[str] published_copy: If you want to publish the policy else it will be deployed in Drafts mode. :param pulumi.Input[Sequence[pulumi.Input[str]]] requires: Specifies the protocol - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PolicyRuleArgs']]]] rules: Rules can be applied using the policy + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PolicyRuleArgs']]]] rules: List of Rules can be applied using the policy. Each rule is block type with following arguments. :param pulumi.Input[str] strategy: Specifies the match strategy """ ... @@ -373,10 +373,10 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] controls: Specifies the controls - :param pulumi.Input[str] name: Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + :param pulumi.Input[str] name: Name of Rule to be applied in policy. :param pulumi.Input[str] published_copy: If you want to publish the policy else it will be deployed in Drafts mode. :param pulumi.Input[Sequence[pulumi.Input[str]]] requires: Specifies the protocol - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PolicyRuleArgs']]]] rules: Rules can be applied using the policy + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PolicyRuleArgs']]]] rules: List of Rules can be applied using the policy. Each rule is block type with following arguments. :param pulumi.Input[str] strategy: Specifies the match strategy """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -403,7 +403,7 @@ def controls(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Name of the Policy ( policy name should be in full path which is combination of partition and policy name ) + Name of Rule to be applied in policy. """ return pulumi.get(self, "name") @@ -427,7 +427,7 @@ def requires(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def rules(self) -> pulumi.Output[Optional[Sequence['outputs.PolicyRule']]]: """ - Rules can be applied using the policy + List of Rules can be applied using the policy. Each rule is block type with following arguments. """ return pulumi.get(self, "rules") diff --git a/sdk/python/pulumi_f5bigip/ltm/profile_client_ssl.py b/sdk/python/pulumi_f5bigip/ltm/profile_client_ssl.py index 26d228d7..a6c268c4 100644 --- a/sdk/python/pulumi_f5bigip/ltm/profile_client_ssl.py +++ b/sdk/python/pulumi_f5bigip/ltm/profile_client_ssl.py @@ -29,10 +29,11 @@ def __init__(__self__, *, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, cert_extension_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - cert_key_chains: Optional[pulumi.Input[Sequence[pulumi.Input['ProfileClientSslCertKeyChainArgs']]]] = None, + cert_key_chain: Optional[pulumi.Input['ProfileClientSslCertKeyChainArgs']] = None, cert_life_span: Optional[pulumi.Input[int]] = None, cert_lookup_by_ipaddr_port: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, client_cert_ca: Optional[pulumi.Input[str]] = None, crl_file: Optional[pulumi.Input[str]] = None, @@ -90,6 +91,7 @@ def __init__(__self__, *, :param pulumi.Input[int] cert_life_span: Life span of the certificate in days for ssl forward proxy :param pulumi.Input[str] cert_lookup_by_ipaddr_port: Cert lookup by ip address and port enabled / disabled :param pulumi.Input[str] chain: Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional + :param pulumi.Input[str] cipher_group: Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. :param pulumi.Input[str] ciphers: Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. :param pulumi.Input[str] client_cert_ca: client certificate name :param pulumi.Input[str] crl_file: Certificate revocation file name @@ -159,14 +161,19 @@ def __init__(__self__, *, pulumi.set(__self__, "cert", cert) if cert_extension_includes is not None: pulumi.set(__self__, "cert_extension_includes", cert_extension_includes) - if cert_key_chains is not None: - pulumi.set(__self__, "cert_key_chains", cert_key_chains) + if cert_key_chain is not None: + warnings.warn("""This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute.""", DeprecationWarning) + pulumi.log.warn("""cert_key_chain is deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute.""") + if cert_key_chain is not None: + pulumi.set(__self__, "cert_key_chain", cert_key_chain) if cert_life_span is not None: pulumi.set(__self__, "cert_life_span", cert_life_span) if cert_lookup_by_ipaddr_port is not None: pulumi.set(__self__, "cert_lookup_by_ipaddr_port", cert_lookup_by_ipaddr_port) if chain is not None: pulumi.set(__self__, "chain", chain) + if cipher_group is not None: + pulumi.set(__self__, "cipher_group", cipher_group) if ciphers is not None: pulumi.set(__self__, "ciphers", ciphers) if client_cert_ca is not None: @@ -402,13 +409,13 @@ def cert_extension_includes(self, value: Optional[pulumi.Input[Sequence[pulumi.I pulumi.set(self, "cert_extension_includes", value) @property - @pulumi.getter(name="certKeyChains") - def cert_key_chains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProfileClientSslCertKeyChainArgs']]]]: - return pulumi.get(self, "cert_key_chains") + @pulumi.getter(name="certKeyChain") + def cert_key_chain(self) -> Optional[pulumi.Input['ProfileClientSslCertKeyChainArgs']]: + return pulumi.get(self, "cert_key_chain") - @cert_key_chains.setter - def cert_key_chains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProfileClientSslCertKeyChainArgs']]]]): - pulumi.set(self, "cert_key_chains", value) + @cert_key_chain.setter + def cert_key_chain(self, value: Optional[pulumi.Input['ProfileClientSslCertKeyChainArgs']]): + pulumi.set(self, "cert_key_chain", value) @property @pulumi.getter(name="certLifeSpan") @@ -446,6 +453,18 @@ def chain(self) -> Optional[pulumi.Input[str]]: def chain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "chain", value) + @property + @pulumi.getter(name="cipherGroup") + def cipher_group(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + """ + return pulumi.get(self, "cipher_group") + + @cipher_group.setter + def cipher_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cipher_group", value) + @property @pulumi.getter def ciphers(self) -> Optional[pulumi.Input[str]]: @@ -923,10 +942,11 @@ def __init__(__self__, *, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, cert_extension_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - cert_key_chains: Optional[pulumi.Input[Sequence[pulumi.Input['ProfileClientSslCertKeyChainArgs']]]] = None, + cert_key_chain: Optional[pulumi.Input['ProfileClientSslCertKeyChainArgs']] = None, cert_life_span: Optional[pulumi.Input[int]] = None, cert_lookup_by_ipaddr_port: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, client_cert_ca: Optional[pulumi.Input[str]] = None, crl_file: Optional[pulumi.Input[str]] = None, @@ -984,6 +1004,7 @@ def __init__(__self__, *, :param pulumi.Input[int] cert_life_span: Life span of the certificate in days for ssl forward proxy :param pulumi.Input[str] cert_lookup_by_ipaddr_port: Cert lookup by ip address and port enabled / disabled :param pulumi.Input[str] chain: Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional + :param pulumi.Input[str] cipher_group: Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. :param pulumi.Input[str] ciphers: Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. :param pulumi.Input[str] client_cert_ca: client certificate name :param pulumi.Input[str] crl_file: Certificate revocation file name @@ -1053,14 +1074,19 @@ def __init__(__self__, *, pulumi.set(__self__, "cert", cert) if cert_extension_includes is not None: pulumi.set(__self__, "cert_extension_includes", cert_extension_includes) - if cert_key_chains is not None: - pulumi.set(__self__, "cert_key_chains", cert_key_chains) + if cert_key_chain is not None: + warnings.warn("""This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute.""", DeprecationWarning) + pulumi.log.warn("""cert_key_chain is deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute.""") + if cert_key_chain is not None: + pulumi.set(__self__, "cert_key_chain", cert_key_chain) if cert_life_span is not None: pulumi.set(__self__, "cert_life_span", cert_life_span) if cert_lookup_by_ipaddr_port is not None: pulumi.set(__self__, "cert_lookup_by_ipaddr_port", cert_lookup_by_ipaddr_port) if chain is not None: pulumi.set(__self__, "chain", chain) + if cipher_group is not None: + pulumi.set(__self__, "cipher_group", cipher_group) if ciphers is not None: pulumi.set(__self__, "ciphers", ciphers) if client_cert_ca is not None: @@ -1286,13 +1312,13 @@ def cert_extension_includes(self, value: Optional[pulumi.Input[Sequence[pulumi.I pulumi.set(self, "cert_extension_includes", value) @property - @pulumi.getter(name="certKeyChains") - def cert_key_chains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProfileClientSslCertKeyChainArgs']]]]: - return pulumi.get(self, "cert_key_chains") + @pulumi.getter(name="certKeyChain") + def cert_key_chain(self) -> Optional[pulumi.Input['ProfileClientSslCertKeyChainArgs']]: + return pulumi.get(self, "cert_key_chain") - @cert_key_chains.setter - def cert_key_chains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProfileClientSslCertKeyChainArgs']]]]): - pulumi.set(self, "cert_key_chains", value) + @cert_key_chain.setter + def cert_key_chain(self, value: Optional[pulumi.Input['ProfileClientSslCertKeyChainArgs']]): + pulumi.set(self, "cert_key_chain", value) @property @pulumi.getter(name="certLifeSpan") @@ -1330,6 +1356,18 @@ def chain(self) -> Optional[pulumi.Input[str]]: def chain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "chain", value) + @property + @pulumi.getter(name="cipherGroup") + def cipher_group(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + """ + return pulumi.get(self, "cipher_group") + + @cipher_group.setter + def cipher_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cipher_group", value) + @property @pulumi.getter def ciphers(self) -> Optional[pulumi.Input[str]]: @@ -1821,10 +1859,11 @@ def __init__(__self__, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, cert_extension_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - cert_key_chains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProfileClientSslCertKeyChainArgs']]]]] = None, + cert_key_chain: Optional[pulumi.Input[pulumi.InputType['ProfileClientSslCertKeyChainArgs']]] = None, cert_life_span: Optional[pulumi.Input[int]] = None, cert_lookup_by_ipaddr_port: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, client_cert_ca: Optional[pulumi.Input[str]] = None, crl_file: Optional[pulumi.Input[str]] = None, @@ -1901,6 +1940,7 @@ def __init__(__self__, :param pulumi.Input[int] cert_life_span: Life span of the certificate in days for ssl forward proxy :param pulumi.Input[str] cert_lookup_by_ipaddr_port: Cert lookup by ip address and port enabled / disabled :param pulumi.Input[str] chain: Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional + :param pulumi.Input[str] cipher_group: Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. :param pulumi.Input[str] ciphers: Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. :param pulumi.Input[str] client_cert_ca: client certificate name :param pulumi.Input[str] crl_file: Certificate revocation file name @@ -1997,10 +2037,11 @@ def _internal_init(__self__, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, cert_extension_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - cert_key_chains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProfileClientSslCertKeyChainArgs']]]]] = None, + cert_key_chain: Optional[pulumi.Input[pulumi.InputType['ProfileClientSslCertKeyChainArgs']]] = None, cert_life_span: Optional[pulumi.Input[int]] = None, cert_lookup_by_ipaddr_port: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, client_cert_ca: Optional[pulumi.Input[str]] = None, crl_file: Optional[pulumi.Input[str]] = None, @@ -2061,10 +2102,14 @@ def _internal_init(__self__, __props__.__dict__["cache_timeout"] = cache_timeout __props__.__dict__["cert"] = cert __props__.__dict__["cert_extension_includes"] = cert_extension_includes - __props__.__dict__["cert_key_chains"] = cert_key_chains + if cert_key_chain is not None and not opts.urn: + warnings.warn("""This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute.""", DeprecationWarning) + pulumi.log.warn("""cert_key_chain is deprecated: This Field going to deprecate in future version, please specify with cert,key,chain,passphrase as separate attribute.""") + __props__.__dict__["cert_key_chain"] = cert_key_chain __props__.__dict__["cert_life_span"] = cert_life_span __props__.__dict__["cert_lookup_by_ipaddr_port"] = cert_lookup_by_ipaddr_port __props__.__dict__["chain"] = chain + __props__.__dict__["cipher_group"] = cipher_group __props__.__dict__["ciphers"] = ciphers __props__.__dict__["client_cert_ca"] = client_cert_ca __props__.__dict__["crl_file"] = crl_file @@ -2082,7 +2127,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'name'") __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition - __props__.__dict__["passphrase"] = passphrase + __props__.__dict__["passphrase"] = None if passphrase is None else pulumi.Output.secret(passphrase) __props__.__dict__["peer_cert_mode"] = peer_cert_mode __props__.__dict__["proxy_ca_cert"] = proxy_ca_cert __props__.__dict__["proxy_ca_key"] = proxy_ca_key @@ -2106,6 +2151,8 @@ def _internal_init(__self__, __props__.__dict__["strict_resume"] = strict_resume __props__.__dict__["tm_options"] = tm_options __props__.__dict__["unclean_shutdown"] = unclean_shutdown + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["passphrase"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(ProfileClientSsl, __self__).__init__( 'f5bigip:ltm/profileClientSsl:ProfileClientSsl', resource_name, @@ -2128,10 +2175,11 @@ def get(resource_name: str, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, cert_extension_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - cert_key_chains: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProfileClientSslCertKeyChainArgs']]]]] = None, + cert_key_chain: Optional[pulumi.Input[pulumi.InputType['ProfileClientSslCertKeyChainArgs']]] = None, cert_life_span: Optional[pulumi.Input[int]] = None, cert_lookup_by_ipaddr_port: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, client_cert_ca: Optional[pulumi.Input[str]] = None, crl_file: Optional[pulumi.Input[str]] = None, @@ -2194,6 +2242,7 @@ def get(resource_name: str, :param pulumi.Input[int] cert_life_span: Life span of the certificate in days for ssl forward proxy :param pulumi.Input[str] cert_lookup_by_ipaddr_port: Cert lookup by ip address and port enabled / disabled :param pulumi.Input[str] chain: Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional + :param pulumi.Input[str] cipher_group: Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. :param pulumi.Input[str] ciphers: Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. :param pulumi.Input[str] client_cert_ca: client certificate name :param pulumi.Input[str] crl_file: Certificate revocation file name @@ -2255,10 +2304,11 @@ def get(resource_name: str, __props__.__dict__["cache_timeout"] = cache_timeout __props__.__dict__["cert"] = cert __props__.__dict__["cert_extension_includes"] = cert_extension_includes - __props__.__dict__["cert_key_chains"] = cert_key_chains + __props__.__dict__["cert_key_chain"] = cert_key_chain __props__.__dict__["cert_life_span"] = cert_life_span __props__.__dict__["cert_lookup_by_ipaddr_port"] = cert_lookup_by_ipaddr_port __props__.__dict__["chain"] = chain + __props__.__dict__["cipher_group"] = cipher_group __props__.__dict__["ciphers"] = ciphers __props__.__dict__["client_cert_ca"] = client_cert_ca __props__.__dict__["crl_file"] = crl_file @@ -2383,7 +2433,7 @@ def cache_timeout(self) -> pulumi.Output[int]: @property @pulumi.getter - def cert(self) -> pulumi.Output[str]: + def cert(self) -> pulumi.Output[Optional[str]]: """ Specifies a cert name for use. """ @@ -2398,9 +2448,9 @@ def cert_extension_includes(self) -> pulumi.Output[Sequence[str]]: return pulumi.get(self, "cert_extension_includes") @property - @pulumi.getter(name="certKeyChains") - def cert_key_chains(self) -> pulumi.Output[Sequence['outputs.ProfileClientSslCertKeyChain']]: - return pulumi.get(self, "cert_key_chains") + @pulumi.getter(name="certKeyChain") + def cert_key_chain(self) -> pulumi.Output[Optional['outputs.ProfileClientSslCertKeyChain']]: + return pulumi.get(self, "cert_key_chain") @property @pulumi.getter(name="certLifeSpan") @@ -2420,12 +2470,20 @@ def cert_lookup_by_ipaddr_port(self) -> pulumi.Output[str]: @property @pulumi.getter - def chain(self) -> pulumi.Output[str]: + def chain(self) -> pulumi.Output[Optional[str]]: """ Contains a certificate chain that is relevant to the certificate and key mentioned earlier.This key is optional """ return pulumi.get(self, "chain") + @property + @pulumi.getter(name="cipherGroup") + def cipher_group(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + """ + return pulumi.get(self, "cipher_group") + @property @pulumi.getter def ciphers(self) -> pulumi.Output[str]: @@ -2508,7 +2566,7 @@ def inherit_cert_keychain(self) -> pulumi.Output[str]: @property @pulumi.getter - def key(self) -> pulumi.Output[str]: + def key(self) -> pulumi.Output[Optional[str]]: """ Contains a key name """ diff --git a/sdk/python/pulumi_f5bigip/ltm/profile_fast_l4.py b/sdk/python/pulumi_f5bigip/ltm/profile_fast_l4.py index ca4f2a72..dc3f32a4 100644 --- a/sdk/python/pulumi_f5bigip/ltm/profile_fast_l4.py +++ b/sdk/python/pulumi_f5bigip/ltm/profile_fast_l4.py @@ -23,10 +23,15 @@ def __init__(__self__, *, iptos_toclient: Optional[pulumi.Input[str]] = None, iptos_toserver: Optional[pulumi.Input[str]] = None, keepalive_interval: Optional[pulumi.Input[str]] = None, - partition: Optional[pulumi.Input[str]] = None): + late_binding: Optional[pulumi.Input[str]] = None, + loose_close: Optional[pulumi.Input[str]] = None, + loose_initiation: Optional[pulumi.Input[str]] = None, + partition: Optional[pulumi.Input[str]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + tcp_handshake_timeout: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ProfileFastL4 resource. - :param pulumi.Input[str] name: Name of the profile_fastl4 + :param pulumi.Input[str] name: 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`) :param pulumi.Input[int] client_timeout: 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. :param pulumi.Input[str] defaults_from: 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. :param pulumi.Input[str] explicitflow_migration: 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. @@ -35,7 +40,12 @@ def __init__(__self__, *, :param pulumi.Input[str] iptos_toclient: 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. :param pulumi.Input[str] iptos_toserver: 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. :param pulumi.Input[str] keepalive_interval: Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). - :param pulumi.Input[str] partition: Displays the administrative partition within which this profile resides + :param pulumi.Input[str] late_binding: Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + :param pulumi.Input[str] loose_close: 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. + :param pulumi.Input[str] loose_initiation: 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. + :param pulumi.Input[str] partition: name of partition + :param pulumi.Input[int] receive_windowsize: Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + :param pulumi.Input[str] tcp_handshake_timeout: 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`. """ pulumi.set(__self__, "name", name) if client_timeout is not None: @@ -54,14 +64,24 @@ def __init__(__self__, *, pulumi.set(__self__, "iptos_toserver", iptos_toserver) if keepalive_interval is not None: pulumi.set(__self__, "keepalive_interval", keepalive_interval) + if late_binding is not None: + pulumi.set(__self__, "late_binding", late_binding) + if loose_close is not None: + pulumi.set(__self__, "loose_close", loose_close) + if loose_initiation is not None: + pulumi.set(__self__, "loose_initiation", loose_initiation) if partition is not None: pulumi.set(__self__, "partition", partition) + if receive_windowsize is not None: + pulumi.set(__self__, "receive_windowsize", receive_windowsize) + if tcp_handshake_timeout is not None: + pulumi.set(__self__, "tcp_handshake_timeout", tcp_handshake_timeout) @property @pulumi.getter def name(self) -> pulumi.Input[str]: """ - Name of the profile_fastl4 + 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`) """ return pulumi.get(self, "name") @@ -165,11 +185,47 @@ def keepalive_interval(self) -> Optional[pulumi.Input[str]]: def keepalive_interval(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "keepalive_interval", value) + @property + @pulumi.getter(name="lateBinding") + def late_binding(self) -> Optional[pulumi.Input[str]]: + """ + Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + """ + return pulumi.get(self, "late_binding") + + @late_binding.setter + def late_binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "late_binding", value) + + @property + @pulumi.getter(name="looseClose") + def loose_close(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "loose_close") + + @loose_close.setter + def loose_close(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "loose_close", value) + + @property + @pulumi.getter(name="looseInitiation") + def loose_initiation(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "loose_initiation") + + @loose_initiation.setter + def loose_initiation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "loose_initiation", value) + @property @pulumi.getter def partition(self) -> Optional[pulumi.Input[str]]: """ - Displays the administrative partition within which this profile resides + name of partition """ return pulumi.get(self, "partition") @@ -177,6 +233,30 @@ def partition(self) -> Optional[pulumi.Input[str]]: def partition(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "partition", value) + @property + @pulumi.getter(name="receiveWindowsize") + def receive_windowsize(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + """ + return pulumi.get(self, "receive_windowsize") + + @receive_windowsize.setter + def receive_windowsize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "receive_windowsize", value) + + @property + @pulumi.getter(name="tcpHandshakeTimeout") + def tcp_handshake_timeout(self) -> Optional[pulumi.Input[str]]: + """ + 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`. + """ + return pulumi.get(self, "tcp_handshake_timeout") + + @tcp_handshake_timeout.setter + def tcp_handshake_timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tcp_handshake_timeout", value) + @pulumi.input_type class _ProfileFastL4State: @@ -189,8 +269,13 @@ def __init__(__self__, *, iptos_toclient: Optional[pulumi.Input[str]] = None, iptos_toserver: Optional[pulumi.Input[str]] = None, keepalive_interval: Optional[pulumi.Input[str]] = None, + late_binding: Optional[pulumi.Input[str]] = None, + loose_close: Optional[pulumi.Input[str]] = None, + loose_initiation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - partition: Optional[pulumi.Input[str]] = None): + partition: Optional[pulumi.Input[str]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + tcp_handshake_timeout: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ProfileFastL4 resources. :param pulumi.Input[int] client_timeout: 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. @@ -201,8 +286,13 @@ def __init__(__self__, *, :param pulumi.Input[str] iptos_toclient: 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. :param pulumi.Input[str] iptos_toserver: 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. :param pulumi.Input[str] keepalive_interval: Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). - :param pulumi.Input[str] name: Name of the profile_fastl4 - :param pulumi.Input[str] partition: Displays the administrative partition within which this profile resides + :param pulumi.Input[str] late_binding: Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + :param pulumi.Input[str] loose_close: 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. + :param pulumi.Input[str] loose_initiation: 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. + :param pulumi.Input[str] name: 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`) + :param pulumi.Input[str] partition: name of partition + :param pulumi.Input[int] receive_windowsize: Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + :param pulumi.Input[str] tcp_handshake_timeout: 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`. """ if client_timeout is not None: pulumi.set(__self__, "client_timeout", client_timeout) @@ -220,10 +310,20 @@ def __init__(__self__, *, pulumi.set(__self__, "iptos_toserver", iptos_toserver) if keepalive_interval is not None: pulumi.set(__self__, "keepalive_interval", keepalive_interval) + if late_binding is not None: + pulumi.set(__self__, "late_binding", late_binding) + if loose_close is not None: + pulumi.set(__self__, "loose_close", loose_close) + if loose_initiation is not None: + pulumi.set(__self__, "loose_initiation", loose_initiation) if name is not None: pulumi.set(__self__, "name", name) if partition is not None: pulumi.set(__self__, "partition", partition) + if receive_windowsize is not None: + pulumi.set(__self__, "receive_windowsize", receive_windowsize) + if tcp_handshake_timeout is not None: + pulumi.set(__self__, "tcp_handshake_timeout", tcp_handshake_timeout) @property @pulumi.getter(name="clientTimeout") @@ -321,11 +421,47 @@ def keepalive_interval(self) -> Optional[pulumi.Input[str]]: def keepalive_interval(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "keepalive_interval", value) + @property + @pulumi.getter(name="lateBinding") + def late_binding(self) -> Optional[pulumi.Input[str]]: + """ + Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + """ + return pulumi.get(self, "late_binding") + + @late_binding.setter + def late_binding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "late_binding", value) + + @property + @pulumi.getter(name="looseClose") + def loose_close(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "loose_close") + + @loose_close.setter + def loose_close(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "loose_close", value) + + @property + @pulumi.getter(name="looseInitiation") + def loose_initiation(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "loose_initiation") + + @loose_initiation.setter + def loose_initiation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "loose_initiation", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name of the profile_fastl4 + 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`) """ return pulumi.get(self, "name") @@ -337,7 +473,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def partition(self) -> Optional[pulumi.Input[str]]: """ - Displays the administrative partition within which this profile resides + name of partition """ return pulumi.get(self, "partition") @@ -345,6 +481,30 @@ def partition(self) -> Optional[pulumi.Input[str]]: def partition(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "partition", value) + @property + @pulumi.getter(name="receiveWindowsize") + def receive_windowsize(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + """ + return pulumi.get(self, "receive_windowsize") + + @receive_windowsize.setter + def receive_windowsize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "receive_windowsize", value) + + @property + @pulumi.getter(name="tcpHandshakeTimeout") + def tcp_handshake_timeout(self) -> Optional[pulumi.Input[str]]: + """ + 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`. + """ + return pulumi.get(self, "tcp_handshake_timeout") + + @tcp_handshake_timeout.setter + def tcp_handshake_timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tcp_handshake_timeout", value) + class ProfileFastL4(pulumi.CustomResource): @overload @@ -359,13 +519,18 @@ def __init__(__self__, iptos_toclient: Optional[pulumi.Input[str]] = None, iptos_toserver: Optional[pulumi.Input[str]] = None, keepalive_interval: Optional[pulumi.Input[str]] = None, + late_binding: Optional[pulumi.Input[str]] = None, + loose_close: Optional[pulumi.Input[str]] = None, + loose_initiation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, partition: Optional[pulumi.Input[str]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + tcp_handshake_timeout: Optional[pulumi.Input[str]] = None, __props__=None): """ - `ltm.ProfileFastL4` Configures a custom profile_fastl4 for use by health checks. + `ltm.ProfileFastL4` Configures a custom LTM fastL4 profile for use by health checks. - For 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. + 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-fastl4profile`) or `partition + directory + name` of the resource (example: `/Common/test/my-fastl4profile`) ## Example Usage @@ -403,8 +568,13 @@ def __init__(__self__, :param pulumi.Input[str] iptos_toclient: 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. :param pulumi.Input[str] iptos_toserver: 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. :param pulumi.Input[str] keepalive_interval: Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). - :param pulumi.Input[str] name: Name of the profile_fastl4 - :param pulumi.Input[str] partition: Displays the administrative partition within which this profile resides + :param pulumi.Input[str] late_binding: Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + :param pulumi.Input[str] loose_close: 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. + :param pulumi.Input[str] loose_initiation: 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. + :param pulumi.Input[str] name: 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`) + :param pulumi.Input[str] partition: name of partition + :param pulumi.Input[int] receive_windowsize: Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + :param pulumi.Input[str] tcp_handshake_timeout: 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`. """ ... @overload @@ -413,9 +583,9 @@ def __init__(__self__, args: ProfileFastL4Args, opts: Optional[pulumi.ResourceOptions] = None): """ - `ltm.ProfileFastL4` Configures a custom profile_fastl4 for use by health checks. + `ltm.ProfileFastL4` Configures a custom LTM fastL4 profile for use by health checks. - For 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. + 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-fastl4profile`) or `partition + directory + name` of the resource (example: `/Common/test/my-fastl4profile`) ## Example Usage @@ -466,8 +636,13 @@ def _internal_init(__self__, iptos_toclient: Optional[pulumi.Input[str]] = None, iptos_toserver: Optional[pulumi.Input[str]] = None, keepalive_interval: Optional[pulumi.Input[str]] = None, + late_binding: Optional[pulumi.Input[str]] = None, + loose_close: Optional[pulumi.Input[str]] = None, + loose_initiation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, partition: Optional[pulumi.Input[str]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + tcp_handshake_timeout: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -485,10 +660,15 @@ def _internal_init(__self__, __props__.__dict__["iptos_toclient"] = iptos_toclient __props__.__dict__["iptos_toserver"] = iptos_toserver __props__.__dict__["keepalive_interval"] = keepalive_interval + __props__.__dict__["late_binding"] = late_binding + __props__.__dict__["loose_close"] = loose_close + __props__.__dict__["loose_initiation"] = loose_initiation if name is None and not opts.urn: raise TypeError("Missing required property 'name'") __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition + __props__.__dict__["receive_windowsize"] = receive_windowsize + __props__.__dict__["tcp_handshake_timeout"] = tcp_handshake_timeout super(ProfileFastL4, __self__).__init__( 'f5bigip:ltm/profileFastL4:ProfileFastL4', resource_name, @@ -507,8 +687,13 @@ def get(resource_name: str, iptos_toclient: Optional[pulumi.Input[str]] = None, iptos_toserver: Optional[pulumi.Input[str]] = None, keepalive_interval: Optional[pulumi.Input[str]] = None, + late_binding: Optional[pulumi.Input[str]] = None, + loose_close: Optional[pulumi.Input[str]] = None, + loose_initiation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - partition: Optional[pulumi.Input[str]] = None) -> 'ProfileFastL4': + partition: Optional[pulumi.Input[str]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + tcp_handshake_timeout: Optional[pulumi.Input[str]] = None) -> 'ProfileFastL4': """ Get an existing ProfileFastL4 resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -524,8 +709,13 @@ def get(resource_name: str, :param pulumi.Input[str] iptos_toclient: 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. :param pulumi.Input[str] iptos_toserver: 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. :param pulumi.Input[str] keepalive_interval: Specifies the keep alive probe interval, in seconds. The default value is disabled (0 seconds). - :param pulumi.Input[str] name: Name of the profile_fastl4 - :param pulumi.Input[str] partition: Displays the administrative partition within which this profile resides + :param pulumi.Input[str] late_binding: Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + :param pulumi.Input[str] loose_close: 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. + :param pulumi.Input[str] loose_initiation: 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. + :param pulumi.Input[str] name: 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`) + :param pulumi.Input[str] partition: name of partition + :param pulumi.Input[int] receive_windowsize: Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + :param pulumi.Input[str] tcp_handshake_timeout: 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`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -539,8 +729,13 @@ def get(resource_name: str, __props__.__dict__["iptos_toclient"] = iptos_toclient __props__.__dict__["iptos_toserver"] = iptos_toserver __props__.__dict__["keepalive_interval"] = keepalive_interval + __props__.__dict__["late_binding"] = late_binding + __props__.__dict__["loose_close"] = loose_close + __props__.__dict__["loose_initiation"] = loose_initiation __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition + __props__.__dict__["receive_windowsize"] = receive_windowsize + __props__.__dict__["tcp_handshake_timeout"] = tcp_handshake_timeout return ProfileFastL4(resource_name, opts=opts, __props__=__props__) @property @@ -607,11 +802,35 @@ def keepalive_interval(self) -> pulumi.Output[str]: """ return pulumi.get(self, "keepalive_interval") + @property + @pulumi.getter(name="lateBinding") + def late_binding(self) -> pulumi.Output[str]: + """ + Enables intelligent selection of a back-end server or pool, using an iRule to make the selection. The default is `disabled`. + """ + return pulumi.get(self, "late_binding") + + @property + @pulumi.getter(name="looseClose") + def loose_close(self) -> pulumi.Output[str]: + """ + 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. + """ + return pulumi.get(self, "loose_close") + + @property + @pulumi.getter(name="looseInitiation") + def loose_initiation(self) -> pulumi.Output[str]: + """ + 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. + """ + return pulumi.get(self, "loose_initiation") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Name of the profile_fastl4 + 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`) """ return pulumi.get(self, "name") @@ -619,7 +838,23 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def partition(self) -> pulumi.Output[str]: """ - Displays the administrative partition within which this profile resides + name of partition """ return pulumi.get(self, "partition") + @property + @pulumi.getter(name="receiveWindowsize") + def receive_windowsize(self) -> pulumi.Output[int]: + """ + Specifies the amount of data the BIG-IP system can accept without acknowledging the server. The default is 0 (zero). + """ + return pulumi.get(self, "receive_windowsize") + + @property + @pulumi.getter(name="tcpHandshakeTimeout") + def tcp_handshake_timeout(self) -> pulumi.Output[str]: + """ + 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`. + """ + return pulumi.get(self, "tcp_handshake_timeout") + diff --git a/sdk/python/pulumi_f5bigip/ltm/profile_http_compress.py b/sdk/python/pulumi_f5bigip/ltm/profile_http_compress.py index c0089488..dbd6f218 100644 --- a/sdk/python/pulumi_f5bigip/ltm/profile_http_compress.py +++ b/sdk/python/pulumi_f5bigip/ltm/profile_http_compress.py @@ -15,37 +15,65 @@ class ProfileHttpCompressArgs: def __init__(__self__, *, name: pulumi.Input[str], + compression_buffersize: Optional[pulumi.Input[int]] = None, content_type_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, content_type_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_saver: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, + gzip_compression_level: Optional[pulumi.Input[int]] = None, + gzip_memory_level: Optional[pulumi.Input[int]] = None, + gzip_window_size: Optional[pulumi.Input[int]] = None, + keep_accept_encoding: Optional[pulumi.Input[str]] = None, uri_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - uri_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + uri_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vary_header: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ProfileHttpCompress resource. - :param pulumi.Input[str] name: Name of the profile_httpcompress + :param pulumi.Input[str] name: 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`) + :param pulumi.Input[int] compression_buffersize: 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 `4096` bytes. :param pulumi.Input[Sequence[pulumi.Input[str]]] content_type_excludes: 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. :param pulumi.Input[Sequence[pulumi.Input[str]]] content_type_includes: 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. + :param pulumi.Input[str] cpu_saver: 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 `enabled`. :param pulumi.Input[str] defaults_from: 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. + :param pulumi.Input[int] gzip_compression_level: 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) + :param pulumi.Input[int] gzip_memory_level: 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`. + :param pulumi.Input[int] gzip_window_size: Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + :param pulumi.Input[str] keep_accept_encoding: Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. :param pulumi.Input[Sequence[pulumi.Input[str]]] uri_excludes: 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. :param pulumi.Input[Sequence[pulumi.Input[str]]] uri_includes: 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. + :param pulumi.Input[str] vary_header: Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. """ pulumi.set(__self__, "name", name) + if compression_buffersize is not None: + pulumi.set(__self__, "compression_buffersize", compression_buffersize) if content_type_excludes is not None: pulumi.set(__self__, "content_type_excludes", content_type_excludes) if content_type_includes is not None: pulumi.set(__self__, "content_type_includes", content_type_includes) + if cpu_saver is not None: + pulumi.set(__self__, "cpu_saver", cpu_saver) if defaults_from is not None: pulumi.set(__self__, "defaults_from", defaults_from) + if gzip_compression_level is not None: + pulumi.set(__self__, "gzip_compression_level", gzip_compression_level) + if gzip_memory_level is not None: + pulumi.set(__self__, "gzip_memory_level", gzip_memory_level) + if gzip_window_size is not None: + pulumi.set(__self__, "gzip_window_size", gzip_window_size) + if keep_accept_encoding is not None: + pulumi.set(__self__, "keep_accept_encoding", keep_accept_encoding) if uri_excludes is not None: pulumi.set(__self__, "uri_excludes", uri_excludes) if uri_includes is not None: pulumi.set(__self__, "uri_includes", uri_includes) + if vary_header is not None: + pulumi.set(__self__, "vary_header", vary_header) @property @pulumi.getter def name(self) -> pulumi.Input[str]: """ - Name of the profile_httpcompress + 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`) """ return pulumi.get(self, "name") @@ -53,6 +81,18 @@ def name(self) -> pulumi.Input[str]: def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="compressionBuffersize") + def compression_buffersize(self) -> Optional[pulumi.Input[int]]: + """ + 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 `4096` bytes. + """ + return pulumi.get(self, "compression_buffersize") + + @compression_buffersize.setter + def compression_buffersize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "compression_buffersize", value) + @property @pulumi.getter(name="contentTypeExcludes") def content_type_excludes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -77,6 +117,18 @@ def content_type_includes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[s def content_type_includes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "content_type_includes", value) + @property + @pulumi.getter(name="cpuSaver") + def cpu_saver(self) -> Optional[pulumi.Input[str]]: + """ + 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 `enabled`. + """ + return pulumi.get(self, "cpu_saver") + + @cpu_saver.setter + def cpu_saver(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu_saver", value) + @property @pulumi.getter(name="defaultsFrom") def defaults_from(self) -> Optional[pulumi.Input[str]]: @@ -89,6 +141,54 @@ def defaults_from(self) -> Optional[pulumi.Input[str]]: def defaults_from(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "defaults_from", value) + @property + @pulumi.getter(name="gzipCompressionLevel") + def gzip_compression_level(self) -> Optional[pulumi.Input[int]]: + """ + 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) + """ + return pulumi.get(self, "gzip_compression_level") + + @gzip_compression_level.setter + def gzip_compression_level(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "gzip_compression_level", value) + + @property + @pulumi.getter(name="gzipMemoryLevel") + def gzip_memory_level(self) -> Optional[pulumi.Input[int]]: + """ + 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`. + """ + return pulumi.get(self, "gzip_memory_level") + + @gzip_memory_level.setter + def gzip_memory_level(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "gzip_memory_level", value) + + @property + @pulumi.getter(name="gzipWindowSize") + def gzip_window_size(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + """ + return pulumi.get(self, "gzip_window_size") + + @gzip_window_size.setter + def gzip_window_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "gzip_window_size", value) + + @property + @pulumi.getter(name="keepAcceptEncoding") + def keep_accept_encoding(self) -> Optional[pulumi.Input[str]]: + """ + Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + """ + return pulumi.get(self, "keep_accept_encoding") + + @keep_accept_encoding.setter + def keep_accept_encoding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "keep_accept_encoding", value) + @property @pulumi.getter(name="uriExcludes") def uri_excludes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -113,37 +213,89 @@ def uri_includes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def uri_includes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "uri_includes", value) + @property + @pulumi.getter(name="varyHeader") + def vary_header(self) -> Optional[pulumi.Input[str]]: + """ + Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + """ + return pulumi.get(self, "vary_header") + + @vary_header.setter + def vary_header(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vary_header", value) + @pulumi.input_type class _ProfileHttpCompressState: def __init__(__self__, *, + compression_buffersize: Optional[pulumi.Input[int]] = None, content_type_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, content_type_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_saver: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, + gzip_compression_level: Optional[pulumi.Input[int]] = None, + gzip_memory_level: Optional[pulumi.Input[int]] = None, + gzip_window_size: Optional[pulumi.Input[int]] = None, + keep_accept_encoding: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, uri_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - uri_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + uri_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vary_header: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ProfileHttpCompress resources. + :param pulumi.Input[int] compression_buffersize: 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 `4096` bytes. :param pulumi.Input[Sequence[pulumi.Input[str]]] content_type_excludes: 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. :param pulumi.Input[Sequence[pulumi.Input[str]]] content_type_includes: 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. + :param pulumi.Input[str] cpu_saver: 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 `enabled`. :param pulumi.Input[str] defaults_from: 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. - :param pulumi.Input[str] name: Name of the profile_httpcompress + :param pulumi.Input[int] gzip_compression_level: 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) + :param pulumi.Input[int] gzip_memory_level: 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`. + :param pulumi.Input[int] gzip_window_size: Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + :param pulumi.Input[str] keep_accept_encoding: Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + :param pulumi.Input[str] name: 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`) :param pulumi.Input[Sequence[pulumi.Input[str]]] uri_excludes: 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. :param pulumi.Input[Sequence[pulumi.Input[str]]] uri_includes: 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. + :param pulumi.Input[str] vary_header: Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. """ + if compression_buffersize is not None: + pulumi.set(__self__, "compression_buffersize", compression_buffersize) if content_type_excludes is not None: pulumi.set(__self__, "content_type_excludes", content_type_excludes) if content_type_includes is not None: pulumi.set(__self__, "content_type_includes", content_type_includes) + if cpu_saver is not None: + pulumi.set(__self__, "cpu_saver", cpu_saver) if defaults_from is not None: pulumi.set(__self__, "defaults_from", defaults_from) + if gzip_compression_level is not None: + pulumi.set(__self__, "gzip_compression_level", gzip_compression_level) + if gzip_memory_level is not None: + pulumi.set(__self__, "gzip_memory_level", gzip_memory_level) + if gzip_window_size is not None: + pulumi.set(__self__, "gzip_window_size", gzip_window_size) + if keep_accept_encoding is not None: + pulumi.set(__self__, "keep_accept_encoding", keep_accept_encoding) if name is not None: pulumi.set(__self__, "name", name) if uri_excludes is not None: pulumi.set(__self__, "uri_excludes", uri_excludes) if uri_includes is not None: pulumi.set(__self__, "uri_includes", uri_includes) + if vary_header is not None: + pulumi.set(__self__, "vary_header", vary_header) + + @property + @pulumi.getter(name="compressionBuffersize") + def compression_buffersize(self) -> Optional[pulumi.Input[int]]: + """ + 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 `4096` bytes. + """ + return pulumi.get(self, "compression_buffersize") + + @compression_buffersize.setter + def compression_buffersize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "compression_buffersize", value) @property @pulumi.getter(name="contentTypeExcludes") @@ -169,6 +321,18 @@ def content_type_includes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[s def content_type_includes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "content_type_includes", value) + @property + @pulumi.getter(name="cpuSaver") + def cpu_saver(self) -> Optional[pulumi.Input[str]]: + """ + 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 `enabled`. + """ + return pulumi.get(self, "cpu_saver") + + @cpu_saver.setter + def cpu_saver(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu_saver", value) + @property @pulumi.getter(name="defaultsFrom") def defaults_from(self) -> Optional[pulumi.Input[str]]: @@ -181,11 +345,59 @@ def defaults_from(self) -> Optional[pulumi.Input[str]]: def defaults_from(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "defaults_from", value) + @property + @pulumi.getter(name="gzipCompressionLevel") + def gzip_compression_level(self) -> Optional[pulumi.Input[int]]: + """ + 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) + """ + return pulumi.get(self, "gzip_compression_level") + + @gzip_compression_level.setter + def gzip_compression_level(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "gzip_compression_level", value) + + @property + @pulumi.getter(name="gzipMemoryLevel") + def gzip_memory_level(self) -> Optional[pulumi.Input[int]]: + """ + 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`. + """ + return pulumi.get(self, "gzip_memory_level") + + @gzip_memory_level.setter + def gzip_memory_level(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "gzip_memory_level", value) + + @property + @pulumi.getter(name="gzipWindowSize") + def gzip_window_size(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + """ + return pulumi.get(self, "gzip_window_size") + + @gzip_window_size.setter + def gzip_window_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "gzip_window_size", value) + + @property + @pulumi.getter(name="keepAcceptEncoding") + def keep_accept_encoding(self) -> Optional[pulumi.Input[str]]: + """ + Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + """ + return pulumi.get(self, "keep_accept_encoding") + + @keep_accept_encoding.setter + def keep_accept_encoding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "keep_accept_encoding", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name of the profile_httpcompress + 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`) """ return pulumi.get(self, "name") @@ -217,23 +429,42 @@ def uri_includes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def uri_includes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "uri_includes", value) + @property + @pulumi.getter(name="varyHeader") + def vary_header(self) -> Optional[pulumi.Input[str]]: + """ + Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + """ + return pulumi.get(self, "vary_header") + + @vary_header.setter + def vary_header(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vary_header", value) + class ProfileHttpCompress(pulumi.CustomResource): @overload def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + compression_buffersize: Optional[pulumi.Input[int]] = None, content_type_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, content_type_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_saver: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, + gzip_compression_level: Optional[pulumi.Input[int]] = None, + gzip_memory_level: Optional[pulumi.Input[int]] = None, + gzip_window_size: Optional[pulumi.Input[int]] = None, + keep_accept_encoding: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, uri_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, uri_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vary_header: Optional[pulumi.Input[str]] = None, __props__=None): """ `ltm.ProfileHttpCompress` Virtual server HTTP compression profile configuration - Resources 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 ) + Resources 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`) ## Example Usage @@ -253,14 +484,29 @@ def __init__(__self__, uri_includes=["www.xyzbc.cisco.com"]) ``` + ## Import + + BIG-IP LTM HTTP Compress profiles can be imported using the `name`, e.g. + + ```sh + $ pulumi import f5bigip:ltm/profileHttpCompress:ProfileHttpCompress test-httpcomprs_import /Common/test-httpcomprs + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] compression_buffersize: 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 `4096` bytes. :param pulumi.Input[Sequence[pulumi.Input[str]]] content_type_excludes: 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. :param pulumi.Input[Sequence[pulumi.Input[str]]] content_type_includes: 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. + :param pulumi.Input[str] cpu_saver: 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 `enabled`. :param pulumi.Input[str] defaults_from: 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. - :param pulumi.Input[str] name: Name of the profile_httpcompress + :param pulumi.Input[int] gzip_compression_level: 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) + :param pulumi.Input[int] gzip_memory_level: 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`. + :param pulumi.Input[int] gzip_window_size: Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + :param pulumi.Input[str] keep_accept_encoding: Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + :param pulumi.Input[str] name: 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`) :param pulumi.Input[Sequence[pulumi.Input[str]]] uri_excludes: 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. :param pulumi.Input[Sequence[pulumi.Input[str]]] uri_includes: 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. + :param pulumi.Input[str] vary_header: Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. """ ... @overload @@ -271,7 +517,7 @@ def __init__(__self__, """ `ltm.ProfileHttpCompress` Virtual server HTTP compression profile configuration - Resources 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 ) + Resources 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`) ## Example Usage @@ -291,6 +537,14 @@ def __init__(__self__, uri_includes=["www.xyzbc.cisco.com"]) ``` + ## Import + + BIG-IP LTM HTTP Compress profiles can be imported using the `name`, e.g. + + ```sh + $ pulumi import f5bigip:ltm/profileHttpCompress:ProfileHttpCompress test-httpcomprs_import /Common/test-httpcomprs + ``` + :param str resource_name: The name of the resource. :param ProfileHttpCompressArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -306,12 +560,19 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + compression_buffersize: Optional[pulumi.Input[int]] = None, content_type_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, content_type_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_saver: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, + gzip_compression_level: Optional[pulumi.Input[int]] = None, + gzip_memory_level: Optional[pulumi.Input[int]] = None, + gzip_window_size: Optional[pulumi.Input[int]] = None, + keep_accept_encoding: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, uri_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, uri_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vary_header: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -321,14 +582,21 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = ProfileHttpCompressArgs.__new__(ProfileHttpCompressArgs) + __props__.__dict__["compression_buffersize"] = compression_buffersize __props__.__dict__["content_type_excludes"] = content_type_excludes __props__.__dict__["content_type_includes"] = content_type_includes + __props__.__dict__["cpu_saver"] = cpu_saver __props__.__dict__["defaults_from"] = defaults_from + __props__.__dict__["gzip_compression_level"] = gzip_compression_level + __props__.__dict__["gzip_memory_level"] = gzip_memory_level + __props__.__dict__["gzip_window_size"] = gzip_window_size + __props__.__dict__["keep_accept_encoding"] = keep_accept_encoding if name is None and not opts.urn: raise TypeError("Missing required property 'name'") __props__.__dict__["name"] = name __props__.__dict__["uri_excludes"] = uri_excludes __props__.__dict__["uri_includes"] = uri_includes + __props__.__dict__["vary_header"] = vary_header super(ProfileHttpCompress, __self__).__init__( 'f5bigip:ltm/profileHttpCompress:ProfileHttpCompress', resource_name, @@ -339,12 +607,19 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + compression_buffersize: Optional[pulumi.Input[int]] = None, content_type_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, content_type_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_saver: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, + gzip_compression_level: Optional[pulumi.Input[int]] = None, + gzip_memory_level: Optional[pulumi.Input[int]] = None, + gzip_window_size: Optional[pulumi.Input[int]] = None, + keep_accept_encoding: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, uri_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - uri_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'ProfileHttpCompress': + uri_includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vary_header: Optional[pulumi.Input[str]] = None) -> 'ProfileHttpCompress': """ Get an existing ProfileHttpCompress resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -352,25 +627,47 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] compression_buffersize: 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 `4096` bytes. :param pulumi.Input[Sequence[pulumi.Input[str]]] content_type_excludes: 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. :param pulumi.Input[Sequence[pulumi.Input[str]]] content_type_includes: 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. + :param pulumi.Input[str] cpu_saver: 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 `enabled`. :param pulumi.Input[str] defaults_from: 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. - :param pulumi.Input[str] name: Name of the profile_httpcompress + :param pulumi.Input[int] gzip_compression_level: 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) + :param pulumi.Input[int] gzip_memory_level: 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`. + :param pulumi.Input[int] gzip_window_size: Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + :param pulumi.Input[str] keep_accept_encoding: Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + :param pulumi.Input[str] name: 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`) :param pulumi.Input[Sequence[pulumi.Input[str]]] uri_excludes: 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. :param pulumi.Input[Sequence[pulumi.Input[str]]] uri_includes: 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. + :param pulumi.Input[str] vary_header: Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _ProfileHttpCompressState.__new__(_ProfileHttpCompressState) + __props__.__dict__["compression_buffersize"] = compression_buffersize __props__.__dict__["content_type_excludes"] = content_type_excludes __props__.__dict__["content_type_includes"] = content_type_includes + __props__.__dict__["cpu_saver"] = cpu_saver __props__.__dict__["defaults_from"] = defaults_from + __props__.__dict__["gzip_compression_level"] = gzip_compression_level + __props__.__dict__["gzip_memory_level"] = gzip_memory_level + __props__.__dict__["gzip_window_size"] = gzip_window_size + __props__.__dict__["keep_accept_encoding"] = keep_accept_encoding __props__.__dict__["name"] = name __props__.__dict__["uri_excludes"] = uri_excludes __props__.__dict__["uri_includes"] = uri_includes + __props__.__dict__["vary_header"] = vary_header return ProfileHttpCompress(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="compressionBuffersize") + def compression_buffersize(self) -> pulumi.Output[int]: + """ + 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 `4096` bytes. + """ + return pulumi.get(self, "compression_buffersize") + @property @pulumi.getter(name="contentTypeExcludes") def content_type_excludes(self) -> pulumi.Output[Sequence[str]]: @@ -387,6 +684,14 @@ def content_type_includes(self) -> pulumi.Output[Sequence[str]]: """ return pulumi.get(self, "content_type_includes") + @property + @pulumi.getter(name="cpuSaver") + def cpu_saver(self) -> pulumi.Output[str]: + """ + 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 `enabled`. + """ + return pulumi.get(self, "cpu_saver") + @property @pulumi.getter(name="defaultsFrom") def defaults_from(self) -> pulumi.Output[str]: @@ -395,11 +700,43 @@ def defaults_from(self) -> pulumi.Output[str]: """ return pulumi.get(self, "defaults_from") + @property + @pulumi.getter(name="gzipCompressionLevel") + def gzip_compression_level(self) -> pulumi.Output[int]: + """ + 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) + """ + return pulumi.get(self, "gzip_compression_level") + + @property + @pulumi.getter(name="gzipMemoryLevel") + def gzip_memory_level(self) -> pulumi.Output[int]: + """ + 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`. + """ + return pulumi.get(self, "gzip_memory_level") + + @property + @pulumi.getter(name="gzipWindowSize") + def gzip_window_size(self) -> pulumi.Output[int]: + """ + Specifies the number of kilobytes in the window size that the system uses when compressing a server response. The default is `16` kilobytes + """ + return pulumi.get(self, "gzip_window_size") + + @property + @pulumi.getter(name="keepAcceptEncoding") + def keep_accept_encoding(self) -> pulumi.Output[str]: + """ + Specifies, when checked (enabled), that the system does not remove the Accept-Encoding: header from an HTTP request. The default is `disabled`. + """ + return pulumi.get(self, "keep_accept_encoding") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Name of the profile_httpcompress + 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`) """ return pulumi.get(self, "name") @@ -419,3 +756,11 @@ def uri_includes(self) -> pulumi.Output[Sequence[str]]: """ return pulumi.get(self, "uri_includes") + @property + @pulumi.getter(name="varyHeader") + def vary_header(self) -> pulumi.Output[str]: + """ + Specifies, when checked (enabled), that the system inserts a Vary header into cacheable server responses. The default is `enabled`. + """ + return pulumi.get(self, "vary_header") + diff --git a/sdk/python/pulumi_f5bigip/ltm/profile_server_ssl.py b/sdk/python/pulumi_f5bigip/ltm/profile_server_ssl.py index ae6bc47e..9f77ce79 100644 --- a/sdk/python/pulumi_f5bigip/ltm/profile_server_ssl.py +++ b/sdk/python/pulumi_f5bigip/ltm/profile_server_ssl.py @@ -30,6 +30,7 @@ def __init__(__self__, *, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, expire_cert_response_control: Optional[pulumi.Input[str]] = None, @@ -83,6 +84,7 @@ def __init__(__self__, *, :param pulumi.Input[int] cache_timeout: Cache time out :param pulumi.Input[str] cert: Specifies the name of the certificate that the system uses for server-side SSL processing. :param pulumi.Input[str] chain: Specifies the certificates-key chain to associate with the SSL profile + :param pulumi.Input[str] cipher_group: Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. :param pulumi.Input[str] ciphers: Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. :param pulumi.Input[str] defaults_from: The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. :param pulumi.Input[str] expire_cert_response_control: Response if the cert is expired (drop / ignore). @@ -155,6 +157,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cert", cert) if chain is not None: pulumi.set(__self__, "chain", chain) + if cipher_group is not None: + pulumi.set(__self__, "cipher_group", cipher_group) if ciphers is not None: pulumi.set(__self__, "ciphers", ciphers) if defaults_from is not None: @@ -417,6 +421,18 @@ def chain(self) -> Optional[pulumi.Input[str]]: def chain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "chain", value) + @property + @pulumi.getter(name="cipherGroup") + def cipher_group(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + """ + return pulumi.get(self, "cipher_group") + + @cipher_group.setter + def cipher_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cipher_group", value) + @property @pulumi.getter def ciphers(self) -> Optional[pulumi.Input[str]]: @@ -850,6 +866,7 @@ def __init__(__self__, *, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, expire_cert_response_control: Optional[pulumi.Input[str]] = None, @@ -903,6 +920,7 @@ def __init__(__self__, *, :param pulumi.Input[int] cache_timeout: Cache time out :param pulumi.Input[str] cert: Specifies the name of the certificate that the system uses for server-side SSL processing. :param pulumi.Input[str] chain: Specifies the certificates-key chain to associate with the SSL profile + :param pulumi.Input[str] cipher_group: Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. :param pulumi.Input[str] ciphers: Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. :param pulumi.Input[str] defaults_from: The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. :param pulumi.Input[str] expire_cert_response_control: Response if the cert is expired (drop / ignore). @@ -975,6 +993,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cert", cert) if chain is not None: pulumi.set(__self__, "chain", chain) + if cipher_group is not None: + pulumi.set(__self__, "cipher_group", cipher_group) if ciphers is not None: pulumi.set(__self__, "ciphers", ciphers) if defaults_from is not None: @@ -1227,6 +1247,18 @@ def chain(self) -> Optional[pulumi.Input[str]]: def chain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "chain", value) + @property + @pulumi.getter(name="cipherGroup") + def cipher_group(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + """ + return pulumi.get(self, "cipher_group") + + @cipher_group.setter + def cipher_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cipher_group", value) + @property @pulumi.getter def ciphers(self) -> Optional[pulumi.Input[str]]: @@ -1674,6 +1706,7 @@ def __init__(__self__, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, expire_cert_response_control: Optional[pulumi.Input[str]] = None, @@ -1746,6 +1779,7 @@ def __init__(__self__, :param pulumi.Input[int] cache_timeout: Cache time out :param pulumi.Input[str] cert: Specifies the name of the certificate that the system uses for server-side SSL processing. :param pulumi.Input[str] chain: Specifies the certificates-key chain to associate with the SSL profile + :param pulumi.Input[str] cipher_group: Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. :param pulumi.Input[str] ciphers: Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. :param pulumi.Input[str] defaults_from: The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. :param pulumi.Input[str] expire_cert_response_control: Response if the cert is expired (drop / ignore). @@ -1842,6 +1876,7 @@ def _internal_init(__self__, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, expire_cert_response_control: Optional[pulumi.Input[str]] = None, @@ -1901,6 +1936,7 @@ def _internal_init(__self__, __props__.__dict__["cache_timeout"] = cache_timeout __props__.__dict__["cert"] = cert __props__.__dict__["chain"] = chain + __props__.__dict__["cipher_group"] = cipher_group __props__.__dict__["ciphers"] = ciphers __props__.__dict__["defaults_from"] = defaults_from __props__.__dict__["expire_cert_response_control"] = expire_cert_response_control @@ -1915,7 +1951,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'name'") __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition - __props__.__dict__["passphrase"] = passphrase + __props__.__dict__["passphrase"] = None if passphrase is None else pulumi.Output.secret(passphrase) __props__.__dict__["peer_cert_mode"] = peer_cert_mode __props__.__dict__["proxy_ca_cert"] = proxy_ca_cert __props__.__dict__["proxy_ca_key"] = proxy_ca_key @@ -1938,6 +1974,8 @@ def _internal_init(__self__, __props__.__dict__["tm_options"] = tm_options __props__.__dict__["unclean_shutdown"] = unclean_shutdown __props__.__dict__["untrusted_cert_response_control"] = untrusted_cert_response_control + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["passphrase"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(ProfileServerSsl, __self__).__init__( 'f5bigip:ltm/profileServerSsl:ProfileServerSsl', resource_name, @@ -1963,6 +2001,7 @@ def get(resource_name: str, cache_timeout: Optional[pulumi.Input[int]] = None, cert: Optional[pulumi.Input[str]] = None, chain: Optional[pulumi.Input[str]] = None, + cipher_group: Optional[pulumi.Input[str]] = None, ciphers: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, expire_cert_response_control: Optional[pulumi.Input[str]] = None, @@ -2021,6 +2060,7 @@ def get(resource_name: str, :param pulumi.Input[int] cache_timeout: Cache time out :param pulumi.Input[str] cert: Specifies the name of the certificate that the system uses for server-side SSL processing. :param pulumi.Input[str] chain: Specifies the certificates-key chain to associate with the SSL profile + :param pulumi.Input[str] cipher_group: Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. :param pulumi.Input[str] ciphers: Specifies the list of ciphers that the system supports. When creating a new profile, the default cipher list is provided by the parent profile. :param pulumi.Input[str] defaults_from: The parent template of this monitor template. Once this value has been set, it cannot be changed. By default, this value is `/Common/serverssl`. :param pulumi.Input[str] expire_cert_response_control: Response if the cert is expired (drop / ignore). @@ -2082,6 +2122,7 @@ def get(resource_name: str, __props__.__dict__["cache_timeout"] = cache_timeout __props__.__dict__["cert"] = cert __props__.__dict__["chain"] = chain + __props__.__dict__["cipher_group"] = cipher_group __props__.__dict__["ciphers"] = ciphers __props__.__dict__["defaults_from"] = defaults_from __props__.__dict__["expire_cert_response_control"] = expire_cert_response_control @@ -2226,7 +2267,7 @@ def cache_timeout(self) -> pulumi.Output[int]: @property @pulumi.getter - def cert(self) -> pulumi.Output[str]: + def cert(self) -> pulumi.Output[Optional[str]]: """ Specifies the name of the certificate that the system uses for server-side SSL processing. """ @@ -2234,12 +2275,20 @@ def cert(self) -> pulumi.Output[str]: @property @pulumi.getter - def chain(self) -> pulumi.Output[str]: + def chain(self) -> pulumi.Output[Optional[str]]: """ Specifies the certificates-key chain to associate with the SSL profile """ return pulumi.get(self, "chain") + @property + @pulumi.getter(name="cipherGroup") + def cipher_group(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the cipher group for the SSL server profile. It is mutually exclusive with the argument, `ciphers`. The default value is `none`. + """ + return pulumi.get(self, "cipher_group") + @property @pulumi.getter def ciphers(self) -> pulumi.Output[str]: @@ -2298,7 +2347,7 @@ def handshake_timeout(self) -> pulumi.Output[str]: @property @pulumi.getter - def key(self) -> pulumi.Output[str]: + def key(self) -> pulumi.Output[Optional[str]]: """ Specifies the file name of the SSL key. """ diff --git a/sdk/python/pulumi_f5bigip/ltm/profile_tcp.py b/sdk/python/pulumi_f5bigip/ltm/profile_tcp.py index 81a5cd5a..e9c813f9 100644 --- a/sdk/python/pulumi_f5bigip/ltm/profile_tcp.py +++ b/sdk/python/pulumi_f5bigip/ltm/profile_tcp.py @@ -16,34 +16,64 @@ class ProfileTcpArgs: def __init__(__self__, *, name: pulumi.Input[str], close_wait_timeout: Optional[pulumi.Input[int]] = None, + congestion_control: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, deferred_accept: Optional[pulumi.Input[str]] = None, + delayed_acks: Optional[pulumi.Input[str]] = None, + early_retransmit: Optional[pulumi.Input[str]] = None, fast_open: Optional[pulumi.Input[str]] = None, finwait2timeout: Optional[pulumi.Input[int]] = None, finwait_timeout: Optional[pulumi.Input[int]] = None, idle_timeout: Optional[pulumi.Input[int]] = None, + initial_congestion_windowsize: Optional[pulumi.Input[int]] = None, keepalive_interval: Optional[pulumi.Input[int]] = None, - partition: Optional[pulumi.Input[str]] = None): + nagle: Optional[pulumi.Input[str]] = None, + partition: Optional[pulumi.Input[str]] = None, + proxybuffer_high: Optional[pulumi.Input[int]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + send_buffersize: Optional[pulumi.Input[int]] = None, + tailloss_probe: Optional[pulumi.Input[str]] = None, + timewait_recycle: Optional[pulumi.Input[str]] = None, + verified_accept: Optional[pulumi.Input[str]] = None, + zerowindow_timeout: Optional[pulumi.Input[int]] = None): """ The set of arguments for constructing a ProfileTcp resource. - :param pulumi.Input[str] name: Name of the profile_tcp + :param pulumi.Input[str] name: 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 ) :param pulumi.Input[int] close_wait_timeout: 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. + :param pulumi.Input[str] congestion_control: Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. :param pulumi.Input[str] defaults_from: 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. :param pulumi.Input[str] deferred_accept: 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. - :param pulumi.Input[str] fast_open: When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + :param pulumi.Input[str] delayed_acks: 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. + :param pulumi.Input[str] early_retransmit: 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. + :param pulumi.Input[str] fast_open: When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. :param pulumi.Input[int] finwait2timeout: 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). :param pulumi.Input[int] finwait_timeout: 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. :param pulumi.Input[int] idle_timeout: Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. + :param pulumi.Input[int] initial_congestion_windowsize: 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. :param pulumi.Input[int] keepalive_interval: Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. - :param pulumi.Input[str] partition: Displays the administrative partition within which this profile resides + :param pulumi.Input[str] nagle: 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. + :param pulumi.Input[str] partition: name of partition + :param pulumi.Input[int] proxybuffer_high: Specifies the proxy buffer level, in bytes, at which the receive window is closed. + :param pulumi.Input[int] receive_windowsize: 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. + :param pulumi.Input[int] send_buffersize: Specifies the SEND window size. The default is 131072 bytes. + :param pulumi.Input[str] tailloss_probe: 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. + :param pulumi.Input[str] timewait_recycle: 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. + :param pulumi.Input[str] verified_accept: 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 `disabled`. + :param pulumi.Input[int] zerowindow_timeout: Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. """ pulumi.set(__self__, "name", name) if close_wait_timeout is not None: pulumi.set(__self__, "close_wait_timeout", close_wait_timeout) + if congestion_control is not None: + pulumi.set(__self__, "congestion_control", congestion_control) if defaults_from is not None: pulumi.set(__self__, "defaults_from", defaults_from) if deferred_accept is not None: pulumi.set(__self__, "deferred_accept", deferred_accept) + if delayed_acks is not None: + pulumi.set(__self__, "delayed_acks", delayed_acks) + if early_retransmit is not None: + pulumi.set(__self__, "early_retransmit", early_retransmit) if fast_open is not None: pulumi.set(__self__, "fast_open", fast_open) if finwait2timeout is not None: @@ -52,16 +82,34 @@ def __init__(__self__, *, pulumi.set(__self__, "finwait_timeout", finwait_timeout) if idle_timeout is not None: pulumi.set(__self__, "idle_timeout", idle_timeout) + if initial_congestion_windowsize is not None: + pulumi.set(__self__, "initial_congestion_windowsize", initial_congestion_windowsize) if keepalive_interval is not None: pulumi.set(__self__, "keepalive_interval", keepalive_interval) + if nagle is not None: + pulumi.set(__self__, "nagle", nagle) if partition is not None: pulumi.set(__self__, "partition", partition) + if proxybuffer_high is not None: + pulumi.set(__self__, "proxybuffer_high", proxybuffer_high) + if receive_windowsize is not None: + pulumi.set(__self__, "receive_windowsize", receive_windowsize) + if send_buffersize is not None: + pulumi.set(__self__, "send_buffersize", send_buffersize) + if tailloss_probe is not None: + pulumi.set(__self__, "tailloss_probe", tailloss_probe) + if timewait_recycle is not None: + pulumi.set(__self__, "timewait_recycle", timewait_recycle) + if verified_accept is not None: + pulumi.set(__self__, "verified_accept", verified_accept) + if zerowindow_timeout is not None: + pulumi.set(__self__, "zerowindow_timeout", zerowindow_timeout) @property @pulumi.getter def name(self) -> pulumi.Input[str]: """ - Name of the profile_tcp + 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 ) """ return pulumi.get(self, "name") @@ -81,6 +129,18 @@ def close_wait_timeout(self) -> Optional[pulumi.Input[int]]: def close_wait_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "close_wait_timeout", value) + @property + @pulumi.getter(name="congestionControl") + def congestion_control(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + """ + return pulumi.get(self, "congestion_control") + + @congestion_control.setter + def congestion_control(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "congestion_control", value) + @property @pulumi.getter(name="defaultsFrom") def defaults_from(self) -> Optional[pulumi.Input[str]]: @@ -105,11 +165,35 @@ def deferred_accept(self) -> Optional[pulumi.Input[str]]: def deferred_accept(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "deferred_accept", value) + @property + @pulumi.getter(name="delayedAcks") + def delayed_acks(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "delayed_acks") + + @delayed_acks.setter + def delayed_acks(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delayed_acks", value) + + @property + @pulumi.getter(name="earlyRetransmit") + def early_retransmit(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "early_retransmit") + + @early_retransmit.setter + def early_retransmit(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "early_retransmit", value) + @property @pulumi.getter(name="fastOpen") def fast_open(self) -> Optional[pulumi.Input[str]]: """ - When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. """ return pulumi.get(self, "fast_open") @@ -153,6 +237,18 @@ def idle_timeout(self) -> Optional[pulumi.Input[int]]: def idle_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "idle_timeout", value) + @property + @pulumi.getter(name="initialCongestionWindowsize") + def initial_congestion_windowsize(self) -> Optional[pulumi.Input[int]]: + """ + 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. + """ + return pulumi.get(self, "initial_congestion_windowsize") + + @initial_congestion_windowsize.setter + def initial_congestion_windowsize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "initial_congestion_windowsize", value) + @property @pulumi.getter(name="keepaliveInterval") def keepalive_interval(self) -> Optional[pulumi.Input[int]]: @@ -165,11 +261,23 @@ def keepalive_interval(self) -> Optional[pulumi.Input[int]]: def keepalive_interval(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "keepalive_interval", value) + @property + @pulumi.getter + def nagle(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "nagle") + + @nagle.setter + def nagle(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nagle", value) + @property @pulumi.getter def partition(self) -> Optional[pulumi.Input[str]]: """ - Displays the administrative partition within which this profile resides + name of partition """ return pulumi.get(self, "partition") @@ -177,39 +285,153 @@ def partition(self) -> Optional[pulumi.Input[str]]: def partition(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "partition", value) + @property + @pulumi.getter(name="proxybufferHigh") + def proxybuffer_high(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the proxy buffer level, in bytes, at which the receive window is closed. + """ + return pulumi.get(self, "proxybuffer_high") + + @proxybuffer_high.setter + def proxybuffer_high(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "proxybuffer_high", value) + + @property + @pulumi.getter(name="receiveWindowsize") + def receive_windowsize(self) -> Optional[pulumi.Input[int]]: + """ + 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. + """ + return pulumi.get(self, "receive_windowsize") + + @receive_windowsize.setter + def receive_windowsize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "receive_windowsize", value) + + @property + @pulumi.getter(name="sendBuffersize") + def send_buffersize(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the SEND window size. The default is 131072 bytes. + """ + return pulumi.get(self, "send_buffersize") + + @send_buffersize.setter + def send_buffersize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "send_buffersize", value) + + @property + @pulumi.getter(name="taillossProbe") + def tailloss_probe(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "tailloss_probe") + + @tailloss_probe.setter + def tailloss_probe(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tailloss_probe", value) + + @property + @pulumi.getter(name="timewaitRecycle") + def timewait_recycle(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "timewait_recycle") + + @timewait_recycle.setter + def timewait_recycle(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timewait_recycle", value) + + @property + @pulumi.getter(name="verifiedAccept") + def verified_accept(self) -> Optional[pulumi.Input[str]]: + """ + 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 `disabled`. + """ + return pulumi.get(self, "verified_accept") + + @verified_accept.setter + def verified_accept(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "verified_accept", value) + + @property + @pulumi.getter(name="zerowindowTimeout") + def zerowindow_timeout(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + """ + return pulumi.get(self, "zerowindow_timeout") + + @zerowindow_timeout.setter + def zerowindow_timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "zerowindow_timeout", value) + @pulumi.input_type class _ProfileTcpState: def __init__(__self__, *, close_wait_timeout: Optional[pulumi.Input[int]] = None, + congestion_control: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, deferred_accept: Optional[pulumi.Input[str]] = None, + delayed_acks: Optional[pulumi.Input[str]] = None, + early_retransmit: Optional[pulumi.Input[str]] = None, fast_open: Optional[pulumi.Input[str]] = None, finwait2timeout: Optional[pulumi.Input[int]] = None, finwait_timeout: Optional[pulumi.Input[int]] = None, idle_timeout: Optional[pulumi.Input[int]] = None, + initial_congestion_windowsize: Optional[pulumi.Input[int]] = None, keepalive_interval: Optional[pulumi.Input[int]] = None, + nagle: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - partition: Optional[pulumi.Input[str]] = None): + partition: Optional[pulumi.Input[str]] = None, + proxybuffer_high: Optional[pulumi.Input[int]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + send_buffersize: Optional[pulumi.Input[int]] = None, + tailloss_probe: Optional[pulumi.Input[str]] = None, + timewait_recycle: Optional[pulumi.Input[str]] = None, + verified_accept: Optional[pulumi.Input[str]] = None, + zerowindow_timeout: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering ProfileTcp resources. :param pulumi.Input[int] close_wait_timeout: 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. + :param pulumi.Input[str] congestion_control: Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. :param pulumi.Input[str] defaults_from: 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. :param pulumi.Input[str] deferred_accept: 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. - :param pulumi.Input[str] fast_open: When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + :param pulumi.Input[str] delayed_acks: 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. + :param pulumi.Input[str] early_retransmit: 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. + :param pulumi.Input[str] fast_open: When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. :param pulumi.Input[int] finwait2timeout: 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). :param pulumi.Input[int] finwait_timeout: 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. :param pulumi.Input[int] idle_timeout: Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. + :param pulumi.Input[int] initial_congestion_windowsize: 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. :param pulumi.Input[int] keepalive_interval: Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. - :param pulumi.Input[str] name: Name of the profile_tcp - :param pulumi.Input[str] partition: Displays the administrative partition within which this profile resides + :param pulumi.Input[str] nagle: 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. + :param pulumi.Input[str] name: 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 ) + :param pulumi.Input[str] partition: name of partition + :param pulumi.Input[int] proxybuffer_high: Specifies the proxy buffer level, in bytes, at which the receive window is closed. + :param pulumi.Input[int] receive_windowsize: 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. + :param pulumi.Input[int] send_buffersize: Specifies the SEND window size. The default is 131072 bytes. + :param pulumi.Input[str] tailloss_probe: 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. + :param pulumi.Input[str] timewait_recycle: 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. + :param pulumi.Input[str] verified_accept: 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 `disabled`. + :param pulumi.Input[int] zerowindow_timeout: Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. """ if close_wait_timeout is not None: pulumi.set(__self__, "close_wait_timeout", close_wait_timeout) + if congestion_control is not None: + pulumi.set(__self__, "congestion_control", congestion_control) if defaults_from is not None: pulumi.set(__self__, "defaults_from", defaults_from) if deferred_accept is not None: pulumi.set(__self__, "deferred_accept", deferred_accept) + if delayed_acks is not None: + pulumi.set(__self__, "delayed_acks", delayed_acks) + if early_retransmit is not None: + pulumi.set(__self__, "early_retransmit", early_retransmit) if fast_open is not None: pulumi.set(__self__, "fast_open", fast_open) if finwait2timeout is not None: @@ -218,12 +440,30 @@ def __init__(__self__, *, pulumi.set(__self__, "finwait_timeout", finwait_timeout) if idle_timeout is not None: pulumi.set(__self__, "idle_timeout", idle_timeout) + if initial_congestion_windowsize is not None: + pulumi.set(__self__, "initial_congestion_windowsize", initial_congestion_windowsize) if keepalive_interval is not None: pulumi.set(__self__, "keepalive_interval", keepalive_interval) + if nagle is not None: + pulumi.set(__self__, "nagle", nagle) if name is not None: pulumi.set(__self__, "name", name) if partition is not None: pulumi.set(__self__, "partition", partition) + if proxybuffer_high is not None: + pulumi.set(__self__, "proxybuffer_high", proxybuffer_high) + if receive_windowsize is not None: + pulumi.set(__self__, "receive_windowsize", receive_windowsize) + if send_buffersize is not None: + pulumi.set(__self__, "send_buffersize", send_buffersize) + if tailloss_probe is not None: + pulumi.set(__self__, "tailloss_probe", tailloss_probe) + if timewait_recycle is not None: + pulumi.set(__self__, "timewait_recycle", timewait_recycle) + if verified_accept is not None: + pulumi.set(__self__, "verified_accept", verified_accept) + if zerowindow_timeout is not None: + pulumi.set(__self__, "zerowindow_timeout", zerowindow_timeout) @property @pulumi.getter(name="closeWaitTimeout") @@ -237,6 +477,18 @@ def close_wait_timeout(self) -> Optional[pulumi.Input[int]]: def close_wait_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "close_wait_timeout", value) + @property + @pulumi.getter(name="congestionControl") + def congestion_control(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + """ + return pulumi.get(self, "congestion_control") + + @congestion_control.setter + def congestion_control(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "congestion_control", value) + @property @pulumi.getter(name="defaultsFrom") def defaults_from(self) -> Optional[pulumi.Input[str]]: @@ -261,11 +513,35 @@ def deferred_accept(self) -> Optional[pulumi.Input[str]]: def deferred_accept(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "deferred_accept", value) + @property + @pulumi.getter(name="delayedAcks") + def delayed_acks(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "delayed_acks") + + @delayed_acks.setter + def delayed_acks(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delayed_acks", value) + + @property + @pulumi.getter(name="earlyRetransmit") + def early_retransmit(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "early_retransmit") + + @early_retransmit.setter + def early_retransmit(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "early_retransmit", value) + @property @pulumi.getter(name="fastOpen") def fast_open(self) -> Optional[pulumi.Input[str]]: """ - When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. """ return pulumi.get(self, "fast_open") @@ -309,6 +585,18 @@ def idle_timeout(self) -> Optional[pulumi.Input[int]]: def idle_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "idle_timeout", value) + @property + @pulumi.getter(name="initialCongestionWindowsize") + def initial_congestion_windowsize(self) -> Optional[pulumi.Input[int]]: + """ + 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. + """ + return pulumi.get(self, "initial_congestion_windowsize") + + @initial_congestion_windowsize.setter + def initial_congestion_windowsize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "initial_congestion_windowsize", value) + @property @pulumi.getter(name="keepaliveInterval") def keepalive_interval(self) -> Optional[pulumi.Input[int]]: @@ -321,11 +609,23 @@ def keepalive_interval(self) -> Optional[pulumi.Input[int]]: def keepalive_interval(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "keepalive_interval", value) + @property + @pulumi.getter + def nagle(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "nagle") + + @nagle.setter + def nagle(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nagle", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name of the profile_tcp + 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 ) """ return pulumi.get(self, "name") @@ -337,7 +637,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def partition(self) -> Optional[pulumi.Input[str]]: """ - Displays the administrative partition within which this profile resides + name of partition """ return pulumi.get(self, "partition") @@ -345,6 +645,90 @@ def partition(self) -> Optional[pulumi.Input[str]]: def partition(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "partition", value) + @property + @pulumi.getter(name="proxybufferHigh") + def proxybuffer_high(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the proxy buffer level, in bytes, at which the receive window is closed. + """ + return pulumi.get(self, "proxybuffer_high") + + @proxybuffer_high.setter + def proxybuffer_high(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "proxybuffer_high", value) + + @property + @pulumi.getter(name="receiveWindowsize") + def receive_windowsize(self) -> Optional[pulumi.Input[int]]: + """ + 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. + """ + return pulumi.get(self, "receive_windowsize") + + @receive_windowsize.setter + def receive_windowsize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "receive_windowsize", value) + + @property + @pulumi.getter(name="sendBuffersize") + def send_buffersize(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the SEND window size. The default is 131072 bytes. + """ + return pulumi.get(self, "send_buffersize") + + @send_buffersize.setter + def send_buffersize(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "send_buffersize", value) + + @property + @pulumi.getter(name="taillossProbe") + def tailloss_probe(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "tailloss_probe") + + @tailloss_probe.setter + def tailloss_probe(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tailloss_probe", value) + + @property + @pulumi.getter(name="timewaitRecycle") + def timewait_recycle(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "timewait_recycle") + + @timewait_recycle.setter + def timewait_recycle(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timewait_recycle", value) + + @property + @pulumi.getter(name="verifiedAccept") + def verified_accept(self) -> Optional[pulumi.Input[str]]: + """ + 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 `disabled`. + """ + return pulumi.get(self, "verified_accept") + + @verified_accept.setter + def verified_accept(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "verified_accept", value) + + @property + @pulumi.getter(name="zerowindowTimeout") + def zerowindow_timeout(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + """ + return pulumi.get(self, "zerowindow_timeout") + + @zerowindow_timeout.setter + def zerowindow_timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "zerowindow_timeout", value) + class ProfileTcp(pulumi.CustomResource): @overload @@ -352,20 +736,32 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, close_wait_timeout: Optional[pulumi.Input[int]] = None, + congestion_control: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, deferred_accept: Optional[pulumi.Input[str]] = None, + delayed_acks: Optional[pulumi.Input[str]] = None, + early_retransmit: Optional[pulumi.Input[str]] = None, fast_open: Optional[pulumi.Input[str]] = None, finwait2timeout: Optional[pulumi.Input[int]] = None, finwait_timeout: Optional[pulumi.Input[int]] = None, idle_timeout: Optional[pulumi.Input[int]] = None, + initial_congestion_windowsize: Optional[pulumi.Input[int]] = None, keepalive_interval: Optional[pulumi.Input[int]] = None, + nagle: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, partition: Optional[pulumi.Input[str]] = None, + proxybuffer_high: Optional[pulumi.Input[int]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + send_buffersize: Optional[pulumi.Input[int]] = None, + tailloss_probe: Optional[pulumi.Input[str]] = None, + timewait_recycle: Optional[pulumi.Input[str]] = None, + verified_accept: Optional[pulumi.Input[str]] = None, + zerowindow_timeout: Optional[pulumi.Input[int]] = None, __props__=None): """ - `ltm.ProfileTcp` Configures a custom profile_tcp for use by health checks. + `ltm.ProfileTcp` Configures a custom TCP LTM Profile for use by health checks. - Resources 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 ) + Resources 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 ) ## Example Usage @@ -387,15 +783,27 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] close_wait_timeout: 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. + :param pulumi.Input[str] congestion_control: Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. :param pulumi.Input[str] defaults_from: 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. :param pulumi.Input[str] deferred_accept: 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. - :param pulumi.Input[str] fast_open: When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + :param pulumi.Input[str] delayed_acks: 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. + :param pulumi.Input[str] early_retransmit: 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. + :param pulumi.Input[str] fast_open: When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. :param pulumi.Input[int] finwait2timeout: 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). :param pulumi.Input[int] finwait_timeout: 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. :param pulumi.Input[int] idle_timeout: Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. + :param pulumi.Input[int] initial_congestion_windowsize: 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. :param pulumi.Input[int] keepalive_interval: Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. - :param pulumi.Input[str] name: Name of the profile_tcp - :param pulumi.Input[str] partition: Displays the administrative partition within which this profile resides + :param pulumi.Input[str] nagle: 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. + :param pulumi.Input[str] name: 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 ) + :param pulumi.Input[str] partition: name of partition + :param pulumi.Input[int] proxybuffer_high: Specifies the proxy buffer level, in bytes, at which the receive window is closed. + :param pulumi.Input[int] receive_windowsize: 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. + :param pulumi.Input[int] send_buffersize: Specifies the SEND window size. The default is 131072 bytes. + :param pulumi.Input[str] tailloss_probe: 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. + :param pulumi.Input[str] timewait_recycle: 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. + :param pulumi.Input[str] verified_accept: 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 `disabled`. + :param pulumi.Input[int] zerowindow_timeout: Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. """ ... @overload @@ -404,9 +812,9 @@ def __init__(__self__, args: ProfileTcpArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - `ltm.ProfileTcp` Configures a custom profile_tcp for use by health checks. + `ltm.ProfileTcp` Configures a custom TCP LTM Profile for use by health checks. - Resources 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 ) + Resources 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 ) ## Example Usage @@ -441,15 +849,27 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, close_wait_timeout: Optional[pulumi.Input[int]] = None, + congestion_control: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, deferred_accept: Optional[pulumi.Input[str]] = None, + delayed_acks: Optional[pulumi.Input[str]] = None, + early_retransmit: Optional[pulumi.Input[str]] = None, fast_open: Optional[pulumi.Input[str]] = None, finwait2timeout: Optional[pulumi.Input[int]] = None, finwait_timeout: Optional[pulumi.Input[int]] = None, idle_timeout: Optional[pulumi.Input[int]] = None, + initial_congestion_windowsize: Optional[pulumi.Input[int]] = None, keepalive_interval: Optional[pulumi.Input[int]] = None, + nagle: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, partition: Optional[pulumi.Input[str]] = None, + proxybuffer_high: Optional[pulumi.Input[int]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + send_buffersize: Optional[pulumi.Input[int]] = None, + tailloss_probe: Optional[pulumi.Input[str]] = None, + timewait_recycle: Optional[pulumi.Input[str]] = None, + verified_accept: Optional[pulumi.Input[str]] = None, + zerowindow_timeout: Optional[pulumi.Input[int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -460,17 +880,29 @@ def _internal_init(__self__, __props__ = ProfileTcpArgs.__new__(ProfileTcpArgs) __props__.__dict__["close_wait_timeout"] = close_wait_timeout + __props__.__dict__["congestion_control"] = congestion_control __props__.__dict__["defaults_from"] = defaults_from __props__.__dict__["deferred_accept"] = deferred_accept + __props__.__dict__["delayed_acks"] = delayed_acks + __props__.__dict__["early_retransmit"] = early_retransmit __props__.__dict__["fast_open"] = fast_open __props__.__dict__["finwait2timeout"] = finwait2timeout __props__.__dict__["finwait_timeout"] = finwait_timeout __props__.__dict__["idle_timeout"] = idle_timeout + __props__.__dict__["initial_congestion_windowsize"] = initial_congestion_windowsize __props__.__dict__["keepalive_interval"] = keepalive_interval + __props__.__dict__["nagle"] = nagle if name is None and not opts.urn: raise TypeError("Missing required property 'name'") __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition + __props__.__dict__["proxybuffer_high"] = proxybuffer_high + __props__.__dict__["receive_windowsize"] = receive_windowsize + __props__.__dict__["send_buffersize"] = send_buffersize + __props__.__dict__["tailloss_probe"] = tailloss_probe + __props__.__dict__["timewait_recycle"] = timewait_recycle + __props__.__dict__["verified_accept"] = verified_accept + __props__.__dict__["zerowindow_timeout"] = zerowindow_timeout super(ProfileTcp, __self__).__init__( 'f5bigip:ltm/profileTcp:ProfileTcp', resource_name, @@ -482,15 +914,27 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, close_wait_timeout: Optional[pulumi.Input[int]] = None, + congestion_control: Optional[pulumi.Input[str]] = None, defaults_from: Optional[pulumi.Input[str]] = None, deferred_accept: Optional[pulumi.Input[str]] = None, + delayed_acks: Optional[pulumi.Input[str]] = None, + early_retransmit: Optional[pulumi.Input[str]] = None, fast_open: Optional[pulumi.Input[str]] = None, finwait2timeout: Optional[pulumi.Input[int]] = None, finwait_timeout: Optional[pulumi.Input[int]] = None, idle_timeout: Optional[pulumi.Input[int]] = None, + initial_congestion_windowsize: Optional[pulumi.Input[int]] = None, keepalive_interval: Optional[pulumi.Input[int]] = None, + nagle: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - partition: Optional[pulumi.Input[str]] = None) -> 'ProfileTcp': + partition: Optional[pulumi.Input[str]] = None, + proxybuffer_high: Optional[pulumi.Input[int]] = None, + receive_windowsize: Optional[pulumi.Input[int]] = None, + send_buffersize: Optional[pulumi.Input[int]] = None, + tailloss_probe: Optional[pulumi.Input[str]] = None, + timewait_recycle: Optional[pulumi.Input[str]] = None, + verified_accept: Optional[pulumi.Input[str]] = None, + zerowindow_timeout: Optional[pulumi.Input[int]] = None) -> 'ProfileTcp': """ Get an existing ProfileTcp resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -499,30 +943,54 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] close_wait_timeout: 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. + :param pulumi.Input[str] congestion_control: Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. :param pulumi.Input[str] defaults_from: 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. :param pulumi.Input[str] deferred_accept: 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. - :param pulumi.Input[str] fast_open: When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + :param pulumi.Input[str] delayed_acks: 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. + :param pulumi.Input[str] early_retransmit: 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. + :param pulumi.Input[str] fast_open: When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. :param pulumi.Input[int] finwait2timeout: 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). :param pulumi.Input[int] finwait_timeout: 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. :param pulumi.Input[int] idle_timeout: Specifies the number of seconds that a connection is idle before the connection is eligible for deletion. The default value is 300 seconds. + :param pulumi.Input[int] initial_congestion_windowsize: 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. :param pulumi.Input[int] keepalive_interval: Specifies the keep alive probe interval, in seconds. The default value is 1800 seconds. - :param pulumi.Input[str] name: Name of the profile_tcp - :param pulumi.Input[str] partition: Displays the administrative partition within which this profile resides + :param pulumi.Input[str] nagle: 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. + :param pulumi.Input[str] name: 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 ) + :param pulumi.Input[str] partition: name of partition + :param pulumi.Input[int] proxybuffer_high: Specifies the proxy buffer level, in bytes, at which the receive window is closed. + :param pulumi.Input[int] receive_windowsize: 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. + :param pulumi.Input[int] send_buffersize: Specifies the SEND window size. The default is 131072 bytes. + :param pulumi.Input[str] tailloss_probe: 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. + :param pulumi.Input[str] timewait_recycle: 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. + :param pulumi.Input[str] verified_accept: 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 `disabled`. + :param pulumi.Input[int] zerowindow_timeout: Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _ProfileTcpState.__new__(_ProfileTcpState) __props__.__dict__["close_wait_timeout"] = close_wait_timeout + __props__.__dict__["congestion_control"] = congestion_control __props__.__dict__["defaults_from"] = defaults_from __props__.__dict__["deferred_accept"] = deferred_accept + __props__.__dict__["delayed_acks"] = delayed_acks + __props__.__dict__["early_retransmit"] = early_retransmit __props__.__dict__["fast_open"] = fast_open __props__.__dict__["finwait2timeout"] = finwait2timeout __props__.__dict__["finwait_timeout"] = finwait_timeout __props__.__dict__["idle_timeout"] = idle_timeout + __props__.__dict__["initial_congestion_windowsize"] = initial_congestion_windowsize __props__.__dict__["keepalive_interval"] = keepalive_interval + __props__.__dict__["nagle"] = nagle __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition + __props__.__dict__["proxybuffer_high"] = proxybuffer_high + __props__.__dict__["receive_windowsize"] = receive_windowsize + __props__.__dict__["send_buffersize"] = send_buffersize + __props__.__dict__["tailloss_probe"] = tailloss_probe + __props__.__dict__["timewait_recycle"] = timewait_recycle + __props__.__dict__["verified_accept"] = verified_accept + __props__.__dict__["zerowindow_timeout"] = zerowindow_timeout return ProfileTcp(resource_name, opts=opts, __props__=__props__) @property @@ -533,6 +1001,14 @@ def close_wait_timeout(self) -> pulumi.Output[int]: """ return pulumi.get(self, "close_wait_timeout") + @property + @pulumi.getter(name="congestionControl") + def congestion_control(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the algorithm to use to share network resources among competing users to reduce congestion. The default is High Speed. + """ + return pulumi.get(self, "congestion_control") + @property @pulumi.getter(name="defaultsFrom") def defaults_from(self) -> pulumi.Output[str]: @@ -549,11 +1025,27 @@ def deferred_accept(self) -> pulumi.Output[str]: """ return pulumi.get(self, "deferred_accept") + @property + @pulumi.getter(name="delayedAcks") + def delayed_acks(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "delayed_acks") + + @property + @pulumi.getter(name="earlyRetransmit") + def early_retransmit(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "early_retransmit") + @property @pulumi.getter(name="fastOpen") def fast_open(self) -> pulumi.Output[str]: """ - When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. + When enabled, permits TCP Fast Open, allowing properly equipped TCP clients to send data with the SYN packet. Default is `enabled`. If `fast_open` set to `enabled`, argument `verified_accept` can't be set to `enabled`. """ return pulumi.get(self, "fast_open") @@ -581,6 +1073,14 @@ def idle_timeout(self) -> pulumi.Output[int]: """ return pulumi.get(self, "idle_timeout") + @property + @pulumi.getter(name="initialCongestionWindowsize") + def initial_congestion_windowsize(self) -> pulumi.Output[Optional[int]]: + """ + 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. + """ + return pulumi.get(self, "initial_congestion_windowsize") + @property @pulumi.getter(name="keepaliveInterval") def keepalive_interval(self) -> pulumi.Output[int]: @@ -589,11 +1089,19 @@ def keepalive_interval(self) -> pulumi.Output[int]: """ return pulumi.get(self, "keepalive_interval") + @property + @pulumi.getter + def nagle(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "nagle") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Name of the profile_tcp + 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 ) """ return pulumi.get(self, "name") @@ -601,7 +1109,63 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def partition(self) -> pulumi.Output[Optional[str]]: """ - Displays the administrative partition within which this profile resides + name of partition """ return pulumi.get(self, "partition") + @property + @pulumi.getter(name="proxybufferHigh") + def proxybuffer_high(self) -> pulumi.Output[Optional[int]]: + """ + Specifies the proxy buffer level, in bytes, at which the receive window is closed. + """ + return pulumi.get(self, "proxybuffer_high") + + @property + @pulumi.getter(name="receiveWindowsize") + def receive_windowsize(self) -> pulumi.Output[Optional[int]]: + """ + 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. + """ + return pulumi.get(self, "receive_windowsize") + + @property + @pulumi.getter(name="sendBuffersize") + def send_buffersize(self) -> pulumi.Output[Optional[int]]: + """ + Specifies the SEND window size. The default is 131072 bytes. + """ + return pulumi.get(self, "send_buffersize") + + @property + @pulumi.getter(name="taillossProbe") + def tailloss_probe(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "tailloss_probe") + + @property + @pulumi.getter(name="timewaitRecycle") + def timewait_recycle(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "timewait_recycle") + + @property + @pulumi.getter(name="verifiedAccept") + def verified_accept(self) -> pulumi.Output[Optional[str]]: + """ + 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 `disabled`. + """ + return pulumi.get(self, "verified_accept") + + @property + @pulumi.getter(name="zerowindowTimeout") + def zerowindow_timeout(self) -> pulumi.Output[Optional[int]]: + """ + Specifies the timeout in milliseconds for terminating a connection with an effective zero length TCP transmit window. + """ + return pulumi.get(self, "zerowindow_timeout") + diff --git a/sdk/python/pulumi_f5bigip/ltm/snat.py b/sdk/python/pulumi_f5bigip/ltm/snat.py index df89a72f..75d41b22 100644 --- a/sdk/python/pulumi_f5bigip/ltm/snat.py +++ b/sdk/python/pulumi_f5bigip/ltm/snat.py @@ -31,7 +31,7 @@ def __init__(__self__, *, The set of arguments for constructing a Snat resource. :param pulumi.Input[str] name: 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`. :param pulumi.Input[Sequence[pulumi.Input['SnatOriginArgs']]] origins: 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 - :param pulumi.Input[str] autolasthop: -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + :param pulumi.Input[str] autolasthop: Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. :param pulumi.Input[str] full_path: Fullpath :param pulumi.Input[str] mirror: Enables or disables mirroring of SNAT connections. :param pulumi.Input[str] partition: Partition or path to which the SNAT belongs @@ -90,7 +90,7 @@ def origins(self, value: pulumi.Input[Sequence[pulumi.Input['SnatOriginArgs']]]) @pulumi.getter def autolasthop(self) -> Optional[pulumi.Input[str]]: """ - -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. """ return pulumi.get(self, "autolasthop") @@ -211,7 +211,7 @@ def __init__(__self__, *, vlansdisabled: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering Snat resources. - :param pulumi.Input[str] autolasthop: -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + :param pulumi.Input[str] autolasthop: Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. :param pulumi.Input[str] full_path: Fullpath :param pulumi.Input[str] mirror: Enables or disables mirroring of SNAT connections. :param pulumi.Input[str] name: 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`. @@ -250,7 +250,7 @@ def __init__(__self__, *, @pulumi.getter def autolasthop(self) -> Optional[pulumi.Input[str]]: """ - -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. """ return pulumi.get(self, "autolasthop") @@ -420,7 +420,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] autolasthop: -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + :param pulumi.Input[str] autolasthop: Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. :param pulumi.Input[str] full_path: Fullpath :param pulumi.Input[str] mirror: Enables or disables mirroring of SNAT connections. :param pulumi.Input[str] name: 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`. @@ -538,7 +538,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] autolasthop: -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + :param pulumi.Input[str] autolasthop: Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. :param pulumi.Input[str] full_path: Fullpath :param pulumi.Input[str] mirror: Enables or disables mirroring of SNAT connections. :param pulumi.Input[str] name: 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`. @@ -571,7 +571,7 @@ def get(resource_name: str, @pulumi.getter def autolasthop(self) -> pulumi.Output[str]: """ - -(Optional) Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. + Specifies whether to automatically map last hop for pools or not. The default is to use next level's default. """ return pulumi.get(self, "autolasthop") diff --git a/sdk/python/pulumi_f5bigip/ltm/virtual_server.py b/sdk/python/pulumi_f5bigip/ltm/virtual_server.py index e976bf78..fd65de9b 100644 --- a/sdk/python/pulumi_f5bigip/ltm/virtual_server.py +++ b/sdk/python/pulumi_f5bigip/ltm/virtual_server.py @@ -14,13 +14,13 @@ @pulumi.input_type class VirtualServerArgs: def __init__(__self__, *, - destination: pulumi.Input[str], name: pulumi.Input[str], - port: pulumi.Input[int], client_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, default_persistence_profile: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + destination: Optional[pulumi.Input[str]] = None, fallback_persistence_profile: Optional[pulumi.Input[str]] = None, + firewall_enforced_policy: Optional[pulumi.Input[str]] = None, ip_protocol: Optional[pulumi.Input[str]] = None, irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, mask: Optional[pulumi.Input[str]] = None, @@ -28,54 +28,62 @@ def __init__(__self__, *, persistence_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, pool: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_log_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, server_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, snatpool: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input[str]] = None, source_address_translation: Optional[pulumi.Input[str]] = None, + source_port: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, + trafficmatching_criteria: Optional[pulumi.Input[str]] = None, translate_address: Optional[pulumi.Input[str]] = None, translate_port: Optional[pulumi.Input[str]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, vlans_enabled: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a VirtualServer resource. - :param pulumi.Input[str] destination: Destination IP :param pulumi.Input[str] name: Name of the virtual server - :param pulumi.Input[int] port: Listen port for the virtual server :param pulumi.Input[Sequence[pulumi.Input[str]]] client_profiles: List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles :param pulumi.Input[str] description: Description of Virtual server + :param pulumi.Input[str] destination: Destination IP :param pulumi.Input[str] fallback_persistence_profile: Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. + :param pulumi.Input[str] firewall_enforced_policy: 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`. :param pulumi.Input[str] ip_protocol: Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) :param pulumi.Input[Sequence[pulumi.Input[str]]] irules: The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. :param pulumi.Input[str] mask: 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 :param pulumi.Input[Sequence[pulumi.Input[str]]] persistence_profiles: List of persistence profiles associated with the Virtual Server. :param pulumi.Input[str] pool: Default pool name + :param pulumi.Input[int] port: Listen port for the virtual server :param pulumi.Input[Sequence[pulumi.Input[str]]] profiles: List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: Specifies the log profile applied to the virtual server. :param pulumi.Input[Sequence[pulumi.Input[str]]] server_profiles: List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles - :param pulumi.Input[str] snatpool: Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + :param pulumi.Input[str] snatpool: Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. :param pulumi.Input[str] source: Specifies an IP address or network from which the virtual server will accept traffic. - :param pulumi.Input[str] source_address_translation: Can be either omitted for none or the values automap or snat + :param pulumi.Input[str] source_address_translation: Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. + :param pulumi.Input[str] source_port: Specifies whether the system preserves the source port of the connection. The default is `preserve`. :param pulumi.Input[str] state: Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled + :param pulumi.Input[str] trafficmatching_criteria: Specifies destination traffic matching information to which the virtual server sends traffic :param pulumi.Input[str] translate_address: 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. :param pulumi.Input[str] translate_port: 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 :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlan_enabled` :param pulumi.Input[bool] vlans_enabled: Enables the virtual server on the VLANs specified by the `vlans` option. By default it is `false` i.e vlanDisabled on specified vlans, if we want enable virtual server on VLANs specified by `vlans`, mark this attribute to `true`. """ - pulumi.set(__self__, "destination", destination) pulumi.set(__self__, "name", name) - pulumi.set(__self__, "port", port) if client_profiles is not None: pulumi.set(__self__, "client_profiles", client_profiles) if default_persistence_profile is not None: pulumi.set(__self__, "default_persistence_profile", default_persistence_profile) if description is not None: pulumi.set(__self__, "description", description) + if destination is not None: + pulumi.set(__self__, "destination", destination) if fallback_persistence_profile is not None: pulumi.set(__self__, "fallback_persistence_profile", fallback_persistence_profile) + if firewall_enforced_policy is not None: + pulumi.set(__self__, "firewall_enforced_policy", firewall_enforced_policy) if ip_protocol is not None: pulumi.set(__self__, "ip_protocol", ip_protocol) if irules is not None: @@ -90,6 +98,8 @@ def __init__(__self__, *, pulumi.set(__self__, "policies", policies) if pool is not None: pulumi.set(__self__, "pool", pool) + if port is not None: + pulumi.set(__self__, "port", port) if profiles is not None: pulumi.set(__self__, "profiles", profiles) if security_log_profiles is not None: @@ -102,8 +112,12 @@ def __init__(__self__, *, pulumi.set(__self__, "source", source) if source_address_translation is not None: pulumi.set(__self__, "source_address_translation", source_address_translation) + if source_port is not None: + pulumi.set(__self__, "source_port", source_port) if state is not None: pulumi.set(__self__, "state", state) + if trafficmatching_criteria is not None: + pulumi.set(__self__, "trafficmatching_criteria", trafficmatching_criteria) if translate_address is not None: pulumi.set(__self__, "translate_address", translate_address) if translate_port is not None: @@ -113,18 +127,6 @@ def __init__(__self__, *, if vlans_enabled is not None: pulumi.set(__self__, "vlans_enabled", vlans_enabled) - @property - @pulumi.getter - def destination(self) -> pulumi.Input[str]: - """ - Destination IP - """ - return pulumi.get(self, "destination") - - @destination.setter - def destination(self, value: pulumi.Input[str]): - pulumi.set(self, "destination", value) - @property @pulumi.getter def name(self) -> pulumi.Input[str]: @@ -137,18 +139,6 @@ def name(self) -> pulumi.Input[str]: def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) - @property - @pulumi.getter - def port(self) -> pulumi.Input[int]: - """ - Listen port for the virtual server - """ - return pulumi.get(self, "port") - - @port.setter - def port(self, value: pulumi.Input[int]): - pulumi.set(self, "port", value) - @property @pulumi.getter(name="clientProfiles") def client_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -182,6 +172,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter + def destination(self) -> Optional[pulumi.Input[str]]: + """ + Destination IP + """ + return pulumi.get(self, "destination") + + @destination.setter + def destination(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "destination", value) + @property @pulumi.getter(name="fallbackPersistenceProfile") def fallback_persistence_profile(self) -> Optional[pulumi.Input[str]]: @@ -194,6 +196,18 @@ def fallback_persistence_profile(self) -> Optional[pulumi.Input[str]]: def fallback_persistence_profile(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "fallback_persistence_profile", value) + @property + @pulumi.getter(name="firewallEnforcedPolicy") + def firewall_enforced_policy(self) -> Optional[pulumi.Input[str]]: + """ + 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`. + """ + return pulumi.get(self, "firewall_enforced_policy") + + @firewall_enforced_policy.setter + def firewall_enforced_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "firewall_enforced_policy", value) + @property @pulumi.getter(name="ipProtocol") def ip_protocol(self) -> Optional[pulumi.Input[str]]: @@ -272,6 +286,18 @@ def pool(self) -> Optional[pulumi.Input[str]]: def pool(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pool", value) + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + Listen port for the virtual server + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + @property @pulumi.getter def profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -312,7 +338,7 @@ def server_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str @pulumi.getter def snatpool(self) -> Optional[pulumi.Input[str]]: """ - Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. """ return pulumi.get(self, "snatpool") @@ -336,7 +362,7 @@ def source(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="sourceAddressTranslation") def source_address_translation(self) -> Optional[pulumi.Input[str]]: """ - Can be either omitted for none or the values automap or snat + Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. """ return pulumi.get(self, "source_address_translation") @@ -344,6 +370,18 @@ def source_address_translation(self) -> Optional[pulumi.Input[str]]: def source_address_translation(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "source_address_translation", value) + @property + @pulumi.getter(name="sourcePort") + def source_port(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether the system preserves the source port of the connection. The default is `preserve`. + """ + return pulumi.get(self, "source_port") + + @source_port.setter + def source_port(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_port", value) + @property @pulumi.getter def state(self) -> Optional[pulumi.Input[str]]: @@ -356,6 +394,18 @@ def state(self) -> Optional[pulumi.Input[str]]: def state(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "state", value) + @property + @pulumi.getter(name="trafficmatchingCriteria") + def trafficmatching_criteria(self) -> Optional[pulumi.Input[str]]: + """ + Specifies destination traffic matching information to which the virtual server sends traffic + """ + return pulumi.get(self, "trafficmatching_criteria") + + @trafficmatching_criteria.setter + def trafficmatching_criteria(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "trafficmatching_criteria", value) + @property @pulumi.getter(name="translateAddress") def translate_address(self) -> Optional[pulumi.Input[str]]: @@ -414,6 +464,7 @@ def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, destination: Optional[pulumi.Input[str]] = None, fallback_persistence_profile: Optional[pulumi.Input[str]] = None, + firewall_enforced_policy: Optional[pulumi.Input[str]] = None, ip_protocol: Optional[pulumi.Input[str]] = None, irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, mask: Optional[pulumi.Input[str]] = None, @@ -429,7 +480,9 @@ def __init__(__self__, *, snatpool: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input[str]] = None, source_address_translation: Optional[pulumi.Input[str]] = None, + source_port: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, + trafficmatching_criteria: Optional[pulumi.Input[str]] = None, translate_address: Optional[pulumi.Input[str]] = None, translate_port: Optional[pulumi.Input[str]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -440,6 +493,7 @@ def __init__(__self__, *, :param pulumi.Input[str] description: Description of Virtual server :param pulumi.Input[str] destination: Destination IP :param pulumi.Input[str] fallback_persistence_profile: Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. + :param pulumi.Input[str] firewall_enforced_policy: 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`. :param pulumi.Input[str] ip_protocol: Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) :param pulumi.Input[Sequence[pulumi.Input[str]]] irules: The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. :param pulumi.Input[str] mask: 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 @@ -450,10 +504,12 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] profiles: List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: Specifies the log profile applied to the virtual server. :param pulumi.Input[Sequence[pulumi.Input[str]]] server_profiles: List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles - :param pulumi.Input[str] snatpool: Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + :param pulumi.Input[str] snatpool: Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. :param pulumi.Input[str] source: Specifies an IP address or network from which the virtual server will accept traffic. - :param pulumi.Input[str] source_address_translation: Can be either omitted for none or the values automap or snat + :param pulumi.Input[str] source_address_translation: Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. + :param pulumi.Input[str] source_port: Specifies whether the system preserves the source port of the connection. The default is `preserve`. :param pulumi.Input[str] state: Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled + :param pulumi.Input[str] trafficmatching_criteria: Specifies destination traffic matching information to which the virtual server sends traffic :param pulumi.Input[str] translate_address: 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. :param pulumi.Input[str] translate_port: 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 :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlan_enabled` @@ -470,6 +526,8 @@ def __init__(__self__, *, pulumi.set(__self__, "destination", destination) if fallback_persistence_profile is not None: pulumi.set(__self__, "fallback_persistence_profile", fallback_persistence_profile) + if firewall_enforced_policy is not None: + pulumi.set(__self__, "firewall_enforced_policy", firewall_enforced_policy) if ip_protocol is not None: pulumi.set(__self__, "ip_protocol", ip_protocol) if irules is not None: @@ -500,8 +558,12 @@ def __init__(__self__, *, pulumi.set(__self__, "source", source) if source_address_translation is not None: pulumi.set(__self__, "source_address_translation", source_address_translation) + if source_port is not None: + pulumi.set(__self__, "source_port", source_port) if state is not None: pulumi.set(__self__, "state", state) + if trafficmatching_criteria is not None: + pulumi.set(__self__, "trafficmatching_criteria", trafficmatching_criteria) if translate_address is not None: pulumi.set(__self__, "translate_address", translate_address) if translate_port is not None: @@ -568,6 +630,18 @@ def fallback_persistence_profile(self) -> Optional[pulumi.Input[str]]: def fallback_persistence_profile(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "fallback_persistence_profile", value) + @property + @pulumi.getter(name="firewallEnforcedPolicy") + def firewall_enforced_policy(self) -> Optional[pulumi.Input[str]]: + """ + 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`. + """ + return pulumi.get(self, "firewall_enforced_policy") + + @firewall_enforced_policy.setter + def firewall_enforced_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "firewall_enforced_policy", value) + @property @pulumi.getter(name="ipProtocol") def ip_protocol(self) -> Optional[pulumi.Input[str]]: @@ -710,7 +784,7 @@ def server_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str @pulumi.getter def snatpool(self) -> Optional[pulumi.Input[str]]: """ - Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. """ return pulumi.get(self, "snatpool") @@ -734,7 +808,7 @@ def source(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="sourceAddressTranslation") def source_address_translation(self) -> Optional[pulumi.Input[str]]: """ - Can be either omitted for none or the values automap or snat + Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. """ return pulumi.get(self, "source_address_translation") @@ -742,6 +816,18 @@ def source_address_translation(self) -> Optional[pulumi.Input[str]]: def source_address_translation(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "source_address_translation", value) + @property + @pulumi.getter(name="sourcePort") + def source_port(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether the system preserves the source port of the connection. The default is `preserve`. + """ + return pulumi.get(self, "source_port") + + @source_port.setter + def source_port(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_port", value) + @property @pulumi.getter def state(self) -> Optional[pulumi.Input[str]]: @@ -754,6 +840,18 @@ def state(self) -> Optional[pulumi.Input[str]]: def state(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "state", value) + @property + @pulumi.getter(name="trafficmatchingCriteria") + def trafficmatching_criteria(self) -> Optional[pulumi.Input[str]]: + """ + Specifies destination traffic matching information to which the virtual server sends traffic + """ + return pulumi.get(self, "trafficmatching_criteria") + + @trafficmatching_criteria.setter + def trafficmatching_criteria(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "trafficmatching_criteria", value) + @property @pulumi.getter(name="translateAddress") def translate_address(self) -> Optional[pulumi.Input[str]]: @@ -814,6 +912,7 @@ def __init__(__self__, description: Optional[pulumi.Input[str]] = None, destination: Optional[pulumi.Input[str]] = None, fallback_persistence_profile: Optional[pulumi.Input[str]] = None, + firewall_enforced_policy: Optional[pulumi.Input[str]] = None, ip_protocol: Optional[pulumi.Input[str]] = None, irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, mask: Optional[pulumi.Input[str]] = None, @@ -829,7 +928,9 @@ def __init__(__self__, snatpool: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input[str]] = None, source_address_translation: Optional[pulumi.Input[str]] = None, + source_port: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, + trafficmatching_criteria: Optional[pulumi.Input[str]] = None, translate_address: Optional[pulumi.Input[str]] = None, translate_port: Optional[pulumi.Input[str]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -885,6 +986,7 @@ def __init__(__self__, :param pulumi.Input[str] description: Description of Virtual server :param pulumi.Input[str] destination: Destination IP :param pulumi.Input[str] fallback_persistence_profile: Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. + :param pulumi.Input[str] firewall_enforced_policy: 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`. :param pulumi.Input[str] ip_protocol: Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) :param pulumi.Input[Sequence[pulumi.Input[str]]] irules: The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. :param pulumi.Input[str] mask: 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 @@ -895,10 +997,12 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] profiles: List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: Specifies the log profile applied to the virtual server. :param pulumi.Input[Sequence[pulumi.Input[str]]] server_profiles: List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles - :param pulumi.Input[str] snatpool: Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + :param pulumi.Input[str] snatpool: Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. :param pulumi.Input[str] source: Specifies an IP address or network from which the virtual server will accept traffic. - :param pulumi.Input[str] source_address_translation: Can be either omitted for none or the values automap or snat + :param pulumi.Input[str] source_address_translation: Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. + :param pulumi.Input[str] source_port: Specifies whether the system preserves the source port of the connection. The default is `preserve`. :param pulumi.Input[str] state: Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled + :param pulumi.Input[str] trafficmatching_criteria: Specifies destination traffic matching information to which the virtual server sends traffic :param pulumi.Input[str] translate_address: 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. :param pulumi.Input[str] translate_port: 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 :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlan_enabled` @@ -975,6 +1079,7 @@ def _internal_init(__self__, description: Optional[pulumi.Input[str]] = None, destination: Optional[pulumi.Input[str]] = None, fallback_persistence_profile: Optional[pulumi.Input[str]] = None, + firewall_enforced_policy: Optional[pulumi.Input[str]] = None, ip_protocol: Optional[pulumi.Input[str]] = None, irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, mask: Optional[pulumi.Input[str]] = None, @@ -990,7 +1095,9 @@ def _internal_init(__self__, snatpool: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input[str]] = None, source_address_translation: Optional[pulumi.Input[str]] = None, + source_port: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, + trafficmatching_criteria: Optional[pulumi.Input[str]] = None, translate_address: Optional[pulumi.Input[str]] = None, translate_port: Optional[pulumi.Input[str]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1007,10 +1114,9 @@ def _internal_init(__self__, __props__.__dict__["client_profiles"] = client_profiles __props__.__dict__["default_persistence_profile"] = default_persistence_profile __props__.__dict__["description"] = description - if destination is None and not opts.urn: - raise TypeError("Missing required property 'destination'") __props__.__dict__["destination"] = destination __props__.__dict__["fallback_persistence_profile"] = fallback_persistence_profile + __props__.__dict__["firewall_enforced_policy"] = firewall_enforced_policy __props__.__dict__["ip_protocol"] = ip_protocol __props__.__dict__["irules"] = irules __props__.__dict__["mask"] = mask @@ -1021,8 +1127,6 @@ def _internal_init(__self__, __props__.__dict__["persistence_profiles"] = persistence_profiles __props__.__dict__["policies"] = policies __props__.__dict__["pool"] = pool - if port is None and not opts.urn: - raise TypeError("Missing required property 'port'") __props__.__dict__["port"] = port __props__.__dict__["profiles"] = profiles __props__.__dict__["security_log_profiles"] = security_log_profiles @@ -1030,7 +1134,9 @@ def _internal_init(__self__, __props__.__dict__["snatpool"] = snatpool __props__.__dict__["source"] = source __props__.__dict__["source_address_translation"] = source_address_translation + __props__.__dict__["source_port"] = source_port __props__.__dict__["state"] = state + __props__.__dict__["trafficmatching_criteria"] = trafficmatching_criteria __props__.__dict__["translate_address"] = translate_address __props__.__dict__["translate_port"] = translate_port __props__.__dict__["vlans"] = vlans @@ -1050,6 +1156,7 @@ def get(resource_name: str, description: Optional[pulumi.Input[str]] = None, destination: Optional[pulumi.Input[str]] = None, fallback_persistence_profile: Optional[pulumi.Input[str]] = None, + firewall_enforced_policy: Optional[pulumi.Input[str]] = None, ip_protocol: Optional[pulumi.Input[str]] = None, irules: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, mask: Optional[pulumi.Input[str]] = None, @@ -1065,7 +1172,9 @@ def get(resource_name: str, snatpool: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input[str]] = None, source_address_translation: Optional[pulumi.Input[str]] = None, + source_port: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None, + trafficmatching_criteria: Optional[pulumi.Input[str]] = None, translate_address: Optional[pulumi.Input[str]] = None, translate_port: Optional[pulumi.Input[str]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1081,6 +1190,7 @@ def get(resource_name: str, :param pulumi.Input[str] description: Description of Virtual server :param pulumi.Input[str] destination: Destination IP :param pulumi.Input[str] fallback_persistence_profile: Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. + :param pulumi.Input[str] firewall_enforced_policy: 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`. :param pulumi.Input[str] ip_protocol: Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) :param pulumi.Input[Sequence[pulumi.Input[str]]] irules: The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. :param pulumi.Input[str] mask: 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 @@ -1091,10 +1201,12 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] profiles: List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_log_profiles: Specifies the log profile applied to the virtual server. :param pulumi.Input[Sequence[pulumi.Input[str]]] server_profiles: List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles - :param pulumi.Input[str] snatpool: Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + :param pulumi.Input[str] snatpool: Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. :param pulumi.Input[str] source: Specifies an IP address or network from which the virtual server will accept traffic. - :param pulumi.Input[str] source_address_translation: Can be either omitted for none or the values automap or snat + :param pulumi.Input[str] source_address_translation: Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. + :param pulumi.Input[str] source_port: Specifies whether the system preserves the source port of the connection. The default is `preserve`. :param pulumi.Input[str] state: Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled + :param pulumi.Input[str] trafficmatching_criteria: Specifies destination traffic matching information to which the virtual server sends traffic :param pulumi.Input[str] translate_address: 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. :param pulumi.Input[str] translate_port: 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 :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlan_enabled` @@ -1110,6 +1222,7 @@ def get(resource_name: str, __props__.__dict__["description"] = description __props__.__dict__["destination"] = destination __props__.__dict__["fallback_persistence_profile"] = fallback_persistence_profile + __props__.__dict__["firewall_enforced_policy"] = firewall_enforced_policy __props__.__dict__["ip_protocol"] = ip_protocol __props__.__dict__["irules"] = irules __props__.__dict__["mask"] = mask @@ -1125,7 +1238,9 @@ def get(resource_name: str, __props__.__dict__["snatpool"] = snatpool __props__.__dict__["source"] = source __props__.__dict__["source_address_translation"] = source_address_translation + __props__.__dict__["source_port"] = source_port __props__.__dict__["state"] = state + __props__.__dict__["trafficmatching_criteria"] = trafficmatching_criteria __props__.__dict__["translate_address"] = translate_address __props__.__dict__["translate_port"] = translate_port __props__.__dict__["vlans"] = vlans @@ -1142,7 +1257,7 @@ def client_profiles(self) -> pulumi.Output[Optional[Sequence[str]]]: @property @pulumi.getter(name="defaultPersistenceProfile") - def default_persistence_profile(self) -> pulumi.Output[Optional[str]]: + def default_persistence_profile(self) -> pulumi.Output[str]: return pulumi.get(self, "default_persistence_profile") @property @@ -1155,7 +1270,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def destination(self) -> pulumi.Output[str]: + def destination(self) -> pulumi.Output[Optional[str]]: """ Destination IP """ @@ -1169,9 +1284,17 @@ def fallback_persistence_profile(self) -> pulumi.Output[str]: """ return pulumi.get(self, "fallback_persistence_profile") + @property + @pulumi.getter(name="firewallEnforcedPolicy") + def firewall_enforced_policy(self) -> pulumi.Output[str]: + """ + 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`. + """ + return pulumi.get(self, "firewall_enforced_policy") + @property @pulumi.getter(name="ipProtocol") - def ip_protocol(self) -> pulumi.Output[str]: + def ip_protocol(self) -> pulumi.Output[Optional[str]]: """ Specify the IP protocol to use with the the virtual server (all, tcp, or udp are valid) """ @@ -1263,7 +1386,7 @@ def server_profiles(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def snatpool(self) -> pulumi.Output[str]: """ - Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. DEPRECATED - see Virtual Server Property Groups source-address-translation + Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. """ return pulumi.get(self, "snatpool") @@ -1277,12 +1400,20 @@ def source(self) -> pulumi.Output[str]: @property @pulumi.getter(name="sourceAddressTranslation") - def source_address_translation(self) -> pulumi.Output[str]: + def source_address_translation(self) -> pulumi.Output[Optional[str]]: """ - Can be either omitted for none or the values automap or snat + Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. """ return pulumi.get(self, "source_address_translation") + @property + @pulumi.getter(name="sourcePort") + def source_port(self) -> pulumi.Output[str]: + """ + Specifies whether the system preserves the source port of the connection. The default is `preserve`. + """ + return pulumi.get(self, "source_port") + @property @pulumi.getter def state(self) -> pulumi.Output[Optional[str]]: @@ -1291,9 +1422,17 @@ def state(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "state") + @property + @pulumi.getter(name="trafficmatchingCriteria") + def trafficmatching_criteria(self) -> pulumi.Output[str]: + """ + Specifies destination traffic matching information to which the virtual server sends traffic + """ + return pulumi.get(self, "trafficmatching_criteria") + @property @pulumi.getter(name="translateAddress") - def translate_address(self) -> pulumi.Output[str]: + def translate_address(self) -> pulumi.Output[Optional[str]]: """ 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. """ @@ -1301,7 +1440,7 @@ def translate_address(self) -> pulumi.Output[str]: @property @pulumi.getter(name="translatePort") - def translate_port(self) -> pulumi.Output[str]: + def translate_port(self) -> pulumi.Output[Optional[str]]: """ 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 """ diff --git a/sdk/python/pulumi_f5bigip/outputs.py b/sdk/python/pulumi_f5bigip/outputs.py index deef77b1..5be22155 100644 --- a/sdk/python/pulumi_f5bigip/outputs.py +++ b/sdk/python/pulumi_f5bigip/outputs.py @@ -11,16 +11,22 @@ __all__ = [ 'EventServiceDiscoveryNode', - 'FastHttpAppFastCreateMonitor', - 'FastHttpAppFastCreatePoolMember', + 'FastHttpAppMonitor', + 'FastHttpAppPoolMember', 'FastHttpAppVirtualServer', - 'FastHttpsAppCreateTlsServerProfile', - 'FastHttpsAppFastCreateMonitor', - 'FastHttpsAppFastCreatePoolMember', + 'FastHttpAppWafSecurityPolicy', + 'FastHttpsAppMonitor', + 'FastHttpsAppPoolMember', + 'FastHttpsAppTlsClientProfile', + 'FastHttpsAppTlsServerProfile', 'FastHttpsAppVirtualServer', - 'FastTcpAppFastCreateMonitor', - 'FastTcpAppFastCreatePoolMember', + 'FastHttpsAppWafSecurityPolicy', + 'FastTcpAppMonitor', + 'FastTcpAppPoolMember', 'FastTcpAppVirtualServer', + 'FastUdpAppMonitor', + 'FastUdpAppPoolMember', + 'FastUdpAppVirtualServer', 'WafPolicyFileType', 'WafPolicyGraphqlProfile', 'WafPolicyPolicyBuilder', @@ -57,7 +63,7 @@ def port(self) -> Optional[int]: @pulumi.output_type -class FastHttpAppFastCreateMonitor(dict): +class FastHttpAppMonitor(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -67,14 +73,14 @@ def __key_warning(key: str): suggest = "send_string" if suggest: - pulumi.log.warn(f"Key '{key}' not found in FastHttpAppFastCreateMonitor. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in FastHttpAppMonitor. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - FastHttpAppFastCreateMonitor.__key_warning(key) + FastHttpAppMonitor.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - FastHttpAppFastCreateMonitor.__key_warning(key) + FastHttpAppMonitor.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -155,7 +161,7 @@ def username(self) -> Optional[str]: @pulumi.output_type -class FastHttpAppFastCreatePoolMember(dict): +class FastHttpAppPoolMember(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -167,14 +173,14 @@ def __key_warning(key: str): suggest = "share_nodes" if suggest: - pulumi.log.warn(f"Key '{key}' not found in FastHttpAppFastCreatePoolMember. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in FastHttpAppPoolMember. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - FastHttpAppFastCreatePoolMember.__key_warning(key) + FastHttpAppPoolMember.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - FastHttpAppFastCreatePoolMember.__key_warning(key) + FastHttpAppPoolMember.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -248,7 +254,7 @@ def __init__(__self__, *, port: int): """ :param str ip: IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` - :param int port: -(Optional , `int`) Port number to used for accessing virtual server/application + :param int port: Port number to used for accessing virtual server/application """ pulumi.set(__self__, "ip", ip) pulumi.set(__self__, "port", port) @@ -265,61 +271,31 @@ def ip(self) -> str: @pulumi.getter def port(self) -> int: """ - -(Optional , `int`) Port number to used for accessing virtual server/application + Port number to used for accessing virtual server/application """ return pulumi.get(self, "port") @pulumi.output_type -class FastHttpsAppCreateTlsServerProfile(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "tlsCertName": - suggest = "tls_cert_name" - elif key == "tlsKeyName": - suggest = "tls_key_name" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in FastHttpsAppCreateTlsServerProfile. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - FastHttpsAppCreateTlsServerProfile.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - FastHttpsAppCreateTlsServerProfile.__key_warning(key) - return super().get(key, default) - +class FastHttpAppWafSecurityPolicy(dict): def __init__(__self__, *, - tls_cert_name: str, - tls_key_name: str): + enable: bool): """ - :param str tls_cert_name: Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. - :param str tls_key_name: Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. - """ - pulumi.set(__self__, "tls_cert_name", tls_cert_name) - pulumi.set(__self__, "tls_key_name", tls_key_name) - - @property - @pulumi.getter(name="tlsCertName") - def tls_cert_name(self) -> str: + :param bool enable: Setting `true` will enable FAST to create WAF Security Policy. """ - Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. - """ - return pulumi.get(self, "tls_cert_name") + pulumi.set(__self__, "enable", enable) @property - @pulumi.getter(name="tlsKeyName") - def tls_key_name(self) -> str: + @pulumi.getter + def enable(self) -> bool: """ - Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + Setting `true` will enable FAST to create WAF Security Policy. """ - return pulumi.get(self, "tls_key_name") + return pulumi.get(self, "enable") @pulumi.output_type -class FastHttpsAppFastCreateMonitor(dict): +class FastHttpsAppMonitor(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -329,14 +305,14 @@ def __key_warning(key: str): suggest = "send_string" if suggest: - pulumi.log.warn(f"Key '{key}' not found in FastHttpsAppFastCreateMonitor. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in FastHttpsAppMonitor. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - FastHttpsAppFastCreateMonitor.__key_warning(key) + FastHttpsAppMonitor.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - FastHttpsAppFastCreateMonitor.__key_warning(key) + FastHttpsAppMonitor.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -417,7 +393,7 @@ def username(self) -> Optional[str]: @pulumi.output_type -class FastHttpsAppFastCreatePoolMember(dict): +class FastHttpsAppPoolMember(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -429,14 +405,14 @@ def __key_warning(key: str): suggest = "share_nodes" if suggest: - pulumi.log.warn(f"Key '{key}' not found in FastHttpsAppFastCreatePoolMember. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in FastHttpsAppPoolMember. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - FastHttpsAppFastCreatePoolMember.__key_warning(key) + FastHttpsAppPoolMember.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - FastHttpsAppFastCreatePoolMember.__key_warning(key) + FastHttpsAppPoolMember.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -503,6 +479,102 @@ def share_nodes(self) -> Optional[bool]: return pulumi.get(self, "share_nodes") +@pulumi.output_type +class FastHttpsAppTlsClientProfile(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tlsCertName": + suggest = "tls_cert_name" + elif key == "tlsKeyName": + suggest = "tls_key_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FastHttpsAppTlsClientProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FastHttpsAppTlsClientProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FastHttpsAppTlsClientProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tls_cert_name: str, + tls_key_name: str): + """ + :param str tls_cert_name: Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + :param str tls_key_name: Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + """ + pulumi.set(__self__, "tls_cert_name", tls_cert_name) + pulumi.set(__self__, "tls_key_name", tls_key_name) + + @property + @pulumi.getter(name="tlsCertName") + def tls_cert_name(self) -> str: + """ + Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + """ + return pulumi.get(self, "tls_cert_name") + + @property + @pulumi.getter(name="tlsKeyName") + def tls_key_name(self) -> str: + """ + Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + """ + return pulumi.get(self, "tls_key_name") + + +@pulumi.output_type +class FastHttpsAppTlsServerProfile(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tlsCertName": + suggest = "tls_cert_name" + elif key == "tlsKeyName": + suggest = "tls_key_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FastHttpsAppTlsServerProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FastHttpsAppTlsServerProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FastHttpsAppTlsServerProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tls_cert_name: str, + tls_key_name: str): + """ + :param str tls_cert_name: Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + :param str tls_key_name: Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + """ + pulumi.set(__self__, "tls_cert_name", tls_cert_name) + pulumi.set(__self__, "tls_key_name", tls_key_name) + + @property + @pulumi.getter(name="tlsCertName") + def tls_cert_name(self) -> str: + """ + Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile. + """ + return pulumi.get(self, "tls_cert_name") + + @property + @pulumi.getter(name="tlsKeyName") + def tls_key_name(self) -> str: + """ + Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile. + """ + return pulumi.get(self, "tls_key_name") + + @pulumi.output_type class FastHttpsAppVirtualServer(dict): def __init__(__self__, *, @@ -510,7 +582,7 @@ def __init__(__self__, *, port: int): """ :param str ip: IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` - :param int port: -(Optional , `int`) Port number to used for accessing virtual server/application + :param int port: Port number to used for accessing virtual server/application """ pulumi.set(__self__, "ip", ip) pulumi.set(__self__, "port", port) @@ -527,13 +599,31 @@ def ip(self) -> str: @pulumi.getter def port(self) -> int: """ - -(Optional , `int`) Port number to used for accessing virtual server/application + Port number to used for accessing virtual server/application """ return pulumi.get(self, "port") @pulumi.output_type -class FastTcpAppFastCreateMonitor(dict): +class FastHttpsAppWafSecurityPolicy(dict): + def __init__(__self__, *, + enable: bool): + """ + :param bool enable: Setting `true` will enable FAST to create WAF Security Policy. + """ + pulumi.set(__self__, "enable", enable) + + @property + @pulumi.getter + def enable(self) -> bool: + """ + Setting `true` will enable FAST to create WAF Security Policy. + """ + return pulumi.get(self, "enable") + + +@pulumi.output_type +class FastTcpAppMonitor(dict): def __init__(__self__, *, interval: Optional[int] = None): """ @@ -552,7 +642,7 @@ def interval(self) -> Optional[int]: @pulumi.output_type -class FastTcpAppFastCreatePoolMember(dict): +class FastTcpAppPoolMember(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -564,14 +654,14 @@ def __key_warning(key: str): suggest = "share_nodes" if suggest: - pulumi.log.warn(f"Key '{key}' not found in FastTcpAppFastCreatePoolMember. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in FastTcpAppPoolMember. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - FastTcpAppFastCreatePoolMember.__key_warning(key) + FastTcpAppPoolMember.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - FastTcpAppFastCreatePoolMember.__key_warning(key) + FastTcpAppPoolMember.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -645,7 +735,185 @@ def __init__(__self__, *, port: int): """ :param str ip: IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` - :param int port: -(Optional , `int`) Port number to used for accessing virtual server/application + :param int port: Port number to used for accessing virtual server/application + """ + pulumi.set(__self__, "ip", ip) + pulumi.set(__self__, "port", port) + + @property + @pulumi.getter + def ip(self) -> str: + """ + IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + """ + return pulumi.get(self, "ip") + + @property + @pulumi.getter + def port(self) -> int: + """ + Port number to used for accessing virtual server/application + """ + return pulumi.get(self, "port") + + +@pulumi.output_type +class FastUdpAppMonitor(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "expectedResponse": + suggest = "expected_response" + elif key == "sendString": + suggest = "send_string" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FastUdpAppMonitor. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FastUdpAppMonitor.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FastUdpAppMonitor.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + expected_response: Optional[str] = None, + interval: Optional[int] = None, + send_string: Optional[str] = None): + """ + :param str expected_response: The presence of this optional string is required in the response, if specified it confirms availability. + :param int interval: Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + :param str send_string: Optional data to be sent during each health check. + """ + if expected_response is not None: + pulumi.set(__self__, "expected_response", expected_response) + if interval is not None: + pulumi.set(__self__, "interval", interval) + if send_string is not None: + pulumi.set(__self__, "send_string", send_string) + + @property + @pulumi.getter(name="expectedResponse") + def expected_response(self) -> Optional[str]: + """ + The presence of this optional string is required in the response, if specified it confirms availability. + """ + return pulumi.get(self, "expected_response") + + @property + @pulumi.getter + def interval(self) -> Optional[int]: + """ + Set the time between health checks,in seconds for FAST-Generated Pool Monitor. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter(name="sendString") + def send_string(self) -> Optional[str]: + """ + Optional data to be sent during each health check. + """ + return pulumi.get(self, "send_string") + + +@pulumi.output_type +class FastUdpAppPoolMember(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "connectionLimit": + suggest = "connection_limit" + elif key == "priorityGroup": + suggest = "priority_group" + elif key == "shareNodes": + suggest = "share_nodes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FastUdpAppPoolMember. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FastUdpAppPoolMember.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FastUdpAppPoolMember.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + addresses: Sequence[str], + connection_limit: Optional[int] = None, + port: Optional[int] = None, + priority_group: Optional[int] = None, + share_nodes: Optional[bool] = None): + """ + :param Sequence[str] addresses: List of server address to be used for FAST-Generated Pool. + :param int connection_limit: connectionLimit value to be used for FAST-Generated Pool. + :param int port: port number of serviceport to be used for FAST-Generated Pool. + :param int priority_group: priorityGroup value to be used for FAST-Generated Pool. + :param bool share_nodes: shareNodes value to be used for FAST-Generated Pool. + """ + pulumi.set(__self__, "addresses", addresses) + if connection_limit is not None: + pulumi.set(__self__, "connection_limit", connection_limit) + if port is not None: + pulumi.set(__self__, "port", port) + if priority_group is not None: + pulumi.set(__self__, "priority_group", priority_group) + if share_nodes is not None: + pulumi.set(__self__, "share_nodes", share_nodes) + + @property + @pulumi.getter + def addresses(self) -> Sequence[str]: + """ + List of server address to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "addresses") + + @property + @pulumi.getter(name="connectionLimit") + def connection_limit(self) -> Optional[int]: + """ + connectionLimit value to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "connection_limit") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + """ + port number of serviceport to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="priorityGroup") + def priority_group(self) -> Optional[int]: + """ + priorityGroup value to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "priority_group") + + @property + @pulumi.getter(name="shareNodes") + def share_nodes(self) -> Optional[bool]: + """ + shareNodes value to be used for FAST-Generated Pool. + """ + return pulumi.get(self, "share_nodes") + + +@pulumi.output_type +class FastUdpAppVirtualServer(dict): + def __init__(__self__, *, + ip: str, + port: int): + """ + :param str ip: IP4/IPv6 address to be used for virtual server ex: `10.1.1.1` + :param int port: Port number to used for accessing virtual server/application """ pulumi.set(__self__, "ip", ip) pulumi.set(__self__, "port", port) @@ -662,7 +930,7 @@ def ip(self) -> str: @pulumi.getter def port(self) -> int: """ - -(Optional , `int`) Port number to used for accessing virtual server/application + Port number to used for accessing virtual server/application """ return pulumi.get(self, "port") diff --git a/sdk/python/pulumi_f5bigip/provider.py b/sdk/python/pulumi_f5bigip/provider.py index d5cefffc..f714217e 100644 --- a/sdk/python/pulumi_f5bigip/provider.py +++ b/sdk/python/pulumi_f5bigip/provider.py @@ -21,7 +21,9 @@ def __init__(__self__, *, teem_disable: Optional[pulumi.Input[bool]] = None, token_auth: Optional[pulumi.Input[bool]] = None, token_value: Optional[pulumi.Input[str]] = None, - username: Optional[pulumi.Input[str]] = None): + trusted_cert_path: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None, + validate_certs_disable: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a Provider resource. :param pulumi.Input[str] address: Domain name/IP of the BigIP @@ -31,7 +33,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] teem_disable: If this flag set to true,sending telemetry data to TEEM will be disabled :param pulumi.Input[bool] token_auth: Enable to use an external authentication source (LDAP, TACACS, etc) :param pulumi.Input[str] token_value: A token generated outside the provider, in place of password + :param pulumi.Input[str] trusted_cert_path: Valid Trusted Certificate path :param pulumi.Input[str] username: Username with API access to the BigIP + :param pulumi.Input[bool] validate_certs_disable: If set to true, Disables TLS certificate check on BIG-IP. Default : True """ if address is not None: pulumi.set(__self__, "address", address) @@ -47,8 +51,12 @@ def __init__(__self__, *, pulumi.set(__self__, "token_auth", token_auth) if token_value is not None: pulumi.set(__self__, "token_value", token_value) + if trusted_cert_path is not None: + pulumi.set(__self__, "trusted_cert_path", trusted_cert_path) if username is not None: pulumi.set(__self__, "username", username) + if validate_certs_disable is not None: + pulumi.set(__self__, "validate_certs_disable", validate_certs_disable) @property @pulumi.getter @@ -134,6 +142,18 @@ def token_value(self) -> Optional[pulumi.Input[str]]: def token_value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "token_value", value) + @property + @pulumi.getter(name="trustedCertPath") + def trusted_cert_path(self) -> Optional[pulumi.Input[str]]: + """ + Valid Trusted Certificate path + """ + return pulumi.get(self, "trusted_cert_path") + + @trusted_cert_path.setter + def trusted_cert_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "trusted_cert_path", value) + @property @pulumi.getter def username(self) -> Optional[pulumi.Input[str]]: @@ -146,6 +166,18 @@ def username(self) -> Optional[pulumi.Input[str]]: def username(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "username", value) + @property + @pulumi.getter(name="validateCertsDisable") + def validate_certs_disable(self) -> Optional[pulumi.Input[bool]]: + """ + If set to true, Disables TLS certificate check on BIG-IP. Default : True + """ + return pulumi.get(self, "validate_certs_disable") + + @validate_certs_disable.setter + def validate_certs_disable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "validate_certs_disable", value) + class Provider(pulumi.ProviderResource): @overload @@ -159,7 +191,9 @@ def __init__(__self__, teem_disable: Optional[pulumi.Input[bool]] = None, token_auth: Optional[pulumi.Input[bool]] = None, token_value: Optional[pulumi.Input[str]] = None, + trusted_cert_path: Optional[pulumi.Input[str]] = None, username: Optional[pulumi.Input[str]] = None, + validate_certs_disable: Optional[pulumi.Input[bool]] = None, __props__=None): """ The provider type for the bigip package. By default, resources use package-wide configuration @@ -176,7 +210,9 @@ def __init__(__self__, :param pulumi.Input[bool] teem_disable: If this flag set to true,sending telemetry data to TEEM will be disabled :param pulumi.Input[bool] token_auth: Enable to use an external authentication source (LDAP, TACACS, etc) :param pulumi.Input[str] token_value: A token generated outside the provider, in place of password + :param pulumi.Input[str] trusted_cert_path: Valid Trusted Certificate path :param pulumi.Input[str] username: Username with API access to the BigIP + :param pulumi.Input[bool] validate_certs_disable: If set to true, Disables TLS certificate check on BIG-IP. Default : True """ ... @overload @@ -212,7 +248,9 @@ def _internal_init(__self__, teem_disable: Optional[pulumi.Input[bool]] = None, token_auth: Optional[pulumi.Input[bool]] = None, token_value: Optional[pulumi.Input[str]] = None, + trusted_cert_path: Optional[pulumi.Input[str]] = None, username: Optional[pulumi.Input[str]] = None, + validate_certs_disable: Optional[pulumi.Input[bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -229,7 +267,9 @@ def _internal_init(__self__, __props__.__dict__["teem_disable"] = pulumi.Output.from_input(teem_disable).apply(pulumi.runtime.to_json) if teem_disable is not None else None __props__.__dict__["token_auth"] = pulumi.Output.from_input(token_auth).apply(pulumi.runtime.to_json) if token_auth is not None else None __props__.__dict__["token_value"] = token_value + __props__.__dict__["trusted_cert_path"] = trusted_cert_path __props__.__dict__["username"] = username + __props__.__dict__["validate_certs_disable"] = pulumi.Output.from_input(validate_certs_disable).apply(pulumi.runtime.to_json) if validate_certs_disable is not None else None super(Provider, __self__).__init__( 'f5bigip', resource_name, @@ -276,6 +316,14 @@ def token_value(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "token_value") + @property + @pulumi.getter(name="trustedCertPath") + def trusted_cert_path(self) -> pulumi.Output[Optional[str]]: + """ + Valid Trusted Certificate path + """ + return pulumi.get(self, "trusted_cert_path") + @property @pulumi.getter def username(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_f5bigip/ssl/_inputs.py b/sdk/python/pulumi_f5bigip/ssl/_inputs.py index 004b3ba8..da97160b 100644 --- a/sdk/python/pulumi_f5bigip/ssl/_inputs.py +++ b/sdk/python/pulumi_f5bigip/ssl/_inputs.py @@ -10,9 +10,59 @@ from .. import _utilities __all__ = [ + 'GetWafEntityParameterUrlArgs', 'GetWafEntityUrlMethodOverrideArgs', ] +@pulumi.input_type +class GetWafEntityParameterUrlArgs: + def __init__(__self__, *, + method: str, + name: str, + protocol: str, + type: str): + pulumi.set(__self__, "method", method) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def method(self) -> str: + return pulumi.get(self, "method") + + @method.setter + def method(self, value: str): + pulumi.set(self, "method", value) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def protocol(self) -> str: + return pulumi.get(self, "protocol") + + @protocol.setter + def protocol(self, value: str): + pulumi.set(self, "protocol", value) + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: str): + pulumi.set(self, "type", value) + + @pulumi.input_type class GetWafEntityUrlMethodOverrideArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_f5bigip/ssl/certificate.py b/sdk/python/pulumi_f5bigip/ssl/certificate.py index 5746ab74..b0f18d6d 100644 --- a/sdk/python/pulumi_f5bigip/ssl/certificate.py +++ b/sdk/python/pulumi_f5bigip/ssl/certificate.py @@ -238,12 +238,14 @@ def _internal_init(__self__, if content is None and not opts.urn: raise TypeError("Missing required property 'content'") - __props__.__dict__["content"] = content + __props__.__dict__["content"] = None if content is None else pulumi.Output.secret(content) __props__.__dict__["full_path"] = full_path if name is None and not opts.urn: raise TypeError("Missing required property 'name'") __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["content"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(Certificate, __self__).__init__( 'f5bigip:ssl/certificate:Certificate', resource_name, diff --git a/sdk/python/pulumi_f5bigip/ssl/get_waf_entity_parameter.py b/sdk/python/pulumi_f5bigip/ssl/get_waf_entity_parameter.py index 4a8c3161..05fe0882 100644 --- a/sdk/python/pulumi_f5bigip/ssl/get_waf_entity_parameter.py +++ b/sdk/python/pulumi_f5bigip/ssl/get_waf_entity_parameter.py @@ -8,6 +8,8 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs +from ._inputs import * __all__ = [ 'GetWafEntityParameterResult', @@ -21,7 +23,7 @@ class GetWafEntityParameterResult: """ A collection of values returned by getWafEntityParameter. """ - def __init__(__self__, allow_empty_type=None, allow_repeated_parameter_name=None, attack_signatures_check=None, check_max_value_length=None, check_min_value_length=None, data_type=None, description=None, enable_regular_expression=None, id=None, is_base64=None, is_cookie=None, is_header=None, json=None, level=None, mandatory=None, metachars_on_parameter_value_check=None, name=None, parameter_location=None, perform_staging=None, sensitive_parameter=None, signature_overrides_disables=None, type=None, value_type=None): + def __init__(__self__, allow_empty_type=None, allow_repeated_parameter_name=None, attack_signatures_check=None, check_max_value_length=None, check_min_value_length=None, data_type=None, description=None, enable_regular_expression=None, id=None, is_base64=None, is_cookie=None, is_header=None, json=None, level=None, mandatory=None, metachars_on_parameter_value_check=None, name=None, parameter_location=None, perform_staging=None, sensitive_parameter=None, signature_overrides_disables=None, type=None, url=None, value_type=None): if allow_empty_type and not isinstance(allow_empty_type, bool): raise TypeError("Expected argument 'allow_empty_type' to be a bool") pulumi.set(__self__, "allow_empty_type", allow_empty_type) @@ -88,6 +90,9 @@ def __init__(__self__, allow_empty_type=None, allow_repeated_parameter_name=None if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) + if url and not isinstance(url, dict): + raise TypeError("Expected argument 'url' to be a dict") + pulumi.set(__self__, "url", url) if value_type and not isinstance(value_type, str): raise TypeError("Expected argument 'value_type' to be a str") pulumi.set(__self__, "value_type", value_type) @@ -205,6 +210,11 @@ def signature_overrides_disables(self) -> Optional[Sequence[int]]: def type(self) -> Optional[str]: return pulumi.get(self, "type") + @property + @pulumi.getter + def url(self) -> Optional['outputs.GetWafEntityParameterUrlResult']: + return pulumi.get(self, "url") + @property @pulumi.getter(name="valueType") def value_type(self) -> Optional[str]: @@ -239,6 +249,7 @@ def __await__(self): sensitive_parameter=self.sensitive_parameter, signature_overrides_disables=self.signature_overrides_disables, type=self.type, + url=self.url, value_type=self.value_type) @@ -263,6 +274,7 @@ def get_waf_entity_parameter(allow_empty_type: Optional[bool] = None, sensitive_parameter: Optional[bool] = None, signature_overrides_disables: Optional[Sequence[int]] = None, type: Optional[str] = None, + url: Optional[pulumi.InputType['GetWafEntityParameterUrlArgs']] = None, value_type: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWafEntityParameterResult: """ @@ -290,6 +302,7 @@ def get_waf_entity_parameter(allow_empty_type: Optional[bool] = None, __args__['sensitiveParameter'] = sensitive_parameter __args__['signatureOverridesDisables'] = signature_overrides_disables __args__['type'] = type + __args__['url'] = url __args__['valueType'] = value_type opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('f5bigip:ssl/getWafEntityParameter:getWafEntityParameter', __args__, opts=opts, typ=GetWafEntityParameterResult).value @@ -317,6 +330,7 @@ def get_waf_entity_parameter(allow_empty_type: Optional[bool] = None, sensitive_parameter=__ret__.sensitive_parameter, signature_overrides_disables=__ret__.signature_overrides_disables, type=__ret__.type, + url=__ret__.url, value_type=__ret__.value_type) @@ -342,6 +356,7 @@ def get_waf_entity_parameter_output(allow_empty_type: Optional[pulumi.Input[Opti sensitive_parameter: Optional[pulumi.Input[Optional[bool]]] = None, signature_overrides_disables: Optional[pulumi.Input[Optional[Sequence[int]]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, + url: Optional[pulumi.Input[Optional[pulumi.InputType['GetWafEntityParameterUrlArgs']]]] = None, value_type: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWafEntityParameterResult]: """ diff --git a/sdk/python/pulumi_f5bigip/ssl/key.py b/sdk/python/pulumi_f5bigip/ssl/key.py index 1cdeec40..f354f91b 100644 --- a/sdk/python/pulumi_f5bigip/ssl/key.py +++ b/sdk/python/pulumi_f5bigip/ssl/key.py @@ -17,13 +17,15 @@ def __init__(__self__, *, content: pulumi.Input[str], name: pulumi.Input[str], full_path: Optional[pulumi.Input[str]] = None, - partition: Optional[pulumi.Input[str]] = None): + partition: Optional[pulumi.Input[str]] = None, + passphrase: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Key resource. :param pulumi.Input[str] content: Content of SSL certificate key present on local Disk :param pulumi.Input[str] name: Name of the SSL Certificate key to be Imported on to BIGIP :param pulumi.Input[str] full_path: Full Path Name of ssl key :param pulumi.Input[str] partition: Partition of ssl certificate key + :param pulumi.Input[str] passphrase: Passphrase on key. """ pulumi.set(__self__, "content", content) pulumi.set(__self__, "name", name) @@ -31,6 +33,8 @@ def __init__(__self__, *, pulumi.set(__self__, "full_path", full_path) if partition is not None: pulumi.set(__self__, "partition", partition) + if passphrase is not None: + pulumi.set(__self__, "passphrase", passphrase) @property @pulumi.getter @@ -80,6 +84,18 @@ def partition(self) -> Optional[pulumi.Input[str]]: def partition(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "partition", value) + @property + @pulumi.getter + def passphrase(self) -> Optional[pulumi.Input[str]]: + """ + Passphrase on key. + """ + return pulumi.get(self, "passphrase") + + @passphrase.setter + def passphrase(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "passphrase", value) + @pulumi.input_type class _KeyState: @@ -87,13 +103,15 @@ def __init__(__self__, *, content: Optional[pulumi.Input[str]] = None, full_path: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - partition: Optional[pulumi.Input[str]] = None): + partition: Optional[pulumi.Input[str]] = None, + passphrase: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Key resources. :param pulumi.Input[str] content: Content of SSL certificate key present on local Disk :param pulumi.Input[str] full_path: Full Path Name of ssl key :param pulumi.Input[str] name: Name of the SSL Certificate key to be Imported on to BIGIP :param pulumi.Input[str] partition: Partition of ssl certificate key + :param pulumi.Input[str] passphrase: Passphrase on key. """ if content is not None: pulumi.set(__self__, "content", content) @@ -103,6 +121,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if partition is not None: pulumi.set(__self__, "partition", partition) + if passphrase is not None: + pulumi.set(__self__, "passphrase", passphrase) @property @pulumi.getter @@ -152,6 +172,18 @@ def partition(self) -> Optional[pulumi.Input[str]]: def partition(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "partition", value) + @property + @pulumi.getter + def passphrase(self) -> Optional[pulumi.Input[str]]: + """ + Passphrase on key. + """ + return pulumi.get(self, "passphrase") + + @passphrase.setter + def passphrase(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "passphrase", value) + class Key(pulumi.CustomResource): @overload @@ -162,6 +194,7 @@ def __init__(__self__, full_path: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, partition: Optional[pulumi.Input[str]] = None, + passphrase: Optional[pulumi.Input[str]] = None, __props__=None): """ `ssl.Key` This resource will import SSL certificate key on BIG-IP LTM. @@ -185,6 +218,7 @@ def __init__(__self__, :param pulumi.Input[str] full_path: Full Path Name of ssl key :param pulumi.Input[str] name: Name of the SSL Certificate key to be Imported on to BIGIP :param pulumi.Input[str] partition: Partition of ssl certificate key + :param pulumi.Input[str] passphrase: Passphrase on key. """ ... @overload @@ -227,6 +261,7 @@ def _internal_init(__self__, full_path: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, partition: Optional[pulumi.Input[str]] = None, + passphrase: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -238,12 +273,15 @@ def _internal_init(__self__, if content is None and not opts.urn: raise TypeError("Missing required property 'content'") - __props__.__dict__["content"] = content + __props__.__dict__["content"] = None if content is None else pulumi.Output.secret(content) __props__.__dict__["full_path"] = full_path if name is None and not opts.urn: raise TypeError("Missing required property 'name'") __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition + __props__.__dict__["passphrase"] = None if passphrase is None else pulumi.Output.secret(passphrase) + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["content", "passphrase"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(Key, __self__).__init__( 'f5bigip:ssl/key:Key', resource_name, @@ -257,7 +295,8 @@ def get(resource_name: str, content: Optional[pulumi.Input[str]] = None, full_path: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - partition: Optional[pulumi.Input[str]] = None) -> 'Key': + partition: Optional[pulumi.Input[str]] = None, + passphrase: Optional[pulumi.Input[str]] = None) -> 'Key': """ Get an existing Key resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -269,6 +308,7 @@ def get(resource_name: str, :param pulumi.Input[str] full_path: Full Path Name of ssl key :param pulumi.Input[str] name: Name of the SSL Certificate key to be Imported on to BIGIP :param pulumi.Input[str] partition: Partition of ssl certificate key + :param pulumi.Input[str] passphrase: Passphrase on key. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -278,6 +318,7 @@ def get(resource_name: str, __props__.__dict__["full_path"] = full_path __props__.__dict__["name"] = name __props__.__dict__["partition"] = partition + __props__.__dict__["passphrase"] = passphrase return Key(resource_name, opts=opts, __props__=__props__) @property @@ -312,3 +353,11 @@ def partition(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "partition") + @property + @pulumi.getter + def passphrase(self) -> pulumi.Output[Optional[str]]: + """ + Passphrase on key. + """ + return pulumi.get(self, "passphrase") + diff --git a/sdk/python/pulumi_f5bigip/ssl/outputs.py b/sdk/python/pulumi_f5bigip/ssl/outputs.py index de6b3239..4031ff71 100644 --- a/sdk/python/pulumi_f5bigip/ssl/outputs.py +++ b/sdk/python/pulumi_f5bigip/ssl/outputs.py @@ -10,9 +10,43 @@ from .. import _utilities __all__ = [ + 'GetWafEntityParameterUrlResult', 'GetWafEntityUrlMethodOverrideResult', ] +@pulumi.output_type +class GetWafEntityParameterUrlResult(dict): + def __init__(__self__, *, + method: str, + name: str, + protocol: str, + type: str): + pulumi.set(__self__, "method", method) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def method(self) -> str: + return pulumi.get(self, "method") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def protocol(self) -> str: + return pulumi.get(self, "protocol") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @pulumi.output_type class GetWafEntityUrlMethodOverrideResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_f5bigip/sys/dns.py b/sdk/python/pulumi_f5bigip/sys/dns.py index 1f7c6c69..25641f5b 100644 --- a/sdk/python/pulumi_f5bigip/sys/dns.py +++ b/sdk/python/pulumi_f5bigip/sys/dns.py @@ -15,19 +15,18 @@ class DnsArgs: def __init__(__self__, *, description: pulumi.Input[str], - name_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name_servers: pulumi.Input[Sequence[pulumi.Input[str]]], number_of_dots: Optional[pulumi.Input[int]] = None, searches: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Dns resource. :param pulumi.Input[str] description: Provide description for your DNS server - :param pulumi.Input[Sequence[pulumi.Input[str]]] name_servers: Name or IP address of the DNS server + :param pulumi.Input[Sequence[pulumi.Input[str]]] name_servers: Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. :param pulumi.Input[int] number_of_dots: Configures the number of dots needed in a name before an initial absolute query will be made. - :param pulumi.Input[Sequence[pulumi.Input[str]]] searches: Specify what domains you want to search + :param pulumi.Input[Sequence[pulumi.Input[str]]] searches: Specifies the domains that the system searches for local domain lookups, to resolve local host names. """ pulumi.set(__self__, "description", description) - if name_servers is not None: - pulumi.set(__self__, "name_servers", name_servers) + pulumi.set(__self__, "name_servers", name_servers) if number_of_dots is not None: pulumi.set(__self__, "number_of_dots", number_of_dots) if searches is not None: @@ -47,14 +46,14 @@ def description(self, value: pulumi.Input[str]): @property @pulumi.getter(name="nameServers") - def name_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + def name_servers(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ - Name or IP address of the DNS server + Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. """ return pulumi.get(self, "name_servers") @name_servers.setter - def name_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + def name_servers(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "name_servers", value) @property @@ -73,7 +72,7 @@ def number_of_dots(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def searches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Specify what domains you want to search + Specifies the domains that the system searches for local domain lookups, to resolve local host names. """ return pulumi.get(self, "searches") @@ -92,9 +91,9 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Dns resources. :param pulumi.Input[str] description: Provide description for your DNS server - :param pulumi.Input[Sequence[pulumi.Input[str]]] name_servers: Name or IP address of the DNS server + :param pulumi.Input[Sequence[pulumi.Input[str]]] name_servers: Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. :param pulumi.Input[int] number_of_dots: Configures the number of dots needed in a name before an initial absolute query will be made. - :param pulumi.Input[Sequence[pulumi.Input[str]]] searches: Specify what domains you want to search + :param pulumi.Input[Sequence[pulumi.Input[str]]] searches: Specifies the domains that the system searches for local domain lookups, to resolve local host names. """ if description is not None: pulumi.set(__self__, "description", description) @@ -121,7 +120,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nameServers") def name_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Name or IP address of the DNS server + Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. """ return pulumi.get(self, "name_servers") @@ -145,7 +144,7 @@ def number_of_dots(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def searches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Specify what domains you want to search + Specifies the domains that the system searches for local domain lookups, to resolve local host names. """ return pulumi.get(self, "searches") @@ -165,7 +164,7 @@ def __init__(__self__, searches: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ - `sys.Dns` Configures DNS server on F5 BIG-IP + `sys.Dns` Configures DNS Name server on F5 BIG-IP ## Example Usage @@ -176,16 +175,15 @@ def __init__(__self__, dns1 = f5bigip.sys.Dns("dns1", description="/Common/DNS1", name_servers=["1.1.1.1"], - number_of_dots=2, searches=["f5.com"]) ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Provide description for your DNS server - :param pulumi.Input[Sequence[pulumi.Input[str]]] name_servers: Name or IP address of the DNS server + :param pulumi.Input[Sequence[pulumi.Input[str]]] name_servers: Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. :param pulumi.Input[int] number_of_dots: Configures the number of dots needed in a name before an initial absolute query will be made. - :param pulumi.Input[Sequence[pulumi.Input[str]]] searches: Specify what domains you want to search + :param pulumi.Input[Sequence[pulumi.Input[str]]] searches: Specifies the domains that the system searches for local domain lookups, to resolve local host names. """ ... @overload @@ -194,7 +192,7 @@ def __init__(__self__, args: DnsArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - `sys.Dns` Configures DNS server on F5 BIG-IP + `sys.Dns` Configures DNS Name server on F5 BIG-IP ## Example Usage @@ -205,7 +203,6 @@ def __init__(__self__, dns1 = f5bigip.sys.Dns("dns1", description="/Common/DNS1", name_servers=["1.1.1.1"], - number_of_dots=2, searches=["f5.com"]) ``` @@ -240,6 +237,8 @@ def _internal_init(__self__, if description is None and not opts.urn: raise TypeError("Missing required property 'description'") __props__.__dict__["description"] = description + if name_servers is None and not opts.urn: + raise TypeError("Missing required property 'name_servers'") __props__.__dict__["name_servers"] = name_servers __props__.__dict__["number_of_dots"] = number_of_dots __props__.__dict__["searches"] = searches @@ -265,9 +264,9 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Provide description for your DNS server - :param pulumi.Input[Sequence[pulumi.Input[str]]] name_servers: Name or IP address of the DNS server + :param pulumi.Input[Sequence[pulumi.Input[str]]] name_servers: Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. :param pulumi.Input[int] number_of_dots: Configures the number of dots needed in a name before an initial absolute query will be made. - :param pulumi.Input[Sequence[pulumi.Input[str]]] searches: Specify what domains you want to search + :param pulumi.Input[Sequence[pulumi.Input[str]]] searches: Specifies the domains that the system searches for local domain lookups, to resolve local host names. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -289,15 +288,15 @@ def description(self) -> pulumi.Output[str]: @property @pulumi.getter(name="nameServers") - def name_servers(self) -> pulumi.Output[Optional[Sequence[str]]]: + def name_servers(self) -> pulumi.Output[Sequence[str]]: """ - Name or IP address of the DNS server + Specifies the name servers that the system uses to validate DNS lookups, and resolve host names. """ return pulumi.get(self, "name_servers") @property @pulumi.getter(name="numberOfDots") - def number_of_dots(self) -> pulumi.Output[Optional[int]]: + def number_of_dots(self) -> pulumi.Output[int]: """ Configures the number of dots needed in a name before an initial absolute query will be made. """ @@ -307,7 +306,7 @@ def number_of_dots(self) -> pulumi.Output[Optional[int]]: @pulumi.getter def searches(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Specify what domains you want to search + Specifies the domains that the system searches for local domain lookups, to resolve local host names. """ return pulumi.get(self, "searches") diff --git a/sdk/python/pulumi_f5bigip/sys/ntp.py b/sdk/python/pulumi_f5bigip/sys/ntp.py index 991d774a..e119112a 100644 --- a/sdk/python/pulumi_f5bigip/sys/ntp.py +++ b/sdk/python/pulumi_f5bigip/sys/ntp.py @@ -15,17 +15,16 @@ class NtpArgs: def __init__(__self__, *, description: pulumi.Input[str], - servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + servers: pulumi.Input[Sequence[pulumi.Input[str]]], timezone: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Ntp resource. - :param pulumi.Input[str] description: Name of the ntp Servers - :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Adds NTP servers to or deletes NTP servers from the BIG-IP system. + :param pulumi.Input[str] description: User defined description. + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Specifies the time servers that the system uses to update the system time. :param pulumi.Input[str] timezone: Specifies the time zone that you want to use for the system time. """ pulumi.set(__self__, "description", description) - if servers is not None: - pulumi.set(__self__, "servers", servers) + pulumi.set(__self__, "servers", servers) if timezone is not None: pulumi.set(__self__, "timezone", timezone) @@ -33,7 +32,7 @@ def __init__(__self__, *, @pulumi.getter def description(self) -> pulumi.Input[str]: """ - Name of the ntp Servers + User defined description. """ return pulumi.get(self, "description") @@ -43,14 +42,14 @@ def description(self, value: pulumi.Input[str]): @property @pulumi.getter - def servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + def servers(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ - Adds NTP servers to or deletes NTP servers from the BIG-IP system. + Specifies the time servers that the system uses to update the system time. """ return pulumi.get(self, "servers") @servers.setter - def servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + def servers(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "servers", value) @property @@ -74,8 +73,8 @@ def __init__(__self__, *, timezone: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Ntp resources. - :param pulumi.Input[str] description: Name of the ntp Servers - :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Adds NTP servers to or deletes NTP servers from the BIG-IP system. + :param pulumi.Input[str] description: User defined description. + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Specifies the time servers that the system uses to update the system time. :param pulumi.Input[str] timezone: Specifies the time zone that you want to use for the system time. """ if description is not None: @@ -89,7 +88,7 @@ def __init__(__self__, *, @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: """ - Name of the ntp Servers + User defined description. """ return pulumi.get(self, "description") @@ -101,7 +100,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Adds NTP servers to or deletes NTP servers from the BIG-IP system. + Specifies the time servers that the system uses to update the system time. """ return pulumi.get(self, "servers") @@ -132,9 +131,8 @@ def __init__(__self__, timezone: Optional[pulumi.Input[str]] = None, __props__=None): """ - `sys.Ntp` provides details about a specific bigip + `sys.Ntp` resource is helpful when configuring NTP server on the BIG-IP. - This resource is helpful when configuring NTP server on the BIG-IP. ## Example Usage ```python @@ -149,8 +147,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] description: Name of the ntp Servers - :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Adds NTP servers to or deletes NTP servers from the BIG-IP system. + :param pulumi.Input[str] description: User defined description. + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Specifies the time servers that the system uses to update the system time. :param pulumi.Input[str] timezone: Specifies the time zone that you want to use for the system time. """ ... @@ -160,9 +158,8 @@ def __init__(__self__, args: NtpArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - `sys.Ntp` provides details about a specific bigip + `sys.Ntp` resource is helpful when configuring NTP server on the BIG-IP. - This resource is helpful when configuring NTP server on the BIG-IP. ## Example Usage ```python @@ -205,6 +202,8 @@ def _internal_init(__self__, if description is None and not opts.urn: raise TypeError("Missing required property 'description'") __props__.__dict__["description"] = description + if servers is None and not opts.urn: + raise TypeError("Missing required property 'servers'") __props__.__dict__["servers"] = servers __props__.__dict__["timezone"] = timezone super(Ntp, __self__).__init__( @@ -227,8 +226,8 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] description: Name of the ntp Servers - :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Adds NTP servers to or deletes NTP servers from the BIG-IP system. + :param pulumi.Input[str] description: User defined description. + :param pulumi.Input[Sequence[pulumi.Input[str]]] servers: Specifies the time servers that the system uses to update the system time. :param pulumi.Input[str] timezone: Specifies the time zone that you want to use for the system time. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -244,15 +243,15 @@ def get(resource_name: str, @pulumi.getter def description(self) -> pulumi.Output[str]: """ - Name of the ntp Servers + User defined description. """ return pulumi.get(self, "description") @property @pulumi.getter - def servers(self) -> pulumi.Output[Optional[Sequence[str]]]: + def servers(self) -> pulumi.Output[Sequence[str]]: """ - Adds NTP servers to or deletes NTP servers from the BIG-IP system. + Specifies the time servers that the system uses to update the system time. """ return pulumi.get(self, "servers") diff --git a/sdk/python/pulumi_f5bigip/vcmp/__init__.py b/sdk/python/pulumi_f5bigip/vcmp/__init__.py new file mode 100644 index 00000000..9339ae92 --- /dev/null +++ b/sdk/python/pulumi_f5bigip/vcmp/__init__.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .guest import * diff --git a/sdk/python/pulumi_f5bigip/vcmp/guest.py b/sdk/python/pulumi_f5bigip/vcmp/guest.py new file mode 100644 index 00000000..c3132483 --- /dev/null +++ b/sdk/python/pulumi_f5bigip/vcmp/guest.py @@ -0,0 +1,806 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['GuestArgs', 'Guest'] + +@pulumi.input_type +class GuestArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + allowed_slots: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + cores_per_slot: Optional[pulumi.Input[int]] = None, + delete_virtual_disk: Optional[pulumi.Input[bool]] = None, + initial_hotfix: Optional[pulumi.Input[str]] = None, + initial_image: Optional[pulumi.Input[str]] = None, + mgmt_address: Optional[pulumi.Input[str]] = None, + mgmt_network: Optional[pulumi.Input[str]] = None, + mgmt_route: Optional[pulumi.Input[str]] = None, + min_number_of_slots: Optional[pulumi.Input[int]] = None, + number_of_slots: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Guest resource. + :param pulumi.Input[str] name: Name of the vCMP guest + :param pulumi.Input[Sequence[pulumi.Input[int]]] allowed_slots: Contains those slots to which the guest is allowed to be assigned. + :param pulumi.Input[int] cores_per_slot: Specifies the number of cores the system allocates to the guest. + :param pulumi.Input[bool] delete_virtual_disk: Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + :param pulumi.Input[str] initial_hotfix: Specifies the hotfix ISO image file which is applied on top of the base image. + :param pulumi.Input[str] initial_image: Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + :param pulumi.Input[str] mgmt_address: 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. + :param pulumi.Input[str] mgmt_network: Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + :param pulumi.Input[str] mgmt_route: Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + :param pulumi.Input[int] min_number_of_slots: Specifies the minimum number of slots the guest must be assigned to in order to deploy. + :param pulumi.Input[int] number_of_slots: Specifies the number of slots for the system to use when creating the guest. + :param pulumi.Input[str] state: Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: 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 + """ + pulumi.set(__self__, "name", name) + if allowed_slots is not None: + pulumi.set(__self__, "allowed_slots", allowed_slots) + if cores_per_slot is not None: + pulumi.set(__self__, "cores_per_slot", cores_per_slot) + if delete_virtual_disk is not None: + pulumi.set(__self__, "delete_virtual_disk", delete_virtual_disk) + if initial_hotfix is not None: + pulumi.set(__self__, "initial_hotfix", initial_hotfix) + if initial_image is not None: + pulumi.set(__self__, "initial_image", initial_image) + if mgmt_address is not None: + pulumi.set(__self__, "mgmt_address", mgmt_address) + if mgmt_network is not None: + pulumi.set(__self__, "mgmt_network", mgmt_network) + if mgmt_route is not None: + pulumi.set(__self__, "mgmt_route", mgmt_route) + if min_number_of_slots is not None: + pulumi.set(__self__, "min_number_of_slots", min_number_of_slots) + if number_of_slots is not None: + pulumi.set(__self__, "number_of_slots", number_of_slots) + if state is not None: + pulumi.set(__self__, "state", state) + if vlans is not None: + pulumi.set(__self__, "vlans", vlans) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name of the vCMP guest + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="allowedSlots") + def allowed_slots(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Contains those slots to which the guest is allowed to be assigned. + """ + return pulumi.get(self, "allowed_slots") + + @allowed_slots.setter + def allowed_slots(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "allowed_slots", value) + + @property + @pulumi.getter(name="coresPerSlot") + def cores_per_slot(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number of cores the system allocates to the guest. + """ + return pulumi.get(self, "cores_per_slot") + + @cores_per_slot.setter + def cores_per_slot(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cores_per_slot", value) + + @property + @pulumi.getter(name="deleteVirtualDisk") + def delete_virtual_disk(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + """ + return pulumi.get(self, "delete_virtual_disk") + + @delete_virtual_disk.setter + def delete_virtual_disk(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "delete_virtual_disk", value) + + @property + @pulumi.getter(name="initialHotfix") + def initial_hotfix(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the hotfix ISO image file which is applied on top of the base image. + """ + return pulumi.get(self, "initial_hotfix") + + @initial_hotfix.setter + def initial_hotfix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "initial_hotfix", value) + + @property + @pulumi.getter(name="initialImage") + def initial_image(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + """ + return pulumi.get(self, "initial_image") + + @initial_image.setter + def initial_image(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "initial_image", value) + + @property + @pulumi.getter(name="mgmtAddress") + def mgmt_address(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "mgmt_address") + + @mgmt_address.setter + def mgmt_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mgmt_address", value) + + @property + @pulumi.getter(name="mgmtNetwork") + def mgmt_network(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + """ + return pulumi.get(self, "mgmt_network") + + @mgmt_network.setter + def mgmt_network(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mgmt_network", value) + + @property + @pulumi.getter(name="mgmtRoute") + def mgmt_route(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + """ + return pulumi.get(self, "mgmt_route") + + @mgmt_route.setter + def mgmt_route(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mgmt_route", value) + + @property + @pulumi.getter(name="minNumberOfSlots") + def min_number_of_slots(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the minimum number of slots the guest must be assigned to in order to deploy. + """ + return pulumi.get(self, "min_number_of_slots") + + @min_number_of_slots.setter + def min_number_of_slots(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_number_of_slots", value) + + @property + @pulumi.getter(name="numberOfSlots") + def number_of_slots(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number of slots for the system to use when creating the guest. + """ + return pulumi.get(self, "number_of_slots") + + @number_of_slots.setter + def number_of_slots(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "number_of_slots", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter + def vlans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + 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 + """ + return pulumi.get(self, "vlans") + + @vlans.setter + def vlans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vlans", value) + + +@pulumi.input_type +class _GuestState: + def __init__(__self__, *, + allowed_slots: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + cores_per_slot: Optional[pulumi.Input[int]] = None, + delete_virtual_disk: Optional[pulumi.Input[bool]] = None, + full_path: Optional[pulumi.Input[str]] = None, + initial_hotfix: Optional[pulumi.Input[str]] = None, + initial_image: Optional[pulumi.Input[str]] = None, + mgmt_address: Optional[pulumi.Input[str]] = None, + mgmt_network: Optional[pulumi.Input[str]] = None, + mgmt_route: Optional[pulumi.Input[str]] = None, + min_number_of_slots: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + number_of_slots: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + virtual_disk: Optional[pulumi.Input[str]] = None, + vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering Guest resources. + :param pulumi.Input[Sequence[pulumi.Input[int]]] allowed_slots: Contains those slots to which the guest is allowed to be assigned. + :param pulumi.Input[int] cores_per_slot: Specifies the number of cores the system allocates to the guest. + :param pulumi.Input[bool] delete_virtual_disk: Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + :param pulumi.Input[str] full_path: Resource name including prepended partition path. + :param pulumi.Input[str] initial_hotfix: Specifies the hotfix ISO image file which is applied on top of the base image. + :param pulumi.Input[str] initial_image: Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + :param pulumi.Input[str] mgmt_address: 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. + :param pulumi.Input[str] mgmt_network: Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + :param pulumi.Input[str] mgmt_route: Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + :param pulumi.Input[int] min_number_of_slots: Specifies the minimum number of slots the guest must be assigned to in order to deploy. + :param pulumi.Input[str] name: Name of the vCMP guest + :param pulumi.Input[int] number_of_slots: Specifies the number of slots for the system to use when creating the guest. + :param pulumi.Input[str] state: Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + :param pulumi.Input[str] virtual_disk: Virtual disk associated with vCMP guest. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: 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 + """ + if allowed_slots is not None: + pulumi.set(__self__, "allowed_slots", allowed_slots) + if cores_per_slot is not None: + pulumi.set(__self__, "cores_per_slot", cores_per_slot) + if delete_virtual_disk is not None: + pulumi.set(__self__, "delete_virtual_disk", delete_virtual_disk) + if full_path is not None: + pulumi.set(__self__, "full_path", full_path) + if initial_hotfix is not None: + pulumi.set(__self__, "initial_hotfix", initial_hotfix) + if initial_image is not None: + pulumi.set(__self__, "initial_image", initial_image) + if mgmt_address is not None: + pulumi.set(__self__, "mgmt_address", mgmt_address) + if mgmt_network is not None: + pulumi.set(__self__, "mgmt_network", mgmt_network) + if mgmt_route is not None: + pulumi.set(__self__, "mgmt_route", mgmt_route) + if min_number_of_slots is not None: + pulumi.set(__self__, "min_number_of_slots", min_number_of_slots) + if name is not None: + pulumi.set(__self__, "name", name) + if number_of_slots is not None: + pulumi.set(__self__, "number_of_slots", number_of_slots) + if state is not None: + pulumi.set(__self__, "state", state) + if virtual_disk is not None: + pulumi.set(__self__, "virtual_disk", virtual_disk) + if vlans is not None: + pulumi.set(__self__, "vlans", vlans) + + @property + @pulumi.getter(name="allowedSlots") + def allowed_slots(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Contains those slots to which the guest is allowed to be assigned. + """ + return pulumi.get(self, "allowed_slots") + + @allowed_slots.setter + def allowed_slots(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "allowed_slots", value) + + @property + @pulumi.getter(name="coresPerSlot") + def cores_per_slot(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number of cores the system allocates to the guest. + """ + return pulumi.get(self, "cores_per_slot") + + @cores_per_slot.setter + def cores_per_slot(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cores_per_slot", value) + + @property + @pulumi.getter(name="deleteVirtualDisk") + def delete_virtual_disk(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + """ + return pulumi.get(self, "delete_virtual_disk") + + @delete_virtual_disk.setter + def delete_virtual_disk(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "delete_virtual_disk", value) + + @property + @pulumi.getter(name="fullPath") + def full_path(self) -> Optional[pulumi.Input[str]]: + """ + Resource name including prepended partition path. + """ + return pulumi.get(self, "full_path") + + @full_path.setter + def full_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "full_path", value) + + @property + @pulumi.getter(name="initialHotfix") + def initial_hotfix(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the hotfix ISO image file which is applied on top of the base image. + """ + return pulumi.get(self, "initial_hotfix") + + @initial_hotfix.setter + def initial_hotfix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "initial_hotfix", value) + + @property + @pulumi.getter(name="initialImage") + def initial_image(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + """ + return pulumi.get(self, "initial_image") + + @initial_image.setter + def initial_image(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "initial_image", value) + + @property + @pulumi.getter(name="mgmtAddress") + def mgmt_address(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "mgmt_address") + + @mgmt_address.setter + def mgmt_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mgmt_address", value) + + @property + @pulumi.getter(name="mgmtNetwork") + def mgmt_network(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + """ + return pulumi.get(self, "mgmt_network") + + @mgmt_network.setter + def mgmt_network(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mgmt_network", value) + + @property + @pulumi.getter(name="mgmtRoute") + def mgmt_route(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + """ + return pulumi.get(self, "mgmt_route") + + @mgmt_route.setter + def mgmt_route(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mgmt_route", value) + + @property + @pulumi.getter(name="minNumberOfSlots") + def min_number_of_slots(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the minimum number of slots the guest must be assigned to in order to deploy. + """ + return pulumi.get(self, "min_number_of_slots") + + @min_number_of_slots.setter + def min_number_of_slots(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_number_of_slots", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the vCMP guest + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="numberOfSlots") + def number_of_slots(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number of slots for the system to use when creating the guest. + """ + return pulumi.get(self, "number_of_slots") + + @number_of_slots.setter + def number_of_slots(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "number_of_slots", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter(name="virtualDisk") + def virtual_disk(self) -> Optional[pulumi.Input[str]]: + """ + Virtual disk associated with vCMP guest. + """ + return pulumi.get(self, "virtual_disk") + + @virtual_disk.setter + def virtual_disk(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "virtual_disk", value) + + @property + @pulumi.getter + def vlans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + 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 + """ + return pulumi.get(self, "vlans") + + @vlans.setter + def vlans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vlans", value) + + +class Guest(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allowed_slots: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + cores_per_slot: Optional[pulumi.Input[int]] = None, + delete_virtual_disk: Optional[pulumi.Input[bool]] = None, + initial_hotfix: Optional[pulumi.Input[str]] = None, + initial_image: Optional[pulumi.Input[str]] = None, + mgmt_address: Optional[pulumi.Input[str]] = None, + mgmt_network: Optional[pulumi.Input[str]] = None, + mgmt_route: Optional[pulumi.Input[str]] = None, + min_number_of_slots: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + number_of_slots: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + `vcmp.Guest` Manages a vCMP guest configuration + + Resource does not wait for vCMP guest to reach the desired state, it only ensures that a desired configuration is set on the target device. + + ## Example Usage + + ```python + import pulumi + import pulumi_f5bigip as f5bigip + + vcmp_test = f5bigip.vcmp.Guest("vcmp-test", + cores_per_slot=2, + initial_image="12.1.2.iso", + mgmt_address="10.1.1.1/24", + mgmt_network="bridged", + mgmt_route="none", + min_number_of_slots=1, + name="tf_guest", + number_of_slots=1, + state="provisioned") + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[int]]] allowed_slots: Contains those slots to which the guest is allowed to be assigned. + :param pulumi.Input[int] cores_per_slot: Specifies the number of cores the system allocates to the guest. + :param pulumi.Input[bool] delete_virtual_disk: Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + :param pulumi.Input[str] initial_hotfix: Specifies the hotfix ISO image file which is applied on top of the base image. + :param pulumi.Input[str] initial_image: Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + :param pulumi.Input[str] mgmt_address: 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. + :param pulumi.Input[str] mgmt_network: Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + :param pulumi.Input[str] mgmt_route: Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + :param pulumi.Input[int] min_number_of_slots: Specifies the minimum number of slots the guest must be assigned to in order to deploy. + :param pulumi.Input[str] name: Name of the vCMP guest + :param pulumi.Input[int] number_of_slots: Specifies the number of slots for the system to use when creating the guest. + :param pulumi.Input[str] state: Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: 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 + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: GuestArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + `vcmp.Guest` Manages a vCMP guest configuration + + Resource does not wait for vCMP guest to reach the desired state, it only ensures that a desired configuration is set on the target device. + + ## Example Usage + + ```python + import pulumi + import pulumi_f5bigip as f5bigip + + vcmp_test = f5bigip.vcmp.Guest("vcmp-test", + cores_per_slot=2, + initial_image="12.1.2.iso", + mgmt_address="10.1.1.1/24", + mgmt_network="bridged", + mgmt_route="none", + min_number_of_slots=1, + name="tf_guest", + number_of_slots=1, + state="provisioned") + ``` + + :param str resource_name: The name of the resource. + :param GuestArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(GuestArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allowed_slots: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + cores_per_slot: Optional[pulumi.Input[int]] = None, + delete_virtual_disk: Optional[pulumi.Input[bool]] = None, + initial_hotfix: Optional[pulumi.Input[str]] = None, + initial_image: Optional[pulumi.Input[str]] = None, + mgmt_address: Optional[pulumi.Input[str]] = None, + mgmt_network: Optional[pulumi.Input[str]] = None, + mgmt_route: Optional[pulumi.Input[str]] = None, + min_number_of_slots: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + number_of_slots: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = GuestArgs.__new__(GuestArgs) + + __props__.__dict__["allowed_slots"] = allowed_slots + __props__.__dict__["cores_per_slot"] = cores_per_slot + __props__.__dict__["delete_virtual_disk"] = delete_virtual_disk + __props__.__dict__["initial_hotfix"] = initial_hotfix + __props__.__dict__["initial_image"] = initial_image + __props__.__dict__["mgmt_address"] = mgmt_address + __props__.__dict__["mgmt_network"] = mgmt_network + __props__.__dict__["mgmt_route"] = mgmt_route + __props__.__dict__["min_number_of_slots"] = min_number_of_slots + if name is None and not opts.urn: + raise TypeError("Missing required property 'name'") + __props__.__dict__["name"] = name + __props__.__dict__["number_of_slots"] = number_of_slots + __props__.__dict__["state"] = state + __props__.__dict__["vlans"] = vlans + __props__.__dict__["full_path"] = None + __props__.__dict__["virtual_disk"] = None + super(Guest, __self__).__init__( + 'f5bigip:vcmp/guest:Guest', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + allowed_slots: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + cores_per_slot: Optional[pulumi.Input[int]] = None, + delete_virtual_disk: Optional[pulumi.Input[bool]] = None, + full_path: Optional[pulumi.Input[str]] = None, + initial_hotfix: Optional[pulumi.Input[str]] = None, + initial_image: Optional[pulumi.Input[str]] = None, + mgmt_address: Optional[pulumi.Input[str]] = None, + mgmt_network: Optional[pulumi.Input[str]] = None, + mgmt_route: Optional[pulumi.Input[str]] = None, + min_number_of_slots: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + number_of_slots: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + virtual_disk: Optional[pulumi.Input[str]] = None, + vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'Guest': + """ + Get an existing Guest resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[int]]] allowed_slots: Contains those slots to which the guest is allowed to be assigned. + :param pulumi.Input[int] cores_per_slot: Specifies the number of cores the system allocates to the guest. + :param pulumi.Input[bool] delete_virtual_disk: Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + :param pulumi.Input[str] full_path: Resource name including prepended partition path. + :param pulumi.Input[str] initial_hotfix: Specifies the hotfix ISO image file which is applied on top of the base image. + :param pulumi.Input[str] initial_image: Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + :param pulumi.Input[str] mgmt_address: 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. + :param pulumi.Input[str] mgmt_network: Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + :param pulumi.Input[str] mgmt_route: Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + :param pulumi.Input[int] min_number_of_slots: Specifies the minimum number of slots the guest must be assigned to in order to deploy. + :param pulumi.Input[str] name: Name of the vCMP guest + :param pulumi.Input[int] number_of_slots: Specifies the number of slots for the system to use when creating the guest. + :param pulumi.Input[str] state: Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + :param pulumi.Input[str] virtual_disk: Virtual disk associated with vCMP guest. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: 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 + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _GuestState.__new__(_GuestState) + + __props__.__dict__["allowed_slots"] = allowed_slots + __props__.__dict__["cores_per_slot"] = cores_per_slot + __props__.__dict__["delete_virtual_disk"] = delete_virtual_disk + __props__.__dict__["full_path"] = full_path + __props__.__dict__["initial_hotfix"] = initial_hotfix + __props__.__dict__["initial_image"] = initial_image + __props__.__dict__["mgmt_address"] = mgmt_address + __props__.__dict__["mgmt_network"] = mgmt_network + __props__.__dict__["mgmt_route"] = mgmt_route + __props__.__dict__["min_number_of_slots"] = min_number_of_slots + __props__.__dict__["name"] = name + __props__.__dict__["number_of_slots"] = number_of_slots + __props__.__dict__["state"] = state + __props__.__dict__["virtual_disk"] = virtual_disk + __props__.__dict__["vlans"] = vlans + return Guest(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="allowedSlots") + def allowed_slots(self) -> pulumi.Output[Sequence[int]]: + """ + Contains those slots to which the guest is allowed to be assigned. + """ + return pulumi.get(self, "allowed_slots") + + @property + @pulumi.getter(name="coresPerSlot") + def cores_per_slot(self) -> pulumi.Output[int]: + """ + Specifies the number of cores the system allocates to the guest. + """ + return pulumi.get(self, "cores_per_slot") + + @property + @pulumi.getter(name="deleteVirtualDisk") + def delete_virtual_disk(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates if virtual disk associated with vCMP guest should be removed during remove operation. The default is `true` + """ + return pulumi.get(self, "delete_virtual_disk") + + @property + @pulumi.getter(name="fullPath") + def full_path(self) -> pulumi.Output[str]: + """ + Resource name including prepended partition path. + """ + return pulumi.get(self, "full_path") + + @property + @pulumi.getter(name="initialHotfix") + def initial_hotfix(self) -> pulumi.Output[str]: + """ + Specifies the hotfix ISO image file which is applied on top of the base image. + """ + return pulumi.get(self, "initial_hotfix") + + @property + @pulumi.getter(name="initialImage") + def initial_image(self) -> pulumi.Output[str]: + """ + Specifies the base software release ISO image file for installing the TMOS hypervisor instance. + """ + return pulumi.get(self, "initial_image") + + @property + @pulumi.getter(name="mgmtAddress") + def mgmt_address(self) -> pulumi.Output[str]: + """ + 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. + """ + return pulumi.get(self, "mgmt_address") + + @property + @pulumi.getter(name="mgmtNetwork") + def mgmt_network(self) -> pulumi.Output[str]: + """ + Specifies the method by which the management address is used in the vCMP guest. options : [`bridged`,`isolated`,`host-only`]. + """ + return pulumi.get(self, "mgmt_network") + + @property + @pulumi.getter(name="mgmtRoute") + def mgmt_route(self) -> pulumi.Output[str]: + """ + Specifies the gateway address for the `mgmt_address`. Can be set to `none` to remove the value from the configuration. + """ + return pulumi.get(self, "mgmt_route") + + @property + @pulumi.getter(name="minNumberOfSlots") + def min_number_of_slots(self) -> pulumi.Output[int]: + """ + Specifies the minimum number of slots the guest must be assigned to in order to deploy. + """ + return pulumi.get(self, "min_number_of_slots") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the vCMP guest + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="numberOfSlots") + def number_of_slots(self) -> pulumi.Output[int]: + """ + Specifies the number of slots for the system to use when creating the guest. + """ + return pulumi.get(self, "number_of_slots") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + Specifies the state of the vCMP guest on the system. options : [`configured`,`provisioned`,`deployed`]. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="virtualDisk") + def virtual_disk(self) -> pulumi.Output[str]: + """ + Virtual disk associated with vCMP guest. + """ + return pulumi.get(self, "virtual_disk") + + @property + @pulumi.getter + def vlans(self) -> pulumi.Output[Sequence[str]]: + """ + 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 + """ + return pulumi.get(self, "vlans") + diff --git a/sdk/python/pulumi_f5bigip/waf_policy.py b/sdk/python/pulumi_f5bigip/waf_policy.py index f457d435..43a572f5 100644 --- a/sdk/python/pulumi_f5bigip/waf_policy.py +++ b/sdk/python/pulumi_f5bigip/waf_policy.py @@ -30,7 +30,6 @@ def __init__(__self__, *, parameters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, partition: Optional[pulumi.Input[str]] = None, policy_builders: Optional[pulumi.Input[Sequence[pulumi.Input['WafPolicyPolicyBuilderArgs']]]] = None, - policy_export_json: Optional[pulumi.Input[str]] = None, policy_id: Optional[pulumi.Input[str]] = None, policy_import_json: Optional[pulumi.Input[str]] = None, protocol_independent: Optional[pulumi.Input[bool]] = None, @@ -61,7 +60,6 @@ def __init__(__self__, *, :param pulumi.Input[str] partition: Specifies the partition of the policy. Default is `Common` :param pulumi.Input[Sequence[pulumi.Input['WafPolicyPolicyBuilderArgs']]] policy_builders: `policy_builder` block will provide `learning_mode` options to be used for policy builder. See policy builder below for more details. - :param pulumi.Input[str] policy_export_json: Exported WAF policy deployed on BIGIP. :param pulumi.Input[str] policy_id: The id of the A.WAF Policy as it would be calculated on the BIG-IP. :param pulumi.Input[str] policy_import_json: The payload of the WAF Policy to be used for IMPORT on to BIG-IP. :param pulumi.Input[bool] protocol_independent: 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. @@ -98,8 +96,6 @@ def __init__(__self__, *, pulumi.set(__self__, "partition", partition) if policy_builders is not None: pulumi.set(__self__, "policy_builders", policy_builders) - if policy_export_json is not None: - pulumi.set(__self__, "policy_export_json", policy_export_json) if policy_id is not None: pulumi.set(__self__, "policy_id", policy_id) if policy_import_json is not None: @@ -292,18 +288,6 @@ def policy_builders(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WafPol def policy_builders(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WafPolicyPolicyBuilderArgs']]]]): pulumi.set(self, "policy_builders", value) - @property - @pulumi.getter(name="policyExportJson") - def policy_export_json(self) -> Optional[pulumi.Input[str]]: - """ - Exported WAF policy deployed on BIGIP. - """ - return pulumi.get(self, "policy_export_json") - - @policy_export_json.setter - def policy_export_json(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "policy_export_json", value) - @property @pulumi.getter(name="policyId") def policy_id(self) -> Optional[pulumi.Input[str]]: @@ -833,7 +817,6 @@ def __init__(__self__, parameters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, partition: Optional[pulumi.Input[str]] = None, policy_builders: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WafPolicyPolicyBuilderArgs']]]]] = None, - policy_export_json: Optional[pulumi.Input[str]] = None, policy_id: Optional[pulumi.Input[str]] = None, policy_import_json: Optional[pulumi.Input[str]] = None, protocol_independent: Optional[pulumi.Input[bool]] = None, @@ -851,6 +834,8 @@ def __init__(__self__, * [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html) + > **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned. + ## Example Usage ```python @@ -917,7 +902,6 @@ def __init__(__self__, :param pulumi.Input[str] partition: Specifies the partition of the policy. Default is `Common` :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WafPolicyPolicyBuilderArgs']]]] policy_builders: `policy_builder` block will provide `learning_mode` options to be used for policy builder. See policy builder below for more details. - :param pulumi.Input[str] policy_export_json: Exported WAF policy deployed on BIGIP. :param pulumi.Input[str] policy_id: The id of the A.WAF Policy as it would be calculated on the BIG-IP. :param pulumi.Input[str] policy_import_json: The payload of the WAF Policy to be used for IMPORT on to BIG-IP. :param pulumi.Input[bool] protocol_independent: 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. @@ -941,6 +925,8 @@ def __init__(__self__, * [Declarative WAF documentation](https://clouddocs.f5.com/products/waf-declarative-policy/declarative_policy_v16_1.html) + > **NOTE** This Resource Requires F5 BIG-IP v16.x above version, and ASM need to be provisioned. + ## Example Usage ```python @@ -1015,7 +1001,6 @@ def _internal_init(__self__, parameters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, partition: Optional[pulumi.Input[str]] = None, policy_builders: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WafPolicyPolicyBuilderArgs']]]]] = None, - policy_export_json: Optional[pulumi.Input[str]] = None, policy_id: Optional[pulumi.Input[str]] = None, policy_import_json: Optional[pulumi.Input[str]] = None, protocol_independent: Optional[pulumi.Input[bool]] = None, @@ -1050,7 +1035,6 @@ def _internal_init(__self__, __props__.__dict__["parameters"] = parameters __props__.__dict__["partition"] = partition __props__.__dict__["policy_builders"] = policy_builders - __props__.__dict__["policy_export_json"] = policy_export_json __props__.__dict__["policy_id"] = policy_id __props__.__dict__["policy_import_json"] = policy_import_json __props__.__dict__["protocol_independent"] = protocol_independent @@ -1063,6 +1047,7 @@ def _internal_init(__self__, __props__.__dict__["template_name"] = template_name __props__.__dict__["type"] = type __props__.__dict__["urls"] = urls + __props__.__dict__["policy_export_json"] = None super(WafPolicy, __self__).__init__( 'f5bigip:index/wafPolicy:WafPolicy', resource_name,