Memvalidasi koneksi Anda

Setelah mengaktifkan akses ke Assured Open Source Software (Assured OSS), Anda harus mengonfirmasi bahwa akun layanan dan akun Amazon Web Services (AWS) (khusus untuk paket gratis) dapat mengakses layanan Assured OSS.

Untuk memvalidasi apakah akun Anda memiliki akses, cantumkan paket Java, Python, Go, atau JavaScript (NPM) yang tersedia. Untuk mencantumkan paket, Anda dapat langsung memanggil API atau menggunakan Cloud Shell untuk menjalankan panggilan command line curl ke API.

Jika Anda menggunakan paket gratis, dalam kasus yang jarang terjadi, Anda mungkin akan mengalami error izin ditolak selama satu jam atau lebih setelah mengirimkan formulir pengaktifan pelanggan.

Dokumen ini berlaku untuk paket premium dan paket gratis.

Sebelum memulai

  1. Instal Google Cloud CLI versi terbaru. Jika Anda telah menginstal Google Cloud CLI sebelumnya, pastikan Anda memiliki versi terbaru dengan menjalankan perintah berikut:

    gcloud components update
    
  2. Untuk mengakses Assured OSS menggunakan Google Cloud, aktifkan Artifact Registry API untuk project Google Cloud induk dari akun layanan yang Anda aktifkan untuk Assured OSS. Jika Anda menggunakan paket premium, API akan diaktifkan selama penyiapan.

  3. Tambahkan URL berikut ke daftar yang diizinkan jaringan Anda:

    • *.pkg.dev
    • artifactregistry.googleapis.com

Menyiapkan autentikasi

Untuk Google Cloud

  1. Buat dan download kunci akun layanan. Sebaiknya ikuti praktik terbaik untuk mengelola kunci akun layanan.

  2. Jika Anda sudah login ke Google Cloud CLI, cabut autentikasi yang ada:

    gcloud auth revoke
    
  3. Melakukan autentikasi ke Google Cloud:

    gcloud auth login --cred-file=FILEPATH.json
    

    Dengan FILEPATH adalah jalur ke kunci akun layanan.

  4. Perbarui Kredensial Default Aplikasi:

    export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.json
    

    Dengan FILEPATH adalah jalur ke kunci akun layanan.

Untuk AWS

Langkah-langkah ini hanya berlaku untuk paket gratis Assured OSS.

  1. Siapkan instance EC2 Anda untuk mengizinkan permintaan kredensial sementara.

    1. Login ke AWS Management Console.
    2. Di AWS Management Console, buka dasbor EC2 dan pilih instance EC2 target Anda.
    3. Pilih Actions > Security > Modify IAM Role.
    4. Pilih Create New IAM Role > Create role.
    5. Untuk jenis entitas tepercaya, pilih AWS Service.
    6. Untuk kasus penggunaan, pilih EC2.
    7. Tambahkan izin AmazonEC2ReadOnlyAccess, lalu klik Next.
    8. Berikan nama yang bermakna untuk peran IAM, lalu klik Next.
    9. Kembali ke Modify IAM Role. Pilih peran yang baru dibuat, lalu klik Update IAM Role.
  2. Buat file konfigurasi kredensial:

    gcloud iam workload-identity-pools create-cred-config \
    projects/ASSIGNED_PROJECT_NUMBER/locations/global/workloadIdentityPools/aoss-wif-pool/providers/aws-AWS_ACCOUNT_ID-provider \
    --service-account=aoss-wif-aws-AWS_ACCOUNT_ID-sa@ASSIGNED_PROJECT_ID. \
    --aws \
    --output-file=FILEPATH.json
    

    Ganti kode berikut:

    • AWS_ACCOUNT_ID: Nomor 12 digit untuk akun AWS Anda (misalnya, 123456789012).
    • FILEPATH: File untuk menyimpan konfigurasi. + ASSIGNED_PROJECT_ID: Google Cloud Project ID yang ditetapkan untuk Anda, seperti yang disebutkan dalam email pengaktifan. + ASSIGNED_PROJECT_NUMBER: Nomor project Google Cloud yang ditetapkan untuk Anda, seperti yang disebutkan dalam email pengaktifan.

    Jika Anda menggunakan AWS IMDSv2, tambahkan flag --enable-imdsv2 ke perintah sebelumnya. Untuk mengetahui informasi selengkapnya, lihat Membuat konfigurasi kredensial.

  3. Jika Anda sudah login ke Google Cloud CLI, cabut autentikasi yang ada:

    gcloud auth revoke
    
  4. Melakukan autentikasi ke Google Cloud:

    gcloud auth login --cred-file=FILEPATH.json
    

    Dengan FILEPATH adalah jalur ke file konfigurasi kredensial.

  5. Perbarui Kredensial Default Aplikasi:

    export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.json
    

    Dengan FILEPATH sebagai jalur ke kunci akun layanan atau file konfigurasi kredensial.

Untuk memecahkan masalah terkait autentikasi, lihat Memecahkan masalah error autentikasi.

Mencantumkan semua paket Java yang tersedia di Assured OSS

Anda dapat menggunakan REST API untuk mencantumkan semua paket Java dan versinya.

Untuk paket gratis Assured OSS, masukkan permintaan HTTP berikut:

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts"

Untuk paket premium Assured OSS, masukkan permintaan HTTP berikut:

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-java/packages

Ganti kode berikut:

Berikut adalah contoh perintah curl untuk terhubung ke repositori Java di paket gratis:

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts"

Permintaan ini menampilkan respons yang mirip dengan contoh respons berikut:

  {
    "mavenArtifacts": [
      {
        "name":
  "projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/com.alibaba:fastjson:1.2.83",
        "pomUri":
  "us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.pom",
        "groupId": "com.alibaba",
        "artifactId": "fastjson",
        "version": "1.2.83",
        "createTime": "2022-06-24T09:10:05.166879Z",
        "updateTime": "2022-06-24T09:10:05.166879Z"
      },
      {
        "name":
  "projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/org.apache.logging.log4j:log4j-api:2.17.1",
        "pomUri":
  "us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1.pom",
        "groupId": "org.apache.logging.log4j",
        "artifactId": "log4j-api",
        "version": "2.17.1",
        "createTime": "2022-03-16T12:22:50.113695Z",
        "updateTime": "2022-03-16T12:22:50.113695Z"
      },
      {
        "name":
  "projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/org.apache.logging.log4j:log4j-core:2.17.1",
      "pomUri":
  "us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1.pom",
        "groupId": "org.apache.logging.log4j",
        "artifactId": "log4j-core",
        "version": "2.17.1",
        "createTime": "2022-03-16T12:26:40.317215Z",
        "updateTime": "2022-03-16T12:26:40.317215Z"
      }
    ]
  }

Jika ada banyak paket yang tersedia, respons API mungkin diberi nomor halaman. Jika listingan belum lengkap, token lanjutan nextPageToken akan ditampilkan dalam respons. nextPageToken mewakili hasil terakhir yang ditampilkan. Jika Anda meneruskan nilai nextPageToken ke parameter pageToken dari permintaan berikutnya, halaman hasil berikutnya akan ditampilkan, dimulai setelah hasil terakhir.

Untuk melihat halaman hasil berikutnya, atau meningkatkan jumlah objek yang ditampilkan per halaman, gunakan URL berikut:

  "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"

Ganti kode berikut:

  • NUMBER: Jumlah item yang akan ditampilkan per halaman. Nilai maksimum yang diterima adalah 1.000.
  • NEXT_PAGE_TOKEN: Nilai token nextPageToken yang ditampilkan dalam respons JSON.

Atau, Anda dapat menggunakan skrip berikut untuk mengumpulkan hasil permintaan API yang disebutkan di atas yang diberi nomor halaman ke dalam file:

tempFile=$(mktemp)
nextPageToken=""
while
    curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000&pageToken=$nextPageToken" > $tempFile
    nextPageToken=$(grep nextPageToken $tempFile | sed 's/  "nextPageToken": "//' | sed 's/.$//')
    grep -v nextPageToken $tempFile >> FILENAME1
    [ -n "$nextPageToken" ]
do
:
done

Opsional: Tulis daftar nama paket Java utama yang diurutkan ke FILENAME2

Tindakan command line tambahan berikut memfilter daftar mentah paket Java yang ditampilkan untuk memberi Anda daftar nama paket utama saja.

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000" \
      | grep artifactId | sort -f | uniq >  FILENAME2

Opsional: Tulis daftar versi paket Java yang diurutkan ke FILENAME3

Tindakan command line tambahan berikut memfilter daftar mentah paket Java yang ditampilkan untuk memberi Anda daftar versi paket saja.

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000" \
      | grep name | sort -f | uniq >  FILENAME3

Mencantumkan semua paket Python yang tersedia di Assured OSS

Anda dapat menggunakan REST API untuk mencantumkan semua paket Python dan versinya. Paket ini tersedia untuk Python 3.8.

Untuk paket gratis Assured OSS, masukkan permintaan HTTP berikut:

  GET https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages

Untuk paket premium Assured OSS, masukkan permintaan HTTP berikut:

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-python/packages"

Ganti kode berikut:

Untuk mencantumkan semua paket khusus untuk lingkungan Anda, gunakan skrip generator.sh.

Perintah berikut adalah contoh perintah curl untuk terhubung ke repositori Python Assured OSS pada paket gratis:

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages"

Permintaan ini menampilkan respons yang mirip dengan contoh respons berikut:

  {
  "pythonPackages": [
    {
      "name":
  "projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/Flask:2.1.2",
      "uri":
  "us-python.pkg.dev/cloud-aoss/cloud-aoss-python/flask/Flask-2.1.2-py3-none-any.whl",
        "packageName": "Flask",
        "version": "2.1.2",
        "createTime": "2022-07-13T11:06:54.163313Z",
        "updateTime": "2022-07-13T11:06:54.163313Z"
    },
    {
      "name":
  "projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/ujson:5.3.0",
        "uri":
  "us-python.pkg.dev/cloud-aoss/cloud-aoss-python/ujson/ujson-5.3.0-cp38-cp38-linux_x86_64.whl",
        "packageName": "ujson",
        "version": "5.3.0",
        "createTime": "2022-07-13T11:06:17.263638Z",
        "updateTime": "2022-07-13T11:06:17.263638Z"
      },
      {
        "name":
  "projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/ujson:5.4.0",
        "uri":
  "us-python.pkg.dev/cloud-aoss/cloud-aoss-python/ujson/ujson-5.4.0-cp38-cp38-linux_x86_64.whl",
        "packageName": "ujson",
        "version": "5.4.0",
        "createTime": "2022-07-13T11:09:00.865162Z",
        "updateTime": "2022-07-13T11:09:00.865162Z"
      },
      {
        "name":
  "projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/urllib3:1.26.8",
        "uri":
  "us-python.pkg.dev/cloud-aoss/cloud-aoss-python/urllib3/urllib3-1.26.8-py2.py3-none-any.whl",
        "packageName": "urllib3",
        "version": "1.26.8",
        "createTime": "2022-07-13T11:05:56.529484Z",
        "updateTime": "2022-07-13T11:05:56.529484Z"
      }
    ]
  }

Jika ada banyak paket yang tersedia, respons API mungkin diberi nomor halaman. Jika listingan belum lengkap, token lanjutan nextPageToken akan ditampilkan dalam respons. nextPageToken mewakili hasil terakhir yang ditampilkan. Jika Anda meneruskan nilai nextPageToken ke parameter pageToken dari permintaan berikutnya, halaman hasil berikutnya akan ditampilkan, dimulai setelah hasil terakhir.

Untuk melihat halaman hasil berikutnya, atau meningkatkan jumlah objek yang ditampilkan per halaman, gunakan URL berikut di paket gratis:

  "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"

Ganti kode berikut:

  • NUMBER: Jumlah item yang akan ditampilkan per halaman. Nilai maksimum yang diterima adalah 1.000.
  • NEXT_PAGE_TOKEN: Nilai token nextPageToken yang ditampilkan dalam respons JSON.

Atau, Anda dapat menggunakan skrip berikut untuk mengumpulkan hasil permintaan API yang disebutkan di atas yang diberi nomor halaman ke dalam file.

tempFile=$(mktemp)
nextPageToken=""
while
    curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000&pageToken=$nextPageToken" > $tempFile
    nextPageToken=$(grep nextPageToken $tempFile | sed 's/  "nextPageToken": "//' | sed 's/.$//')
    grep -v nextPageToken $tempFile >> FILENAME4
    [ -n "$nextPageToken" ]
do
:
done

Opsional: Tulis daftar nama paket Python utama yang diurutkan ke FILENAME5

Tindakan command line tambahan berikut memfilter daftar mentah paket Python yang ditampilkan untuk memberi Anda daftar yang hanya berisi nama paket utama.

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000" \
      | grep packageName | sort -f | uniq > FILENAME5

Opsional: tulis daftar versi paket Python yang diurutkan ke FILENAME6

Tindakan command line tambahan berikut memfilter daftar mentah paket Python yang ditampilkan untuk memberi Anda daftar versi paket saja.

  curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000" \
      | grep name | sort -f | uniq >  FILENAME6

Mencantumkan semua paket Go yang tersedia di Assured OSS

Anda dapat menggunakan REST API untuk mencantumkan semua paket Go dan versinya.

Untuk paket gratis Assured OSS, masukkan permintaan HTTP berikut:

curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages"

Untuk paket premium Assured OSS, masukkan permintaan HTTP berikut:

curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-go/packages

Ganti kode berikut:

Berikut adalah contoh perintah curl untuk terhubung ke repositori Go di paket gratis:

curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages

Permintaan ini menampilkan respons yang mirip dengan berikut ini:

{
  "packages": [
    {
      "name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fauth",
      "createTime": "2025-08-05T06:04:54.442071Z",
      "updateTime": "2025-08-05T06:04:54.442071Z"
    },
    {
      "name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fauth%2Foauth2adapt",
      "createTime": "2025-08-05T06:04:41.242052Z",
      "updateTime": "2025-08-05T06:04:41.242052Z"
    },
    {
      "name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fcompute%2Fmetadata",
      "createTime": "2025-08-05T06:05:31.140186Z",
      "updateTime": "2025-08-05T06:05:31.140186Z"
    },
    {
      "name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fiam",
      "createTime": "2025-08-05T06:04:54.455300Z",
      "updateTime": "2025-08-05T06:04:54.455300Z"
    },
    {
      "name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Flogging",
      "createTime": "2025-08-05T06:05:36.186851Z",
      "updateTime": "2025-08-05T06:05:36.186851Z"
    }
  ]
}

Jika banyak paket tersedia, respons API mungkin diberi nomor halaman. Jika listingan belum lengkap, token lanjutan nextPageToken akan ditampilkan dalam respons. nextPageToken mewakili hasil terakhir yang ditampilkan. Jika Anda meneruskan nilai nextPageToken ke parameter pageToken dari permintaan berikutnya, halaman hasil berikutnya akan ditampilkan, dimulai setelah hasil terakhir.

Untuk melihat halaman hasil berikutnya atau meningkatkan jumlah objek yang ditampilkan per halaman, gunakan URL berikut:

"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"

Ganti kode berikut:

  • NUMBER: Jumlah item yang akan ditampilkan per halaman. Nilai maksimum yang diterima adalah 1.000.
  • NEXT_PAGE_TOKEN: Nilai token nextPageToken yang ditampilkan dalam respons JSON.

Atau, Anda dapat menggunakan skrip berikut untuk mengumpulkan hasil permintaan API yang diberi nomor halaman ke dalam file:

tempFile=$(mktemp)
nextPageToken=""
while
    curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    "https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=1000&pageToken=$nextPageToken" > $tempFile
    nextPageToken=$(grep nextPageToken $tempFile | sed 's/  "nextPageToken": "//' | sed 's/.$//')
    grep -v nextPageToken $tempFile >> FILENAME7
    [ -n "$nextPageToken" ]
do
:
done

Opsional: Tulis daftar nama paket Go utama yang diurutkan ke FILENAME8

Tindakan berikut memfilter daftar mentah modul Go yang ditampilkan untuk memberi Anda daftar nama paket utama:

curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=1000" \
      | grep name | sort -f | uniq >  FILENAME8

Opsional: Tulis daftar versi paket Go yang diurutkan ke FILENAME9

Meskipun permintaan HTTP langsung untuk mencantumkan semua versi paket Go tidak tersedia, Anda dapat mencantumkan semua versi paket Go tertentu. Anda dapat membuat daftar lengkap semua versi paket Go dengan mencantumkan secara berulang versi setiap paket Go yang diidentifikasi dalam daftar di FILENAME8.

Tindakan berikut memfilter daftar mentah versi paket Go yang ditampilkan untuk memberi Anda daftar versi paket:

grep -o "packages/.*" FILENAME8 | tr -d '",' | cut -d '/' -f 2 | while read package_name; do curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/$package_name/versions | grep name | sort -f | uniq >> FILENAME9; done

Mencantumkan semua paket JavaScript (NPM) yang tersedia di Assured OSS

Anda dapat menggunakan REST API untuk mencantumkan semua paket JavaScript (NPM) dan versinya.

Untuk paket gratis Assured OSS, masukkan permintaan HTTP berikut:

curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-javascript-free/packages"

Untuk paket premium Assured OSS, masukkan permintaan HTTP berikut:

curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-javascript/packages

Ganti PROJECT_ID dengan ID project yang Anda pilih saat menyiapkan Assured OSS.

Permintaan ini menampilkan respons yang mirip dengan berikut ini:

{
  "packages": [
    {
      "name": "projects/cloud-aoss/locations/us/repositories/assuredoss-javascript-free/packages/express",
      "createTime": "2026-06-01T08:00:00.000000Z",
      "updateTime": "2026-06-01T08:00:00.000000Z"
    },
    {
      "name": "projects/cloud-aoss/locations/us/repositories/assuredoss-javascript-free/packages/%40stoplight%2Fspectral-core",
      "createTime": "2026-06-01T08:00:00.000000Z",
      "updateTime": "2026-06-01T08:00:00.000000Z"
    }
  ]
}

Jika banyak paket tersedia, respons API mungkin diberi nomor halaman. Jika listingan belum lengkap, token lanjutan nextPageToken akan ditampilkan dalam respons.

Langkah berikutnya