'Creates OperationContract for deleteLoadBalancer.
To verify the operation, we just check that the GCP resources
created by upsert_load_balancer are no longer visible on GCP.'

def delete_load_balancer(self):

    bindings = self.bindings
    payload = self.agent.make_json_payload_from_kwargs(job=[{'type': 'deleteLoadBalancer', 'cloudProvider': 'gce', 'loadBalancerName': self.__lb_name, 'region': bindings['TEST_GCE_REGION'], 'regions': [bindings['TEST_GCE_REGION']], 'credentials': bindings['SPINNAKER_GOOGLE_ACCOUNT'], 'user': '[anonymous]'}], description='Delete    Load    Balancer:    {0}    in    {1}:{2}'.format(self.__lb_name, bindings['SPINNAKER_GOOGLE_ACCOUNT'], bindings['TEST_GCE_REGION']), application=self.TEST_APP)
    builder = gcp.GcpContractBuilder(self.gcp_observer)
    builder.new_clause_builder('Health    Check    Removed', retryable_for_secs=30).list_resource('httpHealthChecks').EXPECT(ov_factory.value_list_path_excludes('name', jp.STR_SUBSTR(('%s-hc' % self.__lb_name))))
    builder.new_clause_builder('TargetPool    Removed').list_resource('targetPools').EXPECT(ov_factory.value_list_path_excludes('name', jp.STR_SUBSTR(('%s-tp' % self.__lb_name))))
    builder.new_clause_builder('Forwarding    Rule    Removed').list_resource('forwardingRules').EXPECT(ov_factory.value_list_path_excludes('name', jp.STR_SUBSTR(self.__lb_name)))
    return st.OperationContract(self.new_post_operation(title='delete_load_balancer', data=payload, path='tasks'), contract=builder.build())
