code: def BuildAdGroupOperations(batch_job_helper,
                             campaign_operations, number_of_adgroups=1):
    
    adgroup_operations = [
        {
            # The xsi_type of the operation can usually be guessed by the API
            # because a given service only handles one type of operation.
            # However, batch jobs process operations of different types, so
            # the xsi_type must always be explicitly defined for these
            # operations.
            'xsi_type': 'AdGroupOperation',
            'operand': {
                'campaignId': campaign_operation['operand']['id'],
                'id': batch_job_helper.GetId(),
                'name': 'Batch Ad Group #%s' % uuid.uuid4(),
                'biddingStrategyConfiguration': {
                    'bids': [
                        {
                            'xsi_type': 'CpcBid',
                            'bid': {
                                'microAmount': 10000000
                            }
                        }
                    ]
                }
            },
            'operator': 'ADD'
        }
        for campaign_operation in campaign_operations
        for _ in range(number_of_adgroups)]
  
    return adgroup_operations
docs: Builds the operations adding desired number of AdGroups to given Campaigns.
  
    Note: When the AdGroups are created, they will have a different Id than those
    generated here as a temporary Id. This is just used to identify them in the
    BatchJobService.
  
    Args:
      batch_job_helper: a BatchJobHelper instance.
      campaign_operations: a list containing the operations that will add
        Campaigns.
      number_of_adgroups: an int defining the number of AdGroups to be created per
        Campaign.
  
    Returns:
      a list containing the operations that will add the desired number of
      AdGroups to each of the provided Campaigns.