---
extracts:
  # The subnets for the load balancer.
  # Type: Array of AvailabilityZone objects
  # Required: No
  # 
  # apparently it could be empty according to documentation, but I don't believe so and can't find any LB without AZs
  - name: CA10__availabilityZones__c
    value: 
      FIELD:
        path: CA10__availabilityZones__c
        undeterminedIf:
          isEmpty: Corrupted data. Availability zones should always present
  - name: caSetFrom_availabilityZones__c
    value: 
      SET_FROM:
        separator: "\n"
        arg:
          EXTRACT: CA10__availabilityZones__c
# Checkbox for Classic load balancer record type.
  - name: CA10__crossZoneLoadBalancing__c
    value: 
      FIELD:
        path: CA10__crossZoneLoadBalancing__c
# Values: classic | application | network | gateway. Not nullable
  - name: CA10__type__c
    value: 
      FIELD:
        path: CA10__type__c
        undeterminedIf:
          isEmpty: "Corrupted data. Load Balancer Type cannot be empty."
  - name: CA10__additionalAttributes__c
    value: 
      FIELD:
        path: CA10__additionalAttributes__c
  - name: caSetFrom_additionalAttributes__c
    value: 
      SET_FROM:
        separator: "\n"
        arg:
          EXTRACT: CA10__additionalAttributes__c
# Checkbox.
  - name: CA10__accessLogsEnabled__c
    value: 
      FIELD:
        path: CA10__accessLogsEnabled__c
# Number.
  - name: CA10__requestCountOneMonth__c
    value: 
      FIELD:
        path: CA10__requestCountOneMonth__c
# Date/Time.
  - name: CA10__createdTime__c
    value: 
      FIELD:
        path: CA10__createdTime__c
# Checkbox.
  - name: CA10__connectionDrainingEnabled__c
    value: 
      FIELD:
        path: CA10__connectionDrainingEnabled__c
