diff --git a/examples/ibm-cis/README.md b/examples/ibm-cis/README.md index f176ca540b..e836f24b8b 100644 --- a/examples/ibm-cis/README.md +++ b/examples/ibm-cis/README.md @@ -254,6 +254,7 @@ data "ibm_cis_edge_functions_triggers" "test_triggers" { - User has IAM security rights to create and configure an Internet Services instance - DNS Domain registration +- [Domain Settings](https://cloud.ibm.com/docs/cis-cli-plugin?topic=cis-cli-plugin-cis-cli#domain-settings) - [DNS Record CLI](https://cloud.ibm.com/docs/cis-cli-plugin?topic=cis-cli-plugin-cis-cli#dns-record) - [GLB CLI](https://cloud.ibm.com/docs/cis-cli-plugin?topic=cis-cli-plugin-cis-cli#glb) - [Firewall CLI](https://cloud.ibm.com/docs/cis-cli-plugin?topic=cis-cli-plugin-cis-cli#firewall) diff --git a/examples/ibm-cis/outputs.tf b/examples/ibm-cis/outputs.tf index 3f612b3a3b..5cf23fbcb7 100644 --- a/examples/ibm-cis/outputs.tf +++ b/examples/ibm-cis/outputs.tf @@ -19,4 +19,8 @@ output "ibm_cis_edge_functions_action_output" { output "ibm_cis_edge_function_trigger_output" { value = ibm_cis_edge_functions_trigger.test_trigger -} \ No newline at end of file +} + +output "domain_setting" { + value = ibm_cis_domain_settings.test_domain_settings +} diff --git a/go.sum b/go.sum index 8e4db63c9d..c5f26db712 100644 --- a/go.sum +++ b/go.sum @@ -24,57 +24,46 @@ github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRY github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-ntlmssp v0.0.0-20180810175552-4a21cbd618b4/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= -github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75 h1:xGHheKK44eC6K0u5X+DZW/fRaR1LnDdqPHMZMWx5fv8= github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod h1:4/6eNcqZ09BZ9wLK3tZOjBA1nDj+B0728nlX5YRlSmQ= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= 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/ChrisTrenkamp/goxpath v0.0.0-20170922090931-c385f95c6022/go.mod h1:nuWgzSkT5PnyOd+272uUmV0dnAnAn42Mk7PiQC5VzN4= +github.com/IBM-Cloud/bluemix-go v0.0.0-20200914061145-5c7a783e2da7/go.mod h1:gPJbH1etcDj7qS/hBRiLuYW9CY0bRcostSKusa51xR0= +github.com/IBM-Cloud/bluemix-go v0.0.0-20200921095234-26d1d0148c62 h1:8I8Z3mRorZhgT31vXPysZNuVQV7vWR3GSVtmh8xJ9L8= +github.com/IBM-Cloud/bluemix-go v0.0.0-20200921095234-26d1d0148c62/go.mod h1:gPJbH1etcDj7qS/hBRiLuYW9CY0bRcostSKusa51xR0= +github.com/IBM-Cloud/bluemix-go v0.0.0-20200928122625-60d1f2f40c15 h1:2prJvW3vJuDbRUfTHP95ELKapQNDcfthaa/oOjjqUlU= +github.com/IBM-Cloud/bluemix-go v0.0.0-20200928122625-60d1f2f40c15/go.mod h1:gPJbH1etcDj7qS/hBRiLuYW9CY0bRcostSKusa51xR0= github.com/IBM-Cloud/bluemix-go v0.0.0-20200929101244-3d3ebff67c98 h1:qAl4eigZyycBsf7AqIdPbRE/5v7eRW0bD65jy6PrKxo= github.com/IBM-Cloud/bluemix-go v0.0.0-20200929101244-3d3ebff67c98/go.mod h1:gPJbH1etcDj7qS/hBRiLuYW9CY0bRcostSKusa51xR0= github.com/IBM-Cloud/ibm-cloud-cli-sdk v0.6.7/go.mod h1:RiUvKuHKTBmBApDMUQzBL14pQUGKcx/IioKQPIcRQjs= -github.com/IBM-Cloud/power-go-client v1.0.48 h1:iIMKJn+Pi5XwDV5mav4Pdl5QbAGaaoKFHmNoLuCLYHU= github.com/IBM-Cloud/power-go-client v1.0.48/go.mod h1:+mOxjyLeLIloR4EMHTpiDbN+FilZpiVHTwu5eqi+cbI= -github.com/IBM/apigateway-go-sdk v0.0.0-20200414212859-416e5948678a h1:lX3vP+9Y5gTP0w6l+4oL0mvNfgXZYJsMdlsiUG43GBw= github.com/IBM/apigateway-go-sdk v0.0.0-20200414212859-416e5948678a/go.mod h1:sNVpGpUv3jvA2dQbRPFjVrRFNdmnQrf2QTtKa/c2XrI= github.com/IBM/cloudpakfordata-go-sdk v0.0.0-20191003093330-fead1522985f/go.mod h1:j6hKoyzMruySTcVstW/FLiu2ZewGukmgSeVGaDYY9hY= -github.com/IBM/dns-svcs-go-sdk v0.0.3 h1:oz7OsM2DqhuDnkjmRu2qmgIaIypbTpJFq9y/p+GJMLI= github.com/IBM/dns-svcs-go-sdk v0.0.3/go.mod h1:Oh8Xtdezmvp6Tfc0u7t8mQMP/kHmf1SvCDr3WExKsNc= -github.com/IBM/go-sdk-core v1.1.0 h1:pV73lZqr9r1xKb3h08c1uNG3AphwoV5KzUzhS+pfEqY= github.com/IBM/go-sdk-core v1.1.0/go.mod h1:2pcx9YWsIsZ3I7kH+1amiAkXvLTZtAq9kbxsfXilSoY= github.com/IBM/go-sdk-core/v3 v3.0.0/go.mod h1:JI5NS2+iCoY/D8Oq3JNEZNA7qO42agu6fnaUmDsRcJA= github.com/IBM/go-sdk-core/v3 v3.2.4/go.mod h1:lk9eOzNbNltPf3CBpcg1Ewkhw4qC3u2QCCKDRsUA2M0= -github.com/IBM/go-sdk-core/v3 v3.3.1 h1:DoXjP1+Wm8Yd4XJsvBMRcYLvQwSLFnzKlMjSrg3Rzpw= github.com/IBM/go-sdk-core/v3 v3.3.1/go.mod h1:lk9eOzNbNltPf3CBpcg1Ewkhw4qC3u2QCCKDRsUA2M0= github.com/IBM/go-sdk-core/v4 v4.0.4/go.mod h1:lTUXbqIX6/aAbSCkP6q59+dyFsTwZAc0ewRS2vJWVbg= -github.com/IBM/go-sdk-core/v4 v4.3.0 h1:gWfy8HpptwpgKqXaDPwgomcRTED7wJLkd+nDoz3undo= github.com/IBM/go-sdk-core/v4 v4.3.0/go.mod h1:lTUXbqIX6/aAbSCkP6q59+dyFsTwZAc0ewRS2vJWVbg= -github.com/IBM/ibm-cos-sdk-go v1.3.1 h1:6SHueqFpznp7S/9b39/WiJ9mt3TgD322j2pArzyd/c8= github.com/IBM/ibm-cos-sdk-go v1.3.1/go.mod h1:YLBAYobEA8bD27P7xpMwSQeNQu6W3DNBtBComXrRzRY= -github.com/IBM/ibm-cos-sdk-go-config v1.0.0 h1:Sx6vIGr6U+NibFVhuesr4TKtDrWpGB3Q1/KxLBmG3b0= github.com/IBM/ibm-cos-sdk-go-config v1.0.0/go.mod h1:BAbdv1Zf8mRP6rj40Cem7KgBp+UQn9Fe2EWxIBrp5sM= -github.com/IBM/keyprotect-go-client v0.3.5-0.20200325142150-b63163832e26 h1:ktAExgvUrXaXvHjsnUtQqRhoqi5fyQjLXQIlD3YH60o= github.com/IBM/keyprotect-go-client v0.3.5-0.20200325142150-b63163832e26/go.mod h1:5TwDM/4FRJq1ZOlwQL1xFahLWQ3TveR88VmL1u3njyI= -github.com/IBM/networking-go-sdk v0.8.0 h1:70M3kAYi93SiyjttYGUAXXfiz39F8b2cvaJVih/2MAc= github.com/IBM/networking-go-sdk v0.8.0/go.mod h1:WB/PjK7LA6VuIOsGjv1gm6WS/Ki6nF8KmycwMU0bgIs= github.com/IBM/vpc-go-sdk v0.1.1 h1:rzYDbHm6IAxLnL9TNk0y9syCSBbDQ/t1kaI7W51faYY= github.com/IBM/vpc-go-sdk v0.1.1/go.mod h1:P0B/btm8+wm2gkTg1FgN2uwtjztEIJc7Kqq7HeZdBp4= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM= -github.com/ScaleFT/sshkeys v0.0.0-20200327173127-6142f742bca5 h1:VauE2GcJNZFun2Och6tIT2zJZK1v6jxALQDA9BIji/E= github.com/ScaleFT/sshkeys v0.0.0-20200327173127-6142f742bca5/go.mod h1:gxOHeajFfvGQh/fxlC8oOKBe23xnnJTif00IFFbiT+o= -github.com/Shopify/sarama v1.26.4 h1:+17TxUq/PJEAfZAll0T7XJjSgQWCpaQSoki/x5yN8o8= github.com/Shopify/sarama v1.26.4/go.mod h1:NbSGBSSndYaIhRcBtY9V0U7AyH+x71bG668AuWys/yU= github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/Unknwon/com v0.0.0-20151008135407-28b053d5a292/go.mod h1:KYCjqMOeHpNuTOiFQU6WEcTG7poCJrUs0YgyHNtn1no= github.com/abdullin/seq v0.0.0-20160510034733-d5467c17e7af/go.mod h1:5Jv4cbFiHJMsVxt52+i0Ha45fjshj6wxYr1r19tB9bw= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= -github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agl/ed25519 v0.0.0-20150830182803-278e1ec8e8a6/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= @@ -88,34 +77,26 @@ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo github.com/antchfx/xpath v0.0.0-20190129040759-c8489ed3251e/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk= github.com/antchfx/xquery v0.0.0-20180515051857-ad5b8c7a47b0/go.mod h1:LzD22aAzDP8/dyiCKFp31He4m2GPjl0AFyzDtZzUu9M= github.com/apache/incubator-openwhisk-client-go v0.0.0-20171128215515-ad814bc98c32/go.mod h1:tkMtcI5DHxdNk03R1YVLF66VhkF8uJkZs7pgHE9Mgqk= -github.com/apache/openwhisk-client-go v0.0.0-20200201143223-a804fb82d105 h1:k1wP1gZMrNJeXTz6a+3010NKC/ZvSffk07BzrLmYrmc= github.com/apache/openwhisk-client-go v0.0.0-20200201143223-a804fb82d105/go.mod h1:jLLKYP7+1+LFlIJW1n9U1gqeveLM1HIwa4ZHNOFxjPw= -github.com/apparentlymart/go-cidr v1.0.1 h1:NmIwLZ/KdsjIUlhf+/Np40atNXm/+lZ5txfTJ/SpF+U= github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFUye+ZcSR6opIgz9Co7WcDx6ZcY+RjfFHoA0I= github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= -github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= github.com/apparentlymart/go-versions v0.0.2-0.20180815153302-64b99f7cb171/go.mod h1:JXY95WvQrPJQtudvNARshgWajS7jNNlM90altXIPNyI= github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= 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/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.26.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.30.12 h1:KrjyosZvkpJjcwMk0RNxMZewQ47v7+ZkbQDXjWsJMs8= github.com/aws/aws-sdk-go v1.30.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= 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/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bmatcuk/doublestar v1.1.5/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= @@ -126,7 +107,6 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21 h1:tuijfIjZyjZaHq9xDUh0tNitwXshJpbLkqMOJv4H3do= github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21/go.mod h1:po7NpZ/QiTKzBKyrsEAxwnTamCoh8uDk/egRpQ7siIc= github.com/coreos/bbolt v1.3.0/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -135,13 +115,9 @@ github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7 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/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/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a h1:saTgr5tMLFnmy/yg3qDTft4rE5DY2uJ/cCxCe3q0XTU= github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a/go.mod h1:Bw9BbhOJVNR+t0jCqx2GC6zv0TGBsShs56Y3gfSCvl0= -github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185 h1:3T8ZyTDp5QxTx3NU48JVb2u+75xc040fofcBaN+6jPA= github.com/dchest/safefile v0.0.0-20151022103144-855e8d98f185/go.mod h1:cFRxtTwTOJkz2x3rQUNCYKWC93yP1VKjR8NUhqFxZNU= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= 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/dnaeon/go-vcr v0.0.0-20180920040454-5637cf3d8a31/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= @@ -149,16 +125,12 @@ github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dylanmei/iso8601 v0.1.0/go.mod h1:w9KhXSgIyROl1DefbMYIE7UVSIvELTbMrCfx+QkYnoQ= github.com/dylanmei/winrmtest v0.0.0-20190225150635-99b7fe2fddf1/go.mod h1:lcy9/2gH1jn/VCLouHA6tOEwLoNVd4GW6zhuKLmHC2Y= -github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= @@ -166,9 +138,7 @@ github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHqu github.com/frankban/quicktest v1.7.2 h1:2QxQoC1TS09S7fhCPsrvqYdvP1H5M1P1ih5ABm3BTYk= github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= @@ -179,40 +149,33 @@ github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpR github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5 h1:8b2ZgKfKIUTVQpTb77MoRDIMEIwvDVw40o3aOXdfYzI= github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.3 h1:7MGZI1ibQDLasvAz8HuhvYk9eNJbJkCOXWsSjjMS+Zc= github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= -github.com/go-openapi/loads v0.19.4 h1:5I4CCSqoWzT+82bBkNIvmLc0UOsoKKQ4Fz+3VxOB7SY= github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= github.com/go-openapi/runtime v0.19.11/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= -github.com/go-openapi/runtime v0.19.15 h1:2GIefxs9Rx1vCDNghRtypRq+ig8KSLrjHbAYI/gCLCM= github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc= github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= @@ -220,33 +183,26 @@ github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+Z github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM= github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= 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.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.9 h1:1IxuqvBUU3S2Bi4YC7tlP9SJF1gVpCvqN0T2Qof4azE= github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= github.com/go-openapi/validate v0.19.6/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= -github.com/go-openapi/validate v0.19.8 h1:YFzsdWIDfVuLvIOF+ZmKjVg1MbPJ1QgY9PihMwei1ys= github.com/go-openapi/validate v0.19.8/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-test/deep v1.0.1/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/go-test/deep v1.0.4 h1:u2CU3YKy9I2pmu9pX0eq50wCgjfGIt539SqR7FbHiho= github.com/go-test/deep v1.0.4/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= 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= @@ -267,31 +223,24 @@ github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:x github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/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/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= -github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= 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/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gophercloud/gophercloud v0.0.0-20190208042652-bc37892e1968/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4= github.com/gophercloud/utils v0.0.0-20190128072930-fbb6ab446f01/go.mod h1:wjDF8z83zTeg5eMLml5EBSlAhbF7G8DobyI1YsMuyzw= @@ -304,83 +253,62 @@ github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslC github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= github.com/hashicorp/aws-sdk-go-base v0.4.0/go.mod h1:eRhlz3c4nhqxFZJAahJEFL7gh6Jyj5rQmQc7F9eHFyQ= github.com/hashicorp/consul v0.0.0-20171026175957-610f3c86a089/go.mod h1:mFrjN1mfidgJfYP1xrJCF+AfRhr6Eaqhb2+sfyn/OOI= -github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-azure-helpers v0.10.0/go.mod h1:YuAtHxm2v74s+IjQwUG88dHBJPd5jL+cXr5BGVzSKhE= github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= -github.com/hashicorp/go-getter v1.4.2-0.20200106182914-9813cbd4eb02 h1:l1KB3bHVdvegcIf5upQ5mjcHjs2qsWnKh4Yr9xgIuu8= github.com/hashicorp/go-getter v1.4.2-0.20200106182914-9813cbd4eb02/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= github.com/hashicorp/go-hclog v0.0.0-20181001195459-61d530d6c27f/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-immutable-radix v0.0.0-20180129170900-7f3cd4390caa/go.mod h1:6ij3Z20p+OhOkCSrA0gImAWoHYQRGbnlcuk6XYTiaRw= github.com/hashicorp/go-msgpack v0.5.4/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= -github.com/hashicorp/go-plugin v1.3.0 h1:4d/wJojzvHV1I4i/rrjVaeuyxWrLzDE1mDCyDy8fXS8= github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= github.com/hashicorp/go-retryablehttp v0.5.2/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-retryablehttp v0.6.2 h1:bHM2aVXwBtBJWxHtkSrWuI4umABCUczs52eiUS9nSiw= github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -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-slug v0.4.1/go.mod h1:I5tq5Lv0E2xcNXNkmx7BSfzi1PsJ2cNjs3cC3LwyhK8= github.com/hashicorp/go-sockaddr v0.0.0-20180320115054-6d291a969b86/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-tfe v0.8.1/go.mod h1:XAV72S4O1iP8BDaqiaPLmL2B4EE6almocnOn8E8stHc= 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 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.0.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.2.1 h1:zEfKbn2+PDgroKdiOzqiE8rsmLqU2uwi5PB5pBJ3TkI= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f h1:UdxlrJz4JOnY8W+DbLISwf2B8WXEolNRA8BGCwI9jws= github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= -github.com/hashicorp/hcl/v2 v2.3.0 h1:iRly8YaMwTBAKhn1Ybk7VSdzbnopghktCD031P8ggUE= github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= github.com/hashicorp/hil v0.0.0-20190212112733-ab17b08d6590/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/hil v0.0.0-20200423225030-a18a1cd20038/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/memberlist v0.1.0/go.mod h1:ncdBp14cuox2iFOq3kDiquKU6fqsTBc3W6JvZwjxxsE= github.com/hashicorp/serf v0.0.0-20160124182025-e4ec8cc423bb/go.mod h1:h/Ru6tmZazX7WO/GDmwdpS975F019L4t5ng5IgwbNrE= github.com/hashicorp/terraform v0.12.28/go.mod h1:CBxNAiTW0pLap44/3GU4j7cYE2bMhkKZNlHPcr4P55U= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7 h1:Pc5TCv9mbxFN6UVX0LH6CpQrdTM5YjbVI2w15237Pjk= github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-plugin-sdk v1.6.0 h1:Um5hsAL7kKsfTHtan8lybY/d03F2bHu4fjRB1H6Ag4U= github.com/hashicorp/terraform-plugin-sdk v1.6.0/go.mod h1:H5QLx/uhwfxBZ59Bc5SqT19M4i+fYt7LZjHTpbLZiAg= github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596 h1:hjyO2JsNZUKT1ym+FAdlBEkGPevazYsmVgIMw7dVELg= github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= github.com/hashicorp/vault v0.10.4/go.mod h1:KfSyffbKxoVyspOdlaGVjIuwLobi07qD1bAbosPMpP0= 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/hokaccha/go-prettyjson v0.0.0-20170213120834-e6b9231a2b1c h1:vlXZsaTgJ55QZrAkOrpq0tsJmuuM4ky5OMZOvXnhvqE= github.com/hokaccha/go-prettyjson v0.0.0-20170213120834-e6b9231a2b1c/go.mod h1:pFlLw2CfqZiIBOx6BuCeRLCrfxBJipTY0nIOF/VbGcI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= 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-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= 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/joyent/triton-go v0.0.0-20180313100802-d8f9c0314926/go.mod h1:U+RSyWxWd04xTqnuOQxnai7XGS2PrPY2cfGoDKtMHjA= @@ -388,11 +316,9 @@ github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCV github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kardianos/govendor v1.0.9 h1:WOH3FcVI9eOgnIZYg96iwUwrL4eOVx+aQ66oyX2R8Yc= github.com/kardianos/govendor v1.0.9/go.mod h1:yvmR6q9ZZ7nSF5Wvh40v0wfP+3TwwL8zYQp+itoZSVM= github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= -github.com/klauspost/compress v1.9.8 h1:VMAMUUOh+gaxKTMk+zqbjsSjsIcUcL/LF4o63i82QyA= github.com/klauspost/compress v1.9.8/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -406,7 +332,6 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= 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 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= 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/likexian/gokit v0.0.0-20190309162924-0a377eecf7aa/go.mod h1:QdfYv6y6qPA9pbBA2qXtoT8BMKha6UyNbxWGWl/9Jfk= @@ -421,94 +346,70 @@ github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/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 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/masterzen/simplexml v0.0.0-20160608183007-4572e39b1ab9/go.mod h1:kCEbxUJlNDEBNbdQMkPSp6yaKcRXVI6f4ddk8Riv4bc= github.com/masterzen/winrm v0.0.0-20190223112901-5e5c9a7fe54b/go.mod h1:wr1VqkwW0AB5JS0QLy5GpVMS9E3VtRoSYXUYyVk46KY= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= 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.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-shellwords v1.0.4/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.8/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/minsikl/netscaler-nitro-go v0.0.0-20170827154432-5b14ce3643e3 h1:PHPBYVeLuR7/2XSOfVwDpW+70KNuxMWygsyOZSKK15Y= github.com/minsikl/netscaler-nitro-go v0.0.0-20170827154432-5b14ce3643e3/go.mod h1:jh28TRFZwBumf7OjMQbRb8TNtDuuX7QNAGRjFEt+h6I= -github.com/mitchellh/cli v1.0.0 h1:iGBIsUe3+HZ/AD/Vd7DErOt5sU9fa8Uj7A2s1aggv1Y= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= -github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-linereader v0.0.0-20190213213312-1b945b3263eb/go.mod h1:OaY7UOoTkkrX3wRwjpYRKafIkkyeD0UtweSHAWWiqQM= github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/gox v1.0.1 h1:x0jD3dcHk9a9xPSDN6YEL4xL6Qz0dvNYm8yZqui5chI= github.com/mitchellh/gox v1.0.1/go.mod h1:ED6BioOGXMswlXa2zxfh/xdd5QhwYliBFn9V18Ap4z4= github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= -github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/panicwrap v1.0.0/go.mod h1:pKvZHwWrZowLUzftuFq7coarnxbBXU4aQh3N0BJOeeA= github.com/mitchellh/prefixedio v0.0.0-20190213213902-5733675afd51/go.mod h1:kB1naBgV9ORnkiTVeyJOI1DavaJkG4oNIq0Af6ZVKUo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms= -github.com/nicksnyder/go-i18n v1.10.0 h1:5AzlPKvXBH4qBzmZ09Ua9Gipyruv6uApMcrNZdo96+Q= github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.3/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.12.3/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.13.0 h1:M76yO2HkZASFjXL0HSoZJ1AYEmQxNJmY41Jx1zNUq1Y= github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= 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 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/packer-community/winrmcp v0.0.0-20180102160824-81144009af58/go.mod h1:f6Izs6JvFTdnRbziASagjZ2vmf55NSIkC/weStxCHqk= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.6.0 h1:aetoXYr0Tv7xRU/V4B4IZJ2QcbtMUFoNb3ORp7TzIK4= github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.4.1+incompatible h1:mFe7ttWaflA46Mhqh+jUfjp2qTbPYxLB2/OyBppH9dg= github.com/pierrec/lz4 v2.4.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/errors v0.8.0/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/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/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= @@ -518,13 +419,10 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1: github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563 h1:dY6ETXrvDG7Sa4vE8ZQG4yqWg6UnOcbqTAahkV813vQ= github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/renier/xmlrpc v0.0.0-20170708154548-ce4a1a486c03 h1:Wdi9nwnhFNAlseAOekn6B5G/+GMtks9UKbvRU/CMM/o= github.com/renier/xmlrpc v0.0.0-20170708154548-ce4a1a486c03/go.mod h1:gRAiPF5C5Nd0eyyRdqIu9qTiFSoZzpTq727b5B8fkkU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= @@ -536,7 +434,6 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1 github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spf13/afero v1.2.1/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= @@ -547,7 +444,6 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/svanharmelen/jsonapi v0.0.0-20180618144545-0c0828c3f16d/go.mod h1:BSTlc8jOjh0niykqEGVXOLXdi9o0r0kR8tCYiMvjFgw= github.com/tencentcloud/tencentcloud-sdk-go v3.0.82+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4= @@ -557,12 +453,10 @@ github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tmc/grpc-websocket-proxy v0.0.0-20171017195756-830351dc03c6/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go v0.0.0-20180813092308-00b869d2f4a5/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ= -github.com/ulikunitz/xz v0.5.5 h1:pFrO0lVpTBXLpYw+pnLj6TbvHuyjXMfjGeCwSqCVwok= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack v4.0.1+incompatible h1:RMF1enSPeKTlXrXdOcqjFUElywVZjjC6pqse21bKbEU= github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= @@ -573,9 +467,7 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec 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 h1:vGMsygfmeCl4Xb6OA5U5XVAaQZ69FvoG7X2jUtQujb8= github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= @@ -602,7 +494,6 @@ golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -641,7 +532,6 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= 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 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= 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= @@ -675,11 +565,9 @@ golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200219091948-cb0a6d8edb6c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 h1:DYfZAGf2WMFjMxbgTjaC+2HC7NkNAQs+6Q8b9WEB/F4= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= 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= @@ -705,7 +593,6 @@ golang.org/x/tools v0.0.0-20201005185003-576e169c3de7/go.mod h1:z6u4i615ZeAfBE4X 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= 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= @@ -767,7 +654,6 @@ gopkg.in/jcmturner/gokrb5.v7 v7.5.0/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuv gopkg.in/jcmturner/rpc.v1 v1.1.0 h1:QHIUxTX1ISuAv9dD2wJ9HWQVuWDX/Zc0PfeC2tjc4rU= gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= 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= @@ -776,7 +662,6 @@ gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/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= diff --git a/ibm/config.go b/ibm/config.go index aff16bff2d..4516e31591 100644 --- a/ibm/config.go +++ b/ibm/config.go @@ -21,8 +21,10 @@ import ( cisdnsrecordsv1 "github.com/IBM/networking-go-sdk/dnsrecordsv1" cisedgefunctionv1 "github.com/IBM/networking-go-sdk/edgefunctionsapiv1" cisglbhealthcheckv1 "github.com/IBM/networking-go-sdk/globalloadbalancermonitorv1" + cissslv1 "github.com/IBM/networking-go-sdk/sslcertificateapiv1" tg "github.com/IBM/networking-go-sdk/transitgatewayapisv1" cisratelimitv1 "github.com/IBM/networking-go-sdk/zoneratelimitsv1" + cisdomainsettingsv1 "github.com/IBM/networking-go-sdk/zonessettingsv1" ciszonesv1 "github.com/IBM/networking-go-sdk/zonesv1" vpcclassic "github.com/IBM/vpc-go-sdk/vpcclassicv1" vpc "github.com/IBM/vpc-go-sdk/vpcv1" @@ -191,6 +193,8 @@ type ClientSession interface { CisGLBHealthCheckClientSession() (*cisglbhealthcheckv1.GlobalLoadBalancerMonitorV1, error) CisRLClientSession() (*cisratelimitv1.ZoneRateLimitsV1, error) CisEdgeFunctionClientSession() (*cisedgefunctionv1.EdgeFunctionsApiV1, error) + CisSSLClientSession() (*cissslv1.SslCertificateApiV1, error) + CisDomainSettingsClientSession() (*cisdomainsettingsv1.ZonesSettingsV1, error) } type clientSession struct { @@ -326,6 +330,14 @@ type clientSession struct { // CIS Edge Functions service options cisEdgeFunctionErr error cisEdgeFunctionClient *cisedgefunctionv1.EdgeFunctionsApiV1 + + // CIS SSL certificate service options + cisSSLErr error + cisSSLClient *cissslv1.SslCertificateApiV1 + + // CIS Zone Setting service options + cisDomainSettingsErr error + cisDomainSettingsClient *cisdomainsettingsv1.ZonesSettingsV1 } // BluemixAcccountAPI ... @@ -539,6 +551,16 @@ func (sess clientSession) CisEdgeFunctionClientSession() (*cisedgefunctionv1.Edg return sess.cisEdgeFunctionClient, sess.cisEdgeFunctionErr } +// CIS SSL certificate +func (sess clientSession) CisSSLClientSession() (*cissslv1.SslCertificateApiV1, error) { + return sess.cisSSLClient, sess.cisSSLErr +} + +// CIS Zone Settings +func (sess clientSession) CisDomainSettingsClientSession() (*cisdomainsettingsv1.ZonesSettingsV1, error) { + return sess.cisDomainSettingsClient, sess.cisDomainSettingsErr +} + // ClientSession configures and returns a fully initialized ClientSession func (c *Config) ClientSession() (interface{}, error) { sess, err := newSession(c) @@ -596,6 +618,8 @@ func (c *Config) ClientSession() (interface{}, error) { session.cisZonesErr = errEmptyBluemixCredentials session.cisRLErr = errEmptyBluemixCredentials session.cisEdgeFunctionErr = errEmptyBluemixCredentials + session.cisSSLErr = errEmptyBluemixCredentials + session.cisDomainSettingsErr = errEmptyBluemixCredentials return session, nil } @@ -991,6 +1015,37 @@ func (c *Config) ClientSession() (interface{}, error) { fmt.Errorf("Error occured while configuring CIS Edge Function service: %s", session.cisEdgeFunctionErr) } + + // IBM Network CIS SSL certificate + cisSSLOpt := &cissslv1.SslCertificateApiV1Options{ + URL: cisEndPoint, + Crn: core.StringPtr(""), + ZoneIdentifier: core.StringPtr(""), + Authenticator: authenticator, + } + + // IBM Network CIS Edge Function + session.cisSSLClient, session.cisSSLErr = cissslv1.NewSslCertificateApiV1(cisSSLOpt) + if session.cisSSLErr != nil { + session.cisSSLErr = + fmt.Errorf("Error occured while configuring CIS SSL certificate service: %s", + session.cisSSLErr) + } + + // IBM Network CIS Domain settings + cisDomainSettingsOpt := &cisdomainsettingsv1.ZonesSettingsV1Options{ + URL: cisEndPoint, + Crn: core.StringPtr(""), + ZoneIdentifier: core.StringPtr(""), + Authenticator: authenticator, + } + session.cisDomainSettingsClient, session.cisDomainSettingsErr = + cisdomainsettingsv1.NewZonesSettingsV1(cisDomainSettingsOpt) + if session.cisSSLErr != nil { + session.cisSSLErr = + fmt.Errorf("Error occured while configuring CIS SSL certificate service: %s", + session.cisSSLErr) + } return session, nil } diff --git a/ibm/provider.go b/ibm/provider.go index f150f71d8f..a63584589a 100644 --- a/ibm/provider.go +++ b/ibm/provider.go @@ -478,6 +478,7 @@ func Validator() ValidatorDict { "ibm_iam_custom_role": resourceIBMIAMCustomRoleValidator(), "ibm_cis_healthcheck": resourceIBMCISHealthCheckValidator(), "ibm_cis_rate_limit": resourceIBMCISRateLimitValidator(), + "ibm_cis_domain_settings": resourceIBMCISDomainSettingValidator(), "ibm_tg_gateway": resourceIBMTGValidator(), "ibm_tg_connection": resourceIBMTransitGatewayConnectionValidator(), "ibm_dl_virtual_connection": resourceIBMdlGatewayVCValidator(), diff --git a/ibm/resource_ibm_cis_domain_settings.go b/ibm/resource_ibm_cis_domain_settings.go index 3cc914b576..5c9ecda1b0 100644 --- a/ibm/resource_ibm_cis_domain_settings.go +++ b/ibm/resource_ibm_cis_domain_settings.go @@ -2,198 +2,441 @@ package ibm import ( "log" - "strings" + "github.com/IBM/go-sdk-core/v3/core" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" +) - v1 "github.com/IBM-Cloud/bluemix-go/api/cis/cisv1" +const ( + ibmCISDomainSettings = "ibm_cis_domain_settings" + cisDomainSettingsDNSSEC = "dnssec" + cisDomainSettingsWAF = "waf" + cisDomainSettingsSSL = "ssl" + cisDomainSettingsCertificateStatus = "certificate_status" + cisDomainSettingsMinTLSVersion = "min_tls_version" + cisDomainSettingsCNAMEFlattening = "cname_flattening" + cisDomainSettingsOpportunisticEncryption = "opportunistic_encryption" + cisDomainSettingsAutomaticHTPSRewrites = "automatic_https_rewrites" + cisDomainSettingsAlwaysUseHTTPS = "always_use_https" + cisDomainSettingsIPv6 = "ipv6" + cisDomainSettingsBrowserCheck = "browser_check" + cisDomainSettingsHotlinkProtection = "hotlink_protection" + cisDomainSettingsHTTP2 = "http2" + cisDomainSettingsImageLoadOptimization = "image_load_optimization" + cisDomainSettingsImageSizeOptimization = "image_size_optimization" + cisDomainSettingsIPGeoLocation = "ip_geolocation" + cisDomainSettingsOriginErrorPagePassThru = "origin_error_page_pass_thru" + cisDomainSettingsBrotli = "brotli" + cisDomainSettingsPseudoIPv4 = "pseudo_ipv4" + cisDomainSettingsPrefetchPreload = "prefetch_preload" + cisDomainSettingsResponseBuffering = "response_buffering" + cisDomainSettingsScriptLoadOptimisation = "script_load_optimization" + cisDomainSettingsServerSideExclude = "server_side_exclude" + cisDomainSettingsTLSClientAuth = "tls_client_auth" + cisDomainSettingsTrueClientIPHeader = "true_client_ip_header" + cisDomainSettingsWebSockets = "websockets" + cisDomainSettingsChallengeTTL = "challenge_ttl" + cisDomainSettingsMinify = "minify" + cisDomainSettingsMinifyCSS = "css" + cisDomainSettingsMinifyHTML = "html" + cisDomainSettingsMinifyJS = "js" + cisDomainSettingsSecurityHeader = "security_header" + cisDomainSettingsSecurityHeaderEnabled = "enabled" + cisDomainSettingsSecurityHeaderMaxAge = "max_age" + cisDomainSettingsSecurityHeaderIncludeSubdomains = "include_subdomains" + cisDomainSettingsSecurityHeaderNoSniff = "nosniff" + cisDomainSettingsMobileRedirect = "mobile_redirect" + cisDomainSettingsMobileRedirectStatus = "status" + cisDomainSettingsMobileRedirectMobileSubdomain = "mobile_subdomain" + cisDomainSettingsMobileRedirectStripURI = "strip_uri" + cisDomainSettingsMaxUpload = "max_upload" + cisDomainSettingsCipher = "cipher" + cisDomainSettingsONOFFValidatorID = "on_off" + cisDomainSettingsActiveDisableValidatorID = "active_disable" + cisDomainSettingsSSLSettingValidatorID = "ssl_setting" + cisDomainSettingsTLSVersionValidatorID = "tls_version" + cisDomainSettingsCNAMEFlattenValidatorID = "cname_flatten" + cisDomainSettingsImgSizeOptimizeValidatorID = "img_size_optimize" + cisDomainSettingsPseudoIPv4ValidatorID = "psuedo_ipv4" + cisDomainSettingsChallengeTTLValidatorID = "challenge_ttl" + cisDomainSettingsMaxUploadValidatorID = "max_upload" + cisDomainSettingsCipherValidatorID = "cipher" ) func resourceIBMCISSettings() *schema.Resource { return &schema.Resource{ Schema: map[string]*schema.Schema{ - "cis_id": { + cisID: { Type: schema.TypeString, Description: "CIS instance crn", Required: true, }, - "domain_id": { + cisDomainID: { + Type: schema.TypeString, + Description: "Associated CIS domain", + Required: true, + DiffSuppressFunc: suppressDomainIDDiff, + }, + cisDomainSettingsDNSSEC: { Type: schema.TypeString, - Description: "Associated CIS domain", - Required: true, + Description: "DNS Sec setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsActiveDisableValidatorID), }, - "waf": { - Type: schema.TypeString, - Description: "WAF setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"off", "on"}), - }, - "ssl": { - Type: schema.TypeString, - Description: "SSL/TLS setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"off", "flexible", "full", "strict", "origin_pull"}), - }, - "certificate_status": { + cisDomainSettingsWAF: { + Type: schema.TypeString, + Description: "WAF setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsSSL: { + Type: schema.TypeString, + Description: "SSL/TLS setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsSSLSettingValidatorID), + }, + cisDomainSettingsCertificateStatus: { Type: schema.TypeString, Description: "Certificate status", Computed: true, + Deprecated: "This field is deprecated", + }, + cisDomainSettingsMinTLSVersion: { + Type: schema.TypeString, + Description: "Minimum version of TLS required", + Optional: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsTLSVersionValidatorID), + Default: "1.1", + }, + cisDomainSettingsCNAMEFlattening: { + Type: schema.TypeString, + Description: "cname_flattening setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsCNAMEFlattenValidatorID), + }, + cisDomainSettingsOpportunisticEncryption: { + Type: schema.TypeString, + Description: "opportunistic_encryption setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsAutomaticHTPSRewrites: { + Type: schema.TypeString, + Description: "automatic_https_rewrites setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsAlwaysUseHTTPS: { + Type: schema.TypeString, + Description: "always_use_https setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsIPv6: { + Type: schema.TypeString, + Description: "ipv6 setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsBrowserCheck: { + Type: schema.TypeString, + Description: "browser_check setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsHotlinkProtection: { + Type: schema.TypeString, + Description: "hotlink_protection setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsHTTP2: { + Type: schema.TypeString, + Description: "http2 setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsImageLoadOptimization: { + Type: schema.TypeString, + Description: "image_load_optimization setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsImageSizeOptimization: { + Type: schema.TypeString, + Description: "image_size_optimization setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsImgSizeOptimizeValidatorID), + }, + cisDomainSettingsIPGeoLocation: { + Type: schema.TypeString, + Description: "ip_geolocation setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsOriginErrorPagePassThru: { + Type: schema.TypeString, + Description: "origin_error_page_pass_thru setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsBrotli: { + Type: schema.TypeString, + Description: "brotli setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsPseudoIPv4: { + Type: schema.TypeString, + Description: "pseudo_ipv4 setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsPseudoIPv4ValidatorID), + }, + cisDomainSettingsPrefetchPreload: { + Type: schema.TypeString, + Description: "prefetch_preload setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsResponseBuffering: { + Type: schema.TypeString, + Description: "response_buffering setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), }, - "min_tls_version": { - Type: schema.TypeString, - Description: "Minimum version of TLS required", - Optional: true, - ValidateFunc: validateAllowedStringValue([]string{"1.1", "1.2", "1.3", "1.4"}), - Default: "1.1", - }, - "cname_flattening": { - Type: schema.TypeString, - Description: "cname_flattening setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"flatten_at_root", "flatten_all", "flatten_none"}), - }, - "opportunistic_encryption": { - Type: schema.TypeString, - Description: "opportunistic_encryption setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "automatic_https_rewrites": { - Type: schema.TypeString, - Description: "automatic_https_rewrites setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "always_use_https": { - Type: schema.TypeString, - Description: "always_use_https setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "ipv6": { - Type: schema.TypeString, - Description: "ipv6 setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "browser_check": { - Type: schema.TypeString, - Description: "browser_check setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "hotlink_protection": { - Type: schema.TypeString, - Description: "hotlink_protection setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "http2": { - Type: schema.TypeString, - Description: "http2 setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "image_load_optimization": { - Type: schema.TypeString, - Description: "image_load_optimization setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "image_size_optimization": { - Type: schema.TypeString, - Description: "image_size_optimization setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"lossless", "off", "lossy"}), - }, - "ip_geolocation": { - Type: schema.TypeString, - Description: "ip_geolocation setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "origin_error_page_pass_thru": { - Type: schema.TypeString, - Description: "origin_error_page_pass_thru setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "brotli": { - Type: schema.TypeString, - Description: "brotli setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "pseudo_ipv4": { - Type: schema.TypeString, - Description: "pseudo_ipv4 setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"overwrite_header", "off", "add_header"}), - }, - "prefetch_preload": { - Type: schema.TypeString, - Description: "prefetch_preload setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "response_buffering": { - Type: schema.TypeString, - Description: "response_buffering setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "script_load_optimization": { - Type: schema.TypeString, - Description: "script_load_optimization setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "server_side_exclude": { - Type: schema.TypeString, - Description: "server_side_exclude setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "tls_client_auth": { - Type: schema.TypeString, - Description: "tls_client_auth setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "true_client_ip_header": { - Type: schema.TypeString, - Description: "true_client_ip_header setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), - }, - "websockets": { - Type: schema.TypeString, - Description: "websockets setting", - Optional: true, - Computed: true, - ValidateFunc: validateAllowedStringValue([]string{"on", "off"}), + cisDomainSettingsScriptLoadOptimisation: { + Type: schema.TypeString, + Description: "script_load_optimization setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsServerSideExclude: { + Type: schema.TypeString, + Description: "server_side_exclude setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsTLSClientAuth: { + Type: schema.TypeString, + Description: "tls_client_auth setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsTrueClientIPHeader: { + Type: schema.TypeString, + Description: "true_client_ip_header setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsWebSockets: { + Type: schema.TypeString, + Description: "websockets setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsChallengeTTL: { + Type: schema.TypeInt, + Description: "Challenge TTL setting", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsChallengeTTLValidatorID), + }, + cisDomainSettingsMaxUpload: { + Type: schema.TypeInt, + Description: "Maximum upload", + Optional: true, + Computed: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsMaxUploadValidatorID), + }, + cisDomainSettingsCipher: { + Type: schema.TypeSet, + Description: "Cipher settings", + Optional: true, + Computed: true, + Set: schema.HashString, + Elem: &schema.Schema{ + Type: schema.TypeString, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsCipherValidatorID), + }, + }, + cisDomainSettingsMinify: { + Type: schema.TypeList, + Description: "Minify setting", + Optional: true, + Computed: true, + MinItems: 1, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + cisDomainSettingsMinifyCSS: { + Type: schema.TypeString, + Description: "Minify CSS setting", + Required: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsMinifyHTML: { + Type: schema.TypeString, + Description: "Minify HTML setting", + Required: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsMinifyJS: { + Type: schema.TypeString, + Description: "Minify JS setting", + Required: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + }, + }, + }, + cisDomainSettingsSecurityHeader: { + Type: schema.TypeList, + Description: "Security Header Setting", + Optional: true, + Computed: true, + MinItems: 1, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + cisDomainSettingsSecurityHeaderEnabled: { + Type: schema.TypeBool, + Description: "security header enabled/disabled", + Required: true, + }, + cisDomainSettingsSecurityHeaderIncludeSubdomains: { + Type: schema.TypeBool, + Description: "security header subdomain included or not", + Required: true, + }, + cisDomainSettingsSecurityHeaderMaxAge: { + Type: schema.TypeInt, + Description: "security header max age", + Required: true, + }, + cisDomainSettingsSecurityHeaderNoSniff: { + Type: schema.TypeBool, + Description: "security header no sniff", + Required: true, + }, + }, + }, + }, + cisDomainSettingsMobileRedirect: { + Type: schema.TypeList, + Optional: true, + Computed: true, + MinItems: 1, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + cisDomainSettingsMobileRedirectStatus: { + Type: schema.TypeString, + Description: "mobile redirect status", + Required: true, + ValidateFunc: InvokeValidator( + ibmCISDomainSettings, + cisDomainSettingsONOFFValidatorID), + }, + cisDomainSettingsMobileRedirectMobileSubdomain: { + Type: schema.TypeString, + Description: "Mobile redirect subdomain", + Optional: true, + Computed: true, + }, + cisDomainSettingsMobileRedirectStripURI: { + Type: schema.TypeBool, + Description: "mobile redirect strip URI", + Optional: true, + Computed: true, + }, + }, + }, }, }, @@ -205,65 +448,769 @@ func resourceIBMCISSettings() *schema.Resource { } } -var settingsList = [...]string{"waf", "ssl", "min_tls_version", "automatic_https_rewrites", "opportunistic_encryption", "cname_flattening", "always_use_https", "ipv6", "browser_check", "hotlink_protection", "http2", "image_load_optimization", "image_size_optimization", "ip_geolocation", "origin_error_page_pass_thru", "brotli", "pseudo_ipv4", "prefetch_preload", "response_buffering", "script_load_optimization", "server_side_exclude", "tls_client_auth", "true_client_ip_header", "websockets"} +func resourceIBMCISDomainSettingValidator() *ResourceValidator { + + sslSetting := "off, flexible, full, strict, origin_pull" + tlsVersion := "1.1, 1.2, 1.3, 1.4" + cnameFlatten := "flatten_at_root, flatten_all, flatten_none" + imgSizeOptimize := "lossless, off, lossy" + pseudoIPv4 := "overwrite_header, off, add_header" + challengeTTL := "300, 900, 1800, 2700, 3600, 7200, 10800, 14400, 28800, 57600, 86400, 604800, 2592000, 31536000" + maxUpload := "100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 475, 500" + cipher := "ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-ECDSA-CHACHA20-POLY1305, ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-CHACHA20-POLY1305, ECDHE-ECDSA-AES128-SHA256, ECDHE-ECDSA-AES128-SHA, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES128-SHA, AES128-GCM-SHA256, AES128-SHA256, AES128-SHA, ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES256-SHA, AES256-GCM-SHA384, AES256-SHA256, AES256-SHA, DES-CBC3-SHA" + + validateSchema := make([]ValidateSchema, 1) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsONOFFValidatorID, + ValidateFunctionIdentifier: ValidateAllowedStringValue, + Type: TypeString, + Required: true, + AllowedValues: "on, off"}) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsActiveDisableValidatorID, + ValidateFunctionIdentifier: ValidateAllowedStringValue, + Type: TypeString, + Required: true, + AllowedValues: "active, disabled"}) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsSSLSettingValidatorID, + ValidateFunctionIdentifier: ValidateAllowedStringValue, + Type: TypeString, + Required: true, + AllowedValues: sslSetting}) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsTLSVersionValidatorID, + ValidateFunctionIdentifier: ValidateAllowedStringValue, + Type: TypeString, + Required: true, + AllowedValues: tlsVersion}) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsCNAMEFlattenValidatorID, + ValidateFunctionIdentifier: ValidateAllowedStringValue, + Type: TypeString, + Required: true, + AllowedValues: cnameFlatten}) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsImgSizeOptimizeValidatorID, + ValidateFunctionIdentifier: ValidateAllowedStringValue, + Type: TypeString, + Required: true, + AllowedValues: imgSizeOptimize}) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsPseudoIPv4ValidatorID, + ValidateFunctionIdentifier: ValidateAllowedStringValue, + Type: TypeString, + Required: true, + AllowedValues: pseudoIPv4}) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsChallengeTTLValidatorID, + ValidateFunctionIdentifier: ValidateAllowedIntValue, + Type: TypeInt, + Optional: true, + AllowedValues: challengeTTL}) + + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsMaxUploadValidatorID, + ValidateFunctionIdentifier: ValidateAllowedIntValue, + Type: TypeInt, + Optional: true, + AllowedValues: maxUpload}) + validateSchema = append(validateSchema, + ValidateSchema{ + Identifier: cisDomainSettingsCipherValidatorID, + ValidateFunctionIdentifier: ValidateAllowedStringValue, + Type: TypeString, + Required: true, + AllowedValues: cipher}) + ibmCISDomainSettingResourceValidator := ResourceValidator{ + ResourceName: ibmCISDomainSettings, + Schema: validateSchema} + return &ibmCISDomainSettingResourceValidator +} + +var settingsList = []string{ + cisDomainSettingsDNSSEC, + cisDomainSettingsWAF, + cisDomainSettingsSSL, + cisDomainSettingsMinTLSVersion, + cisDomainSettingsCNAMEFlattening, + cisDomainSettingsOpportunisticEncryption, + cisDomainSettingsAutomaticHTPSRewrites, + cisDomainSettingsAlwaysUseHTTPS, + cisDomainSettingsIPv6, + cisDomainSettingsBrowserCheck, + cisDomainSettingsHotlinkProtection, + cisDomainSettingsHTTP2, + cisDomainSettingsImageLoadOptimization, + cisDomainSettingsImageSizeOptimization, + cisDomainSettingsIPGeoLocation, + cisDomainSettingsOriginErrorPagePassThru, + cisDomainSettingsBrotli, + cisDomainSettingsPseudoIPv4, + cisDomainSettingsPrefetchPreload, + cisDomainSettingsResponseBuffering, + cisDomainSettingsScriptLoadOptimisation, + cisDomainSettingsServerSideExclude, + cisDomainSettingsTLSClientAuth, + cisDomainSettingsTrueClientIPHeader, + cisDomainSettingsWebSockets, + cisDomainSettingsChallengeTTL, + cisDomainSettingsMinify, + cisDomainSettingsSecurityHeader, + cisDomainSettingsMobileRedirect, + cisDomainSettingsMaxUpload, + cisDomainSettingsCipher, +} func resourceCISSettingsUpdate(d *schema.ResourceData, meta interface{}) error { - cisClient, err := meta.(ClientSession).CisAPI() + cisClient, err := meta.(ClientSession).CisDomainSettingsClientSession() if err != nil { return err } - zoneId, cisId, _ := convertTftoCisTwoVar(d.Get("domain_id").(string)) - - type Setting struct { - Name string - Value string - } + cisID := d.Get(cisID).(string) + zoneID, _, err := convertTftoCisTwoVar(d.Get(cisDomainID).(string)) + cisClient.Crn = core.StringPtr(cisID) + cisClient.ZoneIdentifier = core.StringPtr(zoneID) for _, item := range settingsList { - if d.HasChange(item) { - if v, ok := d.GetOk(item); ok { - value := v.(string) - settingsNew := v1.SettingsBody{Value: value} - _, err = cisClient.Settings().UpdateSetting(cisId, zoneId, item, settingsNew) - if err != nil { - log.Printf("Update settings Failed on %s, %s\n", item, err) - return err + var err error + var resp interface{} + + switch item { + case cisDomainSettingsDNSSEC: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateZoneDnssecOptions() + opt.SetStatus(v.(string)) + _, resp, err = cisClient.UpdateZoneDnssec(opt) + } + } + case cisDomainSettingsWAF: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateWebApplicationFirewallOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateWebApplicationFirewall(opt) + } + } + case cisDomainSettingsSSL: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + cisClient, err := meta.(ClientSession).CisSSLClientSession() + if err != nil { + return err + } + cisClient.Crn = core.StringPtr(cisID) + cisClient.ZoneIdentifier = core.StringPtr(zoneID) + opt := cisClient.NewChangeSslSettingOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.ChangeSslSetting(opt) + } + } + + case cisDomainSettingsMinTLSVersion: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateMinTlsVersionOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateMinTlsVersion(opt) + } + } + case cisDomainSettingsCNAMEFlattening: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateZoneCnameFlatteningOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateZoneCnameFlattening(opt) + } + } + case cisDomainSettingsOpportunisticEncryption: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateOpportunisticEncryptionOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateOpportunisticEncryption(opt) + } + } + case cisDomainSettingsAutomaticHTPSRewrites: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateAutomaticHttpsRewritesOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateAutomaticHttpsRewrites(opt) + } + } + case cisDomainSettingsAlwaysUseHTTPS: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateAlwaysUseHttpsOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateAlwaysUseHttps(opt) + } + } + case cisDomainSettingsIPv6: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateIpv6Options() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateIpv6(opt) + } + } + case cisDomainSettingsBrowserCheck: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateBrowserCheckOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateBrowserCheck(opt) + } + } + case cisDomainSettingsHotlinkProtection: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateHotlinkProtectionOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateHotlinkProtection(opt) + } + } + case cisDomainSettingsHTTP2: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateHttp2Options() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateHttp2(opt) + } + } + case cisDomainSettingsImageLoadOptimization: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateImageLoadOptimizationOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateImageLoadOptimization(opt) + } + } + case cisDomainSettingsImageSizeOptimization: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateImageSizeOptimizationOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateImageSizeOptimization(opt) + } + } + case cisDomainSettingsIPGeoLocation: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateIpGeolocationOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateIpGeolocation(opt) + } + } + case cisDomainSettingsOriginErrorPagePassThru: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateEnableErrorPagesOnOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateEnableErrorPagesOn(opt) + } + } + case cisDomainSettingsPseudoIPv4: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdatePseudoIpv4Options() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdatePseudoIpv4(opt) + } + } + case cisDomainSettingsPrefetchPreload: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdatePrefetchPreloadOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdatePrefetchPreload(opt) + } + } + case cisDomainSettingsResponseBuffering: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateResponseBufferingOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateResponseBuffering(opt) + } + } + case cisDomainSettingsScriptLoadOptimisation: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateScriptLoadOptimizationOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateScriptLoadOptimization(opt) + } + } + case cisDomainSettingsServerSideExclude: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateServerSideExcludeOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateServerSideExclude(opt) + } + } + case cisDomainSettingsTLSClientAuth: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateTlsClientAuthOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateTlsClientAuth(opt) + } + } + case cisDomainSettingsTrueClientIPHeader: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateTrueClientIpOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateTrueClientIp(opt) + } + } + case cisDomainSettingsWebSockets: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateWebSocketsOptions() + opt.SetValue(v.(string)) + _, resp, err = cisClient.UpdateWebSockets(opt) + } + } + case cisDomainSettingsChallengeTTL: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateChallengeTtlOptions() + opt.SetValue(int64(v.(int))) + _, resp, err = cisClient.UpdateChallengeTTL(opt) + } + } + case cisDomainSettingsMaxUpload: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + opt := cisClient.NewUpdateMaxUploadOptions() + opt.SetValue(int64(v.(int))) + _, resp, err = cisClient.UpdateMaxUpload(opt) + } + } + case cisDomainSettingsCipher: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + cipherValue := expandStringList(v.(*schema.Set).List()) + opt := cisClient.NewUpdateCiphersOptions() + opt.SetValue(cipherValue) + _, resp, err = cisClient.UpdateCiphers(opt) + } + } + case cisDomainSettingsMinify: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + dataMap := v.([]interface{})[0].(map[string]interface{}) + css := dataMap[cisDomainSettingsMinifyCSS].(string) + html := dataMap[cisDomainSettingsMinifyHTML].(string) + js := dataMap[cisDomainSettingsMinifyJS].(string) + minifyVal, err := cisClient.NewMinifySettingValue(css, html, js) + if err != nil { + log.Println("Invalid minfiy setting values") + return err + } + opt := cisClient.NewUpdateMinifyOptions() + opt.SetValue(minifyVal) + _, resp, err = cisClient.UpdateMinify(opt) + } + } + case cisDomainSettingsSecurityHeader: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + dataMap := v.([]interface{})[0].(map[string]interface{}) + enabled := dataMap[cisDomainSettingsSecurityHeaderEnabled].(bool) + nosniff := dataMap[cisDomainSettingsSecurityHeaderNoSniff].(bool) + includeSubdomain := dataMap[cisDomainSettingsSecurityHeaderIncludeSubdomains].(bool) + maxAge := int64(dataMap[cisDomainSettingsSecurityHeaderMaxAge].(int)) + securityVal, err := cisClient.NewSecurityHeaderSettingValueStrictTransportSecurity( + enabled, maxAge, includeSubdomain, nosniff) + if err != nil { + log.Println("Invalid security header setting values") + return err + } + securityOpt, err := cisClient.NewSecurityHeaderSettingValue(securityVal) + if err != nil { + log.Println("Invalid security header setting options") + return err + } + opt := cisClient.NewUpdateSecurityHeaderOptions() + opt.SetValue(securityOpt) + _, resp, err = cisClient.UpdateSecurityHeader(opt) + } + } + case cisDomainSettingsMobileRedirect: + if d.HasChange(item) { + if v, ok := d.GetOk(item); ok { + dataMap := v.([]interface{})[0].(map[string]interface{}) + status := dataMap[cisDomainSettingsMobileRedirectStatus].(string) + mobileSubdomain := dataMap[cisDomainSettingsMobileRedirectMobileSubdomain].(string) + stripURI := dataMap[cisDomainSettingsMobileRedirectStripURI].(bool) + mobileOpt, err := cisClient.NewMobileRedirecSettingValue(status, mobileSubdomain, stripURI) + if err != nil { + log.Println("Invalid mobile redirect options") + return err + } + opt := cisClient.NewUpdateMobileRedirectOptions() + opt.SetValue(mobileOpt) + _, resp, err = cisClient.UpdateMobileRedirect(opt) } } } + if err != nil { + log.Printf("Update settings Failed on %s, %v\n", item, resp) + return err + } } - - d.SetId(convertCisToTfTwoVar(zoneId, cisId)) - + d.SetId(convertCisToTfTwoVar(zoneID, cisID)) return resourceCISSettingsRead(d, meta) } func resourceCISSettingsRead(d *schema.ResourceData, meta interface{}) error { - cisClient, err := meta.(ClientSession).CisAPI() + cisClient, err := meta.(ClientSession).CisDomainSettingsClientSession() if err != nil { return err } - settingsId, cisId, _ := convertTftoCisTwoVar(d.Id()) + zoneID, crn, _ := convertTftoCisTwoVar(d.Id()) + cisClient.Crn = core.StringPtr(crn) + cisClient.ZoneIdentifier = core.StringPtr(zoneID) + for _, item := range settingsList { - settingsResult, err := cisClient.Settings().GetSetting(cisId, settingsId, item) - if err != nil { - if checkCisSettingsDeleted(d, meta, err, cisId) { - d.SetId("") - return nil + + switch item { + case cisDomainSettingsDNSSEC: + opt := cisClient.NewGetZoneDnssecOptions() + result, resp, err := cisClient.GetZoneDnssec(opt) + if err != nil { + log.Printf("DNS SEC get request failed : %v", resp) + return err } - if strings.Contains(err.Error(), "Request failed with status code: 405") { - log.Printf("[WARN] This action is unavailable for the current plan") - return nil + d.Set(cisDomainSettingsDNSSEC, result.Result.Status) + + case cisDomainSettingsWAF: + opt := cisClient.NewGetWebApplicationFirewallOptions() + result, resp, err := cisClient.GetWebApplicationFirewall(opt) + if err != nil { + log.Printf("Waf get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsWAF, result.Result.Value) + + case cisDomainSettingsSSL: + cisClient, err := meta.(ClientSession).CisSSLClientSession() + if err != nil { + return err + } + cisClient.Crn = core.StringPtr(crn) + cisClient.ZoneIdentifier = core.StringPtr(zoneID) + opt := cisClient.NewGetSslSettingOptions() + result, resp, err := cisClient.GetSslSetting(opt) + if err != nil { + log.Printf("SSL setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsSSL, result.Result.Value) + + case cisDomainSettingsBrotli: + cisClient, err := meta.(ClientSession).CisAPI() + if err != nil { + return err + } + settingsResult, err := cisClient.Settings().GetSetting(crn, zoneID, item) + if err != nil { + log.Printf("[WARN] Error getting %s zone during Domain read %v\n", item, err) + return err } - log.Printf("[WARN] Error getting zone during DomainRead %v\n", err) - return err - } else { settingsObj := *settingsResult d.Set(item, settingsObj.Value) + + case cisDomainSettingsMinTLSVersion: + opt := cisClient.NewGetMinTlsVersionOptions() + result, resp, err := cisClient.GetMinTlsVersion(opt) + if err != nil { + log.Printf("Min TLS Version setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsMinTLSVersion, result.Result.Value) + + case cisDomainSettingsCNAMEFlattening: + opt := cisClient.NewGetZoneCnameFlatteningOptions() + result, resp, err := cisClient.GetZoneCnameFlattening(opt) + if err != nil { + log.Printf("CNAME Flattening setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsCNAMEFlattening, result.Result.Value) + + case cisDomainSettingsOpportunisticEncryption: + opt := cisClient.NewGetOpportunisticEncryptionOptions() + result, resp, err := cisClient.GetOpportunisticEncryption(opt) + if err != nil { + log.Printf("Opportunistic Encryption setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsOpportunisticEncryption, result.Result.Value) + + case cisDomainSettingsAutomaticHTPSRewrites: + opt := cisClient.NewGetAutomaticHttpsRewritesOptions() + result, resp, err := cisClient.GetAutomaticHttpsRewrites(opt) + if err != nil { + log.Printf("Automatic HTTPS Rewrites setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsAutomaticHTPSRewrites, result.Result.Value) + + case cisDomainSettingsAlwaysUseHTTPS: + opt := cisClient.NewGetAlwaysUseHttpsOptions() + result, resp, err := cisClient.GetAlwaysUseHttps(opt) + if err != nil { + log.Printf("Always use HTTPS setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsAlwaysUseHTTPS, result.Result.Value) + + case cisDomainSettingsIPv6: + opt := cisClient.NewGetIpv6Options() + result, resp, err := cisClient.GetIpv6(opt) + if err != nil { + log.Printf("IPv6 setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsIPv6, result.Result.Value) + + case cisDomainSettingsBrowserCheck: + opt := cisClient.NewGetBrowserCheckOptions() + result, resp, err := cisClient.GetBrowserCheck(opt) + if err != nil { + log.Printf("Browser Check setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsBrowserCheck, result.Result.Value) + + case cisDomainSettingsHotlinkProtection: + opt := cisClient.NewGetHotlinkProtectionOptions() + result, resp, err := cisClient.GetHotlinkProtection(opt) + if err != nil { + log.Printf("Hotlink protection setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsHotlinkProtection, result.Result.Value) + + case cisDomainSettingsHTTP2: + opt := cisClient.NewGetHttp2Options() + result, resp, err := cisClient.GetHttp2(opt) + if err != nil { + log.Printf("HTTP2 setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsHTTP2, result.Result.Value) + + case cisDomainSettingsImageLoadOptimization: + opt := cisClient.NewGetImageLoadOptimizationOptions() + result, resp, err := cisClient.GetImageLoadOptimization(opt) + if err != nil { + log.Printf("Image load optimization setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsImageLoadOptimization, result.Result.Value) + + case cisDomainSettingsImageSizeOptimization: + opt := cisClient.NewGetImageSizeOptimizationOptions() + result, resp, err := cisClient.GetImageSizeOptimization(opt) + if err != nil { + log.Printf("Image size optimization setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsImageSizeOptimization, result.Result.Value) + + case cisDomainSettingsIPGeoLocation: + opt := cisClient.NewGetIpGeolocationOptions() + result, resp, err := cisClient.GetIpGeolocation(opt) + if err != nil { + log.Printf("IP Geo location setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsIPGeoLocation, result.Result.Value) + + case cisDomainSettingsOriginErrorPagePassThru: + opt := cisClient.NewGetEnableErrorPagesOnOptions() + result, resp, err := cisClient.GetEnableErrorPagesOn(opt) + if err != nil { + log.Printf("Origin error page pass thru setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsOriginErrorPagePassThru, result.Result.Value) + + case cisDomainSettingsPseudoIPv4: + opt := cisClient.NewGetPseudoIpv4Options() + result, resp, err := cisClient.GetPseudoIpv4(opt) + if err != nil { + log.Printf("Pseudo IPv4 setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsPseudoIPv4, result.Result.Value) + + case cisDomainSettingsPrefetchPreload: + opt := cisClient.NewGetPrefetchPreloadOptions() + result, resp, err := cisClient.GetPrefetchPreload(opt) + if err != nil { + log.Printf("Prefetch preload setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsPrefetchPreload, result.Result.Value) + + case cisDomainSettingsResponseBuffering: + opt := cisClient.NewGetResponseBufferingOptions() + result, resp, err := cisClient.GetResponseBuffering(opt) + if err != nil { + log.Printf("Response buffering setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsResponseBuffering, result.Result.Value) + + case cisDomainSettingsScriptLoadOptimisation: + opt := cisClient.NewGetScriptLoadOptimizationOptions() + result, resp, err := cisClient.GetScriptLoadOptimization(opt) + if err != nil { + log.Printf("Script load optimisation setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsScriptLoadOptimisation, result.Result.Value) + + case cisDomainSettingsServerSideExclude: + opt := cisClient.NewGetServerSideExcludeOptions() + result, resp, err := cisClient.GetServerSideExclude(opt) + if err != nil { + log.Printf("Service side exclude setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsServerSideExclude, result.Result.Value) + + case cisDomainSettingsTLSClientAuth: + opt := cisClient.NewGetTlsClientAuthOptions() + result, resp, err := cisClient.GetTlsClientAuth(opt) + if err != nil { + log.Printf("TLS Client Auth setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsTLSClientAuth, result.Result.Value) + + case cisDomainSettingsTrueClientIPHeader: + opt := cisClient.NewGetTrueClientIpOptions() + result, resp, err := cisClient.GetTrueClientIp(opt) + if err != nil { + log.Printf("True Client IP Header setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsTrueClientIPHeader, result.Result.Value) + + case cisDomainSettingsWebSockets: + opt := cisClient.NewGetWebSocketsOptions() + result, resp, err := cisClient.GetWebSockets(opt) + if err != nil { + log.Printf("Get websockets setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsWebSockets, result.Result.Value) + + case cisDomainSettingsChallengeTTL: + opt := cisClient.NewGetChallengeTtlOptions() + result, resp, err := cisClient.GetChallengeTTL(opt) + if err != nil { + log.Printf("Challenge TTL setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsChallengeTTL, result.Result.Value) + + case cisDomainSettingsMaxUpload: + opt := cisClient.NewGetMaxUploadOptions() + result, resp, err := cisClient.GetMaxUpload(opt) + if err != nil { + log.Printf("Max upload setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsMaxUpload, result.Result.Value) + + case cisDomainSettingsCipher: + opt := cisClient.NewGetCiphersOptions() + result, resp, err := cisClient.GetCiphers(opt) + if err != nil { + log.Printf("Cipher setting get request failed : %v", resp) + return err + } + d.Set(cisDomainSettingsCipher, result.Result.Value) + + case cisDomainSettingsMinify: + opt := cisClient.NewGetMinifyOptions() + result, resp, err := cisClient.GetMinify(opt) + if err != nil { + log.Printf("Minify setting get request failed : %v", resp) + return err + } + minify := result.Result.Value + value := map[string]string{ + cisDomainSettingsMinifyCSS: *minify.Css, + cisDomainSettingsMinifyHTML: *minify.HTML, + cisDomainSettingsMinifyJS: *minify.Js, + } + d.Set(cisDomainSettingsMinify, []interface{}{value}) + + case cisDomainSettingsSecurityHeader: + opt := cisClient.NewGetSecurityHeaderOptions() + result, resp, err := cisClient.GetSecurityHeader(opt) + if err != nil { + log.Printf("Security header setting get request failed : %v", resp) + return err + } + securityHeader := result.Result.Value.StrictTransportSecurity + value := map[string]interface{}{ + cisDomainSettingsSecurityHeaderEnabled: *securityHeader.Enabled, + cisDomainSettingsSecurityHeaderNoSniff: *securityHeader.Nosniff, + cisDomainSettingsSecurityHeaderIncludeSubdomains: *securityHeader.IncludeSubdomains, + cisDomainSettingsSecurityHeaderMaxAge: *securityHeader.MaxAge, + } + d.Set(cisDomainSettingsSecurityHeader, []interface{}{value}) + + case cisDomainSettingsMobileRedirect: + opt := cisClient.NewGetMobileRedirectOptions() + result, resp, err := cisClient.GetMobileRedirect(opt) + if err != nil { + log.Printf("Mobile redirect strip URI setting get request failed : %v", resp) + return err + } + value := result.Result.Value + uri := map[string]interface{}{ + cisDomainSettingsMobileRedirectMobileSubdomain: *value.MobileSubdomain, + cisDomainSettingsMobileRedirectStatus: *value.Status, + cisDomainSettingsMobileRedirectStripURI: *value.StripURI, + } + d.Set(cisDomainSettingsMobileRedirect, []interface{}{uri}) } } + d.Set(cisID, crn) + d.Set(cisDomainID, zoneID) return nil } @@ -272,23 +1219,3 @@ func resourceCISSettingsDelete(d *schema.ResourceData, meta interface{}) error { d.SetId("") return nil } - -func checkCisSettingsDeleted(d *schema.ResourceData, meta interface{}, errCheck error, cisId string) bool { - // Check if error is due to removal of Cis resource and hence all subresources - if strings.Contains(errCheck.Error(), "Object not found") || - strings.Contains(errCheck.Error(), "status code: 404") || - strings.Contains(errCheck.Error(), "Invalid zone identifier") { //code 400 - log.Printf("[WARN] Removing resource from state because it's not found via the CIS API") - return true - } - exists, errNew := rcInstanceExists(cisId, "ibm_cis", meta) - if errNew != nil { - log.Printf("resourceCISdomainRead - Failure validating service exists %s\n", errNew) - return false - } - if !exists { - log.Printf("[WARN] Removing domain settings from state because parent cis instance is in removed state") - return true - } - return false -} diff --git a/ibm/resource_ibm_cis_domain_settings_test.go b/ibm/resource_ibm_cis_domain_settings_test.go index c83659efdf..e4e6d2f2cf 100644 --- a/ibm/resource_ibm_cis_domain_settings_test.go +++ b/ibm/resource_ibm_cis_domain_settings_test.go @@ -8,9 +8,6 @@ import ( ) func TestAccIBMCisSettings_Basic(t *testing.T) { - // multiple instances of this config would conflict but we only use it once - //t.Parallel() - name := "ibm_cis_domain_settings." + "test" resource.Test(t, resource.TestCase{ @@ -37,9 +34,39 @@ func TestAccIBMCisSettings_Basic(t *testing.T) { Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr(name, "waf", "off"), resource.TestCheckResourceAttr(name, "ssl", "flexible"), - resource.TestCheckResourceAttr(name, "min_tls_version", "1.3"), + resource.TestCheckResourceAttr(name, "min_tls_version", "1.1"), + ), + }, + { + Config: testAccCheckCisSettingsConfigBasic4("test", cisDomainStatic), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr(name, "waf", "off"), + resource.TestCheckResourceAttr(name, "ssl", "flexible"), + ), + }, + }, + }) +} + +func TestAccIBMCisSettings_Import(t *testing.T) { + name := "ibm_cis_domain_settings." + "test" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCheckCisSettingsConfigBasic4("test", cisDomainStatic), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr(name, "waf", "off"), + resource.TestCheckResourceAttr(name, "ssl", "flexible"), ), }, + { + ResourceName: name, + ImportState: true, + ImportStateVerify: true, + }, }, }) } @@ -49,6 +76,8 @@ func testAccCheckCisSettingsConfigBasic3(id string, cisDomainStatic string) stri resource "ibm_cis_domain_settings" "%[1]s" { cis_id = data.ibm_cis.cis.id domain_id = data.ibm_cis_domain.cis_domain.id + waf = "off" + min_tls_version = "1.1" } `, id) } @@ -72,7 +101,56 @@ func testAccCheckCisSettingsConfigBasic2(id string, cisDomainStatic string) stri domain_id = data.ibm_cis_domain.cis_domain.id waf = "off" ssl = "flexible" - min_tls_version = "1.3" + min_tls_version = "1.1" + } +`, id) +} + +func testAccCheckCisSettingsConfigBasic4(id string, cisDomainStatic string) string { + return testAccCheckIBMCisDomainDataSourceConfigBasic1() + fmt.Sprintf(` + resource "ibm_cis_domain_settings" "%[1]s" { + cis_id = data.ibm_cis.cis.id + domain_id = data.ibm_cis_domain.cis_domain.domain_id + waf = "off" + ssl = "flexible" + min_tls_version = "1.2" + cname_flattening = "flatten_all" + opportunistic_encryption = "off" + automatic_https_rewrites = "on" + always_use_https = "off" + ipv6 = "off" + browser_check = "off" + hotlink_protection = "on" + http2 = "on" + image_load_optimization = "on" + image_size_optimization = "lossless" + ip_geolocation = "on" + origin_error_page_pass_thru = "on" + pseudo_ipv4 = "off" + prefetch_preload = "on" + response_buffering = "on" + script_load_optimization = "on" + server_side_exclude = "on" + tls_client_auth = "on" + true_client_ip_header = "on" + websockets = "on" + challenge_ttl = 3600 + max_upload = 300 + cipher = ["AES128-GCM-SHA256"] + minify { + css = "on" + js = "on" + html = "on" + } + security_header { + enabled = false + include_subdomains = true + max_age = 100 + nosniff = false + } + mobile_redirect { + status = "off" + } } `, id) } diff --git a/vendor/github.com/IBM/networking-go-sdk/sslcertificateapiv1/ssl_certificate_api_v1.go b/vendor/github.com/IBM/networking-go-sdk/sslcertificateapiv1/ssl_certificate_api_v1.go new file mode 100644 index 0000000000..f33b9314d1 --- /dev/null +++ b/vendor/github.com/IBM/networking-go-sdk/sslcertificateapiv1/ssl_certificate_api_v1.go @@ -0,0 +1,2276 @@ +/** + * (C) Copyright IBM Corp. 2020. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Package sslcertificateapiv1 : Operations and models for the SslCertificateApiV1 service +package sslcertificateapiv1 + +import ( + "encoding/json" + "fmt" + "github.com/IBM/go-sdk-core/v4/core" + common "github.com/IBM/networking-go-sdk/common" + "github.com/go-openapi/strfmt" + "reflect" +) + +// SslCertificateApiV1 : SSL Certificate +// +// Version: 1.0.0 +type SslCertificateApiV1 struct { + Service *core.BaseService + + // cloud resource name. + Crn *string + + // zone identifier. + ZoneIdentifier *string +} + +// DefaultServiceURL is the default URL to make service requests to. +const DefaultServiceURL = "https://api.cis.cloud.ibm.com" + +// DefaultServiceName is the default key used to find external configuration information. +const DefaultServiceName = "ssl_certificate_api" + +// SslCertificateApiV1Options : Service options +type SslCertificateApiV1Options struct { + ServiceName string + URL string + Authenticator core.Authenticator + + // cloud resource name. + Crn *string `validate:"required"` + + // zone identifier. + ZoneIdentifier *string `validate:"required"` +} + +// NewSslCertificateApiV1UsingExternalConfig : constructs an instance of SslCertificateApiV1 with passed in options and external configuration. +func NewSslCertificateApiV1UsingExternalConfig(options *SslCertificateApiV1Options) (sslCertificateApi *SslCertificateApiV1, err error) { + if options.ServiceName == "" { + options.ServiceName = DefaultServiceName + } + + if options.Authenticator == nil { + options.Authenticator, err = core.GetAuthenticatorFromEnvironment(options.ServiceName) + if err != nil { + return + } + } + + sslCertificateApi, err = NewSslCertificateApiV1(options) + if err != nil { + return + } + + err = sslCertificateApi.Service.ConfigureService(options.ServiceName) + if err != nil { + return + } + + if options.URL != "" { + err = sslCertificateApi.Service.SetServiceURL(options.URL) + } + return +} + +// NewSslCertificateApiV1 : constructs an instance of SslCertificateApiV1 with passed in options. +func NewSslCertificateApiV1(options *SslCertificateApiV1Options) (service *SslCertificateApiV1, err error) { + serviceOptions := &core.ServiceOptions{ + URL: DefaultServiceURL, + Authenticator: options.Authenticator, + } + + err = core.ValidateStruct(options, "options") + if err != nil { + return + } + + baseService, err := core.NewBaseService(serviceOptions) + if err != nil { + return + } + + if options.URL != "" { + err = baseService.SetServiceURL(options.URL) + if err != nil { + return + } + } + + service = &SslCertificateApiV1{ + Service: baseService, + Crn: options.Crn, + ZoneIdentifier: options.ZoneIdentifier, + } + + return +} + +// SetServiceURL sets the service URL +func (sslCertificateApi *SslCertificateApiV1) SetServiceURL(url string) error { + return sslCertificateApi.Service.SetServiceURL(url) +} + +// ListCertificates : List all certificates +// CIS automatically add an active DNS zone to a universal SSL certificate, shared among multiple customers. Customer +// may order dedicated certificates for the owning zones. This API list all certificates for a given zone, including +// shared and dedicated certificates. +func (sslCertificateApi *SslCertificateApiV1) ListCertificates(listCertificatesOptions *ListCertificatesOptions) (result *ListCertificateResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listCertificatesOptions, "listCertificatesOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "ssl/certificate_packs"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range listCertificatesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "ListCertificates") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + if listCertificatesOptions.XCorrelationID != nil { + builder.AddHeader("X-Correlation-ID", fmt.Sprint(*listCertificatesOptions.XCorrelationID)) + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalListCertificateResp) + if err != nil { + return + } + response.Result = result + + return +} + +// OrderCertificate : Order dedicated certificate +// Order a dedicated certificate for a given zone. The zone should be active before placing an order of a dedicated +// certificate. +func (sslCertificateApi *SslCertificateApiV1) OrderCertificate(orderCertificateOptions *OrderCertificateOptions) (result *DedicatedCertificatePack, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(orderCertificateOptions, "orderCertificateOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "ssl/certificate_packs"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.POST) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range orderCertificateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "OrderCertificate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + if orderCertificateOptions.XCorrelationID != nil { + builder.AddHeader("X-Correlation-ID", fmt.Sprint(*orderCertificateOptions.XCorrelationID)) + } + + body := make(map[string]interface{}) + if orderCertificateOptions.Type != nil { + body["type"] = orderCertificateOptions.Type + } + if orderCertificateOptions.Hosts != nil { + body["hosts"] = orderCertificateOptions.Hosts + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalDedicatedCertificatePack) + if err != nil { + return + } + response.Result = result + + return +} + +// DeleteCertificate : Delete a certificate +// Delete a given certificate. +func (sslCertificateApi *SslCertificateApiV1) DeleteCertificate(deleteCertificateOptions *DeleteCertificateOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteCertificateOptions, "deleteCertificateOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(deleteCertificateOptions, "deleteCertificateOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "ssl/certificate_packs"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier, *deleteCertificateOptions.CertIdentifier} + + builder := core.NewRequestBuilder(core.DELETE) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range deleteCertificateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "DeleteCertificate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + if deleteCertificateOptions.XCorrelationID != nil { + builder.AddHeader("X-Correlation-ID", fmt.Sprint(*deleteCertificateOptions.XCorrelationID)) + } + + request, err := builder.Build() + if err != nil { + return + } + + response, err = sslCertificateApi.Service.Request(request, nil) + + return +} + +// GetSslSetting : Get SSL setting +// For a given zone identifier, get SSL setting. +func (sslCertificateApi *SslCertificateApiV1) GetSslSetting(getSslSettingOptions *GetSslSettingOptions) (result *SslSettingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getSslSettingOptions, "getSslSettingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/ssl"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getSslSettingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "GetSslSetting") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSslSettingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// ChangeSslSetting : Change SSL setting +// For a given zone identifier, change SSL setting. +func (sslCertificateApi *SslCertificateApiV1) ChangeSslSetting(changeSslSettingOptions *ChangeSslSettingOptions) (result *SslSettingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(changeSslSettingOptions, "changeSslSettingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/ssl"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range changeSslSettingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "ChangeSslSetting") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if changeSslSettingOptions.Value != nil { + body["value"] = changeSslSettingOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSslSettingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// ListCustomCertificates : List all custom certificates +// For a given zone identifier, list all custom certificates. +func (sslCertificateApi *SslCertificateApiV1) ListCustomCertificates(listCustomCertificatesOptions *ListCustomCertificatesOptions) (result *ListCustomCertsResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listCustomCertificatesOptions, "listCustomCertificatesOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "custom_certificates"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range listCustomCertificatesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "ListCustomCertificates") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalListCustomCertsResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UploadCustomCertificate : Upload a custom certificate +// For a given zone identifier, upload a custom certificates. +func (sslCertificateApi *SslCertificateApiV1) UploadCustomCertificate(uploadCustomCertificateOptions *UploadCustomCertificateOptions) (result *CustomCertResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(uploadCustomCertificateOptions, "uploadCustomCertificateOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "custom_certificates"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.POST) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range uploadCustomCertificateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "UploadCustomCertificate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if uploadCustomCertificateOptions.Certificate != nil { + body["certificate"] = uploadCustomCertificateOptions.Certificate + } + if uploadCustomCertificateOptions.PrivateKey != nil { + body["private_key"] = uploadCustomCertificateOptions.PrivateKey + } + if uploadCustomCertificateOptions.BundleMethod != nil { + body["bundle_method"] = uploadCustomCertificateOptions.BundleMethod + } + if uploadCustomCertificateOptions.GeoRestrictions != nil { + body["geo_restrictions"] = uploadCustomCertificateOptions.GeoRestrictions + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalCustomCertResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetCustomCertificate : Get custom certificate +// For a given zone identifier, get a custom certificates. +func (sslCertificateApi *SslCertificateApiV1) GetCustomCertificate(getCustomCertificateOptions *GetCustomCertificateOptions) (result *CustomCertResp, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getCustomCertificateOptions, "getCustomCertificateOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(getCustomCertificateOptions, "getCustomCertificateOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "custom_certificates"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier, *getCustomCertificateOptions.CustomCertID} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getCustomCertificateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "GetCustomCertificate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalCustomCertResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateCustomCertificate : Update custom certificate +// For a given zone identifier, update a custom certificates. +func (sslCertificateApi *SslCertificateApiV1) UpdateCustomCertificate(updateCustomCertificateOptions *UpdateCustomCertificateOptions) (result *CustomCertResp, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateCustomCertificateOptions, "updateCustomCertificateOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(updateCustomCertificateOptions, "updateCustomCertificateOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "custom_certificates"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier, *updateCustomCertificateOptions.CustomCertID} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateCustomCertificateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "UpdateCustomCertificate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateCustomCertificateOptions.Certificate != nil { + body["certificate"] = updateCustomCertificateOptions.Certificate + } + if updateCustomCertificateOptions.PrivateKey != nil { + body["private_key"] = updateCustomCertificateOptions.PrivateKey + } + if updateCustomCertificateOptions.BundleMethod != nil { + body["bundle_method"] = updateCustomCertificateOptions.BundleMethod + } + if updateCustomCertificateOptions.GeoRestrictions != nil { + body["geo_restrictions"] = updateCustomCertificateOptions.GeoRestrictions + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalCustomCertResp) + if err != nil { + return + } + response.Result = result + + return +} + +// DeleteCustomCertificate : Delete custom certificate +// For a given zone identifier, delete a custom certificates. +func (sslCertificateApi *SslCertificateApiV1) DeleteCustomCertificate(deleteCustomCertificateOptions *DeleteCustomCertificateOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteCustomCertificateOptions, "deleteCustomCertificateOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(deleteCustomCertificateOptions, "deleteCustomCertificateOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "custom_certificates"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier, *deleteCustomCertificateOptions.CustomCertID} + + builder := core.NewRequestBuilder(core.DELETE) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range deleteCustomCertificateOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "DeleteCustomCertificate") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + request, err := builder.Build() + if err != nil { + return + } + + response, err = sslCertificateApi.Service.Request(request, nil) + + return +} + +// ChangeCertificatePriority : Set certificate priority +// For a given zone identifier, set priority of certificates. +func (sslCertificateApi *SslCertificateApiV1) ChangeCertificatePriority(changeCertificatePriorityOptions *ChangeCertificatePriorityOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateStruct(changeCertificatePriorityOptions, "changeCertificatePriorityOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "custom_certificates/prioritize"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PUT) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range changeCertificatePriorityOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "ChangeCertificatePriority") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if changeCertificatePriorityOptions.Certificates != nil { + body["certificates"] = changeCertificatePriorityOptions.Certificates + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + response, err = sslCertificateApi.Service.Request(request, nil) + + return +} + +// GetUniversalCertificateSetting : Get details of universal certificate +// For a given zone identifier, get universal certificate. +func (sslCertificateApi *SslCertificateApiV1) GetUniversalCertificateSetting(getUniversalCertificateSettingOptions *GetUniversalCertificateSettingOptions) (result *UniversalSettingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getUniversalCertificateSettingOptions, "getUniversalCertificateSettingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "ssl/universal/settings"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getUniversalCertificateSettingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "GetUniversalCertificateSetting") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalUniversalSettingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// ChangeUniversalCertificateSetting : Enable or Disable universal certificate +// change universal certificate setting. +func (sslCertificateApi *SslCertificateApiV1) ChangeUniversalCertificateSetting(changeUniversalCertificateSettingOptions *ChangeUniversalCertificateSettingOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateStruct(changeUniversalCertificateSettingOptions, "changeUniversalCertificateSettingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "ssl/universal/settings"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range changeUniversalCertificateSettingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "ChangeUniversalCertificateSetting") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if changeUniversalCertificateSettingOptions.Enabled != nil { + body["enabled"] = changeUniversalCertificateSettingOptions.Enabled + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + response, err = sslCertificateApi.Service.Request(request, nil) + + return +} + +// GetTls12Setting : Get TLS 1.2 only setting +// For a given zone identifier, get TLS 1.2 only setting. +func (sslCertificateApi *SslCertificateApiV1) GetTls12Setting(getTls12SettingOptions *GetTls12SettingOptions) (result *Tls12SettingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getTls12SettingOptions, "getTls12SettingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/tls_1_2_only"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getTls12SettingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "GetTls12Setting") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTls12SettingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// ChangeTls12Setting : Set TLS 1.2 setting +// For a given zone identifier, set TLS 1.2 setting. +func (sslCertificateApi *SslCertificateApiV1) ChangeTls12Setting(changeTls12SettingOptions *ChangeTls12SettingOptions) (result *Tls12SettingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(changeTls12SettingOptions, "changeTls12SettingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/tls_1_2_only"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range changeTls12SettingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "ChangeTls12Setting") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if changeTls12SettingOptions.Value != nil { + body["value"] = changeTls12SettingOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTls12SettingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetTls13Setting : Get TLS 1.3 setting +// For a given zone identifier, get TLS 1.3 setting. +func (sslCertificateApi *SslCertificateApiV1) GetTls13Setting(getTls13SettingOptions *GetTls13SettingOptions) (result *Tls13SettingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getTls13SettingOptions, "getTls13SettingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/tls_1_3"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getTls13SettingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "GetTls13Setting") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTls13SettingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// ChangeTls13Setting : Set TLS 1.3 setting +// For a given zone identifier, set TLS 1.3 setting. +func (sslCertificateApi *SslCertificateApiV1) ChangeTls13Setting(changeTls13SettingOptions *ChangeTls13SettingOptions) (result *Tls13SettingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(changeTls13SettingOptions, "changeTls13SettingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/tls_1_3"} + pathParameters := []string{*sslCertificateApi.Crn, *sslCertificateApi.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(sslCertificateApi.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range changeTls13SettingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("ssl_certificate_api", "V1", "ChangeTls13Setting") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if changeTls13SettingOptions.Value != nil { + body["value"] = changeTls13SettingOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = sslCertificateApi.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTls13SettingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// CertPriorityReqCertificatesItem : certificate items. +type CertPriorityReqCertificatesItem struct { + // identifier. + ID *string `json:"id" validate:"required"` + + // certificate priority. + Priority *int64 `json:"priority" validate:"required"` +} + + +// NewCertPriorityReqCertificatesItem : Instantiate CertPriorityReqCertificatesItem (Generic Model Constructor) +func (*SslCertificateApiV1) NewCertPriorityReqCertificatesItem(id string, priority int64) (model *CertPriorityReqCertificatesItem, err error) { + model = &CertPriorityReqCertificatesItem{ + ID: core.StringPtr(id), + Priority: core.Int64Ptr(priority), + } + err = core.ValidateStruct(model, "required parameters") + return +} + +// UnmarshalCertPriorityReqCertificatesItem unmarshals an instance of CertPriorityReqCertificatesItem from the specified map of raw messages. +func UnmarshalCertPriorityReqCertificatesItem(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CertPriorityReqCertificatesItem) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "priority", &obj.Priority) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ChangeCertificatePriorityOptions : The ChangeCertificatePriority options. +type ChangeCertificatePriorityOptions struct { + // certificates array. + Certificates []CertPriorityReqCertificatesItem `json:"certificates,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewChangeCertificatePriorityOptions : Instantiate ChangeCertificatePriorityOptions +func (*SslCertificateApiV1) NewChangeCertificatePriorityOptions() *ChangeCertificatePriorityOptions { + return &ChangeCertificatePriorityOptions{} +} + +// SetCertificates : Allow user to set Certificates +func (options *ChangeCertificatePriorityOptions) SetCertificates(certificates []CertPriorityReqCertificatesItem) *ChangeCertificatePriorityOptions { + options.Certificates = certificates + return options +} + +// SetHeaders : Allow user to set Headers +func (options *ChangeCertificatePriorityOptions) SetHeaders(param map[string]string) *ChangeCertificatePriorityOptions { + options.Headers = param + return options +} + +// ChangeSslSettingOptions : The ChangeSslSetting options. +type ChangeSslSettingOptions struct { + // value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the ChangeSslSettingOptions.Value property. +// value. +const ( + ChangeSslSettingOptions_Value_Flexible = "flexible" + ChangeSslSettingOptions_Value_Full = "full" + ChangeSslSettingOptions_Value_Off = "off" + ChangeSslSettingOptions_Value_Strict = "strict" +) + +// NewChangeSslSettingOptions : Instantiate ChangeSslSettingOptions +func (*SslCertificateApiV1) NewChangeSslSettingOptions() *ChangeSslSettingOptions { + return &ChangeSslSettingOptions{} +} + +// SetValue : Allow user to set Value +func (options *ChangeSslSettingOptions) SetValue(value string) *ChangeSslSettingOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *ChangeSslSettingOptions) SetHeaders(param map[string]string) *ChangeSslSettingOptions { + options.Headers = param + return options +} + +// ChangeTls12SettingOptions : The ChangeTls12Setting options. +type ChangeTls12SettingOptions struct { + // value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the ChangeTls12SettingOptions.Value property. +// value. +const ( + ChangeTls12SettingOptions_Value_Off = "off" + ChangeTls12SettingOptions_Value_On = "on" +) + +// NewChangeTls12SettingOptions : Instantiate ChangeTls12SettingOptions +func (*SslCertificateApiV1) NewChangeTls12SettingOptions() *ChangeTls12SettingOptions { + return &ChangeTls12SettingOptions{} +} + +// SetValue : Allow user to set Value +func (options *ChangeTls12SettingOptions) SetValue(value string) *ChangeTls12SettingOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *ChangeTls12SettingOptions) SetHeaders(param map[string]string) *ChangeTls12SettingOptions { + options.Headers = param + return options +} + +// ChangeTls13SettingOptions : The ChangeTls13Setting options. +type ChangeTls13SettingOptions struct { + // value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the ChangeTls13SettingOptions.Value property. +// value. +const ( + ChangeTls13SettingOptions_Value_Off = "off" + ChangeTls13SettingOptions_Value_On = "on" +) + +// NewChangeTls13SettingOptions : Instantiate ChangeTls13SettingOptions +func (*SslCertificateApiV1) NewChangeTls13SettingOptions() *ChangeTls13SettingOptions { + return &ChangeTls13SettingOptions{} +} + +// SetValue : Allow user to set Value +func (options *ChangeTls13SettingOptions) SetValue(value string) *ChangeTls13SettingOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *ChangeTls13SettingOptions) SetHeaders(param map[string]string) *ChangeTls13SettingOptions { + options.Headers = param + return options +} + +// ChangeUniversalCertificateSettingOptions : The ChangeUniversalCertificateSetting options. +type ChangeUniversalCertificateSettingOptions struct { + // enabled. + Enabled *bool `json:"enabled,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewChangeUniversalCertificateSettingOptions : Instantiate ChangeUniversalCertificateSettingOptions +func (*SslCertificateApiV1) NewChangeUniversalCertificateSettingOptions() *ChangeUniversalCertificateSettingOptions { + return &ChangeUniversalCertificateSettingOptions{} +} + +// SetEnabled : Allow user to set Enabled +func (options *ChangeUniversalCertificateSettingOptions) SetEnabled(enabled bool) *ChangeUniversalCertificateSettingOptions { + options.Enabled = core.BoolPtr(enabled) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *ChangeUniversalCertificateSettingOptions) SetHeaders(param map[string]string) *ChangeUniversalCertificateSettingOptions { + options.Headers = param + return options +} + +// CustomCertReqGeoRestrictions : geo restrictions. +type CustomCertReqGeoRestrictions struct { + // properties. + Label *string `json:"label" validate:"required"` +} + +// Constants associated with the CustomCertReqGeoRestrictions.Label property. +// properties. +const ( + CustomCertReqGeoRestrictions_Label_Eu = "eu" + CustomCertReqGeoRestrictions_Label_HighestSecurity = "highest_security" + CustomCertReqGeoRestrictions_Label_Us = "us" +) + + +// NewCustomCertReqGeoRestrictions : Instantiate CustomCertReqGeoRestrictions (Generic Model Constructor) +func (*SslCertificateApiV1) NewCustomCertReqGeoRestrictions(label string) (model *CustomCertReqGeoRestrictions, err error) { + model = &CustomCertReqGeoRestrictions{ + Label: core.StringPtr(label), + } + err = core.ValidateStruct(model, "required parameters") + return +} + +// UnmarshalCustomCertReqGeoRestrictions unmarshals an instance of CustomCertReqGeoRestrictions from the specified map of raw messages. +func UnmarshalCustomCertReqGeoRestrictions(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CustomCertReqGeoRestrictions) + err = core.UnmarshalPrimitive(m, "label", &obj.Label) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DeleteCertificateOptions : The DeleteCertificate options. +type DeleteCertificateOptions struct { + // cedrtificate identifier. + CertIdentifier *string `json:"cert_identifier" validate:"required"` + + // uuid, identify a session. + XCorrelationID *string `json:"X-Correlation-ID,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewDeleteCertificateOptions : Instantiate DeleteCertificateOptions +func (*SslCertificateApiV1) NewDeleteCertificateOptions(certIdentifier string) *DeleteCertificateOptions { + return &DeleteCertificateOptions{ + CertIdentifier: core.StringPtr(certIdentifier), + } +} + +// SetCertIdentifier : Allow user to set CertIdentifier +func (options *DeleteCertificateOptions) SetCertIdentifier(certIdentifier string) *DeleteCertificateOptions { + options.CertIdentifier = core.StringPtr(certIdentifier) + return options +} + +// SetXCorrelationID : Allow user to set XCorrelationID +func (options *DeleteCertificateOptions) SetXCorrelationID(xCorrelationID string) *DeleteCertificateOptions { + options.XCorrelationID = core.StringPtr(xCorrelationID) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteCertificateOptions) SetHeaders(param map[string]string) *DeleteCertificateOptions { + options.Headers = param + return options +} + +// DeleteCustomCertificateOptions : The DeleteCustomCertificate options. +type DeleteCustomCertificateOptions struct { + // custom certificate id. + CustomCertID *string `json:"custom_cert_id" validate:"required"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewDeleteCustomCertificateOptions : Instantiate DeleteCustomCertificateOptions +func (*SslCertificateApiV1) NewDeleteCustomCertificateOptions(customCertID string) *DeleteCustomCertificateOptions { + return &DeleteCustomCertificateOptions{ + CustomCertID: core.StringPtr(customCertID), + } +} + +// SetCustomCertID : Allow user to set CustomCertID +func (options *DeleteCustomCertificateOptions) SetCustomCertID(customCertID string) *DeleteCustomCertificateOptions { + options.CustomCertID = core.StringPtr(customCertID) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteCustomCertificateOptions) SetHeaders(param map[string]string) *DeleteCustomCertificateOptions { + options.Headers = param + return options +} + +// GetCustomCertificateOptions : The GetCustomCertificate options. +type GetCustomCertificateOptions struct { + // custom certificate id. + CustomCertID *string `json:"custom_cert_id" validate:"required"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetCustomCertificateOptions : Instantiate GetCustomCertificateOptions +func (*SslCertificateApiV1) NewGetCustomCertificateOptions(customCertID string) *GetCustomCertificateOptions { + return &GetCustomCertificateOptions{ + CustomCertID: core.StringPtr(customCertID), + } +} + +// SetCustomCertID : Allow user to set CustomCertID +func (options *GetCustomCertificateOptions) SetCustomCertID(customCertID string) *GetCustomCertificateOptions { + options.CustomCertID = core.StringPtr(customCertID) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *GetCustomCertificateOptions) SetHeaders(param map[string]string) *GetCustomCertificateOptions { + options.Headers = param + return options +} + +// GetSslSettingOptions : The GetSslSetting options. +type GetSslSettingOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetSslSettingOptions : Instantiate GetSslSettingOptions +func (*SslCertificateApiV1) NewGetSslSettingOptions() *GetSslSettingOptions { + return &GetSslSettingOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetSslSettingOptions) SetHeaders(param map[string]string) *GetSslSettingOptions { + options.Headers = param + return options +} + +// GetTls12SettingOptions : The GetTls12Setting options. +type GetTls12SettingOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetTls12SettingOptions : Instantiate GetTls12SettingOptions +func (*SslCertificateApiV1) NewGetTls12SettingOptions() *GetTls12SettingOptions { + return &GetTls12SettingOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetTls12SettingOptions) SetHeaders(param map[string]string) *GetTls12SettingOptions { + options.Headers = param + return options +} + +// GetTls13SettingOptions : The GetTls13Setting options. +type GetTls13SettingOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetTls13SettingOptions : Instantiate GetTls13SettingOptions +func (*SslCertificateApiV1) NewGetTls13SettingOptions() *GetTls13SettingOptions { + return &GetTls13SettingOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetTls13SettingOptions) SetHeaders(param map[string]string) *GetTls13SettingOptions { + options.Headers = param + return options +} + +// GetUniversalCertificateSettingOptions : The GetUniversalCertificateSetting options. +type GetUniversalCertificateSettingOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetUniversalCertificateSettingOptions : Instantiate GetUniversalCertificateSettingOptions +func (*SslCertificateApiV1) NewGetUniversalCertificateSettingOptions() *GetUniversalCertificateSettingOptions { + return &GetUniversalCertificateSettingOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetUniversalCertificateSettingOptions) SetHeaders(param map[string]string) *GetUniversalCertificateSettingOptions { + options.Headers = param + return options +} + +// ListCertificatesOptions : The ListCertificates options. +type ListCertificatesOptions struct { + // uuid, identify a session. + XCorrelationID *string `json:"X-Correlation-ID,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewListCertificatesOptions : Instantiate ListCertificatesOptions +func (*SslCertificateApiV1) NewListCertificatesOptions() *ListCertificatesOptions { + return &ListCertificatesOptions{} +} + +// SetXCorrelationID : Allow user to set XCorrelationID +func (options *ListCertificatesOptions) SetXCorrelationID(xCorrelationID string) *ListCertificatesOptions { + options.XCorrelationID = core.StringPtr(xCorrelationID) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *ListCertificatesOptions) SetHeaders(param map[string]string) *ListCertificatesOptions { + options.Headers = param + return options +} + +// ListCustomCertificatesOptions : The ListCustomCertificates options. +type ListCustomCertificatesOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewListCustomCertificatesOptions : Instantiate ListCustomCertificatesOptions +func (*SslCertificateApiV1) NewListCustomCertificatesOptions() *ListCustomCertificatesOptions { + return &ListCustomCertificatesOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *ListCustomCertificatesOptions) SetHeaders(param map[string]string) *ListCustomCertificatesOptions { + options.Headers = param + return options +} + +// OrderCertificateOptions : The OrderCertificate options. +type OrderCertificateOptions struct { + // priorities. + Type *string `json:"type,omitempty"` + + // host name. + Hosts []string `json:"hosts,omitempty"` + + // uuid, identify a session. + XCorrelationID *string `json:"X-Correlation-ID,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the OrderCertificateOptions.Type property. +// priorities. +const ( + OrderCertificateOptions_Type_Dedicated = "dedicated" +) + +// NewOrderCertificateOptions : Instantiate OrderCertificateOptions +func (*SslCertificateApiV1) NewOrderCertificateOptions() *OrderCertificateOptions { + return &OrderCertificateOptions{} +} + +// SetType : Allow user to set Type +func (options *OrderCertificateOptions) SetType(typeVar string) *OrderCertificateOptions { + options.Type = core.StringPtr(typeVar) + return options +} + +// SetHosts : Allow user to set Hosts +func (options *OrderCertificateOptions) SetHosts(hosts []string) *OrderCertificateOptions { + options.Hosts = hosts + return options +} + +// SetXCorrelationID : Allow user to set XCorrelationID +func (options *OrderCertificateOptions) SetXCorrelationID(xCorrelationID string) *OrderCertificateOptions { + options.XCorrelationID = core.StringPtr(xCorrelationID) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *OrderCertificateOptions) SetHeaders(param map[string]string) *OrderCertificateOptions { + options.Headers = param + return options +} + +// Tls12SettingRespMessagesItem : Tls12SettingRespMessagesItem struct +type Tls12SettingRespMessagesItem struct { + // status. + Status *string `json:"status,omitempty"` +} + + +// UnmarshalTls12SettingRespMessagesItem unmarshals an instance of Tls12SettingRespMessagesItem from the specified map of raw messages. +func UnmarshalTls12SettingRespMessagesItem(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Tls12SettingRespMessagesItem) + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Tls12SettingRespResult : result. +type Tls12SettingRespResult struct { + // identifier. + ID *string `json:"id" validate:"required"` + + // value. + Value *string `json:"value" validate:"required"` + + // editable. + Editable *bool `json:"editable" validate:"required"` + + // modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + +// Constants associated with the Tls12SettingRespResult.ID property. +// identifier. +const ( + Tls12SettingRespResult_ID_Tls12Only = "tls_1_2_only" +) + + +// UnmarshalTls12SettingRespResult unmarshals an instance of Tls12SettingRespResult from the specified map of raw messages. +func UnmarshalTls12SettingRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Tls12SettingRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Tls13SettingRespResult : result. +type Tls13SettingRespResult struct { + // identifier. + ID *string `json:"id" validate:"required"` + + // value. + Value *string `json:"value" validate:"required"` + + // editable. + Editable *bool `json:"editable" validate:"required"` + + // modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + +// Constants associated with the Tls13SettingRespResult.ID property. +// identifier. +const ( + Tls13SettingRespResult_ID_Tls13 = "tls_1_3" +) + + +// UnmarshalTls13SettingRespResult unmarshals an instance of Tls13SettingRespResult from the specified map of raw messages. +func UnmarshalTls13SettingRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Tls13SettingRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// UniversalSettingRespResult : result. +type UniversalSettingRespResult struct { + // enabled. + Enabled *bool `json:"enabled" validate:"required"` +} + + +// UnmarshalUniversalSettingRespResult unmarshals an instance of UniversalSettingRespResult from the specified map of raw messages. +func UnmarshalUniversalSettingRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(UniversalSettingRespResult) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// UpdateCustomCertificateOptions : The UpdateCustomCertificate options. +type UpdateCustomCertificateOptions struct { + // custom certificate id. + CustomCertID *string `json:"custom_cert_id" validate:"required"` + + // certificates. + Certificate *string `json:"certificate,omitempty"` + + // private key. + PrivateKey *string `json:"private_key,omitempty"` + + // Methods shown in UI mapping to API: Compatible(ubiquitous), Modern(optimal), User Defined(force). + BundleMethod *string `json:"bundle_method,omitempty"` + + // geo restrictions. + GeoRestrictions *CustomCertReqGeoRestrictions `json:"geo_restrictions,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateCustomCertificateOptions.BundleMethod property. +// Methods shown in UI mapping to API: Compatible(ubiquitous), Modern(optimal), User Defined(force). +const ( + UpdateCustomCertificateOptions_BundleMethod_Force = "force" + UpdateCustomCertificateOptions_BundleMethod_Optimal = "optimal" + UpdateCustomCertificateOptions_BundleMethod_Ubiquitous = "ubiquitous" +) + +// NewUpdateCustomCertificateOptions : Instantiate UpdateCustomCertificateOptions +func (*SslCertificateApiV1) NewUpdateCustomCertificateOptions(customCertID string) *UpdateCustomCertificateOptions { + return &UpdateCustomCertificateOptions{ + CustomCertID: core.StringPtr(customCertID), + } +} + +// SetCustomCertID : Allow user to set CustomCertID +func (options *UpdateCustomCertificateOptions) SetCustomCertID(customCertID string) *UpdateCustomCertificateOptions { + options.CustomCertID = core.StringPtr(customCertID) + return options +} + +// SetCertificate : Allow user to set Certificate +func (options *UpdateCustomCertificateOptions) SetCertificate(certificate string) *UpdateCustomCertificateOptions { + options.Certificate = core.StringPtr(certificate) + return options +} + +// SetPrivateKey : Allow user to set PrivateKey +func (options *UpdateCustomCertificateOptions) SetPrivateKey(privateKey string) *UpdateCustomCertificateOptions { + options.PrivateKey = core.StringPtr(privateKey) + return options +} + +// SetBundleMethod : Allow user to set BundleMethod +func (options *UpdateCustomCertificateOptions) SetBundleMethod(bundleMethod string) *UpdateCustomCertificateOptions { + options.BundleMethod = core.StringPtr(bundleMethod) + return options +} + +// SetGeoRestrictions : Allow user to set GeoRestrictions +func (options *UpdateCustomCertificateOptions) SetGeoRestrictions(geoRestrictions *CustomCertReqGeoRestrictions) *UpdateCustomCertificateOptions { + options.GeoRestrictions = geoRestrictions + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateCustomCertificateOptions) SetHeaders(param map[string]string) *UpdateCustomCertificateOptions { + options.Headers = param + return options +} + +// UploadCustomCertificateOptions : The UploadCustomCertificate options. +type UploadCustomCertificateOptions struct { + // certificates. + Certificate *string `json:"certificate,omitempty"` + + // private key. + PrivateKey *string `json:"private_key,omitempty"` + + // Methods shown in UI mapping to API: Compatible(ubiquitous), Modern(optimal), User Defined(force). + BundleMethod *string `json:"bundle_method,omitempty"` + + // geo restrictions. + GeoRestrictions *CustomCertReqGeoRestrictions `json:"geo_restrictions,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UploadCustomCertificateOptions.BundleMethod property. +// Methods shown in UI mapping to API: Compatible(ubiquitous), Modern(optimal), User Defined(force). +const ( + UploadCustomCertificateOptions_BundleMethod_Force = "force" + UploadCustomCertificateOptions_BundleMethod_Optimal = "optimal" + UploadCustomCertificateOptions_BundleMethod_Ubiquitous = "ubiquitous" +) + +// NewUploadCustomCertificateOptions : Instantiate UploadCustomCertificateOptions +func (*SslCertificateApiV1) NewUploadCustomCertificateOptions() *UploadCustomCertificateOptions { + return &UploadCustomCertificateOptions{} +} + +// SetCertificate : Allow user to set Certificate +func (options *UploadCustomCertificateOptions) SetCertificate(certificate string) *UploadCustomCertificateOptions { + options.Certificate = core.StringPtr(certificate) + return options +} + +// SetPrivateKey : Allow user to set PrivateKey +func (options *UploadCustomCertificateOptions) SetPrivateKey(privateKey string) *UploadCustomCertificateOptions { + options.PrivateKey = core.StringPtr(privateKey) + return options +} + +// SetBundleMethod : Allow user to set BundleMethod +func (options *UploadCustomCertificateOptions) SetBundleMethod(bundleMethod string) *UploadCustomCertificateOptions { + options.BundleMethod = core.StringPtr(bundleMethod) + return options +} + +// SetGeoRestrictions : Allow user to set GeoRestrictions +func (options *UploadCustomCertificateOptions) SetGeoRestrictions(geoRestrictions *CustomCertReqGeoRestrictions) *UploadCustomCertificateOptions { + options.GeoRestrictions = geoRestrictions + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UploadCustomCertificateOptions) SetHeaders(param map[string]string) *UploadCustomCertificateOptions { + options.Headers = param + return options +} + +// Certificate : certificate. +type Certificate struct { + // identifier. + ID *int64 `json:"id" validate:"required"` + + // host name. + Hosts []string `json:"hosts" validate:"required"` + + // status. + Status *string `json:"status" validate:"required"` +} + + +// UnmarshalCertificate unmarshals an instance of Certificate from the specified map of raw messages. +func UnmarshalCertificate(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Certificate) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "hosts", &obj.Hosts) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CustomCertPack : custom certificate pack. +type CustomCertPack struct { + // identifier. + ID *string `json:"id" validate:"required"` + + // host name. + Hosts []string `json:"hosts" validate:"required"` + + // issuer. + Issuer *string `json:"issuer" validate:"required"` + + // signature. + Signature *string `json:"signature" validate:"required"` + + // status. + Status *string `json:"status" validate:"required"` + + // bundle method. + BundleMethod *string `json:"bundle_method" validate:"required"` + + // zone identifier. + ZoneID *string `json:"zone_id" validate:"required"` + + // uploaded date. + UploadedOn *string `json:"uploaded_on" validate:"required"` + + // modified date. + ModifiedOn *string `json:"modified_on" validate:"required"` + + // expire date. + ExpiresOn *string `json:"expires_on" validate:"required"` + + // priority. + Priority *float64 `json:"priority" validate:"required"` +} + + +// UnmarshalCustomCertPack unmarshals an instance of CustomCertPack from the specified map of raw messages. +func UnmarshalCustomCertPack(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CustomCertPack) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "hosts", &obj.Hosts) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "issuer", &obj.Issuer) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "signature", &obj.Signature) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "bundle_method", &obj.BundleMethod) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "zone_id", &obj.ZoneID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "uploaded_on", &obj.UploadedOn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "expires_on", &obj.ExpiresOn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "priority", &obj.Priority) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CustomCertResp : custom certificate response. +type CustomCertResp struct { + // custom certificate pack. + Result *CustomCertPack `json:"result" validate:"required"` + + // success. + Success *bool `json:"success" validate:"required"` + + // errors. + Errors [][]string `json:"errors" validate:"required"` + + // messages. + Messages []Tls12SettingRespMessagesItem `json:"messages" validate:"required"` +} + + +// UnmarshalCustomCertResp unmarshals an instance of CustomCertResp from the specified map of raw messages. +func UnmarshalCustomCertResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CustomCertResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalCustomCertPack) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalModel(m, "messages", &obj.Messages, UnmarshalTls12SettingRespMessagesItem) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// DedicatedCertificatePack : dedicated certificate packs. +type DedicatedCertificatePack struct { + // identifier. + ID *string `json:"id" validate:"required"` + + // certificate type. + Type *string `json:"type" validate:"required"` + + // host name. + Hosts []string `json:"hosts" validate:"required"` + + // certificates. + Certificates []Certificate `json:"certificates" validate:"required"` + + // primary certificate. + PrimaryCertificate *int64 `json:"primary_certificate" validate:"required"` + + // status. + Status *string `json:"status" validate:"required"` +} + + +// UnmarshalDedicatedCertificatePack unmarshals an instance of DedicatedCertificatePack from the specified map of raw messages. +func UnmarshalDedicatedCertificatePack(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(DedicatedCertificatePack) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "type", &obj.Type) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "hosts", &obj.Hosts) + if err != nil { + return + } + err = core.UnmarshalModel(m, "certificates", &obj.Certificates, UnmarshalCertificate) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "primary_certificate", &obj.PrimaryCertificate) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ListCertificateResp : certificate response. +type ListCertificateResp struct { + // certificate packs. + Result []DedicatedCertificatePack `json:"result" validate:"required"` + + // result information. + ResultInfo *ResultInfo `json:"result_info" validate:"required"` + + // success. + Success *bool `json:"success" validate:"required"` + + // errors. + Errors [][]string `json:"errors" validate:"required"` + + // messages. + Messages []Tls12SettingRespMessagesItem `json:"messages" validate:"required"` +} + + +// UnmarshalListCertificateResp unmarshals an instance of ListCertificateResp from the specified map of raw messages. +func UnmarshalListCertificateResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ListCertificateResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalDedicatedCertificatePack) + if err != nil { + return + } + err = core.UnmarshalModel(m, "result_info", &obj.ResultInfo, UnmarshalResultInfo) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalModel(m, "messages", &obj.Messages, UnmarshalTls12SettingRespMessagesItem) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ListCustomCertsResp : custom certificate response. +type ListCustomCertsResp struct { + // custom certificate packs. + Result []CustomCertPack `json:"result" validate:"required"` + + // result information. + ResultInfo *ResultInfo `json:"result_info" validate:"required"` + + // success. + Success *bool `json:"success" validate:"required"` + + // errors. + Errors [][]string `json:"errors" validate:"required"` + + // messages. + Messages []Tls12SettingRespMessagesItem `json:"messages" validate:"required"` +} + + +// UnmarshalListCustomCertsResp unmarshals an instance of ListCustomCertsResp from the specified map of raw messages. +func UnmarshalListCustomCertsResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ListCustomCertsResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalCustomCertPack) + if err != nil { + return + } + err = core.UnmarshalModel(m, "result_info", &obj.ResultInfo, UnmarshalResultInfo) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalModel(m, "messages", &obj.Messages, UnmarshalTls12SettingRespMessagesItem) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResultInfo : result information. +type ResultInfo struct { + // page number. + Page *int64 `json:"page" validate:"required"` + + // per page count. + PerPage *int64 `json:"per_page" validate:"required"` + + // count. + Count *int64 `json:"count" validate:"required"` + + // total count. + TotalCount *int64 `json:"total_count" validate:"required"` +} + + +// UnmarshalResultInfo unmarshals an instance of ResultInfo from the specified map of raw messages. +func UnmarshalResultInfo(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResultInfo) + err = core.UnmarshalPrimitive(m, "page", &obj.Page) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "per_page", &obj.PerPage) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "count", &obj.Count) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "total_count", &obj.TotalCount) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SslSetting : ssl setting. +type SslSetting struct { + // identifier. + ID *string `json:"id" validate:"required"` + + // value. + Value *string `json:"value" validate:"required"` + + // editable. + Editable *bool `json:"editable" validate:"required"` + + // modified date. + ModifiedOn *string `json:"modified_on" validate:"required"` +} + + +// UnmarshalSslSetting unmarshals an instance of SslSetting from the specified map of raw messages. +func UnmarshalSslSetting(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SslSetting) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SslSettingResp : ssl setting response. +type SslSettingResp struct { + // success. + Success *bool `json:"success" validate:"required"` + + // ssl setting. + Result *SslSetting `json:"result" validate:"required"` + + // errors. + Errors [][]string `json:"errors" validate:"required"` + + // messages. + Messages []Tls12SettingRespMessagesItem `json:"messages" validate:"required"` +} + + +// UnmarshalSslSettingResp unmarshals an instance of SslSettingResp from the specified map of raw messages. +func UnmarshalSslSettingResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SslSettingResp) + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalSslSetting) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalModel(m, "messages", &obj.Messages, UnmarshalTls12SettingRespMessagesItem) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Tls12SettingResp : tls 1.2 setting response. +type Tls12SettingResp struct { + // result. + Result *Tls12SettingRespResult `json:"result" validate:"required"` + + // success. + Success *bool `json:"success" validate:"required"` + + // errors. + Errors [][]string `json:"errors" validate:"required"` + + // messages. + Messages []Tls12SettingRespMessagesItem `json:"messages" validate:"required"` +} + + +// UnmarshalTls12SettingResp unmarshals an instance of Tls12SettingResp from the specified map of raw messages. +func UnmarshalTls12SettingResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Tls12SettingResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalTls12SettingRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalModel(m, "messages", &obj.Messages, UnmarshalTls12SettingRespMessagesItem) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Tls13SettingResp : tls 1.3 setting response. +type Tls13SettingResp struct { + // result. + Result *Tls13SettingRespResult `json:"result" validate:"required"` + + // success. + Success *bool `json:"success" validate:"required"` + + // errors. + Errors [][]string `json:"errors" validate:"required"` + + // messages. + Messages []Tls12SettingRespMessagesItem `json:"messages" validate:"required"` +} + + +// UnmarshalTls13SettingResp unmarshals an instance of Tls13SettingResp from the specified map of raw messages. +func UnmarshalTls13SettingResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Tls13SettingResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalTls13SettingRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalModel(m, "messages", &obj.Messages, UnmarshalTls12SettingRespMessagesItem) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// UniversalSettingResp : universal setting response. +type UniversalSettingResp struct { + // result. + Result *UniversalSettingRespResult `json:"result" validate:"required"` + + // success. + Success *bool `json:"success" validate:"required"` + + // errors. + Errors [][]string `json:"errors" validate:"required"` + + // messages. + Messages []Tls12SettingRespMessagesItem `json:"messages" validate:"required"` +} + + +// UnmarshalUniversalSettingResp unmarshals an instance of UniversalSettingResp from the specified map of raw messages. +func UnmarshalUniversalSettingResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(UniversalSettingResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalUniversalSettingRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalModel(m, "messages", &obj.Messages, UnmarshalTls12SettingRespMessagesItem) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} diff --git a/vendor/github.com/IBM/networking-go-sdk/zonessettingsv1/zones_settings_v1.go b/vendor/github.com/IBM/networking-go-sdk/zonessettingsv1/zones_settings_v1.go new file mode 100644 index 0000000000..313162ab08 --- /dev/null +++ b/vendor/github.com/IBM/networking-go-sdk/zonessettingsv1/zones_settings_v1.go @@ -0,0 +1,7182 @@ +/** + * (C) Copyright IBM Corp. 2020. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Package zonessettingsv1 : Operations and models for the ZonesSettingsV1 service +package zonessettingsv1 + +import ( + "encoding/json" + "github.com/IBM/go-sdk-core/v4/core" + "github.com/go-openapi/strfmt" + common "github.com/IBM/networking-go-sdk/common" + "reflect" +) + +// ZonesSettingsV1 : CIS Zones Settings +// +// Version: 1.0.1 +type ZonesSettingsV1 struct { + Service *core.BaseService + + // Full url-encoded cloud resource name (CRN) of resource instance. + Crn *string + + // Zone identifier. + ZoneIdentifier *string +} + +// DefaultServiceURL is the default URL to make service requests to. +const DefaultServiceURL = "https://api.cis.cloud.ibm.com" + +// DefaultServiceName is the default key used to find external configuration information. +const DefaultServiceName = "zones_settings" + +// ZonesSettingsV1Options : Service options +type ZonesSettingsV1Options struct { + ServiceName string + URL string + Authenticator core.Authenticator + + // Full url-encoded cloud resource name (CRN) of resource instance. + Crn *string `validate:"required"` + + // Zone identifier. + ZoneIdentifier *string `validate:"required"` +} + +// NewZonesSettingsV1UsingExternalConfig : constructs an instance of ZonesSettingsV1 with passed in options and external configuration. +func NewZonesSettingsV1UsingExternalConfig(options *ZonesSettingsV1Options) (zonesSettings *ZonesSettingsV1, err error) { + if options.ServiceName == "" { + options.ServiceName = DefaultServiceName + } + + if options.Authenticator == nil { + options.Authenticator, err = core.GetAuthenticatorFromEnvironment(options.ServiceName) + if err != nil { + return + } + } + + zonesSettings, err = NewZonesSettingsV1(options) + if err != nil { + return + } + + err = zonesSettings.Service.ConfigureService(options.ServiceName) + if err != nil { + return + } + + if options.URL != "" { + err = zonesSettings.Service.SetServiceURL(options.URL) + } + return +} + +// NewZonesSettingsV1 : constructs an instance of ZonesSettingsV1 with passed in options. +func NewZonesSettingsV1(options *ZonesSettingsV1Options) (service *ZonesSettingsV1, err error) { + serviceOptions := &core.ServiceOptions{ + URL: DefaultServiceURL, + Authenticator: options.Authenticator, + } + + err = core.ValidateStruct(options, "options") + if err != nil { + return + } + + baseService, err := core.NewBaseService(serviceOptions) + if err != nil { + return + } + + if options.URL != "" { + err = baseService.SetServiceURL(options.URL) + if err != nil { + return + } + } + + service = &ZonesSettingsV1{ + Service: baseService, + Crn: options.Crn, + ZoneIdentifier: options.ZoneIdentifier, + } + + return +} + +// SetServiceURL sets the service URL +func (zonesSettings *ZonesSettingsV1) SetServiceURL(url string) error { + return zonesSettings.Service.SetServiceURL(url) +} + +// GetZoneDnssec : Get zone DNSSEC +// Get DNSSEC setting for a given zone. +func (zonesSettings *ZonesSettingsV1) GetZoneDnssec(getZoneDnssecOptions *GetZoneDnssecOptions) (result *ZonesDnssecResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getZoneDnssecOptions, "getZoneDnssecOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "dnssec"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getZoneDnssecOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetZoneDnssec") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalZonesDnssecResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateZoneDnssec : Update zone DNSSEC +// Update DNSSEC setting for given zone. +func (zonesSettings *ZonesSettingsV1) UpdateZoneDnssec(updateZoneDnssecOptions *UpdateZoneDnssecOptions) (result *ZonesDnssecResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateZoneDnssecOptions, "updateZoneDnssecOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "dnssec"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateZoneDnssecOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateZoneDnssec") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateZoneDnssecOptions.Status != nil { + body["status"] = updateZoneDnssecOptions.Status + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalZonesDnssecResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetZoneCnameFlattening : Get zone CNAME flattening +// Get CNAME flattening setting for a given zone. +func (zonesSettings *ZonesSettingsV1) GetZoneCnameFlattening(getZoneCnameFlatteningOptions *GetZoneCnameFlatteningOptions) (result *ZonesCnameFlatteningResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getZoneCnameFlatteningOptions, "getZoneCnameFlatteningOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/cname_flattening"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getZoneCnameFlatteningOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetZoneCnameFlattening") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalZonesCnameFlatteningResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateZoneCnameFlattening : Update zone CNAME flattening +// Update CNAME flattening setting for given zone. +func (zonesSettings *ZonesSettingsV1) UpdateZoneCnameFlattening(updateZoneCnameFlatteningOptions *UpdateZoneCnameFlatteningOptions) (result *ZonesCnameFlatteningResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateZoneCnameFlatteningOptions, "updateZoneCnameFlatteningOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/cname_flattening"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateZoneCnameFlatteningOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateZoneCnameFlattening") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateZoneCnameFlatteningOptions.Value != nil { + body["value"] = updateZoneCnameFlatteningOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalZonesCnameFlatteningResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetOpportunisticEncryption : Get opportunistic encryption setting +// Get opportunistic encryption setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetOpportunisticEncryption(getOpportunisticEncryptionOptions *GetOpportunisticEncryptionOptions) (result *OpportunisticEncryptionResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getOpportunisticEncryptionOptions, "getOpportunisticEncryptionOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/opportunistic_encryption"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getOpportunisticEncryptionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetOpportunisticEncryption") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalOpportunisticEncryptionResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateOpportunisticEncryption : Update opportunistic encryption setting +// Update opportunistic encryption setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateOpportunisticEncryption(updateOpportunisticEncryptionOptions *UpdateOpportunisticEncryptionOptions) (result *OpportunisticEncryptionResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateOpportunisticEncryptionOptions, "updateOpportunisticEncryptionOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/opportunistic_encryption"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateOpportunisticEncryptionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateOpportunisticEncryption") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateOpportunisticEncryptionOptions.Value != nil { + body["value"] = updateOpportunisticEncryptionOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalOpportunisticEncryptionResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetChallengeTTL : Get challenge TTL setting +// Get challenge TTL setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetChallengeTTL(getChallengeTtlOptions *GetChallengeTtlOptions) (result *ChallengeTtlResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getChallengeTtlOptions, "getChallengeTtlOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/challenge_ttl"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getChallengeTtlOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetChallengeTTL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalChallengeTtlResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateChallengeTTL : Update challenge TTL setting +// Update challenge TTL setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateChallengeTTL(updateChallengeTtlOptions *UpdateChallengeTtlOptions) (result *ChallengeTtlResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateChallengeTtlOptions, "updateChallengeTtlOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/challenge_ttl"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateChallengeTtlOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateChallengeTTL") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateChallengeTtlOptions.Value != nil { + body["value"] = updateChallengeTtlOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalChallengeTtlResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetAutomaticHttpsRewrites : Get automatic https rewrites setting +// Get automatic https rewrites setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetAutomaticHttpsRewrites(getAutomaticHttpsRewritesOptions *GetAutomaticHttpsRewritesOptions) (result *AutomaticHttpsRewritesResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getAutomaticHttpsRewritesOptions, "getAutomaticHttpsRewritesOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/automatic_https_rewrites"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getAutomaticHttpsRewritesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetAutomaticHttpsRewrites") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalAutomaticHttpsRewritesResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateAutomaticHttpsRewrites : Update automatic https rewrites setting +// Update automatic https rewrites setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateAutomaticHttpsRewrites(updateAutomaticHttpsRewritesOptions *UpdateAutomaticHttpsRewritesOptions) (result *AutomaticHttpsRewritesResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateAutomaticHttpsRewritesOptions, "updateAutomaticHttpsRewritesOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/automatic_https_rewrites"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateAutomaticHttpsRewritesOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateAutomaticHttpsRewrites") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateAutomaticHttpsRewritesOptions.Value != nil { + body["value"] = updateAutomaticHttpsRewritesOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalAutomaticHttpsRewritesResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetTrueClientIp : Get true client IP setting +// Get true client IP setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetTrueClientIp(getTrueClientIpOptions *GetTrueClientIpOptions) (result *TrueClientIpResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getTrueClientIpOptions, "getTrueClientIpOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/true_client_ip_header"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getTrueClientIpOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetTrueClientIp") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTrueClientIpResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateTrueClientIp : Update true client IP setting +// Update true client IP setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateTrueClientIp(updateTrueClientIpOptions *UpdateTrueClientIpOptions) (result *TrueClientIpResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateTrueClientIpOptions, "updateTrueClientIpOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/true_client_ip_header"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateTrueClientIpOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateTrueClientIp") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateTrueClientIpOptions.Value != nil { + body["value"] = updateTrueClientIpOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTrueClientIpResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetAlwaysUseHttps : Get always use https setting +// Get always use https setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetAlwaysUseHttps(getAlwaysUseHttpsOptions *GetAlwaysUseHttpsOptions) (result *AlwaysUseHttpsResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getAlwaysUseHttpsOptions, "getAlwaysUseHttpsOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/always_use_https"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getAlwaysUseHttpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetAlwaysUseHttps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalAlwaysUseHttpsResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateAlwaysUseHttps : Update always use https setting +// Update always use https setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateAlwaysUseHttps(updateAlwaysUseHttpsOptions *UpdateAlwaysUseHttpsOptions) (result *AlwaysUseHttpsResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateAlwaysUseHttpsOptions, "updateAlwaysUseHttpsOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/always_use_https"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateAlwaysUseHttpsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateAlwaysUseHttps") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateAlwaysUseHttpsOptions.Value != nil { + body["value"] = updateAlwaysUseHttpsOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalAlwaysUseHttpsResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetImageSizeOptimization : Get image size optimization setting +// Get image size optimization setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetImageSizeOptimization(getImageSizeOptimizationOptions *GetImageSizeOptimizationOptions) (result *ImageSizeOptimizationResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getImageSizeOptimizationOptions, "getImageSizeOptimizationOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/image_size_optimization"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getImageSizeOptimizationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetImageSizeOptimization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageSizeOptimizationResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateImageSizeOptimization : Update image size optimization setting +// Update image size optimization setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateImageSizeOptimization(updateImageSizeOptimizationOptions *UpdateImageSizeOptimizationOptions) (result *ImageSizeOptimizationResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateImageSizeOptimizationOptions, "updateImageSizeOptimizationOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/image_size_optimization"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateImageSizeOptimizationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateImageSizeOptimization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateImageSizeOptimizationOptions.Value != nil { + body["value"] = updateImageSizeOptimizationOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageSizeOptimizationResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetScriptLoadOptimization : Get script load optimization setting +// Get script load optimization setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetScriptLoadOptimization(getScriptLoadOptimizationOptions *GetScriptLoadOptimizationOptions) (result *ScriptLoadOptimizationResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getScriptLoadOptimizationOptions, "getScriptLoadOptimizationOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/script_load_optimization"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getScriptLoadOptimizationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetScriptLoadOptimization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalScriptLoadOptimizationResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateScriptLoadOptimization : Update script load optimization setting +// Update script load optimization setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateScriptLoadOptimization(updateScriptLoadOptimizationOptions *UpdateScriptLoadOptimizationOptions) (result *ScriptLoadOptimizationResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateScriptLoadOptimizationOptions, "updateScriptLoadOptimizationOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/script_load_optimization"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateScriptLoadOptimizationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateScriptLoadOptimization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateScriptLoadOptimizationOptions.Value != nil { + body["value"] = updateScriptLoadOptimizationOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalScriptLoadOptimizationResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetImageLoadOptimization : Get image load optimizationn setting +// Get image load optimizationn setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetImageLoadOptimization(getImageLoadOptimizationOptions *GetImageLoadOptimizationOptions) (result *ImageLoadOptimizationResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getImageLoadOptimizationOptions, "getImageLoadOptimizationOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/image_load_optimization"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getImageLoadOptimizationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetImageLoadOptimization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageLoadOptimizationResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateImageLoadOptimization : Update image load optimizationn setting +// Update image load optimizationn setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateImageLoadOptimization(updateImageLoadOptimizationOptions *UpdateImageLoadOptimizationOptions) (result *ImageLoadOptimizationResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateImageLoadOptimizationOptions, "updateImageLoadOptimizationOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/image_load_optimization"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateImageLoadOptimizationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateImageLoadOptimization") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateImageLoadOptimizationOptions.Value != nil { + body["value"] = updateImageLoadOptimizationOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalImageLoadOptimizationResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetMinify : Get minify setting +// Get minify setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetMinify(getMinifyOptions *GetMinifyOptions) (result *MinifyResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getMinifyOptions, "getMinifyOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/minify"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getMinifyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetMinify") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalMinifyResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateMinify : Update minify setting +// Update minify setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateMinify(updateMinifyOptions *UpdateMinifyOptions) (result *MinifyResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateMinifyOptions, "updateMinifyOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/minify"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateMinifyOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateMinify") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateMinifyOptions.Value != nil { + body["value"] = updateMinifyOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalMinifyResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetMinTlsVersion : Get minimum TLS version setting +// Get minimum TLS version setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetMinTlsVersion(getMinTlsVersionOptions *GetMinTlsVersionOptions) (result *MinTlsVersionResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getMinTlsVersionOptions, "getMinTlsVersionOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/min_tls_version"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getMinTlsVersionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetMinTlsVersion") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalMinTlsVersionResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateMinTlsVersion : Update minimum TLS version setting +// Update minimum TLS version setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateMinTlsVersion(updateMinTlsVersionOptions *UpdateMinTlsVersionOptions) (result *MinTlsVersionResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateMinTlsVersionOptions, "updateMinTlsVersionOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/min_tls_version"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateMinTlsVersionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateMinTlsVersion") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateMinTlsVersionOptions.Value != nil { + body["value"] = updateMinTlsVersionOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalMinTlsVersionResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetIpGeolocation : Get IP geolocation setting +// Get IP geolocation setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetIpGeolocation(getIpGeolocationOptions *GetIpGeolocationOptions) (result *IpGeolocationResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getIpGeolocationOptions, "getIpGeolocationOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/ip_geolocation"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getIpGeolocationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetIpGeolocation") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIpGeolocationResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateIpGeolocation : Update IP geolocation setting +// Update IP geolocation setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateIpGeolocation(updateIpGeolocationOptions *UpdateIpGeolocationOptions) (result *IpGeolocationResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateIpGeolocationOptions, "updateIpGeolocationOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/ip_geolocation"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateIpGeolocationOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateIpGeolocation") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateIpGeolocationOptions.Value != nil { + body["value"] = updateIpGeolocationOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIpGeolocationResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetServerSideExclude : Get server side exclude setting +// Get server side exclude setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetServerSideExclude(getServerSideExcludeOptions *GetServerSideExcludeOptions) (result *ServerSideExcludeResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getServerSideExcludeOptions, "getServerSideExcludeOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/server_side_exclude"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getServerSideExcludeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetServerSideExclude") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalServerSideExcludeResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateServerSideExclude : Update server side exclude setting +// Update server side exclude setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateServerSideExclude(updateServerSideExcludeOptions *UpdateServerSideExcludeOptions) (result *ServerSideExcludeResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateServerSideExcludeOptions, "updateServerSideExcludeOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/server_side_exclude"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateServerSideExcludeOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateServerSideExclude") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateServerSideExcludeOptions.Value != nil { + body["value"] = updateServerSideExcludeOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalServerSideExcludeResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetSecurityHeader : Get HTTP strict transport security setting +// Get HTTP strict transport security setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetSecurityHeader(getSecurityHeaderOptions *GetSecurityHeaderOptions) (result *SecurityHeaderResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getSecurityHeaderOptions, "getSecurityHeaderOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/security_header"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getSecurityHeaderOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetSecurityHeader") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityHeaderResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateSecurityHeader : Update HTTP strict transport security setting +// Update HTTP strict transport security setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateSecurityHeader(updateSecurityHeaderOptions *UpdateSecurityHeaderOptions) (result *SecurityHeaderResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateSecurityHeaderOptions, "updateSecurityHeaderOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/security_header"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateSecurityHeaderOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateSecurityHeader") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateSecurityHeaderOptions.Value != nil { + body["value"] = updateSecurityHeaderOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalSecurityHeaderResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetMobileRedirect : Get mobile redirect setting +// Get mobile redirect setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetMobileRedirect(getMobileRedirectOptions *GetMobileRedirectOptions) (result *MobileRedirectResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getMobileRedirectOptions, "getMobileRedirectOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/mobile_redirect"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getMobileRedirectOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetMobileRedirect") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalMobileRedirectResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateMobileRedirect : Update mobile redirect setting +// Update mobile redirect setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateMobileRedirect(updateMobileRedirectOptions *UpdateMobileRedirectOptions) (result *MobileRedirectResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateMobileRedirectOptions, "updateMobileRedirectOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/mobile_redirect"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateMobileRedirectOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateMobileRedirect") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateMobileRedirectOptions.Value != nil { + body["value"] = updateMobileRedirectOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalMobileRedirectResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetPrefetchPreload : Get prefetch URLs from header setting +// Get prefetch URLs from header setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetPrefetchPreload(getPrefetchPreloadOptions *GetPrefetchPreloadOptions) (result *PrefetchPreloadResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getPrefetchPreloadOptions, "getPrefetchPreloadOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/prefetch_preload"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getPrefetchPreloadOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetPrefetchPreload") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefetchPreloadResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdatePrefetchPreload : Update prefetch URLs from header setting +// Update prefetch URLs from header setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdatePrefetchPreload(updatePrefetchPreloadOptions *UpdatePrefetchPreloadOptions) (result *PrefetchPreloadResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updatePrefetchPreloadOptions, "updatePrefetchPreloadOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/prefetch_preload"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updatePrefetchPreloadOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdatePrefetchPreload") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updatePrefetchPreloadOptions.Value != nil { + body["value"] = updatePrefetchPreloadOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefetchPreloadResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetHttp2 : Get http/2 setting +// Get http/2 setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetHttp2(getHttp2Options *GetHttp2Options) (result *Http2Resp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getHttp2Options, "getHttp2Options") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/http2"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getHttp2Options.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetHttp2") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalHttp2Resp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateHttp2 : Update http/2 setting +// Update http/2 setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateHttp2(updateHttp2Options *UpdateHttp2Options) (result *Http2Resp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateHttp2Options, "updateHttp2Options") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/http2"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateHttp2Options.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateHttp2") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateHttp2Options.Value != nil { + body["value"] = updateHttp2Options.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalHttp2Resp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetIpv6 : Get IPv6 compatibility setting +// Get IPv6 compatibility setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetIpv6(getIpv6Options *GetIpv6Options) (result *Ipv6Resp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getIpv6Options, "getIpv6Options") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/ipv6"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getIpv6Options.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetIpv6") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIpv6Resp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateIpv6 : Update IPv6 compatibility setting +// Update IPv6 compatibility setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateIpv6(updateIpv6Options *UpdateIpv6Options) (result *Ipv6Resp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateIpv6Options, "updateIpv6Options") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/ipv6"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateIpv6Options.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateIpv6") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateIpv6Options.Value != nil { + body["value"] = updateIpv6Options.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalIpv6Resp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetWebSockets : Get web sockets setting +// Get web sockets setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetWebSockets(getWebSocketsOptions *GetWebSocketsOptions) (result *WebsocketsResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getWebSocketsOptions, "getWebSocketsOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/websockets"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getWebSocketsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetWebSockets") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalWebsocketsResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateWebSockets : Update web sockets setting +// Update web sockets setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateWebSockets(updateWebSocketsOptions *UpdateWebSocketsOptions) (result *WebsocketsResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateWebSocketsOptions, "updateWebSocketsOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/websockets"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateWebSocketsOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateWebSockets") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateWebSocketsOptions.Value != nil { + body["value"] = updateWebSocketsOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalWebsocketsResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetPseudoIpv4 : Get pseudo IPv4 setting +// Get pseudo IPv4 setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetPseudoIpv4(getPseudoIpv4Options *GetPseudoIpv4Options) (result *PseudoIpv4Resp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getPseudoIpv4Options, "getPseudoIpv4Options") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/pseudo_ipv4"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getPseudoIpv4Options.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetPseudoIpv4") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPseudoIpv4Resp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdatePseudoIpv4 : Update pseudo IPv4 setting +// Update pseudo IPv4 setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdatePseudoIpv4(updatePseudoIpv4Options *UpdatePseudoIpv4Options) (result *PseudoIpv4Resp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updatePseudoIpv4Options, "updatePseudoIpv4Options") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/pseudo_ipv4"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updatePseudoIpv4Options.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdatePseudoIpv4") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updatePseudoIpv4Options.Value != nil { + body["value"] = updatePseudoIpv4Options.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPseudoIpv4Resp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetResponseBuffering : Get response buffering setting +// Get response buffering setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetResponseBuffering(getResponseBufferingOptions *GetResponseBufferingOptions) (result *ResponseBufferingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getResponseBufferingOptions, "getResponseBufferingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/response_buffering"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getResponseBufferingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetResponseBuffering") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResponseBufferingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateResponseBuffering : Update response buffering setting +// Update response buffering setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateResponseBuffering(updateResponseBufferingOptions *UpdateResponseBufferingOptions) (result *ResponseBufferingResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateResponseBufferingOptions, "updateResponseBufferingOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/response_buffering"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateResponseBufferingOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateResponseBuffering") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateResponseBufferingOptions.Value != nil { + body["value"] = updateResponseBufferingOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalResponseBufferingResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetHotlinkProtection : Get hotlink protection setting +// Get hotlink protection setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetHotlinkProtection(getHotlinkProtectionOptions *GetHotlinkProtectionOptions) (result *HotlinkProtectionResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getHotlinkProtectionOptions, "getHotlinkProtectionOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/hotlink_protection"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getHotlinkProtectionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetHotlinkProtection") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalHotlinkProtectionResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateHotlinkProtection : Update hotlink protection setting +// Update hotlink protection setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateHotlinkProtection(updateHotlinkProtectionOptions *UpdateHotlinkProtectionOptions) (result *HotlinkProtectionResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateHotlinkProtectionOptions, "updateHotlinkProtectionOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/hotlink_protection"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateHotlinkProtectionOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateHotlinkProtection") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateHotlinkProtectionOptions.Value != nil { + body["value"] = updateHotlinkProtectionOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalHotlinkProtectionResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetMaxUpload : Get maximum upload size setting +// Get maximum upload size setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetMaxUpload(getMaxUploadOptions *GetMaxUploadOptions) (result *MaxUploadResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getMaxUploadOptions, "getMaxUploadOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/max_upload"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getMaxUploadOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetMaxUpload") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalMaxUploadResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateMaxUpload : Update maximum upload size setting +// Update maximum upload size setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateMaxUpload(updateMaxUploadOptions *UpdateMaxUploadOptions) (result *MaxUploadResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateMaxUploadOptions, "updateMaxUploadOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/max_upload"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateMaxUploadOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateMaxUpload") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateMaxUploadOptions.Value != nil { + body["value"] = updateMaxUploadOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalMaxUploadResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetTlsClientAuth : Get TLS Client Auth setting +// Get TLS Client Auth setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetTlsClientAuth(getTlsClientAuthOptions *GetTlsClientAuthOptions) (result *TlsClientAuthResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getTlsClientAuthOptions, "getTlsClientAuthOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/tls_client_auth"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getTlsClientAuthOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetTlsClientAuth") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTlsClientAuthResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateTlsClientAuth : Update TLS Client Auth setting +// Update TLS Client Auth setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateTlsClientAuth(updateTlsClientAuthOptions *UpdateTlsClientAuthOptions) (result *TlsClientAuthResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateTlsClientAuthOptions, "updateTlsClientAuthOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/tls_client_auth"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateTlsClientAuthOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateTlsClientAuth") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateTlsClientAuthOptions.Value != nil { + body["value"] = updateTlsClientAuthOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTlsClientAuthResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetBrowserCheck : Get browser check setting +// Get browser check setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetBrowserCheck(getBrowserCheckOptions *GetBrowserCheckOptions) (result *BrowserCheckResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getBrowserCheckOptions, "getBrowserCheckOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/browser_check"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getBrowserCheckOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetBrowserCheck") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBrowserCheckResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateBrowserCheck : Update browser check setting +// Update browser check setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateBrowserCheck(updateBrowserCheckOptions *UpdateBrowserCheckOptions) (result *BrowserCheckResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateBrowserCheckOptions, "updateBrowserCheckOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/browser_check"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateBrowserCheckOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateBrowserCheck") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateBrowserCheckOptions.Value != nil { + body["value"] = updateBrowserCheckOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalBrowserCheckResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetEnableErrorPagesOn : Get enable error pages on setting +// Get enable error pages on setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetEnableErrorPagesOn(getEnableErrorPagesOnOptions *GetEnableErrorPagesOnOptions) (result *OriginErrorPagePassThruResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getEnableErrorPagesOnOptions, "getEnableErrorPagesOnOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/origin_error_page_pass_thru"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getEnableErrorPagesOnOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetEnableErrorPagesOn") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalOriginErrorPagePassThruResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateEnableErrorPagesOn : Update enable error pages on setting +// Update enable error pages on setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateEnableErrorPagesOn(updateEnableErrorPagesOnOptions *UpdateEnableErrorPagesOnOptions) (result *OriginErrorPagePassThruResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateEnableErrorPagesOnOptions, "updateEnableErrorPagesOnOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/origin_error_page_pass_thru"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateEnableErrorPagesOnOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateEnableErrorPagesOn") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateEnableErrorPagesOnOptions.Value != nil { + body["value"] = updateEnableErrorPagesOnOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalOriginErrorPagePassThruResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetWebApplicationFirewall : Get web application firewall setting +// Get web application firewall setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetWebApplicationFirewall(getWebApplicationFirewallOptions *GetWebApplicationFirewallOptions) (result *WafResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getWebApplicationFirewallOptions, "getWebApplicationFirewallOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/waf"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getWebApplicationFirewallOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetWebApplicationFirewall") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalWafResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateWebApplicationFirewall : Update web application firewall setting +// A Web Application Firewall (WAF) blocks requests that contain malicious content. +func (zonesSettings *ZonesSettingsV1) UpdateWebApplicationFirewall(updateWebApplicationFirewallOptions *UpdateWebApplicationFirewallOptions) (result *WafResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateWebApplicationFirewallOptions, "updateWebApplicationFirewallOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/waf"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateWebApplicationFirewallOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateWebApplicationFirewall") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateWebApplicationFirewallOptions.Value != nil { + body["value"] = updateWebApplicationFirewallOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalWafResp) + if err != nil { + return + } + response.Result = result + + return +} + +// GetCiphers : Get ciphers setting +// Get ciphers setting for a zone. +func (zonesSettings *ZonesSettingsV1) GetCiphers(getCiphersOptions *GetCiphersOptions) (result *CiphersResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(getCiphersOptions, "getCiphersOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/ciphers"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.GET) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range getCiphersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "GetCiphers") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalCiphersResp) + if err != nil { + return + } + response.Result = result + + return +} + +// UpdateCiphers : Update ciphers setting +// Update ciphers setting for a zone. +func (zonesSettings *ZonesSettingsV1) UpdateCiphers(updateCiphersOptions *UpdateCiphersOptions) (result *CiphersResp, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(updateCiphersOptions, "updateCiphersOptions") + if err != nil { + return + } + + pathSegments := []string{"v1", "zones", "settings/ciphers"} + pathParameters := []string{*zonesSettings.Crn, *zonesSettings.ZoneIdentifier} + + builder := core.NewRequestBuilder(core.PATCH) + _, err = builder.ConstructHTTPURL(zonesSettings.Service.Options.URL, pathSegments, pathParameters) + if err != nil { + return + } + + for headerName, headerValue := range updateCiphersOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("zones_settings", "V1", "UpdateCiphers") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + body := make(map[string]interface{}) + if updateCiphersOptions.Value != nil { + body["value"] = updateCiphersOptions.Value + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = zonesSettings.Service.Request(request, &rawResponse) + if err != nil { + return + } + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalCiphersResp) + if err != nil { + return + } + response.Result = result + + return +} + +// AlwaysUseHttpsRespResult : Container for response information. +type AlwaysUseHttpsRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalAlwaysUseHttpsRespResult unmarshals an instance of AlwaysUseHttpsRespResult from the specified map of raw messages. +func UnmarshalAlwaysUseHttpsRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AlwaysUseHttpsRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AutomaticHttpsRewritesRespResult : Container for response information. +type AutomaticHttpsRewritesRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalAutomaticHttpsRewritesRespResult unmarshals an instance of AutomaticHttpsRewritesRespResult from the specified map of raw messages. +func UnmarshalAutomaticHttpsRewritesRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AutomaticHttpsRewritesRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BrowserCheckRespResult : Container for response information. +type BrowserCheckRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalBrowserCheckRespResult unmarshals an instance of BrowserCheckRespResult from the specified map of raw messages. +func UnmarshalBrowserCheckRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BrowserCheckRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ChallengeTtlRespResult : Container for response information. +type ChallengeTtlRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *int64 `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalChallengeTtlRespResult unmarshals an instance of ChallengeTtlRespResult from the specified map of raw messages. +func UnmarshalChallengeTtlRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ChallengeTtlRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CiphersRespResult : Container for response information. +type CiphersRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value []string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalCiphersRespResult unmarshals an instance of CiphersRespResult from the specified map of raw messages. +func UnmarshalCiphersRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CiphersRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// GetAlwaysUseHttpsOptions : The GetAlwaysUseHttps options. +type GetAlwaysUseHttpsOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetAlwaysUseHttpsOptions : Instantiate GetAlwaysUseHttpsOptions +func (*ZonesSettingsV1) NewGetAlwaysUseHttpsOptions() *GetAlwaysUseHttpsOptions { + return &GetAlwaysUseHttpsOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetAlwaysUseHttpsOptions) SetHeaders(param map[string]string) *GetAlwaysUseHttpsOptions { + options.Headers = param + return options +} + +// GetAutomaticHttpsRewritesOptions : The GetAutomaticHttpsRewrites options. +type GetAutomaticHttpsRewritesOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetAutomaticHttpsRewritesOptions : Instantiate GetAutomaticHttpsRewritesOptions +func (*ZonesSettingsV1) NewGetAutomaticHttpsRewritesOptions() *GetAutomaticHttpsRewritesOptions { + return &GetAutomaticHttpsRewritesOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetAutomaticHttpsRewritesOptions) SetHeaders(param map[string]string) *GetAutomaticHttpsRewritesOptions { + options.Headers = param + return options +} + +// GetBrowserCheckOptions : The GetBrowserCheck options. +type GetBrowserCheckOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetBrowserCheckOptions : Instantiate GetBrowserCheckOptions +func (*ZonesSettingsV1) NewGetBrowserCheckOptions() *GetBrowserCheckOptions { + return &GetBrowserCheckOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetBrowserCheckOptions) SetHeaders(param map[string]string) *GetBrowserCheckOptions { + options.Headers = param + return options +} + +// GetChallengeTtlOptions : The GetChallengeTTL options. +type GetChallengeTtlOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetChallengeTtlOptions : Instantiate GetChallengeTtlOptions +func (*ZonesSettingsV1) NewGetChallengeTtlOptions() *GetChallengeTtlOptions { + return &GetChallengeTtlOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetChallengeTtlOptions) SetHeaders(param map[string]string) *GetChallengeTtlOptions { + options.Headers = param + return options +} + +// GetCiphersOptions : The GetCiphers options. +type GetCiphersOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetCiphersOptions : Instantiate GetCiphersOptions +func (*ZonesSettingsV1) NewGetCiphersOptions() *GetCiphersOptions { + return &GetCiphersOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetCiphersOptions) SetHeaders(param map[string]string) *GetCiphersOptions { + options.Headers = param + return options +} + +// GetEnableErrorPagesOnOptions : The GetEnableErrorPagesOn options. +type GetEnableErrorPagesOnOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetEnableErrorPagesOnOptions : Instantiate GetEnableErrorPagesOnOptions +func (*ZonesSettingsV1) NewGetEnableErrorPagesOnOptions() *GetEnableErrorPagesOnOptions { + return &GetEnableErrorPagesOnOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetEnableErrorPagesOnOptions) SetHeaders(param map[string]string) *GetEnableErrorPagesOnOptions { + options.Headers = param + return options +} + +// GetHotlinkProtectionOptions : The GetHotlinkProtection options. +type GetHotlinkProtectionOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetHotlinkProtectionOptions : Instantiate GetHotlinkProtectionOptions +func (*ZonesSettingsV1) NewGetHotlinkProtectionOptions() *GetHotlinkProtectionOptions { + return &GetHotlinkProtectionOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetHotlinkProtectionOptions) SetHeaders(param map[string]string) *GetHotlinkProtectionOptions { + options.Headers = param + return options +} + +// GetHttp2Options : The GetHttp2 options. +type GetHttp2Options struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetHttp2Options : Instantiate GetHttp2Options +func (*ZonesSettingsV1) NewGetHttp2Options() *GetHttp2Options { + return &GetHttp2Options{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetHttp2Options) SetHeaders(param map[string]string) *GetHttp2Options { + options.Headers = param + return options +} + +// GetImageLoadOptimizationOptions : The GetImageLoadOptimization options. +type GetImageLoadOptimizationOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetImageLoadOptimizationOptions : Instantiate GetImageLoadOptimizationOptions +func (*ZonesSettingsV1) NewGetImageLoadOptimizationOptions() *GetImageLoadOptimizationOptions { + return &GetImageLoadOptimizationOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetImageLoadOptimizationOptions) SetHeaders(param map[string]string) *GetImageLoadOptimizationOptions { + options.Headers = param + return options +} + +// GetImageSizeOptimizationOptions : The GetImageSizeOptimization options. +type GetImageSizeOptimizationOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetImageSizeOptimizationOptions : Instantiate GetImageSizeOptimizationOptions +func (*ZonesSettingsV1) NewGetImageSizeOptimizationOptions() *GetImageSizeOptimizationOptions { + return &GetImageSizeOptimizationOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetImageSizeOptimizationOptions) SetHeaders(param map[string]string) *GetImageSizeOptimizationOptions { + options.Headers = param + return options +} + +// GetIpGeolocationOptions : The GetIpGeolocation options. +type GetIpGeolocationOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetIpGeolocationOptions : Instantiate GetIpGeolocationOptions +func (*ZonesSettingsV1) NewGetIpGeolocationOptions() *GetIpGeolocationOptions { + return &GetIpGeolocationOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetIpGeolocationOptions) SetHeaders(param map[string]string) *GetIpGeolocationOptions { + options.Headers = param + return options +} + +// GetIpv6Options : The GetIpv6 options. +type GetIpv6Options struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetIpv6Options : Instantiate GetIpv6Options +func (*ZonesSettingsV1) NewGetIpv6Options() *GetIpv6Options { + return &GetIpv6Options{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetIpv6Options) SetHeaders(param map[string]string) *GetIpv6Options { + options.Headers = param + return options +} + +// GetMaxUploadOptions : The GetMaxUpload options. +type GetMaxUploadOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetMaxUploadOptions : Instantiate GetMaxUploadOptions +func (*ZonesSettingsV1) NewGetMaxUploadOptions() *GetMaxUploadOptions { + return &GetMaxUploadOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetMaxUploadOptions) SetHeaders(param map[string]string) *GetMaxUploadOptions { + options.Headers = param + return options +} + +// GetMinTlsVersionOptions : The GetMinTlsVersion options. +type GetMinTlsVersionOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetMinTlsVersionOptions : Instantiate GetMinTlsVersionOptions +func (*ZonesSettingsV1) NewGetMinTlsVersionOptions() *GetMinTlsVersionOptions { + return &GetMinTlsVersionOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetMinTlsVersionOptions) SetHeaders(param map[string]string) *GetMinTlsVersionOptions { + options.Headers = param + return options +} + +// GetMinifyOptions : The GetMinify options. +type GetMinifyOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetMinifyOptions : Instantiate GetMinifyOptions +func (*ZonesSettingsV1) NewGetMinifyOptions() *GetMinifyOptions { + return &GetMinifyOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetMinifyOptions) SetHeaders(param map[string]string) *GetMinifyOptions { + options.Headers = param + return options +} + +// GetMobileRedirectOptions : The GetMobileRedirect options. +type GetMobileRedirectOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetMobileRedirectOptions : Instantiate GetMobileRedirectOptions +func (*ZonesSettingsV1) NewGetMobileRedirectOptions() *GetMobileRedirectOptions { + return &GetMobileRedirectOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetMobileRedirectOptions) SetHeaders(param map[string]string) *GetMobileRedirectOptions { + options.Headers = param + return options +} + +// GetOpportunisticEncryptionOptions : The GetOpportunisticEncryption options. +type GetOpportunisticEncryptionOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetOpportunisticEncryptionOptions : Instantiate GetOpportunisticEncryptionOptions +func (*ZonesSettingsV1) NewGetOpportunisticEncryptionOptions() *GetOpportunisticEncryptionOptions { + return &GetOpportunisticEncryptionOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetOpportunisticEncryptionOptions) SetHeaders(param map[string]string) *GetOpportunisticEncryptionOptions { + options.Headers = param + return options +} + +// GetPrefetchPreloadOptions : The GetPrefetchPreload options. +type GetPrefetchPreloadOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetPrefetchPreloadOptions : Instantiate GetPrefetchPreloadOptions +func (*ZonesSettingsV1) NewGetPrefetchPreloadOptions() *GetPrefetchPreloadOptions { + return &GetPrefetchPreloadOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetPrefetchPreloadOptions) SetHeaders(param map[string]string) *GetPrefetchPreloadOptions { + options.Headers = param + return options +} + +// GetPseudoIpv4Options : The GetPseudoIpv4 options. +type GetPseudoIpv4Options struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetPseudoIpv4Options : Instantiate GetPseudoIpv4Options +func (*ZonesSettingsV1) NewGetPseudoIpv4Options() *GetPseudoIpv4Options { + return &GetPseudoIpv4Options{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetPseudoIpv4Options) SetHeaders(param map[string]string) *GetPseudoIpv4Options { + options.Headers = param + return options +} + +// GetResponseBufferingOptions : The GetResponseBuffering options. +type GetResponseBufferingOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetResponseBufferingOptions : Instantiate GetResponseBufferingOptions +func (*ZonesSettingsV1) NewGetResponseBufferingOptions() *GetResponseBufferingOptions { + return &GetResponseBufferingOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetResponseBufferingOptions) SetHeaders(param map[string]string) *GetResponseBufferingOptions { + options.Headers = param + return options +} + +// GetScriptLoadOptimizationOptions : The GetScriptLoadOptimization options. +type GetScriptLoadOptimizationOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetScriptLoadOptimizationOptions : Instantiate GetScriptLoadOptimizationOptions +func (*ZonesSettingsV1) NewGetScriptLoadOptimizationOptions() *GetScriptLoadOptimizationOptions { + return &GetScriptLoadOptimizationOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetScriptLoadOptimizationOptions) SetHeaders(param map[string]string) *GetScriptLoadOptimizationOptions { + options.Headers = param + return options +} + +// GetSecurityHeaderOptions : The GetSecurityHeader options. +type GetSecurityHeaderOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetSecurityHeaderOptions : Instantiate GetSecurityHeaderOptions +func (*ZonesSettingsV1) NewGetSecurityHeaderOptions() *GetSecurityHeaderOptions { + return &GetSecurityHeaderOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetSecurityHeaderOptions) SetHeaders(param map[string]string) *GetSecurityHeaderOptions { + options.Headers = param + return options +} + +// GetServerSideExcludeOptions : The GetServerSideExclude options. +type GetServerSideExcludeOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetServerSideExcludeOptions : Instantiate GetServerSideExcludeOptions +func (*ZonesSettingsV1) NewGetServerSideExcludeOptions() *GetServerSideExcludeOptions { + return &GetServerSideExcludeOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetServerSideExcludeOptions) SetHeaders(param map[string]string) *GetServerSideExcludeOptions { + options.Headers = param + return options +} + +// GetTlsClientAuthOptions : The GetTlsClientAuth options. +type GetTlsClientAuthOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetTlsClientAuthOptions : Instantiate GetTlsClientAuthOptions +func (*ZonesSettingsV1) NewGetTlsClientAuthOptions() *GetTlsClientAuthOptions { + return &GetTlsClientAuthOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetTlsClientAuthOptions) SetHeaders(param map[string]string) *GetTlsClientAuthOptions { + options.Headers = param + return options +} + +// GetTrueClientIpOptions : The GetTrueClientIp options. +type GetTrueClientIpOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetTrueClientIpOptions : Instantiate GetTrueClientIpOptions +func (*ZonesSettingsV1) NewGetTrueClientIpOptions() *GetTrueClientIpOptions { + return &GetTrueClientIpOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetTrueClientIpOptions) SetHeaders(param map[string]string) *GetTrueClientIpOptions { + options.Headers = param + return options +} + +// GetWebApplicationFirewallOptions : The GetWebApplicationFirewall options. +type GetWebApplicationFirewallOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetWebApplicationFirewallOptions : Instantiate GetWebApplicationFirewallOptions +func (*ZonesSettingsV1) NewGetWebApplicationFirewallOptions() *GetWebApplicationFirewallOptions { + return &GetWebApplicationFirewallOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetWebApplicationFirewallOptions) SetHeaders(param map[string]string) *GetWebApplicationFirewallOptions { + options.Headers = param + return options +} + +// GetWebSocketsOptions : The GetWebSockets options. +type GetWebSocketsOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetWebSocketsOptions : Instantiate GetWebSocketsOptions +func (*ZonesSettingsV1) NewGetWebSocketsOptions() *GetWebSocketsOptions { + return &GetWebSocketsOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetWebSocketsOptions) SetHeaders(param map[string]string) *GetWebSocketsOptions { + options.Headers = param + return options +} + +// GetZoneCnameFlatteningOptions : The GetZoneCnameFlattening options. +type GetZoneCnameFlatteningOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetZoneCnameFlatteningOptions : Instantiate GetZoneCnameFlatteningOptions +func (*ZonesSettingsV1) NewGetZoneCnameFlatteningOptions() *GetZoneCnameFlatteningOptions { + return &GetZoneCnameFlatteningOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetZoneCnameFlatteningOptions) SetHeaders(param map[string]string) *GetZoneCnameFlatteningOptions { + options.Headers = param + return options +} + +// GetZoneDnssecOptions : The GetZoneDnssec options. +type GetZoneDnssecOptions struct { + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetZoneDnssecOptions : Instantiate GetZoneDnssecOptions +func (*ZonesSettingsV1) NewGetZoneDnssecOptions() *GetZoneDnssecOptions { + return &GetZoneDnssecOptions{} +} + +// SetHeaders : Allow user to set Headers +func (options *GetZoneDnssecOptions) SetHeaders(param map[string]string) *GetZoneDnssecOptions { + options.Headers = param + return options +} + +// HotlinkProtectionRespResult : Container for response information. +type HotlinkProtectionRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalHotlinkProtectionRespResult unmarshals an instance of HotlinkProtectionRespResult from the specified map of raw messages. +func UnmarshalHotlinkProtectionRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(HotlinkProtectionRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Http2RespResult : Container for response information. +type Http2RespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalHttp2RespResult unmarshals an instance of Http2RespResult from the specified map of raw messages. +func UnmarshalHttp2RespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Http2RespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageLoadOptimizationRespResult : Container for response information. +type ImageLoadOptimizationRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalImageLoadOptimizationRespResult unmarshals an instance of ImageLoadOptimizationRespResult from the specified map of raw messages. +func UnmarshalImageLoadOptimizationRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageLoadOptimizationRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageSizeOptimizationRespResult : Container for response information. +type ImageSizeOptimizationRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalImageSizeOptimizationRespResult unmarshals an instance of ImageSizeOptimizationRespResult from the specified map of raw messages. +func UnmarshalImageSizeOptimizationRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageSizeOptimizationRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// IpGeolocationRespResult : Container for response information. +type IpGeolocationRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalIpGeolocationRespResult unmarshals an instance of IpGeolocationRespResult from the specified map of raw messages. +func UnmarshalIpGeolocationRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IpGeolocationRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Ipv6RespResult : Container for response information. +type Ipv6RespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalIpv6RespResult unmarshals an instance of Ipv6RespResult from the specified map of raw messages. +func UnmarshalIpv6RespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Ipv6RespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MaxUploadRespResult : Container for response information. +type MaxUploadRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *int64 `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalMaxUploadRespResult unmarshals an instance of MaxUploadRespResult from the specified map of raw messages. +func UnmarshalMaxUploadRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MaxUploadRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MinTlsVersionRespResult : Container for response information. +type MinTlsVersionRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalMinTlsVersionRespResult unmarshals an instance of MinTlsVersionRespResult from the specified map of raw messages. +func UnmarshalMinTlsVersionRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MinTlsVersionRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MinifyRespResult : Container for response information. +type MinifyRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *MinifyRespResultValue `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalMinifyRespResult unmarshals an instance of MinifyRespResult from the specified map of raw messages. +func UnmarshalMinifyRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MinifyRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalModel(m, "value", &obj.Value, UnmarshalMinifyRespResultValue) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MinifyRespResultValue : Value. +type MinifyRespResultValue struct { + // css. + Css *string `json:"css" validate:"required"` + + // html. + HTML *string `json:"html" validate:"required"` + + // js. + Js *string `json:"js" validate:"required"` +} + + +// UnmarshalMinifyRespResultValue unmarshals an instance of MinifyRespResultValue from the specified map of raw messages. +func UnmarshalMinifyRespResultValue(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MinifyRespResultValue) + err = core.UnmarshalPrimitive(m, "css", &obj.Css) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "html", &obj.HTML) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "js", &obj.Js) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MinifySettingValue : Value. +type MinifySettingValue struct { + // Automatically minify all CSS for your website. + Css *string `json:"css" validate:"required"` + + // Automatically minify all HTML for your website. + HTML *string `json:"html" validate:"required"` + + // Automatically minify all JavaScript for your website. + Js *string `json:"js" validate:"required"` +} + +// Constants associated with the MinifySettingValue.Css property. +// Automatically minify all CSS for your website. +const ( + MinifySettingValue_Css_Off = "off" + MinifySettingValue_Css_On = "on" +) + +// Constants associated with the MinifySettingValue.HTML property. +// Automatically minify all HTML for your website. +const ( + MinifySettingValue_HTML_Off = "off" + MinifySettingValue_HTML_On = "on" +) + +// Constants associated with the MinifySettingValue.Js property. +// Automatically minify all JavaScript for your website. +const ( + MinifySettingValue_Js_Off = "off" + MinifySettingValue_Js_On = "on" +) + + +// NewMinifySettingValue : Instantiate MinifySettingValue (Generic Model Constructor) +func (*ZonesSettingsV1) NewMinifySettingValue(css string, html string, js string) (model *MinifySettingValue, err error) { + model = &MinifySettingValue{ + Css: core.StringPtr(css), + HTML: core.StringPtr(html), + Js: core.StringPtr(js), + } + err = core.ValidateStruct(model, "required parameters") + return +} + +// UnmarshalMinifySettingValue unmarshals an instance of MinifySettingValue from the specified map of raw messages. +func UnmarshalMinifySettingValue(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MinifySettingValue) + err = core.UnmarshalPrimitive(m, "css", &obj.Css) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "html", &obj.HTML) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "js", &obj.Js) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MobileRedirecSettingValue : Value. +type MobileRedirecSettingValue struct { + // Whether or not the mobile redirection is enabled. + Status *string `json:"status" validate:"required"` + + // Which subdomain prefix you wish to redirect visitors on mobile devices to. + MobileSubdomain *string `json:"mobile_subdomain" validate:"required"` + + // Whether to drop the current page path and redirect to the mobile subdomain URL root or to keep the path and redirect + // to the same page on the mobile subdomain. + StripURI *bool `json:"strip_uri" validate:"required"` +} + +// Constants associated with the MobileRedirecSettingValue.Status property. +// Whether or not the mobile redirection is enabled. +const ( + MobileRedirecSettingValue_Status_Off = "off" + MobileRedirecSettingValue_Status_On = "on" +) + + +// NewMobileRedirecSettingValue : Instantiate MobileRedirecSettingValue (Generic Model Constructor) +func (*ZonesSettingsV1) NewMobileRedirecSettingValue(status string, mobileSubdomain string, stripURI bool) (model *MobileRedirecSettingValue, err error) { + model = &MobileRedirecSettingValue{ + Status: core.StringPtr(status), + MobileSubdomain: core.StringPtr(mobileSubdomain), + StripURI: core.BoolPtr(stripURI), + } + err = core.ValidateStruct(model, "required parameters") + return +} + +// UnmarshalMobileRedirecSettingValue unmarshals an instance of MobileRedirecSettingValue from the specified map of raw messages. +func UnmarshalMobileRedirecSettingValue(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MobileRedirecSettingValue) + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "mobile_subdomain", &obj.MobileSubdomain) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "strip_uri", &obj.StripURI) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MobileRedirectRespResult : Container for response information. +type MobileRedirectRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *MobileRedirectRespResultValue `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalMobileRedirectRespResult unmarshals an instance of MobileRedirectRespResult from the specified map of raw messages. +func UnmarshalMobileRedirectRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MobileRedirectRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalModel(m, "value", &obj.Value, UnmarshalMobileRedirectRespResultValue) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MobileRedirectRespResultValue : Value. +type MobileRedirectRespResultValue struct { + // Whether or not the mobile redirection is enabled. + Status *string `json:"status" validate:"required"` + + // Which subdomain prefix you wish to redirect visitors on mobile devices to. + MobileSubdomain *string `json:"mobile_subdomain" validate:"required"` + + // Whether to drop the current page path and redirect to the mobile subdomain URL root or to keep the path and redirect + // to the same page on the mobile subdomain. + StripURI *bool `json:"strip_uri" validate:"required"` +} + + +// UnmarshalMobileRedirectRespResultValue unmarshals an instance of MobileRedirectRespResultValue from the specified map of raw messages. +func UnmarshalMobileRedirectRespResultValue(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MobileRedirectRespResultValue) + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "mobile_subdomain", &obj.MobileSubdomain) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "strip_uri", &obj.StripURI) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// OpportunisticEncryptionRespResult : Container for response information. +type OpportunisticEncryptionRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalOpportunisticEncryptionRespResult unmarshals an instance of OpportunisticEncryptionRespResult from the specified map of raw messages. +func UnmarshalOpportunisticEncryptionRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OpportunisticEncryptionRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// OriginErrorPagePassThruRespResult : Container for response information. +type OriginErrorPagePassThruRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalOriginErrorPagePassThruRespResult unmarshals an instance of OriginErrorPagePassThruRespResult from the specified map of raw messages. +func UnmarshalOriginErrorPagePassThruRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OriginErrorPagePassThruRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PrefetchPreloadRespResult : Container for response information. +type PrefetchPreloadRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalPrefetchPreloadRespResult unmarshals an instance of PrefetchPreloadRespResult from the specified map of raw messages. +func UnmarshalPrefetchPreloadRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrefetchPreloadRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PseudoIpv4RespResult : Container for response information. +type PseudoIpv4RespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalPseudoIpv4RespResult unmarshals an instance of PseudoIpv4RespResult from the specified map of raw messages. +func UnmarshalPseudoIpv4RespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PseudoIpv4RespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResponseBufferingRespResult : Container for response information. +type ResponseBufferingRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalResponseBufferingRespResult unmarshals an instance of ResponseBufferingRespResult from the specified map of raw messages. +func UnmarshalResponseBufferingRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResponseBufferingRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ScriptLoadOptimizationRespResult : Container for response information. +type ScriptLoadOptimizationRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalScriptLoadOptimizationRespResult unmarshals an instance of ScriptLoadOptimizationRespResult from the specified map of raw messages. +func UnmarshalScriptLoadOptimizationRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ScriptLoadOptimizationRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityHeaderRespResult : Container for response information. +type SecurityHeaderRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *SecurityHeaderRespResultValue `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalSecurityHeaderRespResult unmarshals an instance of SecurityHeaderRespResult from the specified map of raw messages. +func UnmarshalSecurityHeaderRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityHeaderRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalModel(m, "value", &obj.Value, UnmarshalSecurityHeaderRespResultValue) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityHeaderRespResultValue : Value. +type SecurityHeaderRespResultValue struct { + // Strict transport security. + StrictTransportSecurity *SecurityHeaderRespResultValueStrictTransportSecurity `json:"strict_transport_security" validate:"required"` +} + + +// UnmarshalSecurityHeaderRespResultValue unmarshals an instance of SecurityHeaderRespResultValue from the specified map of raw messages. +func UnmarshalSecurityHeaderRespResultValue(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityHeaderRespResultValue) + err = core.UnmarshalModel(m, "strict_transport_security", &obj.StrictTransportSecurity, UnmarshalSecurityHeaderRespResultValueStrictTransportSecurity) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityHeaderRespResultValueStrictTransportSecurity : Strict transport security. +type SecurityHeaderRespResultValueStrictTransportSecurity struct { + // Whether or not security header is enabled. + Enabled *bool `json:"enabled" validate:"required"` + + // Max age in seconds. + MaxAge *int64 `json:"max_age" validate:"required"` + + // Include all subdomains. + IncludeSubdomains *bool `json:"include_subdomains" validate:"required"` + + // Whether or not to include 'X-Content-Type-Options:nosniff' header. + Nosniff *bool `json:"nosniff" validate:"required"` +} + + +// UnmarshalSecurityHeaderRespResultValueStrictTransportSecurity unmarshals an instance of SecurityHeaderRespResultValueStrictTransportSecurity from the specified map of raw messages. +func UnmarshalSecurityHeaderRespResultValueStrictTransportSecurity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityHeaderRespResultValueStrictTransportSecurity) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "max_age", &obj.MaxAge) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "include_subdomains", &obj.IncludeSubdomains) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "nosniff", &obj.Nosniff) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityHeaderSettingValue : Value. +type SecurityHeaderSettingValue struct { + // Strict transport security. + StrictTransportSecurity *SecurityHeaderSettingValueStrictTransportSecurity `json:"strict_transport_security" validate:"required"` +} + + +// NewSecurityHeaderSettingValue : Instantiate SecurityHeaderSettingValue (Generic Model Constructor) +func (*ZonesSettingsV1) NewSecurityHeaderSettingValue(strictTransportSecurity *SecurityHeaderSettingValueStrictTransportSecurity) (model *SecurityHeaderSettingValue, err error) { + model = &SecurityHeaderSettingValue{ + StrictTransportSecurity: strictTransportSecurity, + } + err = core.ValidateStruct(model, "required parameters") + return +} + +// UnmarshalSecurityHeaderSettingValue unmarshals an instance of SecurityHeaderSettingValue from the specified map of raw messages. +func UnmarshalSecurityHeaderSettingValue(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityHeaderSettingValue) + err = core.UnmarshalModel(m, "strict_transport_security", &obj.StrictTransportSecurity, UnmarshalSecurityHeaderSettingValueStrictTransportSecurity) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityHeaderSettingValueStrictTransportSecurity : Strict transport security. +type SecurityHeaderSettingValueStrictTransportSecurity struct { + // Whether or not security header is enabled. + Enabled *bool `json:"enabled" validate:"required"` + + // Max age in seconds. + MaxAge *int64 `json:"max_age" validate:"required"` + + // Include all subdomains. + IncludeSubdomains *bool `json:"include_subdomains" validate:"required"` + + // Whether or not to include 'X-Content-Type-Options:nosniff' header. + Nosniff *bool `json:"nosniff" validate:"required"` +} + + +// NewSecurityHeaderSettingValueStrictTransportSecurity : Instantiate SecurityHeaderSettingValueStrictTransportSecurity (Generic Model Constructor) +func (*ZonesSettingsV1) NewSecurityHeaderSettingValueStrictTransportSecurity(enabled bool, maxAge int64, includeSubdomains bool, nosniff bool) (model *SecurityHeaderSettingValueStrictTransportSecurity, err error) { + model = &SecurityHeaderSettingValueStrictTransportSecurity{ + Enabled: core.BoolPtr(enabled), + MaxAge: core.Int64Ptr(maxAge), + IncludeSubdomains: core.BoolPtr(includeSubdomains), + Nosniff: core.BoolPtr(nosniff), + } + err = core.ValidateStruct(model, "required parameters") + return +} + +// UnmarshalSecurityHeaderSettingValueStrictTransportSecurity unmarshals an instance of SecurityHeaderSettingValueStrictTransportSecurity from the specified map of raw messages. +func UnmarshalSecurityHeaderSettingValueStrictTransportSecurity(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityHeaderSettingValueStrictTransportSecurity) + err = core.UnmarshalPrimitive(m, "enabled", &obj.Enabled) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "max_age", &obj.MaxAge) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "include_subdomains", &obj.IncludeSubdomains) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "nosniff", &obj.Nosniff) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ServerSideExcludeRespResult : Container for response information. +type ServerSideExcludeRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalServerSideExcludeRespResult unmarshals an instance of ServerSideExcludeRespResult from the specified map of raw messages. +func UnmarshalServerSideExcludeRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ServerSideExcludeRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TlsClientAuthRespResult : Container for response information. +type TlsClientAuthRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalTlsClientAuthRespResult unmarshals an instance of TlsClientAuthRespResult from the specified map of raw messages. +func UnmarshalTlsClientAuthRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TlsClientAuthRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TrueClientIpRespResult : Container for response information. +type TrueClientIpRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalTrueClientIpRespResult unmarshals an instance of TrueClientIpRespResult from the specified map of raw messages. +func UnmarshalTrueClientIpRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TrueClientIpRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// UpdateAlwaysUseHttpsOptions : The UpdateAlwaysUseHttps options. +type UpdateAlwaysUseHttpsOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateAlwaysUseHttpsOptions.Value property. +// Value. +const ( + UpdateAlwaysUseHttpsOptions_Value_Off = "off" + UpdateAlwaysUseHttpsOptions_Value_On = "on" +) + +// NewUpdateAlwaysUseHttpsOptions : Instantiate UpdateAlwaysUseHttpsOptions +func (*ZonesSettingsV1) NewUpdateAlwaysUseHttpsOptions() *UpdateAlwaysUseHttpsOptions { + return &UpdateAlwaysUseHttpsOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateAlwaysUseHttpsOptions) SetValue(value string) *UpdateAlwaysUseHttpsOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateAlwaysUseHttpsOptions) SetHeaders(param map[string]string) *UpdateAlwaysUseHttpsOptions { + options.Headers = param + return options +} + +// UpdateAutomaticHttpsRewritesOptions : The UpdateAutomaticHttpsRewrites options. +type UpdateAutomaticHttpsRewritesOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateAutomaticHttpsRewritesOptions.Value property. +// Value. +const ( + UpdateAutomaticHttpsRewritesOptions_Value_Off = "off" + UpdateAutomaticHttpsRewritesOptions_Value_On = "on" +) + +// NewUpdateAutomaticHttpsRewritesOptions : Instantiate UpdateAutomaticHttpsRewritesOptions +func (*ZonesSettingsV1) NewUpdateAutomaticHttpsRewritesOptions() *UpdateAutomaticHttpsRewritesOptions { + return &UpdateAutomaticHttpsRewritesOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateAutomaticHttpsRewritesOptions) SetValue(value string) *UpdateAutomaticHttpsRewritesOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateAutomaticHttpsRewritesOptions) SetHeaders(param map[string]string) *UpdateAutomaticHttpsRewritesOptions { + options.Headers = param + return options +} + +// UpdateBrowserCheckOptions : The UpdateBrowserCheck options. +type UpdateBrowserCheckOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateBrowserCheckOptions.Value property. +// Value. +const ( + UpdateBrowserCheckOptions_Value_Off = "off" + UpdateBrowserCheckOptions_Value_On = "on" +) + +// NewUpdateBrowserCheckOptions : Instantiate UpdateBrowserCheckOptions +func (*ZonesSettingsV1) NewUpdateBrowserCheckOptions() *UpdateBrowserCheckOptions { + return &UpdateBrowserCheckOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateBrowserCheckOptions) SetValue(value string) *UpdateBrowserCheckOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateBrowserCheckOptions) SetHeaders(param map[string]string) *UpdateBrowserCheckOptions { + options.Headers = param + return options +} + +// UpdateChallengeTtlOptions : The UpdateChallengeTTL options. +type UpdateChallengeTtlOptions struct { + // Value. + Value *int64 `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewUpdateChallengeTtlOptions : Instantiate UpdateChallengeTtlOptions +func (*ZonesSettingsV1) NewUpdateChallengeTtlOptions() *UpdateChallengeTtlOptions { + return &UpdateChallengeTtlOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateChallengeTtlOptions) SetValue(value int64) *UpdateChallengeTtlOptions { + options.Value = core.Int64Ptr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateChallengeTtlOptions) SetHeaders(param map[string]string) *UpdateChallengeTtlOptions { + options.Headers = param + return options +} + +// UpdateCiphersOptions : The UpdateCiphers options. +type UpdateCiphersOptions struct { + // Value. + Value []string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateCiphersOptions.Value property. +const ( + UpdateCiphersOptions_Value_Aes128GcmSha256 = "AES128-GCM-SHA256" + UpdateCiphersOptions_Value_Aes128Sha = "AES128-SHA" + UpdateCiphersOptions_Value_Aes128Sha256 = "AES128-SHA256" + UpdateCiphersOptions_Value_Aes256GcmSha384 = "AES256-GCM-SHA384" + UpdateCiphersOptions_Value_Aes256Sha = "AES256-SHA" + UpdateCiphersOptions_Value_Aes256Sha256 = "AES256-SHA256" + UpdateCiphersOptions_Value_DesCbc3Sha = "DES-CBC3-SHA" + UpdateCiphersOptions_Value_EcdheEcdsaAes128GcmSha256 = "ECDHE-ECDSA-AES128-GCM-SHA256" + UpdateCiphersOptions_Value_EcdheEcdsaAes128Sha = "ECDHE-ECDSA-AES128-SHA" + UpdateCiphersOptions_Value_EcdheEcdsaAes128Sha256 = "ECDHE-ECDSA-AES128-SHA256" + UpdateCiphersOptions_Value_EcdheEcdsaAes256GcmSha384 = "ECDHE-ECDSA-AES256-GCM-SHA384" + UpdateCiphersOptions_Value_EcdheEcdsaAes256Sha384 = "ECDHE-ECDSA-AES256-SHA384" + UpdateCiphersOptions_Value_EcdheEcdsaChacha20Poly1305 = "ECDHE-ECDSA-CHACHA20-POLY1305" + UpdateCiphersOptions_Value_EcdheRsaAes128GcmSha256 = "ECDHE-RSA-AES128-GCM-SHA256" + UpdateCiphersOptions_Value_EcdheRsaAes128Sha = "ECDHE-RSA-AES128-SHA" + UpdateCiphersOptions_Value_EcdheRsaAes128Sha256 = "ECDHE-RSA-AES128-SHA256" + UpdateCiphersOptions_Value_EcdheRsaAes256GcmSha384 = "ECDHE-RSA-AES256-GCM-SHA384" + UpdateCiphersOptions_Value_EcdheRsaAes256Sha = "ECDHE-RSA-AES256-SHA" + UpdateCiphersOptions_Value_EcdheRsaAes256Sha384 = "ECDHE-RSA-AES256-SHA384" + UpdateCiphersOptions_Value_EcdheRsaChacha20Poly1305 = "ECDHE-RSA-CHACHA20-POLY1305" +) + +// NewUpdateCiphersOptions : Instantiate UpdateCiphersOptions +func (*ZonesSettingsV1) NewUpdateCiphersOptions() *UpdateCiphersOptions { + return &UpdateCiphersOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateCiphersOptions) SetValue(value []string) *UpdateCiphersOptions { + options.Value = value + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateCiphersOptions) SetHeaders(param map[string]string) *UpdateCiphersOptions { + options.Headers = param + return options +} + +// UpdateEnableErrorPagesOnOptions : The UpdateEnableErrorPagesOn options. +type UpdateEnableErrorPagesOnOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateEnableErrorPagesOnOptions.Value property. +// Value. +const ( + UpdateEnableErrorPagesOnOptions_Value_Off = "off" + UpdateEnableErrorPagesOnOptions_Value_On = "on" +) + +// NewUpdateEnableErrorPagesOnOptions : Instantiate UpdateEnableErrorPagesOnOptions +func (*ZonesSettingsV1) NewUpdateEnableErrorPagesOnOptions() *UpdateEnableErrorPagesOnOptions { + return &UpdateEnableErrorPagesOnOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateEnableErrorPagesOnOptions) SetValue(value string) *UpdateEnableErrorPagesOnOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateEnableErrorPagesOnOptions) SetHeaders(param map[string]string) *UpdateEnableErrorPagesOnOptions { + options.Headers = param + return options +} + +// UpdateHotlinkProtectionOptions : The UpdateHotlinkProtection options. +type UpdateHotlinkProtectionOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateHotlinkProtectionOptions.Value property. +// Value. +const ( + UpdateHotlinkProtectionOptions_Value_Off = "off" + UpdateHotlinkProtectionOptions_Value_On = "on" +) + +// NewUpdateHotlinkProtectionOptions : Instantiate UpdateHotlinkProtectionOptions +func (*ZonesSettingsV1) NewUpdateHotlinkProtectionOptions() *UpdateHotlinkProtectionOptions { + return &UpdateHotlinkProtectionOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateHotlinkProtectionOptions) SetValue(value string) *UpdateHotlinkProtectionOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateHotlinkProtectionOptions) SetHeaders(param map[string]string) *UpdateHotlinkProtectionOptions { + options.Headers = param + return options +} + +// UpdateHttp2Options : The UpdateHttp2 options. +type UpdateHttp2Options struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateHttp2Options.Value property. +// Value. +const ( + UpdateHttp2Options_Value_Off = "off" + UpdateHttp2Options_Value_On = "on" +) + +// NewUpdateHttp2Options : Instantiate UpdateHttp2Options +func (*ZonesSettingsV1) NewUpdateHttp2Options() *UpdateHttp2Options { + return &UpdateHttp2Options{} +} + +// SetValue : Allow user to set Value +func (options *UpdateHttp2Options) SetValue(value string) *UpdateHttp2Options { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateHttp2Options) SetHeaders(param map[string]string) *UpdateHttp2Options { + options.Headers = param + return options +} + +// UpdateImageLoadOptimizationOptions : The UpdateImageLoadOptimization options. +type UpdateImageLoadOptimizationOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateImageLoadOptimizationOptions.Value property. +// Value. +const ( + UpdateImageLoadOptimizationOptions_Value_Off = "off" + UpdateImageLoadOptimizationOptions_Value_On = "on" +) + +// NewUpdateImageLoadOptimizationOptions : Instantiate UpdateImageLoadOptimizationOptions +func (*ZonesSettingsV1) NewUpdateImageLoadOptimizationOptions() *UpdateImageLoadOptimizationOptions { + return &UpdateImageLoadOptimizationOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateImageLoadOptimizationOptions) SetValue(value string) *UpdateImageLoadOptimizationOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateImageLoadOptimizationOptions) SetHeaders(param map[string]string) *UpdateImageLoadOptimizationOptions { + options.Headers = param + return options +} + +// UpdateImageSizeOptimizationOptions : The UpdateImageSizeOptimization options. +type UpdateImageSizeOptimizationOptions struct { + // Valid values are "lossy", "off", "lossless". "lossy" - The file size of JPEG images is reduced using lossy + // compression, which may reduce visual quality. "off" - Disable Image Size Optimization. "lossless" - Reduce the size + // of image files without impacting visual quality. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateImageSizeOptimizationOptions.Value property. +// Valid values are "lossy", "off", "lossless". "lossy" - The file size of JPEG images is reduced using lossy +// compression, which may reduce visual quality. "off" - Disable Image Size Optimization. "lossless" - Reduce the size +// of image files without impacting visual quality. +const ( + UpdateImageSizeOptimizationOptions_Value_Lossless = "lossless" + UpdateImageSizeOptimizationOptions_Value_Lossy = "lossy" + UpdateImageSizeOptimizationOptions_Value_Off = "off" +) + +// NewUpdateImageSizeOptimizationOptions : Instantiate UpdateImageSizeOptimizationOptions +func (*ZonesSettingsV1) NewUpdateImageSizeOptimizationOptions() *UpdateImageSizeOptimizationOptions { + return &UpdateImageSizeOptimizationOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateImageSizeOptimizationOptions) SetValue(value string) *UpdateImageSizeOptimizationOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateImageSizeOptimizationOptions) SetHeaders(param map[string]string) *UpdateImageSizeOptimizationOptions { + options.Headers = param + return options +} + +// UpdateIpGeolocationOptions : The UpdateIpGeolocation options. +type UpdateIpGeolocationOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateIpGeolocationOptions.Value property. +// Value. +const ( + UpdateIpGeolocationOptions_Value_Off = "off" + UpdateIpGeolocationOptions_Value_On = "on" +) + +// NewUpdateIpGeolocationOptions : Instantiate UpdateIpGeolocationOptions +func (*ZonesSettingsV1) NewUpdateIpGeolocationOptions() *UpdateIpGeolocationOptions { + return &UpdateIpGeolocationOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateIpGeolocationOptions) SetValue(value string) *UpdateIpGeolocationOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateIpGeolocationOptions) SetHeaders(param map[string]string) *UpdateIpGeolocationOptions { + options.Headers = param + return options +} + +// UpdateIpv6Options : The UpdateIpv6 options. +type UpdateIpv6Options struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateIpv6Options.Value property. +// Value. +const ( + UpdateIpv6Options_Value_Off = "off" + UpdateIpv6Options_Value_On = "on" +) + +// NewUpdateIpv6Options : Instantiate UpdateIpv6Options +func (*ZonesSettingsV1) NewUpdateIpv6Options() *UpdateIpv6Options { + return &UpdateIpv6Options{} +} + +// SetValue : Allow user to set Value +func (options *UpdateIpv6Options) SetValue(value string) *UpdateIpv6Options { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateIpv6Options) SetHeaders(param map[string]string) *UpdateIpv6Options { + options.Headers = param + return options +} + +// UpdateMaxUploadOptions : The UpdateMaxUpload options. +type UpdateMaxUploadOptions struct { + // Valid values(in MB) for "max_upload" are 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, + // 475, 500. Values 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 475, 500 are only for Enterprise Plan. + Value *int64 `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewUpdateMaxUploadOptions : Instantiate UpdateMaxUploadOptions +func (*ZonesSettingsV1) NewUpdateMaxUploadOptions() *UpdateMaxUploadOptions { + return &UpdateMaxUploadOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateMaxUploadOptions) SetValue(value int64) *UpdateMaxUploadOptions { + options.Value = core.Int64Ptr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateMaxUploadOptions) SetHeaders(param map[string]string) *UpdateMaxUploadOptions { + options.Headers = param + return options +} + +// UpdateMinTlsVersionOptions : The UpdateMinTlsVersion options. +type UpdateMinTlsVersionOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewUpdateMinTlsVersionOptions : Instantiate UpdateMinTlsVersionOptions +func (*ZonesSettingsV1) NewUpdateMinTlsVersionOptions() *UpdateMinTlsVersionOptions { + return &UpdateMinTlsVersionOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateMinTlsVersionOptions) SetValue(value string) *UpdateMinTlsVersionOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateMinTlsVersionOptions) SetHeaders(param map[string]string) *UpdateMinTlsVersionOptions { + options.Headers = param + return options +} + +// UpdateMinifyOptions : The UpdateMinify options. +type UpdateMinifyOptions struct { + // Value. + Value *MinifySettingValue `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewUpdateMinifyOptions : Instantiate UpdateMinifyOptions +func (*ZonesSettingsV1) NewUpdateMinifyOptions() *UpdateMinifyOptions { + return &UpdateMinifyOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateMinifyOptions) SetValue(value *MinifySettingValue) *UpdateMinifyOptions { + options.Value = value + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateMinifyOptions) SetHeaders(param map[string]string) *UpdateMinifyOptions { + options.Headers = param + return options +} + +// UpdateMobileRedirectOptions : The UpdateMobileRedirect options. +type UpdateMobileRedirectOptions struct { + // Value. + Value *MobileRedirecSettingValue `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewUpdateMobileRedirectOptions : Instantiate UpdateMobileRedirectOptions +func (*ZonesSettingsV1) NewUpdateMobileRedirectOptions() *UpdateMobileRedirectOptions { + return &UpdateMobileRedirectOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateMobileRedirectOptions) SetValue(value *MobileRedirecSettingValue) *UpdateMobileRedirectOptions { + options.Value = value + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateMobileRedirectOptions) SetHeaders(param map[string]string) *UpdateMobileRedirectOptions { + options.Headers = param + return options +} + +// UpdateOpportunisticEncryptionOptions : The UpdateOpportunisticEncryption options. +type UpdateOpportunisticEncryptionOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateOpportunisticEncryptionOptions.Value property. +// Value. +const ( + UpdateOpportunisticEncryptionOptions_Value_Off = "off" + UpdateOpportunisticEncryptionOptions_Value_On = "on" +) + +// NewUpdateOpportunisticEncryptionOptions : Instantiate UpdateOpportunisticEncryptionOptions +func (*ZonesSettingsV1) NewUpdateOpportunisticEncryptionOptions() *UpdateOpportunisticEncryptionOptions { + return &UpdateOpportunisticEncryptionOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateOpportunisticEncryptionOptions) SetValue(value string) *UpdateOpportunisticEncryptionOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateOpportunisticEncryptionOptions) SetHeaders(param map[string]string) *UpdateOpportunisticEncryptionOptions { + options.Headers = param + return options +} + +// UpdatePrefetchPreloadOptions : The UpdatePrefetchPreload options. +type UpdatePrefetchPreloadOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdatePrefetchPreloadOptions.Value property. +// Value. +const ( + UpdatePrefetchPreloadOptions_Value_Off = "off" + UpdatePrefetchPreloadOptions_Value_On = "on" +) + +// NewUpdatePrefetchPreloadOptions : Instantiate UpdatePrefetchPreloadOptions +func (*ZonesSettingsV1) NewUpdatePrefetchPreloadOptions() *UpdatePrefetchPreloadOptions { + return &UpdatePrefetchPreloadOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdatePrefetchPreloadOptions) SetValue(value string) *UpdatePrefetchPreloadOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdatePrefetchPreloadOptions) SetHeaders(param map[string]string) *UpdatePrefetchPreloadOptions { + options.Headers = param + return options +} + +// UpdatePseudoIpv4Options : The UpdatePseudoIpv4 options. +type UpdatePseudoIpv4Options struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdatePseudoIpv4Options.Value property. +// Value. +const ( + UpdatePseudoIpv4Options_Value_AddHeader = "add_header" + UpdatePseudoIpv4Options_Value_Off = "off" + UpdatePseudoIpv4Options_Value_OverwriteHeader = "overwrite_header" +) + +// NewUpdatePseudoIpv4Options : Instantiate UpdatePseudoIpv4Options +func (*ZonesSettingsV1) NewUpdatePseudoIpv4Options() *UpdatePseudoIpv4Options { + return &UpdatePseudoIpv4Options{} +} + +// SetValue : Allow user to set Value +func (options *UpdatePseudoIpv4Options) SetValue(value string) *UpdatePseudoIpv4Options { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdatePseudoIpv4Options) SetHeaders(param map[string]string) *UpdatePseudoIpv4Options { + options.Headers = param + return options +} + +// UpdateResponseBufferingOptions : The UpdateResponseBuffering options. +type UpdateResponseBufferingOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateResponseBufferingOptions.Value property. +// Value. +const ( + UpdateResponseBufferingOptions_Value_Off = "off" + UpdateResponseBufferingOptions_Value_On = "on" +) + +// NewUpdateResponseBufferingOptions : Instantiate UpdateResponseBufferingOptions +func (*ZonesSettingsV1) NewUpdateResponseBufferingOptions() *UpdateResponseBufferingOptions { + return &UpdateResponseBufferingOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateResponseBufferingOptions) SetValue(value string) *UpdateResponseBufferingOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateResponseBufferingOptions) SetHeaders(param map[string]string) *UpdateResponseBufferingOptions { + options.Headers = param + return options +} + +// UpdateScriptLoadOptimizationOptions : The UpdateScriptLoadOptimization options. +type UpdateScriptLoadOptimizationOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateScriptLoadOptimizationOptions.Value property. +// Value. +const ( + UpdateScriptLoadOptimizationOptions_Value_Off = "off" + UpdateScriptLoadOptimizationOptions_Value_On = "on" +) + +// NewUpdateScriptLoadOptimizationOptions : Instantiate UpdateScriptLoadOptimizationOptions +func (*ZonesSettingsV1) NewUpdateScriptLoadOptimizationOptions() *UpdateScriptLoadOptimizationOptions { + return &UpdateScriptLoadOptimizationOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateScriptLoadOptimizationOptions) SetValue(value string) *UpdateScriptLoadOptimizationOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateScriptLoadOptimizationOptions) SetHeaders(param map[string]string) *UpdateScriptLoadOptimizationOptions { + options.Headers = param + return options +} + +// UpdateSecurityHeaderOptions : The UpdateSecurityHeader options. +type UpdateSecurityHeaderOptions struct { + // Value. + Value *SecurityHeaderSettingValue `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewUpdateSecurityHeaderOptions : Instantiate UpdateSecurityHeaderOptions +func (*ZonesSettingsV1) NewUpdateSecurityHeaderOptions() *UpdateSecurityHeaderOptions { + return &UpdateSecurityHeaderOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateSecurityHeaderOptions) SetValue(value *SecurityHeaderSettingValue) *UpdateSecurityHeaderOptions { + options.Value = value + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateSecurityHeaderOptions) SetHeaders(param map[string]string) *UpdateSecurityHeaderOptions { + options.Headers = param + return options +} + +// UpdateServerSideExcludeOptions : The UpdateServerSideExclude options. +type UpdateServerSideExcludeOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateServerSideExcludeOptions.Value property. +// Value. +const ( + UpdateServerSideExcludeOptions_Value_Off = "off" + UpdateServerSideExcludeOptions_Value_On = "on" +) + +// NewUpdateServerSideExcludeOptions : Instantiate UpdateServerSideExcludeOptions +func (*ZonesSettingsV1) NewUpdateServerSideExcludeOptions() *UpdateServerSideExcludeOptions { + return &UpdateServerSideExcludeOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateServerSideExcludeOptions) SetValue(value string) *UpdateServerSideExcludeOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateServerSideExcludeOptions) SetHeaders(param map[string]string) *UpdateServerSideExcludeOptions { + options.Headers = param + return options +} + +// UpdateTlsClientAuthOptions : The UpdateTlsClientAuth options. +type UpdateTlsClientAuthOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateTlsClientAuthOptions.Value property. +// Value. +const ( + UpdateTlsClientAuthOptions_Value_Off = "off" + UpdateTlsClientAuthOptions_Value_On = "on" +) + +// NewUpdateTlsClientAuthOptions : Instantiate UpdateTlsClientAuthOptions +func (*ZonesSettingsV1) NewUpdateTlsClientAuthOptions() *UpdateTlsClientAuthOptions { + return &UpdateTlsClientAuthOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateTlsClientAuthOptions) SetValue(value string) *UpdateTlsClientAuthOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateTlsClientAuthOptions) SetHeaders(param map[string]string) *UpdateTlsClientAuthOptions { + options.Headers = param + return options +} + +// UpdateTrueClientIpOptions : The UpdateTrueClientIp options. +type UpdateTrueClientIpOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateTrueClientIpOptions.Value property. +// Value. +const ( + UpdateTrueClientIpOptions_Value_Off = "off" + UpdateTrueClientIpOptions_Value_On = "on" +) + +// NewUpdateTrueClientIpOptions : Instantiate UpdateTrueClientIpOptions +func (*ZonesSettingsV1) NewUpdateTrueClientIpOptions() *UpdateTrueClientIpOptions { + return &UpdateTrueClientIpOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateTrueClientIpOptions) SetValue(value string) *UpdateTrueClientIpOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateTrueClientIpOptions) SetHeaders(param map[string]string) *UpdateTrueClientIpOptions { + options.Headers = param + return options +} + +// UpdateWebApplicationFirewallOptions : The UpdateWebApplicationFirewall options. +type UpdateWebApplicationFirewallOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateWebApplicationFirewallOptions.Value property. +// Value. +const ( + UpdateWebApplicationFirewallOptions_Value_Off = "off" + UpdateWebApplicationFirewallOptions_Value_On = "on" +) + +// NewUpdateWebApplicationFirewallOptions : Instantiate UpdateWebApplicationFirewallOptions +func (*ZonesSettingsV1) NewUpdateWebApplicationFirewallOptions() *UpdateWebApplicationFirewallOptions { + return &UpdateWebApplicationFirewallOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateWebApplicationFirewallOptions) SetValue(value string) *UpdateWebApplicationFirewallOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateWebApplicationFirewallOptions) SetHeaders(param map[string]string) *UpdateWebApplicationFirewallOptions { + options.Headers = param + return options +} + +// UpdateWebSocketsOptions : The UpdateWebSockets options. +type UpdateWebSocketsOptions struct { + // Value. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateWebSocketsOptions.Value property. +// Value. +const ( + UpdateWebSocketsOptions_Value_Off = "off" + UpdateWebSocketsOptions_Value_On = "on" +) + +// NewUpdateWebSocketsOptions : Instantiate UpdateWebSocketsOptions +func (*ZonesSettingsV1) NewUpdateWebSocketsOptions() *UpdateWebSocketsOptions { + return &UpdateWebSocketsOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateWebSocketsOptions) SetValue(value string) *UpdateWebSocketsOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateWebSocketsOptions) SetHeaders(param map[string]string) *UpdateWebSocketsOptions { + options.Headers = param + return options +} + +// UpdateZoneCnameFlatteningOptions : The UpdateZoneCnameFlattening options. +type UpdateZoneCnameFlatteningOptions struct { + // Valid values are "flatten_at_root", "flatten_all". "flatten_at_root" - Flatten CNAME at root domain. This is the + // default value. "flatten_all" - Flatten all CNAME records under your domain. + Value *string `json:"value,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateZoneCnameFlatteningOptions.Value property. +// Valid values are "flatten_at_root", "flatten_all". "flatten_at_root" - Flatten CNAME at root domain. This is the +// default value. "flatten_all" - Flatten all CNAME records under your domain. +const ( + UpdateZoneCnameFlatteningOptions_Value_FlattenAll = "flatten_all" + UpdateZoneCnameFlatteningOptions_Value_FlattenAtRoot = "flatten_at_root" +) + +// NewUpdateZoneCnameFlatteningOptions : Instantiate UpdateZoneCnameFlatteningOptions +func (*ZonesSettingsV1) NewUpdateZoneCnameFlatteningOptions() *UpdateZoneCnameFlatteningOptions { + return &UpdateZoneCnameFlatteningOptions{} +} + +// SetValue : Allow user to set Value +func (options *UpdateZoneCnameFlatteningOptions) SetValue(value string) *UpdateZoneCnameFlatteningOptions { + options.Value = core.StringPtr(value) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateZoneCnameFlatteningOptions) SetHeaders(param map[string]string) *UpdateZoneCnameFlatteningOptions { + options.Headers = param + return options +} + +// UpdateZoneDnssecOptions : The UpdateZoneDnssec options. +type UpdateZoneDnssecOptions struct { + // Status. + Status *string `json:"status,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// Constants associated with the UpdateZoneDnssecOptions.Status property. +// Status. +const ( + UpdateZoneDnssecOptions_Status_Active = "active" + UpdateZoneDnssecOptions_Status_Disabled = "disabled" +) + +// NewUpdateZoneDnssecOptions : Instantiate UpdateZoneDnssecOptions +func (*ZonesSettingsV1) NewUpdateZoneDnssecOptions() *UpdateZoneDnssecOptions { + return &UpdateZoneDnssecOptions{} +} + +// SetStatus : Allow user to set Status +func (options *UpdateZoneDnssecOptions) SetStatus(status string) *UpdateZoneDnssecOptions { + options.Status = core.StringPtr(status) + return options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateZoneDnssecOptions) SetHeaders(param map[string]string) *UpdateZoneDnssecOptions { + options.Headers = param + return options +} + +// WafRespResult : Container for response information. +type WafRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalWafRespResult unmarshals an instance of WafRespResult from the specified map of raw messages. +func UnmarshalWafRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(WafRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// WebsocketsRespResult : Container for response information. +type WebsocketsRespResult struct { + // ID. + ID *string `json:"id" validate:"required"` + + // Value. + Value *string `json:"value" validate:"required"` + + // Editable. + Editable *bool `json:"editable" validate:"required"` + + // Modified date. + ModifiedOn *strfmt.DateTime `json:"modified_on" validate:"required"` +} + + +// UnmarshalWebsocketsRespResult unmarshals an instance of WebsocketsRespResult from the specified map of raw messages. +func UnmarshalWebsocketsRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(WebsocketsRespResult) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ZonesDnssecRespResult : Container for response information. +type ZonesDnssecRespResult struct { + // Status. + Status *string `json:"status,omitempty"` + + // Flags. + Flags *int64 `json:"flags,omitempty"` + + // Algorithm. + Algorithm *string `json:"algorithm,omitempty"` + + // Key type. + KeyType *string `json:"key_type,omitempty"` + + // Digest type. + DigestType *string `json:"digest_type,omitempty"` + + // Digest algorithm. + DigestAlgorithm *string `json:"digest_algorithm,omitempty"` + + // Digest. + Digest *string `json:"digest,omitempty"` + + // DS. + Ds *string `json:"ds,omitempty"` + + // Key tag. + KeyTag *int64 `json:"key_tag,omitempty"` + + // Public key. + PublicKey *string `json:"public_key,omitempty"` +} + +// Constants associated with the ZonesDnssecRespResult.Status property. +// Status. +const ( + ZonesDnssecRespResult_Status_Active = "active" + ZonesDnssecRespResult_Status_Disabled = "disabled" + ZonesDnssecRespResult_Status_Error = "error" + ZonesDnssecRespResult_Status_Pending = "pending" + ZonesDnssecRespResult_Status_PendingDisabled = "pending-disabled" +) + + +// UnmarshalZonesDnssecRespResult unmarshals an instance of ZonesDnssecRespResult from the specified map of raw messages. +func UnmarshalZonesDnssecRespResult(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZonesDnssecRespResult) + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "flags", &obj.Flags) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "algorithm", &obj.Algorithm) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "key_type", &obj.KeyType) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "digest_type", &obj.DigestType) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "digest_algorithm", &obj.DigestAlgorithm) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "digest", &obj.Digest) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "ds", &obj.Ds) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "key_tag", &obj.KeyTag) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "public_key", &obj.PublicKey) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AlwaysUseHttpsResp : Always use http response. +type AlwaysUseHttpsResp struct { + // Container for response information. + Result *AlwaysUseHttpsRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalAlwaysUseHttpsResp unmarshals an instance of AlwaysUseHttpsResp from the specified map of raw messages. +func UnmarshalAlwaysUseHttpsResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AlwaysUseHttpsResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalAlwaysUseHttpsRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// AutomaticHttpsRewritesResp : automatic https rewrite response. +type AutomaticHttpsRewritesResp struct { + // Container for response information. + Result *AutomaticHttpsRewritesRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalAutomaticHttpsRewritesResp unmarshals an instance of AutomaticHttpsRewritesResp from the specified map of raw messages. +func UnmarshalAutomaticHttpsRewritesResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(AutomaticHttpsRewritesResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalAutomaticHttpsRewritesRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// BrowserCheckResp : Browser Check response. +type BrowserCheckResp struct { + // Container for response information. + Result *BrowserCheckRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalBrowserCheckResp unmarshals an instance of BrowserCheckResp from the specified map of raw messages. +func UnmarshalBrowserCheckResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(BrowserCheckResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalBrowserCheckRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ChallengeTtlResp : challenge TTL response. +type ChallengeTtlResp struct { + // Container for response information. + Result *ChallengeTtlRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalChallengeTtlResp unmarshals an instance of ChallengeTtlResp from the specified map of raw messages. +func UnmarshalChallengeTtlResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ChallengeTtlResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalChallengeTtlRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CiphersResp : Ciphers response. +type CiphersResp struct { + // Container for response information. + Result *CiphersRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalCiphersResp unmarshals an instance of CiphersResp from the specified map of raw messages. +func UnmarshalCiphersResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CiphersResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalCiphersRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// CnameFlatteningResponse : CNAME Flattening response. +type CnameFlatteningResponse struct { + // id. + ID *string `json:"id,omitempty"` + + // value. + Value *string `json:"value,omitempty"` + + // Date when it is modified. + ModifiedOn *strfmt.DateTime `json:"modified_on,omitempty"` + + // editable. + Editable *bool `json:"editable,omitempty"` +} + +// Constants associated with the CnameFlatteningResponse.Value property. +// value. +const ( + CnameFlatteningResponse_Value_FlattenAll = "flatten_all" + CnameFlatteningResponse_Value_FlattenAtRoot = "flatten_at_root" +) + + +// UnmarshalCnameFlatteningResponse unmarshals an instance of CnameFlatteningResponse from the specified map of raw messages. +func UnmarshalCnameFlatteningResponse(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(CnameFlatteningResponse) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "value", &obj.Value) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "modified_on", &obj.ModifiedOn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "editable", &obj.Editable) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// HotlinkProtectionResp : Hotlink Protection response. +type HotlinkProtectionResp struct { + // Container for response information. + Result *HotlinkProtectionRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalHotlinkProtectionResp unmarshals an instance of HotlinkProtectionResp from the specified map of raw messages. +func UnmarshalHotlinkProtectionResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(HotlinkProtectionResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalHotlinkProtectionRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Http2Resp : HTTP2 Response. +type Http2Resp struct { + // Container for response information. + Result *Http2RespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalHttp2Resp unmarshals an instance of Http2Resp from the specified map of raw messages. +func UnmarshalHttp2Resp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Http2Resp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalHttp2RespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageLoadOptimizationResp : Image Load Optimization response. +type ImageLoadOptimizationResp struct { + // Container for response information. + Result *ImageLoadOptimizationRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalImageLoadOptimizationResp unmarshals an instance of ImageLoadOptimizationResp from the specified map of raw messages. +func UnmarshalImageLoadOptimizationResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageLoadOptimizationResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalImageLoadOptimizationRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ImageSizeOptimizationResp : Image size optimization response. +type ImageSizeOptimizationResp struct { + // Container for response information. + Result *ImageSizeOptimizationRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalImageSizeOptimizationResp unmarshals an instance of ImageSizeOptimizationResp from the specified map of raw messages. +func UnmarshalImageSizeOptimizationResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ImageSizeOptimizationResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalImageSizeOptimizationRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// IpGeolocationResp : IP Geolocation response. +type IpGeolocationResp struct { + // Container for response information. + Result *IpGeolocationRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalIpGeolocationResp unmarshals an instance of IpGeolocationResp from the specified map of raw messages. +func UnmarshalIpGeolocationResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(IpGeolocationResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalIpGeolocationRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Ipv6Resp : IPv6 Response. +type Ipv6Resp struct { + // Container for response information. + Result *Ipv6RespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalIpv6Resp unmarshals an instance of Ipv6Resp from the specified map of raw messages. +func UnmarshalIpv6Resp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(Ipv6Resp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalIpv6RespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MaxUploadResp : Maximum upload response. +type MaxUploadResp struct { + // Container for response information. + Result *MaxUploadRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalMaxUploadResp unmarshals an instance of MaxUploadResp from the specified map of raw messages. +func UnmarshalMaxUploadResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MaxUploadResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalMaxUploadRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MinTlsVersionResp : Minimum TLS Version response. +type MinTlsVersionResp struct { + // Container for response information. + Result *MinTlsVersionRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalMinTlsVersionResp unmarshals an instance of MinTlsVersionResp from the specified map of raw messages. +func UnmarshalMinTlsVersionResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MinTlsVersionResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalMinTlsVersionRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MinifyResp : Minify response. +type MinifyResp struct { + // Container for response information. + Result *MinifyRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalMinifyResp unmarshals an instance of MinifyResp from the specified map of raw messages. +func UnmarshalMinifyResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MinifyResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalMinifyRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// MobileRedirectResp : Mobile Redirect Response. +type MobileRedirectResp struct { + // Container for response information. + Result *MobileRedirectRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalMobileRedirectResp unmarshals an instance of MobileRedirectResp from the specified map of raw messages. +func UnmarshalMobileRedirectResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(MobileRedirectResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalMobileRedirectRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// OpportunisticEncryptionResp : Oppertunistic encryption response. +type OpportunisticEncryptionResp struct { + // Container for response information. + Result *OpportunisticEncryptionRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalOpportunisticEncryptionResp unmarshals an instance of OpportunisticEncryptionResp from the specified map of raw messages. +func UnmarshalOpportunisticEncryptionResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OpportunisticEncryptionResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalOpportunisticEncryptionRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// OriginErrorPagePassThruResp : origin error page pass through response. +type OriginErrorPagePassThruResp struct { + // Container for response information. + Result *OriginErrorPagePassThruRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalOriginErrorPagePassThruResp unmarshals an instance of OriginErrorPagePassThruResp from the specified map of raw messages. +func UnmarshalOriginErrorPagePassThruResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(OriginErrorPagePassThruResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalOriginErrorPagePassThruRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PrefetchPreloadResp : Prefetch & Preload Response. +type PrefetchPreloadResp struct { + // Container for response information. + Result *PrefetchPreloadRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalPrefetchPreloadResp unmarshals an instance of PrefetchPreloadResp from the specified map of raw messages. +func UnmarshalPrefetchPreloadResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PrefetchPreloadResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalPrefetchPreloadRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// PseudoIpv4Resp : Pseudo ipv4 response. +type PseudoIpv4Resp struct { + // Container for response information. + Result *PseudoIpv4RespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalPseudoIpv4Resp unmarshals an instance of PseudoIpv4Resp from the specified map of raw messages. +func UnmarshalPseudoIpv4Resp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(PseudoIpv4Resp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalPseudoIpv4RespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ResponseBufferingResp : Buffering response. +type ResponseBufferingResp struct { + // Container for response information. + Result *ResponseBufferingRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalResponseBufferingResp unmarshals an instance of ResponseBufferingResp from the specified map of raw messages. +func UnmarshalResponseBufferingResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ResponseBufferingResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalResponseBufferingRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ScriptLoadOptimizationResp : Script load optimization response. +type ScriptLoadOptimizationResp struct { + // Container for response information. + Result *ScriptLoadOptimizationRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalScriptLoadOptimizationResp unmarshals an instance of ScriptLoadOptimizationResp from the specified map of raw messages. +func UnmarshalScriptLoadOptimizationResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ScriptLoadOptimizationResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalScriptLoadOptimizationRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// SecurityHeaderResp : Response of Security Header. +type SecurityHeaderResp struct { + // Container for response information. + Result *SecurityHeaderRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalSecurityHeaderResp unmarshals an instance of SecurityHeaderResp from the specified map of raw messages. +func UnmarshalSecurityHeaderResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(SecurityHeaderResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalSecurityHeaderRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ServerSideExcludeResp : Response of server side exclude. +type ServerSideExcludeResp struct { + // Container for response information. + Result *ServerSideExcludeRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalServerSideExcludeResp unmarshals an instance of ServerSideExcludeResp from the specified map of raw messages. +func UnmarshalServerSideExcludeResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ServerSideExcludeResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalServerSideExcludeRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TlsClientAuthResp : TLS Client authentication response. +type TlsClientAuthResp struct { + // Container for response information. + Result *TlsClientAuthRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalTlsClientAuthResp unmarshals an instance of TlsClientAuthResp from the specified map of raw messages. +func UnmarshalTlsClientAuthResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TlsClientAuthResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalTlsClientAuthRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TrueClientIpResp : true client IP response. +type TrueClientIpResp struct { + // Container for response information. + Result *TrueClientIpRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalTrueClientIpResp unmarshals an instance of TrueClientIpResp from the specified map of raw messages. +func UnmarshalTrueClientIpResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TrueClientIpResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalTrueClientIpRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// WafResp : WAF Response. +type WafResp struct { + // Container for response information. + Result *WafRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalWafResp unmarshals an instance of WafResp from the specified map of raw messages. +func UnmarshalWafResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(WafResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalWafRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// WebsocketsResp : Websocket Response. +type WebsocketsResp struct { + // Container for response information. + Result *WebsocketsRespResult `json:"result" validate:"required"` + + // Was the get successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` +} + + +// UnmarshalWebsocketsResp unmarshals an instance of WebsocketsResp from the specified map of raw messages. +func UnmarshalWebsocketsResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(WebsocketsResp) + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalWebsocketsRespResult) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ZonesCnameFlatteningResp : Zones CNAME flattening response. +type ZonesCnameFlatteningResp struct { + // Was operation successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` + + // CNAME Flattening response. + Result *CnameFlatteningResponse `json:"result" validate:"required"` +} + + +// UnmarshalZonesCnameFlatteningResp unmarshals an instance of ZonesCnameFlatteningResp from the specified map of raw messages. +func UnmarshalZonesCnameFlatteningResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZonesCnameFlatteningResp) + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalCnameFlatteningResponse) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// ZonesDnssecResp : Zones DNS Sec Response. +type ZonesDnssecResp struct { + // Was operation successful. + Success *bool `json:"success" validate:"required"` + + // Array of errors encountered. + Errors [][]string `json:"errors" validate:"required"` + + // Array of messages returned. + Messages [][]string `json:"messages" validate:"required"` + + // Container for response information. + Result *ZonesDnssecRespResult `json:"result" validate:"required"` +} + + +// UnmarshalZonesDnssecResp unmarshals an instance of ZonesDnssecResp from the specified map of raw messages. +func UnmarshalZonesDnssecResp(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZonesDnssecResp) + err = core.UnmarshalPrimitive(m, "success", &obj.Success) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "errors", &obj.Errors) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "messages", &obj.Messages) + if err != nil { + return + } + err = core.UnmarshalModel(m, "result", &obj.Result, UnmarshalZonesDnssecRespResult) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 9fee2e5e09..482f5df419 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -133,8 +133,10 @@ github.com/IBM/networking-go-sdk/directlinkv1 github.com/IBM/networking-go-sdk/dnsrecordsv1 github.com/IBM/networking-go-sdk/edgefunctionsapiv1 github.com/IBM/networking-go-sdk/globalloadbalancermonitorv1 +github.com/IBM/networking-go-sdk/sslcertificateapiv1 github.com/IBM/networking-go-sdk/transitgatewayapisv1 github.com/IBM/networking-go-sdk/zoneratelimitsv1 +github.com/IBM/networking-go-sdk/zonessettingsv1 github.com/IBM/networking-go-sdk/zonesv1 # github.com/IBM/vpc-go-sdk v0.1.1 github.com/IBM/vpc-go-sdk/common diff --git a/website/docs/r/cis_domain_settings.html.markdown b/website/docs/r/cis_domain_settings.html.markdown index ce699d9fdf..b9c02e1184 100644 --- a/website/docs/r/cis_domain_settings.html.markdown +++ b/website/docs/r/cis_domain_settings.html.markdown @@ -8,17 +8,58 @@ description: |- # ibm_cis_domain_settings -Provides a resource which customizes IBM Cloud Internet Services domain settings. +Provides a resource which customizes IBM Cloud Internet Services domain settings. ## Example Usage ```hcl -resource "ibm_cis_domain_settings" "test" { - cis_id = ibm_cis.instance.id - domain_id = ibm_cis_domain.example.id - waf = "on" - ssl = "full" - min_tls_version = "1.2" +resource "ibm_cis_domain_settings" "test_domain_settings" { + cis_id = data.ibm_cis.cis.id + domain_id = data.ibm_cis_domain.cis_domain.domain_id + dnssec = "disabled" + waf = "off" + ssl = "flexible" + min_tls_version = "1.2" + cname_flattening = "flatten_all" + opportunistic_encryption = "off" + automatic_https_rewrites = "on" + always_use_https = "off" + ipv6 = "off" + browser_check = "off" + hotlink_protection = "off" + http2 = "on" + image_load_optimization = "off" + image_size_optimization = "lossless" + ip_geolocation = "off" + origin_error_page_pass_thru = "off" + brotli = "off" + pseudo_ipv4 = "off" + prefetch_preload = "off" + response_buffering = "off" + script_load_optimization = "off" + server_side_exclude = "off" + tls_client_auth = "off" + true_client_ip_header = "off" + websockets = "off" + challenge_ttl = 31536000 + max_upload = 300 + cipher = ["AES128-SHA256"] + minify { + css = "off" + js = "off" + html = "off" + } + security_header { + enabled = false + include_subdomains = false + max_age = 0 + nosniff = false + } + mobile_redirect { + status = "on" + mobile_subdomain = "m.domain.com" + strip_uri = true + } } ``` @@ -26,38 +67,53 @@ resource "ibm_cis_domain_settings" "test" { The following arguments are supported: -* `cis_id` - (Required) The ID of the CIS service instance. -* `domain_id` - (Required) The ID of the domain. -* `waf`. (Optional, string) Allowed values: "off", "on" -* `min_tls_version`. (Optional, string) Allowed values: 1.1", "1.2", "1.3". -* `ssl`. (Optional, string) Allowed values: "off", "flexible", "full", "strict", "origin_pull". -* `automatic_https_rewrites`. (Optional, string) Allowed values: "off", "on" -* `opportunistic_encryption`. (Optional, string) Allowed values: "off", "on" -* `cname_flattening`. (Optional, string) Allowed values: "flatten_at_root", "flatten_all", "flatten_none". -* `always_use_https` . (Optional, string) Allowed values: "off", "on" -* `ipv6` . (Optional, string) Allowed values: "off", "on" -* `browser_check` . (Optional, string) Allowed values: "off", "on" -* `hotlink_protection` . (Optional, string) Allowed values: "off", "on" -* `http2` . (Optional, string) Allowed values: "off", "on" -* `image_load_optimization` . (Optional, string) Allowed values: "off", "on" -* `image_size_optimization` . (Optional, string) Allowed values: "lossless", "off", "lossy" -* `ip_geolocation` . (Optional, string) Allowed values: "off", "on" -* `origin_error_page_pass_thru` . (Optional, string) Allowed values: "off", "on" -* `brotli` . (Optional, string) Allowed values: "off", "on" -* `pseudo_ipv4` . (Optional, string) Allowed values: "overwrite_header", "off", "add_header" -* `prefetch_preload` . (Optional, string) Allowed values: "off", "on" -* `response_buffering` . (Optional, string) Allowed values: "off", "on" -* `script_load_optimization` . (Optional, string) Allowed values: "off", "on" -* `server_side_exclude` . (Optional, string) Allowed values: "off", "on" -* `tls_client_auth` . (Optional, string) Allowed values: "off", "on" -* `true_client_ip_header` . (Optional, string) Allowed values: "off", "on" -* `websockets` . (Optional, string) Allowed values: "off", "on" - -Additional settings not implemented in this version of the provider. +- `cis_id` - (Required) The ID of the CIS service instance. +- `domain_id` - (Required) The ID of the domain. +- `waf`. (Optional, string) Allowed values: "off", "on" +- `min_tls_version`. (Optional, string) Allowed values: 1.1", "1.2", "1.3". +- `ssl`. (Optional, string) Allowed values: "off", "flexible", "full", "strict", "origin_pull". +- `automatic_https_rewrites`. (Optional, string) Allowed values: "off", "on" +- `opportunistic_encryption`. (Optional, string) Allowed values: "off", "on" +- `cname_flattening`. (Optional, string) Allowed values: "flatten_at_root", "flatten_all", "flatten_none". +- `always_use_https` . (Optional, string) Allowed values: "off", "on" +- `ipv6` . (Optional, string) Allowed values: "off", "on" +- `browser_check` . (Optional, string) Allowed values: "off", "on" +- `hotlink_protection` . (Optional, string) Allowed values: "off", "on" +- `http2` . (Optional, string) Allowed values: "off", "on" +- `image_load_optimization` . (Optional, string) Allowed values: "off", "on" +- `image_size_optimization` . (Optional, string) Allowed values: "lossless", "off", "lossy" +- `ip_geolocation` . (Optional, string) Allowed values: "off", "on" +- `origin_error_page_pass_thru` . (Optional, string) Allowed values: "off", "on" +- `brotli` . (Optional, string) Allowed values: "off", "on" +- `pseudo_ipv4` . (Optional, string) Allowed values: "overwrite_header", "off", "add_header" +- `prefetch_preload` . (Optional, string) Allowed values: "off", "on" +- `response_buffering` . (Optional, string) Allowed values: "off", "on" +- `script_load_optimization` . (Optional, string) Allowed values: "off", "on" +- `server_side_exclude` . (Optional, string) Allowed values: "off", "on" +- `tls_client_auth` . (Optional, string) Allowed values: "off", "on" +- `true_client_ip_header` . (Optional, string) Allowed values: "off", "on" +- `websockets` . (Optional, string) Allowed values: "off", "on" +- `challenge_ttl` . (Optional, string) Challenge TTL values: 300, 900, 1800, 2700, 3600, 7200, 10800, 14400, 28800, 57600, 86400, 604800, 2592000, 31536000 +- `max_upload` . (Optional, string) Maximum upload values: 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 475, 500 +- `cipher` . (Optional, string) Cipher setting values: "ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305","ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-RSA-CHACHA20-POLY1305", "ECDHE-ECDSA-AES128-SHA256", "ECDHE-ECDSA-AES128-SHA", "ECDHE-RSA-AES128-SHA256", "ECDHE-RSA-AES128-SHA", "AES128-GCM-SHA256", "AES128-SHA256", "AES128-SHA", "ECDHE-ECDSA-AES256-GCM-SHA384", "ECDHE-ECDSA-AES256-SHA384", "ECDHE-RSA-AES256-GCM-SHA384", "ECDHE-RSA-AES256-SHA384", "ECDHE-RSA-AES256-SHA", "AES256-GCM-SHA384", "AES256-SHA256", "AES256-SHA", "DES-CBC3-SHA" +- `minify` . (Optional, list) Minify setting + - `css` - (Required, string) CSS values: "on", "off" + - `html` - (Required, string) HTML values: "on", "off" + - `js` - (Required, string) JS values: "on", "off" +- `security_header` . (Optional, list) Security Headers + - `enabled` - (Required, boolean) Enabled values : true, false + - `include_subdomains` - (Required, boolean) Subdomain Included : true, false + - `max_age` - (Required, integer) Maximum age + - `nosniff` - (Required, boolean) No Sniff +- `mobile_redirect` . (Optional, list) Mobile Redirect Setting + - `status` - (Required, boolean) Mobile redirect setting status values: true, false + - `mobile_subdomain` . (Optional, string) Mobile redirect subdomain. Ex. m.domain.com + - `strip_uri` . (Optional, boolean) Strip URI for mobile redirect. +Additional settings not implemented in this version of the provider. ## Attributes Reference -The following attributes are exported: +The following attributes are exported: -* `certificate_status`. Value of: "none", "initializing", "authorizing", "active" +- `certificate_status`. (deprecated) Value of: "none", "initializing", "authorizing", "active"