

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengelola proyek Label Kustom Rekognition Amazon
<a name="managing-project"></a>

Dalam Label Kustom Amazon Rekognition, Anda menggunakan project untuk mengelola model yang Anda buat untuk kasus penggunaan tertentu. Sebuah proyek mengelola kumpulan data, pelatihan model, versi model, evaluasi model, dan menjalankan model proyek Anda. 

**Topics**
+ [Menghapus proyek Label Kustom Rekognition Amazon](mp-delete-project.md)
+ [Menjelaskan proyek (SDK)](md-describing-project-sdk.md)
+ [Membuat proyek dengan AWS CloudFormation](cloudformation.md)

# Menghapus proyek Label Kustom Rekognition Amazon
<a name="mp-delete-project"></a>

Anda dapat menghapus proyek dengan menggunakan konsol Amazon Rekognition atau dengan memanggil API. [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject) Untuk menghapus proyek, Anda harus terlebih dahulu menghapus setiap model terkait. Proyek atau model yang dihapus tidak dapat dihapus. 

**Topics**
+ [Menghapus proyek Label Kustom Rekognition Amazon (Konsol)](#mp-delete-project-console)
+ [Menghapus proyek Amazon Rekognition Custom Labels (SDK)](#mp-delete-project-sdk)

## Menghapus proyek Label Kustom Rekognition Amazon (Konsol)
<a name="mp-delete-project-console"></a>

Anda dapat menghapus proyek dari halaman proyek, atau Anda dapat menghapus proyek dari halaman detail proyek. Prosedur berikut menunjukkan cara menghapus proyek menggunakan halaman proyek.

Konsol Label Kustom Amazon Rekognition menghapus model dan kumpulan data terkait untuk Anda selama penghapusan proyek. Anda tidak dapat menghapus proyek jika salah satu modelnya sedang berjalan atau dilatih. Untuk menghentikan model yang sedang berjalan, lihat[Menghentikan model Label Kustom Rekognition Amazon (SDK)](rm-stop.md#rm-stop-sdk). Jika model sedang dilatih, tunggu sampai selesai sebelum Anda menghapus proyek.

**Untuk menghapus proyek (konsol)**

1. Buka konsol Amazon Rekognition di. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. Pilih **Gunakan Label Kustom**.

1. Pilih **Mulai**. 

1. Di panel navigasi kiri, pilih **Proyek**.

1. Pada halaman **Proyek**, pilih tombol radio untuk proyek yang ingin Anda hapus. Daftar proyek ditampilkan echo-devices-project, dengan 1 versi dibuat pada 2020-03-25, dan opsi untuk Hapus, Latih model baru, atau Buat proyek.  
![\[Daftar proyek yang menunjukkan detail echo-devices-project proyek dan proyek.\]](http://docs.aws.amazon.com/id_id/rekognition/latest/customlabels-dg/images/delete-projects-page.png)

1. Pilih **Hapus** di bagian atas halaman. Kotak dialog **Delete project** ditampilkan.

1. Jika proyek tidak memiliki model terkait:

   1. Masukkan **hapus** untuk menghapus proyek.

   1. Pilih **Hapus** untuk menghapus proyek.

1. Jika proyek memiliki model atau kumpulan data terkait:

   1. Masukkan **hapus** untuk mengonfirmasi bahwa Anda ingin menghapus model dan kumpulan data.

   1. Pilih **Hapus model terkait** atau **Hapus kumpulan data terkait atau Hapus kumpulan** **data dan model terkait, tergantung pada apakah model** memiliki kumpulan data, model, atau keduanya. Penghapusan model mungkin membutuhkan waktu beberapa saat untuk diselesaikan.
**catatan**  
Konsol tidak dapat menghapus model yang sedang dalam pelatihan atau berjalan. Coba lagi setelah menghentikan model yang sedang berjalan yang terdaftar, dan tunggu hingga model terdaftar sebagai pelatihan selesai.  
Jika Anda **Menutup** kotak dialog selama penghapusan model, model masih dihapus. Nanti, Anda dapat menghapus proyek dengan mengulangi prosedur ini. 

       Panel untuk menghapus model memberi Anda instruksi eksplisit untuk menghapus model terkait.   
![\[Antarmuka untuk menghapus proyek.\]](http://docs.aws.amazon.com/id_id/rekognition/latest/customlabels-dg/images/delete-project-with-models.png)

   1. Masukkan **hapus** untuk mengonfirmasi bahwa Anda ingin menghapus proyek.

   1. Pilih **Hapus** untuk menghapus proyek.  
![\[Kotak dialog mengkonfirmasikan penghapusan proyek echo-devices-project "" tanpa model.\]](http://docs.aws.amazon.com/id_id/rekognition/latest/customlabels-dg/images/delete-project.png)

## Menghapus proyek Amazon Rekognition Custom Labels (SDK)
<a name="mp-delete-project-sdk"></a>

Anda menghapus proyek Label Kustom Rekognition Amazon dengan [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject)memanggil dan memasok Nama Sumber Daya Amazon (ARN) proyek yang ingin Anda hapus. Untuk mendapatkan ARNs proyek di AWS akun Anda, hubungi [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects). Responsnya mencakup array [ProjectDescription](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProjectDescription)objek. Proyek ARN adalah lapangan. `ProjectArn` Anda dapat menggunakan nama proyek untuk mengidentifikasi ARN proyek. Misalnya, `arn:aws:rekognition:us-east-1:123456789010:project/project name/1234567890123`. 

Sebelum Anda dapat menghapus proyek, Anda harus terlebih dahulu menghapus semua model dan kumpulan data dalam proyek. Untuk informasi selengkapnya, lihat [Menghapus model Label Kustom Rekognition Amazon (SDK)](tm-delete-model.md#tm-delete-model-sdk) dan [Menghapus dataset](md-delete-dataset.md).

Proyek ini mungkin membutuhkan beberapa saat untuk dihapus. Selama waktu itu, status proyek adalah`DELETING`. Proyek akan dihapus jika panggilan berikutnya [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects)tidak menyertakan proyek yang Anda hapus.

**Untuk menghapus proyek (SDK)**

1. Jika Anda belum melakukannya, instal dan konfigurasikan AWS CLI dan AWS SDKs. Untuk informasi selengkapnya, lihat [Langkah 4: Mengatur AWS CLI dan AWS SDKs](su-awscli-sdk.md).

1. Gunakan kode berikut untuk menghapus proyek. 

------
#### [ AWS CLI ]

   Ubah nilai `project-arn` menjadi nama proyek yang ingin Anda hapus.

   ```
   aws rekognition delete-project --project-arn project_arn \
     --profile custom-labels-access
   ```

------
#### [ Python ]

   Gunakan kode berikut. Sediakan parameter baris perintah berikut:
   + `project_arn`— ARN dari proyek yang ingin Anda hapus.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   Amazon Rekognition Custom Labels project example used in the service documentation:
   https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/mp-delete-project.html
   Shows how to delete an existing Amazon Rekognition Custom Labels project. 
   You must first delete any models and datasets that belong to the project.
   """
   
   import argparse
   import logging
   import time
   import boto3
   
   
   from botocore.exceptions import ClientError
   
   logger = logging.getLogger(__name__)
   
   
   def find_forward_slash(input_string, n):
       """
       Returns the location of '/' after n number of occurences. 
       :param input_string: The string you want to search
       : n: the occurence that you want to find.
       """
       position = input_string.find('/')
       while position >= 0 and n > 1:
           position = input_string.find('/', position + 1)
           n -= 1
       return position
   
   
   def delete_project(rek_client, project_arn):
       """
       Deletes an Amazon Rekognition Custom Labels project.
       :param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
       :param project_arn: The ARN of the project that you want to delete.
       """
   
       try:
           # Delete the project
           logger.info("Deleting project: %s", project_arn)
   
           response = rek_client.delete_project(ProjectArn=project_arn)
   
           logger.info("project status: %s",response['Status'])
   
           deleted = False
   
           logger.info("waiting for project deletion: %s", project_arn)
   
           # Get the project name
           start = find_forward_slash(project_arn, 1) + 1
           end = find_forward_slash(project_arn, 2)
           project_name = project_arn[start:end]
   
           project_names = [project_name]
   
           while deleted is False:
   
               project_descriptions = rek_client.describe_projects(
                   ProjectNames=project_names)['ProjectDescriptions']
   
               if len(project_descriptions) == 0:
                   deleted = True
   
               else:
                   time.sleep(5)
   
           logger.info("project deleted: %s",project_arn)
   
           return True
   
       except ClientError as err:
           logger.exception(
               "Couldn't delete project - %s: %s",
               project_arn, err.response['Error']['Message'])
           raise
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       :param parser: The command line parser.
       """
   
       parser.add_argument(
           "project_arn", help="The ARN of the project that you want to delete."
       )
   
   
   def main():
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # get command line arguments
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
           args = parser.parse_args()
   
           print(f"Deleting project: {args.project_arn}")
   
           # Delete the project.
           session = boto3.Session(profile_name='custom-labels-access')
           rekognition_client = session.client("rekognition")
   
           delete_project(rekognition_client,
                          args.project_arn)
   
           print(f"Finished deleting project: {args.project_arn}")
   
       except ClientError as err:
           error_message = f"Problem deleting project: {err}"
           logger.exception(error_message)
           print(error_message)
   
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ Java V2 ]

   Gunakan kode berikut. Sediakan parameter baris perintah berikut:
   + `project_arn`— ARN dari proyek yang ingin Anda hapus.

   ```
   /*
   Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   SPDX-License-Identifier: Apache-2.0
   */
   
   package com.example.rekognition;
   
   import java.util.List;
   import java.util.Objects;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.regions.Region;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.DeleteProjectRequest;
   import software.amazon.awssdk.services.rekognition.model.DeleteProjectResponse;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse;
   import software.amazon.awssdk.services.rekognition.model.ProjectDescription;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class DeleteProject {
   
       public static final Logger logger = Logger.getLogger(DeleteProject.class.getName());
   
       public static void deleteMyProject(RekognitionClient rekClient, String projectArn) throws InterruptedException {
   
           try {
   
               logger.log(Level.INFO, "Deleting project: {0}", projectArn);
   
               // Delete the project
   
               DeleteProjectRequest deleteProjectRequest = DeleteProjectRequest.builder().projectArn(projectArn).build();
               DeleteProjectResponse response = rekClient.deleteProject(deleteProjectRequest);
   
               logger.log(Level.INFO, "Status: {0}", response.status());
   
               // Wait until deletion finishes
   
               Boolean deleted = false;
   
               do {
   
   				    DescribeProjectsRequest describeProjectsRequest = DescribeProjectsRequest.builder().build();
                       DescribeProjectsResponse describeResponse = rekClient.describeProjects(describeProjectsRequest);
                       List<ProjectDescription> projectDescriptions = describeResponse.projectDescriptions();
   
                       deleted = true;
   
                       for (ProjectDescription projectDescription : projectDescriptions) {
   
                           if (Objects.equals(projectDescription.projectArn(), projectArn)) {
                               deleted = false;
                               logger.log(Level.INFO, "Not deleted: {0}", projectDescription.projectArn());
                               Thread.sleep(5000);
                               break;
                           }
                       }
   
               } while (Boolean.FALSE.equals(deleted));
   
               logger.log(Level.INFO, "Project deleted: {0} ", projectArn);
   
           } catch (
   
           RekognitionException e) {
               logger.log(Level.SEVERE, "Client error occurred: {0}", e.getMessage());
               throw e;
           }
   
       }
   
       public static void main(String[] args) {
   
           final String USAGE = "\n" + "Usage: " + "<project_arn>\n\n" + "Where:\n"
                + "   project_arn - The ARN of the project that you want to delete.\n\n";
   
           if (args.length != 1) {
                System.out.println(USAGE);
   	         System.exit(1);
           }
   
           String projectArn = args[0];
   
           try {
   
               RekognitionClient rekClient = RekognitionClient.builder()
                   .region(Region.US_WEST_2)
                   .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
                   .build();
   
               // Delete the project.
               deleteMyProject(rekClient, projectArn);
   
               System.out.println(String.format("Project deleted: %s", projectArn));
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
           catch (InterruptedException intError) {
               logger.log(Level.SEVERE, "Exception while sleeping: {0}", intError.getMessage());
               System.exit(1);
           }
       }
   
   }
   ```

------

# Menjelaskan proyek (SDK)
<a name="md-describing-project-sdk"></a>

Anda dapat menggunakan `DescribeProjects` API untuk mendapatkan informasi tentang proyek Anda.

**Untuk menggambarkan proyek (SDK)**

1. Jika Anda belum melakukannya, instal dan konfigurasikan AWS CLI dan AWS SDKs. Untuk informasi selengkapnya, lihat [Langkah 4: Mengatur AWS CLI dan AWS SDKs](su-awscli-sdk.md).

1. Gunakan contoh kode berikut untuk menggambarkan sebuah proyek. Ganti `project_name` dengan nama proyek yang ingin Anda gambarkan. Jika Anda tidak menentukan`--project-names`, desripsi untuk semua proyek dikembalikan.

------
#### [ AWS CLI ]

   ```
   aws rekognition describe-projects --project-names project_name \
     --profile custom-labels-access
   ```

------
#### [ Python ]

   Gunakan kode berikut. Sediakan parameter baris perintah berikut:
   + project\$1name `` — nama proyek yang ingin Anda gambarkan. Jika Anda tidak menentukan nama, deskripsi untuk semua proyek akan dikembalikan.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   Shows how to describe an Amazon Rekognition Custom Labels project.
   """
   import argparse
   import logging
   import json
   import boto3
   from botocore.exceptions import ClientError
   
   logger = logging.getLogger(__name__)
   
   
   def display_project_info(project):
       """
       Displays information about a Custom Labels project.
       :param project: The project that you want to display information about.
       """
       print(f"Arn: {project['ProjectArn']}")
       print(f"Status: {project['Status']}")
   
       if len(project['Datasets']) == 0:
           print("Datasets: None")
       else:
           print("Datasets:")
   
       for dataset in project['Datasets']:
           print(f"\tCreated: {str(dataset['CreationTimestamp'])}")
           print(f"\tType: {dataset['DatasetType']}")
           print(f"\tARN: {dataset['DatasetArn']}")
           print(f"\tStatus: {dataset['Status']}")
           print(f"\tStatus message: {dataset['StatusMessage']}")
           print(f"\tStatus code: {dataset['StatusMessageCode']}")
           print()
       print()
   
   
   def describe_projects(rek_client, project_name):
       """
       Describes an Amazon Rekognition Custom Labels project, or all projects.
       :param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
       :param project_name: The project you want to describe. Pass None to describe all projects.
       """
   
       try:
           # Describe the project
           if project_name is None:
               logger.info("Describing all projects.")
           else:
               logger.info("Describing project: %s.",project_name)
   
           if project_name is None:
               response = rek_client.describe_projects()
           else:
               project_names = json.loads('["' + project_name + '"]')
               response = rek_client.describe_projects(ProjectNames=project_names)
   
           print('Projects\n--------')
           if len(response['ProjectDescriptions']) == 0:
               print("Project(s) not found.")
           else:
               for project in response['ProjectDescriptions']:
                   display_project_info(project)
   
           logger.info("Finished project description.")
   
       except ClientError as err:
           logger.exception(
               "Couldn't describe project - %s: %s",
               project_name,err.response['Error']['Message'] )
           raise
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       :param parser: The command line parser.
       """
   
       parser.add_argument(
           "--project_name",  help="The name of the project that you want to describe.", required=False
       )
   
   
   def main():
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # Get command line arguments.
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
   
           args = parser.parse_args()
   
           print(f"Describing projects: {args.project_name}")
   
           # Describe the project.
           session = boto3.Session(profile_name='custom-labels-access')
           rekognition_client = session.client("rekognition")
   
           describe_projects(rekognition_client,
                             args.project_name)
   
           if args.project_name is None:
               print("Finished describing all projects.")
           else:
               print("Finished describing project %s.", args.project_name)
   
       except ClientError as err:
           error_message = f"Problem describing project: {err}"
           logger.exception(error_message)
           print(error_message)
   
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ Java V2 ]

   Gunakan kode berikut. Sediakan parameter baris perintah berikut:
   + `project_name`— ARN dari proyek yang ingin Anda gambarkan. Jika Anda tidak menentukan nama, deskripsi untuk semua proyek akan dikembalikan.

   ```
   /*
      Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
      SPDX-License-Identifier: Apache-2.0
   */
   
   package com.example.rekognition;
   
   import java.util.ArrayList;
   import java.util.List;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.DatasetMetadata;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse;
   import software.amazon.awssdk.services.rekognition.model.ProjectDescription;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class DescribeProjects {
   
       public static final Logger logger = Logger.getLogger(DescribeProjects.class.getName());
   
       public static void describeMyProjects(RekognitionClient rekClient, String projectName) {
   
           DescribeProjectsRequest descProjects = null;
   
           // If a single project name is supplied, build projectNames argument
   
           List<String> projectNames = new ArrayList<String>();
   
           if (projectName == null) {
               descProjects = DescribeProjectsRequest.builder().build();
           } else {
               projectNames.add(projectName);
               descProjects = DescribeProjectsRequest.builder().projectNames(projectNames).build();
           }
   
           // Display useful information for each project.
   
           DescribeProjectsResponse resp = rekClient.describeProjects(descProjects);
   
           for (ProjectDescription projectDescription : resp.projectDescriptions()) {
   
               System.out.println("ARN: " + projectDescription.projectArn());
               System.out.println("Status: " + projectDescription.statusAsString());
               if (projectDescription.hasDatasets()) {
                   for (DatasetMetadata datasetDescription : projectDescription.datasets()) {
                       System.out.println("\tdataset Type: " + datasetDescription.datasetTypeAsString());
                       System.out.println("\tdataset ARN: " + datasetDescription.datasetArn());
                       System.out.println("\tdataset Status: " + datasetDescription.statusAsString());
                   }
               }
               System.out.println();
           }
   
       }
   
       public static void main(String[] args) {
   
           String projectArn = null;
   
           // Get command line arguments
   
           final String USAGE = "\n" + "Usage: " + "<project_name>\n\n" + "Where:\n"
                   + "   project_name - (Optional) The name of the project that you want to describe. If not specified, all projects "
                   + "are described.\n\n";
   
           if (args.length > 1) {
               System.out.println(USAGE);
               System.exit(1);
           }
   
           if (args.length == 1) {
               projectArn = args[0];
           }
   
           try {
   
               // Get the Rekognition client
               RekognitionClient rekClient = RekognitionClient.builder()
                   .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
                   .region(Region.US_WEST_2)
                   .build();
               
               // Describe projects
   
               describeMyProjects(rekClient, projectArn);
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
       }
   
   }
   ```

------

# Membuat proyek dengan AWS CloudFormation
<a name="cloudformation"></a>

Amazon Rekognition Custom Labels terintegrasi AWS CloudFormation dengan, layanan yang membantu Anda memodelkan dan menyiapkan sumber daya sehingga AWS Anda dapat menghabiskan lebih sedikit waktu untuk membuat dan mengelola sumber daya dan infrastruktur Anda. Anda membuat template yang menjelaskan semua AWS sumber daya yang Anda inginkan, dan CloudFormation mengurus penyediaan dan konfigurasi sumber daya tersebut untuk Anda.

Anda dapat menggunakan CloudFormation untuk menyediakan dan mengonfigurasi proyek Label Kustom Amazon Rekognition. 

Bila Anda menggunakan CloudFormation, Anda dapat menggunakan kembali template Anda untuk menyiapkan proyek Amazon Rekognition Custom Labels secara konsisten dan berulang kali. Cukup jelaskan proyek Anda sekali, lalu sediakan proyek yang sama berulang-ulang di beberapa AWS akun dan Wilayah. 

## Amazon Rekognition Custom Label dan template CloudFormation
<a name="working-with-templates"></a>

[Untuk menyediakan dan mengonfigurasi proyek untuk Label Kustom Amazon Rekognition dan layanan terkait, Anda harus memahami templat.CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html) Templat adalah file teks dengan format JSON atau YAML. Template ini menjelaskan sumber daya yang ingin Anda sediakan di CloudFormation tumpukan Anda. Jika Anda tidak terbiasa dengan JSON atau YAMAL, Anda dapat menggunakan CloudFormation Designer untuk membantu Anda memulai dengan template. CloudFormation Untuk informasi selengkapnya, lihat [Apa itu CloudFormation Designer?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html) di *Panduan Pengguna AWS CloudFormation *.

 Untuk informasi referensi tentang proyek Label Kustom Rekognition Amazon, termasuk contoh templat JSON dan YAMAL, [lihat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Rekognition.html) Referensi jenis sumber daya Rekognition.

## Pelajari lebih lanjut tentang CloudFormation
<a name="learn-more-cloudformation"></a>

Untuk mempelajari selengkapnya CloudFormation, lihat sumber daya berikut:
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation Panduan Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation Referensi API](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation Panduan Pengguna Antarmuka Baris Perintah](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)