diff --git a/Makefile b/Makefile index c3d293cd..ee5ab71d 100644 --- a/Makefile +++ b/Makefile @@ -83,19 +83,21 @@ tools/golangci-lint: tools/terrafmt: cd tools && go build -o . github.com/katbyte/terrafmt +.PHONY: tools/tfplugindocs +tools/tfplugindocs: + cd tools && go build -o . github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs + +.PHONY: docs-generate +docs-generate: tools/tfplugindocs + @tools/tfplugindocs + .PHONY: docs-lint docs-lint: misspell terrafmt - @echo "==> Checking docs against linters..." - @docker run -v $(PWD):/markdown 06kellyjac/markdownlint-cli docs/ || (echo; \ - echo "Unexpected issues found in docs Markdown files."; \ - echo "To apply any automatic fixes, run 'make docs-lint-fix' and commit the changes."; \ - exit 1) .PHONY: docs-lint-fix docs-lint-fix: tools/misspell tools/terrafmt @echo "==> Applying automatic docs linter fixes..." @tools/misspell -w -source=text docs/ - @docker run -v $(PWD):/markdown 06kellyjac/markdownlint-cli --fix docs/ @tools/terrafmt fmt ./docs --pattern '*.md' .PHONY: go-lint diff --git a/anxcloud/data_source_core_location.go b/anxcloud/data_source_core_location.go index 93ab5393..694c41b7 100644 --- a/anxcloud/data_source_core_location.go +++ b/anxcloud/data_source_core_location.go @@ -12,7 +12,7 @@ import ( func dataSourceCoreLocation() *schema.Resource { return &schema.Resource{ - Description: "Retrieves Location identified by it's `code` as selectable in the Engine.", + Description: "Retrieves a location identified by it's `code` as selectable in the Engine. Use this data source to specify the location identifier on other resources and data sources available in this provider.", ReadContext: dataSourceCoreLocationRead, Schema: schemaLocation(), } diff --git a/anxcloud/data_source_core_locations.go b/anxcloud/data_source_core_locations.go index 87e65902..31c4946f 100644 --- a/anxcloud/data_source_core_locations.go +++ b/anxcloud/data_source_core_locations.go @@ -12,6 +12,7 @@ import ( func dataSourceCoreLocations() *schema.Resource { return &schema.Resource{ + Description: "Provides available locations.", ReadContext: dataSourceCoreLocationsRead, Schema: schemaDataSourceLocations(), } diff --git a/anxcloud/data_source_cpu_performance_types.go b/anxcloud/data_source_cpu_performance_types.go index b672dc82..797bc25c 100644 --- a/anxcloud/data_source_cpu_performance_types.go +++ b/anxcloud/data_source_cpu_performance_types.go @@ -13,6 +13,7 @@ import ( func dataSourceCPUPerformanceTypes() *schema.Resource { return &schema.Resource{ + Description: "Provides available cpu performance types. This information can be used to provision virtual servers using the `anxcloud_virtual_server` resource.", ReadContext: dataSourceCPUPerformanceTypesRead, Schema: schemaCPUPerformanceType(), } diff --git a/anxcloud/data_source_disk_types.go b/anxcloud/data_source_disk_types.go index c87aab57..2e854919 100644 --- a/anxcloud/data_source_disk_types.go +++ b/anxcloud/data_source_disk_types.go @@ -10,6 +10,7 @@ import ( func dataSourceDiskTypes() *schema.Resource { return &schema.Resource{ + Description: "Provides available disk types for a specified location. This information can be used to provision virtual servers using the `anxcloud_virtual_server` resource.", ReadContext: dataSourceDiskTypesRead, Schema: schemaDiskTypes(), } diff --git a/anxcloud/data_source_dns_records.go b/anxcloud/data_source_dns_records.go index 6a44b405..602d0ff5 100644 --- a/anxcloud/data_source_dns_records.go +++ b/anxcloud/data_source_dns_records.go @@ -10,6 +10,7 @@ import ( func dataSourceDNSRecords() *schema.Resource { return &schema.Resource{ + Description: "Provides DNS records for a specified zone.", ReadContext: dataSourceDNSRecordsRead, Schema: schemaDNSRecords(), } diff --git a/anxcloud/data_source_dns_zones.go b/anxcloud/data_source_dns_zones.go index 608f5874..e83d6ac5 100644 --- a/anxcloud/data_source_dns_zones.go +++ b/anxcloud/data_source_dns_zones.go @@ -14,6 +14,7 @@ import ( func datasourceDNSZones() *schema.Resource { return &schema.Resource{ + Description: "Provides available DNS zones.", ReadContext: dataSourceDNSZonesRead, Schema: schemaDNSZones(), } diff --git a/anxcloud/data_source_ips.go b/anxcloud/data_source_ips.go index cb2ee0d6..0a0adfcd 100644 --- a/anxcloud/data_source_ips.go +++ b/anxcloud/data_source_ips.go @@ -12,6 +12,7 @@ import ( func dataSourceIPAddresses() *schema.Resource { return &schema.Resource{ + Description: "Provides available IP addresses.", ReadContext: dataSourceIPAddressesRead, Schema: schemaIPAddresses(), } diff --git a/anxcloud/data_source_nic_type.go b/anxcloud/data_source_nic_type.go index 33ae1d04..59a13e2d 100644 --- a/anxcloud/data_source_nic_type.go +++ b/anxcloud/data_source_nic_type.go @@ -12,6 +12,7 @@ import ( func dataSourceNICTypes() *schema.Resource { return &schema.Resource{ + Description: "Provides available network interface card types. This information can be used to provision virtual servers using the `anxcloud_virtual_server` resource.", ReadContext: dataSourceNICTypesRead, Schema: schemaNICTypes(), } diff --git a/anxcloud/data_source_tags.go b/anxcloud/data_source_tags.go index 8e415e3e..9dd8cf7b 100644 --- a/anxcloud/data_source_tags.go +++ b/anxcloud/data_source_tags.go @@ -13,6 +13,7 @@ import ( func dataSourceTags() *schema.Resource { return &schema.Resource{ + Description: "Provides available service tags.", ReadContext: dataSourceTagsRead, Schema: schemaTags(), } diff --git a/anxcloud/data_source_template.go b/anxcloud/data_source_template.go index 69a6328d..437906e1 100644 --- a/anxcloud/data_source_template.go +++ b/anxcloud/data_source_template.go @@ -10,6 +10,7 @@ import ( func dataSourceTemplate() *schema.Resource { return &schema.Resource{ + Description: "Provides available templates for specified location. This information can be used to provision virtual servers using the `anxcloud_virtual_server` resource.", ReadContext: dataSourceTemplateRead, Schema: schemaTemplate(), } diff --git a/anxcloud/data_source_vlans.go b/anxcloud/data_source_vlans.go index 5e0e083d..a1df8acf 100644 --- a/anxcloud/data_source_vlans.go +++ b/anxcloud/data_source_vlans.go @@ -12,6 +12,7 @@ import ( func dataSourceVLANs() *schema.Resource { return &schema.Resource{ + Description: "Provides available VLANs.", ReadContext: dataSourceVLANsRead, Schema: schemaVLANs(), } diff --git a/anxcloud/data_source_vsphere_locations.go b/anxcloud/data_source_vsphere_locations.go index b688ce2b..bee15451 100644 --- a/anxcloud/data_source_vsphere_locations.go +++ b/anxcloud/data_source_vsphere_locations.go @@ -14,8 +14,10 @@ import ( func dataSourceVSphereLocations() *schema.Resource { return &schema.Resource{ - ReadContext: dataSourceVSphereLocationsRead, - Schema: schemaDataSourceVSPhereLocations(), + Description: "Provides available vSphere locations.", + ReadContext: dataSourceVSphereLocationsRead, + Schema: schemaDataSourceVSPhereLocations(), + DeprecationMessage: "Use `anxcloud_core_locations` data-source instead!", } } diff --git a/anxcloud/resource_ip_address.go b/anxcloud/resource_ip_address.go index 77343a91..4fc67783 100644 --- a/anxcloud/resource_ip_address.go +++ b/anxcloud/resource_ip_address.go @@ -19,6 +19,7 @@ const ( func resourceIPAddress() *schema.Resource { return &schema.Resource{ + Description: "This resource allows you to create and configure IP address.", CreateContext: resourceIPAddressCreate, ReadContext: resourceIPAddressRead, UpdateContext: resourceIPAddressUpdate, diff --git a/anxcloud/resource_network_prefix.go b/anxcloud/resource_network_prefix.go index 7b37db02..af302a88 100644 --- a/anxcloud/resource_network_prefix.go +++ b/anxcloud/resource_network_prefix.go @@ -19,6 +19,7 @@ const ( func resourceNetworkPrefix() *schema.Resource { return &schema.Resource{ + Description: "This resource allows you to configure and create network prefix.", CreateContext: resourceNetworkPrefixCreate, ReadContext: resourceNetworkPrefixRead, UpdateContext: resourceNetworkPrefixUpdate, diff --git a/anxcloud/resource_tag.go b/anxcloud/resource_tag.go index 1fc1bf90..c464b350 100644 --- a/anxcloud/resource_tag.go +++ b/anxcloud/resource_tag.go @@ -15,6 +15,7 @@ import ( func resourceTag() *schema.Resource { return &schema.Resource{ + Description: "The tag resource allows you to configure and create a tag.", CreateContext: resourceTagCreate, ReadContext: resourceTagRead, DeleteContext: resourceTagDelete, diff --git a/anxcloud/resource_virtual_server.go b/anxcloud/resource_virtual_server.go index 2a4ca2de..6fb01a5b 100644 --- a/anxcloud/resource_virtual_server.go +++ b/anxcloud/resource_virtual_server.go @@ -29,6 +29,13 @@ const ( func resourceVirtualServer() *schema.Resource { return &schema.Resource{ + Description: ` +The virtual_server resource allows you to configure and run virtual machines. + +### Known limitations +- removal of disks not supported +- removal of networks not supported +`, CreateContext: resourceVirtualServerCreate, ReadContext: resourceVirtualServerRead, UpdateContext: resourceVirtualServerUpdate, diff --git a/anxcloud/resource_vlan.go b/anxcloud/resource_vlan.go index f93609cb..27bda244 100644 --- a/anxcloud/resource_vlan.go +++ b/anxcloud/resource_vlan.go @@ -18,6 +18,7 @@ const ( func resourceVLAN() *schema.Resource { return &schema.Resource{ + Description: "The VLAN resource allows you to configure and create VLAN.", CreateContext: resourceVLANCreate, ReadContext: resourceVLANRead, UpdateContext: resourceVLANUpdate, diff --git a/anxcloud/schema_cpu_performance_type.go b/anxcloud/schema_cpu_performance_type.go index 740733a9..f09f0b6f 100644 --- a/anxcloud/schema_cpu_performance_type.go +++ b/anxcloud/schema_cpu_performance_type.go @@ -15,22 +15,22 @@ func schemaCPUPerformanceType() map[string]*schema.Schema { "id": { Type: schema.TypeString, Computed: true, - Description: "Id of the CPU performance type", + Description: "CPU performance type identifier.", }, "prioritization": { Type: schema.TypeString, Computed: true, - Description: "Prio of the CPU performance type", + Description: "CPU performance type prioritization.", }, "limit": { Type: schema.TypeFloat, Computed: true, - Description: "The limit of the CPU performance type", + Description: "CPU performance type limit.", }, "unit": { Type: schema.TypeString, Computed: true, - Description: "The unit for the limit of the CPU performance type", + Description: "CPU performance type limit unit.", }, }, }, diff --git a/anxcloud/schema_disk_types.go b/anxcloud/schema_disk_types.go index 57b974c8..9ae842b5 100644 --- a/anxcloud/schema_disk_types.go +++ b/anxcloud/schema_disk_types.go @@ -20,7 +20,7 @@ func schemaDiskTypes() map[string]*schema.Schema { "id": { Type: schema.TypeString, Computed: true, - Description: "Identifier of the disk type.", + Description: identifierDescription, }, "storage_type": { Type: schema.TypeString, @@ -35,12 +35,12 @@ func schemaDiskTypes() map[string]*schema.Schema { "iops": { Type: schema.TypeInt, Computed: true, - Description: "Disk input/output operations per second.", + Description: "Input/output operations per second.", }, "latency": { Type: schema.TypeInt, Computed: true, - Description: "Disk latency.", + Description: "Latency.", }, }, }, diff --git a/anxcloud/schema_dns_record.go b/anxcloud/schema_dns_record.go index e5d4f2f6..fab10bbd 100644 --- a/anxcloud/schema_dns_record.go +++ b/anxcloud/schema_dns_record.go @@ -7,42 +7,42 @@ func schemaDNSRecord() map[string]*schema.Schema { "identifier": { Type: schema.TypeString, Computed: true, - Description: "The record's identifier", + Description: "DNS Record identifier. Changes on revision change and therefore shouldn't be used as reference.", }, "type": { Type: schema.TypeString, Required: true, - Description: "The DNS record type", + Description: "DNS record type.", }, "rdata": { Type: schema.TypeString, Required: true, - Description: "The DNS record data", + Description: "DNS record data.", }, "name": { Type: schema.TypeString, Required: true, - Description: "The name of the DNS record", + Description: "DNS record name.", }, "zone_name": { Type: schema.TypeString, Required: true, - Description: "The name of the DNS records zone", + Description: "Zone of DNS record.", }, "region": { Type: schema.TypeString, Computed: true, - Description: "The region for geodns aware records", + Description: "DNS record region (for GeoDNS aware records).", }, "ttl": { Type: schema.TypeInt, Optional: true, - Description: "The region specific TTL. If nil the zone TTL will be used", + Description: "Region specific TTL. If not set the zone TTL will be used.", }, "immutable": { Type: schema.TypeBool, Computed: true, - Description: "Specifies wheather or not a record is immutable", + Description: "Specifies whether or not a record is immutable.", }, } } @@ -52,7 +52,7 @@ func schemaDNSRecords() map[string]*schema.Schema { "zone_name": { Type: schema.TypeString, Required: true, - Description: "The parent zone", + Description: "Parent zone", }, "records": { Type: schema.TypeList, diff --git a/anxcloud/schema_dns_zone.go b/anxcloud/schema_dns_zone.go index fc4b46ac..889e52c6 100644 --- a/anxcloud/schema_dns_zone.go +++ b/anxcloud/schema_dns_zone.go @@ -7,53 +7,53 @@ func schemaDNSZone() map[string]*schema.Schema { "name": { Type: schema.TypeString, Required: true, - Description: "The zone name", + Description: "Zone name.", }, "is_master": { Type: schema.TypeBool, Required: true, - Description: "Indicator if the zone is a master zone", + Description: "Indicator if the zone is a master zone.", }, "dns_sec_mode": { Type: schema.TypeString, Required: true, - Description: `DNSSec mode value for master zones. ["managed" or "unvalidated"]`, + Description: "DNSSec mode value for master zones. [`managed` or `unvalidated`]", }, "admin_email": { Type: schema.TypeString, Required: true, - Description: "Admin email address", + Description: "Admin email address.", }, "refresh": { Type: schema.TypeInt, Required: true, - Description: "Refresh value", + Description: "Refresh value.", }, "retry": { Type: schema.TypeInt, Required: true, - Description: "Retry value", + Description: "Retry value.", }, "expire": { Type: schema.TypeInt, Required: true, - Description: "Expiration value", + Description: "Expiration value.", }, "ttl": { Type: schema.TypeInt, Required: true, - Description: "TTL value of a zone", + Description: "TTL value.", }, "master_nameserver": { Type: schema.TypeString, Optional: true, Computed: true, - Description: "Master nameserver", + Description: "Master nameserver.", }, "notify_allowed_ips": { Type: schema.TypeList, Optional: true, - Description: "IP addresses allowed to initiate domain transfer", + Description: "IP addresses allowed to initiate domain transfer.", Elem: &schema.Schema{ Type: schema.TypeString, }, @@ -62,18 +62,18 @@ func schemaDNSZone() map[string]*schema.Schema { Type: schema.TypeList, Optional: true, Computed: true, - Description: "Configured DNS servers", + Description: "Configured DNS servers.", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "server": { Type: schema.TypeString, Required: true, - Description: "DNS server name", + Description: "DNS server name.", }, "alias": { Type: schema.TypeString, Required: true, - Description: "DNS server alias", + Description: "DNS server alias.", }, }, }, @@ -81,17 +81,17 @@ func schemaDNSZone() map[string]*schema.Schema { "is_editable": { Type: schema.TypeBool, Computed: true, - Description: "Indicator if zone is editable", + Description: "Indicator if zone is editable.", }, "validation_level": { Type: schema.TypeInt, Computed: true, - Description: "Current validation level in percent", + Description: "Current validation level in percent.", }, "deployment_level": { Type: schema.TypeInt, Computed: true, - Description: "Current state of deployment progress in percent", + Description: "Current deployment progress in percent.", }, } } @@ -101,7 +101,7 @@ func schemaDNSZones() map[string]*schema.Schema { "zones": { Type: schema.TypeList, Computed: true, - Description: "List of DNS zones of the customer", + Description: "List of DNS zones of the customer.", Elem: &schema.Resource{ Schema: schemaDNSZone(), }, diff --git a/anxcloud/schema_ip_address.go b/anxcloud/schema_ip_address.go index bd0a8a88..bacd2677 100644 --- a/anxcloud/schema_ip_address.go +++ b/anxcloud/schema_ip_address.go @@ -10,18 +10,18 @@ func schemaIPAddresses() map[string]*schema.Schema { Type: schema.TypeInt, Optional: true, Default: 1, - Description: "The page of the list.", + Description: listPageIndexDescription, }, "limit": { Type: schema.TypeInt, Optional: true, Default: 1000, - Description: "The records limit of the list.", + Description: listLimitDescription, }, "search": { Type: schema.TypeString, Optional: true, - Description: "An optional string allowing to search trough entities.", + Description: listQueryDescription, }, "addresses": { Type: schema.TypeList, @@ -32,7 +32,7 @@ func schemaIPAddresses() map[string]*schema.Schema { "identifier": { Type: schema.TypeString, Computed: true, - Description: "Identifier of the address.", + Description: identifierDescription, }, "address": { Type: schema.TypeString, @@ -47,7 +47,7 @@ func schemaIPAddresses() map[string]*schema.Schema { "role": { Type: schema.TypeString, Computed: true, - Description: "Role of the IP address", + Description: "Role of the IP address.", }, }, }, diff --git a/anxcloud/schema_locations.go b/anxcloud/schema_locations.go index 1d38560f..af357cea 100644 --- a/anxcloud/schema_locations.go +++ b/anxcloud/schema_locations.go @@ -10,18 +10,18 @@ func schemaDataSourceLocations() map[string]*schema.Schema { Type: schema.TypeInt, Optional: true, Default: 1, - Description: "The page of the list.", + Description: listPageIndexDescription, }, "limit": { Type: schema.TypeInt, Optional: true, Default: 1000, - Description: "The records limit of the list.", + Description: listLimitDescription, }, "search": { Type: schema.TypeString, Optional: true, - Description: "An optional string allowing to search trough entities.", + Description: listQueryDescription, }, "locations": schemaLocations(), } @@ -32,12 +32,12 @@ func schemaLocation() map[string]*schema.Schema { "identifier": { Type: schema.TypeString, Computed: true, - Description: "Identifier of the location.", + Description: identifierDescription, }, "name": { Type: schema.TypeString, Computed: true, - Description: "Name of the location.", + Description: "Location name.", }, "code": { Type: schema.TypeString, @@ -84,13 +84,13 @@ func schemaDataSourceVSPhereLocations() map[string]*schema.Schema { Type: schema.TypeInt, Optional: true, Default: 1, - Description: "Results page", + Description: listPageIndexDescription, }, "limit": { Type: schema.TypeInt, Optional: true, Default: 50, - Description: "Amount of records per page", + Description: listLimitDescription, }, "location_code": { Type: schema.TypeString, @@ -116,12 +116,12 @@ func schemaVSphereLocations() *schema.Schema { "identifier": { Type: schema.TypeString, Computed: true, - Description: "Identifier of the location.", + Description: identifierDescription, }, "name": { Type: schema.TypeString, Computed: true, - Description: "Name of the location.", + Description: "Location name.", }, "code": { Type: schema.TypeString, diff --git a/anxcloud/schema_network_prefix.go b/anxcloud/schema_network_prefix.go index e671cdd0..4fc17069 100644 --- a/anxcloud/schema_network_prefix.go +++ b/anxcloud/schema_network_prefix.go @@ -10,7 +10,7 @@ func schemaNetworkPrefix() map[string]*schema.Schema { Type: schema.TypeString, Required: true, ForceNew: true, - Description: "Location Identifier.", + Description: identifierDescription, }, "netmask": { Type: schema.TypeInt, @@ -33,7 +33,7 @@ func schemaNetworkPrefix() map[string]*schema.Schema { "vlan_id": { Type: schema.TypeString, Optional: true, - Description: "The corresponding VLAN ID", + Description: "The corresponding VLAN identifier", }, "router_redundancy": { Type: schema.TypeBool, @@ -70,7 +70,7 @@ func schemaNetworkPrefix() map[string]*schema.Schema { Type: schema.TypeBool, Optional: true, Default: true, - Description: "whether the prefix should be created with inactive IPs", + Description: "Whether the prefix should be created with inactive IPs", }, "description_internal": { Type: schema.TypeString, diff --git a/anxcloud/schema_tag.go b/anxcloud/schema_tag.go index e407ae16..0a4e8524 100644 --- a/anxcloud/schema_tag.go +++ b/anxcloud/schema_tag.go @@ -10,38 +10,38 @@ func schemaTags() map[string]*schema.Schema { Type: schema.TypeInt, Optional: true, Default: 1, - Description: "Number of page", + Description: listPageIndexDescription, }, "limit": { Type: schema.TypeInt, Optional: true, Default: 1000, - Description: "Number of tags per page", + Description: listLimitDescription, }, "query": { Type: schema.TypeString, Optional: true, - Description: "Search term", + Description: listQueryDescription, }, "service_identifier": { Type: schema.TypeString, Optional: true, - Description: "The id of the service", + Description: "The identifier of the service.", }, "organization_identifier": { Type: schema.TypeString, Optional: true, - Description: "The id of the organization", + Description: "The identifier of the organization.", }, "order": { Type: schema.TypeString, Optional: true, - Description: "The order of the tags", + Description: "The order of the tags.", }, "sort_ascending": { Type: schema.TypeBool, Optional: true, - Description: "Ascending or descending", + Description: "Ascending or descending.", }, "tags": { Type: schema.TypeList, @@ -52,12 +52,12 @@ func schemaTags() map[string]*schema.Schema { "name": { Type: schema.TypeString, Computed: true, - Description: "Name of the tag.", + Description: "Tag name.", }, "identifier": { Type: schema.TypeString, Computed: true, - Description: "Identifier of the tag.", + Description: "Tag identifier.", }, }, }, @@ -94,7 +94,7 @@ func schemaTag() map[string]*schema.Schema { "customer": { Type: schema.TypeList, Computed: true, - Description: "Customer related info.", + Description: "Customer related information.", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "id": { @@ -105,7 +105,7 @@ func schemaTag() map[string]*schema.Schema { "customer_id": { Type: schema.TypeString, Computed: true, - Description: "Identifier of the customer.", + Description: "Customer identifier.", }, "demo": { Type: schema.TypeBool, @@ -125,7 +125,7 @@ func schemaTag() map[string]*schema.Schema { "reseller": { Type: schema.TypeString, Computed: true, - Description: "Reseller.", + Description: "Reseller name.", }, }, }, @@ -133,18 +133,18 @@ func schemaTag() map[string]*schema.Schema { "service": { Type: schema.TypeList, Computed: true, - Description: "Service related info.", + Description: "Service related information.", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "name": { Type: schema.TypeString, Computed: true, - Description: "Name of the service.", + Description: "Service name.", }, "id": { Type: schema.TypeString, Computed: true, - Description: "Identifier of the service.", + Description: "Service identifier.", }, }, }, diff --git a/anxcloud/schema_template.go b/anxcloud/schema_template.go index c00f54e3..bb2b159b 100644 --- a/anxcloud/schema_template.go +++ b/anxcloud/schema_template.go @@ -15,18 +15,18 @@ func schemaTemplate() map[string]*schema.Schema { Type: schema.TypeString, Optional: true, Default: "templates", - Description: "Template type. Defaults to 'templates'.", + Description: "Template type. Defaults to 'templates' and also supports 'from_scratch'.", }, "templates": { Type: schema.TypeList, Computed: true, - Description: "Available list of templates.", + Description: "List of available templates.", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "id": { Type: schema.TypeString, Computed: true, - Description: "Template identifier.", + Description: identifierDescription, }, "name": { Type: schema.TypeString, @@ -60,7 +60,7 @@ func schemaTemplate() map[string]*schema.Schema { "cpus": { Type: schema.TypeList, Computed: true, - Description: "Hostname parameter.", + Description: "CPUs parameter.", Elem: &schema.Resource{ Schema: schemaANXParamInt(), }, diff --git a/anxcloud/schema_virtual_server.go b/anxcloud/schema_virtual_server.go index b6853daa..f591af5f 100644 --- a/anxcloud/schema_virtual_server.go +++ b/anxcloud/schema_virtual_server.go @@ -39,7 +39,7 @@ func schemaVirtualServer() map[string]*schema.Schema { Type: schema.TypeString, Optional: true, Default: "standard", - Description: "CPU type. Example: (\"best-effort\", \"standard\", \"enterprise\", \"performance\"), defaults to \"standard\".", + Description: "CPU type. Example: (`best-effort`, `standard`, `enterprise`, `performance`), defaults to `standard`.", }, "sockets": { Type: schema.TypeInt, @@ -58,20 +58,20 @@ func schemaVirtualServer() map[string]*schema.Schema { Description: "Virtual Server Disks", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ + "disk_id": { + Type: schema.TypeInt, + Computed: true, + Description: "Device identifier of the disk.", + }, "disk_gb": { Type: schema.TypeInt, Required: true, - Description: "Requested disk capacity in GB.", + Description: "Disk capacity in GB.", }, "disk_type": { Type: schema.TypeString, Optional: true, - Description: "Requested disk category (limits disk performance, e.g. IOPS). Default as defined by data center.", - }, - "disk_id": { - Type: schema.TypeInt, - Computed: true, - Description: "Device ID of the disk on.", + Description: "Disk category (limits disk performance, e.g. IOPS). Default value depends on location.", }, "disk_exact": { Type: schema.TypeFloat, @@ -186,7 +186,7 @@ func schemaVirtualServer() map[string]*schema.Schema { "identifier": { Type: schema.TypeString, Computed: true, - Description: "Virtual server identifier.", + Description: identifierDescription, }, "status": { Type: schema.TypeString, @@ -221,12 +221,12 @@ func schemaVirtualServer() map[string]*schema.Schema { "cpu": { Type: schema.TypeInt, Computed: true, - Description: "Number of cpus.", + Description: "Number of CPUs.", }, "cores": { Type: schema.TypeInt, Computed: true, - Description: "Number of cpu cores.", + Description: "Number of CPU cores.", }, "ram": { Type: schema.TypeInt, @@ -290,7 +290,7 @@ func schemaVirtualServer() map[string]*schema.Schema { "network": { Type: schema.TypeList, Computed: true, - Description: "Network interfaces", + Description: "Network interfaces.", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "id": { @@ -327,7 +327,7 @@ func schemaVirtualServer() map[string]*schema.Schema { "mac_address": { Type: schema.TypeString, Computed: true, - Description: "MAC address of the NIC", + Description: "MAC address of the NIC.", }, }, }, diff --git a/anxcloud/schema_vlan.go b/anxcloud/schema_vlan.go index 7af1a8e2..5ef32157 100644 --- a/anxcloud/schema_vlan.go +++ b/anxcloud/schema_vlan.go @@ -10,18 +10,18 @@ func schemaVLANs() map[string]*schema.Schema { Type: schema.TypeInt, Optional: true, Default: 1, - Description: "The page of the list.", + Description: listPageIndexDescription, }, "limit": { Type: schema.TypeInt, Optional: true, Default: 1000, - Description: "The records limit of the list.", + Description: listLimitDescription, }, "search": { Type: schema.TypeString, Optional: true, - Description: "An optional string allowing to search trough entities.", + Description: listQueryDescription, }, "vlans": { Type: schema.TypeList, @@ -32,7 +32,7 @@ func schemaVLANs() map[string]*schema.Schema { "identifier": { Type: schema.TypeString, Computed: true, - Description: "Identifier of the VLAN.", + Description: identifierDescription, }, "name": { Type: schema.TypeString, diff --git a/anxcloud/strings.go b/anxcloud/strings.go new file mode 100644 index 00000000..7ebe3e41 --- /dev/null +++ b/anxcloud/strings.go @@ -0,0 +1,10 @@ +package anxcloud + +const ( + identifierDescription = "Identifier of the API resource." + + // Lists + listPageIndexDescription = "The page of the list." + listLimitDescription = "The limit of the list." + listQueryDescription = "An optional string allowing to search through entities." +) diff --git a/docs/data-sources/core-locations.md b/docs/data-sources/core-locations.md deleted file mode 100644 index 8d7521fb..00000000 --- a/docs/data-sources/core-locations.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -page_title: "core_locations Data Source - terraform-provider-anxcloud" -subcategory: "" -description: |- - The core locations data source allows you to get all available core locations. ---- - -# Data Source `anxcloud_core_locations` - -The core locations data source allows you to get all available core locations. - -## Example Usage - -```hcl -data "anxcloud_core_locations" "example" { - search = "IE" -} -``` - -## Argument Reference - -- `page` - (Optional) The number of page. Defaults to 1. -- `limit` - (Optional) The records limit. Defaults to 1000. -- `search` - (Optional) The string allowing to search trough entities. - -## Attributes Reference - -The following attributes are exported. - -- `locations` - List of locations. See [Locations](#locations) below for details. - -### Locations - -- `identifier` - Location identifier. -- `name` - Location name. -- `code` - Location code. -- `country` - Location country. -- `city_code` - Location city code. -- `lat` - Location latitude. -- `lon` - Location longitude. diff --git a/docs/data-sources/core_location.md b/docs/data-sources/core_location.md new file mode 100644 index 00000000..623641c0 --- /dev/null +++ b/docs/data-sources/core_location.md @@ -0,0 +1,38 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_core_location Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Retrieves a location identified by it's code as selectable in the Engine. Use this data source to specify the location identifier on other resources and data sources available in this provider. +--- + +# anxcloud_core_location (Data Source) + +Retrieves a location identified by it's `code` as selectable in the Engine. Use this data source to specify the location identifier on other resources and data sources available in this provider. + +## Example Usage + +```terraform +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} +``` + + +## Schema + +### Optional + +- `code` (String) Location code. +- `id` (String) The ID of this resource. + +### Read-Only + +- `city_code` (String) Location city code. +- `country` (String) Location country. +- `identifier` (String) Identifier of the API resource. +- `lat` (String) Location latitude. +- `lon` (String) Location longitude. +- `name` (String) Location name. + + diff --git a/docs/data-sources/core_locations.md b/docs/data-sources/core_locations.md new file mode 100644 index 00000000..8ad8faa4 --- /dev/null +++ b/docs/data-sources/core_locations.md @@ -0,0 +1,48 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_core_locations Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Provides available locations. +--- + +# anxcloud_core_locations (Data Source) + +Provides available locations. + +## Example Usage + +```terraform +data "anxcloud_core_locations" "example" { + search = "IE" +} +``` + + +## Schema + +### Optional + +- `id` (String) The ID of this resource. +- `limit` (Number) The limit of the list. +- `page` (Number) The page of the list. +- `search` (String) An optional string allowing to search through entities. + +### Read-Only + +- `locations` (List of Object) Anexia Cloud Locations. (see [below for nested schema](#nestedatt--locations)) + + +### Nested Schema for `locations` + +Read-Only: + +- `city_code` (String) +- `code` (String) +- `country` (String) +- `identifier` (String) +- `lat` (String) +- `lon` (String) +- `name` (String) + + diff --git a/docs/data-sources/cpu-performance-types.md b/docs/data-sources/cpu-performance-types.md deleted file mode 100644 index 1c2a9ca8..00000000 --- a/docs/data-sources/cpu-performance-types.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -page_title: "anxcloud_cpu_performance_types Data Source - terraform-provider-anxcloud" -subcategory: "" -description: |- - The cpu performance types data source allows you to get all available cpu performance types. ---- - -# Data Source `anxcloud_vsphere_locations` - -The cpu performance types data source allows you to get all available cpu performance types. - -## Example Usage - -```hcl -data "anxcloud_cpu_performance_types" "example" { -} -``` - -## Argument Reference - -There are no arguments. - -## Attributes Reference - -The following attributes are exported. - -- `types` - List of cpu performance types. See [CPU Performance Types](#Types) below for details. - -### Types - -- `id` - Id of the CPU performance type. -- `prioritization` - Prio of the CPU performance type. -- `limit` - The limit of the CPU performance type. -- `unit` - The unit for the limit of the CPU performance type. diff --git a/docs/data-sources/cpu_performance_types.md b/docs/data-sources/cpu_performance_types.md new file mode 100644 index 00000000..dd499f2e --- /dev/null +++ b/docs/data-sources/cpu_performance_types.md @@ -0,0 +1,40 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_cpu_performance_types Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Provides available cpu performance types. This information can be used to provision virtual servers using the anxcloud_virtual_server resource. +--- + +# anxcloud_cpu_performance_types (Data Source) + +Provides available cpu performance types. This information can be used to provision virtual servers using the `anxcloud_virtual_server` resource. + +## Example Usage + +```terraform +data "anxcloud_cpu_performance_types" "example" {} +``` + + +## Schema + +### Optional + +- `id` (String) The ID of this resource. + +### Read-Only + +- `types` (List of Object) List of CPU performance types. (see [below for nested schema](#nestedatt--types)) + + +### Nested Schema for `types` + +Read-Only: + +- `id` (String) +- `limit` (Number) +- `prioritization` (String) +- `unit` (String) + + diff --git a/docs/data-sources/disk-types.md b/docs/data-sources/disk-types.md deleted file mode 100644 index f8864bf5..00000000 --- a/docs/data-sources/disk-types.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -page_title: "disk_type Data Source - terraform-provider-anxcloud" -subcategory: "" -description: |- - The disk types data source allows you to retrieve information about available disk types for specified location. ---- - -# Data Source `anxcloud_disk_types` - -The disk types data source allows you to retrieve information about available disk types for specified location. - -## Example Usage - -```hcl -data "anxcloud_disk_types" "example" { - location_id = "52b5f6b2fd3a4a7eaaedf1a7c019e9ea" -} -``` - -## Argument Reference - -- `location_id` - (Required) Location identifier. - -## Attributes Reference - -The following attributes are exported. - -- `types` - A list of disk types objects. See [Types](#types) below for details. - -### Types - -- `id` - Identifier of the disk type. -- `storage_type` - The disk storage type. -- `bandwidth` - The disk bandwidth. -- `iops` - Disk input/output operations per second. -- `latency` - The disk latency. diff --git a/docs/data-sources/disk_types.md b/docs/data-sources/disk_types.md new file mode 100644 index 00000000..42d2f736 --- /dev/null +++ b/docs/data-sources/disk_types.md @@ -0,0 +1,51 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_disk_types Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Provides available disk types for a specified location. This information can be used to provision virtual servers using the anxcloud_virtual_server resource. +--- + +# anxcloud_disk_types (Data Source) + +Provides available disk types for a specified location. This information can be used to provision virtual servers using the `anxcloud_virtual_server` resource. + +## Example Usage + +```terraform +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +data "anxcloud_disk_types" "example" { + location_id = data.anxcloud_core_location.anx04.id +} +``` + + +## Schema + +### Required + +- `location_id` (String) Location identifier. + +### Optional + +- `id` (String) The ID of this resource. + +### Read-Only + +- `types` (List of Object) List of available disk types. (see [below for nested schema](#nestedatt--types)) + + +### Nested Schema for `types` + +Read-Only: + +- `bandwidth` (Number) +- `id` (String) +- `iops` (Number) +- `latency` (Number) +- `storage_type` (String) + + diff --git a/docs/data-sources/dns_records.md b/docs/data-sources/dns_records.md new file mode 100644 index 00000000..485ada81 --- /dev/null +++ b/docs/data-sources/dns_records.md @@ -0,0 +1,50 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_dns_records Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Provides DNS records for a specified zone. +--- + +# anxcloud_dns_records (Data Source) + +Provides DNS records for a specified zone. + +## Example Usage + +```terraform +data "anxcloud_dns_records" "example" { + zone_name = "example.com" +} +``` + + +## Schema + +### Required + +- `zone_name` (String) Parent zone + +### Optional + +- `id` (String) The ID of this resource. + +### Read-Only + +- `records` (List of Object) List of known records on the zone (see [below for nested schema](#nestedatt--records)) + + +### Nested Schema for `records` + +Read-Only: + +- `identifier` (String) +- `immutable` (Boolean) +- `name` (String) +- `rdata` (String) +- `region` (String) +- `ttl` (Number) +- `type` (String) +- `zone_name` (String) + + diff --git a/docs/data-sources/dns_zones.md b/docs/data-sources/dns_zones.md new file mode 100644 index 00000000..0855bedf --- /dev/null +++ b/docs/data-sources/dns_zones.md @@ -0,0 +1,58 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_dns_zones Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Provides available DNS zones. +--- + +# anxcloud_dns_zones (Data Source) + +Provides available DNS zones. + +## Example Usage + +```terraform +data "anxcloud_dns_zones" "example" {} +``` + + +## Schema + +### Optional + +- `id` (String) The ID of this resource. + +### Read-Only + +- `zones` (List of Object) List of DNS zones of the customer. (see [below for nested schema](#nestedatt--zones)) + + +### Nested Schema for `zones` + +Read-Only: + +- `admin_email` (String) +- `deployment_level` (Number) +- `dns_sec_mode` (String) +- `dns_servers` (List of Object) (see [below for nested schema](#nestedobjatt--zones--dns_servers)) +- `expire` (Number) +- `is_editable` (Boolean) +- `is_master` (Boolean) +- `master_nameserver` (String) +- `name` (String) +- `notify_allowed_ips` (List of String) +- `refresh` (Number) +- `retry` (Number) +- `ttl` (Number) +- `validation_level` (Number) + + +### Nested Schema for `zones.dns_servers` + +Read-Only: + +- `alias` (String) +- `server` (String) + + diff --git a/docs/data-sources/ip-addresses.md b/docs/data-sources/ip-addresses.md deleted file mode 100644 index 73374b6e..00000000 --- a/docs/data-sources/ip-addresses.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -page_title: "ip_addresses Data Source - terraform-provider-anxcloud" -subcategory: "" -description: |- - The IP addresses data source allows you to get all available IP addresses. ---- - -# Data Source `anxcloud_ip_addresses` - -The IP addresses data source allows you to get all available IP addresses. - -## Example Usage - -```hcl -data "anxcloud_ip_addresses" "example" { - search = "10.244." -} -``` - -## Argument Reference - -- `page` - (Optional) The number of page. Defaults to 1. -- `limit` - (Optional) The records limit. Defaults to 1000. -- `search` - (Optional) The string allowing to search trough entities. - -## Attributes Reference - -The following attributes are exported. - -- `addresses` - List of ip addresses. See [Addresses](#addresses) below for details. - -### Addresses - -- `identifier` - The identifier of the address. -- `address` - The IP address. -- `description_customer` - Additional customer description. -- `role` - Role of the IP address. diff --git a/docs/data-sources/ip_addresses.md b/docs/data-sources/ip_addresses.md new file mode 100644 index 00000000..2c191725 --- /dev/null +++ b/docs/data-sources/ip_addresses.md @@ -0,0 +1,45 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_ip_addresses Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Provides available IP addresses. +--- + +# anxcloud_ip_addresses (Data Source) + +Provides available IP addresses. + +## Example Usage + +```terraform +data "anxcloud_ip_addresses" "example" { + search = "10.244." +} +``` + + +## Schema + +### Optional + +- `id` (String) The ID of this resource. +- `limit` (Number) The limit of the list. +- `page` (Number) The page of the list. +- `search` (String) An optional string allowing to search through entities. + +### Read-Only + +- `addresses` (List of Object) List of available addresses. (see [below for nested schema](#nestedatt--addresses)) + + +### Nested Schema for `addresses` + +Read-Only: + +- `address` (String) +- `description_customer` (String) +- `identifier` (String) +- `role` (String) + + diff --git a/docs/data-sources/nic-types.md b/docs/data-sources/nic-types.md deleted file mode 100644 index b51dcab4..00000000 --- a/docs/data-sources/nic-types.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -page_title: "NIC type Data Source - terraform-provider-anxcloud" -subcategory: "" -description: |- - The NIC types data source allows you to get all available network interface card types. ---- - -# Data Source `anxcloud_nic_type` - -The NIC types data source allows you to get all available network interface card types. - -## Example Usage - -```hcl -data "anxcloud_nic_types" "example" {} -``` - -## Attributes Reference - -The following attributes are exported. - -- `nic_types` - List of nic types. diff --git a/docs/data-sources/nic_types.md b/docs/data-sources/nic_types.md new file mode 100644 index 00000000..108b00de --- /dev/null +++ b/docs/data-sources/nic_types.md @@ -0,0 +1,30 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_nic_types Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Provides available network interface card types. This information can be used to provision virtual servers using the anxcloud_virtual_server resource. +--- + +# anxcloud_nic_types (Data Source) + +Provides available network interface card types. This information can be used to provision virtual servers using the `anxcloud_virtual_server` resource. + +## Example Usage + +```terraform +data "anxcloud_nic_types" "example" {} +``` + + +## Schema + +### Optional + +- `id` (String) The ID of this resource. + +### Read-Only + +- `nic_types` (List of String) List of available nic types. + + diff --git a/docs/data-sources/tags.md b/docs/data-sources/tags.md index 165f9b71..35ec09e8 100644 --- a/docs/data-sources/tags.md +++ b/docs/data-sources/tags.md @@ -1,40 +1,48 @@ --- +# generated by https://github.com/hashicorp/terraform-plugin-docs page_title: "anxcloud_tags Data Source - terraform-provider-anxcloud" subcategory: "" description: |- - The tags data source allows you to get all available tags. + Provides available service tags. --- -# Data Source `anxcloud_vsphere_locations` +# anxcloud_tags (Data Source) -The tags data source allows you to get all available tags. +Provides available service tags. ## Example Usage -```hcl +```terraform data "anxcloud_tags" "example" { page = 1 limit = 100 } ``` -## Argument Reference + +## Schema -- `page` - (Optional) The number of page. Defaults to 1. -- `limit` - (Optional) The records limit. Defaults to 1000. -- `query` - (Optional) Filters tages via search term. -- `service_identifier` - (Optional) Filters tags via service identifier. -- `organization_identifier` - (Optional) Filters tags via organization identifier. -- `order` - (Optional) Defines the order of the tags. -- `sort_ascending` - (Optional) Determines if the order of the tags is ascending or descending. +### Optional -## Attributes Reference +- `id` (String) The ID of this resource. +- `limit` (Number) The limit of the list. +- `order` (String) The order of the tags. +- `organization_identifier` (String) The identifier of the organization. +- `page` (Number) The page of the list. +- `query` (String) An optional string allowing to search through entities. +- `service_identifier` (String) The identifier of the service. +- `sort_ascending` (Boolean) Ascending or descending. -The following attributes are exported. +### Read-Only -- `tags` - List of tags. See [Tags](#tags) below for details. +- `tags` (List of Object) List of tags. (see [below for nested schema](#nestedatt--tags)) + + +### Nested Schema for `tags` + +Read-Only: + +- `identifier` (String) +- `name` (String) -### Locations -- `name` - Tag name. -- `identifier` - Tag identifier. diff --git a/docs/data-sources/template.md b/docs/data-sources/template.md index 7a5fa339..1ab5d65e 100644 --- a/docs/data-sources/template.md +++ b/docs/data-sources/template.md @@ -1,52 +1,261 @@ --- -page_title: "template Data Source - terraform-provider-anxcloud" +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_template Data Source - terraform-provider-anxcloud" subcategory: "" description: |- - The template data source allows you to retrieve information about available templates for specified location. + Provides available templates for specified location. This information can be used to provision virtual servers using the anxcloud_virtual_server resource. --- -# Data Source `anxcloud_template` +# anxcloud_template (Data Source) -The template data source allows you to retrieve information about available templates for specified location. +Provides available templates for specified location. This information can be used to provision virtual servers using the `anxcloud_virtual_server` resource. ## Example Usage -```hcl +```terraform +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + data "anxcloud_template" "example" { - location_id = "52b5f6b2fd3a4a7eaaedf1a7c019e9ea" + location_id = data.anxcloud_core_location.anx04.id +} + +// To get a specific OS, filter the `anxcloud_template` data-source: +locals { + debian_11_templates = values({ + for i, template in data.anxcloud_template.example.templates : tostring(i) => template + if substr(template.name, 0, 9) == "Debian 11" + }) } +// now you can use local.debian_11_templates[0].id ``` -## Argument Reference - -- `location_id` - (Required) Location identifier. -- `template_type` - (Optional) Template type, either 'templates' or 'from_scratch'. Defaults to 'templates'. - -## Attributes Reference - -The following attributes are exported. - -- `id` - Template identifier. -- `name` - Operating system name defined in the template. -- `bit` - Operating system word size. -- `build` - Operating system build. -- `params` - Template parameters. See [Params](#params) below for details. - -### Params - -- `hostname` - The requirements for hostname field. -- `cpus` - The requirements for cpus field. -- `memory_mb` - The requirements for memory mb field. -- `disk_gb` - The requirements for disk gb field. -- `dns0` - The requirements for dns0 field. -- `dns1` - The requirements for dns1 field. -- `dns2` - The requirements for dns2 field. -- `dns3` - The requirements for dns3 field. -- `nics` - The requirements for nics field. -- `vlan` - The requirements for vlan field. -- `ips` - The requirements for ips field. -- `boot_delay_seconds` - The requirements for boot delay seconds field. -- `enter_bios_setup` - The requirements for enter bios setup field. -- `password` - The requirements for password field. -- `user` - The requirements for user field. -- `disk_type` - The requirements for disk type field. + +## Schema + +### Required + +- `location_id` (String) Location identifier. + +### Optional + +- `id` (String) The ID of this resource. +- `template_type` (String) Template type. Defaults to 'templates' and also supports 'from_scratch'. + +### Read-Only + +- `templates` (List of Object) List of available templates. (see [below for nested schema](#nestedatt--templates)) + + +### Nested Schema for `templates` + +Read-Only: + +- `bit` (String) +- `build` (String) +- `id` (String) +- `name` (String) +- `params` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params)) + + +### Nested Schema for `templates.params` + +Read-Only: + +- `boot_delay_seconds` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--boot_delay_seconds)) +- `cpus` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--cpus)) +- `disk_gb` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--disk_gb)) +- `disk_type` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--disk_type)) +- `dns0` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--dns0)) +- `dns1` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--dns1)) +- `dns2` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--dns2)) +- `dns3` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--dns3)) +- `enter_bios_setup` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--enter_bios_setup)) +- `hostname` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--hostname)) +- `ips` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--ips)) +- `memory_mb` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--memory_mb)) +- `nics` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--nics)) +- `password` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--password)) +- `user` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--user)) +- `vlan` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--vlan)) + + +### Nested Schema for `templates.params.boot_delay_seconds` + +Read-Only: + +- `default_value` (Number) +- `label` (String) +- `max_value` (Number) +- `min_value` (Number) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.cpus` + +Read-Only: + +- `default_value` (Number) +- `label` (String) +- `max_value` (Number) +- `min_value` (Number) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.disk_gb` + +Read-Only: + +- `default_value` (Number) +- `label` (String) +- `max_value` (Number) +- `min_value` (Number) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.disk_type` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.dns0` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.dns1` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.dns2` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.dns3` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.enter_bios_setup` + +Read-Only: + +- `default_value` (Boolean) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.hostname` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.ips` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.memory_mb` + +Read-Only: + +- `default_value` (Number) +- `label` (String) +- `max_value` (Number) +- `min_value` (Number) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.nics` + +Read-Only: + +- `data` (List of Object) (see [below for nested schema](#nestedobjatt--templates--params--nics--data)) +- `default_value` (Number) +- `label` (String) +- `required` (Boolean) + + +### Nested Schema for `templates.params.nics.required` + +Read-Only: + +- `default` (Boolean) +- `id` (Number) +- `name` (String) + + + + +### Nested Schema for `templates.params.password` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.user` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + + +### Nested Schema for `templates.params.vlan` + +Read-Only: + +- `default_value` (String) +- `label` (String) +- `required` (Boolean) + + diff --git a/docs/data-sources/vlans.md b/docs/data-sources/vlans.md index a917fec0..7c710d74 100644 --- a/docs/data-sources/vlans.md +++ b/docs/data-sources/vlans.md @@ -1,36 +1,44 @@ --- -page_title: "VLANs Data Source - terraform-provider-anxcloud" +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_vlans Data Source - terraform-provider-anxcloud" subcategory: "" description: |- - The VLANs data source allows you to get all available VLANs. + Provides available VLANs. --- -# Data Source `anxcloud_vlans` +# anxcloud_vlans (Data Source) -The VLANs data source allows you to get all available VLANs. +Provides available VLANs. ## Example Usage -```hcl +```terraform data "anxcloud_vlans" "example" { search = "tests" } ``` -## Argument Reference + +## Schema -- `page` - (Optional) The number of page. Defaults to 1. -- `limit` - (Optional) The records limit. Defaults to 1000. -- `search` - (Optional) The string allowing to search trough entities. +### Optional -## Attributes Reference +- `id` (String) The ID of this resource. +- `limit` (Number) The limit of the list. +- `page` (Number) The page of the list. +- `search` (String) An optional string allowing to search through entities. -The following attributes are exported. +### Read-Only -- `vlans` - List of VLANs. See [VLANs](#vlans) below for details. +- `vlans` (List of Object) List of available VLANs. (see [below for nested schema](#nestedatt--vlans)) + + +### Nested Schema for `vlans` + +Read-Only: + +- `description_customer` (String) +- `identifier` (String) +- `name` (String) -### VLANs -- `identifier` - VLAN identifier. -- `name` - Generated VLAN name. -- `description_customer` - Additional customer description. diff --git a/docs/data-sources/vsphere-locations.md b/docs/data-sources/vsphere-locations.md deleted file mode 100644 index 1d8a3925..00000000 --- a/docs/data-sources/vsphere-locations.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -page_title: "vsphere_locations Data Source - terraform-provider-anxcloud" -subcategory: "" -description: |- - The vsphere locations data source allows you to get all available vsphere locations. ---- - -# Data Source `anxcloud_vsphere_locations` - -The vsphere locations data source allows you to get all available vsphere locations. - -## Example Usage - -```hcl -data "anxcloud_vsphere_locations" "example" { - page = 1 - limit = 50 -} -``` - -## Argument Reference - -- `page` - (Optional) The number of page. Defaults to 1. -- `limit` - (Optional) The records limit. Defaults to 50. -- `location_code` - (Optional) Filters locations by country code. -- `organization` - (Optional) Filters locations by customer identifier. - -## Attributes Reference - -The following attributes are exported. - -- `locations` - List of locations. See [Locations](#locations) below for details. - -### Locations - -- `identifier` - Location identifier. -- `name` - Location name. -- `code` - Location code. -- `country` - Location country. -- `country_name` - Location country name. -- `lat` - Location latitude. -- `lon` - Location longitude. diff --git a/docs/data-sources/vsphere_locations.md b/docs/data-sources/vsphere_locations.md new file mode 100644 index 00000000..07fe909a --- /dev/null +++ b/docs/data-sources/vsphere_locations.md @@ -0,0 +1,50 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_vsphere_locations Data Source - terraform-provider-anxcloud" +subcategory: "" +description: |- + Provides available vSphere locations. +--- + +# anxcloud_vsphere_locations (Data Source) + +Provides available vSphere locations. + +## Example Usage + +```terraform +data "anxcloud_vsphere_locations" "example" { + page = 1 + limit = 50 +} +``` + + +## Schema + +### Optional + +- `id` (String) The ID of this resource. +- `limit` (Number) The limit of the list. +- `location_code` (String) Filters locations by country code +- `organization` (String) Customer identifier +- `page` (Number) The page of the list. + +### Read-Only + +- `locations` (List of Object) Anexia Cloud Locations. (see [below for nested schema](#nestedatt--locations)) + + +### Nested Schema for `locations` + +Read-Only: + +- `code` (String) +- `country` (String) +- `country_name` (String) +- `identifier` (String) +- `lat` (String) +- `lon` (String) +- `name` (String) + + diff --git a/docs/guides/authenticating.md b/docs/guides/authenticating.md deleted file mode 100644 index 99cdd6a1..00000000 --- a/docs/guides/authenticating.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -page_title: "Authenticating with Anexia Cloud" ---- - -# Authenticate with Anexia Cloud - -Export `ANEXIA_TOKEN` environment variable to authenticate with Anexia Cloud. - -```shell script -export ANEXIA_TOKEN='' -``` - -An alternative for the environment variable is to pass token directly in the main.tf file. - -```hcl -provider "anxcloud" { - token = "" -} -``` - -The last authentication method is highly **NOT** recommended for production environments. diff --git a/docs/index.md b/docs/index.md index 6f4a1c92..a55ca462 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,30 +1,98 @@ --- -page_title: "Provider: AnxCloud" +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud Provider" subcategory: "" description: |- - Terraform provider for interacting with Anexia Cloud API. + --- -# AnxCloud Provider +# anxcloud Provider --> Visit the [Anexia official website](https://anexia.com/en/) to get more info about Anexia Cloud. -The AnxCloud provider is used to interact with Anexia Cloud API. ## Example Usage -Do not keep your authentication token in HCL for production environments, use Terraform environment variables. +```terraform +terraform { + required_providers { + anxcloud = { + source = "anexia-it/anxcloud" + version = "~> 0.3" + } + } +} + +// Authentication via environment variable is strongly advised: +// export ANEXIA_TOKEN='' -```hcl +// Alternatively, but NOT recommended: provider "anxcloud" { - token = "example-token" + token = "" +} + + +data "anxcloud_core_location" "anx04" { + code = "ANX04" } -``` -## Guides +data "anxcloud_template" "all_templates" { + location_id = data.anxcloud_core_location.anx04.id + template_type = "templates" +} + +locals { + debian_11_templates = values({ + for i, template in data.anxcloud_template.all_templates.templates : tostring(i) => template + if substr(template.name, 0, 9) == "Debian 11" + }) +} + +resource "anxcloud_vlan" "example" { + description_customer = "example-terraform" + location_id = data.anxcloud_core_location.anx04.id + vm_provisioning = true +} + +resource "anxcloud_network_prefix" "example" { + vlan_id = anxcloud_vlan.example.id + location_id = data.anxcloud_core_location.anx04.id + ip_version = 4 + type = 0 + netmask = 29 +} + +resource "anxcloud_virtual_server" "example" { + hostname = "example-terraform" + location_id = data.anxcloud_core_location.anx04.id + template_id = local.debian_11_templates[0].id + template_type = "templates" + + cpus = 4 + memory = 4096 + password = "flatcar#1234$%" + + network { + vlan_id = anxcloud_vlan.example.id + nic_type = "vmxnet3" + } + + # Disk 1 + disk { + disk_gb = 100 + disk_type = "STD1" + } + + dns = ["8.8.8.8"] + + depends_on = [ + anxcloud_network_prefix.example + ] +} +``` -Check the [authenticating guide](guides/authenticating.md) to get knowledge how to run authenticate terraform that interacts with Anexia Cloud. + +## Schema -## Contact +### Optional -e-mail: opensource@anexia-it.com +- `token` (String, Sensitive) Anexia Cloud token. diff --git a/docs/resources/dns_record.md b/docs/resources/dns_record.md new file mode 100644 index 00000000..c8e3948c --- /dev/null +++ b/docs/resources/dns_record.md @@ -0,0 +1,57 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_dns_record Resource - terraform-provider-anxcloud" +subcategory: "" +description: |- + This resource allows you to create DNS records for a specified zone. TXT records might behave funny, we are working on it. +--- + +# anxcloud_dns_record (Resource) + +This resource allows you to create DNS records for a specified zone. TXT records might behave funny, we are working on it. + +## Example Usage + +```terraform +resource "anxcloud_dns_record" "example" { + name = "webmail" + zone_name = "example.com" + type = "A" + rdata = "198.51.100.10" + ttl = 3600 +} +``` + + +## Schema + +### Required + +- `name` (String) DNS record name. +- `rdata` (String) DNS record data. +- `type` (String) DNS record type. +- `zone_name` (String) Zone of DNS record. + +### Optional + +- `id` (String) The ID of this resource. +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) +- `ttl` (Number) Region specific TTL. If not set the zone TTL will be used. + +### Read-Only + +- `identifier` (String) DNS Record identifier. Changes on revision change and therefore shouldn't be used as reference. +- `immutable` (Boolean) Specifies whether or not a record is immutable. +- `region` (String) DNS record region (for GeoDNS aware records). + + +### Nested Schema for `timeouts` + +Optional: + +- `create` (String) +- `delete` (String) +- `read` (String) +- `update` (String) + + diff --git a/docs/resources/dns_zone.md b/docs/resources/dns_zone.md new file mode 100644 index 00000000..9d964967 --- /dev/null +++ b/docs/resources/dns_zone.md @@ -0,0 +1,75 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_dns_zone Resource - terraform-provider-anxcloud" +subcategory: "" +description: |- + This resource allows you to create DNS zones. +--- + +# anxcloud_dns_zone (Resource) + +This resource allows you to create DNS zones. + +## Example Usage + +```terraform +resource "anxcloud_dns_zone" "example" { + name = "example.com" + admin_email = "admin@example.com" + dns_sec_mode = "unvalidated" + is_master = true + refresh = 14400 + retry = 3600 + expire = 604800 + ttl = 3600 +} +``` + + +## Schema + +### Required + +- `admin_email` (String) Admin email address. +- `dns_sec_mode` (String) DNSSec mode value for master zones. [`managed` or `unvalidated`] +- `expire` (Number) Expiration value. +- `is_master` (Boolean) Indicator if the zone is a master zone. +- `name` (String) Zone name. +- `refresh` (Number) Refresh value. +- `retry` (Number) Retry value. +- `ttl` (Number) TTL value. + +### Optional + +- `dns_servers` (Block List) Configured DNS servers. (see [below for nested schema](#nestedblock--dns_servers)) +- `id` (String) The ID of this resource. +- `master_nameserver` (String) Master nameserver. +- `notify_allowed_ips` (List of String) IP addresses allowed to initiate domain transfer. +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) + +### Read-Only + +- `deployment_level` (Number) Current deployment progress in percent. +- `is_editable` (Boolean) Indicator if zone is editable. +- `validation_level` (Number) Current validation level in percent. + + +### Nested Schema for `dns_servers` + +Required: + +- `alias` (String) DNS server alias. +- `server` (String) DNS server name. + + + +### Nested Schema for `timeouts` + +Optional: + +- `create` (String) +- `delete` (String) +- `read` (String) +- `update` (String) + + diff --git a/docs/resources/ip_address.md b/docs/resources/ip_address.md index 990d1e77..86d245cf 100644 --- a/docs/resources/ip_address.md +++ b/docs/resources/ip_address.md @@ -1,40 +1,71 @@ --- -page_title: "ip_address resource - terraform-provider-anxcloud" +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_ip_address Resource - terraform-provider-anxcloud" subcategory: "" description: |- - The IP address resource allows you to create IP address at Anexia Cloud. + This resource allows you to create and configure IP address. --- -# Resource `anxcloud_ip_address` +# anxcloud_ip_address (Resource) --> Visit the [Perform CRUD operations with Providers](https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) Learn tutorial for an interactive getting started experience. - -The IP address resource allows you to configure and create IP address at Anexia Cloud. +This resource allows you to create and configure IP address. ## Example Usage -```hcl +```terraform +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +resource "anxcloud_vlan" "example" { + location_id = data.anxcloud_core_location.anx04.id +} + +resource "anxcloud_network_prefix" "example" { + vlan_id = anxcloud_vlan.example.id + location_id = data.anxcloud_core_location.anx04.id + ip_version = 4 + type = 1 + netmask = 29 +} + resource "anxcloud_ip_address" "example" { - network_prefix_id = "f4c2d6d415a0455d8ceb6bde09e4123e" - address = "185.160.55.162" - description_customer = "example IP address" + network_prefix_id = data.anxcloud_network_prefix.example.id + address = "10.20.30.1" } ``` -## Argument Reference + +## Schema + +### Required + +- `address` (String) IP address that should be created +- `network_prefix_id` (String) Identifier of the related network prefix. + +### Optional + +- `description_customer` (String) Additional customer description. +- `id` (String) The ID of this resource. +- `organization` (String) Customer of yours. Reseller only. +- `role` (String) Role of the IP address +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) + +### Read-Only + +- `description_internal` (String) Internal description. +- `status` (String) Status of the IP address +- `version` (Number) IP version. +- `vlan_id` (String) The associated VLAN identifier. + + +### Nested Schema for `timeouts` -- `network_prefix_id` - (Required) Network prefix identifier. -- `address` - (Required) The IP address that should be created. -- `role` - (Optional) Role of the IP address. Defaults to `Default`. -- `description_customer` - (Optional) Additional customer description. -- `organization` - (Optional) Customer of yours. Reseller only. +Optional: -## Attributes Reference +- `create` (String) +- `delete` (String) +- `read` (String) +- `update` (String) -In addition to all the arguments above, the following attributes are exported: -- `id` - IP address identifier. -- `description_internal` - Internal description of the network prefix. -- `status` - IP address status. -- `version` - IP address verion, either IPv6 or IPv4. -- `vlan_id` - The associated VLAN identifier. diff --git a/docs/resources/network_prefix.md b/docs/resources/network_prefix.md index d47b4128..c32e3815 100644 --- a/docs/resources/network_prefix.md +++ b/docs/resources/network_prefix.md @@ -1,58 +1,85 @@ --- -page_title: "network_prefix resource - terraform-provider-anxcloud" +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_network_prefix Resource - terraform-provider-anxcloud" subcategory: "" description: |- - The network prefix resource allows you to create network prefix at Anexia Cloud. + This resource allows you to configure and create network prefix. --- -# Resource `anxcloud_network_prefix` +# anxcloud_network_prefix (Resource) --> Visit the [Perform CRUD operations with Providers](https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) Learn tutorial for an interactive getting started experience. - -The network prefix resource allows you to configure and create network prefix at Anexia Cloud. +This resource allows you to configure and create network prefix. ## Example Usage -```hcl +```terraform +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +resource "anxcloud_vlan" "example" { + location_id = data.anxcloud_core_location.anx04.id +} + resource "anxcloud_network_prefix" "example" { - vlan_id = "e3c2d6d415a0455d8ceb6bde09e4d08e" - location_id = "52b5f6b2fd3a4a7eaaedf1a7c019e9ea" + vlan_id = anxcloud_vlan.example.id + location_id = data.anxcloud_core_location.anx04.id ip_version = 4 type = 0 netmask = 29 } ``` -## Argument Reference + +## Schema + +### Required + +- `location_id` (String) Identifier of the API resource. +- `netmask` (Number) Netmask size. Example: 29 which would result in x.x.x.x/29. + +### Optional + +- `create_empty` (Boolean) Whether the prefix should be created with inactive IPs +- `description_customer` (String) Additional description. +- `id` (String) The ID of this resource. +- `ip_version` (Number) The Prefix version: 4 = IPv4, 6 = IPv6. +- `organization` (String) Customer of yours. Reseller only. +- `router_redundancy` (Boolean) If router Redundancy shall be enabled. +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) +- `type` (Number) The Prefix type: 0 = Public, 1 = Private. +- `vlan_id` (String) The corresponding VLAN identifier + +### Read-Only + +- `cidr` (String) CIDR of the created prefix. +- `description_internal` (String) Internal description. +- `locations` (List of Object) Anexia Cloud Locations. (see [below for nested schema](#nestedatt--locations)) +- `role_text` (String) Role of the prefix. +- `status` (String) Status of the created prefix. + + +### Nested Schema for `timeouts` + +Optional: -- `location_id` - (Required) Location identifier. -- `netmask` - (Required) Netmask size. Example: 29 which would result in x.x.x.x/29. -- `ip_version` - (Optional) The Prefix version: 4 = IPv4, 6 = IPv6. -- `type` - (Optional) The Prefix type: 0 = Public, 1 = Private. -- `vlan_id` - (Optional) Identifier for the related VLAN. Not applicable when using `new_vlan` option. -- `router_redundancy` - (Optional) If router Redundancy shall be enabled. -- `description_customer` - (Optional) Additional customer description. -- `organization` - (Optional) Customer of yours. Reseller only. -- `create_empty` - (Optional) specify whether the prefix is prefilled with inactive IPs. (Default: `true` no IPs are created in advance) +- `create` (String) +- `delete` (String) +- `read` (String) +- `update` (String) -## Attributes Reference + +### Nested Schema for `locations` -In addition to all the arguments above, the following attributes are exported: +Read-Only: -- `id` - Network prefix identifier. -- `cidr` - CIDR of the created network prefix. -- `description_internal` - Internal description of the network prefix. -- `role_text` - Role of the network prefix in text format. -- `status` - Network prefix status. -- `locations` - Network prefix locations. See [locations](#locations) below for details. +- `city_code` (String) +- `code` (String) +- `country` (String) +- `identifier` (String) +- `lat` (String) +- `lon` (String) +- `name` (String) -### Locations -- `identifier` - Location identifier. -- `name` - Location name. -- `code` - Location code. -- `country` - Location country. -- `city_code` - Location city code. -- `lat` - Location latitude. -- `lon` - Location longitude. diff --git a/docs/resources/tag.md b/docs/resources/tag.md index 330d9c79..4f61f114 100644 --- a/docs/resources/tag.md +++ b/docs/resources/tag.md @@ -1,52 +1,79 @@ --- -page_title: "tag resource - terraform-provider-anxcloud" +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_tag Resource - terraform-provider-anxcloud" subcategory: "" description: |- - The tag resource allows you to create a tag at Anexia Cloud. + The tag resource allows you to configure and create a tag. --- -# Resource `anxcloud_tag` +# anxcloud_tag (Resource) --> Visit the [Perform CRUD operations with Providers](https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) Learn tutorial for an interactive getting started experience. - -The tag resource allows you to configure and create a tag at Anexia Cloud. +The tag resource allows you to configure and create a tag. ## Example Usage -```hcl +```terraform resource "anxcloud_tag" "example" { name = "tag-name" - service_id = "123asi0uj4398j23i23j41231asd" + service_id = "" } ``` -## Argument Reference + +## Schema + +### Required + +- `name` (String) The tag name. +- `service_id` (String) The identifier of the service this tag should be assigned to. + +### Optional + +- `customer_id` (String) The identifier of the customer this tag should be assigned to. Leave empty to assign to the organization of the logged in user. +- `id` (String) The ID of this resource. +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) + +### Read-Only + +- `organisation_assignments` (List of Object) Organisation assignments. (see [below for nested schema](#nestedatt--organisation_assignments)) + + +### Nested Schema for `timeouts` + +Optional: + +- `create` (String) +- `delete` (String) +- `read` (String) + + + +### Nested Schema for `organisation_assignments` + +Read-Only: + +- `customer` (List of Object) (see [below for nested schema](#nestedobjatt--organisation_assignments--customer)) +- `service` (List of Object) (see [below for nested schema](#nestedobjatt--organisation_assignments--service)) -- `name` - (Required) The tag name. -- `service_id` - (Optional) The identifier of the service this tag should be assigned to. -- `customer_id` - (Optional) The identifier of the customer this tag should be assigned to. Leave empty to assign to the organization of the logged in user. + +### Nested Schema for `organisation_assignments.customer` -## Attributes Reference +Read-Only: -In addition to all the arguments above, the following attributes are exported: +- `customer_id` (String) +- `demo` (Boolean) +- `id` (String) +- `name` (String) +- `name_slug` (String) +- `reseller` (String) -- `organisation_assignments` - Organisation assignments. See [organisation assignments](#organisation-assignments) below for details. -### Organisation assignments + +### Nested Schema for `organisation_assignments.service` -- `customer` - Customer related info. See [customer](#customer) below for details. -- `service` - Service related info. See [service](#service) below for details. +Read-Only: -### Customer +- `id` (String) +- `name` (String) -- `id` - Tag identifier. -- `customer_id` - Cusomter identifier. -- `demo` - Whether is demo. -- `name` - Customer name. -- `name_slug` - Customer slug name. -- `reseller` - Reseller name. - -### Service -- `id` - Service identifier. -- `name` - Service name. diff --git a/docs/resources/virtual_server.md b/docs/resources/virtual_server.md index d00d0cc5..444407b1 100644 --- a/docs/resources/virtual_server.md +++ b/docs/resources/virtual_server.md @@ -1,23 +1,50 @@ --- -page_title: "virtual_server resource - terraform-provider-anxcloud" +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_virtual_server Resource - terraform-provider-anxcloud" subcategory: "" description: |- - The Virual Server resource allows you to create virtual machines at Anexia Cloud. + The virtual_server resource allows you to configure and run virtual machines. + Known limitations + removal of disks not supportedremoval of networks not supported --- -# Resource `anxcloud_virtual_server` +# anxcloud_virtual_server (Resource) --> Visit the [Perform CRUD operations with Providers](https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) Learn tutorial for an interactive getting started experience. +The virtual_server resource allows you to configure and run virtual machines. -The virtual_server resource allows you to configure and run Virtual Machine at Anexia Cloud. +### Known limitations +- removal of disks not supported +- removal of networks not supported ## Example Usage -```hcl +```terraform +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +data "anxcloud_template" "all_templates" { + location_id = data.anxcloud_core_location.anx04.id + template_type = "templates" +} + +locals { + debian_11_templates = values({ + for i, template in data.anxcloud_template.all_templates.templates : tostring(i) => template + if substr(template.name, 0, 9) == "Debian 11" + }) +} + +resource "anxcloud_vlan" "example" { + count = 2 + location_id = data.anxcloud_core_location.anx04.id + vm_provisioning = true +} + resource "anxcloud_virtual_server" "example" { hostname = "example-terraform" - location_id = "52b5f6b2fd3a4a7eaaedf1a7c019e9ea" - template_id = "12c28aa7-604d-47e9-83fb-5f1d1f1837b3" + location_id = data.anxcloud_core_location.anx04.id + template_id = local.debian_11_templates[0].id template_type = "templates" cpus = 4 @@ -27,13 +54,13 @@ resource "anxcloud_virtual_server" "example" { # set two network interfaces # NIC 1 network { - vlan_id = "ff70791b398e4ab29786dd34f211694c" + vlan_id = anxcloud_vlan.example[0].id nic_type = "vmxnet3" } # NIC 2 network { - vlan_id = "ff70791b398e4ab29786dd34f211694c" + vlan_id = anxcloud_vlan.example[1].id nic_type = "vmxnet3" } @@ -53,81 +80,128 @@ resource "anxcloud_virtual_server" "example" { } ``` -## Argument Reference - -- `hostname` - (Required) Virtual server hostname. -- `location_id` - (Required) Location identifier. -- `template_id` - (Required) Template identifier. Can be obtained by template data source. -- `template_type` - (Required) Operating system template type. Can be `templates` or `from_scratch`. -- `cpus` - (Required) Amounts of CPUs. -- `cpu_performance_type` - (Optional) CPU type. Example: `best-effort`, `standard`, `enterprise`, `performance`, defaults to `standard`. -- `sockets` - (Optional) Amount of CPU sockets Number of cores have to be a multiple of sockets, as they will be spread evenly across all sockets. Defaults to number of cores, i.e. one socket per CPU core. -- `memory` - (Required) Memory in MB. -- `network` - (Optional) Network interface. See [network](#network) below for details. -- `disk` - (Required) Disk configuration. See [disk](#disk) below for details. -- `dns` - (Optional) DNS configuration. Maximum items 4. Defaults to template settings. -- `password` (Required) Plaintext password. Example: ('!anx123mySuperStrongPassword123anx!', 'go3ju0la1ro3', …). USE IT AT YOUR OWN RISK! (or SSH key instead). -- `ssh_key` - (Required) Public key (instead of password, only for Linux systems). Recommended over providing a plaintext password. -- `script` - (Optional) Script to be executed after provisioning. Consider the corresponding shebang at the beginning of your script. If you want to use PowerShell, the first line should be: #ps1_sysnative. -- `boot_delay` - (Optional) Boot delay in seconds. Example: (0, 1, …). -- `enter_bios_setup` - (Optional) Start the VM into BIOS setup on next boot. Defaults to false. -- `force_restart_if_needed` - (Optional) Certain operations may only be performed in powered off stat. Such as: shrinking memory, shrinking/adding cpu, removing disk, scale a disk beyond 2 GB. Passing this value as true will always execute a power offand reboot request after completing all other operations. Without this flag set to true scaling operations requiring a reboot will fail. Defaults to false. -- `critical_operation_confirmed` - (Optional) Confirms a critical operation (if needed). Potentially dangerous operations (e.g. resulting in data loss) require an additional confirmation. The parameter is used for VM UPDATE requests. Defaults to false. -- `tags` - (Optional) List of tags names that should be attached to Virtual Server (those should be created over `anxcloud_tag` resource). - -### Network - -- `vlan_id` - (Required) VLAN identifier. -- `nic_type` - (Required) Network interface card type. -- `ips` - (Optional) Requested list of IPs and IPs identifiers. IPs are ignored when using template_type 'from_scratch'. Defaults to free IPs from IP pool attached to VLAN. - -### Disk - -- `disk_gb` - (Required) Disk size in GB. -- `disk_type` - (Optional) Storage type for this disk. Default as per datacenter. - -## Attributes Reference - -In addition to all the arguments above, the following attributes are exported: - -- `id` - Virtual Server identifier. -- `info` - Virtual Server details. See [info](#info) below for details. - -### Info - -- `identifier` - Virtual server identifier. -- `status` - Virtual server status. -- `name` - Virtual server name. -- `custom_name` - Virtual server custom name. -- `location_code` - Location code. -- `location_country` - Location country. -- `location_name` - Location name. -- `cpu` - Number of CPUs. -- `cores` - Number of CPU cores. -- `ram` - Memory in MB. -- `disks_number` - Number of the attached disks. -- `disks_info` - Disks info. See [disks info](#disks-info) below for details. -- `network` - Network interfaces. See [network interfaces](#network-interfaces) below for details. -- `guest_os` - Guest operating system. -- `version_tools` - Version tools. -- `guest_tools_status` - Guest tools status. - -### Disks info - -- `disk_id` - Disk identifier. -- `disk_gb` - Size of the disk in GB. -- `disk_type` - Disk type. -- `iops` - Disk input/output operations per second. -- `latency` - Disk latency. -- `storage_type` - Disk storage type. -- `bus_type` - Disk device bus type. -- `bus_type_label` - Disk device bus type label. - -### Network interfaces - -- `id` - Network interface card identifier. -- `ip_v4` - List of IPv4 addresses attached to the interface. -- `ip_v6` - List of IPv6 addresses attached to the interface. -- `nic` - NIC type number. -- `vlan` - VLAN identifier.. -- `mac_address` - MAC address of the NIC. + +## Schema + +### Required + +- `cpus` (Number) Amount of CPUs. +- `disk` (Block List, Min: 1) Virtual Server Disks (see [below for nested schema](#nestedblock--disk)) +- `hostname` (String) Virtual server hostname. +- `location_id` (String) Location identifier. +- `memory` (Number) Memory in MB. +- `template_id` (String) Template identifier. +- `template_type` (String) OS template type. + +### Optional + +- `boot_delay` (Number) Boot delay in seconds. Example: (0, 1, …). +- `cpu_performance_type` (String) CPU type. Example: (`best-effort`, `standard`, `enterprise`, `performance`), defaults to `standard`. +- `critical_operation_confirmed` (Boolean) Confirms a critical operation (if needed). Potentially dangerous operations (e.g. resulting in data loss) require an additional confirmation. The parameter is used for VM UPDATE requests. +- `dns` (List of String) DNS configuration. Maximum items 4. Defaults to template settings. +- `enter_bios_setup` (Boolean) Start the VM into BIOS setup on next boot. +- `force_restart_if_needed` (Boolean) Certain operations may only be performed in powered off stat.Such as: shrinking memory, shrinking/adding cpu, removing disk, scale a disk beyond 2 GB. Passing this value as true will always execute a power offand reboot request after completing all other operations. Without this flag set to true scaling operations requiring a reboot will fail. +- `id` (String) The ID of this resource. +- `network` (Block List) Network interface (see [below for nested schema](#nestedblock--network)) +- `password` (String, Sensitive) Plaintext password. Example: ('!anx123mySuperStrongPassword123anx!', 'go3ju0la1ro3', …). USE IT AT YOUR OWN RISK! (or SSH key instead). +- `script` (String) Script to be executed after provisioning. Should be base64 encoded. Consider the corresponding shebang at the beginning of your script. If you want to use PowerShell, the first line should be: #ps1_sysnative. +- `sockets` (Number) Amount of CPU sockets Number of cores have to be a multiple of sockets, as they will be spread evenly across all sockets. Defaults to number of cores, i.e. one socket per CPU core. +- `ssh_key` (String) Public key (instead of password, only for Linux systems). Recommended over providing a plaintext password. +- `tags` (List of String) List of tags attached to the Virtual Server. +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) + +### Read-Only + +- `info` (List of Object) Virtual server info (see [below for nested schema](#nestedatt--info)) + + +### Nested Schema for `disk` + +Required: + +- `disk_gb` (Number) Disk capacity in GB. + +Optional: + +- `disk_type` (String) Disk category (limits disk performance, e.g. IOPS). Default value depends on location. + +Read-Only: + +- `disk_exact` (Number) Exact floating point disk size. Not configurable; just for comparison. +- `disk_id` (Number) Device identifier of the disk. + + + +### Nested Schema for `network` + +Required: + +- `nic_type` (String) Network interface card type. +- `vlan_id` (String) VLAN identifier. + +Optional: + +- `ips` (List of String) Requested list of IPs and IPs identifiers. IPs are ignored when using template_type 'from_scratch'. Defaults to free IPs from IP pool attached to VLAN. + + + +### Nested Schema for `timeouts` + +Optional: + +- `create` (String) +- `delete` (String) +- `read` (String) +- `update` (String) + + + +### Nested Schema for `info` + +Read-Only: + +- `cores` (Number) +- `cpu` (Number) +- `custom_name` (String) +- `disks_info` (List of Object) (see [below for nested schema](#nestedobjatt--info--disks_info)) +- `disks_number` (Number) +- `guest_os` (String) +- `guest_tools_status` (String) +- `identifier` (String) +- `location_code` (String) +- `location_country` (String) +- `location_name` (String) +- `name` (String) +- `network` (List of Object) (see [below for nested schema](#nestedobjatt--info--network)) +- `ram` (Number) +- `status` (String) +- `version_tools` (String) + + +### Nested Schema for `info.disks_info` + +Read-Only: + +- `bus_type` (String) +- `bus_type_label` (String) +- `disk_gb` (Number) +- `disk_id` (Number) +- `disk_type` (String) +- `iops` (Number) +- `latency` (Number) +- `storage_type` (String) + + + +### Nested Schema for `info.network` + +Read-Only: + +- `id` (Number) +- `ip_v4` (List of String) +- `ip_v6` (List of String) +- `mac_address` (String) +- `nic` (Number) +- `vlan` (String) + + diff --git a/docs/resources/vlan.md b/docs/resources/vlan.md index f6f8fea5..0246cff4 100644 --- a/docs/resources/vlan.md +++ b/docs/resources/vlan.md @@ -1,49 +1,72 @@ --- -page_title: "vlan resource - terraform-provider-anxcloud" +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "anxcloud_vlan Resource - terraform-provider-anxcloud" subcategory: "" description: |- - The VLAN resource allows you to create VLAN at Anexia Cloud. + The VLAN resource allows you to configure and create VLAN. --- -# Resource `anxcloud_vlan` +# anxcloud_vlan (Resource) --> Visit the [Perform CRUD operations with Providers](https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) Learn tutorial for an interactive getting started experience. - -The VLAN resource allows you to configure and create VLAN at Anexia Cloud. +The VLAN resource allows you to configure and create VLAN. ## Example Usage -```hcl +```terraform +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + resource "anxcloud_vlan" "example" { - location_id = "52b5f6b2fd3a4a7eaaedf1a7c019e9ea" - vm_provisioning = true - description_customer = "sample vlan" + location_id = data.anxcloud_core_location.anx04.id + vm_provisioning = true } ``` -## Argument Reference + +## Schema + +### Required + +- `location_id` (String) ANX Location Identifier. + +### Optional + +- `description_customer` (String) Additional customer description. +- `id` (String) The ID of this resource. +- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts)) +- `vm_provisioning` (Boolean) True if VM provisioning shall be enabled. Defaults to false. + +### Read-Only + +- `description_internal` (String) Internal description. +- `locations` (List of Object) Anexia Cloud Locations. (see [below for nested schema](#nestedatt--locations)) +- `name` (String) VLAN name. +- `role_text` (String) Role of the VLAN. +- `status` (String) VLAN status. + + +### Nested Schema for `timeouts` + +Optional: + +- `create` (String) +- `delete` (String) +- `read` (String) +- `update` (String) -- `location_id` - (Required) Location identifier. -- `vm_provisioning` - (Optional) True if VM provisioning shall be enabled. Defaults to false. -- `description_customer` - (Optional) Additional customer description. -## Attributes Reference + +### Nested Schema for `locations` -In addition to all the arguments above, the following attributes are exported: +Read-Only: -- `id` - VLAN identifier. -- `name` - Generated VLAN name. -- `description_internal` - Internal description of the VLAN. -- `role_text` - Role of the VLAN in text format. -- `status` - VLAN status. -- `locations` - VLAN locations. See [locations](#locations) below for details. +- `city_code` (String) +- `code` (String) +- `country` (String) +- `identifier` (String) +- `lat` (String) +- `lon` (String) +- `name` (String) -### Locations -- `identifier` - Location identifier. -- `name` - Location name. -- `code` - Location code. -- `country` - Location country. -- `city_code` - Location city code. -- `lat` - Location latitude. -- `lon` - Location longitude. diff --git a/examples/data-sources/anxcloud_core_location/data-source.tf b/examples/data-sources/anxcloud_core_location/data-source.tf new file mode 100644 index 00000000..966760ab --- /dev/null +++ b/examples/data-sources/anxcloud_core_location/data-source.tf @@ -0,0 +1,3 @@ +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} diff --git a/examples/data-sources/anxcloud_core_locations/data-source.tf b/examples/data-sources/anxcloud_core_locations/data-source.tf new file mode 100644 index 00000000..086a903c --- /dev/null +++ b/examples/data-sources/anxcloud_core_locations/data-source.tf @@ -0,0 +1,3 @@ +data "anxcloud_core_locations" "example" { + search = "IE" +} diff --git a/examples/data-sources/anxcloud_cpu_performance_types/data-source.tf b/examples/data-sources/anxcloud_cpu_performance_types/data-source.tf new file mode 100644 index 00000000..8f845690 --- /dev/null +++ b/examples/data-sources/anxcloud_cpu_performance_types/data-source.tf @@ -0,0 +1 @@ +data "anxcloud_cpu_performance_types" "example" {} \ No newline at end of file diff --git a/examples/data-sources/anxcloud_disk_types/data-source.tf b/examples/data-sources/anxcloud_disk_types/data-source.tf new file mode 100644 index 00000000..f019fb0f --- /dev/null +++ b/examples/data-sources/anxcloud_disk_types/data-source.tf @@ -0,0 +1,7 @@ +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +data "anxcloud_disk_types" "example" { + location_id = data.anxcloud_core_location.anx04.id +} diff --git a/examples/data-sources/anxcloud_dns_records/data-source.tf b/examples/data-sources/anxcloud_dns_records/data-source.tf new file mode 100644 index 00000000..8df32809 --- /dev/null +++ b/examples/data-sources/anxcloud_dns_records/data-source.tf @@ -0,0 +1,3 @@ +data "anxcloud_dns_records" "example" { + zone_name = "example.com" +} diff --git a/examples/data-sources/anxcloud_dns_zones/data-source.tf b/examples/data-sources/anxcloud_dns_zones/data-source.tf new file mode 100644 index 00000000..28dd81b2 --- /dev/null +++ b/examples/data-sources/anxcloud_dns_zones/data-source.tf @@ -0,0 +1 @@ +data "anxcloud_dns_zones" "example" {} \ No newline at end of file diff --git a/examples/data-sources/anxcloud_ip_addresses/data-source.tf b/examples/data-sources/anxcloud_ip_addresses/data-source.tf new file mode 100644 index 00000000..af36d7eb --- /dev/null +++ b/examples/data-sources/anxcloud_ip_addresses/data-source.tf @@ -0,0 +1,3 @@ +data "anxcloud_ip_addresses" "example" { + search = "10.244." +} \ No newline at end of file diff --git a/examples/data-sources/anxcloud_nic_types/data-source.tf b/examples/data-sources/anxcloud_nic_types/data-source.tf new file mode 100644 index 00000000..26e63f07 --- /dev/null +++ b/examples/data-sources/anxcloud_nic_types/data-source.tf @@ -0,0 +1 @@ +data "anxcloud_nic_types" "example" {} \ No newline at end of file diff --git a/examples/data-sources/anxcloud_tags/data-source.tf b/examples/data-sources/anxcloud_tags/data-source.tf new file mode 100644 index 00000000..33ea12b9 --- /dev/null +++ b/examples/data-sources/anxcloud_tags/data-source.tf @@ -0,0 +1,4 @@ +data "anxcloud_tags" "example" { + page = 1 + limit = 100 +} \ No newline at end of file diff --git a/examples/data-sources/anxcloud_template/data-source.tf b/examples/data-sources/anxcloud_template/data-source.tf new file mode 100644 index 00000000..f1465377 --- /dev/null +++ b/examples/data-sources/anxcloud_template/data-source.tf @@ -0,0 +1,16 @@ +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +data "anxcloud_template" "example" { + location_id = data.anxcloud_core_location.anx04.id +} + +// To get a specific OS, filter the `anxcloud_template` data-source: +locals { + debian_11_templates = values({ + for i, template in data.anxcloud_template.example.templates : tostring(i) => template + if substr(template.name, 0, 9) == "Debian 11" + }) +} +// now you can use local.debian_11_templates[0].id diff --git a/examples/data-sources/anxcloud_vlans/data-source.tf b/examples/data-sources/anxcloud_vlans/data-source.tf new file mode 100644 index 00000000..f6690ece --- /dev/null +++ b/examples/data-sources/anxcloud_vlans/data-source.tf @@ -0,0 +1,3 @@ +data "anxcloud_vlans" "example" { + search = "tests" +} \ No newline at end of file diff --git a/examples/data-sources/anxcloud_vsphere_locations/data-source.tf b/examples/data-sources/anxcloud_vsphere_locations/data-source.tf new file mode 100644 index 00000000..62b18c91 --- /dev/null +++ b/examples/data-sources/anxcloud_vsphere_locations/data-source.tf @@ -0,0 +1,4 @@ +data "anxcloud_vsphere_locations" "example" { + page = 1 + limit = 50 +} diff --git a/examples/main.tf b/examples/main.tf index 04daeb99..26694255 100644 --- a/examples/main.tf +++ b/examples/main.tf @@ -11,7 +11,7 @@ provider "anxcloud" {} locals { disk_types = { - for obj in data.anxcloud_disk_types.example.types : obj.id => obj + for obj in data.anxcloud_disk_types.example.types : obj.id => obj } template_id = "12c28aa7-604d-47e9-83fb-5f1d1f1837b3" diff --git a/examples/provider/provider.tf b/examples/provider/provider.tf new file mode 100644 index 00000000..29c72263 --- /dev/null +++ b/examples/provider/provider.tf @@ -0,0 +1,75 @@ +terraform { + required_providers { + anxcloud = { + source = "anexia-it/anxcloud" + version = "~> 0.3" + } + } +} + +// Authentication via environment variable is strongly advised: +// export ANEXIA_TOKEN='' + +// Alternatively, but NOT recommended: +provider "anxcloud" { + token = "" +} + + +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +data "anxcloud_template" "all_templates" { + location_id = data.anxcloud_core_location.anx04.id + template_type = "templates" +} + +locals { + debian_11_templates = values({ + for i, template in data.anxcloud_template.all_templates.templates : tostring(i) => template + if substr(template.name, 0, 9) == "Debian 11" + }) +} + +resource "anxcloud_vlan" "example" { + description_customer = "example-terraform" + location_id = data.anxcloud_core_location.anx04.id + vm_provisioning = true +} + +resource "anxcloud_network_prefix" "example" { + vlan_id = anxcloud_vlan.example.id + location_id = data.anxcloud_core_location.anx04.id + ip_version = 4 + type = 0 + netmask = 29 +} + +resource "anxcloud_virtual_server" "example" { + hostname = "example-terraform" + location_id = data.anxcloud_core_location.anx04.id + template_id = local.debian_11_templates[0].id + template_type = "templates" + + cpus = 4 + memory = 4096 + password = "flatcar#1234$%" + + network { + vlan_id = anxcloud_vlan.example.id + nic_type = "vmxnet3" + } + + # Disk 1 + disk { + disk_gb = 100 + disk_type = "STD1" + } + + dns = ["8.8.8.8"] + + depends_on = [ + anxcloud_network_prefix.example + ] +} diff --git a/examples/resources/anxcloud_dns_record/resource.tf b/examples/resources/anxcloud_dns_record/resource.tf new file mode 100644 index 00000000..e333e556 --- /dev/null +++ b/examples/resources/anxcloud_dns_record/resource.tf @@ -0,0 +1,7 @@ +resource "anxcloud_dns_record" "example" { + name = "webmail" + zone_name = "example.com" + type = "A" + rdata = "198.51.100.10" + ttl = 3600 +} diff --git a/examples/resources/anxcloud_dns_zone/resource.tf b/examples/resources/anxcloud_dns_zone/resource.tf new file mode 100644 index 00000000..76b3cb4b --- /dev/null +++ b/examples/resources/anxcloud_dns_zone/resource.tf @@ -0,0 +1,10 @@ +resource "anxcloud_dns_zone" "example" { + name = "example.com" + admin_email = "admin@example.com" + dns_sec_mode = "unvalidated" + is_master = true + refresh = 14400 + retry = 3600 + expire = 604800 + ttl = 3600 +} diff --git a/examples/resources/anxcloud_ip_address/resource.tf b/examples/resources/anxcloud_ip_address/resource.tf new file mode 100644 index 00000000..a2c33389 --- /dev/null +++ b/examples/resources/anxcloud_ip_address/resource.tf @@ -0,0 +1,20 @@ +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +resource "anxcloud_vlan" "example" { + location_id = data.anxcloud_core_location.anx04.id +} + +resource "anxcloud_network_prefix" "example" { + vlan_id = anxcloud_vlan.example.id + location_id = data.anxcloud_core_location.anx04.id + ip_version = 4 + type = 1 + netmask = 29 +} + +resource "anxcloud_ip_address" "example" { + network_prefix_id = data.anxcloud_network_prefix.example.id + address = "10.20.30.1" +} diff --git a/examples/resources/anxcloud_network_prefix/resource.tf b/examples/resources/anxcloud_network_prefix/resource.tf new file mode 100644 index 00000000..8e7b927c --- /dev/null +++ b/examples/resources/anxcloud_network_prefix/resource.tf @@ -0,0 +1,15 @@ +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +resource "anxcloud_vlan" "example" { + location_id = data.anxcloud_core_location.anx04.id +} + +resource "anxcloud_network_prefix" "example" { + vlan_id = anxcloud_vlan.example.id + location_id = data.anxcloud_core_location.anx04.id + ip_version = 4 + type = 0 + netmask = 29 +} diff --git a/examples/resources/anxcloud_tag/resource.tf b/examples/resources/anxcloud_tag/resource.tf new file mode 100644 index 00000000..1e3452ce --- /dev/null +++ b/examples/resources/anxcloud_tag/resource.tf @@ -0,0 +1,4 @@ +resource "anxcloud_tag" "example" { + name = "tag-name" + service_id = "" +} \ No newline at end of file diff --git a/examples/resources/anxcloud_virtual_server/resource.tf b/examples/resources/anxcloud_virtual_server/resource.tf new file mode 100644 index 00000000..72cd3376 --- /dev/null +++ b/examples/resources/anxcloud_virtual_server/resource.tf @@ -0,0 +1,59 @@ +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +data "anxcloud_template" "all_templates" { + location_id = data.anxcloud_core_location.anx04.id + template_type = "templates" +} + +locals { + debian_11_templates = values({ + for i, template in data.anxcloud_template.all_templates.templates : tostring(i) => template + if substr(template.name, 0, 9) == "Debian 11" + }) +} + +resource "anxcloud_vlan" "example" { + count = 2 + location_id = data.anxcloud_core_location.anx04.id + vm_provisioning = true +} + +resource "anxcloud_virtual_server" "example" { + hostname = "example-terraform" + location_id = data.anxcloud_core_location.anx04.id + template_id = local.debian_11_templates[0].id + template_type = "templates" + + cpus = 4 + memory = 4096 + password = "flatcar#1234$%" + + # set two network interfaces + # NIC 1 + network { + vlan_id = anxcloud_vlan.example[0].id + nic_type = "vmxnet3" + } + + # NIC 2 + network { + vlan_id = anxcloud_vlan.example[1].id + nic_type = "vmxnet3" + } + + # Disk 1 + disk { + disk_gb = 100 + disk_type = "STD1" + } + + # Disk 2 + disk { + disk_gb = 200 + disk_type = "STD1" + } + + dns = ["8.8.8.8"] +} diff --git a/examples/resources/anxcloud_vlan/resource.tf b/examples/resources/anxcloud_vlan/resource.tf new file mode 100644 index 00000000..ba538da7 --- /dev/null +++ b/examples/resources/anxcloud_vlan/resource.tf @@ -0,0 +1,8 @@ +data "anxcloud_core_location" "anx04" { + code = "ANX04" +} + +resource "anxcloud_vlan" "example" { + location_id = data.anxcloud_core_location.anx04.id + vm_provisioning = true +} diff --git a/tools/.gitignore b/tools/.gitignore index d50f6233..44b5f39e 100644 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -1,3 +1,4 @@ /golangci-lint /misspell /terrafmt +/tfplugindocs \ No newline at end of file diff --git a/tools/go.mod b/tools/go.mod index 7c4d70be..7d0393a9 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -5,30 +5,46 @@ go 1.18 require ( github.com/client9/misspell v0.3.4 github.com/golangci/golangci-lint v1.44.0 - github.com/katbyte/terrafmt v0.3.0 + github.com/katbyte/terrafmt v0.4.0 +) + +require ( + github.com/Masterminds/goutils v1.1.0 // indirect + github.com/Masterminds/sprig v2.22.0+incompatible // indirect + github.com/agext/levenshtein v1.2.3 // indirect + github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 // indirect + github.com/apparentlymart/go-textseg/v12 v12.0.0 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/armon/go-radix v1.0.0 // indirect + github.com/bgentry/speakeasy v0.1.0 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/gookit/color v1.5.0 // indirect + github.com/hashicorp/hc-install v0.3.1 // indirect + github.com/hashicorp/hcl/v2 v2.6.0 // indirect + github.com/huandu/xstrings v1.3.2 // indirect + github.com/imdario/mergo v0.3.12 // indirect + github.com/mitchellh/cli v1.1.2 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/go-wordwrap v1.0.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/posener/complete v1.2.3 // indirect + github.com/russross/blackfriday v1.6.0 // indirect + github.com/sergi/go-diff v1.2.0 // indirect + github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect ) require ( 4d63.com/gochecknoglobals v0.1.0 // indirect - cloud.google.com/go v0.100.2 // indirect - cloud.google.com/go/compute v1.0.0 // indirect - cloud.google.com/go/iam v0.1.0 // indirect - cloud.google.com/go/storage v1.18.2 // indirect github.com/Antonboom/errname v0.1.5 // indirect github.com/Antonboom/nilnil v0.1.0 // indirect github.com/BurntSushi/toml v1.0.0 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/OpenPeeDeeP/depguard v1.1.0 // indirect - github.com/agext/levenshtein v1.2.3 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect - github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 // indirect - github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/ashanbrown/forbidigo v1.3.0 // indirect github.com/ashanbrown/makezero v1.1.0 // indirect - github.com/aws/aws-sdk-go v1.42.34 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bkielbasa/cyclop v1.2.0 // indirect github.com/blizzy78/varnamelen v0.5.0 // indirect github.com/bombsimon/wsl/v3 v3.3.0 // indirect @@ -58,7 +74,6 @@ require ( github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gofrs/flock v0.8.1 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect @@ -69,9 +84,7 @@ require ( github.com/golangci/misspell v0.3.5 // indirect github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 // indirect github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect - github.com/google/go-cmp v0.5.6 // indirect - github.com/googleapis/gax-go/v2 v2.1.1 // indirect - github.com/gookit/color v1.5.0 // indirect + github.com/google/go-cmp v0.5.7 // indirect github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/comment v1.4.2 // indirect @@ -80,24 +93,20 @@ require ( github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-getter v1.5.11 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-uuid v1.0.2 // indirect github.com/hashicorp/go-version v1.4.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.11.1 // indirect - github.com/hashicorp/terraform-exec v0.15.0 // indirect + github.com/hashicorp/terraform-exec v0.16.0 // indirect github.com/hashicorp/terraform-json v0.13.0 // indirect + github.com/hashicorp/terraform-plugin-docs v0.7.0 github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/jgautheron/goconst v1.5.1 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/julz/importas v0.1.0 // indirect github.com/kisielk/errcheck v1.6.0 // indirect github.com/kisielk/gotool v1.0.0 // indirect - github.com/klauspost/compress v1.14.1 // indirect github.com/kulti/thelper v0.5.0 // indirect github.com/kunwardeep/paralleltest v1.0.3 // indirect github.com/kyoh86/exportloopref v0.1.8 // indirect @@ -115,8 +124,6 @@ require ( github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517 // indirect github.com/mgechev/revive v1.1.3 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/go-testing-interface v1.14.1 // indirect - github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/moricho/tparallel v0.2.1 // indirect github.com/nakabonne/nestif v0.3.1 // indirect @@ -140,7 +147,6 @@ require ( github.com/ryanrolds/sqlclosecheck v0.3.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.6 // indirect github.com/securego/gosec/v2 v2.9.6 // indirect - github.com/sergi/go-diff v1.2.0 // indirect github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect github.com/sirupsen/logrus v1.8.1 // indirect github.com/sivchari/containedctx v1.0.1 // indirect @@ -163,28 +169,20 @@ require ( github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 // indirect github.com/tomarrell/wrapcheck/v2 v2.4.0 // indirect github.com/tommy-muehle/go-mnd/v2 v2.5.0 // indirect - github.com/ulikunitz/xz v0.5.10 // indirect github.com/ultraware/funlen v0.0.3 // indirect github.com/ultraware/whitespace v0.0.4 // indirect github.com/uudashr/gocognit v1.0.5 // indirect - github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.1.1-0.20210918184747-d757024714a1 // indirect github.com/zclconf/go-cty v1.10.0 // indirect gitlab.com/bosi/decorder v0.2.1 // indirect - go.opencensus.io v0.23.0 // indirect - golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce // indirect + golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd // indirect golang.org/x/mod v0.5.1 // indirect golang.org/x/net v0.0.0-20220114011407-0dd24b26b47d // indirect - golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect golang.org/x/sys v0.0.0-20220111092808-5a964db01320 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/tools v0.1.9-0.20211228192929-ee1ca4ffc4da // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect - google.golang.org/api v0.65.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220112215332-a9c7c0acf9f2 // indirect - google.golang.org/grpc v1.43.0 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/ini.v1 v1.66.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/tools/go.sum b/tools/go.sum index e48108d2..dd58e545 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -33,25 +33,16 @@ cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= -cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.0.0 h1:SJYBzih8Jj9EUm6IDirxKG0I0AGWduhtb6BmdqWarw4= -cloud.google.com/go/compute v1.0.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.6.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= -cloud.google.com/go/iam v0.1.0 h1:W2vbGCrE3Z7J/x3WXLxxGl9LMSB2uhsAA7Ss/6u/qRY= -cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -64,8 +55,6 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.18.2 h1:5NQw6tOn3eMm0oE8vTkfjau18kjL79FlMjy/CHTpmoY= -cloud.google.com/go/storage v1.18.2/go.mod h1:AiIj7BWXyhO5gGVmYJ+S8tbkCx3yb0IMjua8Aw4naVM= contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Antonboom/errname v0.1.5 h1:IM+A/gz0pDhKmlt5KSNTVAvfLMb+65RxavBXpRtCUEg= @@ -79,11 +68,13 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= +github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= @@ -98,7 +89,6 @@ github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -115,7 +105,9 @@ github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQY github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0 h1:bNEQyAGak9tojivJNkoqWErVCQbjdL7GzRt3F8NvfJ0= github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= @@ -124,26 +116,22 @@ github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5 github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/ashanbrown/forbidigo v1.3.0 h1:VkYIwb/xxdireGAdJNZoo24O4lmnEWkactplBlWTShc= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= github.com/ashanbrown/makezero v1.1.0 h1:b2FVq4dTlBpy9f6qxhbyWH+6zy56IETE9cFbBGtDqs8= github.com/ashanbrown/makezero v1.1.0/go.mod h1:oG9Dnez7/ESBqc4EdrdNlryeo7d0KcW1ftXHm7nU/UU= -github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.42.34 h1:fqGAiKmCSRY1rEa4G9VqgkKKbNmLKYq5dKmLtQkvYi8= -github.com/aws/aws-sdk-go v1.42.34/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= -github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= +github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= github.com/blizzy78/varnamelen v0.5.0 h1:v9LpMwxzTqAJC4lsD/jR7zWb8a66trcqhTEH4Mk6Fio= @@ -166,7 +154,6 @@ github.com/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= github.com/chavacava/garif v0.0.0-20210405164556-e8a0a408d6af h1:spmv8nSH9h5oCQf40jt/ufBCt9j0/58u4G+rkeMqXGI= github.com/chavacava/garif v0.0.0-20210405164556-e8a0a408d6af/go.mod h1:Qjyv4H3//PWVzTeCezG2b9IRn6myJxJSr4TD/xo6ojU= -github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -185,14 +172,11 @@ github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= @@ -212,7 +196,6 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/denis-tingajkin/go-header v0.4.2 h1:jEeSF4sdv8/3cT/WY8AgDHUoItNSoEZ7qg9dX7pc218= github.com/denis-tingajkin/go-header v0.4.2/go.mod h1:eLRHAVXzE5atsKAnNRDB90WHCFFnBUn4RN0nRcs1LJA= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= @@ -256,13 +239,10 @@ github.com/go-critic/go-critic v0.6.2 h1:L5SDut1N4ZfsWZY0sH4DCrsHLHnhuuWak2wa165 github.com/go-critic/go-critic v0.6.2/go.mod h1:td1s27kfmLpe5G/DPjlnFI7o1UCzePptwU7Az0V5iCM= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-git-fixtures/v4 v4.0.1/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git/v5 v5.1.0/go.mod h1:ZKfuPUoY1ZqIG4QG9BDBh3G4gLM5zvPuSJAozQrZuyM= github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -278,7 +258,6 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= @@ -311,11 +290,9 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -381,14 +358,13 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -413,26 +389,22 @@ github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4Mgqvf github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1 h1:dp3bWCh+PPO1zjRRiCSczJav13sBvG4UhNyVTa1KqdU= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gookit/color v1.2.6/go.mod h1:AhIE+pS6D4Ql0SQWbBeXPHw7gY0/sjHoA4s/n1KB7xg= github.com/gookit/color v1.5.0 h1:1Opow3+BWDwqor78DcJkJCIwnkviFi+rrOANki9BUFw= github.com/gookit/color v1.5.0/go.mod h1:43aQb+Zerm/BWh2GnrgOQm7ffz7tvQXEKV6BFMl7wAo= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 h1:PVRE9d4AQKmbelZ7emNig1+NT27DUmKZn5qXxfio54U= github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b03hfBX9Ov0ZBDgXXens4rxSxmqFBbhvKv2yVA= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= @@ -451,19 +423,15 @@ github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= @@ -474,10 +442,6 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= -github.com/hashicorp/go-getter v1.5.3/go.mod h1:BrrV/1clo8cCYu6mxvboYg+KutTiFnXjMEgDD8+i7ZI= -github.com/hashicorp/go-getter v1.5.11 h1:wioTuNmaBU3IE9vdFtFMcmZWj0QzLc6DYaP6sNe5onY= -github.com/hashicorp/go-getter v1.5.11/go.mod h1:9i48BP6wpWweI/0/+FBjqLrp9S8XtwUGjiu0QkWHEaY= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -488,56 +452,49 @@ github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= -github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4= github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hc-install v0.3.1 h1:VIjllE6KyAI1A244G8kTaHXy+TL5/XYzvrtFi8po/Yk= +github.com/hashicorp/hc-install v0.3.1/go.mod h1:3LCdWcCDS1gaHC9mhHCGbkYfoY6vdsKohGjugbZdZak= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.6.0 h1:3krZOfGY6SziUXa6H9PJU6TyohHn7I+ARYnhbeNBz+o= github.com/hashicorp/hcl/v2 v2.6.0/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= -github.com/hashicorp/hcl/v2 v2.11.1 h1:yTyWcXcm9XB0TEkyU/JCRU6rYy4K+mgLtzn2wlrJbcc= -github.com/hashicorp/hcl/v2 v2.11.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hashicorp/terraform-exec v0.11.1-0.20201127183041-b76393f0a6fb/go.mod h1:CDlJgH0jMqygOIbTLk2THPHyp47zSaIX6pM09cyeNks= -github.com/hashicorp/terraform-exec v0.15.0 h1:cqjh4d8HYNQrDoEmlSGelHmg2DYDh5yayckvJ5bV18E= -github.com/hashicorp/terraform-exec v0.15.0/go.mod h1:H4IG8ZxanU+NW0ZpDRNsvh9f0ul7C0nHP+rUR/CHs7I= -github.com/hashicorp/terraform-json v0.5.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= +github.com/hashicorp/terraform-exec v0.16.0 h1:XUh9pJPcbfZsuhReVvmRarQTaiiCnYogFCCjOvEYuug= +github.com/hashicorp/terraform-exec v0.16.0/go.mod h1:wB5JHmjxZ/YVNZuv9npAXKmz5pGyxy8PSi0GRR0+YjA= github.com/hashicorp/terraform-json v0.13.0 h1:Li9L+lKD1FO5RVFRM1mMMIBDoUHslOniyEi5CM+FWGY= github.com/hashicorp/terraform-json v0.13.0/go.mod h1:y5OdLBCT+rxbwnpxZs9kGL7R9ExU76+cpdY8zHwoazk= +github.com/hashicorp/terraform-plugin-docs v0.7.0 h1:7XKAOYHAxghe7q4/vx468X43X9GikdQ2dxtmcu2gQv0= +github.com/hashicorp/terraform-plugin-docs v0.7.0/go.mod h1:57CICKfW7/KbW4lPhKOledyT6vu1LeAOzuvWXsVaxUE= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= +github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= @@ -545,7 +502,6 @@ github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NH github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= @@ -554,11 +510,8 @@ github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjz github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= @@ -572,15 +525,13 @@ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= -github.com/katbyte/terrafmt v0.3.0 h1:THGm8aM+Mgu+Z9dBjreSJfXXgB0NOnK+XclDFTEBZgw= -github.com/katbyte/terrafmt v0.3.0/go.mod h1:WSEOeJ6nwhaYrYJAXnp4HEo4CHzYVCRDGNJ+jNPY/tQ= -github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/katbyte/terrafmt v0.4.0 h1:jC6KfIdkjKRHA44SYM3e+SomG8se4p7/AgclV0gfZjg= +github.com/katbyte/terrafmt v0.4.0/go.mod h1:Pp5wvGuCufOBz+pAPjXNNmhUAj8EEpIO9+uxbecx0Iw= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= @@ -590,11 +541,8 @@ github.com/kisielk/errcheck v1.6.0 h1:YTDO4pNy7AUN/021p+JGHycQyYNIyMoenM1YDVK6Rl github.com/kisielk/errcheck v1.6.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.14.1 h1:hLQYb23E8/fO+1u53d02A97a8UnsddcvYzq4ERRU4ds= -github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -614,7 +562,6 @@ github.com/kulti/thelper v0.5.0/go.mod h1:vMu2Cizjy/grP+jmsvOFDx1kYP6+PD1lqg4Yu5 github.com/kunwardeep/paralleltest v1.0.3 h1:UdKIkImEAXjR1chUWLn+PNXqWUGs//7tzMeWuP7NhmI= github.com/kunwardeep/paralleltest v1.0.3/go.mod h1:vLydzomDFpk7yu5UX02RmP0H8QfRPOV/oFhWN85Mjb4= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= @@ -633,7 +580,6 @@ github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= @@ -678,33 +624,27 @@ github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7 github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/cli v1.1.1/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/cli v1.1.2 h1:PvH+lL2B7IQ101xQL63Of8yFS2y+aDlsFcsqNc+u/Kw= github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= -github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= -github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -731,7 +671,6 @@ github.com/nishanths/predeclared v0.2.1 h1:1TXtjmy4f3YCFjTxRd8zcFHOmoUir+gp0ESzj github.com/nishanths/predeclared v0.2.1/go.mod h1:HvkGJcA3naj4lOwnFXFDkFxVtSqQMB9sbB1usJ+xjQE= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= @@ -758,7 +697,6 @@ github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= @@ -777,10 +715,10 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b h1:/BDyEJWLnDUYKGWdlNx/82qSaVu2bUok/EvPUtIGuvw= github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1 h1:NTGy1Ja9pByO+xAeH/qiWnLrKtr3hJPNjaVUwnjpdpA= @@ -790,20 +728,16 @@ github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1: github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0 h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lNawc= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= @@ -827,6 +761,8 @@ github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XF github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= +github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryancurrah/gomodguard v1.2.3 h1:ww2fsjqocGCAFamzvv/b8IsRduuHHeK2MHTcTxZTQX8= @@ -864,8 +800,6 @@ github.com/sivchari/containedctx v1.0.1 h1:fJq44cX+tD+uT5xGrsg25GwiaY61NGybQk9WW github.com/sivchari/containedctx v1.0.1/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= github.com/sivchari/tenv v1.4.7 h1:FdTpgRlTue5eb5nXIYgS/lyVXSjugU8UUVDwhP1NLU8= github.com/sivchari/tenv v1.4.7/go.mod h1:5nF+bITvkebQVanjU6IuMbvIot/7ReNsUV7I5NbprB0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= @@ -874,17 +808,14 @@ github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag07 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.4.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60= github.com/spf13/afero v1.8.0/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.3.0 h1:R7cSvGu+Vv+qX0gW5R/85dx2kmmJT5z5NM8ifdYjdn0= github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -896,8 +827,6 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= @@ -941,12 +870,7 @@ github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoi github.com/tommy-muehle/go-mnd/v2 v2.5.0 h1:iAj0a8e6+dXSL7Liq0aXPox36FiN1dBbjA6lt9fl65s= github.com/tommy-muehle/go-mnd/v2 v2.5.0/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= -github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8= -github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/whitespace v0.0.4 h1:If7Va4cM03mpgrNH9k49/VOicWpGoG70XPBFFODYDsg= @@ -963,7 +887,6 @@ github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= @@ -986,16 +909,12 @@ github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.5.1/go.mod h1:nHzOclRkoj++EU9ZjSrZvRG0BXIWt8c7loYc0qXAFGQ= -github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.9.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.10.0 h1:mp9ZXQeIcN8kAwuqorjH+Q+njbJKjLrvB2yIh4q7U+0= github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= gitlab.com/bosi/decorder v0.2.1 h1:ehqZe8hI4w7O4b1vgsDZw1YU1PE7iJXrQWFMsocbQ1w= gitlab.com/bosi/decorder v0.2.1/go.mod h1:6C/nhLSbF6qZbYD8bRmISBwc6vcWdNsiIBkRvjJFrH0= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= @@ -1012,7 +931,6 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1039,17 +957,19 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce h1:Roh6XWxHFKrPgC/EQhVubSAGQ6Ozk6IdxHSzt1mR0EI= golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd h1:XcWmESyNjXJMLahc3mqVQJcgSTDxFxhETVlfk9uGc38= +golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1095,7 +1015,6 @@ golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1103,7 +1022,6 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1146,7 +1064,6 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220114011407-0dd24b26b47d h1:1n1fc535VhN8SYtD4cDUyNlfpAF2ROMM9+11equK3hs= golang.org/x/net v0.0.0-20220114011407-0dd24b26b47d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1165,7 +1082,6 @@ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1188,7 +1104,6 @@ golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1228,7 +1143,6 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200720211630-cb9d2d5c5666/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1264,7 +1178,6 @@ golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210915083310-ed5796bab164/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211013075003-97ac67df715c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1307,7 +1220,6 @@ golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1324,7 +1236,6 @@ golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1430,13 +1341,10 @@ google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6 google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.65.0 h1:MTW9c+LIBAbwoS1Gb+YV7NjFBt2f7GtAS5hIzh2NjgQ= -google.golang.org/api v0.65.0/go.mod h1:ArYhxgGadlWmqO1IqVujw6Cs8IdD33bTmzKo2Sh+cbg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1444,7 +1352,6 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -1509,24 +1416,17 @@ google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEc google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211016002631-37fc39342514/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220112215332-a9c7c0acf9f2 h1:z+R4M/SuyaRsj1zu3WC+nIQyfSrSIpuDcY01/R3uCtg= -google.golang.org/genproto v0.0.0-20220112215332-a9c7c0acf9f2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= @@ -1555,7 +1455,6 @@ google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1580,13 +1479,10 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/tools/main.go b/tools/main.go index 47ec6b52..e0fabb98 100644 --- a/tools/main.go +++ b/tools/main.go @@ -6,5 +6,6 @@ package main import ( _ "github.com/client9/misspell/cmd/misspell" _ "github.com/golangci/golangci-lint/cmd/golangci-lint" + _ "github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs" _ "github.com/katbyte/terrafmt" )