from enum import StrEnum

RH_SAML_URL = (
    "https://auth.redhat.com/auth/realms/EmployeeIDP/protocol/saml/clients/itaws"
)


# boto3.session.Session().get_available_regions("rds")  # noqa: ERA001
class AwsRegion(StrEnum):
    AF_SOUTH_1 = "af-south-1"
    AP_EAST_1 = "ap-east-1"
    AP_NORTHEAST_1 = "ap-northeast-1"
    AP_NORTHEAST_2 = "ap-northeast-2"
    AP_NORTHEAST_3 = "ap-northeast-3"
    AP_SOUTH_1 = "ap-south-1"
    AP_SOUTH_2 = "ap-south-2"
    AP_SOUTHEAST_1 = "ap-southeast-1"
    AP_SOUTHEAST_2 = "ap-southeast-2"
    AP_SOUTHEAST_3 = "ap-southeast-3"
    AP_SOUTHEAST_4 = "ap-southeast-4"
    AP_SOUTHEAST_5 = "ap-southeast-5"
    CA_CENTRAL_1 = "ca-central-1"
    CA_WEST_1 = "ca-west-1"
    EU_CENTRAL_1 = "eu-central-1"
    EU_CENTRAL_2 = "eu-central-2"
    EU_NORTH_1 = "eu-north-1"
    EU_SOUTH_1 = "eu-south-1"
    EU_SOUTH_2 = "eu-south-2"
    EU_WEST_1 = "eu-west-1"
    EU_WEST_2 = "eu-west-2"
    EU_WEST_3 = "eu-west-3"
    IL_CENTRAL_1 = "il-central-1"
    ME_CENTRAL_1 = "me-central-1"
    ME_SOUTH_1 = "me-south-1"
    MX_CENTRAL_1 = "mx-central-1"
    SA_EAST_1 = "sa-east-1"
    US_EAST_1 = "us-east-1"
    US_EAST_2 = "us-east-2"
    US_WEST_1 = "us-west-1"
    US_WEST_2 = "us-west-2"


class AwsConsoleService(StrEnum):
    ACM = "acm"
    ACM_PCA = "acm-pca"
    AMPLIFY = "amplify"
    APIGATEWAY = "apigateway"
    APPFABRIC = "appfabric"
    APPFLOW = "appflow"
    APPMESH = "appmesh"
    APPRUNNER = "apprunner"
    APPSYNC = "appsync"
    APPTEST = "apptest"
    ARTIFACT = "artifact"
    ATHENA = "athena"
    AUDITMANAGER = "auditmanager"
    B2BI = "b2bi"
    BACKUP = "backup"
    BATCH = "batch"
    BEDROCK = "bedrock"
    BILLING = "billing"
    BILLINGCONDUCTOR = "billingconductor"
    BRAKET = "braket"
    CHATBOT = "chatbot"
    CLEANROOMS = "cleanrooms"
    CLOUD9 = "cloud9"
    CLOUDFORMATION = "cloudformation"
    CLOUDFRONT = "cloudfront"
    CLOUDHSM = "cloudhsm"
    CLOUDSEARCH = "cloudsearch"
    CLOUDTRAIL = "cloudtrail"
    CLOUDWATCH = "cloudwatch"
    CODEBUILD = "codebuild"
    CODECATALYST = "codecatalyst"
    CODECOMMIT = "codecommit"
    CODEDEPLOY = "codedeploy"
    CODEPIPELINE = "codepipeline"
    COMPREHEND = "comprehend"
    COMPREHENDMEDICAL = "comprehendmedical"
    COMPUTE_OPTIMIZER = "compute-optimizer"
    CONFIG = "config"
    CONNECT = "connect"
    CONTROLTOWER = "controltower"
    CUSTOMER_PROFILES = "customer-profiles"
    DATABREW = "databrew"
    DATAEXCHANGE = "dataexchange"
    DATASYNC = "datasync"
    DATAZONE = "datazone"
    DETECTIVE = "detective"
    DEVICEFARM = "devicefarm"
    DEVOPS_GURU = "devops-guru"
    DISCOVERY = "discovery"
    DOCDB = "docdb"
    DRS = "drs"
    DSQL = "dsql"
    DYNAMODB = "dynamodb"
    EC2 = "ec2"
    ECR = "ecr"
    ECS = "ecs"
    EFS = "efs"
    EKS = "eks"
    ELASTICACHE = "elasticache"
    ELASTICBEANSTALK = "elasticbeanstalk"
    ELASTICTRANSCODER = "elastictranscoder"
    EMR = "emr"
    ENTITYRESOLUTION = "entityresolution"
    EVENTS = "events"
    EVIDENTLY = "evidently"
    FINSPACE = "finspace"
    FIREHOSE = "firehose"
    FIS = "fis"
    FORECAST = "forecast"
    FRAUDDETECTOR = "frauddetector"
    FSX = "fsx"
    GAMELIFT = "gamelift"
    GLACIER = "glacier"
    GLOBALACCELERATOR = "globalaccelerator"
    GLUE = "glue"
    GRAFANA = "grafana"
    GREENGRASS = "greengrass"
    GROUNDSTATION = "groundstation"
    GUARDDUTY = "guardduty"
    HEALTH = "health"
    HEALTHLAKE = "healthlake"
    IAM = "iam"
    IMAGEBUILDER = "imagebuilder"
    IMPORTEXPORT = "importexport"
    INSPECTOR = "inspector"
    IOT = "iot"
    IOTANALYTICS = "iotanalytics"
    IOTEVENTS = "iotevents"
    IOTFLEETWISE = "iotfleetwise"
    IOTSITEWISE = "iotsitewise"
    IOTTWINMAKER = "iottwinmaker"
    IOTWIRELESS = "iotwireless"
    IVS = "ivs"
    KENDRA = "kendra"
    KEYSPACES = "keyspaces"
    KINESIS = "kinesis"
    KINESISANALYTICS = "kinesisanalytics"
    KINESISVIDEO = "kinesisvideo"
    KMS = "kms"
    LAKEFORMATION = "lakeformation"
    LAMBDA = "lambda"
    LICENSE_MANAGER = "license-manager"
    LOCATION = "location"
    LOOKOUTEQUIPMENT = "lookoutequipment"
    LOOKOUTMETRICS = "lookoutmetrics"
    LOOKOUTVISION = "lookoutvision"
    M2 = "m2"
    MACHINELEARNING = "machinelearning"
    MANAGEDBLOCKCHAIN = "managedblockchain"
    MEDIACONNECT = "mediaconnect"
    MEDIACONVERT = "mediaconvert"
    MEDIALIVE = "medialive"
    MEDIAPACKAGE = "mediapackage"
    MEDIASTORE = "mediastore"
    MEDIATAILOR = "mediatailor"
    MEDICAL_IMAGING = "medical-imaging"
    MEMORYDB = "memorydb"
    MGN = "mgn"
    MTURK = "mturk"
    MWAA = "mwaa"
    NEPTUNE = "neptune"
    NETWORKMANAGER = "networkmanager"
    NETWORKMONITOR = "networkmonitor"
    NOTIFICATIONS = "notifications"
    OMICS = "omics"
    OPSWORKS = "opsworks"
    ORGANIZATIONS = "organizations"
    OUTPOSTS = "outposts"
    PANORAMA = "panorama"
    PAYMENT_CRYPTOGRAPHY = "payment-cryptography"
    PCA_CONNECTOR_AD = "pca-connector-ad"
    PCA_CONNECTOR_SCEP = "pca-connector-scep"
    PCS = "pcs"
    PERSONALIZE = "personalize"
    PINPOINT = "pinpoint"
    POLLY = "polly"
    PROTON = "proton"
    QLDB = "qldb"
    RAM = "ram"
    RBIN = "rbin"
    RDS = "rds"
    REDSHIFT = "redshift"
    REKOGNITION = "rekognition"
    RESILIENCEHUB = "resiliencehub"
    RESOURCE_GROUPS = "resource-groups"
    ROBOMAKER = "robomaker"
    ROLESANYWHERE = "rolesanywhere"
    ROUTE53 = "route53"
    ROUTE53PROFILES = "route53profiles"
    ROUTE53RESOLVER = "route53resolver"
    S3 = "s3"
    SAGEMAKER = "sagemaker"
    SCHEDULER = "scheduler"
    SECRETSMANAGER = "secretsmanager"
    SECURITY_IR = "security-ir"
    SECURITYHUB = "securityhub"
    SECURITYLAKE = "securitylake"
    SERVERLESSREPO = "serverlessrepo"
    SERVICECATALOG = "servicecatalog"
    SES = "ses"
    SESV2 = "sesv2"
    SIGNER = "signer"
    SIMSPACEWEAVER = "simspaceweaver"
    SMS_VOICE = "sms-voice"
    SNS = "sns"
    SQS = "sqs"
    SSM = "ssm"
    STORAGEGATEWAY = "storagegateway"
    SUPPORT = "support"
    SYNTHETICS = "synthetics"
    TEXTRACT = "textract"
    TNB = "tnb"
    TRANSCRIBE = "transcribe"
    TRANSFER = "transfer"
    TRANSLATE = "translate"
    TRUSTEDADVISOR = "trustedadvisor"
    VERIFIEDPERMISSIONS = "verifiedpermissions"
    WAFV2 = "wafv2"
    WELLARCHITECTED = "wellarchitected"
    WORKMAIL = "workmail"
    WORKSPACES = "workspaces"
    WORKSPACES_THIN_CLIENT = "workspaces-thin-client"
    WORKSPACES_WEB = "workspaces-web"
    XRAY = "xray"
