Overview

Namespaces

  • Cloudflare
    • Organizations
      • Firewall
        • AccessRules
    • User
      • Billing
        • Subscriptions
      • Firewall
    • Zone
      • Firewall
      • SSL
      • WAF
        • Packages

Classes

  • Cloudflare\Api
  • Cloudflare\Certificates
  • Cloudflare\IPs
  • Cloudflare\Organizations\Firewall\AccessRules\Rules
  • Cloudflare\Organizations\Invites
  • Cloudflare\Organizations\Members
  • Cloudflare\Organizations\Organizations
  • Cloudflare\Organizations\Railguns
  • Cloudflare\Organizations\Roles
  • Cloudflare\Organizations\Virtual_Dns
  • Cloudflare\Railguns
  • Cloudflare\User
  • Cloudflare\User\Billing
  • Cloudflare\User\Billing\Subscriptions\Apps
  • Cloudflare\User\Billing\Subscriptions\Zones
  • Cloudflare\User\Firewall\AccessRules
  • Cloudflare\User\Invites
  • Cloudflare\User\Organizations
  • Cloudflare\User\Virtual_Dns
  • Cloudflare\Zone
  • Cloudflare\Zone\Analytics
  • Cloudflare\Zone\Cache
  • Cloudflare\Zone\CustomPages
  • Cloudflare\Zone\CustomSSL
  • Cloudflare\Zone\Dns
  • Cloudflare\Zone\Firewall\AccessRules
  • Cloudflare\Zone\KeylessSSL
  • Cloudflare\Zone\Pagerules
  • Cloudflare\Zone\Plan
  • Cloudflare\Zone\Railgun
  • Cloudflare\Zone\Settings
  • Cloudflare\Zone\SSL
  • Cloudflare\Zone\SSL\Analyze
  • Cloudflare\Zone\SSL\CertificatePacks
  • Cloudflare\Zone\WAF\Packages
  • Cloudflare\Zone\WAF\Packages\Groups
  • Cloudflare\Zone\WAF\Packages\Rules
  • Overview
  • Namespace
  • Class
 1: <?php
 2: 
 3: namespace Cloudflare\Zone;
 4: 
 5: use Cloudflare\Api;
 6: use Cloudflare\Zone;
 7: 
 8: /**
 9:  * CloudFlare API wrapper
10:  *
11:  * Railguns for a Zone
12:  *
13:  * @author James Bell <[email protected]>
14:  *
15:  * @version 1
16:  */
17: class Railgun extends Api
18: {
19:     /**
20:      * Default permissions level
21:      *
22:      * @var array
23:      */
24:     protected $permission_level = ['read' => '#zone_settings:read', 'edit' => '#zone_settings:edit'];
25: 
26:     /**
27:      * Get available Railguns (permission needed: #zone_settings:read)
28:      * A list of available Railguns the zone can use
29:      *
30:      * @param string $zone_identifier API item identifier tag
31:      */
32:     public function railguns($zone_identifier)
33:     {
34:         return $this->get('zones/'.$zone_identifier.'/railguns');
35:     }
36: 
37:     /**
38:      * Get Railgun details (permission needed: #zone_settings:read)
39:      * Details about a specific Railgun
40:      *
41:      * @param string $zone_identifier API item identifier tag
42:      * @param string $identifier
43:      */
44:     public function details($zone_identifier, $identifier)
45:     {
46:         return $this->get('zones/'.$zone_identifier.'/railguns/'.$identifier);
47:     }
48: 
49:     /**
50:      * Test Railgun connection (permission needed: #zone_settings:read)
51:      * Test Railgun connection to the Zone
52:      *
53:      * @param string $zone_identifier API item identifier tag
54:      * @param string $identifier
55:      */
56:     public function diagnose($zone_identifier, $identifier)
57:     {
58:         return $this->get('zones/'.$zone_identifier.'/railguns/'.$identifier.'/diagnose');
59:     }
60: 
61:     /**
62:      * Connect or disconnect a Railgun (permission needed: #zone_settings:edit)
63:      * Connect or disconnect a Railgun
64:      *
65:      * @param string $zone_identifier
66:      * @param string $identifier      API item identifier tag
67:      * @param bool   $connected       A flag indicating whether the given zone is connected to the Railgun [valid values: (true,false)]
68:      */
69:     public function connected($zone_identifier, $identifier, $connected)
70:     {
71:         $data = [
72:             'connected' => $connected,
73:         ];
74: 
75:         return $this->get('zones/'.$zone_identifier.'/railguns/'.$identifier, $data);
76:     }
77: }
78: 
API documentation generated by ApiGen