-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
222 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
--- | ||
# generated by https://github.com/hashicorp/terraform-plugin-docs | ||
page_title: "octopusdeploy_kubernetes_agent_deployment_targets Data Source - terraform-provider-octopusdeploy" | ||
subcategory: "" | ||
description: |- | ||
Provides information about existing kubernetes agent deployment targets. | ||
--- | ||
|
||
# octopusdeploy_kubernetes_agent_deployment_targets (Data Source) | ||
|
||
Provides information about existing kubernetes agent deployment targets. | ||
|
||
## Example Usage | ||
|
||
```terraform | ||
data "octopusdeploy_kubernetes_agent_deployment_targets" "kubernetes_agent_deployment_targets" { | ||
deployment_id = "Deployments-123" | ||
environments = ["Environments-123", "Environments-321"] | ||
health_statuses = ["HasWarnings"] | ||
ids = ["Machines-123", "Machines-321"] | ||
is_disabled = false | ||
name = "Kubernetes Agent" | ||
partial_name = "Kubernetes Age" | ||
roles = ["Roles-123", "Roles-321"] | ||
shell_names = [] | ||
skip = 5 | ||
take = 100 | ||
tenant_tags = ["TagSet1/Tag"] | ||
tenants = ["Tenants-123"] | ||
thumbprint = "96203ED84246201C26A2F4360D7CBC36AC1D232D" | ||
} | ||
``` | ||
|
||
<!-- schema generated by tfplugindocs --> | ||
## Schema | ||
|
||
### Optional | ||
|
||
- `deployment_id` (String) A filter to search by deployment ID. | ||
- `environments` (List of String) A filter to search by a list of environment IDs. | ||
- `health_statuses` (List of String) A filter to search by a list of health statuses of resources. Valid health statuses are `HasWarnings`, `Healthy`, `Unavailable`, `Unhealthy`, or `Unknown`. | ||
- `ids` (List of String) A filter to search by a list of IDs. | ||
- `is_disabled` (Boolean) A filter to search by the disabled status of a resource. | ||
- `name` (String) A filter to search by name. | ||
- `partial_name` (String) A filter to search by the partial match of a name. | ||
- `roles` (List of String) A filter to search by a list of role IDs. | ||
- `shell_names` (List of String) A list of shell names to match in the query and/or search | ||
- `skip` (Number) A filter to specify the number of items to skip in the response. | ||
- `space_id` (String) The space ID associated with this resource. | ||
- `take` (Number) A filter to specify the number of items to take (or return) in the response. | ||
- `tenant_tags` (List of String) A filter to search by a list of tenant tags. | ||
- `tenants` (List of String) A filter to search by a list of tenant IDs. | ||
- `thumbprint` (String) The thumbprint of the deployment target to match in the query and/or search | ||
|
||
### Read-Only | ||
|
||
- `id` (String) An auto-generated identifier that includes the timestamp when this data source was last modified. | ||
- `kubernetes_agent_deployment_targets` (Block List) A list of kubernetes agent deployment targets that match the filter(s). (see [below for nested schema](#nestedblock--kubernetes_agent_deployment_targets)) | ||
|
||
<a id="nestedblock--kubernetes_agent_deployment_targets"></a> | ||
### Nested Schema for `kubernetes_agent_deployment_targets` | ||
|
||
Read-Only: | ||
|
||
- `agent_helm_release_name` (String) Name of the Helm release that the agent belongs to. | ||
- `agent_kubernetes_namespace` (String) Name of the Kubernetes namespace where the agent is installed. | ||
- `agent_tentacle_version` (String) Current Tentacle version of the agent | ||
- `agent_upgrade_status` (String) Current upgrade availability status of the agent. One of 'NoUpgrades', 'UpgradeAvailable', 'UpgradeSuggested', 'UpgradeRequired' | ||
- `agent_version` (String) Current Helm chart version of the agent. | ||
- `communication_mode` (String) The communication mode used by the Kubernetes agent to communicate with Octopus Server. Currently, the only supported value is 'Polling'. | ||
- `default_namespace` (String) Optional default namespace that will be used when using Kubernetes deployment steps, can be overrides within step configurations. | ||
- `environments` (List of String) A list of environment IDs this Kubernetes agent can deploy to. | ||
- `id` (String) The unique ID for this resource. | ||
- `is_disabled` (Boolean) Whether the Kubernetes agent is disabled. If the agent is disabled, it will not be included in any deployments. | ||
- `machine_policy_id` (String) Optional ID of the machine policy that the Kubernetes agent will use. If not provided the default machine policy will be used. | ||
- `name` (String) The name of this resource. | ||
- `roles` (List of String) A list of target roles that are associated to this Kubernetes agent. | ||
- `space_id` (String) The space ID associated with this resource. | ||
- `tenant_tags` (List of String) A list of tenant tags associated with this resource. | ||
- `tenanted_deployment_participation` (String) The tenanted deployment mode of the resource. Valid account types are `Untenanted`, `TenantedOrUntenanted`, or `Tenanted`. | ||
- `tenants` (List of String) A list of tenant IDs associated with this resource. | ||
- `thumbprint` (String) The thumbprint of the Kubernetes agent's certificate used by server to verify the identity of the agent. This is optional as a new installation of the agent will update this value when registers with the server. | ||
- `upgrade_locked` (Boolean) If enabled the Kubernetes agent will not automatically upgrade and will stay on the currently installed version, even if the associated machine policy is configured to automatically upgrade. | ||
- `uri` (String) The URI of the Kubernetes agent's used by the server to queue messages. This is optional as a new installation of the agent will update this value when registers with the server. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 16 additions & 0 deletions
16
examples/data-sources/octopusdeploy_kubernetes_agent_deployment_targets/data-source.tf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
data "octopusdeploy_kubernetes_agent_deployment_targets" "kubernetes_agent_deployment_targets" { | ||
deployment_id = "Deployments-123" | ||
environments = ["Environments-123", "Environments-321"] | ||
health_statuses = ["HasWarnings"] | ||
ids = ["Machines-123", "Machines-321"] | ||
is_disabled = false | ||
name = "Kubernetes Agent" | ||
partial_name = "Kubernetes Age" | ||
roles = ["Roles-123", "Roles-321"] | ||
shell_names = [] | ||
skip = 5 | ||
take = 100 | ||
tenant_tags = ["TagSet1/Tag"] | ||
tenants = ["Tenants-123"] | ||
thumbprint = "96203ED84246201C26A2F4360D7CBC36AC1D232D" | ||
} |
56 changes: 56 additions & 0 deletions
56
octopusdeploy/data_source_kubernetes_agent_deployment_targets.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
package octopusdeploy | ||
|
||
import ( | ||
"context" | ||
"github.com/OctopusDeploy/go-octopusdeploy/v2/pkg/client" | ||
"github.com/OctopusDeploy/go-octopusdeploy/v2/pkg/machines" | ||
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" | ||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" | ||
"time" | ||
) | ||
|
||
func dataSourceKubernetesAgentDeploymentTargets() *schema.Resource { | ||
return &schema.Resource{ | ||
Description: "Provides information about existing kubernetes agent deployment targets.", | ||
ReadContext: dataSourceKubernetesAgentDeploymentTargetsRead, | ||
Schema: getKubernetesAgentDeploymentTargetDataSchema(), | ||
} | ||
} | ||
|
||
func dataSourceKubernetesAgentDeploymentTargetsRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics { | ||
query := machines.MachinesQuery{ | ||
CommunicationStyles: []string{"KubernetesTentacle"}, | ||
DeploymentID: d.Get("deployment_id").(string), | ||
EnvironmentIDs: expandArray(d.Get("environments").([]interface{})), | ||
HealthStatuses: expandArray(d.Get("health_statuses").([]interface{})), | ||
IDs: expandArray(d.Get("ids").([]interface{})), | ||
IsDisabled: d.Get("is_disabled").(bool), | ||
Name: d.Get("name").(string), | ||
PartialName: d.Get("partial_name").(string), | ||
Roles: expandArray(d.Get("roles").([]interface{})), | ||
ShellNames: expandArray(d.Get("shell_names").([]interface{})), | ||
Skip: d.Get("skip").(int), | ||
Take: d.Get("take").(int), | ||
TenantIDs: expandArray(d.Get("tenants").([]interface{})), | ||
TenantTags: expandArray(d.Get("tenant_tags").([]interface{})), | ||
Thumbprint: d.Get("thumbprint").(string), | ||
} | ||
|
||
client := m.(*client.Client) | ||
existingDeploymentTargets, err := machines.Get(client, d.Get("space_id").(string), query) | ||
if err != nil { | ||
return diag.FromErr(err) | ||
} | ||
|
||
flattenedKubernetesAgents := []interface{}{} | ||
for _, deploymentTarget := range existingDeploymentTargets.Items { | ||
flattenedKubernetesAgents = append(flattenedKubernetesAgents, flattenKubernetesAgentDeploymentTarget(deploymentTarget)) | ||
} | ||
|
||
err = d.Set("kubernetes_agent_deployment_targets", flattenedKubernetesAgents) | ||
if err != nil { | ||
return diag.FromErr(err) | ||
} | ||
d.SetId("KubernetesAgentDeploymentTargets " + time.Now().UTC().String()) | ||
return nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters