git test
This commit is contained in:
338
samples/README.md
Normal file
338
samples/README.md
Normal file
@@ -0,0 +1,338 @@
|
||||
# Примеры применения ресурсов terraform-provider-decort
|
||||
|
||||
Каждый файл снабжен комментариями, которые кратко описывают возможности и параметры ресурса.
|
||||
Для успешной работы необходим установленный terraform.
|
||||
|
||||
## Ресурсы в примерах
|
||||
|
||||
- cloudapi:
|
||||
- data:
|
||||
- account
|
||||
- account_audits_list
|
||||
- account_computes_list
|
||||
- account_consumed_units
|
||||
- account_consumed_units_by_type
|
||||
- account_deleted_list
|
||||
- account_disks_list
|
||||
- account_flipgroups_list
|
||||
- account_list
|
||||
- account_reserved_units
|
||||
- account_resource_consumption_get
|
||||
- account_resource_consumption_list
|
||||
- account_rg_list
|
||||
- account_templates_list
|
||||
- account_vins_list
|
||||
- audit
|
||||
- bservice
|
||||
- bservice_deleted_list
|
||||
- bservice_group
|
||||
- bservice_list
|
||||
- bservice_snapshot_list
|
||||
- disk
|
||||
- disk_list
|
||||
- disk_list_deleted
|
||||
- disk_list_types
|
||||
- disk_list_types_detailed
|
||||
- disk_list_unattached
|
||||
- disk_replication
|
||||
- disk_snapshot
|
||||
- disk_snapshot_list
|
||||
- dpdknet
|
||||
- dpdknet_list
|
||||
- extnet
|
||||
- extnet_computes_list
|
||||
- extnet_default
|
||||
- extnet_list
|
||||
- extnet_reserved_ip_list
|
||||
- flipgroup
|
||||
- flipgroup_list
|
||||
- image
|
||||
- image_list
|
||||
- k8ci_list
|
||||
- k8s
|
||||
- k8s_computes
|
||||
- k8s_list
|
||||
- k8s_list_deleted
|
||||
- k8s_wg
|
||||
- k8s_wg_cloud_init
|
||||
- k8s_wg_list
|
||||
- kvmvm
|
||||
- kvmvm_audits
|
||||
- kvmvm_get_audits
|
||||
- kvmvm_get_console_url
|
||||
- kvmvm_get_log
|
||||
- kvmvm_list
|
||||
- vkvmvm_list_deleted
|
||||
- kvmvm_pci_device_list
|
||||
- kvmvm_pfw_list
|
||||
- kvmvm_snapshot_usage
|
||||
- kvmvm_user_list
|
||||
- kvmvm_vgpu_list
|
||||
- kvmvm_cpu_alignment_profile
|
||||
- lb
|
||||
- lb_list
|
||||
- lb_list_deleted
|
||||
- location_url
|
||||
- locations_list
|
||||
- resgroup
|
||||
- rg_affinity_group_computes
|
||||
- rg_affinity_groups_get
|
||||
- rg_affinity_groups_list
|
||||
- rg_audits
|
||||
- rg_list
|
||||
- rg_list_computes
|
||||
- rg_list_deleted
|
||||
- rg_list_lb
|
||||
- rg_list_pfw
|
||||
- rg_list_vins
|
||||
- rg_resource_consumption_get
|
||||
- rg_resource_consumption_list
|
||||
- rg_usage
|
||||
- security_group
|
||||
- security_group_list
|
||||
- sep_and_pools_available_list
|
||||
- snapshot_list
|
||||
|
||||
- storage_policy
|
||||
- storage_policy_list
|
||||
- trunk
|
||||
- trunk_list
|
||||
- vfpool
|
||||
- vfpool_list
|
||||
- vins
|
||||
- vins_audits
|
||||
- vins_ext_net_list
|
||||
- vins_ip_list
|
||||
- vins_list
|
||||
- vins_list_deleted
|
||||
- vins_nat_rule_list
|
||||
- vins_static_route
|
||||
- vins_static_route_list
|
||||
- zone
|
||||
- zone_list
|
||||
- resources:
|
||||
- account
|
||||
- bservice
|
||||
- bservice_group
|
||||
- disk
|
||||
- disk_snapshot
|
||||
- flipgroup
|
||||
- image
|
||||
- image_from_blank_compute
|
||||
- image_from_platform_disk
|
||||
- image_virtual
|
||||
- k8s
|
||||
- k8s_cp
|
||||
- k8s_wg
|
||||
- kvmvm
|
||||
- lb
|
||||
- lb_backend
|
||||
- lb_backend_server
|
||||
- lb_frontend
|
||||
- lb_frontend_bind
|
||||
- pfw
|
||||
- resgroup
|
||||
- security_group
|
||||
- snapshot
|
||||
- vins
|
||||
- vins_static_route
|
||||
- cloudbroker:
|
||||
- data:
|
||||
- cb_account
|
||||
- cb_account_audits_list
|
||||
- cb_account_available_templates_list
|
||||
- cb_account_computes_list
|
||||
- cb_account_disks_list
|
||||
- cb_account_flipgroups_list
|
||||
- cb_account_list
|
||||
- cb_account_list_deleted
|
||||
- cb_account_resource_consumption_get
|
||||
- cb_account_resource_consumption_list
|
||||
- cb_account_rg_list
|
||||
- cb_account_vins_list
|
||||
- cb_audit
|
||||
- cb_audit_linked_jobs
|
||||
- cb_audit_list
|
||||
- cb_audits_export_to_file
|
||||
- cb_disk
|
||||
- cb_disk_list
|
||||
- cb_disk_list_deleted
|
||||
- cb_disk_list_types
|
||||
- cb_disk_list_types_detailed
|
||||
- cb_disk_list_unattached
|
||||
- cb_disk_replication
|
||||
- cb_disk_snapshot
|
||||
- cb_disk_snapshot_list
|
||||
- cb_dpdknet
|
||||
- cb_dpdknet_list
|
||||
- cb_extnet
|
||||
- cb_extnet_default
|
||||
- cb_extnet_list
|
||||
- cb_extnet_reserved_ip_list
|
||||
- cb_extnet_static_route
|
||||
- cb_extnet_static_route_list
|
||||
- cb_flipgroup
|
||||
- cb_flipgroup_list
|
||||
- cb_grid
|
||||
- cb_grid_get_consumption
|
||||
- cb_grid_get_diagnosis
|
||||
- cb_grid_get_settings
|
||||
- cb_grid_get_status
|
||||
- cb_grid_list
|
||||
- cb_grid_list_consumption
|
||||
- cb_grid_list_emails
|
||||
- cb_grid_post_status
|
||||
- cb_image
|
||||
- cb_image_list
|
||||
- cb_k8ci
|
||||
- cb_k8ci_list
|
||||
- cb_k8ci_list_deleted
|
||||
- cb_k8s
|
||||
- cb_k8s_computes
|
||||
- cb_k8s_list
|
||||
- cb_k8s_list_deleted
|
||||
- cb_k8s_wg
|
||||
- cb_k8s_wg_cloud_init
|
||||
- cb_k8s_wg_list
|
||||
- cb_kvmvm
|
||||
- cb_kvmvm_affinity_relations
|
||||
- cb_kvmvm_audits
|
||||
- cb_kvmvm_boot_order_get
|
||||
- cb_kvmvm_get_audits
|
||||
- cb_kvmvm_get_console_url
|
||||
- cb_kvmvm_get_log
|
||||
- cb_kvmvm_list
|
||||
- cb_kvmvm_list_deleted
|
||||
- cb_kvmvm_migrate_storage_info
|
||||
- cb_kvmvm_pci_device_list
|
||||
- cb_kvmvm_pfw_list
|
||||
- cb_kvmvm_snapshot_list
|
||||
- cb_kvmvm_snapshot_usage
|
||||
- cb_kvmvm_user_list
|
||||
- cb_kvmvm_vgpu_list
|
||||
- cb_kvmvm_cpu_alignment_profile
|
||||
- cb_lb
|
||||
- cb_lb_list
|
||||
- cb_lb_list_deleted
|
||||
- cb_node
|
||||
- cb_node_list
|
||||
- cb_node_network_info
|
||||
- cb_node_pci_devices
|
||||
- cb_pcidevice
|
||||
- cb_pcidevice_list
|
||||
- cb_rg
|
||||
- cb_rg_affinity_group_computes
|
||||
- cb_rg_affinity_groups_get
|
||||
- cb_rg_affinity_groups_list
|
||||
- cb_rg_audits
|
||||
- cb_rg_list
|
||||
- cb_rg_list_computes
|
||||
- cb_rg_list_deleted
|
||||
- cb_rg_list_lb
|
||||
- cb_rg_list_pfw
|
||||
- cb_rg_list_vins
|
||||
- cb_rg_resource_consumption_get
|
||||
- cb_rg_resource_consumption_list
|
||||
- cb_rg_usage
|
||||
- cb_security_group
|
||||
- cb_security_group_list
|
||||
- cb_sep
|
||||
- cb_sep_and_pools_available_list
|
||||
- cb_sep_config
|
||||
- cb_sep_consumption
|
||||
- cb_sep_disk_list
|
||||
- cb_sep_list
|
||||
- cb_sep_pool
|
||||
- cb_storage_policy
|
||||
- cb_storage_policy_list
|
||||
- cb_trunk
|
||||
- cb_trunk_list
|
||||
- cb_user
|
||||
- cb_user_get_audit
|
||||
- cb_user_list
|
||||
- cb_vfpool
|
||||
- cb_vfpool_list
|
||||
- cb_vins
|
||||
- cb_vins_audits
|
||||
- cb_vins_ext_net_list
|
||||
- cb_vins_ip_list
|
||||
- cb_vins_list
|
||||
- cb_vins_list_deleted
|
||||
- cb_vins_nat_rule_list
|
||||
- cb_vins_static_route
|
||||
- cb_vins_static_route_list
|
||||
- cb_zone
|
||||
- cb_zone_list
|
||||
- cb_zone_cpu_alignment_profile
|
||||
- cb_zone_cpu_alignment_profile_list
|
||||
- cb_zone_cpu_alignment_profile_test
|
||||
- resources:
|
||||
- cb_account
|
||||
- cb_cdrom_image
|
||||
- cb_disk
|
||||
- cb_disk_snapshot
|
||||
- cb_dpdknet
|
||||
- cb_extnet
|
||||
- cb_extnet_static_route
|
||||
- cb_flipgroup
|
||||
- cb_image
|
||||
- cb_image_from_blank_compute
|
||||
- cb_image_from_platform_disk
|
||||
- cb_k8ci
|
||||
- cb_k8s_cp
|
||||
- cb_k8s_wg
|
||||
- cb_kvmvm
|
||||
- cb_lb
|
||||
- cb_lb_backend
|
||||
- cb_lb_backend_server
|
||||
- cb_lb_frontend
|
||||
- cb_lb_frontend_bind
|
||||
- cb_pcidevice
|
||||
- cb_rg
|
||||
- cb_security_group
|
||||
- cb_sep
|
||||
- cb_sep_config
|
||||
- cb_sep_template
|
||||
- cb_storage_policy
|
||||
- cb_trunk
|
||||
- cb_user
|
||||
- cb_vfpool
|
||||
- cb_vins
|
||||
- cb_vins_static_route
|
||||
- cb_virtual_image
|
||||
- decort_cb_multi_image
|
||||
- cb_zone
|
||||
- sdn
|
||||
- data:
|
||||
- sdn_access_group
|
||||
- sdn_access_group_list
|
||||
- sdn_access_group_user_list
|
||||
- sdn_default_security_policy_list
|
||||
- sdn_segment
|
||||
- sdn_segment_list
|
||||
- sdn_logical_port
|
||||
- sdn_logical_port_get_by_unique_identifier
|
||||
- sdn_logical_port_list
|
||||
- sdn_hypervisor
|
||||
- sdn_hypervisor_list
|
||||
- sdn_network_object_group
|
||||
- sdn_network_object_group_list
|
||||
- resources:
|
||||
- sdn_access_group
|
||||
- sdn_segment
|
||||
- sdn_logical_port
|
||||
- sdn_hypervisor
|
||||
- sdn_network_object_group
|
||||
|
||||
## Как пользоваться примерами
|
||||
|
||||
1. Установить terraform
|
||||
2. Установить terraform-provider-decort с помощью команды `terraform init` (выполняется автоматически), либо вручную.
|
||||
3. Заменить параметр _controller_url_ на ваш.
|
||||
4. Заменить параметр _oauth2_url_ на ваш.
|
||||
5. Добавить ключи
|
||||
_DECORT_APP_SECRET_ и _DECORT_APP_ID_
|
||||
в качестве переменных окружения, либо
|
||||
можно добавить `app_id` и `app_secret`
|
||||
в блок `provider`,что небезопасно, т.к. данные
|
||||
могут быть похищены при передачи файла.
|
||||
38
samples/cloudapi/account/data_account/main.tf
Normal file
38
samples/cloudapi/account/data_account/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об аккаунте
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account" "a" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account.a
|
||||
}
|
||||
44
samples/cloudapi/account/data_account_audits_list/main.tf
Normal file
44
samples/cloudapi/account/data_account_audits_list/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*Deprecated
|
||||
|
||||
Данный datasource является **deprecated** и будет удалён в следующих версиях. Вместо него неоходимо использовать datasource **decort_audit_list**.
|
||||
*/
|
||||
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об использовании аккаунта
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_audits_list" "aal" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_audits_list.aal
|
||||
}
|
||||
96
samples/cloudapi/account/data_account_computes_list/main.tf
Normal file
96
samples/cloudapi/account/data_account_computes_list/main.tf
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка computes, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_computes_list" "acl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 1111
|
||||
|
||||
#фильтр по id compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 100
|
||||
|
||||
#фильтр по имени compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STARTED"
|
||||
|
||||
#фильтр по ip address
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "1.1.1.1.1"
|
||||
|
||||
#фильтр по имени внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id внешней сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_computes_list.acl
|
||||
}
|
||||
38
samples/cloudapi/account/data_account_consumed_units/main.tf
Normal file
38
samples/cloudapi/account/data_account_consumed_units/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о расходуемых ресурсах аккаута
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_consumed_units" "acu" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 22222
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_consumed_units.acu
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса cdrom image
|
||||
Ресурс позволяет:
|
||||
1. Создавать образ
|
||||
2. Редактировать образ
|
||||
3. Удалять образ
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_consumed_units_by_type" "acubt" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 33333
|
||||
|
||||
#тип вычислительной единицы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#значения:
|
||||
#CU_C - кол-во виртуальных cpu ядер
|
||||
#CU_M - кол-во RAM, в МБ
|
||||
#CU_D - кол-во используемой дисковой памяти, в ГБ
|
||||
#CU_I - кол-во публичных ip адресов
|
||||
#CU_DM - кол-во доступной дисковой памяти, в ГБ
|
||||
#gpu_units - кол-во GPU
|
||||
cu_type = "CU_C"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_consumed_units_by_type.acubt
|
||||
}
|
||||
67
samples/cloudapi/account/data_account_deleted_list/main.tf
Normal file
67
samples/cloudapi/account/data_account_deleted_list/main.tf
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об удаленных аккаунтах
|
||||
Информация предоставляется только по аккаунтам, удаленным без флага permanently
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_deleted_list" "adl" {
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ACL
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#acl = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_deleted_list.adl
|
||||
}
|
||||
75
samples/cloudapi/account/data_account_disks_list/main.tf
Normal file
75
samples/cloudapi/account/data_account_disks_list/main.tf
Normal file
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о дисках, которые использует аккаунт
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_disks_list" "adl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_id = 100
|
||||
|
||||
#фильтр по имени диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "data_disk"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#тип диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные типы: "b" - boot_disk, "d" - data_disk
|
||||
#type = "d"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_disks_list.adl
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о flipgroups, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_flipgroups_list" "afgl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 1111
|
||||
|
||||
#фильтр по имени flipgroup
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по имени vins
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#vins_name = "test"
|
||||
|
||||
#фильтр по id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#фильтр по IP
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#by_ip = "1.1.1.1.1"
|
||||
|
||||
#фильтр по id flipgroup
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#flipgroup_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_flipgroups_list.afgl
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Получение списка текущего потребления ресурсов аккаунта
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_resource_consumption_get" "rc_get" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_resource_consumption_get.rc_get
|
||||
}
|
||||
|
||||
77
samples/cloudapi/account/data_account_list/main.tf
Normal file
77
samples/cloudapi/account/data_account_list/main.tf
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных аккаунтов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_list" "al" {
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ACL
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#acl = "test"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_list.al
|
||||
}
|
||||
38
samples/cloudapi/account/data_account_reserved_units/main.tf
Normal file
38
samples/cloudapi/account/data_account_reserved_units/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о зарезервированных вычислительных мощностях
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_reserved_units" "aru" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_reserved_units.aru
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
Получение списка текущего потребления ресурсов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_resource_consumption_list" "rc_list" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_resource_consumption_list.rc_list
|
||||
}
|
||||
|
||||
81
samples/cloudapi/account/data_account_rg_list/main.tf
Normal file
81
samples/cloudapi/account/data_account_rg_list/main.tf
Normal file
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о ресурных группах, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_rg_list" "argl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 66666
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 11111
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по id compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vm_id = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "CREATED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_rg_list.argl
|
||||
}
|
||||
76
samples/cloudapi/account/data_account_templates_list/main.tf
Normal file
76
samples/cloudapi/account/data_account_templates_list/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о шаблонах, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_templates_list" "atl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
|
||||
#фильтр "включая удаленные шаблоны"
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#include_deleted = true
|
||||
|
||||
#фильтр по id образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#image_id = 1111
|
||||
|
||||
#фильтр по имени
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по типу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#type = "linux"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_templates_list.atl
|
||||
}
|
||||
76
samples/cloudapi/account/data_account_vins_list/main.tf
Normal file
76
samples/cloudapi/account/data_account_vins_list/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка vins, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_account_vins_list" "avl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 22222
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по имени vins
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 11111
|
||||
|
||||
#фильтр по IP внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ext_ip = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_account_vins_list.avl
|
||||
}
|
||||
146
samples/cloudapi/account/resource_account/main.tf
Normal file
146
samples/cloudapi/account/resource_account/main.tf
Normal file
@@ -0,0 +1,146 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса account
|
||||
Ресурс позволяет:
|
||||
1. Редактировать аккаунт
|
||||
2. Удалять аккаунт
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_account" "a" {
|
||||
#имя аккаунта
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при обновлении
|
||||
account_name = "new_my_account"
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при обновлении
|
||||
#desc = "description"
|
||||
|
||||
#доступность аккаунта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#enable = true
|
||||
|
||||
#id аккаунта, позволяет сформировать .tfstate, если аккаунт имеется на платформе
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#отправлять ли на электронную почту письмо о доступе
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#send_access_emails = true
|
||||
|
||||
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
|
||||
#опциональный параметр
|
||||
#используется при обновлении
|
||||
#тип - объект, кол-во таких объектов не ограничено
|
||||
#users {
|
||||
#id пользователя
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#user_id = "username_2@decs3o"
|
||||
|
||||
#тип доступа пользователя
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные параметры:
|
||||
#R - чтение
|
||||
#RCX - запись
|
||||
#ARCXDU - админ
|
||||
#access_type = "R"
|
||||
#}
|
||||
|
||||
#users {
|
||||
#user_id = "username_1@decs3o"
|
||||
#access_type = "R"
|
||||
#}
|
||||
|
||||
#ограничение используемых ресурсов
|
||||
#опциональный параметр
|
||||
#тип - объект
|
||||
#используется при обновлении
|
||||
#resource_limits {
|
||||
#кол-во используемых ядер cpu
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограничено
|
||||
#cu_c = 2
|
||||
|
||||
#кол-во используемой RAM, в МБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограничено
|
||||
#cu_m = 1024
|
||||
|
||||
#размер дисков, в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - размер неограничено
|
||||
#cu_d = 23
|
||||
|
||||
#кол-во используемых публичных IP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограничено
|
||||
#cu_i = 2
|
||||
|
||||
#кол-во графических процессоров
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограничено
|
||||
#gpu_units = 2
|
||||
#}
|
||||
|
||||
#восстановление аккаунта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#применяется к удаленным аккаунтам
|
||||
#по умолчанию - false
|
||||
#restore = false
|
||||
|
||||
#флаг для удаления аккаунта, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#по умолчанию - false
|
||||
#permanently = true
|
||||
|
||||
#зона по умолчанию для аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при обновлении
|
||||
#default_zone_id = 1111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_account.a
|
||||
}
|
||||
39
samples/cloudapi/audit/data_audit/main.tf
Normal file
39
samples/cloudapi/audit/data_audit/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение аудита по guid
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_audit" "audit" {
|
||||
#guid аудита
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
audit_guid = "abcdefg"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_audit.audit
|
||||
}
|
||||
136
samples/cloudapi/audit/data_audit_list/main.tf
Normal file
136
samples/cloudapi/audit/data_audit_list/main.tf
Normal file
@@ -0,0 +1,136 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка аудитов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_audit_list" "al" {
|
||||
#фильтр по аудитам с временной меткой после указанного значения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#timestamp_at = 123456
|
||||
|
||||
#фильтр по аудитам с временной меткой до указанного значения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#timestamp_to = 123456
|
||||
|
||||
#фильтр по пользователю (Mongo RegExp поддерживаются)
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#user = "username"
|
||||
|
||||
#фильтр по api endpoint (Mongo RegExp поддерживаются)
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#call = "/restmachine/cloudbroker/audit/list"
|
||||
|
||||
#фильтр по минимальному HTTP статус-коду
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#min_status_code = 200
|
||||
|
||||
#фильтр по максимальному HTTP статус-коду
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#max_status_code = 500
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#идентификатор запроса
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#request_id = "35"
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
#id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#resgroup_id = 3
|
||||
|
||||
#id компьюта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 3
|
||||
|
||||
#id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 3
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 3
|
||||
|
||||
#id базовой службы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#service_id = 3
|
||||
|
||||
#id k8s-кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#k8s_id = 3
|
||||
|
||||
#id flipgroup
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#flipgroup_id = 3
|
||||
|
||||
#id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 3
|
||||
|
||||
#id sep
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 3
|
||||
|
||||
#исключить ли строки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#default – false
|
||||
#exclude_audit_lines = false
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_audit_list.al
|
||||
}
|
||||
38
samples/cloudapi/bservice/data_bservice/main.tf
Normal file
38
samples/cloudapi/bservice/data_bservice/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о basic service
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_bservice" "b" {
|
||||
#id сервиса
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
service_id = 11111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_bservice.b
|
||||
}
|
||||
64
samples/cloudapi/bservice/data_bservice_deleted_list/main.tf
Normal file
64
samples/cloudapi/bservice/data_bservice_deleted_list/main.tf
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных basic service
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_bservice_deleted_list" "bsdl" {
|
||||
#id аккаунта для фильтрации данных
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#account_id = 11111
|
||||
|
||||
#id ресурсной группы, используется для фильтрации
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#rg_id = 11111
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_bservice_deleted_list.bsdl
|
||||
}
|
||||
44
samples/cloudapi/bservice/data_bservice_group/main.tf
Normal file
44
samples/cloudapi/bservice/data_bservice_group/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о вычислительной группе, принадлежащей basic service
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_bservice_group" "bsg" {
|
||||
#id сервиса
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
service_id = 11111
|
||||
|
||||
#id вычислительной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compgroup_id = 12121
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_bservice_group.bsg
|
||||
}
|
||||
99
samples/cloudapi/bservice/data_bservice_list/main.tf
Normal file
99
samples/cloudapi/bservice/data_bservice_list/main.tf
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных базовых сервисов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_bservice_list" "bsl" {
|
||||
#фильтр по id базового сервиса
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени базового сервиса
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для фильтрации данных
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#id ресурсной группы, используется для фильтрации
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#rg_id = 11111
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STARTED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_bservice_list.bsl
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка снимков состояний basic service
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_bservice_snapshot_list" "bsl" {
|
||||
#id basic service
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
service_id = 11111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_bservice_snapshot_list.bsl
|
||||
}
|
||||
112
samples/cloudapi/bservice/resource_bservice/main.tf
Normal file
112
samples/cloudapi/bservice/resource_bservice/main.tf
Normal file
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса bservice
|
||||
Ресурс позволяет:
|
||||
1. Создавать basic service
|
||||
2. Редактировать basic service
|
||||
3. Удалять basic service
|
||||
4. Создавать снимки состояний basic service
|
||||
5. Совершать восстановление по снимкам состояний
|
||||
6. Удалять снимки состояний
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_bservice" "b" {
|
||||
#имя basic service
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
service_name = "my_test_bservice_sn"
|
||||
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 11111
|
||||
|
||||
#доступность сервиса
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#по умолчанию - false
|
||||
#enable = true
|
||||
|
||||
#снимок состояния
|
||||
#опциональный параметр
|
||||
#тип - объект
|
||||
#используется при обновлении
|
||||
#может быть несколько в ресурсе
|
||||
#snapshots {
|
||||
#имя снимка состояния
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#label = "test_snapshot"
|
||||
|
||||
#восстановление сервиса из снимка состояния
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#восстановление происходит только при переключении с false на true
|
||||
#rollback = false
|
||||
#}
|
||||
|
||||
#старт сервиса
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#по умолчанию - false
|
||||
#start = false
|
||||
|
||||
#восстановление сервиса после удаления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#по умолчанию - false
|
||||
#restore = true
|
||||
|
||||
#мгновенное удаление сервиса без права восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#по умолчанию - false
|
||||
#permanently = true
|
||||
|
||||
#id сервиса, позволяет сформировать .tfstate, если сервис есть в платформе
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#service_id = 11111
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_bservice.b
|
||||
}
|
||||
184
samples/cloudapi/bservice/resource_bservice_group/main.tf
Normal file
184
samples/cloudapi/bservice/resource_bservice_group/main.tf
Normal file
@@ -0,0 +1,184 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работы с ресурсом basic service group
|
||||
Ресурс позволяет:
|
||||
1. Создавать группы
|
||||
2. Редактировать группы
|
||||
3. Удалять группы
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_bservice_group" "bsg" {
|
||||
#id basic service
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
service_id = 444444
|
||||
|
||||
#название группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
compgroup_name = "tf_group_rename"
|
||||
|
||||
#id группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#применяется при создании .tfstate - файла, если группа имеется в плафторме
|
||||
#compgroup_id = 33333
|
||||
|
||||
#кол-во вычислительных ресурсов
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
comp_count = 1
|
||||
|
||||
#кол-во ядер на выч. ресурс
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
cpu = 2
|
||||
|
||||
#кол-во оперативной памяти на выч. ресурс, в МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
ram = 512
|
||||
|
||||
#размер диска для выч. ресурса, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
disk = 11
|
||||
|
||||
#id образа диска
|
||||
#обязательный параметр
|
||||
#используется при создании
|
||||
image_id = 2222
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#id Storage endpoint provider
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#sep_id = 3
|
||||
|
||||
#наименование SEPPool, используется если установлен sepId, также может быть пустым
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#sep_pool = "name"
|
||||
|
||||
#тег группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#role = "tf_test_changed"
|
||||
|
||||
#id сетей extnet
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#должен быть использован vins или extnets
|
||||
#extnets = [1111, 2222]
|
||||
|
||||
#id сетей vinses
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#должен быть использован vins или extnets
|
||||
#vinses = [1111, 2222]
|
||||
|
||||
#время таймуата перед стартом
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#timeout_start = 0
|
||||
|
||||
#перечень аргументов для cloud-init создаваемым группам узлов Worker
|
||||
#опциональный параметр
|
||||
#тип - файл в формате YAML
|
||||
#используется при создании
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#чипсет для добавляемых виртуальных машин
|
||||
#возможные значения - i440fx, Q35
|
||||
#по умолчанию - Q35
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#chipset = "Q35"
|
||||
|
||||
#id групп родителей
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#parents = [2222]
|
||||
|
||||
#принудительное обновление параметров выч. мощностей (ram,disk,cpu) и имени группы
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#по умолчанию - false
|
||||
#force_update = true
|
||||
|
||||
#старт/стоп вычислительных мощностей
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#по умолчанию - false
|
||||
#start = false
|
||||
|
||||
#принудительная остановка вычислительных мощностей
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#по умолчанию - false
|
||||
#force_stop = false
|
||||
|
||||
#удаление вычислительных мощностей
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при обновлении
|
||||
#remove_computes = [32287]
|
||||
|
||||
#режим увеличения числа выч. мощностей
|
||||
#опциональный параметр
|
||||
#возможные значения - "RELATIVE" и "ABSOLUTE"
|
||||
#тип - строка
|
||||
#используется в связке с comp_count при редактировании группы
|
||||
#используется при обновлении
|
||||
#по умолчанию - "RELATIVE"
|
||||
#mode = "RELATIVE"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_bservice_group.bsg
|
||||
}
|
||||
38
samples/cloudapi/disk/data_disk/main.tf
Normal file
38
samples/cloudapi/disk/data_disk/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_disk" "acl" {
|
||||
#фильтр по id диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 49304
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_disk.acl
|
||||
}
|
||||
109
samples/cloudapi/disk/data_disk_list/main.tf
Normal file
109
samples/cloudapi/disk/data_disk_list/main.tf
Normal file
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_disk_list" "dl" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "data_disk"
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "user"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по доступности иным пользователям
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#shared = "false"
|
||||
|
||||
#id аккаунта для получения списка дисков
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#id SEP для получения списка дисков
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 11111
|
||||
|
||||
#фильтр по имени pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool_name = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
#id политики хранения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#storage_policy_id = 1
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 1281
|
||||
|
||||
#фильтр по id ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 123
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_disk_list.dl
|
||||
}
|
||||
80
samples/cloudapi/disk/data_disk_list_deleted/main.tf
Normal file
80
samples/cloudapi/disk/data_disk_list_deleted/main.tf
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка дисков со статусом DELETED
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_disk_list_deleted" "dld" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "data_disk"
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "user"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#фильтр по доступности иным пользователям
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#shared = "false"
|
||||
|
||||
#id аккаунта для получения списка дисков
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_disk_list_deleted.dld
|
||||
}
|
||||
93
samples/cloudapi/disk/data_disk_list_unattached/main.tf
Normal file
93
samples/cloudapi/disk/data_disk_list_unattached/main.tf
Normal file
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных неприсоединенных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
|
||||
data "decort_disk_list_unattached" "dlu" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "user"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по id sep
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#фильтр по имени pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool_name = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
#id политики хранения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#storage_policy_id = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_disk_list_unattached.dlu
|
||||
}
|
||||
45
samples/cloudapi/disk/data_disk_replication/main.tf
Normal file
45
samples/cloudapi/disk/data_disk_replication/main.tf
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение статуса репликации диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
|
||||
data "decort_disk_replication" "dr" {
|
||||
#id диска для которого подключена репликация
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 49304
|
||||
|
||||
#id реплики диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
replica_disk_id = 1213
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_disk_replication.dr
|
||||
}
|
||||
43
samples/cloudapi/disk/data_disk_snapshot/main.tf
Normal file
43
samples/cloudapi/disk/data_disk_snapshot/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение конкретного снапшота
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_disk_snapshot" "ds" {
|
||||
#номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 20100
|
||||
|
||||
#ярлык диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "label"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_disk_snapshot.ds
|
||||
}
|
||||
38
samples/cloudapi/disk/data_disk_snapshot_list/main.tf
Normal file
38
samples/cloudapi/disk/data_disk_snapshot_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка снапшотов диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_disk_snapshot_list" "ds" {
|
||||
#номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 20100
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_disk_snapshot_list.ds
|
||||
}
|
||||
76
samples/cloudapi/disk/resource_disk/main.tf
Normal file
76
samples/cloudapi/disk/resource_disk/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об уже существующем диске.
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_disk" "acl" {
|
||||
#id владельца диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 88366
|
||||
|
||||
#имя диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
disk_name = "super-disk-re"
|
||||
|
||||
#размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
size_max = 20
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
storage_policy_id = 1
|
||||
|
||||
#флаг для отключения диска от ВМ при удалении
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#detach = false
|
||||
|
||||
#флаг для удаления диска, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = false
|
||||
|
||||
#флаг, отвечающий за доступность диска другим ресурсам
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значенния - "none", "writethrough"
|
||||
#используется при создании и обновлении
|
||||
#shareable = false
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_disk.acl
|
||||
}
|
||||
51
samples/cloudapi/disk/resource_disk_snapshot/main.tf
Normal file
51
samples/cloudapi/disk/resource_disk_snapshot/main.tf
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурс снапшота диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_disk_snapshot" "ds" {
|
||||
#номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
disk_id = 20100
|
||||
|
||||
#ярлык диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
label = "label"
|
||||
|
||||
#флаг rollback
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#rollback = false
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_disk_snapshot.ds
|
||||
}
|
||||
38
samples/cloudapi/dpdknet/data_dpdknet/main.tf
Normal file
38
samples/cloudapi/dpdknet/data_dpdknet/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_dpdknet" "dpdk" {
|
||||
#фильтр по id DPDK сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
dpdk_id = 49304
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_dpdknet.dpdk
|
||||
}
|
||||
79
samples/cloudapi/dpdknet/data_dpdknet_list/main.tf
Normal file
79
samples/cloudapi/dpdknet/data_dpdknet_list/main.tf
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_dpdknet_list" "dl" {
|
||||
#фильтр по id DPDK сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по grid ID
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#gid = 100
|
||||
|
||||
#фильтр по имени сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test_dpdk"
|
||||
|
||||
#фильтр по описания
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#desc = "user"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по compute IDs
|
||||
#опциональный параметр
|
||||
#тип - массив чисел
|
||||
#compute_ids = [11111,22222]
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_dpdknet_list.dl
|
||||
}
|
||||
38
samples/cloudapi/extnet/data_extnet/main.tf
Normal file
38
samples/cloudapi/extnet/data_extnet/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о сети
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_extnet" "e" {
|
||||
#идентификатор сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
net_id = 1111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_extnet.e
|
||||
}
|
||||
64
samples/cloudapi/extnet/data_extnet_computes_list/main.tf
Normal file
64
samples/cloudapi/extnet/data_extnet_computes_list/main.tf
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о вычислительных ресурсах, использующих сеть аккаунта
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_extnet_computes_list" "ecl" {
|
||||
#идентификатор аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 1111
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 11111
|
||||
|
||||
#фильтр по id виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 11111
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_extnet_computes_list.ecl
|
||||
}
|
||||
35
samples/cloudapi/extnet/data_extnet_default/main.tf
Normal file
35
samples/cloudapi/extnet/data_extnet_default/main.tf
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о сети по умолчанию
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_extnet_default" "ed" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_extnet_default.ed
|
||||
}
|
||||
95
samples/cloudapi/extnet/data_extnet_list/main.tf
Normal file
95
samples/cloudapi/extnet/data_extnet_list/main.tf
Normal file
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка сетей
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_extnet_list" "el" {
|
||||
#id аккаунта для фильтрации результата
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 1111111
|
||||
|
||||
#фильтр по id внешней сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по IP внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#network = "test"
|
||||
|
||||
#фильтр по id vlan
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vlan_id = 100
|
||||
|
||||
#фильтр по id vnfDevices
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vnfdev_id = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
#имя моста openVswitch
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ovs_bridge = "key"
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_extnet_list.el
|
||||
}
|
||||
43
samples/cloudapi/extnet/data_extnet_reserved_ip_list/main.tf
Normal file
43
samples/cloudapi/extnet/data_extnet_reserved_ip_list/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о зарезервированных IP адресах или пуле адресов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_extnet_reserved_ip_list" "ex_reserved_ip" {
|
||||
#идентификатор аккаунта, для которого зарезервированны ресурсы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 1111
|
||||
|
||||
#идентификатор сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 1111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_extnet_reserved_ip_list.ex_reserved_ip
|
||||
}
|
||||
38
samples/cloudapi/flipgroup/data_flipgroup/main.tf
Normal file
38
samples/cloudapi/flipgroup/data_flipgroup/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение группы виртуальных машин по id
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_flipgroup" "fg" {
|
||||
#id флипгруппы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
flipgroup_id = 999
|
||||
}
|
||||
|
||||
output "fg_out" {
|
||||
value = data.decort_flipgroup.fg
|
||||
}
|
||||
101
samples/cloudapi/flipgroup/data_flipgroup_list/main.tf
Normal file
101
samples/cloudapi/flipgroup/data_flipgroup_list/main.tf
Normal file
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение группы виртуальных машин, доступных текущему пользователю
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_flipgroup_list" "fg" {
|
||||
#фильтр по id flipgroup
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени flipgroup
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по имени vins
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#vins_name = "test"
|
||||
|
||||
#фильтр по id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#фильтр по IP
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#by_ip = "1.1.1.1.1"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по id conn
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#conn_id = 100
|
||||
|
||||
#фильтр по id клиентов
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#client_ids = [10,11]
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "CREATED"
|
||||
}
|
||||
|
||||
output "fg_out" {
|
||||
value = data.decort_flipgroup_list.fg
|
||||
}
|
||||
85
samples/cloudapi/flipgroup/resource_flipgroup/main.tf
Normal file
85
samples/cloudapi/flipgroup/resource_flipgroup/main.tf
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
Управления плавающими группами (флипгруппами).
|
||||
Ресурс позволяет:
|
||||
1. Создать флипгруппу
|
||||
2. Удалить флипгруппу
|
||||
3. Добавить/удалить клиентов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_flipgroup" "fg" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 999
|
||||
|
||||
#наименование Flipgroup
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "flipgroup_name"
|
||||
|
||||
#тип сети (EXTNET, ViNS)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
net_type = "EXTNET"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
net_id = 13
|
||||
|
||||
#тип клиентов (в данный момент поддерживается только тип 'compute')
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#по умолчанию - "compute"
|
||||
#client_type = "compute"
|
||||
|
||||
#ip-адрес
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#ip = "127.0.0.1"
|
||||
|
||||
#список клиентов, прикрепленных к флипгруппе
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#client_ids = [11269]
|
||||
|
||||
#описание флипгруппы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "CHANGED"
|
||||
}
|
||||
|
||||
output "fg_out" {
|
||||
value = decort_flipgroup.fg
|
||||
}
|
||||
44
samples/cloudapi/image/data_image/main.tf
Normal file
44
samples/cloudapi/image/data_image/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об образе
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_image" "image" {
|
||||
#id образа
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
image_id = 111
|
||||
|
||||
#показывать ли информацию об удаленном образе
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#show_all = false
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_image.image
|
||||
}
|
||||
122
samples/cloudapi/image/data_image_list/main.tf
Normal file
122
samples/cloudapi/image/data_image_list/main.tf
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных образов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_image_list" "il" {
|
||||
#фильтр по id sep
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#фильтр по id образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по архитектуре
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#architecture = "x86_64"
|
||||
|
||||
#фильтр по типу образа
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#type_image = ["linux", "windows"]
|
||||
|
||||
#фильтр по размеру образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#image_size = 100
|
||||
|
||||
#фильтр по имени SEP
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sep_name = "test"
|
||||
|
||||
#фильтр по имени Pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool = "test"
|
||||
|
||||
#фильтр по доступу
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#public = true
|
||||
|
||||
#фильтр по hot_resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#hot_resize = true
|
||||
|
||||
#фильтр по bootable
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#bootable = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
#фильтр по enabled
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#enabled = true
|
||||
|
||||
#фильтр по id политики хранения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#storage_policy_id = 6
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_image_list.il
|
||||
}
|
||||
127
samples/cloudapi/image/resource_image/main.tf
Normal file
127
samples/cloudapi/image/resource_image/main.tf
Normal file
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работа с образом
|
||||
Ресурс позволяет:
|
||||
1. Управлять образом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_image" "img" {
|
||||
#наименование образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "image_name"
|
||||
|
||||
#тип образа (linux, windows и др.)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
type = "linux"
|
||||
|
||||
#прямая ссылка на образ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
url = "https://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/alpine-virt-3.17.3-x86_64.iso"
|
||||
|
||||
#тип загрузчика (bios/uefi)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
boot_type = "bios"
|
||||
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 138
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#hot_resize = true
|
||||
|
||||
#юзернейм для образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#username = "userx"
|
||||
|
||||
#пароль для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#password = "passx"
|
||||
|
||||
#юзернейм для загрузки binary media
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#username_dl = "userxdl"
|
||||
|
||||
#пароль для загрузки binary media
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#password_dl = "passxdl"
|
||||
|
||||
#storage endpoint provider ID
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#sep_id = 1
|
||||
|
||||
#pool для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool_name = "pool"
|
||||
|
||||
#наименование сетевого интерфейса для вашего компьютера с Linux
|
||||
#eth - встроенный, ens - pci слот
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#network_interface_naming = "ens"
|
||||
|
||||
#позволяет создавать образ в синхронном режиме
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#по умолчанию - false
|
||||
#sync_mode = true
|
||||
}
|
||||
|
||||
output "img_out" {
|
||||
value = decort_image.img
|
||||
}
|
||||
103
samples/cloudapi/image/resource_image_from_blank_compute/main.tf
Normal file
103
samples/cloudapi/image/resource_image_from_blank_compute/main.tf
Normal file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
Ресурс образа из компьюта, созданного как blank позволяет:
|
||||
1. Создавать
|
||||
2. Редактировать
|
||||
3. Удалять ресурс
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_image_from_blank_compute" "img" {
|
||||
#id виртуальной машины, созданной как blank
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
compute_id = 1234
|
||||
|
||||
#наименование образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "image_name"
|
||||
|
||||
#тип загрузчика (bios/uefi)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
boot_type = "bios"
|
||||
|
||||
#тип образа (linux, windows и др.)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
type = "linux"
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#юзернейм для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#username = "userx"
|
||||
|
||||
#пароль для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#password = "passx"
|
||||
|
||||
#id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#account_id = 138
|
||||
|
||||
#pool для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool_name = "pool"
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#hot_resize = true
|
||||
|
||||
#флаг для создания образа в асинхронном режиме
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#async_mode = true
|
||||
|
||||
}
|
||||
|
||||
output "img_out" {
|
||||
value = decort_image_from_blank_compute.img
|
||||
}
|
||||
111
samples/cloudapi/image/resource_image_from_platform_disk/main.tf
Normal file
111
samples/cloudapi/image/resource_image_from_platform_disk/main.tf
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
Ресурс образа из платформенного диска позволяет:
|
||||
1. Создавать
|
||||
2. Редактировать
|
||||
3. Удалять ресурс
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_image_from_platform_disk" "img" {
|
||||
#id диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
disk_id = 1234
|
||||
|
||||
#наименование образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "image_name"
|
||||
|
||||
#тип загрузчика
|
||||
#обязательный параметр
|
||||
#возможные значения - bios, uefi
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
boot_type = "bios"
|
||||
|
||||
#тип образа (linux, windows и др.)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
type = "linux"
|
||||
|
||||
#драйверы компьютов, подходящие для данного образа
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#drivers = ["KVM_X86"]
|
||||
|
||||
#имя пользователя для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#username = "userx"
|
||||
|
||||
#пароль для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#password = "passx"
|
||||
|
||||
#id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#account_id = 138
|
||||
|
||||
#pool для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool_name = "pool"
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#hot_resize = true
|
||||
|
||||
#флаг загрузочного образа
|
||||
#опциональный параметр
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#bootable = true
|
||||
|
||||
#флаг для создания образа в асинхронном режиме
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#async_mode = true
|
||||
|
||||
}
|
||||
|
||||
output "img_out" {
|
||||
value = decort_image_from_platform_disk.img
|
||||
}
|
||||
56
samples/cloudapi/image/resource_image_virtual/main.tf
Normal file
56
samples/cloudapi/image/resource_image_virtual/main.tf
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
Пример использования
|
||||
Управления виртуальным образом
|
||||
Ресурс позволяет:
|
||||
1. Создавать image virtual
|
||||
2. Изменять image virtual
|
||||
2. Удалять image virtual
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_image_virtual" "iv" {
|
||||
#имя виртуального образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "iv-name"
|
||||
|
||||
#id реального образа, на который будет ссылаться виртуальный
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
link_to = 123
|
||||
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 123
|
||||
|
||||
}
|
||||
|
||||
output "sr" {
|
||||
value = decort_image_virtual.iv
|
||||
}
|
||||
97
samples/cloudapi/k8s/data_k8ci_list/main.tf
Normal file
97
samples/cloudapi/k8s/data_k8ci_list/main.tf
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8ci
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_k8ci_list" "k8ci_list" {
|
||||
#фильтр по id кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#bservice_id = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#включение удаленных k8s в результат
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#если не задан - выводятся все неудаленные данные
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output_k8ci" {
|
||||
value = data.decort_k8ci_list.k8ci_list
|
||||
}
|
||||
38
samples/cloudapi/k8s/data_k8s/main.tf
Normal file
38
samples/cloudapi/k8s/data_k8s/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8s кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_k8s" "k8s" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
}
|
||||
|
||||
output "output_k8s" {
|
||||
value = data.decort_k8s.k8s
|
||||
}
|
||||
38
samples/cloudapi/k8s/data_k8s_computes/main.tf
Normal file
38
samples/cloudapi/k8s/data_k8s_computes/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получения информации о виртуальных машинах кластера
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_k8s_computes" "computes" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 999
|
||||
}
|
||||
|
||||
output "computes_out" {
|
||||
value = data.decort_k8s_computes.computes
|
||||
}
|
||||
103
samples/cloudapi/k8s/data_k8s_list/main.tf
Normal file
103
samples/cloudapi/k8s/data_k8s_list/main.tf
Normal file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных кластеров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_k8s_list" "k8s_list" {
|
||||
#фильтр по id кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#bservice_id = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#включение удаленных k8s в результат
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#если не задан - выводятся все неудаленные данные
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
}
|
||||
|
||||
output "output_k8s_list" {
|
||||
value = data.decort_k8s_list.k8s_list
|
||||
}
|
||||
86
samples/cloudapi/k8s/data_k8s_list_deleted/main.tf
Normal file
86
samples/cloudapi/k8s/data_k8s_list_deleted/main.tf
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных кластеров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_k8s_list_deleted" "k8s_list_deleted" {
|
||||
#фильтр по id кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#bservice_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output_k8s_list_deleted" {
|
||||
value = data.decort_k8s_list_deleted.k8s_list_deleted
|
||||
}
|
||||
43
samples/cloudapi/k8s/data_k8s_wg/main.tf
Normal file
43
samples/cloudapi/k8s/data_k8s_wg/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8s кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_k8s_wg" "k8s_wg" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
|
||||
#id группы воркеров
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
wg_id = 43329
|
||||
}
|
||||
|
||||
output "output_k8s_wg" {
|
||||
value = data.decort_k8s_wg.k8s_wg
|
||||
}
|
||||
43
samples/cloudapi/k8s/data_k8s_wg_cloud_init/main.tf
Normal file
43
samples/cloudapi/k8s/data_k8s_wg_cloud_init/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о мета данных рабочей группы k8s кластера
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_k8s_wg_cloud_init" "wg_cloud_init" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 977
|
||||
|
||||
#id группы воркеров
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
wg_id = 2110
|
||||
}
|
||||
|
||||
output "wg_cloud_init" {
|
||||
value = data.decort_k8s_wg_cloud_init.wg_cloud_init
|
||||
}
|
||||
38
samples/cloudapi/k8s/data_k8s_wg_list/main.tf
Normal file
38
samples/cloudapi/k8s/data_k8s_wg_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных групп воркеров в кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_k8s_wg_list" "k8s_wg_list" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
}
|
||||
|
||||
output "output_k8s_wg_list" {
|
||||
value = data.decort_k8s_wg_list.k8s_wg_list
|
||||
}
|
||||
363
samples/cloudapi/k8s/resource_k8s/main.tf
Normal file
363
samples/cloudapi/k8s/resource_k8s/main.tf
Normal file
@@ -0,0 +1,363 @@
|
||||
/*
|
||||
Пример использования
|
||||
Управление кластером
|
||||
Ресурс позволяет:
|
||||
1. Создавать кластер
|
||||
2. Управлять кластером
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_k8s" "cluster" {
|
||||
#имя кластера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "tftest"
|
||||
|
||||
#id resource group
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 776
|
||||
|
||||
#id catalogue item
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
k8sci_id = 9
|
||||
|
||||
#сетевой плагин
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
network_plugin = "flannel"
|
||||
|
||||
#имя для первой worker group, созданной в кластере
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
wg_name = "workers"
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#список labels для дефолтной worker группы
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#labels = ["key1=val1", "key2=val2"]
|
||||
|
||||
#список annotations для дефолтной worker группы
|
||||
#опциональный параметр
|
||||
#в скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#annotations = ["key1=val1", "key2=val2"]
|
||||
|
||||
#список taints для дефолтной worker группы
|
||||
#опциональный параметр
|
||||
#в скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
|
||||
#настройка мастер node или nodes
|
||||
#опциональный параметр
|
||||
#максимальное кол-во элементов - 1
|
||||
#тип - список нод
|
||||
#используется при создании
|
||||
#masters {
|
||||
#кол-во node (1, 3 или 5)
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#num = 1
|
||||
|
||||
#кол-во cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#cpu = 2
|
||||
|
||||
#кол-во RAM, в МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#ram = 2048
|
||||
|
||||
#размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#disk = 10
|
||||
|
||||
#идентификатор SEP для создания загрузочных дисков для master узлов
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 3
|
||||
|
||||
#наименование MasterSEPPool, используется если установлен master sepId, также может быть пустым
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sep_pool = "data_01"
|
||||
#}
|
||||
|
||||
#настройка worker группы
|
||||
#опциональный параметр
|
||||
#первая указанная воркер-группа должна соответствовать изначально созданной вместе с кластером.
|
||||
#используется при создании и обновлении
|
||||
#labels, annotations, taints для дефолтной worker группы указываются в корне ресурса при создании кластера.
|
||||
#workers {
|
||||
#имя группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#кол-во node
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#num = 1
|
||||
|
||||
#кол-во cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#cpu = 2
|
||||
|
||||
#кол-во RAM, в МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#ram = 2048
|
||||
|
||||
#размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#disk = 10
|
||||
|
||||
#идентификатор SEP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1010
|
||||
|
||||
#имя SEP pool'a
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sep_pool = "data01"
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
#по умолчанию - Q35
|
||||
#chipset = "Q35"
|
||||
#}
|
||||
|
||||
#далее можно создавать произвольное кол-во дополнительных worker групп
|
||||
#labels, annotations и taints для последующих групп указываются непосредственно в блоке workers
|
||||
#workers {
|
||||
#наименование worker группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#name = "additional_wg"
|
||||
|
||||
#кол-во node
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#num = 2
|
||||
|
||||
#кол-во cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#cpu = 2
|
||||
|
||||
#кол-во RAM, в МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#ram = 4096
|
||||
|
||||
#размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#disk = 10
|
||||
|
||||
#идентификатор SEP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1010
|
||||
|
||||
#имя SEP pool'a
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sep_pool = "data01"
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
#по умолчанию - Q35
|
||||
#chipset = "Q35"
|
||||
|
||||
#список лейблов
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#labels = ["label1=value1", "label2=value2"]
|
||||
|
||||
#список аннотаций
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#annotations = ["key1=value1", "key2=value2"]
|
||||
|
||||
#список taints
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
#}
|
||||
|
||||
#id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#extnet_id = 0
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#vins_id = 1234
|
||||
|
||||
#создать Kubernetes cluster с masters nodes с подключенным LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#with_lb = true
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
#используется при создании и обновлении
|
||||
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
|
||||
|
||||
#создать схему отказоустойчивой LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#ha_mode = true
|
||||
|
||||
#дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
|
||||
#возможность взаимодействовать с кластером по FQDN
|
||||
#параметр получает список строк – IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#additional_sans = ["192.168.201.0", "192.168.201.1"]
|
||||
|
||||
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#init_config = "{JSON string}"
|
||||
|
||||
#используется для определения глобальных настроек и конфигураций для всего кластера
|
||||
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#cluster_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
|
||||
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#kubelet_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#kube_proxy_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#join_config = "{JSON string}"
|
||||
|
||||
#описание кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "description"
|
||||
|
||||
#перечень аргументов для cloud-init создаваемым группам узлов Worker
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде yaml
|
||||
#используется при создании
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#при создании кластера использовать подключение только к сети ExtNet
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#extnet_only = true
|
||||
|
||||
#добавить ssl-сертификат в формате x509 pem
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде x509 pem
|
||||
#используется при создании
|
||||
#oidc_cert = file("ca.crt")
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
#по умолчанию - Q35
|
||||
#используется при создании
|
||||
#chipset = "Q35"
|
||||
|
||||
#запуск,остановка кластера
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#start = true
|
||||
|
||||
#флаг для удаления кластера, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
|
||||
}
|
||||
|
||||
output "test_cluster" {
|
||||
value = decort_k8s.cluster
|
||||
}
|
||||
9
samples/cloudapi/k8s/resource_k8s_cp/initconfig.tftpl
Normal file
9
samples/cloudapi/k8s/resource_k8s_cp/initconfig.tftpl
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
users:
|
||||
- groups: users, wheel
|
||||
name: user
|
||||
plain_text_passwd: examplePassword
|
||||
primary_group: user
|
||||
ssh_authorized_keys:
|
||||
- ssh-rsa EXAMPLE%id_rsa.pub
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||
213
samples/cloudapi/k8s/resource_k8s_cp/main.tf
Normal file
213
samples/cloudapi/k8s/resource_k8s_cp/main.tf
Normal file
@@ -0,0 +1,213 @@
|
||||
/*
|
||||
Пример использования
|
||||
Управление control plane кластера k8s
|
||||
Ресурс позволяет:
|
||||
1. Создать кластер
|
||||
2. Удалить кластер
|
||||
3. Настроить мастер-узел
|
||||
4. Изменить кол-во ВМ в мастер-узле
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_k8s_cp" "cp" {
|
||||
#название кластера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "k8s-cp"
|
||||
|
||||
#k8sCI ID
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
k8sci_id = 55
|
||||
|
||||
#плагин сети (flannel, weavenet или calico)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
network_plugin = "flannel"
|
||||
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1387
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#кол-во ядер мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#cpu = 2
|
||||
|
||||
#объем RAM мастер-узла, в МБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#ram = 2048
|
||||
|
||||
#кол-во ВМ мастер-узла (1, 3 или 5)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#num = 1
|
||||
|
||||
#размер диска мастер-узла, в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#disk = 10
|
||||
|
||||
#описание кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "<DESCRIPTION>"
|
||||
|
||||
#id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#extnet_id = 0
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#vins_id = 1234
|
||||
|
||||
#storage Endpoint ID
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#sep_id = 0
|
||||
|
||||
#sep pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#sep_pool = "pool"
|
||||
|
||||
#старт/стоп кластера
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#start = true
|
||||
|
||||
#создать кластер с/без балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#with_lb = true
|
||||
|
||||
#создать схему отказоустойчивой LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#ha_mode = true
|
||||
|
||||
#дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
|
||||
#возможность взаимодействовать с кластером по FQDN
|
||||
#параметр получает список строк – IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#additional_sans = ["192.168.201.0","192.168.201.1"]
|
||||
|
||||
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#init_config = "{JSON string}"
|
||||
|
||||
#используется для определения глобальных настроек и конфигураций для всего кластера
|
||||
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#cluster_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
|
||||
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#kubelet_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#kube_proxy_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#join_config = "{JSON string}"
|
||||
|
||||
#при создании кластре использовать подключение только к сети ExtNet
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#extnet_only = true
|
||||
|
||||
#добавить ssl-сертификат в формате x509 pem
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде x509 pem
|
||||
#используется при создании
|
||||
#oidc_cert = file("ca.crt")
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
#используется при создании и обновлении
|
||||
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
|
||||
|
||||
#флаг для удаления кластера, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
}
|
||||
|
||||
output "cp_out" {
|
||||
value = decort_k8s_cp.cp
|
||||
}
|
||||
9
samples/cloudapi/k8s/resource_k8s_wg/initconfig.tftpl
Normal file
9
samples/cloudapi/k8s/resource_k8s_wg/initconfig.tftpl
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
users:
|
||||
- groups: users, wheel
|
||||
name: user
|
||||
plain_text_passwd: examplePassword
|
||||
primary_group: user
|
||||
ssh_authorized_keys:
|
||||
- ssh-rsa EXAMPLE%id_rsa.pub
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||
99
samples/cloudapi/k8s/resource_k8s_wg/main.tf
Normal file
99
samples/cloudapi/k8s/resource_k8s_wg/main.tf
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
Пример использования
|
||||
Управления worker groups (рабочики группами, wg) кластера
|
||||
Ресурс позволяет:
|
||||
1. Создавать wg
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
|
||||
resource "decort_k8s_wg" "wg" {
|
||||
#id экземпляра k8s
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
k8s_id = 1234
|
||||
|
||||
#имя worker group
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "workers-2"
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#количество worker node
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1
|
||||
#используется при создании и обновлении
|
||||
#num = 2
|
||||
|
||||
#количество cpu для 1 worker node
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1
|
||||
#используется при создании
|
||||
#cpu = 1
|
||||
|
||||
#количество RAM для одной worker node, в МБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1024
|
||||
#используется при создании
|
||||
#ram = 1024
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
#по умолчанию - Q35
|
||||
#используется при создании
|
||||
#chipset = "Q35"
|
||||
|
||||
#размер загрузочного диска для worker node, в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 0
|
||||
#если установлен параметр 0, то размер диска будет равен размеру образа
|
||||
#используется при создании
|
||||
#disk = 10
|
||||
|
||||
#перечень аргументов для cloud-init для виртуальных машин worker групп
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде yaml
|
||||
#используется при создании и обновлении
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
|
||||
}
|
||||
|
||||
|
||||
output "test_wg" {
|
||||
value = decort_k8s_wg.wg
|
||||
}
|
||||
39
samples/cloudapi/kvmvm/data_kvmvm/main.tf
Normal file
39
samples/cloudapi/kvmvm/data_kvmvm/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm" "comp" {
|
||||
#получение информации по идентификатору машины - compute_id
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 11346
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_kvmvm.comp
|
||||
}
|
||||
92
samples/cloudapi/kvmvm/data_kvmvm_audits/main.tf
Normal file
92
samples/cloudapi/kvmvm/data_kvmvm_audits/main.tf
Normal file
@@ -0,0 +1,92 @@
|
||||
/*Deprecated
|
||||
|
||||
Данный datasource является **deprecated** и будет удалён в следующих версиях. Вместо него неоходимо использовать datasource **decort_audit_list**.
|
||||
*/
|
||||
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об аудитах compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_audits" "kvmvm_audits" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#найти все аудиты после определенного момента времени
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#timestamp_to = 11
|
||||
|
||||
#найти все аудиты до определенного момента времени
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#timestamp_at = 11
|
||||
|
||||
#фильтр по юзеру
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#user = "user"
|
||||
|
||||
#фильтр по эндпоинту апи
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#call = "call"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 1
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 100
|
||||
#size = 100
|
||||
|
||||
#найти по минимальному коду статуса HTTP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#min_status_code = 1
|
||||
|
||||
#найти по максимальному коду статуса HTTP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#max_status_code = 140
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_audits.kvmvm_audits
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о профиле CPU alignment виртуальной машины
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_cpu_alignment_profile" "cpu_alignment_profile" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 100
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_cpu_alignment_profile.cpu_alignment_profile
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_get_audits/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_get_audits/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об аудитах compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_get_audits" "kvmvm_get_audits" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_get_audits.kvmvm_get_audits
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_get_console_url/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_get_console_url/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение url compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_get_console_url" "kvmvm_get_console_url" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_get_console_url.kvmvm_get_console_url
|
||||
}
|
||||
43
samples/cloudapi/kvmvm/data_kvmvm_get_log/main.tf
Normal file
43
samples/cloudapi/kvmvm/data_kvmvm_get_log/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение логов compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_get_log" "kvmvm_get_log" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#путь до log файла
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
path = "/var/log/file.log"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_get_log.kvmvm_get_log
|
||||
}
|
||||
115
samples/cloudapi/kvmvm/data_kvmvm_list/main.tf
Normal file
115
samples/cloudapi/kvmvm/data_kvmvm_list/main.tf
Normal file
@@ -0,0 +1,115 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об списке compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_list" "compute_list" {
|
||||
#фильтр по id ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени ВМ
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по имени extnet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#флаг влючения в результат удаленных балансироващиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#если не задан - выводятся все доступные неудаленные балансировщики
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_list.compute_list
|
||||
}
|
||||
96
samples/cloudapi/kvmvm/data_kvmvm_list_deleted/main.tf
Normal file
96
samples/cloudapi/kvmvm/data_kvmvm_list_deleted/main.tf
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке удаленных compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_list_deleted" "compute_list" {
|
||||
#фильтр по id виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "some"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по имени extNet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id extNet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_list_deleted.compute_list
|
||||
}
|
||||
76
samples/cloudapi/kvmvm/data_kvmvm_pci_device_list/main.tf
Normal file
76
samples/cloudapi/kvmvm/data_kvmvm_pci_device_list/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке подключенных устройств (PCI)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_pci_device_list" "pci_device_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id устройства
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#device_id = 100
|
||||
|
||||
#фильтр по имени устройства
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_pci_device_list.pci_device_list
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_pfw_list/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_pfw_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об списке port forwarding compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_pfw_list" "kvmvm_pfw_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10524
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_pfw_list.kvmvm_pfw_list
|
||||
}
|
||||
43
samples/cloudapi/kvmvm/data_kvmvm_snapshot_usage/main.tf
Normal file
43
samples/cloudapi/kvmvm/data_kvmvm_snapshot_usage/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об использовании снапшотов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_snapshot_usage" "snapshot_usage" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#название снапшота
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
label = "label 1"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_snapshot_usage.snapshot_usage
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_user_list/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_user_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об юзерах compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_user_list" "kvmvm_user_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_user_list.kvmvm_user_list
|
||||
}
|
||||
75
samples/cloudapi/kvmvm/data_kvmvm_vgpu_list/main.tf
Normal file
75
samples/cloudapi/kvmvm/data_kvmvm_vgpu_list/main.tf
Normal file
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке подключенных графических процессоров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_kvmvm_vgpu_list" "vgpu_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 100
|
||||
|
||||
#фильтр по id графического процессора
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#gpu_id = 100
|
||||
|
||||
#фильтр по типу графического процессора
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#type = "NVIDIA"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр "включая удаленные графические процессоры"
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#includedeleted = "false"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_kvmvm_vgpu_list.vgpu_list
|
||||
}
|
||||
14
samples/cloudapi/kvmvm/resource_kvmvm/initconfig.tftpl
Normal file
14
samples/cloudapi/kvmvm/resource_kvmvm/initconfig.tftpl
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"groups": "users, wheel",
|
||||
"name": "user",
|
||||
"plain_text_passwd": "examplePassword",
|
||||
"primary_group": "user",
|
||||
"ssh_authorized_keys": [
|
||||
"ssh-rsa EXAMPLE%id_rsa.pub"
|
||||
],
|
||||
"sudo": "ALL=(ALL) NOPASSWD:ALL"
|
||||
}
|
||||
]
|
||||
}
|
||||
622
samples/cloudapi/kvmvm/resource_kvmvm/main.tf
Normal file
622
samples/cloudapi/kvmvm/resource_kvmvm/main.tf
Normal file
@@ -0,0 +1,622 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работа с ресурсом kvmvm (compute)
|
||||
Ресурс позволяет:
|
||||
1. Создавать compute
|
||||
2. Редактировать compute
|
||||
3. Удалять compute
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_kvmvm" "comp" {
|
||||
#имя compute
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "test-tf-compute-update-new"
|
||||
|
||||
#id resource group
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1111
|
||||
|
||||
#число cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
cpu = 1
|
||||
|
||||
#кол-во оперативной памяти, МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
ram = 2048
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 1
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
#по умолчанию - "Q35"
|
||||
#используется при создании и обновлении
|
||||
#chipset = "i440fx"
|
||||
|
||||
#тип часов для ВМ
|
||||
#опциональный параметр
|
||||
#возможные значения: "default", "linux", "windows", "none"
|
||||
#по умолчанию - "default"
|
||||
#используется при создании и обновлении
|
||||
#clock = "linux"
|
||||
|
||||
#размер загрузочного диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#boot_disk_size = 20
|
||||
|
||||
#id сепа для boot диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#sep_id = 1
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool = "data02"
|
||||
|
||||
#конфигурация cloud init
|
||||
#опциональный параметр
|
||||
#тип - файл в формате JSON
|
||||
#используется при создании
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#описание compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#description = "test update description in tf words update"
|
||||
|
||||
#id образа диска для создания compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#image_id = 111
|
||||
|
||||
#создание без загрузочного диска в остановленном состоянии
|
||||
#опциональный параметр
|
||||
#если значение равно True, параметры image_id, boot_disk_size, sep_id, pool игнорируются
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#without_boot_disk = true
|
||||
|
||||
#создание без образа ОС
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#create_blank = false
|
||||
|
||||
#необходимость выравнивать ВМ по NUMA
|
||||
#опциональный параметр
|
||||
#возможные значения - "none, "strict", "loose"
|
||||
#по умолчанию - "none"
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#numa_affinity = "loose"
|
||||
|
||||
#id образа CD-ROM для загрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#alt_boot_id = 1
|
||||
|
||||
#необходимость запускать ВМ на выделенных CPU ядрах
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#cpu_pin = true
|
||||
|
||||
#необходимость использовать для выделения RAM виртуальной машины Huge Pages
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hp_backed = true
|
||||
|
||||
#список PCI девайсов
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#pci_devices = [1, 2]
|
||||
|
||||
#создание и добавление диска для compute
|
||||
#опциональный параметр
|
||||
#тип - список дисков
|
||||
#используется при создании и обновлении
|
||||
#disks {
|
||||
#имя диска
|
||||
#обязательный для диска параметр
|
||||
#тип - строка
|
||||
#disk_name = "disk_name"
|
||||
|
||||
#id политики хранения
|
||||
#обязательный для диска параметр
|
||||
#тип - целое число
|
||||
#storage_policy_id = 1
|
||||
|
||||
#размер диска
|
||||
#обязательный для диска параметр
|
||||
#тип - целое число
|
||||
#size = 5
|
||||
|
||||
#id сепа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool = "data01"
|
||||
|
||||
#описание диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#desc = ""
|
||||
|
||||
#id образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#image_id = 378
|
||||
|
||||
#флаг для удаления диска
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#permanently = false
|
||||
|
||||
#блок для управления IO-лимитами диска
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#iotune {
|
||||
#read_bytes_sec = 0
|
||||
#read_bytes_sec_max = 0
|
||||
#read_iops_sec = 0
|
||||
#read_iops_sec_max = 0
|
||||
#size_iops_sec = 0
|
||||
#total_bytes_sec = 0
|
||||
#total_bytes_sec_max = 0
|
||||
#total_iops_sec = 3000
|
||||
#total_iops_sec_max = 0
|
||||
#write_bytes_sec = 0
|
||||
#write_bytes_sec_max = 0
|
||||
#write_iops_sec = 0
|
||||
#write_iops_sec_max = 0
|
||||
#}
|
||||
#}
|
||||
|
||||
#правила affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного блока
|
||||
#тип - блок правил
|
||||
#используется при создании и обновлении
|
||||
#affinity_rules {
|
||||
#тип правила
|
||||
#обязательный параметр
|
||||
#возможные значения - compute или node
|
||||
#тип - строка
|
||||
#topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#обязательный параметр
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#тип - строка
|
||||
#policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#обязательный параметр
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#тип - строка
|
||||
#mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#value = "testvalue"
|
||||
#}
|
||||
|
||||
#правила anti-affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного блока
|
||||
#тип - список правил
|
||||
#используется при создании и обновлении
|
||||
#anti_affinity_rules {
|
||||
#тип правила
|
||||
#обязательный параметр
|
||||
#возможные значения - compute или node
|
||||
#тип - строка
|
||||
#topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#обязательный параметр
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#тип - строка
|
||||
#policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#обязательный параметр
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#тип - строка
|
||||
#mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип -строка
|
||||
#value = "testvalue"
|
||||
#}
|
||||
|
||||
#установка метки для вм
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#affinity_label = "test4"
|
||||
|
||||
#имя профиля CPU alignment
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#cpu_alignment_profile = "balanced"
|
||||
|
||||
#id экстра дисков
|
||||
#опциональный параметр
|
||||
#тип - список целых чисел
|
||||
#используется при создании и обновлении
|
||||
#extra_disks = [1234, 4322, 1344]
|
||||
|
||||
#присоединение сетей и удаление сетей в компьюте
|
||||
#опциональный параметр
|
||||
#тип - блок сетей
|
||||
#используется при создании и обновлении
|
||||
#network {
|
||||
#тип сети
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные значения - "VINS", "EXTNET", "VFNIC", "DPDK", "SDN", "TRUNK" (при выборе типа DPDK, необходимо указать hp_backed = true)
|
||||
#net_type = "VINS"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#при использовании SDN необходимо указать любое значение отличное от 0
|
||||
#тип - целое число
|
||||
#net_id = 1234
|
||||
|
||||
#ip адрес входящий в сеть
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "127.0.0.1"
|
||||
|
||||
#mac-адрес интерфейса компьюта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#mac = "52:54:01:12:34:60"
|
||||
|
||||
#вес сети, указывается при необходимости указания порядка подключения сетей
|
||||
#первой подключается сеть с наименьшим весом
|
||||
#сеть с нулевым или неуказанным весом имеет наименьший приоритет
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#weight = 15
|
||||
|
||||
#максимальный объём данных, который может быть передан за одну итерацию
|
||||
#используется с сетями типа "DPDK", "TRUNK", "EXTNET"
|
||||
#возможные значения - 1500-9216
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#mtu = 1500
|
||||
|
||||
#id sdn сети
|
||||
#используется только с сетями типа "SDN"
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sdn_interface_id = "f2d87a70-ea35-468d-8aef-bb1ecbe2e476"
|
||||
|
||||
#включение сетевого интерфейса
|
||||
#используется с сетями типа "VINS", "EXTNET", "DPDK", "SDN", "TRUNK"
|
||||
#по умолчанию - true
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#enabled = true
|
||||
|
||||
#маска подсети
|
||||
#используется только с сетями типа "DPDK" и "VFNIC"
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#net_mask = 32
|
||||
#}
|
||||
|
||||
#группы безопасности
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#не применяется к сетям типа "VFNIC", "TRUNK", "SDN"
|
||||
#используется при создании и обновлении
|
||||
#security_groups {
|
||||
#тип сети
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные значения - "VINS", "EXTNET", "DPDK" (при выборе типа DPDK, необходимо указать hp_backed = true)
|
||||
#net_type = "VINS"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#при использовании SDN необходимо указать любое значение отличное от 0
|
||||
#тип - целое число
|
||||
#net_id = 1234
|
||||
|
||||
#список id групп безопасности
|
||||
#обязательный параметр
|
||||
#тип - массив целых чисел
|
||||
#security_groups = [12, 34]
|
||||
|
||||
#флаг, указывающий, включены ли группы безопасности
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию: false
|
||||
#enable_secgroups = false
|
||||
#}
|
||||
|
||||
#добавление и удаление тэгов
|
||||
#опциональный параметр
|
||||
#тип - блок тэгов
|
||||
#используется при создании и обновлении
|
||||
#tags {
|
||||
#ключ для тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#key = "key"
|
||||
|
||||
#значения тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#value = "value"
|
||||
#}
|
||||
|
||||
#добавление и удаление port forwarding
|
||||
#опциональный параметр
|
||||
#тип - блок переадресации портов
|
||||
#используется при создании и обновлении
|
||||
#port_forwarding {
|
||||
#номер внешнего начального порта для правила
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#public_port_start = 2023
|
||||
|
||||
#номер внешнего последнего порта для правила
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - -1
|
||||
#public_port_end = 2023
|
||||
|
||||
#номер внутреннего базового порта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#local_port = 80
|
||||
|
||||
#сетевой протокол
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#proto = "tcp"
|
||||
#}
|
||||
|
||||
#предоставить/забрать пользователю доступ к компьюту
|
||||
#опциональный параметр
|
||||
#тип - блок прав пользователя
|
||||
#используется при создании и обновлении
|
||||
#user_access {
|
||||
#имя юзера, которому предоставляем доступ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#username = "kasim_baybikov_1@decs3o"
|
||||
|
||||
#права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#access_type = "ARCXDU"
|
||||
#}
|
||||
|
||||
#создать/удалить снапшот компьюта
|
||||
#опциональный параметр
|
||||
#тип - блок снапшотов
|
||||
#используется при создании и обновлении
|
||||
#snapshot {
|
||||
#лейбл снапшота
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#label = "label1"
|
||||
#}
|
||||
|
||||
#флаг для удаления снапшотов в асинхронном режиме
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#snapshot_delete_async = true
|
||||
|
||||
#rollback на нужный снапшот
|
||||
#опциональный параметр
|
||||
#не имеет смысла при отсутсвии снапшотов
|
||||
#тип - блок rollback
|
||||
#используется при обновлении
|
||||
#rollback {
|
||||
#лейбл снапшота
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#label = "label1"
|
||||
#}
|
||||
|
||||
#вставить/удалить СD rom
|
||||
#опциональный параметр
|
||||
#максимальное кол-во - 1
|
||||
#тип - блок cd
|
||||
#используется при создании и обновлении
|
||||
#cd {
|
||||
#id образа диска CD rom
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#cdrom_id = 344
|
||||
#}
|
||||
|
||||
#добавить компьют на ноду
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#pin_to_node = true
|
||||
|
||||
#список ядер для использования в механизме vcpupinning. Количество указанных ядер должно быть равно количеству виртуальных процессоров ВМ
|
||||
#игнорируется если cpu_pin=false или pin_to_node=false
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#preferred_cpu = [1234, 456]
|
||||
|
||||
#флаг для старта компьюта при рестарте ноды
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#auto_start_w_node = true
|
||||
|
||||
#флаг доступности компьюта для проведения с ним операций
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enabled = true
|
||||
|
||||
#pause/resume компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#pause = true
|
||||
|
||||
#сделать компьют заново
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#reset = true
|
||||
|
||||
#восстановить компьют из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#force_stop = true
|
||||
|
||||
#флаг для ресайза компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#force_resize = true
|
||||
|
||||
#запуск/стоп компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#started = true
|
||||
|
||||
#detach диска при удалении компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#detach_disks = true
|
||||
|
||||
#флаг для удаления компьюта, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = false
|
||||
|
||||
#тип вм
|
||||
#возможные значения - linux, windows, unknown
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#loader_type = "unknown"
|
||||
|
||||
#тип загрузки образа
|
||||
#возможные значения - bios, uefi
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#boot_type = "bios"
|
||||
|
||||
#изменение размера ВМ
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hot_resize = false
|
||||
|
||||
#наименование сетевого интерфейса
|
||||
#возможные значения - eth, ens
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#network_interface_naming = "ens"
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
|
||||
#версия ОС, установленная на ВМ
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#os_version = "name"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_kvmvm.comp
|
||||
}
|
||||
38
samples/cloudapi/lb/data_lb/main.tf
Normal file
38
samples/cloudapi/lb/data_lb/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о load balancer (балансировщик нагрузки)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_lb" "lb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
lb_id = 238
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_lb.lb
|
||||
}
|
||||
105
samples/cloudapi/lb/data_lb_list/main.tf
Normal file
105
samples/cloudapi/lb/data_lb_list/main.tf
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка load balancer (балансировщиков нагрузки)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_lb_list" "lbl" {
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка балансировщиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по IP front
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#front_ip = "ENABLED"
|
||||
|
||||
#фильтр по IP back
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#back_ip = "ENABLED"
|
||||
|
||||
#флаг включения в результат удаленных балансировщиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#если не задан - выводятся все доступные неудаленные балансировщики
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_lb_list.lbl
|
||||
}
|
||||
86
samples/cloudapi/lb/data_lb_list_deleted/main.tf
Normal file
86
samples/cloudapi/lb/data_lb_list_deleted/main.tf
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных load balancer (балансировщиков нагрузок)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_lb_list_deleted" "lbld" {
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка балансировщиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по IP front
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#front_ip = "ENABLED"
|
||||
|
||||
#фильтр по IP back
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#back_ip = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_lb_list_deleted.lbld
|
||||
}
|
||||
138
samples/cloudapi/lb/resource_lb/main.tf
Normal file
138
samples/cloudapi/lb/resource_lb/main.tf
Normal file
@@ -0,0 +1,138 @@
|
||||
/*
|
||||
Пример использования
|
||||
Управление балансировщиком нагрузки (load balancer)
|
||||
Ресурс позволяет:
|
||||
1. Создавать load balancer
|
||||
2. Редактировать load balancer
|
||||
3. Удалять load balancer
|
||||
/*
|
||||
|
||||
#Раскомментируйте этот код
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_lb" "lb" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1111
|
||||
|
||||
#наименование load balancer
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "tf-test-lb"
|
||||
|
||||
#id внешней сети
|
||||
#опциональный параметр
|
||||
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#extnet_id = 6
|
||||
|
||||
#id виртуальной сети
|
||||
#опциональный параметр
|
||||
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#vins_id = 758
|
||||
|
||||
#флаг запуска load balancer
|
||||
#опциональный параметр
|
||||
#если load balancer был в статусе "stopped" (start = false),
|
||||
#то для успешного старта, он должен быть доступен (enable = true)
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#start = true
|
||||
|
||||
#создать схему отказоустойчивой LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#ha_mode = true
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "temp super lb for testing tf provider"
|
||||
|
||||
#флаг доступности load balancer
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enable = true
|
||||
|
||||
#флаг перезапуска load balancer
|
||||
#перезагрузка срабатывает только при изменении флага с false на true
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restart = false
|
||||
|
||||
#флаг сброса конфигурации load balancer
|
||||
#сброс срабатывает только при изменении флага с false на true
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#config_reset = false
|
||||
|
||||
#флаг для удаления load balancer, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = false
|
||||
|
||||
#флаг восстановления load balancer
|
||||
#опциональный параметр
|
||||
#восстановить можно load balancer, удаленным с флагом permanently = false
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#флаг используемый при рестарте load balancer
|
||||
#опциональный параметр
|
||||
#при значении "true" рестарт производится на обоих нодах в HA mode
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#safe = true
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
#используется при создании и обновлении
|
||||
#sysctl_params = [{ key1 = "value1", key2 = "value2" }]
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_lb.lb
|
||||
}
|
||||
127
samples/cloudapi/lb/resource_lb_backend/main.tf
Normal file
127
samples/cloudapi/lb/resource_lb_backend/main.tf
Normal file
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer backend
|
||||
Ресурс позволяет:
|
||||
1. Создавать backend
|
||||
2. Редактировать backend
|
||||
3. Удалять backend
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_lb_backend" "lb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "testBackend"
|
||||
|
||||
#алгоритм балансировки
|
||||
#опциональный параметр
|
||||
#по умолчанию - "roundrobin"
|
||||
#доступные значения - "roundrobin", "static-rr", "leastconn"
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#algorithm = "roundrobin"
|
||||
|
||||
#-------------------
|
||||
#настройки для серверов по умолчанию
|
||||
#-------------------
|
||||
|
||||
#интервал между проверками, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 5000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#inter = 5000
|
||||
|
||||
#интервал между проверками доступности сервера после восстановления, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 1000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#downinter = 1000
|
||||
|
||||
#кол-во проверок, которые сервер должен успешно пройти
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#rise = 2
|
||||
|
||||
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#fall = 2
|
||||
|
||||
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
|
||||
#опциональный параметр
|
||||
#по умолчанию - 60000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#slowstart = 60000
|
||||
|
||||
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
|
||||
#опциональный параметр
|
||||
#по умолчанию - 250
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxconn = 250
|
||||
|
||||
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
|
||||
#опциональный параметр
|
||||
#по умолчанию - 256
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxqueue = 256
|
||||
|
||||
#вес сервера для балансировки
|
||||
#опциональный параметр
|
||||
#мин - 0
|
||||
#макс - 255
|
||||
#по умолчанию - 100
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#weight = 100
|
||||
|
||||
timeouts {
|
||||
create = "5m"
|
||||
read = "5m"
|
||||
update = "5m"
|
||||
delete = "5m"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_lb_backend.lb
|
||||
}
|
||||
141
samples/cloudapi/lb/resource_lb_backend_server/main.tf
Normal file
141
samples/cloudapi/lb/resource_lb_backend_server/main.tf
Normal file
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer backend server
|
||||
Ресурс позволяет:
|
||||
1. Создавать server
|
||||
2. Редактировать server
|
||||
3. Удалять server
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_lb_backend_server" "lb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
backend_name = "testBackend"
|
||||
|
||||
#имя сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "testServer"
|
||||
|
||||
#ip адрес сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
address = "192.168.5.33"
|
||||
|
||||
#порт сервера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
port = 6553
|
||||
|
||||
#проверка доступности сервера
|
||||
#опциональный параметр
|
||||
#по умолчанию - "enabled"
|
||||
#доступные значения - "disabled", "enabled"
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#check = "enabled"
|
||||
|
||||
#интервал между проверками, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 5000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#inter = 5000
|
||||
|
||||
#интервал между проверками доступности сервера после восстановления, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 1000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#downinter = 1000
|
||||
|
||||
#кол-во проверок, которые сервер должен успешно пройти
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 2
|
||||
#используется при создании и обновлении
|
||||
#rise = 2
|
||||
|
||||
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#fall = 2
|
||||
|
||||
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
|
||||
#опциональный параметр
|
||||
#по умолчанию - 60000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#slowstart = 60000
|
||||
|
||||
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
|
||||
#опциональный параметр
|
||||
#по умолчанию - 250
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxconn = 250
|
||||
|
||||
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
|
||||
#опциональный параметр
|
||||
#по умолчанию - 256
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxqueue = 256
|
||||
|
||||
#вес сервера для балансировки
|
||||
#опциональный параметр
|
||||
#мин - 0
|
||||
#макс - 255
|
||||
#по умолчанию - 100
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#weight = 100
|
||||
|
||||
timeouts {
|
||||
create = "5m"
|
||||
read = "5m"
|
||||
update = "5m"
|
||||
delete = "5m"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_lb_backend_server.lb
|
||||
}
|
||||
62
samples/cloudapi/lb/resource_lb_frontend/main.tf
Normal file
62
samples/cloudapi/lb/resource_lb_frontend/main.tf
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer frontend
|
||||
Ресурс позволяет:
|
||||
1. Создавать frontend
|
||||
2. Удалять frontend
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_lb_frontend" "lb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
backend_name = "testBackend"
|
||||
|
||||
#имя фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "testFrontend"
|
||||
|
||||
timeouts {
|
||||
create = "5m"
|
||||
read = "5m"
|
||||
update = "5m"
|
||||
delete = "5m"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_lb_frontend.lb
|
||||
}
|
||||
75
samples/cloudapi/lb/resource_lb_frontend_bind/main.tf
Normal file
75
samples/cloudapi/lb/resource_lb_frontend_bind/main.tf
Normal file
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer frontend bind (привязка фронтенда балансировщика нагрузок)
|
||||
Ресурс позволяет:
|
||||
1. Создавать привязку
|
||||
2. Редактировать привязку
|
||||
3. Удалять привязку
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_lb_frontend_bind" "lb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя фронтенда для создания привязки
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
frontend_name = "testFrontend"
|
||||
|
||||
#наименование привязки
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "testBinding"
|
||||
|
||||
#адрес привязки фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
address = "111.111.111.111"
|
||||
|
||||
#порт для привязки фронтенда
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
port = 1111
|
||||
|
||||
timeouts {
|
||||
create = "5m"
|
||||
read = "5m"
|
||||
update = "5m"
|
||||
delete = "5m"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_lb_frontend_bind.lb
|
||||
}
|
||||
37
samples/cloudapi/location/data_location_url/main.tf
Normal file
37
samples/cloudapi/location/data_location_url/main.tf
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о площадках
|
||||
Ресурс позволяет:
|
||||
1. получать информацию об url площадки (grid/location).
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_location_url" "lu" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_location_url.lu
|
||||
}
|
||||
71
samples/cloudapi/location/data_locations_list/main.tf
Normal file
71
samples/cloudapi/location/data_locations_list/main.tf
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о доступных локациях.
|
||||
Ресурс позволяет:
|
||||
1) получать информацию о grid_id для создания ресурсов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_locations_list" "ll" {
|
||||
#фильтр по флагу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#flag = "some"
|
||||
|
||||
#фильтр по id локации
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени локации
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по коду локации
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#location_code = "europe"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_locations_list.ll
|
||||
}
|
||||
66
samples/cloudapi/pfw/resource_pfw/main.tf
Normal file
66
samples/cloudapi/pfw/resource_pfw/main.tf
Normal file
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
Пример использования
|
||||
Управление правилами трансляции сетевых портов для виртуальных серверов
|
||||
Ресурс позволяет:
|
||||
1. Создавать правила для трансляции сетевых портов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_pfw" "pfw" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
compute_id = 11269
|
||||
|
||||
#начальный порт правила
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
public_port_start = 200
|
||||
|
||||
#внутренний порт
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
local_base_port = 22
|
||||
|
||||
#протокол соединения (tcp / udp)
|
||||
#обязательный параметр
|
||||
##тип - строка
|
||||
#используется при создании
|
||||
proto = "tcp"
|
||||
|
||||
#конечный порт (включительно)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#public_port_end = 21321
|
||||
|
||||
}
|
||||
|
||||
output "pfw_out" {
|
||||
value = decort_pfw.pfw
|
||||
}
|
||||
39
samples/cloudapi/rg/data_rg/main.tf
Normal file
39
samples/cloudapi/rg/data_rg/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о ресурсной группе (RG)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_resgroup" "rg" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 1535
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_resgroup.rg
|
||||
}
|
||||
43
samples/cloudapi/rg/data_rg_affinity_group_computes/main.tf
Normal file
43
samples/cloudapi/rg/data_rg_affinity_group_computes/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о специальной группе компьютов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_affinity_group_computes" "lc" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#название специальной группы компьютов
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
affinity_group = "TEST"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_rg_affinity_group_computes.lc
|
||||
}
|
||||
43
samples/cloudapi/rg/data_rg_affinity_groups_get/main.tf
Normal file
43
samples/cloudapi/rg/data_rg_affinity_groups_get/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке компьютов из определенной группы
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_affinity_groups_get" "get_groups" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#название специальной группы компьютов
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
affinity_group = "TEST"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_rg_affinity_groups_get.get_groups
|
||||
}
|
||||
50
samples/cloudapi/rg/data_rg_affinity_groups_list/main.tf
Normal file
50
samples/cloudapi/rg/data_rg_affinity_groups_list/main.tf
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке специальных групп компьютов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_affinity_groups_list" "list_groups" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_rg_affinity_groups_list.list_groups
|
||||
}
|
||||
43
samples/cloudapi/rg/data_rg_audits/main.tf
Normal file
43
samples/cloudapi/rg/data_rg_audits/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*Deprecated
|
||||
|
||||
Данный datasource является **deprecated** и будет удалён в следующих версиях. Вместо него неоходимо использовать datasource **decort_audit_list**.
|
||||
*/
|
||||
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке аудитов ресурсной группы
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_audits" "rg_audits" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_rg_audits.rg_audits
|
||||
}
|
||||
39
samples/cloudapi/rg/data_rg_get_resource_consumption/main.tf
Normal file
39
samples/cloudapi/rg/data_rg_get_resource_consumption/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка текущего потребления ресурсов ресурсной группы
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_resource_consumption_get" "rc_get" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_rg_resource_consumption_get.rc_get
|
||||
}
|
||||
|
||||
93
samples/cloudapi/rg/data_rg_list/main.tf
Normal file
93
samples/cloudapi/rg/data_rg_list/main.tf
Normal file
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке всех ресурсных групп к которым есть доступ
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
|
||||
/* terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
} */
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_list" "rg_list" {
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка ресурсных групп
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "test"
|
||||
|
||||
#фильтр по времени создания (после указанного времени)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#created_after = "123"
|
||||
|
||||
#фильтр по времени создания (перед указанным временем)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#created_before = "123"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по lock status
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#lock_status = "UNLOCKED"
|
||||
|
||||
#отображать удаленные ресурсные группы или нет
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#includedeleted = false
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 2
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_rg_list.rg_list
|
||||
}
|
||||
96
samples/cloudapi/rg/data_rg_list_computes/main.tf
Normal file
96
samples/cloudapi/rg/data_rg_list_computes/main.tf
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке компьютов в ресурсной группе
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_list_computes" "list_computes" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#фильтр по id compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 100
|
||||
|
||||
#фильтр по имени compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STARTED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по ip address
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "1.1.1.1.1"
|
||||
|
||||
#фильтр по имени внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id внешней сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_rg_list_computes.list_computes
|
||||
}
|
||||
84
samples/cloudapi/rg/data_rg_list_deleted/main.tf
Normal file
84
samples/cloudapi/rg/data_rg_list_deleted/main.tf
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке удаленных ресурсных групп
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_list_deleted" "list_deleted" {
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка ресурсных групп
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "test"
|
||||
|
||||
#фильтр по времени создания (после указанного времени)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#created_after = "123"
|
||||
|
||||
#фильтр по времени создания (перед указанным временем)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#created_before = "123"
|
||||
|
||||
#фильтр по lock status
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#lock_status = "UNLOCKED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 2
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_rg_list_deleted.list_deleted
|
||||
}
|
||||
85
samples/cloudapi/rg/data_rg_list_lb/main.tf
Normal file
85
samples/cloudapi/rg/data_rg_list_lb/main.tf
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке балансировщиков в ресурсной группе
|
||||
*/
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_rg_list_lb" "list_lb" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по IP front
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#front_ip = "ENABLED"
|
||||
|
||||
#фильтр по IP back
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#back_ip = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_rg_list_lb.list_lb
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user