AWSTemplateFormatVersion: 2010-09-09 Parameters: Name: Type: String Description: Name of the app Repository: Type: String Description: GitHub Repository URL Branch: Type: String Description: Github Repository Branch Default: master OauthToken: Type: String Description: GitHub Repository URL NoEcho: true Domain: Type: String Description: Domain name to host application Default: "" Conditions: UseCustomDomain: !Not [!Equals [!Ref Domain, ""]] Resources: AmplifyRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: - amplify.amazonaws.com Action: - sts:AssumeRole Policies: - PolicyName: Amplify PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: "amplify:*" Resource: "*" AmplifyApp: Type: "AWS::Amplify::App" Properties: Name: !Ref Name Repository: !Ref Repository OauthToken: !Ref OauthToken IAMServiceRole: !GetAtt AmplifyRole.Arn AmplifyBranch: Type: AWS::Amplify::Branch Properties: BranchName: !Ref Branch AppId: !GetAtt AmplifyApp.AppId EnableAutoBuild: true AmplifyDomain: Type: AWS::Amplify::Domain Condition: UseCustomDomain Properties: DomainName: !Ref Domain AppId: !GetAtt AmplifyApp.AppId SubDomainSettings: - Prefix: master BranchName: !GetAtt AmplifyBranch.BranchName Outputs: DefaultDomain: Value: !GetAtt AmplifyApp.DefaultDomain Condition: UseCustomDomain