package core.aws.task.vpc; import com.amazonaws.services.ec2.model.CreateTagsRequest; import core.aws.client.AWS; import core.aws.env.Context; import core.aws.env.Environment; import core.aws.resource.vpc.VPC; import core.aws.task.ec2.EC2TagHelper; import core.aws.workflow.Action; import core.aws.workflow.Task; /** * @author neo */ @Action("create-vpc") public class CreateVPCTask extends Task<VPC> { public CreateVPCTask(VPC vpc) { super(vpc); } @Override public void execute(Context context) throws Exception { resource.remoteVPC = AWS.vpc.createVPC(); createTag(context.env); } private void createTag(Environment env) throws Exception { EC2TagHelper tagHelper = new EC2TagHelper(env); CreateTagsRequest createTagsRequest = new CreateTagsRequest() .withResources(resource.remoteVPC.getVpcId()) .withTags(tagHelper.env(), tagHelper.resourceId(resource.id), tagHelper.name(resource.id)); AWS.ec2.createTags(createTagsRequest); } }