Skip to main content

lib/fakererer/aws/vi.ex

defmodule Fakererer.Aws.Vi do
  @moduledoc "Functions for generating AWS information in Vietnamese."
  import Fakererer, only: [sampler: 2]

  @doc "Returns a random region name available on AWS."
  @spec region_name() :: String.t()
  sampler(:region_name, [
    "Bắc Mỹ (Virginia)", "Bắc Mỹ (Ohio)", "Tây Mỹ (California)", "Tây Mỹ (Oregon)",
    "Châu Phi (Cape Town)", "Châu Á Thái Bình Dương (Hồng Kông)", "Châu Á Thái Bình Dương (Mumbai)",
    "Châu Á Thái Bình Dương (Seoul)", "Châu Á Thái Bình Dương (Singapore)",
    "Châu Á Thái Bình Dương (Sydney)", "Châu Á Thái Bình Dương (Tokyo)",
    "Canada (Trung tâm)", "Châu Âu (Frankfurt)", "Châu Âu (Ireland)",
    "Châu Âu (London)", "Châu Âu (Milan)", "Châu Âu (Paris)",
    "Châu Âu (Stockholm)", "Châu Âu (Zurich)", "Châu Á Thái Bình Dương (Osaka)",
    "Châu Á Thái Bình Dương (Hong Kong)", "Trung Đông (Bahrain)", "Trung Đông (UAE)",
    "Nam Mỹ (São Paulo)", "Châu Á Thái Bình Dương (Jakarta)", "Châu Á Thái Bình Dương (Mumbai)",
    "Châu Á Thái Bình Dương (Hyderabad)", "Châu Á Thái Bình Dương (Melbourne)",
    "Châu Á Thái Bình Dương (Hàn Quốc)", "Châu Âu (London)", "Châu Âu (Paris)",
    "Châu Á Thái Bình Dương (Singapore)", "Châu Á Thái Bình Dương (Sydney)",
    "Châu Á Thái Bình Dương (Tokyo)", "Châu Á Thái Bình Dương (Osaka)",
    "Châu Á Thái Bình Dương (Seoul)", "Châu Á Thái Bình Dương (Mumbai)",
    "Châu Á Thái Bình Dương (Hong Kong)", "Châu Á Thái Bình Dương (Jakarta)",
    "Châu Á Thái Bình Dương (Melbourne)", "Châu Á Thái Bình Dương (Hyderabad)",
    "Châu Âu (Frankfurt)", "Châu Âu (Ireland)", "Châu Âu (London)",
    "Châu Âu (Milan)", "Châu Âu (Paris)", "Châu Âu (Stockholm)",
    "Châu Âu (Zurich)", "Châu Âu (Spain)", "Châu Âu (Warsaw)",
    "Châu Âu (Helsinki)", "Châu Âu (Bahrain)", "Châu Âu (UAE)",
    "Châu Âu (Cape Town)", "Châu Âu (São Paulo)"
  ])

  @doc "Returns a random availability zone."
  @spec availability_zone() :: String.t()
  sampler(:availability_zone, [
    "us-east-1a", "us-east-1b", "us-east-1c", "us-east-1d", "us-east-1e",
    "us-west-1a", "us-west-1b", "us-west-1c",
    "us-west-2a", "us-west-2b", "us-west-2c", "us-west-2d",
    "eu-west-1a", "eu-west-1b", "eu-west-1c",
    "eu-central-1a", "eu-central-1b", "eu-central-1c",
    "ap-southeast-1a", "ap-southeast-1b", "ap-southeast-1c",
    "ap-southeast-2a", "ap-southeast-2b", "ap-southeast-2c",
    "ap-northeast-1a", "ap-northeast-1b", "ap-northeast-1c", "ap-northeast-1d",
    "ap-northeast-2a", "ap-northeast-2b", "ap-northeast-2c",
    "ap-south-1a", "ap-south-1b",
    "sa-east-1a", "sa-east-1b", "sa-east-1c",
    "ca-central-1a", "ca-central-1b",
    "af-south-1a", "af-south-1b", "af-south-1c",
    "me-south-1a", "me-south-1b", "me-south-1c"
  ])

  @doc "Returns a random EC2 instance type."
  @spec instance_type() :: String.t()
  sampler(:instance_type, [
    "t2.micro", "t2.small", "t2.medium", "t2.large", "t2.xlarge", "t2.2xlarge",
    "t3.micro", "t3.small", "t3.medium", "t3.large", "t3.xlarge", "t3.2xlarge",
    "m5.large", "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m5.8xlarge", "m5.12xlarge",
    "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.18xlarge",
    "r5.large", "r5.xlarge", "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "r5.12xlarge",
    "p3.2xlarge", "p3.8xlarge", "p3.16xlarge",
    "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge",
    "i3.large", "i3.xlarge", "i3.2xlarge", "i3.4xlarge", "i3.8xlarge", "i3.16xlarge",
    "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge",
    "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge"
  ])
end