--- AWSTemplateFormatVersion: "2010-09-09" Description: This template will launch a Cloud9IDE for .Net Modernization Workshop. Parameters: PublicSubnet1: Type: String Description: 1st Public Subnet Default: "" Resources: WorkshopIDE: Type: "AWS::Cloud9::EnvironmentEC2" Properties: Description: "Cloud9 Browser Based IDE for executing the modernization AWS Workshop" AutomaticStopTimeMinutes: 60 InstanceType: t2.small SubnetId: !Sub ${PublicSubnet1} Cloud9InstanceRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Statement: - Effect: Allow Principal: Service: - ec2.amazonaws.com Action: - 'sts:AssumeRole' Path: / RoleName: "modernization-admin" Cloud9InstancePolicy: Type: AWS::IAM::Policy Properties: PolicyName: Cloud9AdminAccessPolicy PolicyDocument: Statement: - Effect: Allow Action: '*' Resource: '*' Roles: - !Ref Cloud9InstanceRole Cloud9InstanceProfile: Type: AWS::IAM::InstanceProfile Properties: InstanceProfileName: "modernization-admin" Path: / Roles: - !Ref Cloud9InstanceRole Outputs: Cloud9IDE: Description: "The IDE Login URL" Value: !Sub "https://${AWS::Region}.console.aws.amazon.com/cloud9/ide/${WorkshopIDE}" Cloud9RoleArn: Description: "Cloud9 Role Arn" Value: !GetAtt Cloud9InstanceRole.Arn Export: Name: Cloud9RoleArn