dataTables:
  aws_v1_go:
    prefixes:
      - "github.com/aws/aws-sdk-go/service/"
  aws_v2_go:
    prefixes:
      - "github.com/aws/aws-sdk-go-v2/service/"
  aws_v1_java:
    prefixes:
      - "com.amazonaws.services."
  aws_v2_java:
    prefixes:
      - "software.amazon.awssdk.services."

definition:
  language:
    go:
      - name: "AWS SDK v1 (migrate)"
        prefixes_from: aws_v1_go
        provider: AWS_V1
        openrewrite_recipe: "org.openrewrite.aws.sdk.v2.UpgradeSdkDependencies"
        docs_url: "https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/migrate-gosdk.html"
      - name: "AWS SDK v2 (target)"
        prefixes_from: aws_v2_go
        provider: AWS_V2
    java:
      - name: "AWS SDK for Java v1 (migrate)"
        prefixes_from: aws_v1_java
        provider: AWS_V1
        openrewrite_recipe: "org.openrewrite.aws.sdk.v2.UpgradeSdkDependencies"
      - name: "AWS SDK for Java v2 (target)"
        prefixes_from: aws_v2_java
        provider: AWS_V2
      - name: "Legacy Spring Cloud AWS"
        prefix: "org.springframework.cloud.aws."
        provider: LEGACY
        openrewrite_recipe: "org.openrewrite.java.spring.cloud.aws.UpgradeSpringCloudAws"
      - name: "Spring Cloud AWS (target)"
        prefix: "io.awspring.cloud."
        provider: TARGET
      - name: "javax namespace (migrate)"
        prefix: "javax."
        provider: JAVAX
        rule: "javax\\.(?<resource_group>[a-zA-Z0-9_.]+)\\.(?<operation>[a-zA-Z0-9_]+)"
        openrewrite_recipe: "org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta"
      - name: "jakarta namespace (target)"
        prefix: "jakarta."
        provider: JAKARTA
        rule: "jakarta\\.(?<resource_group>[a-zA-Z0-9_.]+)\\.(?<operation>[a-zA-Z0-9_]+)"
    python:
      - name: "Boto3 (current AWS SDK)"
        prefix: "boto3."
        provider: AWS_V2
      - name: "Legacy boto (migrate)"
        prefix: "boto."
        provider: AWS_V1
        rule: "boto\\.(?<resource_group>[a-z0-9_]+)\\.(?<operation>[a-z0-9_]+)"

  providers:
    AWS_V1:
      servicenameMapping: {}
    AWS_V2:
      servicenameMapping: {}
    LEGACY:
      servicenameMapping: {}
    TARGET:
      servicenameMapping: {}
