Overloading Square Brackets to Access AWS Secrets

Operator overloading allows developers to define custom behavior for standard operators.
In Python, operator overloading is achieved by defining special methods in a class. These special methods, also known as magic methods or dunder (double underscore) methods, have names that begin and end with double underscores.
Define __getitem__() to overload the square bracket operator
import boto3
from botocore.exceptions import ClientError
class AWSSecrets:
def __init__(self, **kwargs):
self.client = boto3.client(
service_name='secretsmanager',
**kwargs
)
def __getitem__(self, secret_name):
try:
get_secret_value_response = self.client.get_secret_value(SecretId=secret_name)
return get_secret_value_response['SecretString']
except ClientError as e:
raise e
secrets = AWSSecrets(region_name='us-east-1')
secret = secrets['<secret_name>']