{Pulumi} S3/GCP

 

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