diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 29e9b5527f94..b22dfed777e5 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -546,6 +546,8 @@ io.clientcore:optional-dependency-tests;1.0.0-beta.1;1.0.0-beta.1
 
 unreleased_com.azure.v2:azure-core;2.0.0-beta.1
 unreleased_com.azure.v2:azure-identity;2.0.0-beta.1
+unreleased_com.azure.v2:azure-security-keyvault-keys;5.0.0-beta.1
+unreleased_com.azure.v2:azure-security-keyvault-certificates;5.0.0-beta.1
 unreleased_com.azure.v2:azure-data-appconfiguration;2.0.0-beta.1
 unreleased_io.clientcore:http-netty4;1.0.0-beta.1
 
diff --git a/sdk/keyvault-v2/azure-security-keyvault-administration/checkstyle-suppressions.xml b/sdk/keyvault-v2/azure-security-keyvault-administration/checkstyle-suppressions.xml
index b1b2b42206a4..4b7dd28af865 100644
--- a/sdk/keyvault-v2/azure-security-keyvault-administration/checkstyle-suppressions.xml
+++ b/sdk/keyvault-v2/azure-security-keyvault-administration/checkstyle-suppressions.xml
@@ -3,22 +3,22 @@
 
 
 
-  
-  
-  
-  
-  
-  
+  
+  
+  
+  
+  
+  
 
   
   
-  
+  
   
-  
+  
   
-  
-  
+  
+  
   
-  
-  
+  
+  
 
diff --git a/sdk/keyvault-v2/azure-security-keyvault-certificates/checkstyle-suppressions.xml b/sdk/keyvault-v2/azure-security-keyvault-certificates/checkstyle-suppressions.xml
index c3ba6b3d5de1..5bfcab35e337 100644
--- a/sdk/keyvault-v2/azure-security-keyvault-certificates/checkstyle-suppressions.xml
+++ b/sdk/keyvault-v2/azure-security-keyvault-certificates/checkstyle-suppressions.xml
@@ -5,12 +5,12 @@
 
   
   
-  
-  
+  
+  
 
   
   
-  
+  
   
   
 
diff --git a/sdk/keyvault-v2/azure-security-keyvault-keys/checkstyle-suppressions.xml b/sdk/keyvault-v2/azure-security-keyvault-keys/checkstyle-suppressions.xml
index e4db86f0597a..62087340baf4 100644
--- a/sdk/keyvault-v2/azure-security-keyvault-keys/checkstyle-suppressions.xml
+++ b/sdk/keyvault-v2/azure-security-keyvault-keys/checkstyle-suppressions.xml
@@ -3,17 +3,17 @@
 
 
 
-  
-  
-  
-  
+  
+  
+  
+  
 
   
   
-  
-  
-  
+  
+  
+  
   
-  
-  
+  
+  
 
diff --git a/sdk/keyvault-v2/azure-security-keyvault-secrets/checkstyle-suppressions.xml b/sdk/keyvault-v2/azure-security-keyvault-secrets/checkstyle-suppressions.xml
index b564c4aedda0..4dbe4402d349 100644
--- a/sdk/keyvault-v2/azure-security-keyvault-secrets/checkstyle-suppressions.xml
+++ b/sdk/keyvault-v2/azure-security-keyvault-secrets/checkstyle-suppressions.xml
@@ -3,12 +3,12 @@
 
 
 
-  
-  
+  
+  
 
   
   
-  
+  
   
-  
+  
 
diff --git a/sdk/tools/azure-openrewrite/pom.xml b/sdk/tools/azure-openrewrite/pom.xml
index 6a95674b76ee..56ab430320fa 100644
--- a/sdk/tools/azure-openrewrite/pom.xml
+++ b/sdk/tools/azure-openrewrite/pom.xml
@@ -278,6 +278,10 @@
         
         
           com.azure.v2
+          azure-security-keyvault-keys
+          5.0.0-beta.1 
+          azure-security-keyvault-certificates
+          5.0.0-beta.1 
           azure-data-appconfiguration
           2.0.0-beta.1 
           test
@@ -380,6 +384,10 @@
         
         
           com.azure.v2
+          azure-security-keyvault-keys
+          5.0.0-beta.1 
+          azure-security-keyvault-certificates
+          5.0.0-beta.1 
           azure-data-appconfiguration
           2.0.0-beta.1 
           provided
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/LibraryMigration.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/LibraryMigration.yml
new file mode 100644
index 000000000000..6859c28a1801
--- /dev/null
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/LibraryMigration.yml
@@ -0,0 +1,13 @@
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License.
+# --------------------------------------------------------------------
+# Migration Recipes for Azure security-keyvault-keys Library
+# --------------------------------------------------------------------
+type: specs.openrewrite.org/v1beta/recipe
+name: com.azure.openrewrite.migration.security.keyvault.certificates
+displayName: Migrate from azure-security-keyvault-keys to next generation stack
+description: This recipe migrates the Azure keyvault-keys library to the next generation stack.
+recipeList:
+
+  - com.azure.openrewrite.recipe.azure.security.keyvault.certificates
+  - com.azure.openrewrite.recipe.azure.security.keyvault.certificates.models
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/com.azure.security.keyvault.certificates.models.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/com.azure.security.keyvault.certificates.models.yml
new file mode 100644
index 000000000000..cb916205b0a1
--- /dev/null
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/com.azure.security.keyvault.certificates.models.yml
@@ -0,0 +1,101 @@
+type: specs.openrewrite.org/v1beta/recipe
+name: com.azure.openrewrite.recipe.azure.security.keyvault.certificates.models
+displayName: Migrate from azure.security.keyvault.certificates.models to next generation stack
+description: This recipe migrates the azure.security.keyvault.certificates.models package to the next generation stack.
+recipeList:
+
+  # --------------------------------------------------------------------
+  # CertificateKeyCurveName
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.CertificateKeyCurveName
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.CertificateKeyCurveName
+
+  # --------------------------------------------------------------------
+  # CertificateIssuer
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.CertificateIssuer
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.CertificateIssuer
+
+  # --------------------------------------------------------------------
+  # KeyVaultCertificateWithPolicy
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy
+
+  # --------------------------------------------------------------------
+  # CertificatePolicy
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.CertificatePolicy
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.CertificatePolicy
+
+  # --------------------------------------------------------------------
+  # DeletedCertificate
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.DeletedCertificate
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.DeletedCertificate
+
+  # --------------------------------------------------------------------
+  # SubjectAlternativeNames
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.SubjectAlternativeNames
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.SubjectAlternativeNames
+
+  # --------------------------------------------------------------------
+  # CertificateOperation
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.CertificateOperation
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.CertificateOperation
+
+  # --------------------------------------------------------------------
+  # KeyVaultCertificate
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.KeyVaultCertificate
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificate
+
+  # --------------------------------------------------------------------
+  # CertificateKeyType
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.CertificateKeyType
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.CertificateKeyType
+
+  # --------------------------------------------------------------------
+  # CertificateContact
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.CertificateContact
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.CertificateContact
+
+  # --------------------------------------------------------------------
+  # CertificateProperties
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.CertificateProperties
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.CertificateProperties
+
+  # --------------------------------------------------------------------
+  # IssuerProperties
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.models.IssuerProperties
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.models.IssuerProperties
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/com.azure.security.keyvault.certificates.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/com.azure.security.keyvault.certificates.yml
new file mode 100644
index 000000000000..187ca6e879fe
--- /dev/null
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/azure-security-keyvault-certificates/com.azure.security.keyvault.certificates.yml
@@ -0,0 +1,45 @@
+type: specs.openrewrite.org/v1beta/recipe
+name: com.azure.openrewrite.recipe.azure.security.keyvault.certificates
+displayName: Migrate from azure.security.keyvault.certificates to next generation stack
+description: This recipe migrates the azure.security.keyvault.certificates package to the next generation stack.
+recipeList:
+
+  # --------------------------------------------------------------------
+  # CertificateClientBuilder
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeMethodName:
+      methodPattern: com.azure.security.keyvault.certificates.CertificateClientBuilder vaultUrl(..)
+      newMethodName: endpoint
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.CertificateClientBuilder
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.CertificateClientBuilder
+
+  # --------------------------------------------------------------------
+  # CertificateClient
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeMethodName:
+      methodPattern: com.azure.security.keyvault.certificates.CertificateClient getCertificateVersion(..)
+      newMethodName: getCertificate
+
+  # Handle purgeDeletedCertificate variants:
+  # - remove second arg (Context/RequestContext) if present
+  # - rename purgeDeletedCertificateWithResponse -> purgeDeletedCertificate
+
+  - org.openrewrite.java.DeleteMethodArgument:
+      methodPattern: com.azure.security.keyvault.certificates.CertificateClient purgeDeletedCertificateWithResponse(..)
+      argumentIndex: 1
+
+  - org.openrewrite.java.ChangeMethodName:
+      methodPattern: com.azure.security.keyvault.certificates.CertificateClient purgeDeletedCertificateWithResponse(..)
+      newMethodName: purgeDeletedCertificate
+
+  - org.openrewrite.java.DeleteMethodArgument:
+      methodPattern: com.azure.security.keyvault.certificates.CertificateClient purgeDeletedCertificate(..)
+      argumentIndex: 1
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.certificates.CertificateClient
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.certificates.CertificateClient
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/core/com.azure.core.util.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/core/com.azure.core.util.yml
index 3e5c725760c9..f803e309f2b1 100644
--- a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/core/com.azure.core.util.yml
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/core/com.azure.core.util.yml
@@ -406,7 +406,7 @@ recipeList:
   # --------------------------------------------------------------------
   # NoopMeter
   # --------------------------------------------------------------------
-  
+
   # paging
 
   # --------------------------------------------------------------------
@@ -499,6 +499,10 @@ recipeList:
   # LongRunningOperationStatus
   # --------------------------------------------------------------------
 
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.core.util.polling.LongRunningOperationStatus
+      newFullyQualifiedTypeName: com.azure.v2.core.http.polling.LongRunningOperationStatus
+
   # TODO: API Removed. Triage replacement
 
   # --------------------------------------------------------------------
@@ -517,6 +521,10 @@ recipeList:
   # PollResponse
   # --------------------------------------------------------------------
 
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.core.util.polling.PollResponse
+      newFullyQualifiedTypeName: com.azure.v2.core.http.polling.PollResponse
+
   # TODO: API Removed. Triage replacement
 
   # --------------------------------------------------------------------
@@ -595,6 +603,10 @@ recipeList:
   # SyncPoller
   # --------------------------------------------------------------------
 
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.core.util.polling.SyncPoller
+      newFullyQualifiedTypeName: com.azure.v2.core.http.polling.Poller
+
   # TODO: API Removed. Triage replacement
 
   # --------------------------------------------------------------------
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/identity/LibraryMigration.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/identity/LibraryMigration.yml
index b85b2a835036..813e204bae24 100644
--- a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/identity/LibraryMigration.yml
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/identity/LibraryMigration.yml
@@ -18,3 +18,9 @@ recipeList:
       methodPattern: "com.azure.v2.identity.ClientCertificateCredentialBuilder pemCertificate(..)"
       newMethodName: "clientCertificate"
 
+  # --------------------------------------------------------------------
+  # NEED TO MOVE IT OUT FROM HERE
+  # --------------------------------------------------------------------
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.identity.DefaultAzureCredentialBuilder
+      newFullyQualifiedTypeName: com.azure.v2.identity.DefaultAzureCredentialBuilder
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/LibraryMigration.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/LibraryMigration.yml
new file mode 100644
index 000000000000..f6102a3ee3f6
--- /dev/null
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/LibraryMigration.yml
@@ -0,0 +1,15 @@
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License.
+# --------------------------------------------------------------------
+# Migration Recipes for Azure security-keyvault-keys Library
+# --------------------------------------------------------------------
+type: specs.openrewrite.org/v1beta/recipe
+name: com.azure.openrewrite.migration.security.keyvault.keys
+displayName: Migrate from azure-security-keyvault-keys to next generation stack
+description: This recipe migrates the Azure keyvault-keys library to the next generation stack.
+recipeList:
+
+  - com.azure.openrewrite.recipe.azure.security.keyvault.keys
+  - com.azure.openrewrite.recipe.azure.security.keyvault.keys.models
+  - com.azure.openrewrite.recipe.azure.security.keyvault.keys.cryptography
+  - com.azure.openrewrite.recipe.azure.security.keyvault.keys.cryptography.models
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.recipe.azure.security.keyvault.keys.cryptography.models.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.recipe.azure.security.keyvault.keys.cryptography.models.yml
new file mode 100644
index 000000000000..3a21acd493e0
--- /dev/null
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.recipe.azure.security.keyvault.keys.cryptography.models.yml
@@ -0,0 +1,82 @@
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License.
+# --------------------------------------------------------------------
+# Migration Recipes for azure.security.keyvault.keys.cryptography.models
+# --------------------------------------------------------------------
+type: specs.openrewrite.org/v1beta/recipe
+name: com.azure.openrewrite.recipe.azure.security.keyvault.keys.cryptography.models
+displayName: Migrate from azure.security.keyvault.keys.cryptography.models to next generation stack
+description: This recipe migrates the azure.security.keyvault.keys.cryptography.models package to the next generation stack.
+recipeList:
+
+  # --------------------------------------------------------------------
+  # DecryptResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.DecryptResult
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.DecryptResult
+
+  # --------------------------------------------------------------------
+  # EncryptResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.EncryptResult
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.EncryptResult
+
+  # --------------------------------------------------------------------
+  # EncryptionAlgorithm
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.EncryptionAlgorithm
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.EncryptionAlgorithm
+
+  # --------------------------------------------------------------------
+  # EncryptResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.KeyWrapAlgorithm
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.KeyWrapAlgorithm
+
+  # --------------------------------------------------------------------
+  # UnwrapResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.UnwrapResult
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.UnwrapResult
+
+  # --------------------------------------------------------------------
+  # WrapResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.WrapResult
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.WrapResult
+
+  # --------------------------------------------------------------------
+  # SignResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.SignResult
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.SignResult
+
+  # --------------------------------------------------------------------
+  # SignatureAlgorithm
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.SignatureAlgorithm
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.SignatureAlgorithm
+
+  # --------------------------------------------------------------------
+  # VerifyResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.models.VerifyResult
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.models.VerifyResult
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.recipe.azure.security.keyvault.keys.cryptography.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.recipe.azure.security.keyvault.keys.cryptography.yml
new file mode 100644
index 000000000000..827755b2fb51
--- /dev/null
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.recipe.azure.security.keyvault.keys.cryptography.yml
@@ -0,0 +1,25 @@
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License.
+# --------------------------------------------------------------------
+# Migration Recipes for azure.security.keyvault.keys.cryptography
+# --------------------------------------------------------------------
+type: specs.openrewrite.org/v1beta/recipe
+name: com.azure.openrewrite.recipe.azure.security.keyvault.keys.cryptography
+displayName: Migrate from azure.security.keyvault.keys.cryptography to next generation stack
+description: This recipe migrates the azure.security.keyvault.keys.cryptography package to the next generation stack.
+recipeList:
+  # --------------------------------------------------------------------
+  # DecryptResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.CryptographyClient
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.CryptographyClient
+
+  # --------------------------------------------------------------------
+  # DecryptResult
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.cryptography.CryptographyClientBuilder
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.cryptography.CryptographyClientBuilder
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.security.keyvault.keys.models.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.security.keyvault.keys.models.yml
new file mode 100644
index 000000000000..17fed15aab71
--- /dev/null
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.security.keyvault.keys.models.yml
@@ -0,0 +1,71 @@
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License.
+type: specs.openrewrite.org/v1beta/recipe
+name: com.azure.openrewrite.recipe.azure.security.keyvault.keys.models
+displayName: Migrate from azure.security.keyvault.keys.models to next generation stack
+description: This recipe migrates the azure.security.keyvault.keys.models package to the next generation stack.
+recipeList:
+
+  # --------------------------------------------------------------------
+  # CreateRsaKeyOptions
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.models.CreateRsaKeyOptions
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.models.CreateRsaKeyOptions
+
+  # --------------------------------------------------------------------
+  # DeletedKey
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.models.DeletedKey
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.models.DeletedKey
+
+  # --------------------------------------------------------------------
+  # KeyVaultKey
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.models.KeyVaultKey
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.models.KeyVaultKey
+
+  # --------------------------------------------------------------------
+  # KeyRotationLifetimeAction
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.models.KeyRotationLifetimeAction
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.models.KeyRotationLifetimeAction
+
+  # --------------------------------------------------------------------
+  # KeyRotationPolicy
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.models.KeyRotationPolicy
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.models.KeyRotationPolicy
+
+  # --------------------------------------------------------------------
+  # KeyRotationPolicyAction
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.models.KeyRotationPolicyAction
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.models.KeyRotationPolicyAction
+
+  # --------------------------------------------------------------------
+  # CreateEcKeyOptions
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.models.CreateEcKeyOptions
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.models.CreateEcKeyOptions
+
+  # --------------------------------------------------------------------
+  # KeyProperties
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.models.KeyProperties
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.models.KeyProperties
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.security.keyvault.keys.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.security.keyvault.keys.yml
new file mode 100644
index 000000000000..e9ca0786c433
--- /dev/null
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/migrationRecipes/security-keyvault-keys/com.azure.security.keyvault.keys.yml
@@ -0,0 +1,27 @@
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License.
+type: specs.openrewrite.org/v1beta/recipe
+name: com.azure.openrewrite.recipe.azure.security.keyvault.keys
+displayName: Migrate from azure.security.keyvault.keys to next generation stack
+description: This recipe migrates the azure.security.keyvault.keys package to the next generation stack.
+recipeList:
+
+  # --------------------------------------------------------------------
+  # KeyClientBuilder
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeMethodName:
+      methodPattern: com.azure.security.keyvault.keys.KeyClientBuilder vaultUrl(..)
+      newMethodName: endpoint
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.KeyClientBuilder
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.KeyClientBuilder
+
+  # --------------------------------------------------------------------
+  # KeyClient
+  # --------------------------------------------------------------------
+
+  - org.openrewrite.java.ChangeType:
+      oldFullyQualifiedTypeName: com.azure.security.keyvault.keys.KeyClient
+      newFullyQualifiedTypeName: com.azure.v2.security.keyvault.keys.KeyClient
diff --git a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/rewrite.yml b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/rewrite.yml
index 305abd7f08e2..a09182c3da26 100644
--- a/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/rewrite.yml
+++ b/sdk/tools/azure-openrewrite/src/main/resources/META-INF/rewrite/rewrite.yml
@@ -12,6 +12,8 @@ recipeList:
   # Code Migration Recipes
   - com.azure.openrewrite.migration.core
   - com.azure.openrewrite.migration.identity
+  - com.azure.openrewrite.migration.security.keyvault.keys
+  - com.azure.openrewrite.migration.security.keyvault.certificates
   - com.azure.openrewrite.migration.data.appconfiguration
 
   # Code Styling recipes
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/BackupAndRestoreOperations/v1/BackupAndRestoreOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/BackupAndRestoreOperations/v1/BackupAndRestoreOperations.java
index 0341156d2615..3d54fcc96448 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/BackupAndRestoreOperations/v1/BackupAndRestoreOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/BackupAndRestoreOperations/v1/BackupAndRestoreOperations.java
@@ -1,8 +1,6 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.certificates;
-
 import com.azure.core.util.Context;
 import com.azure.core.util.polling.LongRunningOperationStatus;
 import com.azure.core.util.polling.PollResponse;
@@ -16,6 +14,8 @@
 import com.azure.security.keyvault.certificates.models.DeletedCertificate;
 import com.azure.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
 import com.azure.security.keyvault.certificates.models.SubjectAlternativeNames;
+import com.azure.security.keyvault.certificates.CertificateClient;
+import com.azure.security.keyvault.certificates.CertificateClientBuilder;
 
 import java.io.File;
 import java.io.FileOutputStream;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/BackupAndRestoreOperations/v2/BackupAndRestoreOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/BackupAndRestoreOperations/v2/BackupAndRestoreOperations.java
index 0341156d2615..3bb19f9c0254 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/BackupAndRestoreOperations/v2/BackupAndRestoreOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/BackupAndRestoreOperations/v2/BackupAndRestoreOperations.java
@@ -1,21 +1,21 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.certificates;
-
-import com.azure.core.util.Context;
-import com.azure.core.util.polling.LongRunningOperationStatus;
-import com.azure.core.util.polling.PollResponse;
-import com.azure.core.util.polling.SyncPoller;
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.certificates.models.CertificateKeyCurveName;
-import com.azure.security.keyvault.certificates.models.CertificateKeyType;
-import com.azure.security.keyvault.certificates.models.CertificateOperation;
-import com.azure.security.keyvault.certificates.models.CertificatePolicy;
-import com.azure.security.keyvault.certificates.models.KeyVaultCertificate;
-import com.azure.security.keyvault.certificates.models.DeletedCertificate;
-import com.azure.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
-import com.azure.security.keyvault.certificates.models.SubjectAlternativeNames;
+import com.azure.v2.core.http.polling.LongRunningOperationStatus;
+import com.azure.v2.core.http.polling.PollResponse;
+import com.azure.v2.core.http.polling.Poller;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.certificates.CertificateClient;
+import com.azure.v2.security.keyvault.certificates.CertificateClientBuilder;
+import com.azure.v2.security.keyvault.certificates.models.CertificateKeyCurveName;
+import com.azure.v2.security.keyvault.certificates.models.CertificateKeyType;
+import com.azure.v2.security.keyvault.certificates.models.CertificateOperation;
+import com.azure.v2.security.keyvault.certificates.models.CertificatePolicy;
+import com.azure.v2.security.keyvault.certificates.models.DeletedCertificate;
+import com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificate;
+import com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
+import com.azure.v2.security.keyvault.certificates.models.SubjectAlternativeNames;
+import io.clientcore.core.http.models.RequestContext;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -47,7 +47,7 @@ public static void main(String[] args) throws IOException, InterruptedException,
         (https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/keyvault/azure-security-keyvault-certificates/README.md)
         for links and instructions. */
         CertificateClient certificateClient = new CertificateClientBuilder()
-            .vaultUrl("")
+            .endpoint("")
             .credential(new DefaultAzureCredentialBuilder().build())
             .buildClient();
 
@@ -61,7 +61,7 @@ public static void main(String[] args) throws IOException, InterruptedException,
         Map tags = new HashMap<>();
         tags.put("foo", "bar");
 
-        SyncPoller certificatePoller =
+        Poller certificatePoller =
             certificateClient.beginCreateCertificate("certificateName", policy, true, tags);
         certificatePoller.waitUntil(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED);
 
@@ -77,7 +77,7 @@ public static void main(String[] args) throws IOException, InterruptedException,
         writeBackupToFile(certificateBackup, backupFilePath);
 
         // The certificate is no longer in use, so you delete it.
-        SyncPoller deletedCertificatePoller =
+        Poller deletedCertificatePoller =
             certificateClient.beginDeleteCertificate("certificateName");
         // Deleted Certificate is accessible as soon as polling beings.
         PollResponse pollResponse = deletedCertificatePoller.poll();
@@ -91,7 +91,7 @@ public static void main(String[] args) throws IOException, InterruptedException,
         Thread.sleep(30000);
 
         // If the vault is soft-delete enabled, then you need to purge the certificate as well for permanent deletion.
-        certificateClient.purgeDeletedCertificateWithResponse("certificateName", new Context("key1", "value1"));
+        certificateClient.purgeDeletedCertificate("certificateName");
 
         // To ensure the certificate is purged server-side.
         Thread.sleep(15000);
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/HelloWorld/v1/HelloWorld.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/HelloWorld/v1/HelloWorld.java
index 878f4de93af4..cf0b3f9e6be5 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/HelloWorld/v1/HelloWorld.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/HelloWorld/v1/HelloWorld.java
@@ -1,12 +1,12 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.certificates;
-
 import com.azure.core.util.polling.LongRunningOperationStatus;
 import com.azure.core.util.polling.PollResponse;
 import com.azure.core.util.polling.SyncPoller;
 import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.security.keyvault.certificates.CertificateClient;
+import com.azure.security.keyvault.certificates.CertificateClientBuilder;
 import com.azure.security.keyvault.certificates.models.CertificateKeyCurveName;
 import com.azure.security.keyvault.certificates.models.CertificateIssuer;
 import com.azure.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/HelloWorld/v2/HelloWorld.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/HelloWorld/v2/HelloWorld.java
index 878f4de93af4..9705490b9bf2 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/HelloWorld/v2/HelloWorld.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/HelloWorld/v2/HelloWorld.java
@@ -1,21 +1,21 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.certificates;
-
-import com.azure.core.util.polling.LongRunningOperationStatus;
-import com.azure.core.util.polling.PollResponse;
-import com.azure.core.util.polling.SyncPoller;
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.certificates.models.CertificateKeyCurveName;
-import com.azure.security.keyvault.certificates.models.CertificateIssuer;
-import com.azure.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
-import com.azure.security.keyvault.certificates.models.CertificatePolicy;
-import com.azure.security.keyvault.certificates.models.DeletedCertificate;
-import com.azure.security.keyvault.certificates.models.SubjectAlternativeNames;
-import com.azure.security.keyvault.certificates.models.CertificateOperation;
-import com.azure.security.keyvault.certificates.models.KeyVaultCertificate;
-import com.azure.security.keyvault.certificates.models.CertificateKeyType;
+import com.azure.v2.core.http.polling.LongRunningOperationStatus;
+import com.azure.v2.core.http.polling.PollResponse;
+import com.azure.v2.core.http.polling.Poller;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.certificates.CertificateClient;
+import com.azure.v2.security.keyvault.certificates.CertificateClientBuilder;
+import com.azure.v2.security.keyvault.certificates.models.CertificateIssuer;
+import com.azure.v2.security.keyvault.certificates.models.CertificateKeyCurveName;
+import com.azure.v2.security.keyvault.certificates.models.CertificateKeyType;
+import com.azure.v2.security.keyvault.certificates.models.CertificateOperation;
+import com.azure.v2.security.keyvault.certificates.models.CertificatePolicy;
+import com.azure.v2.security.keyvault.certificates.models.DeletedCertificate;
+import com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificate;
+import com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
+import com.azure.v2.security.keyvault.certificates.models.SubjectAlternativeNames;
 
 import java.util.Arrays;
 import java.util.HashMap;
@@ -41,7 +41,7 @@ public static void main(String[] args) throws InterruptedException, IllegalArgum
         (https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/keyvault/azure-security-keyvault-certificates/README.md)
         for links and instructions. */
         CertificateClient certificateClient = new CertificateClientBuilder()
-            .vaultUrl("")
+            .endpoint("")
             .credential(new DefaultAzureCredentialBuilder().build())
             .buildClient();
 
@@ -56,7 +56,7 @@ public static void main(String[] args) throws InterruptedException, IllegalArgum
         Map tags = new HashMap<>();
         tags.put("foo", "bar");
 
-        SyncPoller certificatePoller =
+        Poller certificatePoller =
             certificateClient.beginCreateCertificate("certificateName", policy, true, tags);
         certificatePoller.waitUntil(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED);
 
@@ -89,7 +89,7 @@ public static void main(String[] args) throws InterruptedException, IllegalArgum
 
         // Let's create a certificate signed by our issuer.
         certificateClient.beginCreateCertificate("myCertificate",
-                new CertificatePolicy("myIssuer", "CN=SelfSignedJavaPkcs12"), true, tags)
+            new CertificatePolicy("myIssuer", "CN=SelfSignedJavaPkcs12"), true, tags)
             .waitUntil(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED);
 
         // Let's get the latest version of our certificate from the key vault.
@@ -99,7 +99,7 @@ public static void main(String[] args) throws InterruptedException, IllegalArgum
             myCert.getSecretId());
 
         // The certificates and issuers are no longer needed, need to delete it from the key vault.
-        SyncPoller deletedCertificatePoller =
+        Poller deletedCertificatePoller =
             certificateClient.beginDeleteCertificate("certificateName");
         // Deleted certificate is accessible as soon as polling beings.
         PollResponse pollResponse = deletedCertificatePoller.poll();
@@ -109,7 +109,7 @@ public static void main(String[] args) throws InterruptedException, IllegalArgum
 
         deletedCertificatePoller.waitForCompletion();
 
-        SyncPoller deletedCertPoller =
+        Poller deletedCertPoller =
             certificateClient.beginDeleteCertificate("myCertificate");
         // Deleted certificate is accessible as soon as polling beings.
         PollResponse deletePollResponse = deletedCertPoller.poll();
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ListOperations/v1/ListOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ListOperations/v1/ListOperations.java
index 1dae5806f5ae..88292af0bf8c 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ListOperations/v1/ListOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ListOperations/v1/ListOperations.java
@@ -1,11 +1,11 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.certificates;
-
 import com.azure.core.util.polling.LongRunningOperationStatus;
 import com.azure.core.util.polling.SyncPoller;
 import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.security.keyvault.certificates.CertificateClient;
+import com.azure.security.keyvault.certificates.CertificateClientBuilder;
 import com.azure.security.keyvault.certificates.models.CertificateContact;
 import com.azure.security.keyvault.certificates.models.CertificateIssuer;
 import com.azure.security.keyvault.certificates.models.CertificateOperation;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ListOperations/v2/ListOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ListOperations/v2/ListOperations.java
index 1dae5806f5ae..4a5e6c572c69 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ListOperations/v2/ListOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ListOperations/v2/ListOperations.java
@@ -1,19 +1,19 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.certificates;
-
-import com.azure.core.util.polling.LongRunningOperationStatus;
-import com.azure.core.util.polling.SyncPoller;
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.certificates.models.CertificateContact;
-import com.azure.security.keyvault.certificates.models.CertificateIssuer;
-import com.azure.security.keyvault.certificates.models.CertificateOperation;
-import com.azure.security.keyvault.certificates.models.CertificatePolicy;
-import com.azure.security.keyvault.certificates.models.CertificateProperties;
-import com.azure.security.keyvault.certificates.models.IssuerProperties;
-import com.azure.security.keyvault.certificates.models.KeyVaultCertificate;
-import com.azure.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
+import com.azure.v2.core.http.polling.LongRunningOperationStatus;
+import com.azure.v2.core.http.polling.Poller;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.certificates.CertificateClient;
+import com.azure.v2.security.keyvault.certificates.CertificateClientBuilder;
+import com.azure.v2.security.keyvault.certificates.models.CertificateContact;
+import com.azure.v2.security.keyvault.certificates.models.CertificateIssuer;
+import com.azure.v2.security.keyvault.certificates.models.CertificateOperation;
+import com.azure.v2.security.keyvault.certificates.models.CertificatePolicy;
+import com.azure.v2.security.keyvault.certificates.models.CertificateProperties;
+import com.azure.v2.security.keyvault.certificates.models.IssuerProperties;
+import com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificate;
+import com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -38,7 +38,7 @@ public static void main(String[] args) throws IllegalArgumentException {
         (https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/keyvault/azure-security-keyvault-certificates/README.md)
         for links and instructions. */
         CertificateClient certificateClient = new CertificateClientBuilder()
-            .vaultUrl("")
+            .endpoint("")
             .credential(new DefaultAzureCredentialBuilder().build())
             .buildClient();
 
@@ -48,7 +48,7 @@ public static void main(String[] args) throws IllegalArgumentException {
         Map tags = new HashMap<>();
         tags.put("foo", "bar");
 
-        SyncPoller certificatePoller =
+        Poller certificatePoller =
             certificateClient.beginCreateCertificate("certName", policy, true, tags);
         certificatePoller.waitUntil(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED);
 
@@ -69,7 +69,7 @@ public static void main(String[] args) throws IllegalArgumentException {
         // Let's list all the certificates in the key vault.
         for (CertificateProperties certificate : certificateClient.listPropertiesOfCertificates()) {
             KeyVaultCertificate certificateWithAllProperties =
-                certificateClient.getCertificateVersion(certificate.getName(), certificate.getVersion());
+                certificateClient.getCertificate(certificate.getName(), certificate.getVersion());
 
             System.out.printf("Received certificate with name %s and secret id %s",
                 certificateWithAllProperties.getProperties().getName(), certificateWithAllProperties.getSecretId());
@@ -78,7 +78,7 @@ public static void main(String[] args) throws IllegalArgumentException {
         // Let's list all certificate versions of the certificate.
         for (CertificateProperties certificate : certificateClient.listPropertiesOfCertificateVersions("myCertificate")) {
             KeyVaultCertificate certificateWithAllProperties =
-                certificateClient.getCertificateVersion(certificate.getName(), certificate.getVersion());
+                certificateClient.getCertificate(certificate.getName(), certificate.getVersion());
 
             System.out.printf("Received certificate with name %s and version %s",
                 certificateWithAllProperties.getProperties().getName(),
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ManagingDeletedCertificates/v1/ManagingDeletedCertificates.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ManagingDeletedCertificates/v1/ManagingDeletedCertificates.java
index 7dda5442934c..5e816cebf45f 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ManagingDeletedCertificates/v1/ManagingDeletedCertificates.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ManagingDeletedCertificates/v1/ManagingDeletedCertificates.java
@@ -1,12 +1,12 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.certificates;
-
 import com.azure.core.util.polling.LongRunningOperationStatus;
 import com.azure.core.util.polling.PollResponse;
 import com.azure.core.util.polling.SyncPoller;
 import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.security.keyvault.certificates.CertificateClient;
+import com.azure.security.keyvault.certificates.CertificateClientBuilder;
 import com.azure.security.keyvault.certificates.models.CertificatePolicy;
 import com.azure.security.keyvault.certificates.models.SubjectAlternativeNames;
 import com.azure.security.keyvault.certificates.models.CertificateOperation;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ManagingDeletedCertificates/v2/ManagingDeletedCertificates.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ManagingDeletedCertificates/v2/ManagingDeletedCertificates.java
index 7dda5442934c..67ec8932415b 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ManagingDeletedCertificates/v2/ManagingDeletedCertificates.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-certificates/ManagingDeletedCertificates/v2/ManagingDeletedCertificates.java
@@ -1,20 +1,20 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.certificates;
-
-import com.azure.core.util.polling.LongRunningOperationStatus;
-import com.azure.core.util.polling.PollResponse;
-import com.azure.core.util.polling.SyncPoller;
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.certificates.models.CertificatePolicy;
-import com.azure.security.keyvault.certificates.models.SubjectAlternativeNames;
-import com.azure.security.keyvault.certificates.models.CertificateOperation;
-import com.azure.security.keyvault.certificates.models.KeyVaultCertificate;
-import com.azure.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
-import com.azure.security.keyvault.certificates.models.DeletedCertificate;
-import com.azure.security.keyvault.certificates.models.CertificateKeyCurveName;
-import com.azure.security.keyvault.certificates.models.CertificateKeyType;
+import com.azure.v2.core.http.polling.LongRunningOperationStatus;
+import com.azure.v2.core.http.polling.PollResponse;
+import com.azure.v2.core.http.polling.Poller;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.certificates.CertificateClient;
+import com.azure.v2.security.keyvault.certificates.CertificateClientBuilder;
+import com.azure.v2.security.keyvault.certificates.models.CertificateKeyCurveName;
+import com.azure.v2.security.keyvault.certificates.models.CertificateKeyType;
+import com.azure.v2.security.keyvault.certificates.models.CertificateOperation;
+import com.azure.v2.security.keyvault.certificates.models.CertificatePolicy;
+import com.azure.v2.security.keyvault.certificates.models.DeletedCertificate;
+import com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificate;
+import com.azure.v2.security.keyvault.certificates.models.KeyVaultCertificateWithPolicy;
+import com.azure.v2.security.keyvault.certificates.models.SubjectAlternativeNames;
 
 import java.util.Arrays;
 import java.util.HashMap;
@@ -45,7 +45,7 @@ deleted certificates to be retained for a given retention period (90 days). Duri
         (https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/keyvault/azure-security-keyvault-certificates/README.md)
         for links and instructions. */
         CertificateClient certificateClient = new CertificateClientBuilder()
-            .vaultUrl("")
+            .endpoint("")
             .credential(new DefaultAzureCredentialBuilder().build())
             .buildClient();
 
@@ -59,14 +59,14 @@ deleted certificates to be retained for a given retention period (90 days). Duri
         Map tags = new HashMap<>();
         tags.put("foo", "bar");
 
-        SyncPoller certificatePoller =
+        Poller certificatePoller =
             certificateClient.beginCreateCertificate("certificateName", policy, true,  tags);
         certificatePoller.waitUntil(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED);
 
         KeyVaultCertificate cert = certificatePoller.getFinalResult();
 
         // The certificate is no longer needed, need to delete it from the key vault.
-        SyncPoller deletedCertificatePoller =
+        Poller deletedCertificatePoller =
             certificateClient.beginDeleteCertificate("certificateName");
         // The deleted certificate is accessible as soon as polling beings.
         PollResponse pollResponse = deletedCertificatePoller.poll();
@@ -81,7 +81,7 @@ deleted certificates to be retained for a given retention period (90 days). Duri
 
         // We accidentally deleted the certificate. Let's recover it.
         // A deleted certificate can only be recovered if the key vault is soft-delete enabled.
-        SyncPoller recoverCertPoller = certificateClient
+        Poller recoverCertPoller = certificateClient
             .beginRecoverDeletedCertificate("certificateName");
         // A recovered certificate is accessible as soon as polling beings
         PollResponse recoverPollResponse = recoverCertPoller.poll();
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/BackupAndRestoreOperations/v1/BackupAndRestoreOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/BackupAndRestoreOperations/v1/BackupAndRestoreOperations.java
index e389f7730b60..cf37e0936c34 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/BackupAndRestoreOperations/v1/BackupAndRestoreOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/BackupAndRestoreOperations/v1/BackupAndRestoreOperations.java
@@ -1,10 +1,10 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys;
-
 import com.azure.core.util.polling.PollResponse;
 import com.azure.core.util.polling.SyncPoller;
+import com.azure.security.keyvault.keys.KeyClient;
+import com.azure.security.keyvault.keys.KeyClientBuilder;
 import com.azure.security.keyvault.keys.models.DeletedKey;
 import com.azure.security.keyvault.keys.models.KeyVaultKey;
 import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/BackupAndRestoreOperations/v2/BackupAndRestoreOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/BackupAndRestoreOperations/v2/BackupAndRestoreOperations.java
index e389f7730b60..09782eae2aea 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/BackupAndRestoreOperations/v2/BackupAndRestoreOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/BackupAndRestoreOperations/v2/BackupAndRestoreOperations.java
@@ -1,14 +1,14 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys;
-
-import com.azure.core.util.polling.PollResponse;
-import com.azure.core.util.polling.SyncPoller;
-import com.azure.security.keyvault.keys.models.DeletedKey;
-import com.azure.security.keyvault.keys.models.KeyVaultKey;
-import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions;
-import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.core.http.polling.PollResponse;
+import com.azure.v2.core.http.polling.Poller;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.keys.KeyClient;
+import com.azure.v2.security.keyvault.keys.KeyClientBuilder;
+import com.azure.v2.security.keyvault.keys.models.CreateRsaKeyOptions;
+import com.azure.v2.security.keyvault.keys.models.DeletedKey;
+import com.azure.v2.security.keyvault.keys.models.KeyVaultKey;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -39,7 +39,7 @@ public static void main(String[] args) throws IOException, InterruptedException,
         (https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/keyvault/azure-security-keyvault-keys/README.md)
         for links and instructions. */
         KeyClient keyClient = new KeyClientBuilder()
-            .vaultUrl("")
+            .endpoint("")
             .credential(new DefaultAzureCredentialBuilder().build())
             .buildClient();
 
@@ -57,7 +57,7 @@ public static void main(String[] args) throws IOException, InterruptedException,
         writeBackupToFile(keyBackup, backupFilePath);
 
         // The RSA key is no longer in use, so you delete it.
-        SyncPoller rsaDeletedKeyPoller = keyClient.beginDeleteKey("CloudRsaKey");
+        Poller rsaDeletedKeyPoller = keyClient.beginDeleteKey("CloudRsaKey");
         PollResponse pollResponse = rsaDeletedKeyPoller.poll();
         DeletedKey rsaDeletedKey = pollResponse.getValue();
 
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/EncryptDecryptOperations/v1/EncryptDecryptOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/EncryptDecryptOperations/v1/EncryptDecryptOperations.java
index 6fea13cd83a5..a31b6c806bb0 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/EncryptDecryptOperations/v1/EncryptDecryptOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/EncryptDecryptOperations/v1/EncryptDecryptOperations.java
@@ -1,9 +1,9 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys.cryptography;
-
 import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.security.keyvault.keys.cryptography.CryptographyClient;
+import com.azure.security.keyvault.keys.cryptography.CryptographyClientBuilder;
 import com.azure.security.keyvault.keys.cryptography.models.EncryptionAlgorithm;
 import com.azure.security.keyvault.keys.cryptography.models.EncryptResult;
 import com.azure.security.keyvault.keys.cryptography.models.DecryptResult;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/EncryptDecryptOperations/v2/EncryptDecryptOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/EncryptDecryptOperations/v2/EncryptDecryptOperations.java
index 6fea13cd83a5..6617f6278f89 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/EncryptDecryptOperations/v2/EncryptDecryptOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/EncryptDecryptOperations/v2/EncryptDecryptOperations.java
@@ -1,12 +1,12 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys.cryptography;
-
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.keys.cryptography.models.EncryptionAlgorithm;
-import com.azure.security.keyvault.keys.cryptography.models.EncryptResult;
-import com.azure.security.keyvault.keys.cryptography.models.DecryptResult;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.keys.cryptography.CryptographyClient;
+import com.azure.v2.security.keyvault.keys.cryptography.CryptographyClientBuilder;
+import com.azure.v2.security.keyvault.keys.cryptography.models.DecryptResult;
+import com.azure.v2.security.keyvault.keys.cryptography.models.EncryptResult;
+import com.azure.v2.security.keyvault.keys.cryptography.models.EncryptionAlgorithm;
 
 import java.util.Random;
 
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyRotation/v1/KeyRotation.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyRotation/v1/KeyRotation.java
index 8717c3941233..64ded8499787 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyRotation/v1/KeyRotation.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyRotation/v1/KeyRotation.java
@@ -1,9 +1,9 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys;
-
 import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.security.keyvault.keys.KeyClient;
+import com.azure.security.keyvault.keys.KeyClientBuilder;
 import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions;
 import com.azure.security.keyvault.keys.models.KeyRotationLifetimeAction;
 import com.azure.security.keyvault.keys.models.KeyRotationPolicy;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyRotation/v2/KeyRotation.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyRotation/v2/KeyRotation.java
index 8717c3941233..4a6e9408d3d6 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyRotation/v2/KeyRotation.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyRotation/v2/KeyRotation.java
@@ -1,14 +1,14 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys;
-
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions;
-import com.azure.security.keyvault.keys.models.KeyRotationLifetimeAction;
-import com.azure.security.keyvault.keys.models.KeyRotationPolicy;
-import com.azure.security.keyvault.keys.models.KeyRotationPolicyAction;
-import com.azure.security.keyvault.keys.models.KeyVaultKey;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.keys.KeyClient;
+import com.azure.v2.security.keyvault.keys.KeyClientBuilder;
+import com.azure.v2.security.keyvault.keys.models.CreateRsaKeyOptions;
+import com.azure.v2.security.keyvault.keys.models.KeyRotationLifetimeAction;
+import com.azure.v2.security.keyvault.keys.models.KeyRotationPolicy;
+import com.azure.v2.security.keyvault.keys.models.KeyRotationPolicyAction;
+import com.azure.v2.security.keyvault.keys.models.KeyVaultKey;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -35,7 +35,7 @@ public static void main(String[] args) {
         (https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/keyvault/azure-security-keyvault-keys/README.md)
         for links and instructions. */
         KeyClient keyClient = new KeyClientBuilder()
-            .vaultUrl("")
+            .endpoint("")
             .credential(new DefaultAzureCredentialBuilder().build())
             .buildClient();
 
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyWrapUnwrapOperations/v1/KeyWrapUnwrapOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyWrapUnwrapOperations/v1/KeyWrapUnwrapOperations.java
index e1edd93564e4..5e5f0ca16186 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyWrapUnwrapOperations/v1/KeyWrapUnwrapOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyWrapUnwrapOperations/v1/KeyWrapUnwrapOperations.java
@@ -1,9 +1,9 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys.cryptography;
-
 import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.security.keyvault.keys.cryptography.CryptographyClient;
+import com.azure.security.keyvault.keys.cryptography.CryptographyClientBuilder;
 import com.azure.security.keyvault.keys.cryptography.models.UnwrapResult;
 import com.azure.security.keyvault.keys.cryptography.models.WrapResult;
 import com.azure.security.keyvault.keys.cryptography.models.KeyWrapAlgorithm;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyWrapUnwrapOperations/v2/KeyWrapUnwrapOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyWrapUnwrapOperations/v2/KeyWrapUnwrapOperations.java
index e1edd93564e4..50897f55c6c0 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyWrapUnwrapOperations/v2/KeyWrapUnwrapOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/KeyWrapUnwrapOperations/v2/KeyWrapUnwrapOperations.java
@@ -1,12 +1,12 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys.cryptography;
-
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.keys.cryptography.models.UnwrapResult;
-import com.azure.security.keyvault.keys.cryptography.models.WrapResult;
-import com.azure.security.keyvault.keys.cryptography.models.KeyWrapAlgorithm;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.keys.cryptography.CryptographyClient;
+import com.azure.v2.security.keyvault.keys.cryptography.CryptographyClientBuilder;
+import com.azure.v2.security.keyvault.keys.cryptography.models.KeyWrapAlgorithm;
+import com.azure.v2.security.keyvault.keys.cryptography.models.UnwrapResult;
+import com.azure.v2.security.keyvault.keys.cryptography.models.WrapResult;
 
 import java.util.Random;
 
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ListOperations/v1/ListOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ListOperations/v1/ListOperations.java
index 3ae26850cb2b..212eb46ecde3 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ListOperations/v1/ListOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ListOperations/v1/ListOperations.java
@@ -1,8 +1,8 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys;
-
+import com.azure.security.keyvault.keys.KeyClient;
+import com.azure.security.keyvault.keys.KeyClientBuilder;
 import com.azure.security.keyvault.keys.models.CreateEcKeyOptions;
 import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions;
 import com.azure.security.keyvault.keys.models.KeyVaultKey;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ListOperations/v2/ListOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ListOperations/v2/ListOperations.java
index 3ae26850cb2b..a4766d94379c 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ListOperations/v2/ListOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ListOperations/v2/ListOperations.java
@@ -1,13 +1,13 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys;
-
-import com.azure.security.keyvault.keys.models.CreateEcKeyOptions;
-import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions;
-import com.azure.security.keyvault.keys.models.KeyVaultKey;
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.keys.models.KeyProperties;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.keys.KeyClient;
+import com.azure.v2.security.keyvault.keys.KeyClientBuilder;
+import com.azure.v2.security.keyvault.keys.models.CreateEcKeyOptions;
+import com.azure.v2.security.keyvault.keys.models.CreateRsaKeyOptions;
+import com.azure.v2.security.keyvault.keys.models.KeyProperties;
+import com.azure.v2.security.keyvault.keys.models.KeyVaultKey;
 
 import java.time.OffsetDateTime;
 
@@ -31,7 +31,7 @@ public static void main(String[] args) throws IllegalArgumentException {
         (https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/keyvault/azure-security-keyvault-keys/README.md)
         for links and instructions. */
         KeyClient keyClient = new KeyClientBuilder()
-            .vaultUrl("")
+            .endpoint("")
             .credential(new DefaultAzureCredentialBuilder().build())
             .buildClient();
 
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ManagingDeletedKeys/v1/ManagingDeletedKeys.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ManagingDeletedKeys/v1/ManagingDeletedKeys.java
index 21c4bdbf5366..40ce3e4176be 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ManagingDeletedKeys/v1/ManagingDeletedKeys.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ManagingDeletedKeys/v1/ManagingDeletedKeys.java
@@ -1,12 +1,12 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys;
-
 import com.azure.core.util.polling.PollResponse;
 import com.azure.core.util.polling.SyncPoller;
 import com.azure.security.keyvault.keys.models.CreateEcKeyOptions;
 import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.security.keyvault.keys.KeyClient;
+import com.azure.security.keyvault.keys.KeyClientBuilder;
 import com.azure.security.keyvault.keys.models.DeletedKey;
 import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions;
 import com.azure.security.keyvault.keys.models.KeyVaultKey;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ManagingDeletedKeys/v2/ManagingDeletedKeys.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ManagingDeletedKeys/v2/ManagingDeletedKeys.java
index 21c4bdbf5366..f088bbac206b 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ManagingDeletedKeys/v2/ManagingDeletedKeys.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/ManagingDeletedKeys/v2/ManagingDeletedKeys.java
@@ -1,15 +1,15 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys;
-
-import com.azure.core.util.polling.PollResponse;
-import com.azure.core.util.polling.SyncPoller;
-import com.azure.security.keyvault.keys.models.CreateEcKeyOptions;
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.keys.models.DeletedKey;
-import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions;
-import com.azure.security.keyvault.keys.models.KeyVaultKey;
+import com.azure.v2.core.http.polling.PollResponse;
+import com.azure.v2.core.http.polling.Poller;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.keys.KeyClient;
+import com.azure.v2.security.keyvault.keys.KeyClientBuilder;
+import com.azure.v2.security.keyvault.keys.models.CreateEcKeyOptions;
+import com.azure.v2.security.keyvault.keys.models.CreateRsaKeyOptions;
+import com.azure.v2.security.keyvault.keys.models.DeletedKey;
+import com.azure.v2.security.keyvault.keys.models.KeyVaultKey;
 
 import java.time.OffsetDateTime;
 
@@ -39,7 +39,7 @@ keys to be retained for a given retention period (90 days). During this period d
         (https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/keyvault/azure-security-keyvault-keys/README.md)
         for links and instructions. */
         KeyClient keyClient = new KeyClientBuilder()
-            .vaultUrl("")
+            .endpoint("")
             .credential(new DefaultAzureCredentialBuilder().build())
             .buildClient();
 
@@ -53,7 +53,7 @@ keys to be retained for a given retention period (90 days). During this period d
             .setExpiresOn(OffsetDateTime.now().plusYears(1)));
 
         // The RSA key is no longer needed, need to delete it from the key vault.
-        SyncPoller deletedKeyPoller = keyClient.beginDeleteKey("CloudEcKey");
+        Poller deletedKeyPoller = keyClient.beginDeleteKey("CloudEcKey");
         PollResponse deletedKeyPollResponse = deletedKeyPoller.poll();
         DeletedKey deletedKey = deletedKeyPollResponse.getValue();
 
@@ -65,7 +65,7 @@ keys to be retained for a given retention period (90 days). During this period d
 
         // We accidentally deleted the EC key. Let's recover it.
         // A deleted key can only be recovered if the key vault is soft-delete enabled.
-        SyncPoller recoverEcKeyPoller = keyClient.beginRecoverDeletedKey("CloudEcKey");
+        Poller recoverEcKeyPoller = keyClient.beginRecoverDeletedKey("CloudEcKey");
         PollResponse recoveryEcKeyPollResponse = recoverEcKeyPoller.poll();
         KeyVaultKey recoveredKey = recoveryEcKeyPollResponse.getValue();
 
@@ -76,7 +76,7 @@ keys to be retained for a given retention period (90 days). During this period d
         recoverEcKeyPoller.waitForCompletion();
 
         // The EC and RSA keys are no longer needed, need to delete them from the key vault.
-        SyncPoller ecDeletedKeyPoller = keyClient.beginDeleteKey("CloudEcKey");
+        Poller ecDeletedKeyPoller = keyClient.beginDeleteKey("CloudEcKey");
         PollResponse ecDeletedKeyPollResponse = ecDeletedKeyPoller.poll();
         DeletedKey ecDeletedKey = ecDeletedKeyPollResponse.getValue();
 
@@ -86,7 +86,7 @@ keys to be retained for a given retention period (90 days). During this period d
         // The key is being deleted on the server.
         ecDeletedKeyPoller.waitForCompletion();
 
-        SyncPoller rsaDeletedKeyPoller = keyClient.beginDeleteKey("CloudRsaKey");
+        Poller rsaDeletedKeyPoller = keyClient.beginDeleteKey("CloudRsaKey");
         PollResponse rsaDeletedKeyPollResponse = rsaDeletedKeyPoller.poll();
         DeletedKey rsaDeletedKey = rsaDeletedKeyPollResponse.getValue();
 
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/SignVerifyOperations/v1/SignVerifyOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/SignVerifyOperations/v1/SignVerifyOperations.java
index 9938158a6ded..3754f6edb4da 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/SignVerifyOperations/v1/SignVerifyOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/SignVerifyOperations/v1/SignVerifyOperations.java
@@ -1,9 +1,9 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys.cryptography;
-
 import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.azure.security.keyvault.keys.cryptography.CryptographyClient;
+import com.azure.security.keyvault.keys.cryptography.CryptographyClientBuilder;
 import com.azure.security.keyvault.keys.cryptography.models.SignResult;
 import com.azure.security.keyvault.keys.cryptography.models.VerifyResult;
 import com.azure.security.keyvault.keys.cryptography.models.SignatureAlgorithm;
diff --git a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/SignVerifyOperations/v2/SignVerifyOperations.java b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/SignVerifyOperations/v2/SignVerifyOperations.java
index 9938158a6ded..ef21f341bea0 100644
--- a/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/SignVerifyOperations/v2/SignVerifyOperations.java
+++ b/sdk/tools/azure-openrewrite/src/test/resources/migrationExamples/azure-security-keyvault-keys/SignVerifyOperations/v2/SignVerifyOperations.java
@@ -1,12 +1,12 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Licensed under the MIT License.
 
-package com.azure.security.keyvault.keys.cryptography;
-
-import com.azure.identity.DefaultAzureCredentialBuilder;
-import com.azure.security.keyvault.keys.cryptography.models.SignResult;
-import com.azure.security.keyvault.keys.cryptography.models.VerifyResult;
-import com.azure.security.keyvault.keys.cryptography.models.SignatureAlgorithm;
+import com.azure.v2.identity.DefaultAzureCredentialBuilder;
+import com.azure.v2.security.keyvault.keys.cryptography.CryptographyClient;
+import com.azure.v2.security.keyvault.keys.cryptography.CryptographyClientBuilder;
+import com.azure.v2.security.keyvault.keys.cryptography.models.SignResult;
+import com.azure.v2.security.keyvault.keys.cryptography.models.SignatureAlgorithm;
+import com.azure.v2.security.keyvault.keys.cryptography.models.VerifyResult;
 
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
diff --git a/sdk/tools/openrewrite-sample-compiler-ci.yml b/sdk/tools/openrewrite-sample-compiler-ci.yml
index c831c95ae975..7cde4bd225fa 100644
--- a/sdk/tools/openrewrite-sample-compiler-ci.yml
+++ b/sdk/tools/openrewrite-sample-compiler-ci.yml
@@ -45,6 +45,8 @@ extends:
                     - "/sdk/tools/"
                     - "/sdk/core-v2/"
                     - "/sdk/identity-v2/"
+                    - "/sdk/keyvault-v2/azure-security-keyvault-keys/"
+                    - "/sdk/keyvault-v2/azure-security-keyvault-certificates"
                     - "/sdk/appconfiguration-v2/"
                     - "/eng/"
                     - "/common/perf-test-core/"
@@ -56,7 +58,7 @@ extends:
                 displayName: 'Build and Install Necesssary Dependencies'
                 inputs:
                   goals: 'install'
-                  options: '-pl com.azure.v2:azure-core,com.azure.v2:azure-identity,com.azure.v2:azure-data-appconfiguration,com.azure:perf-test-core,com.azure:azure-openrewrite-compiler-maven-plugin -am -T 1C -Dcheckstyle.skip -Dgpg.skip -Dmaven.javadoc.skip -Drevapi.skip -DskipTests -Dspotbugs.skip -Djacoco.skip -Dspotless.skip --no-transfer-progress'
+                  options: '-pl com.azure.v2:azure-core,com.azure.v2:azure-identity,com.azure.v2:azure-data-appconfiguration,com.azure.v2:azure-security-keyvault-certificates,com.azure.v2:azure-security-keyvault-keys,com.azure:perf-test-core,com.azure:azure-openrewrite-compiler-maven-plugin -am -T 1C -Dcheckstyle.skip -Dgpg.skip -Dmaven.javadoc.skip -Drevapi.skip -DskipTests -Dspotbugs.skip -Djacoco.skip -Dspotless.skip --no-transfer-progress'
                   javaHomeOption: 'JDKVersion'
                   jdkVersionOption: '1.8'