blob: 8e941a04e8eadeb43cccde7d57d314acae0a9b7a [file] [log] [blame]
-- Licensed to the Apache Software Foundation (ASF) under one
-- or more contributor license agreements. See the NOTICE file
-- distributed with this work for additional information
-- regarding copyright ownership. The ASF licenses this file
-- to you under the Apache License, Version 2.0 (the
-- "License"); you may not use this file except in compliance
-- with the License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- KIND, either express or implied. See the License for the
-- specific language governing permissions and limitations
-- under the License.
-- VIEW `cloud`.`async_job_view`;
DROP VIEW IF EXISTS `cloud`.`async_job_view`;
CREATE VIEW `cloud`.`async_job_view` AS
select
account.id account_id,
account.uuid account_uuid,
account.account_name account_name,
account.type account_type,
domain.id domain_id,
domain.uuid domain_uuid,
domain.name domain_name,
domain.path domain_path,
user.id user_id,
user.uuid user_uuid,
async_job.id,
async_job.uuid,
async_job.job_cmd,
async_job.job_status,
async_job.job_process_status,
async_job.job_result_code,
async_job.job_result,
async_job.created,
async_job.removed,
async_job.instance_type,
async_job.instance_id,
async_job.job_executing_msid,
CASE
WHEN async_job.instance_type = 'Volume' THEN volumes.uuid
WHEN
async_job.instance_type = 'Template'
or async_job.instance_type = 'Iso'
THEN
vm_template.uuid
WHEN
async_job.instance_type = 'VirtualMachine'
or async_job.instance_type = 'ConsoleProxy'
or async_job.instance_type = 'SystemVm'
or async_job.instance_type = 'DomainRouter'
THEN
vm_instance.uuid
WHEN async_job.instance_type = 'Snapshot' THEN snapshots.uuid
WHEN async_job.instance_type = 'Host' THEN host.uuid
WHEN async_job.instance_type = 'StoragePool' THEN storage_pool.uuid
WHEN async_job.instance_type = 'IpAddress' THEN user_ip_address.uuid
WHEN async_job.instance_type = 'SecurityGroup' THEN security_group.uuid
WHEN async_job.instance_type = 'PhysicalNetwork' THEN physical_network.uuid
WHEN async_job.instance_type = 'TrafficType' THEN physical_network_traffic_types.uuid
WHEN async_job.instance_type = 'PhysicalNetworkServiceProvider' THEN physical_network_service_providers.uuid
WHEN async_job.instance_type = 'FirewallRule' THEN firewall_rules.uuid
WHEN async_job.instance_type = 'Account' THEN acct.uuid
WHEN async_job.instance_type = 'User' THEN us.uuid
WHEN async_job.instance_type = 'StaticRoute' THEN static_routes.uuid
WHEN async_job.instance_type = 'PrivateGateway' THEN vpc_gateways.uuid
WHEN async_job.instance_type = 'Counter' THEN counter.uuid
WHEN async_job.instance_type = 'Condition' THEN conditions.uuid
WHEN async_job.instance_type = 'AutoScalePolicy' THEN autoscale_policies.uuid
WHEN async_job.instance_type = 'AutoScaleVmProfile' THEN autoscale_vmprofiles.uuid
WHEN async_job.instance_type = 'AutoScaleVmGroup' THEN autoscale_vmgroups.uuid
ELSE null
END instance_uuid
from
`cloud`.`async_job`
left join
`cloud`.`account` ON async_job.account_id = account.id
left join
`cloud`.`domain` ON domain.id = account.domain_id
left join
`cloud`.`user` ON async_job.user_id = user.id
left join
`cloud`.`volumes` ON async_job.instance_id = volumes.id
left join
`cloud`.`vm_template` ON async_job.instance_id = vm_template.id
left join
`cloud`.`vm_instance` ON async_job.instance_id = vm_instance.id
left join
`cloud`.`snapshots` ON async_job.instance_id = snapshots.id
left join
`cloud`.`host` ON async_job.instance_id = host.id
left join
`cloud`.`storage_pool` ON async_job.instance_id = storage_pool.id
left join
`cloud`.`user_ip_address` ON async_job.instance_id = user_ip_address.id
left join
`cloud`.`security_group` ON async_job.instance_id = security_group.id
left join
`cloud`.`physical_network` ON async_job.instance_id = physical_network.id
left join
`cloud`.`physical_network_traffic_types` ON async_job.instance_id = physical_network_traffic_types.id
left join
`cloud`.`physical_network_service_providers` ON async_job.instance_id = physical_network_service_providers.id
left join
`cloud`.`firewall_rules` ON async_job.instance_id = firewall_rules.id
left join
`cloud`.`account` acct ON async_job.instance_id = acct.id
left join
`cloud`.`user` us ON async_job.instance_id = us.id
left join
`cloud`.`static_routes` ON async_job.instance_id = static_routes.id
left join
`cloud`.`vpc_gateways` ON async_job.instance_id = vpc_gateways.id
left join
`cloud`.`counter` ON async_job.instance_id = counter.id
left join
`cloud`.`conditions` ON async_job.instance_id = conditions.id
left join
`cloud`.`autoscale_policies` ON async_job.instance_id = autoscale_policies.id
left join
`cloud`.`autoscale_vmprofiles` ON async_job.instance_id = autoscale_vmprofiles.id
left join
`cloud`.`autoscale_vmgroups` ON async_job.instance_id = autoscale_vmgroups.id;