netapp.ontap.na_ontap_s3_buckets 模块 – NetApp ONTAP S3 存储桶

注意

此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install netapp.ontap。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在剧本中使用它,请指定:netapp.ontap.na_ontap_s3_buckets

netapp.ontap 21.19.0 中的新增功能

概要

  • 在 NetApp ONTAP 上创建、删除或修改 S3 存储桶。

要求

以下是执行此模块的主机所需的条件。

  • Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。

  • Python 3 - 建议使用 3.9 或更高版本。

  • 当使用 ZAPI 时,需要 netapp-lib 2018.11.13 或更高版本(使用“pip install netapp-lib”安装),强烈建议使用 netapp-lib 2020.3.12,因为它可以为连接问题提供更好的错误报告。

  • 物理或虚拟集群式 Data ONTAP 系统,模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。

参数

参数

注释

aggregates

列表 / 元素=字符串

用于 S3 存储桶的聚合名称列表。

type=nas 时,不支持此选项。

audit_event_selector

字典

审计事件选择器允许您指定要审计的访问和权限类型。

type=nas 时,不支持此选项。

access

字符串

指定要审计的事件访问类型,只读、只写或全部(默认为全部)。

选项

  • "read"

  • "write"

  • "all"

permission

字符串

指定要审计的事件权限类型,只允许、只拒绝或全部(默认为全部)。

选项

  • "allow"

  • "deny"

  • "all"

cert_filepath

字符串

netapp.ontap 20.6.0 中新增

SSL 客户端证书文件(.pem)的路径。

不支持 python 2.6。

comment

字符串

S3 存储桶的注释。

constituents_per_aggregate

整数

每个聚合的组成部分数量。

type=nas 时,不支持此选项。

feature_flags

字典

netapp.ontap 20.5.0 中新增

启用或禁用新功能。

这可用于启用实验性功能或禁用破坏向后兼容性的新功能。

支持的键和值可能会在未经通知的情况下更改。未知键将被忽略。

force_ontap_version

字符串

netapp.ontap 21.23.0 中新增

使用 REST 时覆盖集群 ONTAP 版本。

如果版本与目标集群不匹配,则行为未定义。

这是在由于权限问题无法读取集群版本时提供的解决方法。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues

这应采用 9.10 或 9.10.1 的形式,每个元素都是整数。

hostname

字符串 / 必需

ONTAP 实例的主机名或 IP 地址。

http_port

整数

使用此端口覆盖默认端口(80 或 443)。

https

布尔值

启用和禁用 https。

使用 REST 时会被忽略,因为只支持 https。

使用 SSL 证书身份验证时会被忽略,因为它需要 SSL。

选项

  • false ← (默认)

  • true

key_filepath

字符串

netapp.ontap 20.6.0 中新增

SSL 客户端密钥文件的路径。

name

字符串 / 必需

S3 或 NAS 存储桶的名称。

nas_path

字符串

netapp.ontap 22.7.0 中新增

指定与 nas 存储桶对应的 NAS 路径。

password

别名:pass

字符串

指定用户的密码。

policy

字典

访问策略使用 Amazon Web Services (AWS) 策略语言语法,允许 S3 租户为其数据创建访问策略。

statements

列表 / 元素=字典

使用此结构构建策略语句以指定权限。

授予 <Effect> 以允许/拒绝 <Principal> 在 <Condition> 应用时对 <Resource> 执行 <Action>。

actions

列表 / 元素=字符串

您可以指定 * 表示所有操作,或指定以下一项或多项操作的列表。

GetObject

PutObject

DeleteObject

ListBucket

GetBucketAcl

GetObjectAcl

ListBucketMultipartUploads

ListMultipartUploadParts

conditions

列表 / 元素=字典

策略生效时的条件。

delimiters

列表 / 元素=字符串

用于标识对象列表中前缀的分隔符。

max_keys

列表 / 元素=字符串

请求中可以返回的最大密钥数。

operator

字符串

条件使用的运算符。

选项

  • “ip_address”

  • “not_ip_address”

  • “string_equals”

  • “string_not_equals”

  • “string_equals_ignore_case”

  • “string_not_equals_ignore_case”

  • “string_like”

  • “string_not_like”

  • “numeric_equals”

  • “numeric_not_equals”

  • “numeric_greater_than”

  • “numeric_greater_than_equals”

  • “numeric_less_than”

  • “numeric_less_than_equals”

前缀

列表 / 元素=字符串

要列出的对象的名称前缀。

源IP地址

列表 / 元素=字符串

请求的源IP地址。

用户名

列表 / 元素=字符串

您要允许访问存储桶的用户名称。

效果

字符串

语句可以允许或拒绝访问。

选项

  • "allow"

  • "deny"

主体

列表 / 元素=字符串

一个或多个S3用户或组的列表。

资源

列表 / 元素=字符串

存储桶及其包含的任何对象。

可以使用通配符字符 * 和 ? 来构成用于指定资源的正则表达式。

sid

字符串

语句ID

qos_policy

字典

策略组定义了适用于与其关联的存储对象的可衡量的服务级别目标 (SLO)。

如果未将策略组分配给存储桶,则系统将不会监控和控制对其的流量。

type=nas 时,不支持此选项。

max_throughput_iops

整数

IOPS 的最大吞吐量。

max_throughput_mbps

整数

MBPS 的最大吞吐量。

min_throughput_iops

整数

IOPS 的最小吞吐量。

min_throughput_mbps

整数

MBPS 的最小吞吐量。

name

字符串

QoS策略组名称。这与其他QoS属性互斥。

大小

整数

S3存储桶的大小(以字节为单位)。

type=nas 时,不支持此选项。

状态

字符串

指定的S3存储桶是否存在。

选项

  • "present" ← (默认)

  • “absent”

类型

字符串

在 netapp.ontap 22.6.0 中添加

指定存储桶类型。有效值为“s3”和“nas”。

选项

  • “s3”

  • “nas”

use_rest

字符串

此模块仅支持REST。

always – 将始终使用REST API。如果模块不支持REST,则会发出警告。

默认: "always"

用户名

别名:user

字符串

这可以是集群范围或SVM范围的帐户,具体取决于是否需要集群级或SVM级API。

有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/

支持两种身份验证方法

  1. 基本身份验证,使用用户名和密码;

  2. SSL证书身份验证,使用SSL客户端证书文件,以及可选的私钥文件。

要使用证书,必须已将证书安装在ONTAP集群中,并且必须已启用证书身份验证。

validate_certs

布尔值

如果设置为 no,则不会验证SSL证书。

仅应在使用自签名证书的个人控制站点上将其设置为 False

选项

  • false

  • true ← (默认)

versioning_state

字符串

在 netapp.ontap 22.13.0 中添加

指定存储桶的版本控制状态。

版本控制状态不能从任何其他状态修改为“disabled”。

需要 ONTAP 9.11.1 或更高版本。

选项

  • “disabled”

  • “enabled”

  • “suspended”

vserver

字符串 / 必需

要使用的vserver名称。

备注

注意

  • 如果存储桶未配置 audit_event_selector 选项,则模块将尝试设置所需的 audit_event_selector,但如果vserver中不存在审核配置,则可能无效。

  • 以 na_ontap 为前缀的模块构建为支持 ONTAP 存储平台。

  • 默认情况下启用 https 并推荐使用。要在集群上启用 http,必须运行以下命令“set -privilege advanced;”“system services web modify -http-enabled true;”

示例

- name: Create S3 bucket
  netapp.ontap.na_ontap_s3_buckets:
    state: present
    name: carchi-test-bucket
    comment: carchi8py was here
    size: 838860800
    vserver: ansibleSVM
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: false
    use_rest: always

- name: Create S3 bucket with a policy
  netapp.ontap.na_ontap_s3_buckets:
    state: present
    name: carchi-test-bucket
    comment: carchi8py was here
    size: 838860800
    policy:
      statements:
        - sid: FullAccessToUser1
          resources:
            - bucket1
            - bucket1/*
          actions:
            - GetObject
            - PutObject
            - DeleteObject
            - ListBucket
          effect: allow
          conditions:
            - operator: ip_address
              max_keys:
                - 1000
              delimiters:
                - "/"
              source_ips:
                - 1.1.1.1
                - 1.2.2.0/24
              prefixes:
                - prex
              usernames:
                - user1
          principals:
            - user1
            - group/grp1
    vserver: ansibleSVM
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: false
    use_rest: always

- name: Delete S3 bucket
  netapp.ontap.na_ontap_s3_buckets:
    state: absent
    name: carchi-test-bucket
    vserver: ansibleSVM
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: false
    use_rest: always

作者

  • NetApp Ansible 团队 (@carchi8py)