{
  "version": "1.0",
  "resources": {
    "Listener": {
      "operation": "DescribeListeners",
      "resourceIdentifier": {
        "ListenerArn": "Listeners[].ListenerArn",
        "SslPolicy": "Listeners[].SslPolicy"
      }
    },
    "LoadBalancer": {
      "operation": "DescribeLoadBalancers",
      "resourceIdentifier": {
        "LoadBalancerArn": "LoadBalancers[].LoadBalancerArn",
        "IpAddressType": "LoadBalancers[].IpAddressType",
        "LoadBalancerName": "LoadBalancers[].LoadBalancerName"
      }
    },
    "Rule": {
      "operation": "DescribeRules",
      "resourceIdentifier": {
        "RuleArn": "Rules[].RuleArn"
      }
    },
    "TargetGroup": {
      "operation": "DescribeTargetGroups",
      "resourceIdentifier": {
        "TargetGroupArn": "TargetGroups[].TargetGroupArn",
        "Protocol": "TargetGroups[].Protocol",
        "HealthCheckProtocol": "TargetGroups[].HealthCheckProtocol",
        "HealthCheckPort": "TargetGroups[].HealthCheckPort",
        "HealthCheckPath": "TargetGroups[].HealthCheckPath",
        "TargetGroupName": "TargetGroups[].TargetGroupName"
      }
    },
    "TrustStore": {
      "operation": "DescribeTrustStores",
      "resourceIdentifier": {
        "TrustStoreArn": "TrustStores[].TrustStoreArn",
        "Name": "TrustStores[].Name"
      }
    }
  },
  "operations": {
    "AddListenerCertificates": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      }
    },
    "DeleteListener": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      }
    },
    "DeleteLoadBalancer": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "DeleteRule": {
      "RuleArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Rule",
            "resourceIdentifier": "RuleArn"
          }
        ]
      }
    },
    "DeleteTargetGroup": {
      "TargetGroupArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupArn"
          }
        ]
      }
    },
    "DeregisterTargets": {
      "TargetGroupArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupArn"
          }
        ]
      }
    },
    "DescribeListenerCertificates": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      }
    },
    "DescribeListeners": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      },
      "ListenerArns": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      }
    },
    "DescribeLoadBalancerAttributes": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "DescribeRules": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      },
      "RuleArns": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Rule",
            "resourceIdentifier": "RuleArn"
          }
        ]
      }
    },
    "DescribeTargetGroupAttributes": {
      "TargetGroupArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupArn"
          }
        ]
      }
    },
    "DescribeTargetGroups": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      },
      "TargetGroupArns": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupArn"
          }
        ]
      },
      "Names": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupName"
          }
        ]
      }
    },
    "DescribeTargetHealth": {
      "TargetGroupArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupArn"
          }
        ]
      }
    },
    "ModifyListener": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      },
      "Protocol": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "Protocol"
          }
        ]
      },
      "SslPolicy": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "SslPolicy"
          }
        ]
      }
    },
    "ModifyLoadBalancerAttributes": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "ModifyRule": {
      "RuleArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Rule",
            "resourceIdentifier": "RuleArn"
          }
        ]
      }
    },
    "ModifyTargetGroup": {
      "TargetGroupArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupArn"
          }
        ]
      },
      "HealthCheckProtocol": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "HealthCheckProtocol"
          }
        ]
      },
      "HealthCheckPort": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "HealthCheckPort"
          }
        ]
      },
      "HealthCheckPath": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "HealthCheckPath"
          }
        ]
      }
    },
    "ModifyTargetGroupAttributes": {
      "TargetGroupArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupArn"
          }
        ]
      }
    },
    "RegisterTargets": {
      "TargetGroupArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TargetGroup",
            "resourceIdentifier": "TargetGroupArn"
          }
        ]
      }
    },
    "RemoveListenerCertificates": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      }
    },
    "SetIpAddressType": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      },
      "IpAddressType": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "IpAddressType"
          }
        ]
      }
    },
    "SetSecurityGroups": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "SetSubnets": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "AddTrustStoreRevocations": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    },
    "CreateListener": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "CreateRule": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      }
    },
    "DeleteSharedTrustStoreAssociation": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    },
    "DeleteTrustStore": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    },
    "DescribeCapacityReservation": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "DescribeListenerAttributes": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      }
    },
    "DescribeLoadBalancers": {
      "LoadBalancerArns": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      },
      "Names": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerName"
          }
        ]
      }
    },
    "DescribeTrustStoreAssociations": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    },
    "DescribeTrustStoreRevocations": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    },
    "DescribeTrustStores": {
      "TrustStoreArns": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      },
      "Names": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "Name"
          }
        ]
      }
    },
    "GetTrustStoreCaCertificatesBundle": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    },
    "GetTrustStoreRevocationContent": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    },
    "ModifyCapacityReservation": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "ModifyIpPools": {
      "LoadBalancerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "LoadBalancer",
            "resourceIdentifier": "LoadBalancerArn"
          }
        ]
      }
    },
    "ModifyListenerAttributes": {
      "ListenerArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Listener",
            "resourceIdentifier": "ListenerArn"
          }
        ]
      }
    },
    "ModifyTrustStore": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    },
    "RemoveTrustStoreRevocations": {
      "TrustStoreArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "TrustStore",
            "resourceIdentifier": "TrustStoreArn"
          }
        ]
      }
    }
  }
}
