Edits history of script submission #5091 for ' Update Load Balancer (cloudflare)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Cloudflare = {
      token: string;
      email: string;
      key: string;
    };
    /**
     * Update Load Balancer
     * Update a configured load balancer.
     */
    export async function main(
      auth: Cloudflare,
      identifier: string,
      identifier1: string,
      body: {
        adaptive_routing?: {
          failover_across_pools?: boolean;
          [k: string]: unknown;
        };
        country_pools?: { [k: string]: unknown };
        default_pools: string[];
        description?: string;
        enabled?: boolean;
        fallback_pool: { [k: string]: unknown };
        location_strategy?: {
          mode?: "pop" | "resolver_ip";
          prefer_ecs?: "always" | "never" | "proximity" | "geo";
          [k: string]: unknown;
        };
        name: string;
        pop_pools?: { [k: string]: unknown };
        proxied?: boolean;
        random_steering?: {
          default_weight?: number;
          pool_weights?: { [k: string]: unknown };
          [k: string]: unknown;
        };
        region_pools?: { [k: string]: unknown };
        rules?: {
          condition?: string;
          disabled?: boolean;
          fixed_response?: {
            content_type?: string;
            location?: string;
            message_body?: string;
            status_code?: number;
            [k: string]: unknown;
          };
          name?: string;
          overrides?: {
            adaptive_routing?: {
              failover_across_pools?: boolean;
              [k: string]: unknown;
            };
            country_pools?: { [k: string]: unknown };
            default_pools?: string[];
            fallback_pool?: { [k: string]: unknown };
            location_strategy?: {
              mode?: "pop" | "resolver_ip";
              prefer_ecs?: "always" | "never" | "proximity" | "geo";
              [k: string]: unknown;
            };
            pop_pools?: { [k: string]: unknown };
            random_steering?: {
              default_weight?: number;
              pool_weights?: { [k: string]: unknown };
              [k: string]: unknown;
            };
            region_pools?: { [k: string]: unknown };
            session_affinity?: "none" | "cookie" | "ip_cookie" | "header" | '""';
            session_affinity_attributes?: {
              drain_duration?: number;
              headers?: string & string[];
              require_all_headers?: boolean;
              samesite?: "Auto" | "Lax" | "None" | "Strict";
              secure?: "Auto" | "Always" | "Never";
              zero_downtime_failover?: "none" | "temporary" | "sticky";
              [k: string]: unknown;
            };
            session_affinity_ttl?: number;
            steering_policy?:
              | "off"
              | "geo"
              | "random"
              | "dynamic_latency"
              | "proximity"
              | "least_outstanding_requests"
              | "least_connections"
              | '""';
            ttl?: number;
            [k: string]: unknown;
          };
          priority?: number;
          terminates?: boolean;
        }[];
        session_affinity?: "none" | "cookie" | "ip_cookie" | "header" | '""';
        session_affinity_attributes?: {
          drain_duration?: number;
          headers?: string & string[];
          require_all_headers?: boolean;
          samesite?: "Auto" | "Lax" | "None" | "Strict";
          secure?: "Auto" | "Always" | "Never";
          zero_downtime_failover?: "none" | "temporary" | "sticky";
          [k: string]: unknown;
        };
        session_affinity_ttl?: number;
        steering_policy?:
          | "off"
          | "geo"
          | "random"
          | "dynamic_latency"
          | "proximity"
          | "least_outstanding_requests"
          | "least_connections"
          | '""';
        ttl?: number;
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/zones/${identifier1}/load_balancers/${identifier}`
      );
    
      const response = await fetch(url, {
        method: "PUT",
        headers: {
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 383 days ago

  • nativets
    type Cloudflare = {
      token: string;
      email: string;
      key: string;
    };
    /**
     * Update Load Balancer
     * Update a configured load balancer.
     */
    export async function main(
      auth: Cloudflare,
      identifier: string,
      identifier1: string,
      body: {
        adaptive_routing?: {
          failover_across_pools?: boolean;
          [k: string]: unknown;
        };
        country_pools?: { [k: string]: unknown };
        default_pools: string[];
        description?: string;
        enabled?: boolean;
        fallback_pool: { [k: string]: unknown };
        location_strategy?: {
          mode?: "pop" | "resolver_ip";
          prefer_ecs?: "always" | "never" | "proximity" | "geo";
          [k: string]: unknown;
        };
        name: string;
        pop_pools?: { [k: string]: unknown };
        proxied?: boolean;
        random_steering?: {
          default_weight?: number;
          pool_weights?: { [k: string]: unknown };
          [k: string]: unknown;
        };
        region_pools?: { [k: string]: unknown };
        rules?: {
          condition?: string;
          disabled?: boolean;
          fixed_response?: {
            content_type?: string;
            location?: string;
            message_body?: string;
            status_code?: number;
            [k: string]: unknown;
          };
          name?: string;
          overrides?: {
            adaptive_routing?: {
              failover_across_pools?: boolean;
              [k: string]: unknown;
            };
            country_pools?: { [k: string]: unknown };
            default_pools?: string[];
            fallback_pool?: { [k: string]: unknown };
            location_strategy?: {
              mode?: "pop" | "resolver_ip";
              prefer_ecs?: "always" | "never" | "proximity" | "geo";
              [k: string]: unknown;
            };
            pop_pools?: { [k: string]: unknown };
            random_steering?: {
              default_weight?: number;
              pool_weights?: { [k: string]: unknown };
              [k: string]: unknown;
            };
            region_pools?: { [k: string]: unknown };
            session_affinity?: "none" | "cookie" | "ip_cookie" | "header" | '""';
            session_affinity_attributes?: {
              drain_duration?: number;
              headers?: string & string[];
              require_all_headers?: boolean;
              samesite?: "Auto" | "Lax" | "None" | "Strict";
              secure?: "Auto" | "Always" | "Never";
              zero_downtime_failover?: "none" | "temporary" | "sticky";
              [k: string]: unknown;
            };
            session_affinity_ttl?: number;
            steering_policy?:
              | "off"
              | "geo"
              | "random"
              | "dynamic_latency"
              | "proximity"
              | "least_outstanding_requests"
              | "least_connections"
              | '""';
            ttl?: number;
            [k: string]: unknown;
          };
          priority?: number;
          terminates?: boolean;
        }[];
        session_affinity?: "none" | "cookie" | "ip_cookie" | "header" | '""';
        session_affinity_attributes?: {
          drain_duration?: number;
          headers?: string & string[];
          require_all_headers?: boolean;
          samesite?: "Auto" | "Lax" | "None" | "Strict";
          secure?: "Auto" | "Always" | "Never";
          zero_downtime_failover?: "none" | "temporary" | "sticky";
          [k: string]: unknown;
        };
        session_affinity_ttl?: number;
        steering_policy?:
          | "off"
          | "geo"
          | "random"
          | "dynamic_latency"
          | "proximity"
          | "least_outstanding_requests"
          | "least_connections"
          | '""';
        ttl?: number;
        [k: string]: unknown;
      }
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/zones/${identifier1}/load_balancers/${identifier}`
      );
    
      const response = await fetch(url, {
        method: "PUT",
        headers: {
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 920 days ago