https://www.pulumi.com/registry/packages/gcp/api-docs/storage/bucket/
Python: 3.9.13
-- 1. macにPulumiインストール
brew install pulumi/tap/pulumi
-- 2. GCPプロジェクト作成
gcloud init
gcloud auth list
gcloud --version
gcloud projects create project01-9999999 \
--name="project01"
gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1 --quiet
gcloud config set compute/zone asia-northeast1-a --quiet
gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111
gcloud services enable compute.googleapis.com --project project01-9999999
gcloud auth application-default login
-- 3. Create new project
mkdir test
cd test
pulumi new gcp-python
pulumi config set gcp:project project01-9999999
pulumi config set gcp:region asia-northeast1
pulumi config set gcp:zone asia-northeast1-a
pulumi config get gcp:project
pulumi config get gcp:region
pulumi config get gcp:zone
vim __main__.py
import pulumi
import pulumi_gcp as gcp
bucket123 = gcp.storage.Bucket("bucket123",
name="bucket123",
location="ASIA-NORTHEAST1",
storage_class = "STANDARD",
force_destroy=True,
uniform_bucket_level_access=True,
public_access_prevention = "enforced")
a = gcp.storage.BucketObject("a.txt",
bucket=bucket123.name,
name="a.txt",
source=pulumi.FileAsset("a.txt"),
content_type = "text/plain"
)
-- 4. pulumi 実行
echo test > a.txt
pulumi up
gcloud storage ls
gcloud storage ls gs://bucket123/*
gcloud storage cat gs://bucket123/a.txt
-- 5. GCPクリーンアップ
pulumi destroy
pulumi stack rm dev --force
gcloud projects list
gcloud projects delete project01-9999999 \
--quiet