diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 10:39:57 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 10:39:57 +0000 |
commit | 6906fb0920df1cc5fa919022592414988fc584e1 (patch) | |
tree | d7229953142e98985c159fe3d1802fd21d4a7823 | |
parent | 306d0bc841238c8b6c4d046f97aa89d1cad33b39 (diff) |
automatic import of python-cdk-fargate-run-task
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cdk-fargate-run-task.spec | 398 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 400 insertions, 0 deletions
@@ -0,0 +1 @@ +/cdk-fargate-run-task-2.0.322.tar.gz diff --git a/python-cdk-fargate-run-task.spec b/python-cdk-fargate-run-task.spec new file mode 100644 index 0000000..a2fa06b --- /dev/null +++ b/python-cdk-fargate-run-task.spec @@ -0,0 +1,398 @@ +%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 +[](https://badge.fury.io/js/cdk-fargate-run-task) +[](https://badge.fury.io/py/cdk-fargate-run-task) +[](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 +[](https://badge.fury.io/js/cdk-fargate-run-task) +[](https://badge.fury.io/py/cdk-fargate-run-task) +[](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 +[](https://badge.fury.io/js/cdk-fargate-run-task) +[](https://badge.fury.io/py/cdk-fargate-run-task) +[](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 <Python_Bot@openeuler.org> - 2.0.322-1 +- Package Spec generated @@ -0,0 +1 @@ +6da788e1fb97292ec3aca76d437aaf16 cdk-fargate-run-task-2.0.322.tar.gz |