def GroupAssetsReqHook(ref, args, req): """Hook up filter such that the CSCC filter is used rather than gcloud.""" del ref req.parent = GetParent(args) req.groupAssetsRequest.filter = args.filter args.filter = "" return req
def ListAssetsReqHook(ref, args, req): """Hook up filter such that the CSCC filter is used rather than gcloud.""" del ref req.parent = GetParent(args) if req.fieldMask is not None: req.fieldMask = CleanUpUserInput(req.fieldMask) req.filter = args.filter args.filter = "" return req
def GroupAssetsReqHook(ref, args, req): """Hook up filter such that the CSCC filter is used rather than gcloud.""" del ref req.parent = GetParent(args) if not req.groupAssetsRequest: messages = sc_client.GetMessages() req.groupAssetsRequest = messages.GroupAssetsRequest() req.groupAssetsRequest.filter = args.filter args.filter = "" return req
def _GetSourceNameForParent(args): """Returns relative resource name for a source.""" resource_pattern = re.compile( "(organizations|projects|folders)/.*/sources/[0-9-]+") id_pattern = re.compile("[0-9-]+") if (not resource_pattern.match(args.source) and not id_pattern.match(args.source)): raise InvalidSCCInputError( "The source must either be the full resource " "name or the numeric source ID.") if resource_pattern.match(args.source): # Handle full resource name return args.source return GetParent(args) + "/sources/" + args.source
def _GetAssetNameForParent(args): """Prepares asset relative path using organization and asset.""" resource_pattern = re.compile( "^(organizations|projects|folders)/.*/assets/[0-9]+$") id_pattern = re.compile("^[0-9]+$") if (not resource_pattern.match(args.asset) and not id_pattern.match(args.asset)): raise InvalidSCCInputError( "Asset argument must match either be the full resource name of " "the asset or only the number asset id.") if resource_pattern.match(args.asset): # Handle asset id as full resource name return args.asset return GetParent(args) + "/assets/" + args.asset
def ListFindingsReqHook(ref, args, req): """Generates a finding's parent using org and source and hook up filter.""" del ref # Unused. _ValidateMutexOnSourceAndParent(args) req.parent = _GetSourceNameForParent(args) req.filter = args.filter if req.fieldMask is not None: req.fieldMask = CleanUpUserInput(req.fieldMask) args.filter = "" resource_pattern = re.compile( "(organizations|projects|folders)/.*/sources/[0-9-]+$") parent = GetParent(args) if resource_pattern.match(parent): args.source = parent return req
def GroupFindingsReqHook(ref, args, req): """Generate a finding's name and parent using org, source and finding id.""" del ref # Unused. _ValidateMutexOnSourceAndParent(args) if not req.groupFindingsRequest: messages = sc_client.GetMessages() req.groupFindingsRequest = messages.GroupFindingsRequest() req.groupFindingsRequest.filter = args.filter args.filter = "" resource_pattern = re.compile( "(organizations|projects|folders)/[a-z0-9]+/sources/[0-9]+") parent = GetParent(args) if resource_pattern.match(parent): args.source = parent req.parent = _GetSourceNameForParent(args) return req
def DescribeAssetReqHook(ref, args, req): """Generate organization name from organization id.""" del ref req.parent = GetParent(args) req.filter = _GetNameOrResourceFilterForParent(args) return req