Closed mattyboy84 closed 1 month ago
coincidentally this is solved by MediaPackage's introduction of GetAtt support for
IngestEndpointUrls
This
Outputs:
mediaPackageV2ChannelIngestEndpoint1:
Value: !Join ['', ["https://", !Select [0, !Split ['.', !GetAtt mediaPackageV2ChannelGroup.EgressDomain]], "-1.ingest.", !Select [2, !Split ['.', !GetAtt mediaPackageV2ChannelGroup.EgressDomain]], !Sub ".mediapackagev2.${AWS::Region}.amazonaws.com/in/v1/", !Select [1, !Split [ '/', !Ref mediaPackageV2ChannelGroup ]], "/1/", !Select [3, !Split [ '/', !Ref mediaPackageV2Channel ]], "/index"]]
mediaPackageV2ChannelIngestEndpoint2:
Value: !Join ['', ["https://", !Select [0, !Split ['.', !GetAtt mediaPackageV2ChannelGroup.EgressDomain]], "-2.ingest.", !Select [2, !Split ['.', !GetAtt mediaPackageV2ChannelGroup.EgressDomain]], !Sub ".mediapackagev2.${AWS::Region}.amazonaws.com/in/v1/", !Select [1, !Split [ '/', !Ref mediaPackageV2ChannelGroup ]], "/2/", !Select [3, !Split [ '/', !Ref mediaPackageV2Channel ]], "/index"]]
Can be simplified to
Outputs:
mediaPackageV2ChannelIngestEndpoint1:
Value: !Select [0, !GetAtt mediaPackageChannel.IngestEndpointUrls]
mediaPackageV2ChannelIngestEndpoint2:
Value: !Select [1, !GetAtt mediaPackageChannel.IngestEndpointUrls]
Name of the resource
AWS::MediaPackageV2::Channel
Resource name
No response
Description
Let's say you have a Mediapackage V2 Channel group & channel like this:
The
AWS::MediaPackageV2::Channel
resource does support GetAtt forIngestEndpoints
but it returns a complex object likeYou could get the first element of the array like this:
but that still leaves you with:
How would you further extract the Url from this object?
Perhaps add
GetAtt
support forThat resolves to the String Urls to be used by other resources in the template.
Workaround? I've found this this is able to deterministically create the ingest urls however direct
GetAtt
support would make this nicer.Other Details
No response