%global _empty_manifest_terminate_build 0 Name: python-cdk-fargate-run-task Version: 2.0.322 Release: 1 Summary: Define and run container tasks on AWS Fargate immediately or with schedule License: Apache-2.0 URL: https://github.com/pahud/cdk-fargate-run-task.git Source0: https://mirrors.nju.edu.cn/pypi/web/packages/11/20/9faf61f288181e85760051910d1907047db8edfa6538f736ac7ebe35757f/cdk-fargate-run-task-2.0.322.tar.gz BuildArch: noarch Requires: python3-aws-cdk-lib Requires: python3-constructs Requires: python3-jsii Requires: python3-publication Requires: python3-typeguard %description [![NPM version](https://badge.fury.io/js/cdk-fargate-run-task.svg)](https://badge.fury.io/js/cdk-fargate-run-task) [![PyPI version](https://badge.fury.io/py/cdk-fargate-run-task.svg)](https://badge.fury.io/py/cdk-fargate-run-task) [![build](https://github.com/pahud/cdk-fargate-run-task/actions/workflows/build.yml/badge.svg)](https://github.com/pahud/cdk-fargate-run-task/actions/workflows/build.yml) # cdk-fargate-run-task Define and run container tasks on AWS Fargate at once or by schedule. # sample ```python const app = new cdk.App(); const env = { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION, }; const stack = new cdk.Stack(app, 'run-task-demo-stack', { env }); // define your task const task = new ecs.FargateTaskDefinition(stack, 'Task', { cpu: 256, memoryLimitMiB: 512 }); // add contianer into the task task.addContainer('Ping', { image: ecs.ContainerImage.fromRegistry('busybox'), command: [ 'sh', '-c', 'ping -c 3 google.com', ], logging: new ecs.AwsLogDriver({ streamPrefix: 'Ping', logGroup: new LogGroup(stack, 'LogGroup', { logGroupName: `${stack.stackName}LogGroup`, retention: RetentionDays.ONE_DAY, }), }), }); // deploy and run this task once const runTaskAtOnce = new RunTask(stack, 'RunDemoTaskOnce', { task }); // or run it with schedule(every hour 0min) new RunTask(stack, 'RunDemoTaskEveryHour', { task, cluster: runTaskAtOnce.cluster, runOnce: false, schedule: Schedule.cron({ minute: '0' }), }); ``` ## Public Subnets only VPC To run task in public subnets only VPC: ```python new RunTask(stack, 'RunTask', { task, vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC, }, ``` # ECS Anywhere [Amazon ECS Anywhere](https://aws.amazon.com/ecs/anywhere/) allows you to run ECS tasks on external instances. To run external task once or on schedule: ```python const externalTask = new ecs.TaskDefinition(stack, 'ExternalTask', { cpu: '256', memoryMiB: '512', compatibility: ecs.Compatibility.EXTERNAL, }); externalTask.addContainer('ExternalPing', { image: ecs.ContainerImage.fromRegistry('busybox'), command: [ 'sh', '-c', 'ping -c 3 google.com', ], logging: new ecs.AwsLogDriver({ streamPrefix: 'Ping', logGroup: new LogGroup(stack, 'ExternalLogGroup', { retention: RetentionDays.ONE_DAY, removalPolicy: cdk.RemovalPolicy.DESTROY, }), }), }); // run it once on external instance new RunTask(stack, 'RunDemoTaskFromExternal', { task: externalTask, cluster: existingCluster, launchType: LaunchType.EXTERNAL, }); // run it by schedule on external instance new RunTask(stack, 'RunDemoTaskFromExternalSchedule', { task: externalTask, cluster: existingCluster, launchType: LaunchType.EXTERNAL, runAtOnce: false, schedule: Schedule.cron({ minute: '0' }), }); ``` Please note when you run task in `EXTERNAL` launch type, no fargate tasks will be scheduled. You will be responsible to register the external instances to your ECS cluster. See [Registering an external instance to a cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere-registration.html) for more details. %package -n python3-cdk-fargate-run-task Summary: Define and run container tasks on AWS Fargate immediately or with schedule Provides: python-cdk-fargate-run-task BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-cdk-fargate-run-task [![NPM version](https://badge.fury.io/js/cdk-fargate-run-task.svg)](https://badge.fury.io/js/cdk-fargate-run-task) [![PyPI version](https://badge.fury.io/py/cdk-fargate-run-task.svg)](https://badge.fury.io/py/cdk-fargate-run-task) [![build](https://github.com/pahud/cdk-fargate-run-task/actions/workflows/build.yml/badge.svg)](https://github.com/pahud/cdk-fargate-run-task/actions/workflows/build.yml) # cdk-fargate-run-task Define and run container tasks on AWS Fargate at once or by schedule. # sample ```python const app = new cdk.App(); const env = { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION, }; const stack = new cdk.Stack(app, 'run-task-demo-stack', { env }); // define your task const task = new ecs.FargateTaskDefinition(stack, 'Task', { cpu: 256, memoryLimitMiB: 512 }); // add contianer into the task task.addContainer('Ping', { image: ecs.ContainerImage.fromRegistry('busybox'), command: [ 'sh', '-c', 'ping -c 3 google.com', ], logging: new ecs.AwsLogDriver({ streamPrefix: 'Ping', logGroup: new LogGroup(stack, 'LogGroup', { logGroupName: `${stack.stackName}LogGroup`, retention: RetentionDays.ONE_DAY, }), }), }); // deploy and run this task once const runTaskAtOnce = new RunTask(stack, 'RunDemoTaskOnce', { task }); // or run it with schedule(every hour 0min) new RunTask(stack, 'RunDemoTaskEveryHour', { task, cluster: runTaskAtOnce.cluster, runOnce: false, schedule: Schedule.cron({ minute: '0' }), }); ``` ## Public Subnets only VPC To run task in public subnets only VPC: ```python new RunTask(stack, 'RunTask', { task, vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC, }, ``` # ECS Anywhere [Amazon ECS Anywhere](https://aws.amazon.com/ecs/anywhere/) allows you to run ECS tasks on external instances. To run external task once or on schedule: ```python const externalTask = new ecs.TaskDefinition(stack, 'ExternalTask', { cpu: '256', memoryMiB: '512', compatibility: ecs.Compatibility.EXTERNAL, }); externalTask.addContainer('ExternalPing', { image: ecs.ContainerImage.fromRegistry('busybox'), command: [ 'sh', '-c', 'ping -c 3 google.com', ], logging: new ecs.AwsLogDriver({ streamPrefix: 'Ping', logGroup: new LogGroup(stack, 'ExternalLogGroup', { retention: RetentionDays.ONE_DAY, removalPolicy: cdk.RemovalPolicy.DESTROY, }), }), }); // run it once on external instance new RunTask(stack, 'RunDemoTaskFromExternal', { task: externalTask, cluster: existingCluster, launchType: LaunchType.EXTERNAL, }); // run it by schedule on external instance new RunTask(stack, 'RunDemoTaskFromExternalSchedule', { task: externalTask, cluster: existingCluster, launchType: LaunchType.EXTERNAL, runAtOnce: false, schedule: Schedule.cron({ minute: '0' }), }); ``` Please note when you run task in `EXTERNAL` launch type, no fargate tasks will be scheduled. You will be responsible to register the external instances to your ECS cluster. See [Registering an external instance to a cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere-registration.html) for more details. %package help Summary: Development documents and examples for cdk-fargate-run-task Provides: python3-cdk-fargate-run-task-doc %description help [![NPM version](https://badge.fury.io/js/cdk-fargate-run-task.svg)](https://badge.fury.io/js/cdk-fargate-run-task) [![PyPI version](https://badge.fury.io/py/cdk-fargate-run-task.svg)](https://badge.fury.io/py/cdk-fargate-run-task) [![build](https://github.com/pahud/cdk-fargate-run-task/actions/workflows/build.yml/badge.svg)](https://github.com/pahud/cdk-fargate-run-task/actions/workflows/build.yml) # cdk-fargate-run-task Define and run container tasks on AWS Fargate at once or by schedule. # sample ```python const app = new cdk.App(); const env = { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION, }; const stack = new cdk.Stack(app, 'run-task-demo-stack', { env }); // define your task const task = new ecs.FargateTaskDefinition(stack, 'Task', { cpu: 256, memoryLimitMiB: 512 }); // add contianer into the task task.addContainer('Ping', { image: ecs.ContainerImage.fromRegistry('busybox'), command: [ 'sh', '-c', 'ping -c 3 google.com', ], logging: new ecs.AwsLogDriver({ streamPrefix: 'Ping', logGroup: new LogGroup(stack, 'LogGroup', { logGroupName: `${stack.stackName}LogGroup`, retention: RetentionDays.ONE_DAY, }), }), }); // deploy and run this task once const runTaskAtOnce = new RunTask(stack, 'RunDemoTaskOnce', { task }); // or run it with schedule(every hour 0min) new RunTask(stack, 'RunDemoTaskEveryHour', { task, cluster: runTaskAtOnce.cluster, runOnce: false, schedule: Schedule.cron({ minute: '0' }), }); ``` ## Public Subnets only VPC To run task in public subnets only VPC: ```python new RunTask(stack, 'RunTask', { task, vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC, }, ``` # ECS Anywhere [Amazon ECS Anywhere](https://aws.amazon.com/ecs/anywhere/) allows you to run ECS tasks on external instances. To run external task once or on schedule: ```python const externalTask = new ecs.TaskDefinition(stack, 'ExternalTask', { cpu: '256', memoryMiB: '512', compatibility: ecs.Compatibility.EXTERNAL, }); externalTask.addContainer('ExternalPing', { image: ecs.ContainerImage.fromRegistry('busybox'), command: [ 'sh', '-c', 'ping -c 3 google.com', ], logging: new ecs.AwsLogDriver({ streamPrefix: 'Ping', logGroup: new LogGroup(stack, 'ExternalLogGroup', { retention: RetentionDays.ONE_DAY, removalPolicy: cdk.RemovalPolicy.DESTROY, }), }), }); // run it once on external instance new RunTask(stack, 'RunDemoTaskFromExternal', { task: externalTask, cluster: existingCluster, launchType: LaunchType.EXTERNAL, }); // run it by schedule on external instance new RunTask(stack, 'RunDemoTaskFromExternalSchedule', { task: externalTask, cluster: existingCluster, launchType: LaunchType.EXTERNAL, runAtOnce: false, schedule: Schedule.cron({ minute: '0' }), }); ``` Please note when you run task in `EXTERNAL` launch type, no fargate tasks will be scheduled. You will be responsible to register the external instances to your ECS cluster. See [Registering an external instance to a cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere-registration.html) for more details. %prep %autosetup -n cdk-fargate-run-task-2.0.322 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-cdk-fargate-run-task -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 11 2023 Python_Bot - 2.0.322-1 - Package Spec generated