Google cloud platform 使用Ansible创建GCP存储桶

Google cloud platform 使用Ansible创建GCP存储桶,google-cloud-platform,ansible,google-cloud-storage,Google Cloud Platform,Ansible,Google Cloud Storage,我正在尝试用ansible处理GCP资源。最初,我尝试使用ansible创建一个GCP存储桶。为此,我使用下面的命令在GCP CLoud Shell中安装了ansible。还创建了一个服务帐户并生成了基于JSON的密钥文件 sudo apt-get install ansible 还使用以下命令安装了gcloud模块 sudo pip3 install google.cloud 现在我尝试使用下面的YAML文件创建一个存储桶 但当我运行ansible playbook时,它失败了

我正在尝试用ansible处理GCP资源。最初,我尝试使用ansible创建一个GCP存储桶。为此,我使用下面的命令在GCP CLoud Shell中安装了ansible。还创建了一个服务帐户并生成了基于JSON的密钥文件

   sudo apt-get install ansible
还使用以下命令安装了gcloud模块

   sudo pip3 install google.cloud
现在我尝试使用下面的YAML文件创建一个存储桶

但当我运行ansible playbook时,它失败了,错误如下

令人不快的一行似乎是:

- name: Storage bucket
  ^ here

我通过使用pip安装Ansible和GoogleAuth解决了这个问题

并且对剧本进行了一些修改,使其发挥作用

 - name: create a bucket
   hosts: localhost
   tasks:
   - name: Storage bucket
     google.cloud.gcp_storage_bucket:
       name: ansible-storage-module
       project: adminproject-272208
       auth_kind: serviceaccount
       service_account_file: "/home/project/ansible/project.json"
       state: present
gsutil显示bucket已创建

     $ gsutil ls
     gs://ansible-storage-module/

您正试图从google.cloud ansible集合中删除一个模块。看起来你没有安装它。该命令类似于ansible galaxy collection install google.cloud。如果您看到我的原始描述,它已经使用sudo pip3 install google.cloud执行。我再次使用pip安装ansible,它成功了。使用apt get时,它不起作用。如果您看到我的原始评论,我不会说任何关于安装Python模块的pip安装的内容。我建议使用ansible galaxy collection安装,它安装ansible collections。最初我尝试使用ansible galaxy collection安装,但不知怎的失败了,之后我尝试了pip安装
 pip install ansible
 pip install requests google-auth
 - name: create a bucket
   hosts: localhost
   tasks:
   - name: Storage bucket
     google.cloud.gcp_storage_bucket:
       name: ansible-storage-module
       project: adminproject-272208
       auth_kind: serviceaccount
       service_account_file: "/home/project/ansible/project.json"
       state: present
     $ gsutil ls
     gs://ansible-storage-module/