def common_resource_kwargs(resource: BaseResource) -> Dict: common_kwargs = {} if resource.account().id != "undefined" and "project" in resource.resource_args: common_kwargs["project"] = resource.account().id if resource.zone().name != "undefined" and "zone" in resource.resource_args: common_kwargs["zone"] = resource.zone().name elif resource.region().name != "undefined" and "region" in resource.resource_args: common_kwargs["region"] = resource.region().name return common_kwargs
def gcp_service(resource: BaseResource, graph: Graph = None): service_kwargs = {} if resource.account().id != "undefined": service_kwargs["credentials"] = Credentials.get(resource.account(graph).id) return gcp_client(resource.client, resource.api_version, **service_kwargs)
def aws_resource(resource: BaseResource, service: str, graph: Graph = None): return aws_session( resource.account(graph).id, resource.account(graph).role).resource( service, region_name=resource.region(graph).id)