1 Answer
- Newest
- Most votes
- Most comments
1
Hi,
As per documentation, EnvironmentBlueprintIdentifier
must match a given pattern that you !Ref AdviceClientBlueprintConfig
doesn't probably follow. Hence the error message that you get.
EnvironmentBlueprintIdentifier
The identifier of a blueprint with which an environment profile is created.
Required: Yes
Type: String
Pattern: ^[a-zA-Z0-9_-]{1,36}$
Investigating a bit further, you cannot use !Ref AdviceClientBlueprintConfig
as EnvironmentBlueprintIdentifier because based on docs of AWS::DataZone::EnvironmentBlueprintConfiguration
, !Ref functions returns DomainId|BlueprintConfigurationId
with a pipe character (i.e. | ) in the middle. This char is not allowed by the pattern above.
So, adapt !Ref AdviceClientBlueprintConfig
(=parse it to remove |) to match this pattern or use another identifier and your issue will be solved.
Best,
Didier
Relevant content
- asked 8 months ago
- asked 4 months ago
- asked 3 months ago
- AWS OFFICIALUpdated 4 days ago
- AWS OFFICIALUpdated 4 months ago
- AWS OFFICIALUpdated 2 months ago
- AWS OFFICIALUpdated 3 years ago
Hi, Thanks for pointing out where I was going wrong. So, now I'm trying to get the 'EnvironmentBlueprintIdentifier' using Fn::GetAtt: - AdviceClientBlueprintConfig - EnvironmentBlueprintIdentifier But still it doesn't work. Can you please suggest how can I make this work?
I get this error: "Requested attribute EnvironmentBlueprintIdentifier must be a readonly property in schema for AWS::DataZone::EnvironmentBlueprintConfiguration"
AdviceClientBlueprintConfig: Type: AWS::DataZone::EnvironmentBlueprintConfiguration Properties: DomainIdentifier: !Ref AdviceDomain EnvironmentBlueprintIdentifier: DefaultDataLake EnabledRegions: - us-east-1 - us-east-2
AdviceClientEnvironmentProfile: DependsOn: AdviceClientBlueprintConfig Type: AWS::DataZone::EnvironmentProfile Properties: AwsAccountId: !Ref AWS::AccountId AwsAccountRegion: us-east-1 DomainIdentifier: !Ref AdviceDomain EnvironmentBlueprintIdentifier: Fn::GetAtt: - AdviceClientBlueprintConfig - EnvironmentBlueprintIdentifier Name: advice_environmentprofile ProjectIdentifier: advice_client
The right syntax is: !GetAtt AdviceClientBlueprintConfig.EnvironmentBlueprintId Best, Didier