Na przykład konkretne języki deklaratywne nie obsługują przepływu kontroli, takich jak pętle. Dlatego, gdy trzeba powtarzalnie utworzyć kawałek kodu, musisz domyślnie skopiować i wkleić. To nie jest bardzo wydajna metoda dla żadnego programisty.
Terraform to rozumie i zapewnia kilka funkcji, które pomagają w funkcjach, takich jak warunki i pętle. W tym artykule nauczysz się, jak używać hrabiego, for_each i wyrażeń w terraform.
Podstawy
Terraform zapewnia trzy główne struktury podczas pracy z pętlami. Obejmują one:
Zrozumiemy, jak korzystać z każdej z tych konstrukcji pętli.
Parametr policz
Blok zasobów w Terraform definiuje głównie i zarządza jednym obiektem w chmurze. Może być jednak konieczne tworzenie lub zarządzanie wieloma obiektami bez tworzenia każdego bloku dla każdego obiektu. Wykonanie tego usuwa powtarzający się kod, w ten sposób ułatwia czytanie i obsługę.
Jednym ze sposobów na osiągnięcie tego jest użycie meta-argumentu hrabiego. Jeśli zdefiniujesz blok zasobów, który zawiera parametr Count z wartością jako liczbą całkowitą, Terraform wykonuje działania na określonej liczbie zasobów.
Podstawowe użycie
Parametr liczby, znany również jako meta-argument, może być używany w blokach zasobów lub modułów.
Akceptuje liczbę całkowitą lub liczbą i będzie wykonywać określone działania w wielu wybranych instancjach. Na przykład, jeśli ustawisz liczbę na 5 na bloku zasobów, który tworzy wiadra S3, Terraform utworzy pięć instancji S3 Bucket.
Jednak Terraform utworzy unikalny obiekt infrastruktury dla każdego elementu. Stąd każdy element otrzymuje operacje CRUD osobno.
Poniższy przykład pokazuje, jak używać parametru liczby w Terraform:
TerraformPowyższy przykładowy kod tworzy trzy instancje AWS typu T1.mikro. Używamy również metody Count do tworzenia tagów z liczbą instancji.
Atrybut indeksu umożliwia zmodyfikowanie konfiguracji dla każdego elementu. Wskaźnik liczby jest odrębną wartością opisującą każdą instancję zaczynającą się od 0.
W przeciwieństwie do większości meta-argumentów terraform, wartość parametru liczby musi być znana wcześniej.
Parametr For_Each
Parametr for_each jest ściśle podobny do argumentu liczby. Możesz go użyć z blokiem zasobów i modułów.
Podstawowe użycie
Parametr for_each akceptuje zestaw ciągów lub mapy. Następnie tworzy konkretną instancję dla każdego elementu w kolekcji. Podobnie jak Count, każdy element ma unikalny identyfikator infrastruktury obiektu, umożliwiający Terraformowi indywidualnie wykonywanie operacji CRUD na określonym obiekcie.
Poniższy fragment pokazuje, jak używać elementu For_each, aby utworzyć wielu użytkowników:
Zasób „AWS_IAM_USER” „Web-managers”Poprzedni przykład pokazuje, jak korzystać z for_each z zestawem ciągów. Aby użyć mapy, rozważ kod pokazany poniżej:
for_each =Dla parametru
Parametr dla pętli nie różni się bardzo od operacji w większości języków programowania. Pozwala zapętlić się na listę elementów.
Załóżmy na przykład, że masz listę użytkowników i chcesz przekonwertować nazwy użytkowników na UpperCase. W takim przypadku możesz użyć pętli dla:
Usernames = tolist ([„nazwa użytkownika1”, „nazwa użytkownika2”, nazwa użytkownika3])Poprzedni kod rozszerza elementy na liście i przekształca każdy na wielki poziom. Dowiedz się więcej o Terraform dla wyrażeń w dokumentacji.
Wniosek
Ten przewodnik zawiera podstawy wykonywania operacji pętli w Terraform przy użyciu hrabiego, for_each i wyrażeń. Mamy nadzieję, że znalazłeś przykłady za pomocą trzech parametrów pomocnych. Sprawdź Linux Wskazówka, aby uzyskać więcej wskazówek i informacji.