2017-06-26 3 views
1

Ich habe eine Cloud-Formationsvorlage, die eine IAM-Richtlinie basierend auf der Ausgabevariablen anderer Cloud-Bildung erstellen muss. Der der Richtlinie entsprechende Ressourcenteil ist der folgende.Siehe einen Ausgabeparameter in aws IAM-Richtlinie Cloud-Formationsdokument

Das Problem ist der Fn :: ImportValue in der Bedingung aber auch in den Ressourcenabschnitten, als ich einen Fehler bekam, dass Fn: ImportedValue keine Zeichenfolge ist.

Daher meine Frage ist, wie kann ich von Ressource oder Bedingung Abschnitt auf eine Ausgabe aus einer anderen Cloud-Formation verweisen?

Danke, Florin

{ 
"LambdaPolicy": { 
      "DependsOn": [ 
       "LambdaRole" 
      ], 
      "Type": "AWS::IAM::Policy", 
      "Properties": { 
       "PolicyName": { 
        "Ref": "FunctionName" 
       }, 
       "Roles": [ 
        { 
         "Ref": "LambdaRole" 
        } 
       ], 
       "PolicyDocument": { 
        "Version": "2012-10-17", 
        "Statement": [ 
         { 
          "Effect": "Allow", 
          "Action": [ 
           "logs:*" 
          ], 
          "Resource": [ 
           "arn:aws:logs:*:*:*" 
          ] 
         }, 
         { 
          "Sid": "AllowAccesToDL", 
          "Effect": "Allow", 
          "Action": [ 
           "s3:*" 
          ], 
          "Resource": "*", 
          "Condition": { 
           "ArnLike": { 
            "Fn::GetAtt": [ 
             { 
              "Fn::ImportValue": [ 
               { 
                "Fn::Join": [ 
                 "-", 
                 [ 
                  { 
                   "Ref": "BasisStackName" 
                  }, 
                  "OutputBucketNameFromOtherBucket" 
                 ] 
                ] 
               } 
              ] 
             }, 
             "Arn" 
            ] 
           } 
          } 
         } 
        ] 
       } 
      } 
     } 
     } 

Antwort

0

Die Ref Eigen Werke im gleichen Cloudformation-Stack. Es funktioniert nicht gegen einen unabhängigen Stack, den Sie zuvor erstellt haben.

Sie können den Namen der Ressource (S3-Bucket?) Als Eingabeparameter für die zweite Vorlage deklarieren und dann beim Erstellen des zweiten Stapels den Bucket-Namen manuell angeben.

Verwandte Themen