From 51834a47aa293dc37cf443969cd63c05756a0320 Mon Sep 17 00:00:00 2001 From: tflibsonnet-ci <120686569+tflibsonnet-ci@users.noreply.github.com> Date: Tue, 19 Sep 2023 09:15:51 -0500 Subject: [PATCH] Update dependency hashicorp/terraform-provider-hcp to v0.70.0 (#24) Signed-off-by: tflibsonnet-ci <120686569+tflibsonnet-ci@users.noreply.github.com> Co-authored-by: renovate[bot] --- 0.x/_gen/data/main.libsonnet | 1 + 0.x/_gen/data/packer_image.libsonnet | 6 +- 0.x/_gen/data/vault_plugin.libsonnet | 108 ++++++++++ 0.x/_gen/main.libsonnet | 1 + 0.x/_gen/resources/vault_cluster.libsonnet | 34 +++- 0.x/_gen/resources/vault_plugin.libsonnet | 108 ++++++++++ docs/0.x/README.md | 3 +- docs/0.x/data/index.md | 1 + docs/0.x/data/packer_image.md | 14 +- docs/0.x/data/vault_plugin.md | 220 +++++++++++++++++++++ docs/0.x/vault_cluster.md | 25 +++ docs/0.x/vault_plugin.md | 220 +++++++++++++++++++++ 12 files changed, 726 insertions(+), 15 deletions(-) create mode 100644 0.x/_gen/data/vault_plugin.libsonnet create mode 100644 0.x/_gen/resources/vault_plugin.libsonnet create mode 100644 docs/0.x/data/vault_plugin.md create mode 100644 docs/0.x/vault_plugin.md diff --git a/0.x/_gen/data/main.libsonnet b/0.x/_gen/data/main.libsonnet index ca82db1..498990e 100644 --- a/0.x/_gen/data/main.libsonnet +++ b/0.x/_gen/data/main.libsonnet @@ -18,5 +18,6 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); packer_iteration: (import 'packer_iteration.libsonnet'), packer_run_task: (import 'packer_run_task.libsonnet'), vault_cluster: (import 'vault_cluster.libsonnet'), + vault_plugin: (import 'vault_plugin.libsonnet'), vault_secrets_app: (import 'vault_secrets_app.libsonnet'), } diff --git a/0.x/_gen/data/packer_image.libsonnet b/0.x/_gen/data/packer_image.libsonnet index a6a4754..6bbce5e 100644 --- a/0.x/_gen/data/packer_image.libsonnet +++ b/0.x/_gen/data/packer_image.libsonnet @@ -1,8 +1,8 @@ local tf = (import 'github.com/tf-libsonnet/core/main.libsonnet'); local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); { - '#':: d.pkg(name='packer_image', url='', help='`packer_image` represents the `hcp_packer_image` Terraform data source.\n\nThe Packer Image data source iteration gets the most recent iteration (or build) of an image, given an iteration id or a channel.\n\nThis package contains functions and utilities for setting up the data source using Jsonnet code.\n'), - '#new':: d.fn(help="\n`hcp.data.packer_image.new` injects a new `data_hcp_packer_image` Terraform `data source`\nblock into the root module document.\n\nAdditionally, this inserts a private function into the `_ref` attribute that generates references to attributes of the\nresource. For example, if you added a new instance to the root using:\n\n # arguments omitted for brevity\n hcp.data.packer_image.new('some_id')\n\nYou can get the reference to the `id` field of the created `hcp.data.packer_image` using the reference:\n\n $._ref.data_hcp_packer_image.some_id.get('id')\n\nThis is the same as directly entering `\"${ data_hcp_packer_image.some_id.id }\"` as the value.\n\nNOTE: if you are chaining multiple resources together in a merge operation, you may not be able to use `super`, `self`,\nor `$` to refer to the root object. Instead, make an explicit outer object using `local`.\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block.\n - `bucket_name` (`string`): The slug of the HCP Packer Registry bucket to pull from.\n - `channel` (`string`): The channel that points to the version of the image being retrieved. Either this or `iteration_id` must be specified. Note: will incur a billable request When `null`, the `channel` field will be omitted from the resulting object.\n - `cloud_provider` (`string`): Name of the cloud provider this image is stored-in.\n - `component_type` (`string`): Name of the builder that built this image. Ex: `amazon-ebs.example`. When `null`, the `component_type` field will be omitted from the resulting object.\n - `iteration_id` (`string`): The iteration from which to get the image. Either this or `channel` must be specified. When `null`, the `iteration_id` field will be omitted from the resulting object.\n - `project_id` (`string`): \nThe ID of the HCP project where the HCP Packer Registry image is located.\nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `region` (`string`): Region this image is stored in, if any.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting data source block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.packer_image.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n- A mixin object that injects the new data source into the root Terraform configuration.\n", args=[]), + '#':: d.pkg(name='packer_image', url='', help='`packer_image` represents the `hcp_packer_image` Terraform data source.\n\nThe Packer Image data source gets an image associated with an iteration, either from a specific iteration or from the iteration assigned to a given Channel.\n\nThis package contains functions and utilities for setting up the data source using Jsonnet code.\n'), + '#new':: d.fn(help="\n`hcp.data.packer_image.new` injects a new `data_hcp_packer_image` Terraform `data source`\nblock into the root module document.\n\nAdditionally, this inserts a private function into the `_ref` attribute that generates references to attributes of the\nresource. For example, if you added a new instance to the root using:\n\n # arguments omitted for brevity\n hcp.data.packer_image.new('some_id')\n\nYou can get the reference to the `id` field of the created `hcp.data.packer_image` using the reference:\n\n $._ref.data_hcp_packer_image.some_id.get('id')\n\nThis is the same as directly entering `\"${ data_hcp_packer_image.some_id.id }\"` as the value.\n\nNOTE: if you are chaining multiple resources together in a merge operation, you may not be able to use `super`, `self`,\nor `$` to refer to the root object. Instead, make an explicit outer object using `local`.\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block.\n - `bucket_name` (`string`): The slug of the HCP Packer Registry bucket where this image is located.\n - `channel` (`string`): The channel that points to the version of the image being retrieved. Either this or `iteration_id` must be specified. Note: will incur a billable request When `null`, the `channel` field will be omitted from the resulting object.\n - `cloud_provider` (`string`): Name of the cloud provider where this image is stored.\n - `component_type` (`string`): Name of the builder that built this image. Ex: `amazon-ebs.example`. When `null`, the `component_type` field will be omitted from the resulting object.\n - `iteration_id` (`string`): The iteration from which to get the image. Either this or `channel` must be specified. When `null`, the `iteration_id` field will be omitted from the resulting object.\n - `project_id` (`string`): \nThe ID of the HCP project where the HCP Packer Registry image is located.\nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `region` (`string`): The Region where this image is stored, if any.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting data source block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.packer_image.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n- A mixin object that injects the new data source into the root Terraform configuration.\n", args=[]), new( dataSrcLabel, bucket_name, @@ -29,7 +29,7 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); ), _meta=_meta ), - '#newAttrs':: d.fn(help='\n`hcp.data.packer_image.newAttrs` constructs a new object with attributes and blocks configured for the `packer_image`\nTerraform data source.\n\nUnlike [hcp.data.packer_image.new](#fn-new), this function will not inject the `data source`\nblock into the root Terraform document. Instead, this must be passed in as the `attrs` argument for the\n[tf.withData](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withdata) function to build a complete block.\n\nThis is most useful when you need to preprocess the attributes with functions, conditional, or looping logic prior to\ninjecting into a complete block.\n\n**Args**:\n - `bucket_name` (`string`): The slug of the HCP Packer Registry bucket to pull from.\n - `channel` (`string`): The channel that points to the version of the image being retrieved. Either this or `iteration_id` must be specified. Note: will incur a billable request When `null`, the `channel` field will be omitted from the resulting object.\n - `cloud_provider` (`string`): Name of the cloud provider this image is stored-in.\n - `component_type` (`string`): Name of the builder that built this image. Ex: `amazon-ebs.example`. When `null`, the `component_type` field will be omitted from the resulting object.\n - `iteration_id` (`string`): The iteration from which to get the image. Either this or `channel` must be specified. When `null`, the `iteration_id` field will be omitted from the resulting object.\n - `project_id` (`string`): \nThe ID of the HCP project where the HCP Packer Registry image is located.\nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `region` (`string`): Region this image is stored in, if any.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.packer_image.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n - An attribute object that can be used with [tf.withData](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withdata) to construct a new `packer_image` data source into the root Terraform configuration.\n', args=[]), + '#newAttrs':: d.fn(help='\n`hcp.data.packer_image.newAttrs` constructs a new object with attributes and blocks configured for the `packer_image`\nTerraform data source.\n\nUnlike [hcp.data.packer_image.new](#fn-new), this function will not inject the `data source`\nblock into the root Terraform document. Instead, this must be passed in as the `attrs` argument for the\n[tf.withData](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withdata) function to build a complete block.\n\nThis is most useful when you need to preprocess the attributes with functions, conditional, or looping logic prior to\ninjecting into a complete block.\n\n**Args**:\n - `bucket_name` (`string`): The slug of the HCP Packer Registry bucket where this image is located.\n - `channel` (`string`): The channel that points to the version of the image being retrieved. Either this or `iteration_id` must be specified. Note: will incur a billable request When `null`, the `channel` field will be omitted from the resulting object.\n - `cloud_provider` (`string`): Name of the cloud provider where this image is stored.\n - `component_type` (`string`): Name of the builder that built this image. Ex: `amazon-ebs.example`. When `null`, the `component_type` field will be omitted from the resulting object.\n - `iteration_id` (`string`): The iteration from which to get the image. Either this or `channel` must be specified. When `null`, the `iteration_id` field will be omitted from the resulting object.\n - `project_id` (`string`): \nThe ID of the HCP project where the HCP Packer Registry image is located.\nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `region` (`string`): The Region where this image is stored, if any.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.packer_image.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n - An attribute object that can be used with [tf.withData](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withdata) to construct a new `packer_image` data source into the root Terraform configuration.\n', args=[]), newAttrs( bucket_name, cloud_provider, diff --git a/0.x/_gen/data/vault_plugin.libsonnet b/0.x/_gen/data/vault_plugin.libsonnet new file mode 100644 index 0000000..957d5af --- /dev/null +++ b/0.x/_gen/data/vault_plugin.libsonnet @@ -0,0 +1,108 @@ +local tf = (import 'github.com/tf-libsonnet/core/main.libsonnet'); +local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); +{ + '#':: d.pkg(name='vault_plugin', url='', help='`vault_plugin` represents the `hcp_vault_plugin` Terraform data source.\n\nThe Vault plugin data source provides information about an existing HCP Vault plugin\n\nThis package contains functions and utilities for setting up the data source using Jsonnet code.\n'), + '#new':: d.fn(help="\n`hcp.data.vault_plugin.new` injects a new `data_hcp_vault_plugin` Terraform `data source`\nblock into the root module document.\n\nAdditionally, this inserts a private function into the `_ref` attribute that generates references to attributes of the\nresource. For example, if you added a new instance to the root using:\n\n # arguments omitted for brevity\n hcp.data.vault_plugin.new('some_id')\n\nYou can get the reference to the `id` field of the created `hcp.data.vault_plugin` using the reference:\n\n $._ref.data_hcp_vault_plugin.some_id.get('id')\n\nThis is the same as directly entering `\"${ data_hcp_vault_plugin.some_id.id }\"` as the value.\n\nNOTE: if you are chaining multiple resources together in a merge operation, you may not be able to use `super`, `self`,\nor `$` to refer to the root object. Instead, make an explicit outer object using `local`.\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block.\n - `cluster_id` (`string`): The ID of the HCP Vault cluster.\n - `plugin_name` (`string`): The name of the plugin - Valid options for plugin name - \u0026#39;venafi-pki-backend\u0026#39;\n - `plugin_type` (`string`): The type of the plugin - Valid options for plugin type - \u0026#39;SECRET\u0026#39;, \u0026#39;AUTH\u0026#39;, \u0026#39;DATABASE\u0026#39;\n - `project_id` (`string`): \nThe ID of the HCP project where the HCP Vault cluster is located. \nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting data source block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.vault_plugin.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n- A mixin object that injects the new data source into the root Terraform configuration.\n", args=[]), + new( + dataSrcLabel, + cluster_id, + plugin_name, + plugin_type, + project_id=null, + timeouts=null, + _meta={} + ):: tf.withData( + type='hcp_vault_plugin', + label=dataSrcLabel, + attrs=self.newAttrs( + cluster_id=cluster_id, + plugin_name=plugin_name, + plugin_type=plugin_type, + project_id=project_id, + timeouts=timeouts + ), + _meta=_meta + ), + '#newAttrs':: d.fn(help='\n`hcp.data.vault_plugin.newAttrs` constructs a new object with attributes and blocks configured for the `vault_plugin`\nTerraform data source.\n\nUnlike [hcp.data.vault_plugin.new](#fn-new), this function will not inject the `data source`\nblock into the root Terraform document. Instead, this must be passed in as the `attrs` argument for the\n[tf.withData](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withdata) function to build a complete block.\n\nThis is most useful when you need to preprocess the attributes with functions, conditional, or looping logic prior to\ninjecting into a complete block.\n\n**Args**:\n - `cluster_id` (`string`): The ID of the HCP Vault cluster.\n - `plugin_name` (`string`): The name of the plugin - Valid options for plugin name - 'venafi-pki-backend'\n - `plugin_type` (`string`): The type of the plugin - Valid options for plugin type - 'SECRET', 'AUTH', 'DATABASE'\n - `project_id` (`string`): \nThe ID of the HCP project where the HCP Vault cluster is located. \nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.vault_plugin.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n - An attribute object that can be used with [tf.withData](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withdata) to construct a new `vault_plugin` data source into the root Terraform configuration.\n', args=[]), + newAttrs( + cluster_id, + plugin_name, + plugin_type, + project_id=null, + timeouts=null + ):: std.prune(a={ + cluster_id: cluster_id, + plugin_name: plugin_name, + plugin_type: plugin_type, + project_id: project_id, + timeouts: timeouts, + }), + timeouts:: { + '#new':: d.fn(help='\n`hcp.vault_plugin.timeouts.new` constructs a new object with attributes and blocks configured for the `timeouts`\nTerraform sub block.\n\n\n\n**Args**:\n - `default` (`string`): Set the `default` field on the resulting object. When `null`, the `default` field will be omitted from the resulting object.\n\n**Returns**:\n - An attribute object that represents the `timeouts` sub block.\n', args=[]), + new( + default=null + ):: std.prune(a={ + default: default, + }), + }, + '#withClusterId':: d.fn(help='`hcp.string.withClusterId` constructs a mixin object that can be merged into the `string`\nTerraform data source block to set or update the cluster_id field.\n\n\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `cluster_id` field.\n', args=[]), + withClusterId(dataSrcLabel, value): { + data+: { + hcp_vault_plugin+: { + [dataSrcLabel]+: { + cluster_id: value, + }, + }, + }, + }, + '#withPluginName':: d.fn(help='`hcp.string.withPluginName` constructs a mixin object that can be merged into the `string`\nTerraform data source block to set or update the plugin_name field.\n\n\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `plugin_name` field.\n', args=[]), + withPluginName(dataSrcLabel, value): { + data+: { + hcp_vault_plugin+: { + [dataSrcLabel]+: { + plugin_name: value, + }, + }, + }, + }, + '#withPluginType':: d.fn(help='`hcp.string.withPluginType` constructs a mixin object that can be merged into the `string`\nTerraform data source block to set or update the plugin_type field.\n\n\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `plugin_type` field.\n', args=[]), + withPluginType(dataSrcLabel, value): { + data+: { + hcp_vault_plugin+: { + [dataSrcLabel]+: { + plugin_type: value, + }, + }, + }, + }, + '#withProjectId':: d.fn(help='`hcp.string.withProjectId` constructs a mixin object that can be merged into the `string`\nTerraform data source block to set or update the project_id field.\n\n\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `project_id` field.\n', args=[]), + withProjectId(dataSrcLabel, value): { + data+: { + hcp_vault_plugin+: { + [dataSrcLabel]+: { + project_id: value, + }, + }, + }, + }, + '#withTimeouts':: d.fn(help='`hcp.obj.withTimeouts` constructs a mixin object that can be merged into the `obj`\nTerraform data source block to set or update the timeouts field.\n\nThis function will replace the map with the passed in `value`. If you wish to instead merge the\npassed in value to the existing map, use the [hcp.obj.withTimeoutsMixin](TODO) function.\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block to update.\n - `value` (`obj`): The value to set for the `timeouts` field.\n', args=[]), + withTimeouts(dataSrcLabel, value): { + data+: { + hcp_vault_plugin+: { + [dataSrcLabel]+: { + timeouts: value, + }, + }, + }, + }, + '#withTimeoutsMixin':: d.fn(help='`hcp.obj.withTimeoutsMixin` constructs a mixin object that can be merged into the `obj`\nTerraform data source block to set or update the timeouts field.\n\nThis function will merge the passed in value to the existing map. If you wish\nto instead replace the entire map with the passed in `value`, use the [hcp.obj.withTimeouts](TODO)\nfunction.\n\n\n**Args**:\n - `dataSrcLabel` (`string`): The name label of the block to update.\n - `value` (`obj`): The value to set for the `timeouts` field.\n', args=[]), + withTimeoutsMixin(dataSrcLabel, value): { + data+: { + hcp_vault_plugin+: { + [dataSrcLabel]+: { + timeouts+: value, + }, + }, + }, + }, +} diff --git a/0.x/_gen/main.libsonnet b/0.x/_gen/main.libsonnet index b4ea4b6..18a5a55 100644 --- a/0.x/_gen/main.libsonnet +++ b/0.x/_gen/main.libsonnet @@ -17,5 +17,6 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); packer_run_task: (import 'resources/packer_run_task.libsonnet'), vault_cluster: (import 'resources/vault_cluster.libsonnet'), vault_cluster_admin_token: (import 'resources/vault_cluster_admin_token.libsonnet'), + vault_plugin: (import 'resources/vault_plugin.libsonnet'), data: (import 'data/main.libsonnet'), } diff --git a/0.x/_gen/resources/vault_cluster.libsonnet b/0.x/_gen/resources/vault_cluster.libsonnet index 9e0d71f..114c0f1 100644 --- a/0.x/_gen/resources/vault_cluster.libsonnet +++ b/0.x/_gen/resources/vault_cluster.libsonnet @@ -3,8 +3,11 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); { '#':: d.pkg(name='vault_cluster', url='', help='`vault_cluster` represents the `hcp_vault_cluster` Terraform resource.\n\nThe Vault cluster resource allows you to manage an HCP Vault cluster.\n\nThis package contains functions and utilities for setting up the resource using Jsonnet code.\n'), audit_log_config:: { - '#new':: d.fn(help='\n`hcp.vault_cluster.audit_log_config.new` constructs a new object with attributes and blocks configured for the `audit_log_config`\nTerraform sub block.\n\n\n\n**Args**:\n - `datadog_api_key` (`string`): Datadog api key for streaming audit logs When `null`, the `datadog_api_key` field will be omitted from the resulting object.\n - `datadog_region` (`string`): Datadog region for streaming audit logs When `null`, the `datadog_region` field will be omitted from the resulting object.\n - `grafana_endpoint` (`string`): Grafana endpoint for streaming audit logs When `null`, the `grafana_endpoint` field will be omitted from the resulting object.\n - `grafana_password` (`string`): Grafana password for streaming audit logs When `null`, the `grafana_password` field will be omitted from the resulting object.\n - `grafana_user` (`string`): Grafana user for streaming audit logs When `null`, the `grafana_user` field will be omitted from the resulting object.\n - `splunk_hecendpoint` (`string`): Splunk endpoint for streaming audit logs When `null`, the `splunk_hecendpoint` field will be omitted from the resulting object.\n - `splunk_token` (`string`): Splunk token for streaming audit logs When `null`, the `splunk_token` field will be omitted from the resulting object.\n\n**Returns**:\n - An attribute object that represents the `audit_log_config` sub block.\n', args=[]), + '#new':: d.fn(help='\n`hcp.vault_cluster.audit_log_config.new` constructs a new object with attributes and blocks configured for the `audit_log_config`\nTerraform sub block.\n\n\n\n**Args**:\n - `cloudwatch_access_key_id` (`string`): CloudWatch access key ID for streaming audit logs When `null`, the `cloudwatch_access_key_id` field will be omitted from the resulting object.\n - `cloudwatch_region` (`string`): CloudWatch region for streaming audit logs When `null`, the `cloudwatch_region` field will be omitted from the resulting object.\n - `cloudwatch_secret_access_key` (`string`): CloudWatch secret access key for streaming audit logs When `null`, the `cloudwatch_secret_access_key` field will be omitted from the resulting object.\n - `datadog_api_key` (`string`): Datadog api key for streaming audit logs When `null`, the `datadog_api_key` field will be omitted from the resulting object.\n - `datadog_region` (`string`): Datadog region for streaming audit logs When `null`, the `datadog_region` field will be omitted from the resulting object.\n - `grafana_endpoint` (`string`): Grafana endpoint for streaming audit logs When `null`, the `grafana_endpoint` field will be omitted from the resulting object.\n - `grafana_password` (`string`): Grafana password for streaming audit logs When `null`, the `grafana_password` field will be omitted from the resulting object.\n - `grafana_user` (`string`): Grafana user for streaming audit logs When `null`, the `grafana_user` field will be omitted from the resulting object.\n - `splunk_hecendpoint` (`string`): Splunk endpoint for streaming audit logs When `null`, the `splunk_hecendpoint` field will be omitted from the resulting object.\n - `splunk_token` (`string`): Splunk token for streaming audit logs When `null`, the `splunk_token` field will be omitted from the resulting object.\n\n**Returns**:\n - An attribute object that represents the `audit_log_config` sub block.\n', args=[]), new( + cloudwatch_access_key_id=null, + cloudwatch_region=null, + cloudwatch_secret_access_key=null, datadog_api_key=null, datadog_region=null, grafana_endpoint=null, @@ -13,6 +16,9 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); splunk_hecendpoint=null, splunk_token=null ):: std.prune(a={ + cloudwatch_access_key_id: cloudwatch_access_key_id, + cloudwatch_region: cloudwatch_region, + cloudwatch_secret_access_key: cloudwatch_secret_access_key, datadog_api_key: datadog_api_key, datadog_region: datadog_region, grafana_endpoint: grafana_endpoint, @@ -35,8 +41,11 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); }), }, metrics_config:: { - '#new':: d.fn(help='\n`hcp.vault_cluster.metrics_config.new` constructs a new object with attributes and blocks configured for the `metrics_config`\nTerraform sub block.\n\n\n\n**Args**:\n - `datadog_api_key` (`string`): Datadog api key for streaming metrics When `null`, the `datadog_api_key` field will be omitted from the resulting object.\n - `datadog_region` (`string`): Datadog region for streaming metrics When `null`, the `datadog_region` field will be omitted from the resulting object.\n - `grafana_endpoint` (`string`): Grafana endpoint for streaming metrics When `null`, the `grafana_endpoint` field will be omitted from the resulting object.\n - `grafana_password` (`string`): Grafana password for streaming metrics When `null`, the `grafana_password` field will be omitted from the resulting object.\n - `grafana_user` (`string`): Grafana user for streaming metrics When `null`, the `grafana_user` field will be omitted from the resulting object.\n - `splunk_hecendpoint` (`string`): Splunk endpoint for streaming metrics When `null`, the `splunk_hecendpoint` field will be omitted from the resulting object.\n - `splunk_token` (`string`): Splunk token for streaming metrics When `null`, the `splunk_token` field will be omitted from the resulting object.\n\n**Returns**:\n - An attribute object that represents the `metrics_config` sub block.\n', args=[]), + '#new':: d.fn(help='\n`hcp.vault_cluster.metrics_config.new` constructs a new object with attributes and blocks configured for the `metrics_config`\nTerraform sub block.\n\n\n\n**Args**:\n - `cloudwatch_access_key_id` (`string`): CloudWatch access key ID for streaming metrics When `null`, the `cloudwatch_access_key_id` field will be omitted from the resulting object.\n - `cloudwatch_region` (`string`): CloudWatch region for streaming metrics When `null`, the `cloudwatch_region` field will be omitted from the resulting object.\n - `cloudwatch_secret_access_key` (`string`): CloudWatch secret access key for streaming metrics When `null`, the `cloudwatch_secret_access_key` field will be omitted from the resulting object.\n - `datadog_api_key` (`string`): Datadog api key for streaming metrics When `null`, the `datadog_api_key` field will be omitted from the resulting object.\n - `datadog_region` (`string`): Datadog region for streaming metrics When `null`, the `datadog_region` field will be omitted from the resulting object.\n - `grafana_endpoint` (`string`): Grafana endpoint for streaming metrics When `null`, the `grafana_endpoint` field will be omitted from the resulting object.\n - `grafana_password` (`string`): Grafana password for streaming metrics When `null`, the `grafana_password` field will be omitted from the resulting object.\n - `grafana_user` (`string`): Grafana user for streaming metrics When `null`, the `grafana_user` field will be omitted from the resulting object.\n - `splunk_hecendpoint` (`string`): Splunk endpoint for streaming metrics When `null`, the `splunk_hecendpoint` field will be omitted from the resulting object.\n - `splunk_token` (`string`): Splunk token for streaming metrics When `null`, the `splunk_token` field will be omitted from the resulting object.\n\n**Returns**:\n - An attribute object that represents the `metrics_config` sub block.\n', args=[]), new( + cloudwatch_access_key_id=null, + cloudwatch_region=null, + cloudwatch_secret_access_key=null, datadog_api_key=null, datadog_region=null, grafana_endpoint=null, @@ -45,6 +54,9 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); splunk_hecendpoint=null, splunk_token=null ):: std.prune(a={ + cloudwatch_access_key_id: cloudwatch_access_key_id, + cloudwatch_region: cloudwatch_region, + cloudwatch_secret_access_key: cloudwatch_secret_access_key, datadog_api_key: datadog_api_key, datadog_region: datadog_region, grafana_endpoint: grafana_endpoint, @@ -54,7 +66,7 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); splunk_token: splunk_token, }), }, - '#new':: d.fn(help="\n`hcp.vault_cluster.new` injects a new `hcp_vault_cluster` Terraform `resource`\nblock into the root module document.\n\nAdditionally, this inserts a private function into the `_ref` attribute that generates references to attributes of the\nresource. For example, if you added a new instance to the root using:\n\n # arguments omitted for brevity\n hcp.vault_cluster.new('some_id')\n\nYou can get the reference to the `id` field of the created `hcp.vault_cluster` using the reference:\n\n $._ref.hcp_vault_cluster.some_id.get('id')\n\nThis is the same as directly entering `\"${ hcp_vault_cluster.some_id.id }\"` as the value.\n\nNOTE: if you are chaining multiple resources together in a merge operation, you may not be able to use `super`, `self`,\nor `$` to refer to the root object. Instead, make an explicit outer object using `local`.\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block.\n - `cluster_id` (`string`): The ID of the HCP Vault cluster.\n - `hvn_id` (`string`): The ID of the HVN this HCP Vault cluster is associated to.\n - `min_vault_version` (`string`): The minimum Vault version to use when creating the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP. When `null`, the `min_vault_version` field will be omitted from the resulting object.\n - `paths_filter` (`list`): The performance replication [paths filter](https://developer.hashicorp.com/vault/tutorials/cloud-ops/vault-replication-terraform). Applies to performance replication secondaries only and operates in \u0026#34;deny\u0026#34; mode only. When `null`, the `paths_filter` field will be omitted from the resulting object.\n - `primary_link` (`string`): The `self_link` of the HCP Vault Plus tier cluster which is the primary in the performance replication setup with this HCP Vault Plus tier cluster. If not specified, it is a standalone Plus tier HCP Vault cluster. When `null`, the `primary_link` field will be omitted from the resulting object.\n - `project_id` (`string`): \nThe ID of the HCP project where the Vault cluster is located. \nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `public_endpoint` (`bool`): Denotes that the cluster has a public endpoint. Defaults to false. When `null`, the `public_endpoint` field will be omitted from the resulting object.\n - `tier` (`string`): Tier of the HCP Vault cluster. Valid options for tiers - `dev`, `starter_small`, `standard_small`, `standard_medium`, `standard_large`, `plus_small`, `plus_medium`, `plus_large`. See [pricing information](https://www.hashicorp.com/products/vault/pricing). Changing a cluster\u0026#39;s size or tier is only available to admins. See [Scale a cluster](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/vault-scaling). When `null`, the `tier` field will be omitted from the resulting object.\n - `audit_log_config` (`list[obj]`): The audit logs configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `audit_log_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.audit_log_config.new](#fn-audit_log_confignew) constructor.\n - `major_version_upgrade_config` (`list[obj]`): The Major Version Upgrade configuration. When `null`, the `major_version_upgrade_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.major_version_upgrade_config.new](#fn-major_version_upgrade_confignew) constructor.\n - `metrics_config` (`list[obj]`): The metrics configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `metrics_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.metrics_config.new](#fn-metrics_confignew) constructor.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting resource block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n- A mixin object that injects the new resource into the root Terraform configuration.\n", args=[]), + '#new':: d.fn(help="\n`hcp.vault_cluster.new` injects a new `hcp_vault_cluster` Terraform `resource`\nblock into the root module document.\n\nAdditionally, this inserts a private function into the `_ref` attribute that generates references to attributes of the\nresource. For example, if you added a new instance to the root using:\n\n # arguments omitted for brevity\n hcp.vault_cluster.new('some_id')\n\nYou can get the reference to the `id` field of the created `hcp.vault_cluster` using the reference:\n\n $._ref.hcp_vault_cluster.some_id.get('id')\n\nThis is the same as directly entering `\"${ hcp_vault_cluster.some_id.id }\"` as the value.\n\nNOTE: if you are chaining multiple resources together in a merge operation, you may not be able to use `super`, `self`,\nor `$` to refer to the root object. Instead, make an explicit outer object using `local`.\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block.\n - `cluster_id` (`string`): The ID of the HCP Vault cluster.\n - `hvn_id` (`string`): The ID of the HVN this HCP Vault cluster is associated to.\n - `min_vault_version` (`string`): The minimum Vault version to use when creating the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP. When `null`, the `min_vault_version` field will be omitted from the resulting object.\n - `paths_filter` (`list`): The performance replication [paths filter](https://developer.hashicorp.com/vault/tutorials/cloud-ops/vault-replication-terraform). Applies to performance replication secondaries only and operates in \u0026#34;deny\u0026#34; mode only. When `null`, the `paths_filter` field will be omitted from the resulting object.\n - `primary_link` (`string`): The `self_link` of the HCP Vault Plus tier cluster which is the primary in the performance replication setup with this HCP Vault Plus tier cluster. If not specified, it is a standalone Plus tier HCP Vault cluster. When `null`, the `primary_link` field will be omitted from the resulting object.\n - `project_id` (`string`): \nThe ID of the HCP project where the Vault cluster is located. \nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `proxy_endpoint` (`string`): Denotes that the cluster has a proxy endpoint. Valid options are `ENABLED`, `DISABLED`. Defaults to `DISABLED`. When `null`, the `proxy_endpoint` field will be omitted from the resulting object.\n - `public_endpoint` (`bool`): Denotes that the cluster has a public endpoint. Defaults to false. When `null`, the `public_endpoint` field will be omitted from the resulting object.\n - `tier` (`string`): Tier of the HCP Vault cluster. Valid options for tiers - `dev`, `starter_small`, `standard_small`, `standard_medium`, `standard_large`, `plus_small`, `plus_medium`, `plus_large`. See [pricing information](https://www.hashicorp.com/products/vault/pricing). Changing a cluster\u0026#39;s size or tier is only available to admins. See [Scale a cluster](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/vault-scaling). When `null`, the `tier` field will be omitted from the resulting object.\n - `audit_log_config` (`list[obj]`): The audit logs configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `audit_log_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.audit_log_config.new](#fn-audit_log_confignew) constructor.\n - `major_version_upgrade_config` (`list[obj]`): The Major Version Upgrade configuration. When `null`, the `major_version_upgrade_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.major_version_upgrade_config.new](#fn-major_version_upgrade_confignew) constructor.\n - `metrics_config` (`list[obj]`): The metrics configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `metrics_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.metrics_config.new](#fn-metrics_confignew) constructor.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting resource block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n- A mixin object that injects the new resource into the root Terraform configuration.\n", args=[]), new( resourceLabel, cluster_id, @@ -66,6 +78,7 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); paths_filter=null, primary_link=null, project_id=null, + proxy_endpoint=null, public_endpoint=null, tier=null, timeouts=null, @@ -83,13 +96,14 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); paths_filter=paths_filter, primary_link=primary_link, project_id=project_id, + proxy_endpoint=proxy_endpoint, public_endpoint=public_endpoint, tier=tier, timeouts=timeouts ), _meta=_meta ), - '#newAttrs':: d.fn(help='\n`hcp.vault_cluster.newAttrs` constructs a new object with attributes and blocks configured for the `vault_cluster`\nTerraform resource.\n\nUnlike [hcp.vault_cluster.new](#fn-new), this function will not inject the `resource`\nblock into the root Terraform document. Instead, this must be passed in as the `attrs` argument for the\n[tf.withResource](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withresource) function to build a complete block.\n\nThis is most useful when you need to preprocess the attributes with functions, conditional, or looping logic prior to\ninjecting into a complete block.\n\n**Args**:\n - `cluster_id` (`string`): The ID of the HCP Vault cluster.\n - `hvn_id` (`string`): The ID of the HVN this HCP Vault cluster is associated to.\n - `min_vault_version` (`string`): The minimum Vault version to use when creating the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP. When `null`, the `min_vault_version` field will be omitted from the resulting object.\n - `paths_filter` (`list`): The performance replication [paths filter](https://developer.hashicorp.com/vault/tutorials/cloud-ops/vault-replication-terraform). Applies to performance replication secondaries only and operates in "deny" mode only. When `null`, the `paths_filter` field will be omitted from the resulting object.\n - `primary_link` (`string`): The `self_link` of the HCP Vault Plus tier cluster which is the primary in the performance replication setup with this HCP Vault Plus tier cluster. If not specified, it is a standalone Plus tier HCP Vault cluster. When `null`, the `primary_link` field will be omitted from the resulting object.\n - `project_id` (`string`): \nThe ID of the HCP project where the Vault cluster is located. \nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `public_endpoint` (`bool`): Denotes that the cluster has a public endpoint. Defaults to false. When `null`, the `public_endpoint` field will be omitted from the resulting object.\n - `tier` (`string`): Tier of the HCP Vault cluster. Valid options for tiers - `dev`, `starter_small`, `standard_small`, `standard_medium`, `standard_large`, `plus_small`, `plus_medium`, `plus_large`. See [pricing information](https://www.hashicorp.com/products/vault/pricing). Changing a cluster's size or tier is only available to admins. See [Scale a cluster](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/vault-scaling). When `null`, the `tier` field will be omitted from the resulting object.\n - `audit_log_config` (`list[obj]`): The audit logs configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `audit_log_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.audit_log_config.new](#fn-audit_log_confignew) constructor.\n - `major_version_upgrade_config` (`list[obj]`): The Major Version Upgrade configuration. When `null`, the `major_version_upgrade_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.major_version_upgrade_config.new](#fn-major_version_upgrade_confignew) constructor.\n - `metrics_config` (`list[obj]`): The metrics configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `metrics_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.metrics_config.new](#fn-metrics_confignew) constructor.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n - An attribute object that can be used with [tf.withResource](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withresource) to construct a new `vault_cluster` resource into the root Terraform configuration.\n', args=[]), + '#newAttrs':: d.fn(help='\n`hcp.vault_cluster.newAttrs` constructs a new object with attributes and blocks configured for the `vault_cluster`\nTerraform resource.\n\nUnlike [hcp.vault_cluster.new](#fn-new), this function will not inject the `resource`\nblock into the root Terraform document. Instead, this must be passed in as the `attrs` argument for the\n[tf.withResource](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withresource) function to build a complete block.\n\nThis is most useful when you need to preprocess the attributes with functions, conditional, or looping logic prior to\ninjecting into a complete block.\n\n**Args**:\n - `cluster_id` (`string`): The ID of the HCP Vault cluster.\n - `hvn_id` (`string`): The ID of the HVN this HCP Vault cluster is associated to.\n - `min_vault_version` (`string`): The minimum Vault version to use when creating the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP. When `null`, the `min_vault_version` field will be omitted from the resulting object.\n - `paths_filter` (`list`): The performance replication [paths filter](https://developer.hashicorp.com/vault/tutorials/cloud-ops/vault-replication-terraform). Applies to performance replication secondaries only and operates in "deny" mode only. When `null`, the `paths_filter` field will be omitted from the resulting object.\n - `primary_link` (`string`): The `self_link` of the HCP Vault Plus tier cluster which is the primary in the performance replication setup with this HCP Vault Plus tier cluster. If not specified, it is a standalone Plus tier HCP Vault cluster. When `null`, the `primary_link` field will be omitted from the resulting object.\n - `project_id` (`string`): \nThe ID of the HCP project where the Vault cluster is located. \nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `proxy_endpoint` (`string`): Denotes that the cluster has a proxy endpoint. Valid options are `ENABLED`, `DISABLED`. Defaults to `DISABLED`. When `null`, the `proxy_endpoint` field will be omitted from the resulting object.\n - `public_endpoint` (`bool`): Denotes that the cluster has a public endpoint. Defaults to false. When `null`, the `public_endpoint` field will be omitted from the resulting object.\n - `tier` (`string`): Tier of the HCP Vault cluster. Valid options for tiers - `dev`, `starter_small`, `standard_small`, `standard_medium`, `standard_large`, `plus_small`, `plus_medium`, `plus_large`. See [pricing information](https://www.hashicorp.com/products/vault/pricing). Changing a cluster's size or tier is only available to admins. See [Scale a cluster](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/vault-scaling). When `null`, the `tier` field will be omitted from the resulting object.\n - `audit_log_config` (`list[obj]`): The audit logs configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `audit_log_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.audit_log_config.new](#fn-audit_log_confignew) constructor.\n - `major_version_upgrade_config` (`list[obj]`): The Major Version Upgrade configuration. When `null`, the `major_version_upgrade_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.major_version_upgrade_config.new](#fn-major_version_upgrade_confignew) constructor.\n - `metrics_config` (`list[obj]`): The metrics configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `metrics_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.metrics_config.new](#fn-metrics_confignew) constructor.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n - An attribute object that can be used with [tf.withResource](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withresource) to construct a new `vault_cluster` resource into the root Terraform configuration.\n', args=[]), newAttrs( cluster_id, hvn_id, @@ -100,6 +114,7 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); paths_filter=null, primary_link=null, project_id=null, + proxy_endpoint=null, public_endpoint=null, tier=null, timeouts=null @@ -113,6 +128,7 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); paths_filter: paths_filter, primary_link: primary_link, project_id: project_id, + proxy_endpoint: proxy_endpoint, public_endpoint: public_endpoint, tier: tier, timeouts: timeouts, @@ -251,6 +267,16 @@ local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); }, }, }, + '#withProxyEndpoint':: d.fn(help='`hcp.string.withProxyEndpoint` constructs a mixin object that can be merged into the `string`\nTerraform resource block to set or update the proxy_endpoint field.\n\n\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `proxy_endpoint` field.\n', args=[]), + withProxyEndpoint(resourceLabel, value): { + resource+: { + hcp_vault_cluster+: { + [resourceLabel]+: { + proxy_endpoint: value, + }, + }, + }, + }, '#withPublicEndpoint':: d.fn(help='`hcp.bool.withPublicEndpoint` constructs a mixin object that can be merged into the `bool`\nTerraform resource block to set or update the public_endpoint field.\n\n\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block to update.\n - `value` (`bool`): The value to set for the `public_endpoint` field.\n', args=[]), withPublicEndpoint(resourceLabel, value): { resource+: { diff --git a/0.x/_gen/resources/vault_plugin.libsonnet b/0.x/_gen/resources/vault_plugin.libsonnet new file mode 100644 index 0000000..b3f7066 --- /dev/null +++ b/0.x/_gen/resources/vault_plugin.libsonnet @@ -0,0 +1,108 @@ +local tf = (import 'github.com/tf-libsonnet/core/main.libsonnet'); +local d = (import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'); +{ + '#':: d.pkg(name='vault_plugin', url='', help='`vault_plugin` represents the `hcp_vault_plugin` Terraform resource.\n\nThe Vault plugin resource allows you to manage an HCP Vault plugin.\n\nThis package contains functions and utilities for setting up the resource using Jsonnet code.\n'), + '#new':: d.fn(help="\n`hcp.vault_plugin.new` injects a new `hcp_vault_plugin` Terraform `resource`\nblock into the root module document.\n\nAdditionally, this inserts a private function into the `_ref` attribute that generates references to attributes of the\nresource. For example, if you added a new instance to the root using:\n\n # arguments omitted for brevity\n hcp.vault_plugin.new('some_id')\n\nYou can get the reference to the `id` field of the created `hcp.vault_plugin` using the reference:\n\n $._ref.hcp_vault_plugin.some_id.get('id')\n\nThis is the same as directly entering `\"${ hcp_vault_plugin.some_id.id }\"` as the value.\n\nNOTE: if you are chaining multiple resources together in a merge operation, you may not be able to use `super`, `self`,\nor `$` to refer to the root object. Instead, make an explicit outer object using `local`.\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block.\n - `cluster_id` (`string`): The ID of the HCP Vault cluster.\n - `plugin_name` (`string`): The name of the plugin - Valid options for plugin name - \u0026#39;venafi-pki-backend\u0026#39;\n - `plugin_type` (`string`): The type of the plugin - Valid options for plugin type - \u0026#39;SECRET\u0026#39;, \u0026#39;AUTH\u0026#39;, \u0026#39;DATABASE\u0026#39;\n - `project_id` (`string`): \nThe ID of the HCP project where the HCP Vault cluster is located. \nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting resource block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_plugin.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n- A mixin object that injects the new resource into the root Terraform configuration.\n", args=[]), + new( + resourceLabel, + cluster_id, + plugin_name, + plugin_type, + project_id=null, + timeouts=null, + _meta={} + ):: tf.withResource( + type='hcp_vault_plugin', + label=resourceLabel, + attrs=self.newAttrs( + cluster_id=cluster_id, + plugin_name=plugin_name, + plugin_type=plugin_type, + project_id=project_id, + timeouts=timeouts + ), + _meta=_meta + ), + '#newAttrs':: d.fn(help='\n`hcp.vault_plugin.newAttrs` constructs a new object with attributes and blocks configured for the `vault_plugin`\nTerraform resource.\n\nUnlike [hcp.vault_plugin.new](#fn-new), this function will not inject the `resource`\nblock into the root Terraform document. Instead, this must be passed in as the `attrs` argument for the\n[tf.withResource](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withresource) function to build a complete block.\n\nThis is most useful when you need to preprocess the attributes with functions, conditional, or looping logic prior to\ninjecting into a complete block.\n\n**Args**:\n - `cluster_id` (`string`): The ID of the HCP Vault cluster.\n - `plugin_name` (`string`): The name of the plugin - Valid options for plugin name - 'venafi-pki-backend'\n - `plugin_type` (`string`): The type of the plugin - Valid options for plugin type - 'SECRET', 'AUTH', 'DATABASE'\n - `project_id` (`string`): \nThe ID of the HCP project where the HCP Vault cluster is located. \nIf not specified, the project specified in the HCP Provider config block will be used, if configured.\nIf a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object.\n - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_plugin.timeouts.new](#fn-timeoutsnew) constructor.\n\n**Returns**:\n - An attribute object that can be used with [tf.withResource](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withresource) to construct a new `vault_plugin` resource into the root Terraform configuration.\n', args=[]), + newAttrs( + cluster_id, + plugin_name, + plugin_type, + project_id=null, + timeouts=null + ):: std.prune(a={ + cluster_id: cluster_id, + plugin_name: plugin_name, + plugin_type: plugin_type, + project_id: project_id, + timeouts: timeouts, + }), + timeouts:: { + '#new':: d.fn(help='\n`hcp.vault_plugin.timeouts.new` constructs a new object with attributes and blocks configured for the `timeouts`\nTerraform sub block.\n\n\n\n**Args**:\n - `default` (`string`): Set the `default` field on the resulting object. When `null`, the `default` field will be omitted from the resulting object.\n\n**Returns**:\n - An attribute object that represents the `timeouts` sub block.\n', args=[]), + new( + default=null + ):: std.prune(a={ + default: default, + }), + }, + '#withClusterId':: d.fn(help='`hcp.string.withClusterId` constructs a mixin object that can be merged into the `string`\nTerraform resource block to set or update the cluster_id field.\n\n\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `cluster_id` field.\n', args=[]), + withClusterId(resourceLabel, value): { + resource+: { + hcp_vault_plugin+: { + [resourceLabel]+: { + cluster_id: value, + }, + }, + }, + }, + '#withPluginName':: d.fn(help='`hcp.string.withPluginName` constructs a mixin object that can be merged into the `string`\nTerraform resource block to set or update the plugin_name field.\n\n\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `plugin_name` field.\n', args=[]), + withPluginName(resourceLabel, value): { + resource+: { + hcp_vault_plugin+: { + [resourceLabel]+: { + plugin_name: value, + }, + }, + }, + }, + '#withPluginType':: d.fn(help='`hcp.string.withPluginType` constructs a mixin object that can be merged into the `string`\nTerraform resource block to set or update the plugin_type field.\n\n\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `plugin_type` field.\n', args=[]), + withPluginType(resourceLabel, value): { + resource+: { + hcp_vault_plugin+: { + [resourceLabel]+: { + plugin_type: value, + }, + }, + }, + }, + '#withProjectId':: d.fn(help='`hcp.string.withProjectId` constructs a mixin object that can be merged into the `string`\nTerraform resource block to set or update the project_id field.\n\n\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block to update.\n - `value` (`string`): The value to set for the `project_id` field.\n', args=[]), + withProjectId(resourceLabel, value): { + resource+: { + hcp_vault_plugin+: { + [resourceLabel]+: { + project_id: value, + }, + }, + }, + }, + '#withTimeouts':: d.fn(help='`hcp.obj.withTimeouts` constructs a mixin object that can be merged into the `obj`\nTerraform resource block to set or update the timeouts field.\n\nThis function will replace the map with the passed in `value`. If you wish to instead merge the\npassed in value to the existing map, use the [hcp.obj.withTimeoutsMixin](TODO) function.\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block to update.\n - `value` (`obj`): The value to set for the `timeouts` field.\n', args=[]), + withTimeouts(resourceLabel, value): { + resource+: { + hcp_vault_plugin+: { + [resourceLabel]+: { + timeouts: value, + }, + }, + }, + }, + '#withTimeoutsMixin':: d.fn(help='`hcp.obj.withTimeoutsMixin` constructs a mixin object that can be merged into the `obj`\nTerraform resource block to set or update the timeouts field.\n\nThis function will merge the passed in value to the existing map. If you wish\nto instead replace the entire map with the passed in `value`, use the [hcp.obj.withTimeouts](TODO)\nfunction.\n\n\n**Args**:\n - `resourceLabel` (`string`): The name label of the block to update.\n - `value` (`obj`): The value to set for the `timeouts` field.\n', args=[]), + withTimeoutsMixin(resourceLabel, value): { + resource+: { + hcp_vault_plugin+: { + [resourceLabel]+: { + timeouts+: value, + }, + }, + }, + }, +} diff --git a/docs/0.x/README.md b/docs/0.x/README.md index 2dbca30..35f5394 100644 --- a/docs/0.x/README.md +++ b/docs/0.x/README.md @@ -27,4 +27,5 @@ project. * [packer_run_task](packer_run_task.md) * [provider](provider.md) * [vault_cluster](vault_cluster.md) -* [vault_cluster_admin_token](vault_cluster_admin_token.md) \ No newline at end of file +* [vault_cluster_admin_token](vault_cluster_admin_token.md) +* [vault_plugin](vault_plugin.md) \ No newline at end of file diff --git a/docs/0.x/data/index.md b/docs/0.x/data/index.md index 44f50f5..b737050 100644 --- a/docs/0.x/data/index.md +++ b/docs/0.x/data/index.md @@ -23,4 +23,5 @@ permalink: /data/ * [packer_iteration](packer_iteration.md) * [packer_run_task](packer_run_task.md) * [vault_cluster](vault_cluster.md) +* [vault_plugin](vault_plugin.md) * [vault_secrets_app](vault_secrets_app.md) \ No newline at end of file diff --git a/docs/0.x/data/packer_image.md b/docs/0.x/data/packer_image.md index 49fd23b..04a31e4 100644 --- a/docs/0.x/data/packer_image.md +++ b/docs/0.x/data/packer_image.md @@ -6,7 +6,7 @@ permalink: /data/packer_image/ `packer_image` represents the `hcp_packer_image` Terraform data source. -The Packer Image data source iteration gets the most recent iteration (or build) of an image, given an iteration id or a channel. +The Packer Image data source gets an image associated with an iteration, either from a specific iteration or from the iteration assigned to a given Channel. This package contains functions and utilities for setting up the data source using Jsonnet code. @@ -56,16 +56,16 @@ or `$` to refer to the root object. Instead, make an explicit outer object using **Args**: - `dataSrcLabel` (`string`): The name label of the block. - - `bucket_name` (`string`): The slug of the HCP Packer Registry bucket to pull from. + - `bucket_name` (`string`): The slug of the HCP Packer Registry bucket where this image is located. - `channel` (`string`): The channel that points to the version of the image being retrieved. Either this or `iteration_id` must be specified. Note: will incur a billable request When `null`, the `channel` field will be omitted from the resulting object. - - `cloud_provider` (`string`): Name of the cloud provider this image is stored-in. + - `cloud_provider` (`string`): Name of the cloud provider where this image is stored. - `component_type` (`string`): Name of the builder that built this image. Ex: `amazon-ebs.example`. When `null`, the `component_type` field will be omitted from the resulting object. - `iteration_id` (`string`): The iteration from which to get the image. Either this or `channel` must be specified. When `null`, the `iteration_id` field will be omitted from the resulting object. - `project_id` (`string`): The ID of the HCP project where the HCP Packer Registry image is located. If not specified, the project specified in the HCP Provider config block will be used, if configured. If a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object. - - `region` (`string`): Region this image is stored in, if any. + - `region` (`string`): The Region where this image is stored, if any. - `timeouts` (`obj`): Set the `timeouts` field on the resulting data source block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.packer_image.timeouts.new](#fn-timeoutsnew) constructor. **Returns**: @@ -90,16 +90,16 @@ This is most useful when you need to preprocess the attributes with functions, c injecting into a complete block. **Args**: - - `bucket_name` (`string`): The slug of the HCP Packer Registry bucket to pull from. + - `bucket_name` (`string`): The slug of the HCP Packer Registry bucket where this image is located. - `channel` (`string`): The channel that points to the version of the image being retrieved. Either this or `iteration_id` must be specified. Note: will incur a billable request When `null`, the `channel` field will be omitted from the resulting object. - - `cloud_provider` (`string`): Name of the cloud provider this image is stored-in. + - `cloud_provider` (`string`): Name of the cloud provider where this image is stored. - `component_type` (`string`): Name of the builder that built this image. Ex: `amazon-ebs.example`. When `null`, the `component_type` field will be omitted from the resulting object. - `iteration_id` (`string`): The iteration from which to get the image. Either this or `channel` must be specified. When `null`, the `iteration_id` field will be omitted from the resulting object. - `project_id` (`string`): The ID of the HCP project where the HCP Packer Registry image is located. If not specified, the project specified in the HCP Provider config block will be used, if configured. If a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object. - - `region` (`string`): Region this image is stored in, if any. + - `region` (`string`): The Region where this image is stored, if any. - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.packer_image.timeouts.new](#fn-timeoutsnew) constructor. **Returns**: diff --git a/docs/0.x/data/vault_plugin.md b/docs/0.x/data/vault_plugin.md new file mode 100644 index 0000000..94c31eb --- /dev/null +++ b/docs/0.x/data/vault_plugin.md @@ -0,0 +1,220 @@ +--- +permalink: /data/vault_plugin/ +--- + +# data.vault_plugin + +`vault_plugin` represents the `hcp_vault_plugin` Terraform data source. + +The Vault plugin data source provides information about an existing HCP Vault plugin + +This package contains functions and utilities for setting up the data source using Jsonnet code. + + +## Index + +* [`fn new()`](#fn-new) +* [`fn newAttrs()`](#fn-newattrs) +* [`fn withClusterId()`](#fn-withclusterid) +* [`fn withPluginName()`](#fn-withpluginname) +* [`fn withPluginType()`](#fn-withplugintype) +* [`fn withProjectId()`](#fn-withprojectid) +* [`fn withTimeouts()`](#fn-withtimeouts) +* [`fn withTimeoutsMixin()`](#fn-withtimeoutsmixin) +* [`obj timeouts`](#obj-timeouts) + * [`fn new()`](#fn-timeoutsnew) + +## Fields + +### fn new + +```ts +new() +``` + + +`hcp.data.vault_plugin.new` injects a new `data_hcp_vault_plugin` Terraform `data source` +block into the root module document. + +Additionally, this inserts a private function into the `_ref` attribute that generates references to attributes of the +resource. For example, if you added a new instance to the root using: + + # arguments omitted for brevity + hcp.data.vault_plugin.new('some_id') + +You can get the reference to the `id` field of the created `hcp.data.vault_plugin` using the reference: + + $._ref.data_hcp_vault_plugin.some_id.get('id') + +This is the same as directly entering `"${ data_hcp_vault_plugin.some_id.id }"` as the value. + +NOTE: if you are chaining multiple resources together in a merge operation, you may not be able to use `super`, `self`, +or `$` to refer to the root object. Instead, make an explicit outer object using `local`. + +**Args**: + - `dataSrcLabel` (`string`): The name label of the block. + - `cluster_id` (`string`): The ID of the HCP Vault cluster. + - `plugin_name` (`string`): The name of the plugin - Valid options for plugin name - 'venafi-pki-backend' + - `plugin_type` (`string`): The type of the plugin - Valid options for plugin type - 'SECRET', 'AUTH', 'DATABASE' + - `project_id` (`string`): +The ID of the HCP project where the HCP Vault cluster is located. +If not specified, the project specified in the HCP Provider config block will be used, if configured. +If a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object. + - `timeouts` (`obj`): Set the `timeouts` field on the resulting data source block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.vault_plugin.timeouts.new](#fn-timeoutsnew) constructor. + +**Returns**: +- A mixin object that injects the new data source into the root Terraform configuration. + + +### fn newAttrs + +```ts +newAttrs() +``` + + +`hcp.data.vault_plugin.newAttrs` constructs a new object with attributes and blocks configured for the `vault_plugin` +Terraform data source. + +Unlike [hcp.data.vault_plugin.new](#fn-new), this function will not inject the `data source` +block into the root Terraform document. Instead, this must be passed in as the `attrs` argument for the +[tf.withData](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withdata) function to build a complete block. + +This is most useful when you need to preprocess the attributes with functions, conditional, or looping logic prior to +injecting into a complete block. + +**Args**: + - `cluster_id` (`string`): The ID of the HCP Vault cluster. + - `plugin_name` (`string`): The name of the plugin - Valid options for plugin name - 'venafi-pki-backend' + - `plugin_type` (`string`): The type of the plugin - Valid options for plugin type - 'SECRET', 'AUTH', 'DATABASE' + - `project_id` (`string`): +The ID of the HCP project where the HCP Vault cluster is located. +If not specified, the project specified in the HCP Provider config block will be used, if configured. +If a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object. + - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.data.vault_plugin.timeouts.new](#fn-timeoutsnew) constructor. + +**Returns**: + - An attribute object that can be used with [tf.withData](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withdata) to construct a new `vault_plugin` data source into the root Terraform configuration. + + +### fn withClusterId + +```ts +withClusterId() +``` + +`hcp.string.withClusterId` constructs a mixin object that can be merged into the `string` +Terraform data source block to set or update the cluster_id field. + + + +**Args**: + - `dataSrcLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `cluster_id` field. + + +### fn withPluginName + +```ts +withPluginName() +``` + +`hcp.string.withPluginName` constructs a mixin object that can be merged into the `string` +Terraform data source block to set or update the plugin_name field. + + + +**Args**: + - `dataSrcLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `plugin_name` field. + + +### fn withPluginType + +```ts +withPluginType() +``` + +`hcp.string.withPluginType` constructs a mixin object that can be merged into the `string` +Terraform data source block to set or update the plugin_type field. + + + +**Args**: + - `dataSrcLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `plugin_type` field. + + +### fn withProjectId + +```ts +withProjectId() +``` + +`hcp.string.withProjectId` constructs a mixin object that can be merged into the `string` +Terraform data source block to set or update the project_id field. + + + +**Args**: + - `dataSrcLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `project_id` field. + + +### fn withTimeouts + +```ts +withTimeouts() +``` + +`hcp.obj.withTimeouts` constructs a mixin object that can be merged into the `obj` +Terraform data source block to set or update the timeouts field. + +This function will replace the map with the passed in `value`. If you wish to instead merge the +passed in value to the existing map, use the [hcp.obj.withTimeoutsMixin](TODO) function. + +**Args**: + - `dataSrcLabel` (`string`): The name label of the block to update. + - `value` (`obj`): The value to set for the `timeouts` field. + + +### fn withTimeoutsMixin + +```ts +withTimeoutsMixin() +``` + +`hcp.obj.withTimeoutsMixin` constructs a mixin object that can be merged into the `obj` +Terraform data source block to set or update the timeouts field. + +This function will merge the passed in value to the existing map. If you wish +to instead replace the entire map with the passed in `value`, use the [hcp.obj.withTimeouts](TODO) +function. + + +**Args**: + - `dataSrcLabel` (`string`): The name label of the block to update. + - `value` (`obj`): The value to set for the `timeouts` field. + + +## obj timeouts + + + +### fn timeouts.new + +```ts +new() +``` + + +`hcp.vault_plugin.timeouts.new` constructs a new object with attributes and blocks configured for the `timeouts` +Terraform sub block. + + + +**Args**: + - `default` (`string`): Set the `default` field on the resulting object. When `null`, the `default` field will be omitted from the resulting object. + +**Returns**: + - An attribute object that represents the `timeouts` sub block. diff --git a/docs/0.x/vault_cluster.md b/docs/0.x/vault_cluster.md index 9c859e1..7ba4417 100644 --- a/docs/0.x/vault_cluster.md +++ b/docs/0.x/vault_cluster.md @@ -27,6 +27,7 @@ This package contains functions and utilities for setting up the resource using * [`fn withPathsFilter()`](#fn-withpathsfilter) * [`fn withPrimaryLink()`](#fn-withprimarylink) * [`fn withProjectId()`](#fn-withprojectid) +* [`fn withProxyEndpoint()`](#fn-withproxyendpoint) * [`fn withPublicEndpoint()`](#fn-withpublicendpoint) * [`fn withTier()`](#fn-withtier) * [`fn withTimeouts()`](#fn-withtimeouts) @@ -78,6 +79,7 @@ or `$` to refer to the root object. Instead, make an explicit outer object using The ID of the HCP project where the Vault cluster is located. If not specified, the project specified in the HCP Provider config block will be used, if configured. If a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object. + - `proxy_endpoint` (`string`): Denotes that the cluster has a proxy endpoint. Valid options are `ENABLED`, `DISABLED`. Defaults to `DISABLED`. When `null`, the `proxy_endpoint` field will be omitted from the resulting object. - `public_endpoint` (`bool`): Denotes that the cluster has a public endpoint. Defaults to false. When `null`, the `public_endpoint` field will be omitted from the resulting object. - `tier` (`string`): Tier of the HCP Vault cluster. Valid options for tiers - `dev`, `starter_small`, `standard_small`, `standard_medium`, `standard_large`, `plus_small`, `plus_medium`, `plus_large`. See [pricing information](https://www.hashicorp.com/products/vault/pricing). Changing a cluster's size or tier is only available to admins. See [Scale a cluster](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/vault-scaling). When `null`, the `tier` field will be omitted from the resulting object. - `audit_log_config` (`list[obj]`): The audit logs configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `audit_log_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.audit_log_config.new](#fn-audit_log_confignew) constructor. @@ -116,6 +118,7 @@ injecting into a complete block. The ID of the HCP project where the Vault cluster is located. If not specified, the project specified in the HCP Provider config block will be used, if configured. If a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object. + - `proxy_endpoint` (`string`): Denotes that the cluster has a proxy endpoint. Valid options are `ENABLED`, `DISABLED`. Defaults to `DISABLED`. When `null`, the `proxy_endpoint` field will be omitted from the resulting object. - `public_endpoint` (`bool`): Denotes that the cluster has a public endpoint. Defaults to false. When `null`, the `public_endpoint` field will be omitted from the resulting object. - `tier` (`string`): Tier of the HCP Vault cluster. Valid options for tiers - `dev`, `starter_small`, `standard_small`, `standard_medium`, `standard_large`, `plus_small`, `plus_medium`, `plus_large`. See [pricing information](https://www.hashicorp.com/products/vault/pricing). Changing a cluster's size or tier is only available to admins. See [Scale a cluster](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/vault-scaling). When `null`, the `tier` field will be omitted from the resulting object. - `audit_log_config` (`list[obj]`): The audit logs configuration for export. (https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide#metrics-streaming-configuration) When `null`, the `audit_log_config` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_cluster.audit_log_config.new](#fn-audit_log_confignew) constructor. @@ -334,6 +337,22 @@ Terraform resource block to set or update the project_id field. - `value` (`string`): The value to set for the `project_id` field. +### fn withProxyEndpoint + +```ts +withProxyEndpoint() +``` + +`hcp.string.withProxyEndpoint` constructs a mixin object that can be merged into the `string` +Terraform resource block to set or update the proxy_endpoint field. + + + +**Args**: + - `resourceLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `proxy_endpoint` field. + + ### fn withPublicEndpoint ```ts @@ -419,6 +438,9 @@ Terraform sub block. **Args**: + - `cloudwatch_access_key_id` (`string`): CloudWatch access key ID for streaming audit logs When `null`, the `cloudwatch_access_key_id` field will be omitted from the resulting object. + - `cloudwatch_region` (`string`): CloudWatch region for streaming audit logs When `null`, the `cloudwatch_region` field will be omitted from the resulting object. + - `cloudwatch_secret_access_key` (`string`): CloudWatch secret access key for streaming audit logs When `null`, the `cloudwatch_secret_access_key` field will be omitted from the resulting object. - `datadog_api_key` (`string`): Datadog api key for streaming audit logs When `null`, the `datadog_api_key` field will be omitted from the resulting object. - `datadog_region` (`string`): Datadog region for streaming audit logs When `null`, the `datadog_region` field will be omitted from the resulting object. - `grafana_endpoint` (`string`): Grafana endpoint for streaming audit logs When `null`, the `grafana_endpoint` field will be omitted from the resulting object. @@ -473,6 +495,9 @@ Terraform sub block. **Args**: + - `cloudwatch_access_key_id` (`string`): CloudWatch access key ID for streaming metrics When `null`, the `cloudwatch_access_key_id` field will be omitted from the resulting object. + - `cloudwatch_region` (`string`): CloudWatch region for streaming metrics When `null`, the `cloudwatch_region` field will be omitted from the resulting object. + - `cloudwatch_secret_access_key` (`string`): CloudWatch secret access key for streaming metrics When `null`, the `cloudwatch_secret_access_key` field will be omitted from the resulting object. - `datadog_api_key` (`string`): Datadog api key for streaming metrics When `null`, the `datadog_api_key` field will be omitted from the resulting object. - `datadog_region` (`string`): Datadog region for streaming metrics When `null`, the `datadog_region` field will be omitted from the resulting object. - `grafana_endpoint` (`string`): Grafana endpoint for streaming metrics When `null`, the `grafana_endpoint` field will be omitted from the resulting object. diff --git a/docs/0.x/vault_plugin.md b/docs/0.x/vault_plugin.md new file mode 100644 index 0000000..5c57d4d --- /dev/null +++ b/docs/0.x/vault_plugin.md @@ -0,0 +1,220 @@ +--- +permalink: /vault_plugin/ +--- + +# vault_plugin + +`vault_plugin` represents the `hcp_vault_plugin` Terraform resource. + +The Vault plugin resource allows you to manage an HCP Vault plugin. + +This package contains functions and utilities for setting up the resource using Jsonnet code. + + +## Index + +* [`fn new()`](#fn-new) +* [`fn newAttrs()`](#fn-newattrs) +* [`fn withClusterId()`](#fn-withclusterid) +* [`fn withPluginName()`](#fn-withpluginname) +* [`fn withPluginType()`](#fn-withplugintype) +* [`fn withProjectId()`](#fn-withprojectid) +* [`fn withTimeouts()`](#fn-withtimeouts) +* [`fn withTimeoutsMixin()`](#fn-withtimeoutsmixin) +* [`obj timeouts`](#obj-timeouts) + * [`fn new()`](#fn-timeoutsnew) + +## Fields + +### fn new + +```ts +new() +``` + + +`hcp.vault_plugin.new` injects a new `hcp_vault_plugin` Terraform `resource` +block into the root module document. + +Additionally, this inserts a private function into the `_ref` attribute that generates references to attributes of the +resource. For example, if you added a new instance to the root using: + + # arguments omitted for brevity + hcp.vault_plugin.new('some_id') + +You can get the reference to the `id` field of the created `hcp.vault_plugin` using the reference: + + $._ref.hcp_vault_plugin.some_id.get('id') + +This is the same as directly entering `"${ hcp_vault_plugin.some_id.id }"` as the value. + +NOTE: if you are chaining multiple resources together in a merge operation, you may not be able to use `super`, `self`, +or `$` to refer to the root object. Instead, make an explicit outer object using `local`. + +**Args**: + - `resourceLabel` (`string`): The name label of the block. + - `cluster_id` (`string`): The ID of the HCP Vault cluster. + - `plugin_name` (`string`): The name of the plugin - Valid options for plugin name - 'venafi-pki-backend' + - `plugin_type` (`string`): The type of the plugin - Valid options for plugin type - 'SECRET', 'AUTH', 'DATABASE' + - `project_id` (`string`): +The ID of the HCP project where the HCP Vault cluster is located. +If not specified, the project specified in the HCP Provider config block will be used, if configured. +If a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object. + - `timeouts` (`obj`): Set the `timeouts` field on the resulting resource block. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_plugin.timeouts.new](#fn-timeoutsnew) constructor. + +**Returns**: +- A mixin object that injects the new resource into the root Terraform configuration. + + +### fn newAttrs + +```ts +newAttrs() +``` + + +`hcp.vault_plugin.newAttrs` constructs a new object with attributes and blocks configured for the `vault_plugin` +Terraform resource. + +Unlike [hcp.vault_plugin.new](#fn-new), this function will not inject the `resource` +block into the root Terraform document. Instead, this must be passed in as the `attrs` argument for the +[tf.withResource](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withresource) function to build a complete block. + +This is most useful when you need to preprocess the attributes with functions, conditional, or looping logic prior to +injecting into a complete block. + +**Args**: + - `cluster_id` (`string`): The ID of the HCP Vault cluster. + - `plugin_name` (`string`): The name of the plugin - Valid options for plugin name - 'venafi-pki-backend' + - `plugin_type` (`string`): The type of the plugin - Valid options for plugin type - 'SECRET', 'AUTH', 'DATABASE' + - `project_id` (`string`): +The ID of the HCP project where the HCP Vault cluster is located. +If not specified, the project specified in the HCP Provider config block will be used, if configured. +If a project is not configured in the HCP Provider config block, the oldest project in the organization will be used. When `null`, the `project_id` field will be omitted from the resulting object. + - `timeouts` (`obj`): Set the `timeouts` field on the resulting object. When `null`, the `timeouts` sub block will be omitted from the resulting object. When setting the sub block, it is recommended to construct the object using the [hcp.vault_plugin.timeouts.new](#fn-timeoutsnew) constructor. + +**Returns**: + - An attribute object that can be used with [tf.withResource](https://github.com/tf-libsonnet/core/tree/main/docs#fn-withresource) to construct a new `vault_plugin` resource into the root Terraform configuration. + + +### fn withClusterId + +```ts +withClusterId() +``` + +`hcp.string.withClusterId` constructs a mixin object that can be merged into the `string` +Terraform resource block to set or update the cluster_id field. + + + +**Args**: + - `resourceLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `cluster_id` field. + + +### fn withPluginName + +```ts +withPluginName() +``` + +`hcp.string.withPluginName` constructs a mixin object that can be merged into the `string` +Terraform resource block to set or update the plugin_name field. + + + +**Args**: + - `resourceLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `plugin_name` field. + + +### fn withPluginType + +```ts +withPluginType() +``` + +`hcp.string.withPluginType` constructs a mixin object that can be merged into the `string` +Terraform resource block to set or update the plugin_type field. + + + +**Args**: + - `resourceLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `plugin_type` field. + + +### fn withProjectId + +```ts +withProjectId() +``` + +`hcp.string.withProjectId` constructs a mixin object that can be merged into the `string` +Terraform resource block to set or update the project_id field. + + + +**Args**: + - `resourceLabel` (`string`): The name label of the block to update. + - `value` (`string`): The value to set for the `project_id` field. + + +### fn withTimeouts + +```ts +withTimeouts() +``` + +`hcp.obj.withTimeouts` constructs a mixin object that can be merged into the `obj` +Terraform resource block to set or update the timeouts field. + +This function will replace the map with the passed in `value`. If you wish to instead merge the +passed in value to the existing map, use the [hcp.obj.withTimeoutsMixin](TODO) function. + +**Args**: + - `resourceLabel` (`string`): The name label of the block to update. + - `value` (`obj`): The value to set for the `timeouts` field. + + +### fn withTimeoutsMixin + +```ts +withTimeoutsMixin() +``` + +`hcp.obj.withTimeoutsMixin` constructs a mixin object that can be merged into the `obj` +Terraform resource block to set or update the timeouts field. + +This function will merge the passed in value to the existing map. If you wish +to instead replace the entire map with the passed in `value`, use the [hcp.obj.withTimeouts](TODO) +function. + + +**Args**: + - `resourceLabel` (`string`): The name label of the block to update. + - `value` (`obj`): The value to set for the `timeouts` field. + + +## obj timeouts + + + +### fn timeouts.new + +```ts +new() +``` + + +`hcp.vault_plugin.timeouts.new` constructs a new object with attributes and blocks configured for the `timeouts` +Terraform sub block. + + + +**Args**: + - `default` (`string`): Set the `default` field on the resulting object. When `null`, the `default` field will be omitted from the resulting object. + +**Returns**: + - An attribute object that represents the `timeouts` sub block.