community.general.serverless 模块 – 管理 Serverless Framework 项目

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在剧本中使用它,请指定:community.general.serverless

概要

要求

执行此模块的主机需要以下要求。

  • serverless

  • yaml

参数

参数

注释

deploy

布尔值

是否在构建工件后部署它们。

当此选项为 false 时,将构建所有函数,但不会运行任何堆栈更新来发送它们。

这主要用于生成要存储/部署在其他位置的工件。

选择

  • false

  • true ← (默认)

force

布尔值

是否强制完整部署,相当于 serverless --force 选项。

选择

  • false ← (默认)

  • true

region

字符串

将服务部署到的 AWS 区域。

此参数默认为 us-east-1

默认值: ""

serverless_bin_path

路径

相对于 'service_path' 的 serverless framework 二进制文件的路径,例如 node_module/.bin/serverless

service_path

路径 / 必需

要操作的 Serverless 服务根目录的路径。

stage

字符串

要部署到的 serverless framework 项目阶段的名称。

这使用 serverless framework 默认的 "dev"。

默认值: ""

state

字符串

给定阶段/项目的目标状态。

选择

  • "absent"

  • "present" ← (默认)

verbose

布尔值

在部署期间显示所有堆栈事件,并显示任何堆栈输出。

选择

  • false ← (默认)

  • true

属性

属性

支持

描述

check_mode

支持:

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

当处于差异模式时,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息。

备注

注意

  • 目前,serverless 命令必须在执行任务的节点的路径中。将来,这可能是一个标志。

示例

- name: Basic deploy of a service
  community.general.serverless:
    service_path: '{{ project_dir }}'
    state: present

- name: Deploy a project, then pull its resource list back into Ansible
  community.general.serverless:
    stage: dev
    region: us-east-1
    service_path: '{{ project_dir }}'
  register: sls

# The cloudformation stack is always named the same as the full service, so the
# cloudformation_info module can get a full list of the stack resources, as
# well as stack events and outputs
- cloudformation_info:
    region: us-east-1
    stack_name: '{{ sls.service_name }}'
    stack_resources: true

- name: Deploy a project using a locally installed serverless binary
  community.general.serverless:
    stage: dev
    region: us-east-1
    service_path: '{{ project_dir }}'
    serverless_bin_path: node_modules/.bin/serverless

返回值

常见的返回值记录在此处,以下是此模块特有的字段

描述

command

字符串

此模块运行的完整 serverless 命令,以防您想在模块外部重新运行该命令。

返回:始终

示例: "serverless deploy --stage production"

service_name

字符串

刚部署的 serverless.yml 中指定的服务名称。

返回:始终

示例: "my-fancy-service-dev"

state

字符串

serverless 项目的堆栈是否存在/不存在。

返回:始终

作者

  • Ryan Scott Brown (@ryansb)