Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
6823f86
Initial commit of codeloom code
rlhagerm Apr 9, 2026
637d63a
Initial commit of codeloom code
rlhagerm Apr 9, 2026
1c18842
Merge branch 'python-sesv2-attachments' of https://github.com/rlhager…
rlhagerm Apr 14, 2026
8fd44dc
Updates to README and tools requirements.
rlhagerm Apr 14, 2026
689e773
Initial commit of codeloom code
rlhagerm Apr 9, 2026
10a6fed
Updates to README and tools requirements.
rlhagerm Apr 14, 2026
42d6dfa
Merge branch 'python-sesv2-attachments' of https://github.com/rlhager…
rlhagerm Apr 20, 2026
e4f8dc8
Updates for project structure.
rlhagerm Apr 24, 2026
23c6e69
Initial commit of codeloom code
rlhagerm Apr 9, 2026
f117f33
Updates to README and tools requirements.
rlhagerm Apr 14, 2026
0ead7b3
Updates for project structure.
rlhagerm Apr 24, 2026
d5d4297
Update to metadata order.
rlhagerm Apr 24, 2026
d55c768
Merge branch 'python-sesv2-attachments' of https://github.com/rlhager…
rlhagerm Apr 24, 2026
9f5b1ff
Update to README.
rlhagerm Apr 24, 2026
bf96ddf
Update to metadata
rlhagerm Apr 24, 2026
09dfd06
Updates to metadata.
rlhagerm Apr 24, 2026
fc286b5
Update sesv2_metadata.yaml
rlhagerm Apr 24, 2026
1806b6d
Updates to metadata.
rlhagerm Apr 24, 2026
c4167ca
Update sesv2_wrapper.py
rlhagerm Apr 24, 2026
7ad8301
Undo requirements changes.
rlhagerm Apr 24, 2026
ffea76d
Update scenario_sesv2_email_attachments.py
rlhagerm Apr 24, 2026
9793a6a
Clean up messages and hello example.
rlhagerm Apr 27, 2026
dec58c3
Adding the spec and readme.
rlhagerm Apr 27, 2026
4067378
Updates to spec and readme.
rlhagerm Apr 28, 2026
2f9701a
Metadata fixes
rlhagerm Apr 28, 2026
5aaca39
Metadata cleanup.
rlhagerm Apr 28, 2026
41cced0
Updates from feedback.
rlhagerm Apr 29, 2026
a612928
Update README.md
rlhagerm Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 109 additions & 10 deletions .doc_gen/metadata/sesv2_metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ sesv2_CreateContactList:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand Down Expand Up @@ -89,7 +89,7 @@ sesv2_CreateContact:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand All @@ -101,6 +101,15 @@ sesv2_CreateContact:
sesv2: {CreateContact}
sesv2_GetEmailIdentity:
languages:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description:
snippet_tags:
- python.example_code.sesv2.SESv2Wrapper.decl
- python.example_code.sesv2.GetEmailIdentityAttachment
Rust:
versions:
- sdk_version: 1
Expand Down Expand Up @@ -163,7 +172,7 @@ sesv2_ListContacts:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand Down Expand Up @@ -234,7 +243,14 @@ sesv2_SendEmail:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description: Sends a message with optional attachments.
snippet_tags:
- python.example_code.sesv2.SESv2Wrapper.decl
- python.example_code.sesv2.SendEmailAttachment
- sdk_version: 3
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description: Sends a message to all members of the contact list.
genai: most
Expand Down Expand Up @@ -282,7 +298,14 @@ sesv2_CreateEmailIdentity:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description:
snippet_tags:
- python.example_code.sesv2.SESv2Wrapper.decl
- python.example_code.sesv2.CreateEmailIdentityAttachment
- sdk_version: 3
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand Down Expand Up @@ -333,7 +356,14 @@ sesv2_CreateEmailTemplate:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description:
snippet_tags:
- python.example_code.sesv2.SESv2Wrapper.decl
- python.example_code.sesv2.CreateEmailTemplateAttachment
- sdk_version: 3
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand Down Expand Up @@ -384,7 +414,7 @@ sesv2_DeleteContactList:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand Down Expand Up @@ -435,7 +465,14 @@ sesv2_DeleteEmailIdentity:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description:
snippet_tags:
- python.example_code.sesv2.SESv2Wrapper.decl
- python.example_code.sesv2.DeleteEmailIdentityAttachment
- sdk_version: 3
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand Down Expand Up @@ -486,7 +523,14 @@ sesv2_DeleteEmailTemplate:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description:
snippet_tags:
- python.example_code.sesv2.SESv2Wrapper.decl
- python.example_code.sesv2.DeleteEmailTemplateAttachment
- sdk_version: 3
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand Down Expand Up @@ -544,7 +588,7 @@ sesv2_NewsletterWorkflow:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2
github: python/example_code/sesv2/newsletter_scenario
excerpts:
- description:
genai: most
Expand Down Expand Up @@ -581,3 +625,58 @@ sesv2_NewsletterWorkflow:
services:
sesv2: {CreateContactList, CreateContact, ListContacts, SendEmail.simple, SendEmail.template, CreateEmailIdentity, CreateEmailTemplate,
DeleteContactList, DeleteEmailIdentity, DeleteEmailTemplate}

sesv2_Hello:
title: Hello &SESv2;
title_abbrev: Hello &SESv2;
synopsis: get started using &SESv2;.
category: Hello
languages:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description:
snippet_tags:
- python.example_code.sesv2.Hello
services:
sesv2: {ListEmailIdentities}
sesv2_SendBulkEmail:
languages:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description:
snippet_tags:
- python.example_code.sesv2.SESv2Wrapper.decl
- python.example_code.sesv2.SendBulkEmail
services:
sesv2: {SendBulkEmail}
sesv2_Scenario_EmailAttachments:
title: Send emails with attachments using &SESv2;
title_abbrev: Email Attachments Scenario
synopsis: send emails with attachments using &SESv2;.
synopsis_list:
- Create an email template for bulk sends.
- Send a simple email with a file attachment.
- Send a simple email with an inline image.
- Send bulk templated emails with attachments.
- Clean up resources.
category: Scenarios
languages:
Python:
versions:
- sdk_version: 3
github: python/example_code/sesv2/attachments_scenario
excerpts:
- description: Run an interactive scenario demonstrating email attachments.
snippet_tags:
- python.example_code.sesv2.Scenario_EmailAttachments
- description: Create an SESv2 wrapper class to manage operations.
snippet_tags:
- python.example_code.sesv2.SESv2Wrapper.class
services:
sesv2: {SendEmail, SendBulkEmail, CreateEmailIdentity, CreateEmailTemplate, GetEmailIdentity, DeleteEmailTemplate, DeleteEmailIdentity}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,4 @@ kotlin/services/**/.kotlin/
.kiro/settings/
.kiro/steering/

/codeloom_outputs
60 changes: 49 additions & 11 deletions python/example_code/sesv2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,26 +34,34 @@ python -m pip install -r requirements.txt
<!--custom.prerequisites.start-->
<!--custom.prerequisites.end-->

### Get started

- [Hello Amazon SES v2 API](attachments_scenario/sesv2_hello.py#L18) (`ListEmailIdentities`)


### Single actions

Code excerpts that show you how to call individual service functions.

- [CreateContact](newsletter.py#L155)
- [CreateContactList](newsletter.py#L105)
- [CreateEmailIdentity](newsletter.py#L92)
- [CreateEmailTemplate](newsletter.py#L118)
- [DeleteContactList](newsletter.py#L258)
- [DeleteEmailIdentity](newsletter.py#L286)
- [DeleteEmailTemplate](newsletter.py#L271)
- [ListContacts](newsletter.py#L198)
- [SendEmail](newsletter.py#L164)
- [CreateContact](newsletter_scenario/newsletter.py#L155)
- [CreateContactList](newsletter_scenario/newsletter.py#L105)
- [CreateEmailIdentity](attachments_scenario/sesv2_wrapper.py#L73)
- [CreateEmailTemplate](attachments_scenario/sesv2_wrapper.py#L109)
- [DeleteContactList](newsletter_scenario/newsletter.py#L258)
- [DeleteEmailIdentity](attachments_scenario/sesv2_wrapper.py#L321)
- [DeleteEmailTemplate](attachments_scenario/sesv2_wrapper.py#L291)
- [GetEmailIdentity](attachments_scenario/sesv2_wrapper.py#L42)
- [ListContacts](newsletter_scenario/newsletter.py#L198)
- [SendBulkEmail](attachments_scenario/sesv2_wrapper.py#L227)
- [SendEmail](attachments_scenario/sesv2_wrapper.py#L155)

### Scenarios

Code examples that show you how to accomplish a specific task by calling multiple
functions within the same service.

- [Newsletter scenario](newsletter.py)
- [Email Attachments Scenario](attachments_scenario/scenario_sesv2_email_attachments.py)
- [Newsletter scenario](newsletter_scenario/newsletter.py)


<!--custom.examples.start-->
Expand All @@ -74,7 +82,37 @@ To run the Newsletter example, copy the files from workflows/sesv2_weekly_mailer

<!--custom.instructions.end-->

#### Hello Amazon SES v2 API

This example shows you how to get started using Amazon SES v2 API.

```
python attachments_scenario/sesv2_hello.py
```


#### Email Attachments Scenario

This example shows you how to send emails with attachments using Amazon SES v2 API.

- Create an email template for bulk sends.
- Send a simple email with a file attachment.
- Send a simple email with an inline image.
- Send bulk templated emails with attachments.
- Clean up resources.

<!--custom.scenario_prereqs.sesv2_Scenario_EmailAttachments.start-->
<!--custom.scenario_prereqs.sesv2_Scenario_EmailAttachments.end-->

Start the example by running the following at a command prompt:

```
python attachments_scenario/scenario_sesv2_email_attachments.py
```


<!--custom.scenarios.sesv2_Scenario_EmailAttachments.start-->
<!--custom.scenarios.sesv2_Scenario_EmailAttachments.end-->

#### Newsletter scenario

Expand All @@ -87,7 +125,7 @@ This example shows you how to run the Amazon SES v2 API newsletter scenario.
Start the example by running the following at a command prompt:

```
python newsletter.py
python newsletter_scenario/newsletter.py
```


Expand Down
Loading
Loading