diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 52342cee8e791f9d7f0706da78bc0d442ef2d9c7..ebe5dc853da1d76fc6b4f37ed0747b2a28db91f0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,7 +22,7 @@ variables:
   OSDU_SECURITY_HTTPS_CERTIFICATE_TRUST: 'true'
   OSDU_GCP_STORAGE_RECORDS_BATCH_SIZE: 20
   OSDU_GCP_DATA_GROUP: osdu
-  OSDU_GCP_ENV_VARS: AUTHORIZE_API=$OSDU_GCP_ENTITLEMENTS_URL,GOOGLE_CLOUD_PROJECT=$OSDU_GCP_PROJECT,REDIS_SEARCH_HOST=$REDIS_SEARCH_HOST,REDIS_GROUP_HOST=$REDIS_GROUP_HOST,SECURITY_HTTPS_CERTIFICATE_TRUST=$OSDU_SECURITY_HTTPS_CERTIFICATE_TRUST,INDEXER_HOST=$OSDU_GCP_INDEXER_HOST,STORAGE_QUERY_RECORD_HOST=$OSDU_GCP_STORAGE_QUERY_RECORD_HOST,STORAGE_SCHEMA_HOST=$OSDU_GCP_STORAGE_SCHEMA_HOST,STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST=$OSDU_GCP_STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST,STORAGE_HOSTNAME=$OSDU_GCP_STORAGE_HOSTNAME,STORAGE_RECORDS_BATCH_SIZE=$OSDU_GCP_STORAGE_RECORDS_BATCH_SIZE,INDEXER_QUEUE_HOST=$OSDU_GCP_INDEXER_QUEUE_HOST,LEGALTAG_API=$OSDU_GCP_LEGALTAG_API,CRS_API=$OSDU_GCP_CRS_API,DATA_GROUP=$OSDU_GCP_DATA_GROUP,GOOGLE_AUDIENCES=$GOOGLE_AUDIENCE,INDEXER_QUE_SERVICE_MAIL=$OSDU_GCP_QUEUE_SA_EMAIL,SCHEMA_HOST=$OSDU_GCP_SCHEMA_URL/api/schema-service/v1/schema --vpc-connector=$OSDU_GCP_VPC_CONNECTOR
+  OSDU_GCP_ENV_VARS: AUTHORIZE_API=$OSDU_GCP_ENTITLEMENTS_URL,GOOGLE_CLOUD_PROJECT=$OSDU_GCP_PROJECT,REDIS_SEARCH_HOST=$REDIS_SEARCH_HOST,REDIS_GROUP_HOST=$REDIS_GROUP_HOST,SECURITY_HTTPS_CERTIFICATE_TRUST=$OSDU_SECURITY_HTTPS_CERTIFICATE_TRUST,INDEXER_HOST=$OSDU_GCP_INDEXER_HOST,STORAGE_QUERY_RECORD_HOST=$OSDU_GCP_STORAGE_QUERY_RECORD_HOST,STORAGE_SCHEMA_HOST=$OSDU_GCP_STORAGE_SCHEMA_HOST,STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST=$OSDU_GCP_STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST,STORAGE_HOSTNAME=$OSDU_GCP_STORAGE_HOSTNAME,STORAGE_RECORDS_BATCH_SIZE=$OSDU_GCP_STORAGE_RECORDS_BATCH_SIZE,INDEXER_QUEUE_HOST=$OSDU_GCP_INDEXER_QUEUE_HOST,LEGALTAG_API=$OSDU_GCP_LEGALTAG_API,CRS_API=$OSDU_GCP_CRS_API,DATA_GROUP=$OSDU_GCP_DATA_GROUP,GOOGLE_AUDIENCES=$GOOGLE_AUDIENCE,PARTITION_API=$OSDU_GCP_PARTITION_API,INDEXER_QUE_SERVICE_MAIL=$OSDU_GCP_QUEUE_SA_EMAIL,SCHEMA_HOST=$OSDU_GCP_SCHEMA_URL/api/schema-service/v1/schema --vpc-connector=$OSDU_GCP_VPC_CONNECTOR
   OSDU_GCP_TEST_SUBDIR: testing/$OSDU_GCP_SERVICE-test-$OSDU_GCP_VENDOR
 
   IBM_BUILD_SUBDIR: provider/indexer-ibm
diff --git a/NOTICE b/NOTICE
index 31eb59906c5af75bf368a436b2dbcc49544d40f6..f26b38d79a26e4ed4242828fb75b1e2c06f17ff0 100644
--- a/NOTICE
+++ b/NOTICE
@@ -42,14 +42,10 @@ The following software have components provided under the terms of this license:
 - AWS Java SDK :: SDK Core (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK :: Services :: AWS Simple Systems Management (SSM) (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK :: Utilities (from )
-- AWS Java SDK for AWS Amplify (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS App Mesh (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS AppSync (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Application Auto Scaling (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Application Discovery Service (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Audit Manager (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Auto Scaling Plans (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Backup (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Batch (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Budgets (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Certificate Manager (from https://aws.amazon.com/sdkforjava)
@@ -63,241 +59,118 @@ The following software have components provided under the terms of this license:
 - AWS Java SDK for AWS CodeDeploy (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS CodePipeline (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS CodeStar (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS CodeStar Notifications (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS CodeStar connections (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Comprehend Medical (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Compute Optimizer (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Config (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Cost Explorer (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Cost and Usage Report (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Data Exchange (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Data Pipeline (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS DataSync (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Database Migration Service (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Device Farm (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Direct Connect (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Directory Service (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS EC2 Instance Connect (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Elastic Beanstalk (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Elemental MediaConvert (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Elemental MediaLive (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Elemental MediaPackage (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Elemental MediaPackage VOD (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Elemental MediaStore (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Elemental MediaStore Data Plane (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Fault Injection Simulator (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS GameLift (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Global Accelerator (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Glue (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Glue DataBrew (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Greengrass (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Ground Station (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Health APIs and Notifications (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS IAM (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Import/Export (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS IoT (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT 1-Click Devices (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT 1-Click Projects (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS IoT Analytics (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT Core Device Advisor (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT Events (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT Events Data (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT Fleet Hub (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT Greengrass V2 (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS IoT Jobs Data Plane (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT Secure Tunneling (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT SiteWise (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT Things Graph (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS IoT Wireless (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS KMS (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Lake Formation (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Lambda (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Lex (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS License Manager (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Marketplace Catalog (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Marketplace Commerce Analytics (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Marketplace Entitlement (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Marketplace Metering Service (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS MediaConnect (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS MediaTailor (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Migration Hub (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Migration Hub Config (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Mobile (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Network Firewall (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Network Manager (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS OpsWorks (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS OpsWorks for Chef Automate (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Organizations (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Outposts (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Performance Insights (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Pricing (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS RDS Data (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Resource Access Manager (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Resource Groups (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Resource Groups Tagging API (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS RoboMaker (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS S3 Control (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS SSO Identity Store (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS SSO OIDC (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS STS (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Savings Plans (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Secrets Manager (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS SecurityHub (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Server Migration (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Service Catalog (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Service Catalog App Registry (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Shield (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Signer (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Single Sign-On (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Single Sign-On Admin (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Step Functions (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Storage Gateway (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS Support (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Systems Manager Incident Manager (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Systems Manager Incident Manager Contacts (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Transfer for SFTP (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS WAF (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS WAFV2 (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWS Well-Architected Tool (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWS X-Ray (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AWSKendraFrontend (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AWSServerlessApplicationRepository (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Access Analyzer (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Alexa For Business (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon API Gateway (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon AppConfig (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon AppIntegrations (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon AppStream (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Appflow (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Athena (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Augmented AI Runtime (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Chime (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon CloudDirectory (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon CloudFront (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon CloudSearch (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon CloudWatch (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon CloudWatch Application Insights (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon CloudWatch Events (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon CloudWatch Logs (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon CodeGuru Profiler (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon CodeGuru Reviewer (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Cognito Identity (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Cognito Identity Provider Service (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Cognito Sync (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Comprehend (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Connect (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Connect Contact Lens (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Connect Customer Profiles (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Connect Participant (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Data Lifecycle Manager (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Detective (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon DevOps Guru (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon DocumentDB with MongoDB compatibility (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon DynamoDB (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon DynamoDB Accelerator (DAX) (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon EC2 (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon EMR (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon EMR Containers (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon ElastiCache (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Elastic  Inference (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Elastic Block Store (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Elastic Container Registry Public (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Elastic Container Service for Kubernetes (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Elastic File System (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Elastic Transcoder (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Elasticsearch Service (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon EventBridge (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon FSx (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Forecast (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Forecast Query (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Fraud Detector (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Glacier (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon GuardDuty (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon HealthLake (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Honeycode (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Interactive Video (from https://aws.amazon.com/sdkforjava)
+- AWS Java SDK for Amazon Inspector Service (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Kinesis (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Kinesis Analytics (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Kinesis Video Signaling Channels (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Kinesis Video Streams (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Lex Model Building (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Lex Model Building V2 (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Lex Runtime V2 (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Lightsail (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Location (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Lookout for Equipment (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Lookout for Metrics (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Lookout for Vision (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Machine Learning (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Macie (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Macie 2 (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Managed Blockchain (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Mechanical Turk Requester (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Neptune (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Personalize (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Personalize Events (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Personalize Runtime (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Pinpoint (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Pinpoint Email (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Pinpoint SMS and Voice (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Polly (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Prometheus (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon QLDB (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon QLDB Session (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon QuickSight (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon RDS (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Redshift (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Rekognition (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Route 53 Auto Naming (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Route 53 Resolver (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Route53 (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon S3 (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon S3 on Outposts (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon SES (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon SNS (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon SQS (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon SWF (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon SageMaker (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon SageMaker Feature Store Runtime (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon SageMaker Runtime (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Sagemaker Edge Manager (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Simple Email (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon SimpleDB (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Snowball (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Textract (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Timestream Query (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon Timestream Write (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Transcribe (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon Translate (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon WorkLink (from https://aws.amazon.com/sdkforjava)
+- AWS Java SDK for Amazon WorkDocs (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon WorkMail (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Amazon WorkMail Message Flow (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Amazon WorkSpaces (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AmazonApiGatewayManagementApi (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AmazonApiGatewayV2 (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for AmazonMQ (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AmazonMWAA (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AmazonNimbleStudio (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for AmplifyBackend (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Application Migration (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Auto Scaling (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Braket (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for CodeArtifact (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for EC2 Image Builder (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Elastic Load Balancing (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Elastic Load Balancing (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for FinSpace Public API (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for FinSpace User Environment Management (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for Firewall Management (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Managed Streaming for Kafka (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Redshift Data API (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Schemas (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Service Quotas (from https://aws.amazon.com/sdkforjava)
-- AWS Java SDK for Synthetics (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for the AWS CloudHSM (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for the AWS Simple Systems Management (SSM) Service (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for the Amazon EC2 Container Registry (from https://aws.amazon.com/sdkforjava)
 - AWS Java SDK for the Amazon EC2 Container Service (from https://aws.amazon.com/sdkforjava)
+- AWS SDK For Java (from https://aws.amazon.com/sdkforjava)
+- AWS SDK for Java - BOM (from https://aws.amazon.com/sdkforjava)
 - AWS SDK for Java - Core (from https://aws.amazon.com/sdkforjava)
 - AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava)
 - Adapter: RxJava (from )
@@ -336,6 +209,7 @@ The following software have components provided under the terms of this license:
 - Asynchronous Http Client (from )
 - Asynchronous Http Client Netty Utils (from )
 - AutoValue (from )
+- AutoValue Annotations (from )
 - Azure AD Spring Security Integration Spring Boot Starter (from https://github.com/Microsoft/azure-spring-boot)
 - Azure Metrics Spring Boot Starter (from https://github.com/Microsoft/azure-spring-boot)
 - BSON (from http://bsonspec.org)
@@ -364,6 +238,7 @@ The following software have components provided under the terms of this license:
 - Elasticsearch: 5.0.0-alpha5 (from https://github.com/elastic/elasticsearch)
 - Elasticsearch: 5.0.0-alpha5 (from https://github.com/elastic/elasticsearch)
 - FindBugs-jsr305 (from http://findbugs.sourceforge.net/)
+- GSON extensions to the Google HTTP Client Library for Java. (from )
 - Google APIs Client Library for Java (from )
 - Google APIs Client Library for Java (from )
 - Google App Engine extensions to the Google HTTP Client Library for Java. (from )
@@ -612,6 +487,8 @@ The following software have components provided under the terms of this license:
 - StAX (from http://stax.codehaus.org/)
 - StAX API (from http://stax.codehaus.org/)
 - T-Digest (from https://github.com/tdunning/t-digest)
+- Vavr (from http://vavr.io)
+- Vavr Match (from http://vavr.io)
 - Woodstox (from https://github.com/FasterXML/woodstox)
 - Xerces2-j (from https://xerces.apache.org/xerces2-j/)
 - aalto-xml (from )
@@ -686,6 +563,8 @@ The following software have components provided under the terms of this license:
 - proton-j (from )
 - rank-eval (from https://github.com/elastic/elasticsearch)
 - rank-eval (from https://github.com/elastic/elasticsearch)
+- resilience4j (from https://github.com/resilience4j/resilience4j)
+- resilience4j (from https://github.com/resilience4j/resilience4j)
 - rest (from https://github.com/elastic/elasticsearch)
 - rest (from https://github.com/elastic/elasticsearch)
 - rest-high-level (from https://github.com/elastic/elasticsearch)
@@ -761,6 +640,8 @@ The following software have components provided under the terms of this license:
 - Google APIs Client Library for Java (from )
 - Google APIs Client Library for Java (from )
 - Google Auth Library for Java - Credentials (from )
+- Google Auth Library for Java - Credentials (from )
+- Google Auth Library for Java - OAuth2 HTTP (from )
 - Google Auth Library for Java - OAuth2 HTTP (from )
 - Hamcrest library (from )
 - JDOM (from http://www.jdom.org)
diff --git a/indexer-core/pom.xml b/indexer-core/pom.xml
index 6a506916315115f5e405e38bd3cd126c2017721d..94aa6f13d7c3c3c7f9c755f5585eea1306ed5481 100644
--- a/indexer-core/pom.xml
+++ b/indexer-core/pom.xml
@@ -4,19 +4,19 @@
 	<parent>
 		<groupId>org.opengroup.osdu.indexer</groupId>
 		<artifactId>indexer-service</artifactId>
-		<version>0.9.0-SNAPSHOT</version>
+		<version>0.10.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 
 	<artifactId>indexer-core</artifactId>
-	<version>0.9.0-SNAPSHOT</version>
+	<version>0.10.0-SNAPSHOT</version>
 	<name>indexer-core</name>
 	<description>Indexer Service Core</description>
 	<packaging>jar</packaging>
 
 	<properties>
 		<commons-beanutils.version>1.9.4</commons-beanutils.version>
-		<osdu.oscorecommon.version>0.9.0-SNAPSHOT</osdu.oscorecommon.version>
+		<osdu.oscorecommon.version>0.9.0</osdu.oscorecommon.version>
 	</properties>
 
 	<dependencies>
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java
index 095b66a84fd8b3174140d0294012e0aa0c025b5e..fb0469356a95978325aa45d9f44b3dd186b308fa 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java
@@ -244,7 +244,11 @@ public class IndexSchemaServiceImpl implements IndexSchemaService {
         HashMap<String, Object> propertiesMap = new HashMap<>();
         for (SchemaItem propertiesItem : schemaItem.getProperties()) {
             String propertiesItemKind = propertiesItem.getKind();
-            String propertiesElasticType = TypeMapper.getIndexerType(propertiesItemKind,ElasticType.TEXT.getValue());
+            Object propertiesElasticType = TypeMapper.getIndexerType(propertiesItemKind,ElasticType.TEXT.getValue());
+            if(propertiesItem.getProperties() != null){
+                HashMap<String, Object> innerProperties = normalizeInnerProperties(propertiesItem);
+                propertiesElasticType = TypeMapper.getObjectsArrayMapping(propertiesItemKind, innerProperties);
+            }
             propertiesMap.put(propertiesItem.getPath(),propertiesElasticType);
         }
         return propertiesMap;
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
index 7141317fa91b646dd22ed35a3746fa5ffefa275b..6a9a9dc4c30900a76fa811ac63315bce6358efb0 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
@@ -45,7 +45,7 @@ public class TypeMapper {
         metaAttributeIndexerType.put(RecordMetaAttribute.VERSION.getValue(), ElasticType.LONG.getValue());
         metaAttributeIndexerType.put(RecordMetaAttribute.X_ACL.getValue(), ElasticType.KEYWORD.getValue());
         metaAttributeIndexerType.put(RecordMetaAttribute.ACL.getValue(), getAclIndexerMapping());
-        metaAttributeIndexerType.put(RecordMetaAttribute.TAGS.getValue(), ElasticType.OBJECT.getValue());
+        metaAttributeIndexerType.put(RecordMetaAttribute.TAGS.getValue(), ElasticType.FLATTENED.getValue());
         metaAttributeIndexerType.put(RecordMetaAttribute.LEGAL.getValue(), getLegalIndexerMapping());
         metaAttributeIndexerType.put(RecordMetaAttribute.ANCESTRY.getValue(), getAncestryIndexerMapping());
         metaAttributeIndexerType.put(RecordMetaAttribute.INDEX_STATUS.getValue(), getIndexStatusMapping());
@@ -104,7 +104,11 @@ public class TypeMapper {
             Map<String,Object> type = (Map<String, Object>) indexerType;
             Map<String, Object> propertiesMap = (Map<String, Object>) type.get(Constants.PROPERTIES);
             for (Map.Entry<String,Object> entry : propertiesMap.entrySet()){
-                entry.setValue(Records.Type.builder().type(entry.getValue().toString()).build());
+                if(isMap(entry.getValue())){
+                    entry.setValue(getDataAttributeIndexerMapping(entry.getValue()));
+                }else {
+                    entry.setValue(Records.Type.builder().type(entry.getValue().toString()).build());
+                }
             }
             return indexerType;
         }
diff --git a/pom.xml b/pom.xml
index 6265945bd14bac470785a373998e3e37ade3b30a..6cb939bafbe005a3fafe98a932c1a130fd3a9199 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,14 +12,14 @@
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-service</artifactId>
     <packaging>pom</packaging>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <description>Indexer Service</description>
 
     <properties>
         <java.version>1.8</java.version>
         <springfox-version>2.7.0</springfox-version>
         <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
-        <os-core-common.version>0.9.0-SNAPSHOT</os-core-common.version>
+        <os-core-common.version>0.9.0</os-core-common.version>
         <snakeyaml.version>1.26</snakeyaml.version>
         <hibernate-validator.version>6.1.5.Final</hibernate-validator.version>
         <jackson.version>2.11.4</jackson.version>
diff --git a/provider/indexer-aws/pom.xml b/provider/indexer-aws/pom.xml
index d445ae8f36d195b77597115a7d91875de213c5ee..9b61d00163515ed199c46bbf6cb307eabdb07891 100644
--- a/provider/indexer-aws/pom.xml
+++ b/provider/indexer-aws/pom.xml
@@ -18,7 +18,7 @@
   <parent>
       <groupId>org.opengroup.osdu.indexer</groupId>
       <artifactId>indexer-service</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
+      <version>0.10.0-SNAPSHOT</version>
       <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -26,12 +26,11 @@
   <artifactId>indexer-aws</artifactId>
   <description>Storage service on AWS</description>
   <packaging>jar</packaging>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
 
   <properties>
       <aws.version>1.11.637</aws.version>
       <deployment.environment>dev</deployment.environment>
-      <version.number>1.0.6-SNAPSHOT</version.number>
   </properties>
 
   <dependencies>
@@ -43,7 +42,7 @@
     <dependency>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-core</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
     </dependency>
     <dependency>
         <groupId>org.opengroup.osdu.core.aws</groupId>
diff --git a/provider/indexer-azure/pom.xml b/provider/indexer-azure/pom.xml
index 764fabd09e41e39c7aa40402da08f2e7102b1d97..9a4e029c2ad739b40f409b02fc0f2b5e5f2d07da 100644
--- a/provider/indexer-azure/pom.xml
+++ b/provider/indexer-azure/pom.xml
@@ -21,12 +21,12 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
     <artifactId>indexer-azure</artifactId>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <name>indexer-azure</name>
     <description>Indexer Service Azure</description>
     <packaging>jar</packaging>
@@ -39,7 +39,7 @@
         <azure.appservice.subscription />
         <log4j.version>2.11.2</log4j.version>
         <nimbus-jose-jwt.version>8.2</nimbus-jose-jwt.version>
-        <indexer-core.version>0.9.0-SNAPSHOT</indexer-core.version>
+        <indexer-core.version>0.10.0-SNAPSHOT</indexer-core.version>
         <spring-security-jwt.version>1.1.1.RELEASE</spring-security-jwt.version>
         <osdu.corelibazure.version>0.6.2</osdu.corelibazure.version>
         <reactor-netty.version>0.9.12.RELEASE</reactor-netty.version>
@@ -203,6 +203,18 @@
             <artifactId>elasticsearch-rest-high-level-client</artifactId>
         </dependency>
 
+        <!-- Resilience4j Dependencies-->
+        <dependency>
+            <groupId>io.github.resilience4j</groupId>
+            <artifactId>resilience4j-retry</artifactId>
+            <version>1.7.0</version>
+        </dependency>
+        <dependency>
+            <groupId>io.github.resilience4j</groupId>
+            <artifactId>resilience4j-core</artifactId>
+            <version>1.7.0</version>
+        </dependency>
+
         <!-- Test Dependencies -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/RetryPolicy.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/RetryPolicy.java
new file mode 100644
index 0000000000000000000000000000000000000000..47d906c9ad7e83e29b112ea8339117877503a430
--- /dev/null
+++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/RetryPolicy.java
@@ -0,0 +1,81 @@
+//  Copyright © Microsoft Corporation
+//
+//  Licensed 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.
+
+package org.opengroup.osdu.indexer.azure.service;
+
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import io.github.resilience4j.retry.RetryConfig;
+import lombok.Data;
+import lombok.extern.java.Log;
+import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.http.HttpResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.time.Duration;
+
+/**
+ * This class handles retry configuration logic for calls made to <prefix>/storage/v2/query/records:batch
+ * to resolve intermittent CosmosDb Not found issue
+ */
+
+@Log
+@Component
+@Data
+@ConfigurationProperties(prefix = "azure.storage.client.retry")
+public class RetryPolicy {
+
+    @Autowired
+    private JaxRsDpsLog logger;
+
+    private int attempts = 3;
+    private int waitDuration = 1000;
+    private final String RECORD_NOT_FOUND = "notFound";
+
+    /**
+     * @return RetryConfig with 3 attempts and 1 sec wait time
+     */
+    public RetryConfig retryConfig() {
+        return RetryConfig.<HttpResponse>custom()
+                .maxAttempts(attempts)
+                .waitDuration(Duration.ofMillis(waitDuration))
+                .retryOnResult(response -> isRetryRequired(response))
+                .build();
+    }
+
+    /**
+     * Unfound records get listed under a JsonArray "notFound" in the http json response
+     * @param response
+     * @return if there are elements in "notFound" returns true, else false
+     */
+    private boolean isRetryRequired(HttpResponse response) {
+        if (response == null || response.getBody().isEmpty()) {
+            return false;
+        }
+        JsonObject jsonObject = new JsonParser().parse(response.getBody()).getAsJsonObject();
+        JsonElement notFoundElement = (JsonArray) jsonObject.get(RECORD_NOT_FOUND);
+        if (notFoundElement == null ||
+                !notFoundElement.isJsonArray() ||
+                notFoundElement.getAsJsonArray().size() == 0 ||
+                notFoundElement.getAsJsonArray().isJsonNull()) {
+            return false;
+        }
+        log.info("Retry is set true");
+        return true;
+    }
+}
diff --git a/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImpl.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..d56b888fafaf747bd51f97658e7bfd255a0f31e9
--- /dev/null
+++ b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImpl.java
@@ -0,0 +1,95 @@
+//  Copyright © Microsoft Corporation
+//
+//  Licensed 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.
+
+package org.opengroup.osdu.indexer.azure.service;
+
+import io.github.resilience4j.retry.Retry;
+import io.github.resilience4j.retry.RetryConfig;
+import io.github.resilience4j.retry.RetryRegistry;
+import org.opengroup.osdu.core.common.http.FetchServiceHttpRequest;
+import org.opengroup.osdu.core.common.http.IUrlFetchService;
+import org.opengroup.osdu.core.common.http.UrlFetchServiceImpl;
+import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.http.HttpResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
+import org.springframework.stereotype.Service;
+import org.springframework.web.context.annotation.RequestScope;
+
+import java.net.URISyntaxException;
+import java.util.function.Supplier;
+
+/**
+ * This class has same function as that of UrlFetchService except in the case of
+ * <prefix>/storage/v2/query/records:batch call for which it enables retry
+ */
+
+@Service
+@RequestScope
+@Primary
+public class UrlFetchServiceAzureImpl implements IUrlFetchService {
+
+    public static final String STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST_URL = "storage/v2/query/records:batch";
+
+    @Autowired
+    private RetryPolicy policy;
+
+    @Autowired
+    private UrlFetchServiceImpl urlFetchService;
+
+    @Autowired
+    private JaxRsDpsLog logger;
+    /**
+     * this method invokes retryFunction only for <prefix>/storage/v2/query/records:batch
+     * calls otherwise invokes UrlFetchService.sendRequest(FetchServiceHttpRequest request)
+     *
+     * @param httpRequest
+     * @return
+     * @throws URISyntaxException
+     */
+    @Override
+    public HttpResponse sendRequest(FetchServiceHttpRequest httpRequest) throws URISyntaxException {
+        HttpResponse output;
+        if (httpRequest.getUrl().contains(STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST_URL)) {
+            output = this.retryFunction(httpRequest);
+            if (output != null) {
+                return output;
+            }
+        }
+        return this.urlFetchService.sendRequest(httpRequest);
+    }
+
+    /**
+     * decorates UrlFetchService.sendRequest(FetchServiceHttpRequest request)
+     * with retry configurations in RetryPolicy
+     *
+     * @param request
+     * @return null if URISyntaxException is caught else returns HttpResponse
+     */
+    private HttpResponse retryFunction(FetchServiceHttpRequest request) {
+        RetryConfig config = this.policy.retryConfig();
+        RetryRegistry registry = RetryRegistry.of(config);
+        Retry retry = registry.retry("retryPolicy", config);
+
+        Supplier<HttpResponse> urlFetchServiceSupplier = () -> {
+            try {
+                return this.urlFetchService.sendRequest(request);
+            } catch (URISyntaxException e) {
+                logger.error("HttpResponse is null due to URISyntaxException. " + e.getReason());
+                return null;
+            }
+        };
+        return (urlFetchServiceSupplier == null) ? null : Retry.decorateSupplier(retry, urlFetchServiceSupplier).get();
+    }
+}
diff --git a/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/RetryPolicyTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/RetryPolicyTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..70a7fcb9e0e7bdbb2da003a5953645e8cf91cfc3
--- /dev/null
+++ b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/RetryPolicyTest.java
@@ -0,0 +1,163 @@
+//  Copyright © Microsoft Corporation
+//
+//  Licensed 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.
+
+package org.opengroup.osdu.indexer.azure.service;
+
+import io.github.resilience4j.retry.RetryConfig;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.core.common.http.FetchServiceHttpRequest;
+import org.opengroup.osdu.core.common.http.UrlFetchServiceImpl;
+import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.http.HttpResponse;
+
+import java.util.function.Predicate;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+@RunWith(MockitoJUnitRunner.class)
+public class RetryPolicyTest {
+
+    private static final String JSON_RESPONSE_WITH_NOT_FOUND = "{\n" +
+            "    \"records\": [\n" +
+            "        {\n" +
+            "            \"data\": {\n" +
+            "                \"Spuddate\": \"atspud\",\n" +
+            "                \"UWI\": \"atuwi\",\n" +
+            "                \"latitude\": \"latitude\",\n" +
+            "                \"longitude\": \"longitude\"\n" +
+            "            },\n" +
+            "            \"meta\": null,\n" +
+            "            \"id\": \"demo\",\n" +
+            "            \"version\": demo,\n" +
+            "            \"kind\": \"demo\",\n" +
+            "            \"acl\": {\n" +
+            "                \"viewers\": [\n" +
+            "                    \"demo\"\n" +
+            "                ],\n" +
+            "                \"owners\": [\n" +
+            "                    \"demo\"\n" +
+            "                ]\n" +
+            "            },\n" +
+            "            \"legal\": {\n" +
+            "                \"legaltags\": [\n" +
+            "                    \"opendes-test-tag\"\n" +
+            "                ],\n" +
+            "                \"otherRelevantDataCountries\": [\n" +
+            "                    \"BR\"\n" +
+            "                ],\n" +
+            "                \"status\": \"compliant\"\n" +
+            "            },\n" +
+            "            \"createUser\": \"demo\",\n" +
+            "            \"createTime\": \"demo\"\n" +
+            "        }\n" +
+            "    ],\n" +
+            "    \"notFound\": [\n" +
+            "        \"demo\"\n" +
+            "    ],\n" +
+            "    \"conversionStatuses\": []\n" +
+            "}";
+
+    private static final String JSON_RESPONSE1_WITHOUT_NOT_FOUND = "{\n" +
+            "    \"records\": [\n" +
+            "        {\n" +
+            "            \"data\": {\n" +
+            "                \"Spuddate\": \"atspud\",\n" +
+            "                \"UWI\": \"atuwi\",\n" +
+            "                \"latitude\": \"latitude\",\n" +
+            "                \"longitude\": \"longitude\"\n" +
+            "            },\n" +
+            "            \"meta\": null,\n" +
+            "            \"id\": \"demo\",\n" +
+            "            \"version\": demo,\n" +
+            "            \"kind\": \"demo\",\n" +
+            "            \"acl\": {\n" +
+            "                \"viewers\": [\n" +
+            "                    \"demo\"\n" +
+            "                ],\n" +
+            "                \"owners\": [\n" +
+            "                    \"demo\"\n" +
+            "                ]\n" +
+            "            },\n" +
+            "            \"legal\": {\n" +
+            "                \"legaltags\": [\n" +
+            "                    \"opendes-test-tag\"\n" +
+            "                ],\n" +
+            "                \"otherRelevantDataCountries\": [\n" +
+            "                    \"BR\"\n" +
+            "                ],\n" +
+            "                \"status\": \"compliant\"\n" +
+            "            },\n" +
+            "            \"createUser\": \"demo\",\n" +
+            "            \"createTime\": \"demo\"\n" +
+            "        }\n" +
+            "    ],\n" +
+            "    \"notFound\": [],\n" +
+            "    \"conversionStatuses\": []\n" +
+            "}";
+
+    private static final String JSON_RESPONSE2_WITHOUT_NOT_FOUND = "{\n" +
+            " \"records\" :[],\n" +
+            " \"conversionStatuses\":[]\n" +
+            "}";
+
+    @Mock
+    private UrlFetchServiceImpl urlFetchService;
+    @Mock
+    private FetchServiceHttpRequest httpRequest;
+    @InjectMocks
+    private HttpResponse response;
+    @InjectMocks
+    private RetryPolicy retryPolicy;
+    @Mock
+    private JaxRsDpsLog logger;
+
+
+    @Test
+    public void retry_should_be_true_for_jsonResponseWithNotFound() {
+        RetryConfig config = this.retryPolicy.retryConfig();
+        Predicate<HttpResponse> retry = config.getResultPredicate();
+        response.setBody(JSON_RESPONSE_WITH_NOT_FOUND);
+        assert retry != null;
+        boolean value = retry.test(response);
+
+        assertTrue(value);
+    }
+
+    @Test
+    public void retry_should_be_false_for_jsonResponse1WithOut_NotFound() {
+        RetryConfig config = this.retryPolicy.retryConfig();
+        Predicate<HttpResponse> retry = config.getResultPredicate();
+        response.setBody(JSON_RESPONSE1_WITHOUT_NOT_FOUND);
+        boolean value = retry.test(response);
+
+        assertFalse(value);
+    }
+
+    @Test
+    public void retry_should_be_false_for_jsonResponse2WithOut_NotFound() {
+        RetryConfig config = this.retryPolicy.retryConfig();
+        Predicate<HttpResponse> retry = config.getResultPredicate();
+        response.setBody(JSON_RESPONSE2_WITHOUT_NOT_FOUND);
+        boolean value = retry.test(response);
+
+        assertFalse(value);
+    }
+
+}
diff --git a/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImplTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImplTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..916c5b8bc987621937eb80d955fb80c4e7dab5f2
--- /dev/null
+++ b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/UrlFetchServiceAzureImplTest.java
@@ -0,0 +1,139 @@
+//  Copyright © Microsoft Corporation
+//
+//  Licensed 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.
+
+package org.opengroup.osdu.indexer.azure.service;
+
+import io.github.resilience4j.retry.RetryConfig;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.core.common.http.FetchServiceHttpRequest;
+import org.opengroup.osdu.core.common.http.UrlFetchServiceImpl;
+import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.http.HttpResponse;
+
+import java.time.Duration;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.atMost;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.when;
+
+
+@RunWith(MockitoJUnitRunner.class)
+public class UrlFetchServiceAzureImplTest {
+
+    @Mock
+    private JaxRsDpsLog logger;
+    @Mock
+    private UrlFetchServiceImpl urlFetchService;
+    @InjectMocks
+    private FetchServiceHttpRequest httpRequest;
+    @InjectMocks
+    private HttpResponse response;
+    @Mock
+    private RetryPolicy retryPolicy;
+    @InjectMocks
+    private UrlFetchServiceAzureImpl urlFetchServiceAzure;
+
+    private static final String JSON1 = "{\n" +
+            "    \"records\": [\n" +
+            "        {\n" +
+            "            \"data\": {\n" +
+            "                \"Spuddate\": \"atspud\",\n" +
+            "                \"UWI\": \"atuwi\",\n" +
+            "                \"latitude\": \"latitude\",\n" +
+            "                \"longitude\": \"longitude\"\n" +
+            "            },\n" +
+            "            \"meta\": null,\n" +
+            "            \"id\": \"demo\",\n" +
+            "            \"version\": demo,\n" +
+            "            \"kind\": \"demo\",\n" +
+            "            \"acl\": {\n" +
+            "                \"viewers\": [\n" +
+            "                    \"demo\"\n" +
+            "                ],\n" +
+            "                \"owners\": [\n" +
+            "                    \"demo\"\n" +
+            "                ]\n" +
+            "            },\n" +
+            "            \"legal\": {\n" +
+            "                \"legaltags\": [\n" +
+            "                    \"opendes-test-tag\"\n" +
+            "                ],\n" +
+            "                \"otherRelevantDataCountries\": [\n" +
+            "                    \"BR\"\n" +
+            "                ],\n" +
+            "                \"status\": \"compliant\"\n" +
+            "            },\n" +
+            "            \"createUser\": \"demo\",\n" +
+            "            \"createTime\": \"demo\"\n" +
+            "        }\n" +
+            "    ],\n" +
+            "    \"notFound\": [\n" +
+            "        \"demo\"\n" +
+            "    ],\n" +
+            "    \"conversionStatuses\": []\n" +
+            "}";
+
+    private static final String JSON2 = "{\n" +
+            " \"records\" :[],\n" +
+            " \"conversionStatuses\":[]\n" +
+            "}";
+
+    private static final String url = "https://demo/api/storage/v2/query/records:batch";
+    private static final String url2 = "https://demo/api/storage/v2/schemas";
+
+    @Before
+    public void setUp() {
+        when(this.retryPolicy.retryConfig()).thenReturn(new RetryPolicy().retryConfig());
+    }
+
+    @Test
+    public void shouldRetry_ForJSON1_when_storageQueryRecordCallIsMade() throws Exception {
+        response.setBody(JSON1);
+        httpRequest.setUrl(url);
+
+        when(urlFetchServiceAzure.sendRequest(httpRequest)).thenReturn(response);
+
+        urlFetchServiceAzure.sendRequest(httpRequest);
+        verify(urlFetchService, atMost(4)).sendRequest(httpRequest);
+    }
+
+    @Test
+    public void shouldNotRetry_ForJSON2_when_storageQueryRecordCallIsMade() throws Exception {
+        response.setBody(JSON2);
+        httpRequest.setUrl(url);
+
+        when(urlFetchServiceAzure.sendRequest(httpRequest)).thenReturn(response);
+
+        urlFetchServiceAzure.sendRequest(httpRequest);
+        verify(urlFetchService, atMost(2)).sendRequest(httpRequest);
+    }
+
+
+    @Test
+    public void retryFunction_shouldNotBeCalled() throws Exception {
+        httpRequest.setUrl(url2);
+
+        when(urlFetchService.sendRequest(httpRequest)).thenReturn(response);
+
+        urlFetchServiceAzure.sendRequest(httpRequest);
+        verify(urlFetchService, times(1)).sendRequest(httpRequest);
+    }
+
+}
diff --git a/provider/indexer-gcp/README.md b/provider/indexer-gcp/README.md
index c40c11f423195ef35f0f093617f1dbcdcf0d3c75..8fee43caf512cb0347543246e7724bb53ad82aaa 100644
--- a/provider/indexer-gcp/README.md
+++ b/provider/indexer-gcp/README.md
@@ -148,6 +148,8 @@ You will need to have the following environment variables defined.
 | `SEARCH_HOST` | ex `http://localhost:8080/api/search/v2/` | Endpoint of search service | no | - |
 | `STORAGE_HOST` | ex `http://os-storage-dot-opendes.appspot.com/api/storage/v2/schemas` | Storage API endpoint | Storage Host | no | output of infrastructure deployment |
 | `SECURITY_HTTPS_CERTIFICATE_TRUST` | ex `false` | Elastic client connection uses TrustSelfSignedStrategy(), if it is 'true' | false | output of infrastructure deployment |
+| `GOOGLE_AUDIENCES` | ex `*****.apps.googleusercontent.com` | Client ID for getting access to cloud resources | yes | https://console.cloud.google.com/apis/credentials |
+| `PARTITION_API` | ex `http://localhost:8081/api/partition/v1` | Partition service endpoint | no | - |
 
 
 **Entitlements configuration for integration accounts**
diff --git a/provider/indexer-gcp/pom.xml b/provider/indexer-gcp/pom.xml
index bd5ed65ec20508a34f618533bc0b443dcb113557..3777b89133e2f85a6ef41ab8a991f93b8f35876e 100644
--- a/provider/indexer-gcp/pom.xml
+++ b/provider/indexer-gcp/pom.xml
@@ -5,12 +5,12 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
     <artifactId>indexer-gcp</artifactId>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <name>indexer-gcp</name>
     <description>Indexer Service GCP App Engine</description>
     <packaging>jar</packaging>
@@ -19,13 +19,13 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-core</artifactId>
-            <version>0.9.0-SNAPSHOT</version>
+            <version>0.10.0-SNAPSHOT</version>
         </dependency>
 
         <dependency>
             <groupId>org.opengroup.osdu</groupId>
             <artifactId>core-lib-gcp</artifactId>
-            <version>0.7.0</version>
+            <version>0.9.0</version>
         </dependency>
 
         <dependency>
diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java
index 21af7655f45f1dcc797b5b819c2f10120067a3ba..2d0c77f76e1ec4ad097d3dc8a3c921f8a879dabd 100644
--- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java
+++ b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java
@@ -47,6 +47,7 @@ import org.opengroup.osdu.core.common.provider.interfaces.IJwtCache;
 import org.opengroup.osdu.core.common.provider.interfaces.ITenantFactory;
 import org.opengroup.osdu.core.common.util.IServiceAccountJwtClient;
 import org.opengroup.osdu.indexer.config.IndexerConfigurationProperties;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Component;
 import org.springframework.web.context.annotation.RequestScope;
 
@@ -56,6 +57,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+@Primary
 @Component
 @RequestScope
 public class ServiceAccountJwtGcpClientImpl implements IServiceAccountJwtClient {
diff --git a/provider/indexer-gcp/src/main/resources/application.properties b/provider/indexer-gcp/src/main/resources/application.properties
index 2213e4dca947f3ad90a5998299005c613a47ef61..e18440679858d1208f1f6f683220e78a7e372978 100644
--- a/provider/indexer-gcp/src/main/resources/application.properties
+++ b/provider/indexer-gcp/src/main/resources/application.properties
@@ -42,3 +42,6 @@ security.https.certificate.trust=false
 indexer.que.service.mail=default@iam.gserviceaccount.com
 SCHEMA_HOST=${HOST}/api/schema-service/v1/schema
 storage-query-kinds-host=https://${STORAGE_HOSTNAME}/api/storage/v2/query/kinds
+
+google.audiences=123.apps.googleusercontent.com
+partition.api=http://localhost:8081/api/partition/v1
\ No newline at end of file
diff --git a/provider/indexer-ibm/pom.xml b/provider/indexer-ibm/pom.xml
index 15a818c39d86a80de1099c158e3310c26e456118..4da0811c54dcdcbd8dee467802452e48e7bc56e4 100644
--- a/provider/indexer-ibm/pom.xml
+++ b/provider/indexer-ibm/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -53,7 +53,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-core</artifactId>
-            <version>0.9.0-SNAPSHOT</version>
+            <version>0.10.0-SNAPSHOT</version>
         </dependency>
         
    		<dependency>
diff --git a/provider/indexer-reference/pom.xml b/provider/indexer-reference/pom.xml
index 745a8c4fd3531ea7eb2bc5b64e71582ac57667f9..b1cf1243eedff75bba1f34662720559e476b26f0 100644
--- a/provider/indexer-reference/pom.xml
+++ b/provider/indexer-reference/pom.xml
@@ -22,12 +22,12 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
     <artifactId>indexer-reference</artifactId>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <name>indexer-reference</name>
     <description>Indexer Service GCP Anthos</description>
     <packaging>jar</packaging>
@@ -36,7 +36,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-core</artifactId>
-            <version>0.9.0-SNAPSHOT</version>
+            <version>0.10.0-SNAPSHOT</version>
         </dependency>
 
         <dependency>
diff --git a/testing/indexer-test-aws/pom.xml b/testing/indexer-test-aws/pom.xml
index a2686385de571c4f159e8d9c7494b6bcf829a734..3b30e04e49c219b315f3f291f8f1c4a153215765 100644
--- a/testing/indexer-test-aws/pom.xml
+++ b/testing/indexer-test-aws/pom.xml
@@ -21,13 +21,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-aws</artifactId>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <properties>
@@ -42,7 +42,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-test-core</artifactId>
-            <version>0.9.0-SNAPSHOT</version>
+            <version>0.10.0-SNAPSHOT</version>
         </dependency>
 
         <!-- AWS specific packages -->
diff --git a/testing/indexer-test-azure/pom.xml b/testing/indexer-test-azure/pom.xml
index 961263fefb4798ab2c3305c0957a21dc70f88455..69b19fdf0ed9ab49bc14c7e1bdad2ac96a83763f 100644
--- a/testing/indexer-test-azure/pom.xml
+++ b/testing/indexer-test-azure/pom.xml
@@ -21,13 +21,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-azure</artifactId>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <properties>
@@ -45,7 +45,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-test-core</artifactId>
-            <version>0.9.0-SNAPSHOT</version>
+            <version>0.10.0-SNAPSHOT</version>
         </dependency>
 
         <!-- Azure dependencies -->
diff --git a/testing/indexer-test-core/pom.xml b/testing/indexer-test-core/pom.xml
index cdcc8eb5752f007ec5757910352043c0fadd5ff8..365aa1f09e4d65f87aa0a097fe56769d393a2621 100644
--- a/testing/indexer-test-core/pom.xml
+++ b/testing/indexer-test-core/pom.xml
@@ -5,13 +5,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-core</artifactId>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
 
     <properties>
         <maven.compiler.target>1.8</maven.compiler.target>
diff --git a/testing/indexer-test-gcp/pom.xml b/testing/indexer-test-gcp/pom.xml
index e25538ed89f404b93bd6f2cee8bae8992475e726..2d94432a53ce3b8317865e30a90a55815aa943c7 100644
--- a/testing/indexer-test-gcp/pom.xml
+++ b/testing/indexer-test-gcp/pom.xml
@@ -6,13 +6,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-gcp</artifactId>
-    <version>0.9.0-SNAPSHOT</version>
+    <version>0.10.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <properties>
@@ -37,7 +37,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-test-core</artifactId>
-            <version>0.9.0-SNAPSHOT</version>
+            <version>0.10.0-SNAPSHOT</version>
         </dependency>
 
         <!-- Cucumber -->
diff --git a/testing/indexer-test-gcp/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java b/testing/indexer-test-gcp/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java
index 26060454cb859e06fb80bbfa8a8c0b2d4d8c45a2..ab965b04ed67538ee2e97d80537afd2d87b81839 100644
--- a/testing/indexer-test-gcp/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java
+++ b/testing/indexer-test-gcp/src/test/java/org/opengroup/osdu/step_definitions/index/record/Steps.java
@@ -53,6 +53,11 @@ public class Steps extends SchemaServiceRecordSteps {
         super.iShouldGetTheNumberDocumentsForTheIndexInTheElasticSearchWithOutSkippedAttribute(expectedCount, index, skippedAttributes);
     }
 
+    @Then("^I should be able to search (\\d+) record with index \"([^\"]*)\" by tag \"([^\"]*)\" and value \"([^\"]*)\"$")
+    public void iShouldBeAbleToSearchRecordByTagKeyAndTagValue(int expectedNumber, String index, String tagKey, String tagValue) throws Throwable {
+        super.iShouldBeAbleToSearchRecordByTagKeyAndTagValue(index, tagKey, tagValue, expectedNumber);
+    }
+
     @Then("^I should be able search (\\d+) documents for the \"([^\"]*)\" by bounding box query with points \\((-?\\d+), (-?\\d+)\\) and  \\((-?\\d+), (-?\\d+)\\) on field \"([^\"]*)\"$")
     public void i_should_get_the_documents_for_the_in_the_Elastic_Search_by_geoQuery(
         int expectedCount, String index, Double topLatitude, Double topLongitude, Double bottomLatitude, Double bottomLongitude, String field)
diff --git a/testing/indexer-test-ibm/pom.xml b/testing/indexer-test-ibm/pom.xml
index 599761e657c782bab128ac69dd0f3945eaaacaf0..5fe05406e7e282d498ac755f731354a8d0cb7495 100644
--- a/testing/indexer-test-ibm/pom.xml
+++ b/testing/indexer-test-ibm/pom.xml
@@ -6,13 +6,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.9.0-SNAPSHOT</version>
+        <version>0.10.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-ibm</artifactId>
-    <version>0.0.2</version>
+    <version>0.10.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <properties>
@@ -38,7 +38,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-test-core</artifactId>
-            <version>0.9.0-SNAPSHOT</version>
+            <version>0.10.0-SNAPSHOT</version>
         </dependency>
 
         <dependency>
diff --git a/testing/pom.xml b/testing/pom.xml
index 7ad59c09a01617bbcc5dcf2c747e467e8f68ecfd..e33b2a83643bab6e01eed2ccd6852fe69f15c484 100644
--- a/testing/pom.xml
+++ b/testing/pom.xml
@@ -18,7 +18,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.opengroup.osdu</groupId>
 	<artifactId>indexer-test</artifactId>
-	<version>0.9.0-SNAPSHOT</version>
+	<version>0.10.0-SNAPSHOT</version>
 	<description>Indexer Service Integration Test Root Project</description>
 	<properties>
 		<spring.version>5.1.19.RELEASE</spring.version>
@@ -36,6 +36,9 @@
 	<modules>
 		<module>indexer-test-core</module>
 		<module>indexer-test-gcp</module>
+		<module>indexer-test-aws</module>
+		<module>indexer-test-azure</module>
+		<module>indexer-test-ibm</module>
 	</modules>
 
 	<repositories>