Skip to content

Commit bd7bc86

Browse files
committed
Add AWS SQS stereotype extensions and update related files
- Introduced IntegrationCommandModelStereotypeExtensions with methods to handle AWS SQS stereotypes. - Updated MessageModelStereotypeExtensions to use the new stereotype definition. - Modified imodspec and pkg.config files to include new dependencies and metadata. - Added AWS SQS stereotype XML definition for configuration. - Enhanced SqsMessage to utilize stereotype values for queue names, ensuring non-empty values are used.
1 parent 60c6d7c commit bd7bc86

File tree

8 files changed

+131
-13
lines changed

8 files changed

+131
-13
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using Intent.Metadata.Models;
5+
using Intent.Modelers.Eventing.Api;
6+
using Intent.Modules.Common;
7+
using Intent.RoslynWeaver.Attributes;
8+
9+
[assembly: DefaultIntentManaged(Mode.Fully)]
10+
[assembly: IntentTemplate("Intent.ModuleBuilder.Templates.Api.ApiElementModelExtensions", Version = "1.0")]
11+
12+
namespace Intent.Aws.Sqs.Api
13+
{
14+
public static class IntegrationCommandModelStereotypeExtensions
15+
{
16+
public static AwsSqs GetAwsSqs(this IntegrationCommandModel model)
17+
{
18+
var stereotype = model.GetStereotype(AwsSqs.DefinitionId);
19+
return stereotype != null ? new AwsSqs(stereotype) : null;
20+
}
21+
22+
23+
public static bool HasAwsSqs(this IntegrationCommandModel model)
24+
{
25+
return model.HasStereotype(AwsSqs.DefinitionId);
26+
}
27+
28+
public static bool TryGetAwsSqs(this IntegrationCommandModel model, out AwsSqs stereotype)
29+
{
30+
if (!HasAwsSqs(model))
31+
{
32+
stereotype = null;
33+
return false;
34+
}
35+
36+
stereotype = new AwsSqs(model.GetStereotype(AwsSqs.DefinitionId));
37+
return true;
38+
}
39+
40+
public class AwsSqs
41+
{
42+
private IStereotype _stereotype;
43+
public const string DefinitionId = "74fbdee0-4098-4544-8ecf-f7c5787c78c3";
44+
45+
public AwsSqs(IStereotype stereotype)
46+
{
47+
_stereotype = stereotype;
48+
}
49+
50+
public string Name => _stereotype.Name;
51+
52+
public string QueueName()
53+
{
54+
return _stereotype.GetProperty<string>("Queue Name");
55+
}
56+
57+
}
58+
59+
}
60+
}

Modules/Intent.Modules.Aws.Sqs/Api/MessageModelStereotypeExtensions.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
24
using Intent.Metadata.Models;
35
using Intent.Modelers.Eventing.Api;
46
using Intent.Modules.Common;
@@ -17,6 +19,7 @@ public static AwsSqs GetAwsSqs(this MessageModel model)
1719
return stereotype != null ? new AwsSqs(stereotype) : null;
1820
}
1921

22+
2023
public static bool HasAwsSqs(this MessageModel model)
2124
{
2225
return model.HasStereotype(AwsSqs.DefinitionId);
@@ -37,7 +40,7 @@ public static bool TryGetAwsSqs(this MessageModel model, out AwsSqs stereotype)
3740
public class AwsSqs
3841
{
3942
private IStereotype _stereotype;
40-
public const string DefinitionId = "f0b7e50e-71a9-4f31-9f9a-3c3e0b5d8f2e";
43+
public const string DefinitionId = "74fbdee0-4098-4544-8ecf-f7c5787c78c3";
4144

4245
public AwsSqs(IStereotype stereotype)
4346
{
@@ -50,11 +53,6 @@ public string QueueName()
5053
{
5154
return _stereotype.GetProperty<string>("Queue Name");
5255
}
53-
54-
public string QueueUrl()
55-
{
56-
return _stereotype.GetProperty<string>("Queue URL");
57-
}
5856
}
5957
}
6058
}

Modules/Intent.Modules.Aws.Sqs/Intent.Aws.Sqs.imodspec

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@
6969
<factoryExtensions />
7070
<moduleSettings></moduleSettings>
7171
<dependencies>
72+
<dependency id="Intent.Aws.Common" version="1.0.4-pre.1" />
7273
<dependency id="Intent.Common" version="3.9.0" />
7374
<dependency id="Intent.Common.CSharp" version="3.8.3" />
7475
<dependency id="Intent.Common.Types" version="3.4.0" />
75-
<dependency id="Intent.Aws.Common" version="1.0.4-pre.1" />
7676
<dependency id="Intent.Eventing.Contracts" version="5.2.0" />
7777
<dependency id="Intent.Modelers.Eventing" version="6.0.2" />
7878
<dependency id="Intent.Modelers.Services" version="4.0.5" />
@@ -85,7 +85,9 @@
8585
</files>
8686
<tags>aws sqs queue event messaging</tags>
8787
<moduleSettingsExtensions />
88-
<metadata />
88+
<metadata>
89+
<install target="Services" src="Intent.Metadata/Module Builder/Intent.Aws.Sqs/Intent.Aws.Sqs.pkg.config" externalReference="259088af-8612-4dd5-9bd7-b673553c3a6c" />
90+
</metadata>
8991
<releaseNotes>release-notes.md</releaseNotes>
9092
<migrations />
9193
</package>

Modules/Intent.Modules.Aws.Sqs/Intent.Metadata/Module Builder/Intent.Aws.Sqs/Elements/NuGet Package/Amazon.Lambda.SQSEvents__7wmf1g8f.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<class id="6eb72d72-3b31-4e35-a13d-91a0d31e5b10" type="NuGet Package" typeId="f747cc37-29ee-488a-8dbe-755e856a842d">
33
<name>Amazon.Lambda.SQSEvents</name>
4-
<display>Amazon.Lambda.SQSEvents</display>
4+
<display>AmazonLambdaSqsEvents (Amazon.Lambda.SQSEvents)</display>
55
<isAbstract>false</isAbstract>
66
<sort-children>by-type-then-by-name</sort-children>
77
<genericTypes />

Modules/Intent.Modules.Aws.Sqs/Intent.Metadata/Module Builder/Intent.Aws.Sqs/Intent.Aws.Sqs.pkg.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@
4141
<property name="177a2415-e749-46e7-8257-440e19ecfb5e" display="API Namespace" isActive="true" />
4242
<property name="0d2ae582-090e-42d6-a7d6-689144433254" display="NuGet Package Id" isActive="true" />
4343
<property name="27cf6544-a9a2-4992-9fef-51d0ed49e66e" display="NuGet Package Version" value="" isActive="true" />
44-
<property name="d40394fc-ed23-45a0-9c56-cbcf1c928e47" display="Include in Module" value="false" isActive="true" />
44+
<property name="d40394fc-ed23-45a0-9c56-cbcf1c928e47" display="Include in Module" value="true" isActive="true" />
4545
<property name="959b2f6f-bc0f-42d3-8cae-7b3686037b2f" display="Reference in" value="Selected Designers" isActive="true" />
46-
<property name="27d378b6-9011-4ced-86b7-b976d690ceb7" display="Reference in Designer" isActive="true" />
46+
<property name="27d378b6-9011-4ced-86b7-b976d690ceb7" display="Reference in Designer" value="[&quot;81104ae6-2bc5-4bae-b05a-f987b0372d81&quot;]" isActive="true" />
4747
<property name="2e0e1191-139f-4d1d-8ad5-d6b5751f2555" display="Include Release Notes" value="true" isActive="true" />
4848
<property name="8f423f80-4722-41bd-9060-2273c723cb2c" display="Project URL" isActive="true" />
4949
</properties>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<stereotypeDefinition id="74fbdee0-4098-4544-8ecf-f7c5787c78c3" version="3.1.0">
3+
<comment>Configures Azure Service Bus message queue/topic name.</comment>
4+
<name>Aws Sqs</name>
5+
<targetMode>of-type</targetMode>
6+
<targetTypes>
7+
<type id="cbe970af-5bad-4d92-a3ed-a24b9fdaa23e">Message</type>
8+
<type id="7f01ca8e-0e3c-4735-ae23-a45169f71625">Integration Command</type>
9+
</targetTypes>
10+
<targetReferenceTypes />
11+
<applyMode>manually</applyMode>
12+
<icon type="UrlImagePath" source="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyAgdmlld0JveD0iMCAwIDgwIDgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2NCAoOTM1MzcpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPkljb24tQXJjaGl0ZWN0dXJlLzY0L0FyY2hfQVdTLVNpbXBsZS1RdWV1ZS1TZXJ2aWNlXzY0PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjEwMCUiIHgyPSIxMDAlIiB5Mj0iMCUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0IwMDg0RCIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkY0RjhCIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGcgaWQ9Ikljb24tQXJjaGl0ZWN0dXJlLzY0L0FyY2hfQVdTLVNpbXBsZS1RdWV1ZS1TZXJ2aWNlXzY0IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iSWNvbi1BcmNoaXRlY3R1cmUtQkcvNjQvQXBwbGljYXRpb24tSW50ZWdyYXRpb24iIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIwIiB5PSIwIiB3aWR0aD0iODAiIGhlaWdodD0iODAiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICAgICAgPHBhdGggZD0iTTI4LjcxNjk5NjYsNDMuNjg3Njc1NiBMMzEuNzE4OTI2NSw0MC43MjE4MjYgQzMxLjkwNzA0NzQsNDAuNTM1OTAxMSAzMi4wMTMxMTU2LDQwLjI4MzM2MTQgMzIuMDE0MTIzMyw0MC4wMTk4ODUgQzMyLjAxNTExNjksMzkuNzU2NDA4NiAzMS45MTAwNDkzLDM5LjUwMjg3NDcgMzEuNzIyOTI5LDM5LjMxNTk1NTYgTDI4LjcyMDk5OTIsMzYuMzE2MzAxNCBMMjcuMzAyMDg3MSwzNy43MTgxOTQ4IEwyOC41ODk5MTQ5LDM5LjAwNTc0OTQgTDI0LjAwODk3MDEsMzkuMDA1NzQ5NCBMMjQuMDA4OTcwMSw0MC45OTQyNTA2IEwyOC42MDU5MjUyLDQwLjk5NDI1MDYgTDI3LjMwNjA4OTYsNDIuMjc3ODI4MiBMMjguNzE2OTk2Niw0My42ODc2NzU2IFogTTUxLjYyNzcyNSw0My43NzgxNTI0IEw1NS42MzAyOTgsNDAuNzkzNDEyIEM1NS44ODA0NTg5LDQwLjYwNTQ5ODYgNTYuMDI5NTU0Nyw0MC4zMTEyMDA0IDU2LjAyOTU1NDcsMzkuOTk5MDA1NyBDNTYuMDI5NTU0NywzOS42ODU4MTY4IDU1Ljg4MDQ1ODksMzkuMzkwNTI0NCA1NS42MjkyOTc0LDM5LjIwMjYxMSBMNTEuNjI2NzI0MywzNi4yMjE4NDc2IEw1MC40MjU5NTI0LDM3LjgxMjY0ODYgTDUyLjAyNjk4MTYsMzkuMDA1NzQ5NCBMNDguMDI0NDA4NSwzOS4wMDU3NDk0IEw0OC4wMjQ0MDg1LDQwLjk5NDI1MDYgTDUyLjAyNTk4MSw0MC45OTQyNTA2IEw1MC40MjQ5NTE4LDQyLjE4NzM1MTQgTDUxLjYyNzcyNSw0My43NzgxNTI0IFogTTM1LjIwODE2OTUsNDAgQzM1LjIwODE2OTUsNDIuMTEwNzk0MSAzNC44NDI5MzQ3LDQ0LjEwMTI4MzkgMzQuMTYwNDk2LDQ1LjgzMzI2ODUgQzM1Ljk2MDY1MzMsNDUuMTQxMjcgMzcuOTkwOTU4NSw0NC43OTUyNzA4IDQwLjAxOTI2MjQsNDQuNzk1MjcwOCBDNDIuMDQ3NTY2Myw0NC43OTUyNzA4IDQ0LjA3Nzg3MTUsNDUuMTQxMjcgNDUuODc3MDI4MSw0NS44MzMyNjg1IEM0NS4xOTU1OSw0NC4xMDEyODM5IDQ0LjgzMDM1NTIsNDIuMTEwNzk0MSA0NC44MzAzNTUyLDQwIEM0NC44MzAzNTUyLDM3Ljg4OTIwNTkgNDUuMTk1NTksMzUuODk5NzEwNCA0NS44NzcwMjgxLDM0LjE2NjczMTUgQzQyLjI3NzcxNDIsMzUuNTQ5NzM0MSAzNy43NjA4MTA1LDM1LjU0OTczNDEgMzQuMTYwNDk2LDM0LjE2NjczMTUgQzM0Ljg0MjkzNDcsMzUuODk5NzEwNCAzNS4yMDgxNjk1LDM3Ljg4OTIwNTkgMzUuMjA4MTY5NSw0MCBMMzUuMjA4MTY5NSw0MCBaIE0zMC4zMDYwMTgyLDQ5LjY1MTE5MDkgQzMwLjExMDg5MjcsNDkuNDU3MzEyMSAzMC4wMTI4Mjk3LDQ5LjIwMjc4MzkgMzAuMDEyODI5Nyw0OC45NDgyNTU3IEMzMC4wMTI4Mjk3LDQ4LjY5MzcyNzYgMzAuMTEwODkyNyw0OC40MzkxOTk0IDMwLjMwNjAxODIsNDguMjQ1MzIwNSBDMzIuMTIyMTg1Nyw0Ni40NDA3NTU2IDMzLjIwNjg4Myw0My4zNTc1ODQ0IDMzLjIwNjg4Myw0MCBDMzMuMjA2ODgzLDM2LjY0MjQxNTYgMzIuMTIyMTg1NywzMy41NTkyNDQ0IDMwLjMwNjAxODIsMzEuNzU0Njc5NSBDMzAuMTEwODkyNywzMS41NjA4MDA2IDMwLjAxMjgyOTcsMzEuMzA2MjcyNCAzMC4wMTI4Mjk3LDMxLjA1MTc0NDMgQzMwLjAxMjgyOTcsMzAuNzk3MjE2MSAzMC4xMTA4OTI3LDMwLjU0MjY4NzkgMzAuMzA2MDE4MiwzMC4zNDg4MDkxIEMzMC42OTcyNjk3LDI5Ljk2MDA1NzEgMzEuMzI5Njc2MiwyOS45NjAwNTcxIDMxLjcyMDkyNzcsMzAuMzQ4ODA5MSBDMzUuNTk4NDIwNCwzNC4yMDE1MzAzIDQ0LjQ0MDEwNDQsMzQuMjAxNTMwMyA0OC4zMTc1OTcsMzAuMzQ4ODA5MSBDNDguNzA4ODQ4NSwyOS45NjAwNTcxIDQ5LjM0MTI1NTEsMjkuOTYwMDU3MSA0OS43MzI1MDY2LDMwLjM0ODgwOTEgQzQ5LjkyNzYzMiwzMC41NDI2ODc5IDUwLjAyNTY5NTEsMzAuNzk3MjE2MSA1MC4wMjU2OTUxLDMxLjA1MTc0NDMgQzUwLjAyNTY5NTEsMzEuMzA2MjcyNCA0OS45Mjc2MzIsMzEuNTYwODAwNiA0OS43MzI1MDY2LDMxLjc1NDY3OTUgQzQ3LjkxNjMzOTEsMzMuNTU5MjQ0NCA0Ni44MzE2NDE4LDM2LjY0MjQxNTYgNDYuODMxNjQxOCw0MCBDNDYuODMxNjQxOCw0My4zNTc1ODQ0IDQ3LjkxNjMzOTEsNDYuNDQwNzU1NiA0OS43MzI1MDY2LDQ4LjI0NTMyMDUgQzQ5LjkyNzYzMiw0OC40MzkxOTk0IDUwLjAyNTY5NTEsNDguNjkzNzI3NiA1MC4wMjU2OTUxLDQ4Ljk0ODI1NTcgQzUwLjAyNTY5NTEsNDkuMjAyNzgzOSA0OS45Mjc2MzIsNDkuNDU3MzEyMSA0OS43MzI1MDY2LDQ5LjY1MTE5MDkgQzQ5LjUzNzM4MTIsNDkuODQ1MDY5OCA0OS4yODEyMTY1LDQ5Ljk0MjUwNjQgNDkuMDI1MDUxOCw0OS45NDI1MDY0IEM0OC43Njg4ODcxLDQ5Ljk0MjUwNjQgNDguNTEyNzIyNSw0OS44NDUwNjk4IDQ4LjMxNzU5Nyw0OS42NTExOTA5IEM0NC40NDAxMDQ0LDQ1Ljc5ODQ2OTcgMzUuNTk4NDIwNCw0NS43OTg0Njk3IDMxLjcyMDkyNzcsNDkuNjUxMTkwOSBDMzEuMzI5Njc2Miw1MC4wMzk5NDI5IDMwLjY5NzI2OTcsNTAuMDM5OTQyOSAzMC4zMDYwMTgyLDQ5LjY1MTE5MDkgTDMwLjMwNjAxODIsNDkuNjUxMTkwOSBaIE02Ni4wMDA5NjQ5LDQwLjAwNDk3MTMgQzY2LjAwMDk2NDksMzkuMDc4MzI5NyA2NS42Mzc3MzE0LDM4LjIwNzM2NjEgNjQuOTc4MzA3NSwzNy41NTIxNTQ5IEM2NC4yOTc4NzAxLDM2Ljg3NTA3MDIgNjMuNDAzMjk1LDM2LjUzODAxOTMgNjIuNTA5NzIwNSwzNi41MzgwMTkzIEM2MS42MTYxNDYxLDM2LjUzODAxOTMgNjAuNzIxNTcxLDM2Ljg3NTA3MDIgNjAuMDQxMTMzNiwzNy41NTIxNTQ5IEM1OC42NzkyNTgxLDM4LjkwNDMzNTggNTguNjc5MjU4MSw0MS4xMDQ2MTI1IDYwLjA0MTEzMzYsNDIuNDU3Nzg3NiBDNjEuNDAyMDA4NCw0My44MDk5Njg0IDYzLjYxNTQzMTMsNDMuODEwOTYyNyA2NC45NzgzMDc1LDQyLjQ1Nzc4NzYgQzY1LjYzNzczMTQsNDEuODAyNTc2NCA2Ni4wMDA5NjQ5LDQwLjkzMTYxMjggNjYuMDAwOTY0OSw0MC4wMDQ5NzEzIEw2Ni4wMDA5NjQ5LDQwLjAwNDk3MTMgWiBNNjYuMzkzMjE3MSw0My44NjM2NTggQzY1LjMyMjUyODgsNDQuOTI3NTA2MiA2My45MTY2MjUsNDUuNDU5NDMwMyA2Mi41MDk3MjA1LDQ1LjQ1OTQzMDMgQzYxLjEwMjgxNjEsNDUuNDU5NDMwMyA1OS42OTY5MTIzLDQ0LjkyNzUwNjIgNTguNjI2MjI0LDQzLjg2MzY1OCBDNTYuNDgzODQ2OCw0MS43MzU5NjE2IDU2LjQ4Mzg0NjgsMzguMjczOTgwOSA1OC42MjYyMjQsMzYuMTQ2Mjg0NSBDNjAuNzY4NjAxMiwzNC4wMTY1OTk3IDY0LjI1Mjg0MTEsMzQuMDE4NTg4MiA2Ni4zOTMyMTcxLDM2LjE0NjI4NDUgQzY4LjUzNTU5NDMsMzguMjczOTgwOSA2OC41MzU1OTQzLDQxLjczNTk2MTYgNjYuMzkzMjE3MSw0My44NjM2NTggTDY2LjM5MzIxNzEsNDMuODYzNjU4IFogTTIwLjk4MDAyMjksNDAuMDI3ODM5IEMyMC45ODAwMjI5LDM5LjEwMTE5NzQgMjAuNjE2Nzg5NCwzOC4yMzAyMzM5IDE5Ljk1NzM2NTQsMzcuNTc1MDIyNyBDMTkuMjk3OTQxNSwzNi45MTk4MTE1IDE4LjQyMTM3OCwzNi41NTg4OTg1IDE3LjQ4ODc3ODUsMzYuNTU4ODk4NSBDMTYuNTU3MTc5NiwzNi41NTg4OTg1IDE1LjY4MDYxNjEsMzYuOTE5ODExNSAxNS4wMjAxOTE2LDM3LjU3NTAyMjcgQzE0LjM2MDc2NzYsMzguMjMwMjMzOSAxMy45OTg1MzQ4LDM5LjEwMTE5NzQgMTMuOTk4NTM0OCw0MC4wMjc4MzkgQzEzLjk5ODUzNDgsNDAuOTUzNDg2NCAxNC4zNjA3Njc2LDQxLjgyNDQ0OTkgMTUuMDIwMTkxNiw0Mi40ODA2NTUzIEMxNi4zNDAwNCw0My43OTAwODM0IDE4LjYzODUxNzYsNDMuNzkwMDgzNCAxOS45NTczNjU0LDQyLjQ4MDY1NTMgQzIwLjYxNjc4OTQsNDEuODI0NDQ5OSAyMC45ODAwMjI5LDQwLjk1MzQ4NjQgMjAuOTgwMDIyOSw0MC4wMjc4MzkgTDIwLjk4MDAyMjksNDAuMDI3ODM5IFogTTIxLjM3MjI3NSw0My44ODY1MjU3IEMyMC4zMDE1ODY3LDQ0Ljk1MDM3MzkgMTguODk1NjgyOSw0NS40ODIyOTggMTcuNDg4Nzc4NSw0NS40ODIyOTggQzE2LjA4Mjg3NDcsNDUuNDgyMjk4IDE0LjY3Njk3MDksNDQuOTUwMzczOSAxMy42MDUyODIsNDMuODg2NTI1NyBDMTEuNDY0OTA2LDQxLjc1ODgyOTQgMTEuNDY0OTA2LDM4LjI5Njg0ODcgMTMuNjA1MjgyLDM2LjE2OTE1MjMgQzE1Ljc0NzY1OTIsMzQuMDQxNDU1OSAxOS4yMzA4OTg0LDM0LjA0MTQ1NTkgMjEuMzcyMjc1LDM2LjE2OTE1MjMgQzIzLjUxMzY1MTYsMzguMjk2ODQ4NyAyMy41MTM2NTE2LDQxLjc1ODgyOTQgMjEuMzcyMjc1LDQzLjg4NjUyNTcgTDIxLjM3MjI3NSw0My44ODY1MjU3IFogTTU0Ljg5NTgyNTksNTQuODU2MDkzIEM1MC45MDEyNTgsNTguODI2MTM1OCA0NS41ODg4NDI4LDYxLjAxMTQ5ODcgMzkuOTM5MjEwOSw2MS4wMTE0OTg3IEMzNC4yODc1Nzc3LDYxLjAxMTQ5ODcgMjguOTc2MTYzMiw1OC44MjYxMzU4IDI0Ljk4MTU5NTMsNTQuODU2MDkzIEMyMi4yNDE4MzQsNTIuMTM0ODI5IDIwLjczMzg2NDYsNDguODgyNjM1MiAxOS45NTEzNjE2LDQ2LjYzNDYzNDUgTDE4LjA2MDE0NTgsNDcuMjg0ODc0NCBDMTguOTExNjkzMiw0OS43MzA3MzEgMjAuNTU3NzUxNCw1My4yNzMyNDYgMjMuNTY2Njg1Nyw1Ni4yNjE5NjM0IEMyNy45Mzk0OTY4LDYwLjYwNzgzMyAzMy43NTMyMzQyLDYzIDM5LjkzOTIxMDksNjMgQzQ2LjEyNDE4Nyw2MyA1MS45Mzc5MjQ0LDYwLjYwNzgzMyA1Ni4zMTA3MzU1LDU2LjI2MTk2MzQgQzU4LjgzNzM1OTcsNTMuNzUzNDY5MSA2MC44NDk2NTMzLDUwLjU2MzkxMyA2MS45NzkzNzk2LDQ3LjI4MTg5MTcgTDYwLjA4NjE2MjUsNDYuNjM3NjE3MyBDNTkuMDUzNDk4Nyw0OS42MzgyNjU3IDU3LjIxMDMxMzgsNTIuNTU3Mzg1NiA1NC44OTU4MjU5LDU0Ljg1NjA5MyBMNTQuODk1ODI1OSw1NC44NTYwOTMgWiBNMTkuOTUwMzYwOSwzMy4zNjYzNTk3IEwxOC4wNjExNDY1LDMyLjcxNDEzMTMgQzE5LjI3MTkyNDgsMjkuMjUwMTYyMSAyMS4yMjkxODMsMjYuMDYwNjA2MSAyMy41NzI2ODk2LDIzLjczMzA2NTMgQzI3Ljk0MzQ5OTQsMTkuMzkxMTcyOCAzMy43NTUyMzU1LDE3IDM5LjkzOTIxMDksMTcgQzQ2LjEyMzE4NjMsMTcgNTEuOTM0OTIyNSwxOS4zOTExNzI4IDU2LjMwNDczMTYsMjMuNzMzMDY1MyBDNTguNzcxMzE3MywyNi4xODM4OTMxIDYwLjgzOTY0NjksMjkuNDU2OTY2MiA2MS45NzczNzgzLDMyLjcxNDEzMTMgTDYwLjA4ODE2MzgsMzMuMzY2MzU5NyBDNTkuMDQ0NDkyOSwzMC4zODM2MDc4IDU3LjE1MDI3NTIsMjcuMzg0OTQ3OSA1NC44ODk4MjIsMjUuMTM4OTM1NyBDNTAuODk4MjU2LDIxLjE3MTg3NTcgNDUuNTg3ODQyMiwxOC45ODg1MDEzIDM5LjkzOTIxMDksMTguOTg4NTAxMyBDMzQuMjg5NTc5LDE4Ljk4ODUwMTMgMjguOTgwMTY1OCwyMS4xNzE4NzU3IDI0Ljk4NzU5OTIsMjUuMTM4OTM1NyBDMjIuODU0MjI3NywyNy4yNTk2NzIzIDIxLjA2NTA3NzUsMzAuMTgxNzc1IDE5Ljk1MDM2MDksMzMuMzY2MzU5NyBMMTkuOTUwMzYwOSwzMy4zNjYzNTk3IFoiIGlkPSJBV1MtU2ltcGxlLVF1ZXVlLVNlcnZpY2VfSWNvbl82NF9TcXVpZCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4=" />
13+
<displayIcon>false</displayIcon>
14+
<displayIconFunction>return false;</displayIconFunction>
15+
<displayFunction />
16+
<displayAsAnnotation>false</displayAsAnnotation>
17+
<displayAsText>true</displayAsText>
18+
<autoAdd>false</autoAdd>
19+
<allowMultipleApplies>false</allowMultipleApplies>
20+
<parentFolderId>d8769a1d-f7c1-465e-94f8-8859f93d5688</parentFolderId>
21+
<order>0</order>
22+
<packageId>259088af-8612-4dd5-9bd7-b673553c3a6c</packageId>
23+
<packageName>Intent.Aws.Sqs</packageName>
24+
<properties>
25+
<property id="8eae77de-bce3-4e6d-ad5c-23afa3ac651f">
26+
<name>Queue Name</name>
27+
<type>string</type>
28+
<controlType>text</controlType>
29+
<optionsSource>n/a</optionsSource>
30+
<placeholder>(default)</placeholder>
31+
</property>
32+
</properties>
33+
</stereotypeDefinition>

Modules/Intent.Modules.Aws.Sqs/Intent.Modules.Aws.Sqs.application.output.log

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,22 @@
88
<ApplicationRelativeFilePath>../Intent.Modules.NET.sln</ApplicationRelativeFilePath>
99
<IsIgnored>false</IsIgnored>
1010
</FileLog>
11+
<FileLog>
12+
<ProjectId>d468b3e0-f460-4603-8a92-6c3026f70b50</ProjectId>
13+
<CorrelationId>Intent.ModuleBuilder.Templates.Api.ApiElementModelExtensions#7f01ca8e-0e3c-4735-ae23-a45169f71625</CorrelationId>
14+
<OverwriteBehaviour>always</OverwriteBehaviour>
15+
<ApplicationRelativeFilePath>Api/IntegrationCommandModelStereotypeExtensions.cs</ApplicationRelativeFilePath>
16+
<ProjectRelativeFilePath>IntegrationCommandModelStereotypeExtensions.cs</ProjectRelativeFilePath>
17+
<IsIgnored>false</IsIgnored>
18+
</FileLog>
19+
<FileLog>
20+
<ProjectId>d468b3e0-f460-4603-8a92-6c3026f70b50</ProjectId>
21+
<CorrelationId>Intent.ModuleBuilder.Templates.Api.ApiElementModelExtensions#cbe970af-5bad-4d92-a3ed-a24b9fdaa23e</CorrelationId>
22+
<OverwriteBehaviour>always</OverwriteBehaviour>
23+
<ApplicationRelativeFilePath>Api/MessageModelStereotypeExtensions.cs</ApplicationRelativeFilePath>
24+
<ProjectRelativeFilePath>MessageModelStereotypeExtensions.cs</ProjectRelativeFilePath>
25+
<IsIgnored>false</IsIgnored>
26+
</FileLog>
1127
<FileLog>
1228
<ProjectId>e6a962cc-6864-45d9-ab6a-fcfb19173e82</ProjectId>
1329
<CorrelationId>Intent.ModuleBuilder.IModSpecFile#7e37b40c-19ea-45f5-9bf2-a2453da12dc2</CorrelationId>

Modules/Intent.Modules.Integration.IaC.Shared.AwsSqs/SqsMessage.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,12 @@ private static string GetQueueName(MessageModel message)
2828
// Check if AWS SQS stereotype is applied
2929
if (message.HasAwsSqs())
3030
{
31-
return message.GetAwsSqs().QueueName();
31+
var stereotypeName = message.GetAwsSqs().QueueName();
32+
// Only use stereotype value if it's not empty
33+
if (!string.IsNullOrWhiteSpace(stereotypeName))
34+
{
35+
return stereotypeName;
36+
}
3237
}
3338

3439
// Default naming convention: kebab-case, remove common suffixes
@@ -45,7 +50,11 @@ private static string GetQueueConfigurationName(MessageModel message)
4550
if (message.HasAwsSqs())
4651
{
4752
var name = message.GetAwsSqs().QueueName();
48-
return prefix + name.ToPascalCase();
53+
// Only use stereotype value if it's not empty
54+
if (!string.IsNullOrWhiteSpace(name))
55+
{
56+
return prefix + name.ToPascalCase() + ":QueueUrl";
57+
}
4958
}
5059

5160
// Default: PascalCase name

0 commit comments

Comments
 (0)