{
  "name": "hcp",
  "displayName": "HashiCorp Cloud Platform (HCP)",
  "version": "0.1.14",
  "description": "A Pulumi package for creating and managing HCP cloud resources.",
  "keywords": [
    "pulumi",
    "hcp",
    "category/infrastructure"
  ],
  "homepage": "https://pulumi.io",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`hcp` Terraform Provider](https://github.com/hashicorp/terraform-provider-hcp).",
  "repository": "https://github.com/grapl-security/pulumi-hcp",
  "logoUrl": "https://raw.githubusercontent.com/grapl-security/pulumi-hcp/main/assets/hcp.svg",
  "pluginDownloadURL": "https://github.com/grapl-security/pulumi-hcp/releases/download/v${VERSION}",
  "publisher": "Grapl Security",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "compatibility": "tfbridge20",
      "namespaces": null,
      "packageReferences": {
        "Pulumi": "3.*"
      }
    },
    "go": {
      "generateExtraInputTypes": true,
      "generateResourceContainerTypes": true,
      "importBasePath": "github.com/grapl-security/pulumi-hcp/sdk/go/hcp"
    },
    "nodejs": {
      "compatibility": "tfbridge20",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "disableUnionOutputTypes": true,
      "packageDescription": "A Pulumi package for creating and managing HCP cloud resources.",
      "packageName": "@grapl/pulumi-hcp",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-hcp)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-hcp` repo](https://github.com/grapl-security/pulumi-hcp/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-hcp` repo](https://github.com/hashicorp/terraform-provider-hcp/issues).",
      "typescriptVersion": ""
    },
    "python": {
      "compatibility": "tfbridge20",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-hcp)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-hcp` repo](https://github.com/grapl-security/pulumi-hcp/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-hcp` repo](https://github.com/hashicorp/terraform-provider-hcp/issues).",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      }
    }
  },
  "config": {
    "variables": {
      "clientId": {
        "type": "string",
        "description": "The OAuth2 Client ID for API operations.\n",
        "defaultInfo": {
          "environment": [
            "HCP_CLIENT_ID"
          ]
        }
      },
      "clientSecret": {
        "type": "string",
        "description": "The OAuth2 Client Secret for API operations.\n",
        "defaultInfo": {
          "environment": [
            "HCP_CLIENT_SECRET"
          ]
        },
        "secret": true
      }
    }
  },
  "types": {
    "hcp:index/VaultClusterAuditLogConfig:VaultClusterAuditLogConfig": {
      "properties": {
        "datadogApiKey": {
          "type": "string",
          "description": "Datadog api key for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "datadogRegion": {
          "type": "string",
          "description": "Datadog region for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaEndpoint": {
          "type": "string",
          "description": "Grafana endpoint for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaPassword": {
          "type": "string",
          "description": "Grafana password for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaUser": {
          "type": "string",
          "description": "Grafana user for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "splunkHecendpoint": {
          "type": "string",
          "description": "Splunk endpoint for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "splunkToken": {
          "type": "string",
          "description": "Splunk token for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "hcp:index/VaultClusterMajorVersionUpgradeConfig:VaultClusterMajorVersionUpgradeConfig": {
      "properties": {
        "maintenanceWindowDay": {
          "type": "string",
          "description": "The maintenance day of the week for scheduled upgrades. Valid options for maintenance window day - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "maintenanceWindowTime": {
          "type": "string",
          "description": "The maintenance time frame for scheduled upgrades. Valid options for maintenance window time - `WINDOW_12AM_4AM`, `WINDOW_6AM_10AM`, `WINDOW_12PM_4PM`, `WINDOW_6PM_10PM`\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "upgradeType": {
          "type": "string",
          "description": "The major upgrade type for the cluster. Valid options for upgrade type - `AUTOMATIC`, `SCHEDULED`, `MANUAL`\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "upgradeType"
      ]
    },
    "hcp:index/VaultClusterMetricsConfig:VaultClusterMetricsConfig": {
      "properties": {
        "datadogApiKey": {
          "type": "string",
          "description": "Datadog api key for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "datadogRegion": {
          "type": "string",
          "description": "Datadog region for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaEndpoint": {
          "type": "string",
          "description": "Grafana endpoint for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaPassword": {
          "type": "string",
          "description": "Grafana password for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaUser": {
          "type": "string",
          "description": "Grafana user for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "splunkHecendpoint": {
          "type": "string",
          "description": "Splunk endpoint for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "splunkToken": {
          "type": "string",
          "description": "Splunk token for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "hcp:index/getPackerImageIterationBuild:getPackerImageIterationBuild": {
      "properties": {
        "cloudProvider": {
          "type": "string",
          "description": "Name of the cloud provider this image is stored-in, if any.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "componentType": {
          "type": "string",
          "description": "Name of the builder that built this. Ex: 'amazon-ebs.example'.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "createdAt": {
          "type": "string",
          "description": "Creation time of this build.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "id": {
          "type": "string",
          "description": "HCP ID of this build.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "images": {
          "type": "array",
          "items": {
            "$ref": "#/types/hcp:index%2FgetPackerImageIterationBuildImage:getPackerImageIterationBuildImage"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Labels for this build.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "packerRunUuid": {
          "type": "string",
          "description": "Packer generated UUID of this build.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "status": {
          "type": "string",
          "description": "Status of this build. DONE means that all images tied to this build were successfully built.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "updatedAt": {
          "type": "string",
          "description": "Time this build was last updated.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "cloudProvider",
        "componentType",
        "createdAt",
        "id",
        "images",
        "labels",
        "packerRunUuid",
        "status",
        "updatedAt"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "hcp:index/getPackerImageIterationBuildImage:getPackerImageIterationBuildImage": {
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "Creation time of this iteration\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "id": {
          "type": "string",
          "description": "The ID of this resource.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "imageId": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "region": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "id",
        "imageId",
        "region"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "hcp:index/getVaultClusterAuditLogConfig:getVaultClusterAuditLogConfig": {
      "properties": {
        "datadogRegion": {
          "type": "string",
          "description": "Datadog region for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaEndpoint": {
          "type": "string",
          "description": "Grafana endpoint for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaUser": {
          "type": "string",
          "description": "Grafana user for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "splunkHecendpoint": {
          "type": "string",
          "description": "Splunk endpoint for streaming audit logs\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "datadogRegion",
        "grafanaEndpoint",
        "grafanaUser",
        "splunkHecendpoint"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "hcp:index/getVaultClusterMajorVersionUpgradeConfig:getVaultClusterMajorVersionUpgradeConfig": {
      "properties": {
        "maintenanceWindowDay": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "maintenanceWindowTime": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "upgradeType": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "maintenanceWindowDay",
        "maintenanceWindowTime",
        "upgradeType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "hcp:index/getVaultClusterMetricsConfig:getVaultClusterMetricsConfig": {
      "properties": {
        "datadogRegion": {
          "type": "string",
          "description": "Datadog region for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaEndpoint": {
          "type": "string",
          "description": "Grafana endpoint for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "grafanaUser": {
          "type": "string",
          "description": "Grafana user for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "splunkHecendpoint": {
          "type": "string",
          "description": "Splunk endpoint for streaming metrics\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "datadogRegion",
        "grafanaEndpoint",
        "grafanaUser",
        "splunkHecendpoint"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    }
  },
  "provider": {
    "description": "The provider type for the hcp package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
    "properties": {
      "clientId": {
        "type": "string",
        "description": "The OAuth2 Client ID for API operations.\n"
      },
      "clientSecret": {
        "type": "string",
        "description": "The OAuth2 Client Secret for API operations.\n",
        "secret": true
      }
    },
    "type": "object",
    "inputProperties": {
      "clientId": {
        "type": "string",
        "description": "The OAuth2 Client ID for API operations.\n",
        "defaultInfo": {
          "environment": [
            "HCP_CLIENT_ID"
          ]
        }
      },
      "clientSecret": {
        "type": "string",
        "description": "The OAuth2 Client Secret for API operations.\n",
        "defaultInfo": {
          "environment": [
            "HCP_CLIENT_SECRET"
          ]
        },
        "secret": true
      }
    }
  },
  "resources": {
    "hcp:index/awsNetworkPeering:AwsNetworkPeering": {
      "description": "The AWS network peering resource allows you to manage a network peering between an HVN and a peer AWS VPC.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as hcp from \"@grapl/pulumi-hcp\";\n\nconst main = new hcp.Hvn(\"main\", {\n    hvnId: \"main-hvn\",\n    cloudProvider: \"aws\",\n    region: \"us-west-2\",\n    cidrBlock: \"172.25.16.0/20\",\n});\nconst peerVpc = new aws.ec2.Vpc(\"peerVpc\", {cidrBlock: \"172.31.0.0/16\"});\nconst peerArn = aws.getArnOutput({\n    arn: peerVpc.arn,\n});\nconst dev = new hcp.AwsNetworkPeering(\"dev\", {\n    hvnId: main.hvnId,\n    peeringId: \"dev\",\n    peerVpcId: peerVpc.id,\n    peerAccountId: peerVpc.ownerId,\n    peerVpcRegion: peerArn.apply(peerArn => peerArn.region),\n});\nconst main_to_dev = new hcp.HvnRoute(\"main-to-dev\", {\n    hvnLink: main.selfLink,\n    hvnRouteId: \"main-to-dev\",\n    destinationCidr: \"172.31.0.0/16\",\n    targetLink: dev.selfLink,\n});\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", {\n    vpcPeeringConnectionId: dev.providerPeeringId,\n    autoAccept: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_hcp as hcp\n\nmain = hcp.Hvn(\"main\",\n    hvn_id=\"main-hvn\",\n    cloud_provider=\"aws\",\n    region=\"us-west-2\",\n    cidr_block=\"172.25.16.0/20\")\npeer_vpc = aws.ec2.Vpc(\"peerVpc\", cidr_block=\"172.31.0.0/16\")\npeer_arn = aws.get_arn_output(arn=peer_vpc.arn)\ndev = hcp.AwsNetworkPeering(\"dev\",\n    hvn_id=main.hvn_id,\n    peering_id=\"dev\",\n    peer_vpc_id=peer_vpc.id,\n    peer_account_id=peer_vpc.owner_id,\n    peer_vpc_region=peer_arn.region)\nmain_to_dev = hcp.HvnRoute(\"main-to-dev\",\n    hvn_link=main.self_link,\n    hvn_route_id=\"main-to-dev\",\n    destination_cidr=\"172.31.0.0/16\",\n    target_link=dev.self_link)\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\",\n    vpc_peering_connection_id=dev.provider_peering_id,\n    auto_accept=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var main = new Hcp.Hvn(\"main\", new()\n    {\n        HvnId = \"main-hvn\",\n        CloudProvider = \"aws\",\n        Region = \"us-west-2\",\n        CidrBlock = \"172.25.16.0/20\",\n    });\n\n    var peerVpc = new Aws.Ec2.Vpc(\"peerVpc\", new()\n    {\n        CidrBlock = \"172.31.0.0/16\",\n    });\n\n    var peerArn = Aws.GetArn.Invoke(new()\n    {\n        Arn = peerVpc.Arn,\n    });\n\n    var dev = new Hcp.AwsNetworkPeering(\"dev\", new()\n    {\n        HvnId = main.HvnId,\n        PeeringId = \"dev\",\n        PeerVpcId = peerVpc.Id,\n        PeerAccountId = peerVpc.OwnerId,\n        PeerVpcRegion = peerArn.Apply(getArnResult => getArnResult.Region),\n    });\n\n    var main_to_dev = new Hcp.HvnRoute(\"main-to-dev\", new()\n    {\n        HvnLink = main.SelfLink,\n        HvnRouteId = \"main-to-dev\",\n        DestinationCidr = \"172.31.0.0/16\",\n        TargetLink = dev.SelfLink,\n    });\n\n    var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", new()\n    {\n        VpcPeeringConnectionId = dev.ProviderPeeringId,\n        AutoAccept = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := hcp.NewHvn(ctx, \"main\", &hcp.HvnArgs{\n\t\t\tHvnId:         pulumi.String(\"main-hvn\"),\n\t\t\tCloudProvider: pulumi.String(\"aws\"),\n\t\t\tRegion:        pulumi.String(\"us-west-2\"),\n\t\t\tCidrBlock:     pulumi.String(\"172.25.16.0/20\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peerVpc\", &ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.31.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerArn := aws.GetArnOutput(ctx, GetArnOutputArgs{\n\t\t\tArn: peerVpc.Arn,\n\t\t}, nil)\n\t\tdev, err := hcp.NewAwsNetworkPeering(ctx, \"dev\", &hcp.AwsNetworkPeeringArgs{\n\t\t\tHvnId:         main.HvnId,\n\t\t\tPeeringId:     pulumi.String(\"dev\"),\n\t\t\tPeerVpcId:     peerVpc.ID(),\n\t\t\tPeerAccountId: peerVpc.OwnerId,\n\t\t\tPeerVpcRegion: peerArn.ApplyT(func(peerArn GetArnResult) (string, error) {\n\t\t\t\treturn peerArn.Region, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hcp.NewHvnRoute(ctx, \"main-to-dev\", &hcp.HvnRouteArgs{\n\t\t\tHvnLink:         main.SelfLink,\n\t\t\tHvnRouteId:      pulumi.String(\"main-to-dev\"),\n\t\t\tDestinationCidr: pulumi.String(\"172.31.0.0/16\"),\n\t\t\tTargetLink:      dev.SelfLink,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peerVpcPeeringConnectionAccepter\", &ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: dev.ProviderPeeringId,\n\t\t\tAutoAccept:             pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.Hvn;\nimport com.pulumi.hcp.HvnArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetArnArgs;\nimport com.pulumi.hcp.AwsNetworkPeering;\nimport com.pulumi.hcp.AwsNetworkPeeringArgs;\nimport com.pulumi.hcp.HvnRoute;\nimport com.pulumi.hcp.HvnRouteArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var main = new Hvn(\"main\", HvnArgs.builder()        \n            .hvnId(\"main-hvn\")\n            .cloudProvider(\"aws\")\n            .region(\"us-west-2\")\n            .cidrBlock(\"172.25.16.0/20\")\n            .build());\n\n        var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder()        \n            .cidrBlock(\"172.31.0.0/16\")\n            .build());\n\n        final var peerArn = AwsFunctions.getArn(GetArnArgs.builder()\n            .arn(peerVpc.arn())\n            .build());\n\n        var dev = new AwsNetworkPeering(\"dev\", AwsNetworkPeeringArgs.builder()        \n            .hvnId(main.hvnId())\n            .peeringId(\"dev\")\n            .peerVpcId(peerVpc.id())\n            .peerAccountId(peerVpc.ownerId())\n            .peerVpcRegion(peerArn.applyValue(getArnResult -> getArnResult).applyValue(peerArn -> peerArn.applyValue(getArnResult -> getArnResult.region())))\n            .build());\n\n        var main_to_dev = new HvnRoute(\"main-to-dev\", HvnRouteArgs.builder()        \n            .hvnLink(main.selfLink())\n            .hvnRouteId(\"main-to-dev\")\n            .destinationCidr(\"172.31.0.0/16\")\n            .targetLink(dev.selfLink())\n            .build());\n\n        var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder()        \n            .vpcPeeringConnectionId(dev.providerPeeringId())\n            .autoAccept(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: hcp:Hvn\n    properties:\n      hvnId: main-hvn\n      cloudProvider: aws\n      region: us-west-2\n      cidrBlock: 172.25.16.0/20\n  peerVpc:\n    type: aws:ec2:Vpc\n    properties:\n      cidrBlock: 172.31.0.0/16\n  dev:\n    type: hcp:AwsNetworkPeering\n    properties:\n      hvnId: ${main.hvnId}\n      peeringId: dev\n      peerVpcId: ${peerVpc.id}\n      peerAccountId: ${peerVpc.ownerId}\n      peerVpcRegion: ${peerArn.region}\n  main-to-dev:\n    type: hcp:HvnRoute\n    properties:\n      hvnLink: ${main.selfLink}\n      hvnRouteId: main-to-dev\n      destinationCidr: 172.31.0.0/16\n      targetLink: ${dev.selfLink}\n  peerVpcPeeringConnectionAccepter:\n    type: aws:ec2:VpcPeeringConnectionAccepter\n    properties:\n      vpcPeeringConnectionId: ${dev.providerPeeringId}\n      autoAccept: true\nvariables:\n  peerArn:\n    Fn::Invoke:\n      Function: aws:getArn\n      Arguments:\n        arn: ${peerVpc.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# The import ID is {hvn_id}:{peering_id}\n\n```sh\n $ pulumi import hcp:index/awsNetworkPeering:AwsNetworkPeering peer main-hvn:11eb60b3-d4ec-5eed-aacc-0242ac120015\n```\n\n ",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The time that the network peering was created.\n"
        },
        "expiresAt": {
          "type": "string",
          "description": "The time after which the network peering will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n"
        },
        "hvnId": {
          "type": "string",
          "description": "The ID of the HashiCorp Virtual Network (HVN).\n"
        },
        "organizationId": {
          "type": "string",
          "description": "The ID of the HCP organization where the network peering is located. Always matches the HVN's organization.\n"
        },
        "peerAccountId": {
          "type": "string",
          "description": "The account ID of the peer VPC in AWS.\n"
        },
        "peerVpcId": {
          "type": "string",
          "description": "The ID of the peer VPC in AWS.\n"
        },
        "peerVpcRegion": {
          "type": "string",
          "description": "The region of the peer VPC in AWS.\n"
        },
        "peeringId": {
          "type": "string",
          "description": "The ID of the network peering.\n"
        },
        "projectId": {
          "type": "string",
          "description": "The ID of the HCP project where the network peering is located. Always matches the HVN's project.\n"
        },
        "providerPeeringId": {
          "type": "string",
          "description": "The peering connection ID used by AWS.\n"
        },
        "selfLink": {
          "type": "string",
          "description": "A unique URL identifying the network peering.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the network peering.\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "expiresAt",
        "hvnId",
        "organizationId",
        "peerAccountId",
        "peerVpcId",
        "peerVpcRegion",
        "peeringId",
        "projectId",
        "providerPeeringId",
        "selfLink",
        "state"
      ],
      "inputProperties": {
        "hvnId": {
          "type": "string",
          "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
          "willReplaceOnChanges": true
        },
        "peerAccountId": {
          "type": "string",
          "description": "The account ID of the peer VPC in AWS.\n",
          "willReplaceOnChanges": true
        },
        "peerVpcId": {
          "type": "string",
          "description": "The ID of the peer VPC in AWS.\n",
          "willReplaceOnChanges": true
        },
        "peerVpcRegion": {
          "type": "string",
          "description": "The region of the peer VPC in AWS.\n",
          "willReplaceOnChanges": true
        },
        "peeringId": {
          "type": "string",
          "description": "The ID of the network peering.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "hvnId",
        "peerAccountId",
        "peerVpcId",
        "peerVpcRegion",
        "peeringId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AwsNetworkPeering resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The time that the network peering was created.\n"
          },
          "expiresAt": {
            "type": "string",
            "description": "The time after which the network peering will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n"
          },
          "hvnId": {
            "type": "string",
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
            "willReplaceOnChanges": true
          },
          "organizationId": {
            "type": "string",
            "description": "The ID of the HCP organization where the network peering is located. Always matches the HVN's organization.\n"
          },
          "peerAccountId": {
            "type": "string",
            "description": "The account ID of the peer VPC in AWS.\n",
            "willReplaceOnChanges": true
          },
          "peerVpcId": {
            "type": "string",
            "description": "The ID of the peer VPC in AWS.\n",
            "willReplaceOnChanges": true
          },
          "peerVpcRegion": {
            "type": "string",
            "description": "The region of the peer VPC in AWS.\n",
            "willReplaceOnChanges": true
          },
          "peeringId": {
            "type": "string",
            "description": "The ID of the network peering.\n",
            "willReplaceOnChanges": true
          },
          "projectId": {
            "type": "string",
            "description": "The ID of the HCP project where the network peering is located. Always matches the HVN's project.\n"
          },
          "providerPeeringId": {
            "type": "string",
            "description": "The peering connection ID used by AWS.\n"
          },
          "selfLink": {
            "type": "string",
            "description": "A unique URL identifying the network peering.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the network peering.\n"
          }
        },
        "type": "object"
      }
    },
    "hcp:index/awsTransitGatewayAttachment:AwsTransitGatewayAttachment": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as hcp from \"@grapl/pulumi-hcp\";\n\nconst main = new hcp.Hvn(\"main\", {\n    hvnId: \"main-hvn\",\n    cloudProvider: \"aws\",\n    region: \"us-west-2\",\n    cidrBlock: \"172.25.16.0/20\",\n});\nconst exampleVpc = new aws.ec2.Vpc(\"exampleVpc\", {cidrBlock: \"172.31.0.0/16\"});\nconst exampleTransitGateway = new aws.ec2transitgateway.TransitGateway(\"exampleTransitGateway\", {tags: {\n    Name: \"example-tgw\",\n}});\nconst exampleResourceShare = new aws.ram.ResourceShare(\"exampleResourceShare\", {allowExternalPrincipals: true});\nconst examplePrincipalAssociation = new aws.ram.PrincipalAssociation(\"examplePrincipalAssociation\", {\n    resourceShareArn: exampleResourceShare.arn,\n    principal: main.providerAccountId,\n});\nconst exampleResourceAssociation = new aws.ram.ResourceAssociation(\"exampleResourceAssociation\", {\n    resourceShareArn: exampleResourceShare.arn,\n    resourceArn: exampleTransitGateway.arn,\n});\nconst exampleAwsTransitGatewayAttachment = new hcp.AwsTransitGatewayAttachment(\"exampleAwsTransitGatewayAttachment\", {\n    hvnId: main.hvnId,\n    transitGatewayAttachmentId: \"example-tgw-attachment\",\n    transitGatewayId: exampleTransitGateway.id,\n    resourceShareArn: exampleResourceShare.arn,\n}, {\n    dependsOn: [\n        examplePrincipalAssociation,\n        exampleResourceAssociation,\n    ],\n});\nconst route = new hcp.HvnRoute(\"route\", {\n    hvnLink: main.selfLink,\n    hvnRouteId: \"hvn-to-tgw-attachment\",\n    destinationCidr: exampleVpc.cidrBlock,\n    targetLink: exampleAwsTransitGatewayAttachment.selfLink,\n});\nconst exampleVpcAttachmentAccepter = new aws.ec2transitgateway.VpcAttachmentAccepter(\"exampleVpcAttachmentAccepter\", {transitGatewayAttachmentId: exampleAwsTransitGatewayAttachment.providerTransitGatewayAttachmentId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_hcp as hcp\n\nmain = hcp.Hvn(\"main\",\n    hvn_id=\"main-hvn\",\n    cloud_provider=\"aws\",\n    region=\"us-west-2\",\n    cidr_block=\"172.25.16.0/20\")\nexample_vpc = aws.ec2.Vpc(\"exampleVpc\", cidr_block=\"172.31.0.0/16\")\nexample_transit_gateway = aws.ec2transitgateway.TransitGateway(\"exampleTransitGateway\", tags={\n    \"Name\": \"example-tgw\",\n})\nexample_resource_share = aws.ram.ResourceShare(\"exampleResourceShare\", allow_external_principals=True)\nexample_principal_association = aws.ram.PrincipalAssociation(\"examplePrincipalAssociation\",\n    resource_share_arn=example_resource_share.arn,\n    principal=main.provider_account_id)\nexample_resource_association = aws.ram.ResourceAssociation(\"exampleResourceAssociation\",\n    resource_share_arn=example_resource_share.arn,\n    resource_arn=example_transit_gateway.arn)\nexample_aws_transit_gateway_attachment = hcp.AwsTransitGatewayAttachment(\"exampleAwsTransitGatewayAttachment\",\n    hvn_id=main.hvn_id,\n    transit_gateway_attachment_id=\"example-tgw-attachment\",\n    transit_gateway_id=example_transit_gateway.id,\n    resource_share_arn=example_resource_share.arn,\n    opts=pulumi.ResourceOptions(depends_on=[\n            example_principal_association,\n            example_resource_association,\n        ]))\nroute = hcp.HvnRoute(\"route\",\n    hvn_link=main.self_link,\n    hvn_route_id=\"hvn-to-tgw-attachment\",\n    destination_cidr=example_vpc.cidr_block,\n    target_link=example_aws_transit_gateway_attachment.self_link)\nexample_vpc_attachment_accepter = aws.ec2transitgateway.VpcAttachmentAccepter(\"exampleVpcAttachmentAccepter\", transit_gateway_attachment_id=example_aws_transit_gateway_attachment.provider_transit_gateway_attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var main = new Hcp.Hvn(\"main\", new()\n    {\n        HvnId = \"main-hvn\",\n        CloudProvider = \"aws\",\n        Region = \"us-west-2\",\n        CidrBlock = \"172.25.16.0/20\",\n    });\n\n    var exampleVpc = new Aws.Ec2.Vpc(\"exampleVpc\", new()\n    {\n        CidrBlock = \"172.31.0.0/16\",\n    });\n\n    var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway(\"exampleTransitGateway\", new()\n    {\n        Tags = \n        {\n            { \"Name\", \"example-tgw\" },\n        },\n    });\n\n    var exampleResourceShare = new Aws.Ram.ResourceShare(\"exampleResourceShare\", new()\n    {\n        AllowExternalPrincipals = true,\n    });\n\n    var examplePrincipalAssociation = new Aws.Ram.PrincipalAssociation(\"examplePrincipalAssociation\", new()\n    {\n        ResourceShareArn = exampleResourceShare.Arn,\n        Principal = main.ProviderAccountId,\n    });\n\n    var exampleResourceAssociation = new Aws.Ram.ResourceAssociation(\"exampleResourceAssociation\", new()\n    {\n        ResourceShareArn = exampleResourceShare.Arn,\n        ResourceArn = exampleTransitGateway.Arn,\n    });\n\n    var exampleAwsTransitGatewayAttachment = new Hcp.AwsTransitGatewayAttachment(\"exampleAwsTransitGatewayAttachment\", new()\n    {\n        HvnId = main.HvnId,\n        TransitGatewayAttachmentId = \"example-tgw-attachment\",\n        TransitGatewayId = exampleTransitGateway.Id,\n        ResourceShareArn = exampleResourceShare.Arn,\n    }, new CustomResourceOptions\n    {\n        DependsOn = new[]\n        {\n            examplePrincipalAssociation,\n            exampleResourceAssociation,\n        },\n    });\n\n    var route = new Hcp.HvnRoute(\"route\", new()\n    {\n        HvnLink = main.SelfLink,\n        HvnRouteId = \"hvn-to-tgw-attachment\",\n        DestinationCidr = exampleVpc.CidrBlock,\n        TargetLink = exampleAwsTransitGatewayAttachment.SelfLink,\n    });\n\n    var exampleVpcAttachmentAccepter = new Aws.Ec2TransitGateway.VpcAttachmentAccepter(\"exampleVpcAttachmentAccepter\", new()\n    {\n        TransitGatewayAttachmentId = exampleAwsTransitGatewayAttachment.ProviderTransitGatewayAttachmentId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := hcp.NewHvn(ctx, \"main\", &hcp.HvnArgs{\n\t\t\tHvnId:         pulumi.String(\"main-hvn\"),\n\t\t\tCloudProvider: pulumi.String(\"aws\"),\n\t\t\tRegion:        pulumi.String(\"us-west-2\"),\n\t\t\tCidrBlock:     pulumi.String(\"172.25.16.0/20\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"exampleVpc\", &ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.31.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, \"exampleTransitGateway\", &ec2transitgateway.TransitGatewayArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example-tgw\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceShare, err := ram.NewResourceShare(ctx, \"exampleResourceShare\", &ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePrincipalAssociation, err := ram.NewPrincipalAssociation(ctx, \"examplePrincipalAssociation\", &ram.PrincipalAssociationArgs{\n\t\t\tResourceShareArn: exampleResourceShare.Arn,\n\t\t\tPrincipal:        main.ProviderAccountId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceAssociation, err := ram.NewResourceAssociation(ctx, \"exampleResourceAssociation\", &ram.ResourceAssociationArgs{\n\t\t\tResourceShareArn: exampleResourceShare.Arn,\n\t\t\tResourceArn:      exampleTransitGateway.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAwsTransitGatewayAttachment, err := hcp.NewAwsTransitGatewayAttachment(ctx, \"exampleAwsTransitGatewayAttachment\", &hcp.AwsTransitGatewayAttachmentArgs{\n\t\t\tHvnId:                      main.HvnId,\n\t\t\tTransitGatewayAttachmentId: pulumi.String(\"example-tgw-attachment\"),\n\t\t\tTransitGatewayId:           exampleTransitGateway.ID(),\n\t\t\tResourceShareArn:           exampleResourceShare.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texamplePrincipalAssociation,\n\t\t\texampleResourceAssociation,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hcp.NewHvnRoute(ctx, \"route\", &hcp.HvnRouteArgs{\n\t\t\tHvnLink:         main.SelfLink,\n\t\t\tHvnRouteId:      pulumi.String(\"hvn-to-tgw-attachment\"),\n\t\t\tDestinationCidr: exampleVpc.CidrBlock,\n\t\t\tTargetLink:      exampleAwsTransitGatewayAttachment.SelfLink,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewVpcAttachmentAccepter(ctx, \"exampleVpcAttachmentAccepter\", &ec2transitgateway.VpcAttachmentAccepterArgs{\n\t\t\tTransitGatewayAttachmentId: exampleAwsTransitGatewayAttachment.ProviderTransitGatewayAttachmentId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.Hvn;\nimport com.pulumi.hcp.HvnArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2transitgateway.TransitGateway;\nimport com.pulumi.aws.ec2transitgateway.TransitGatewayArgs;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport com.pulumi.aws.ram.ResourceAssociation;\nimport com.pulumi.aws.ram.ResourceAssociationArgs;\nimport com.pulumi.hcp.AwsTransitGatewayAttachment;\nimport com.pulumi.hcp.AwsTransitGatewayAttachmentArgs;\nimport com.pulumi.hcp.HvnRoute;\nimport com.pulumi.hcp.HvnRouteArgs;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentAccepter;\nimport com.pulumi.aws.ec2transitgateway.VpcAttachmentAccepterArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var main = new Hvn(\"main\", HvnArgs.builder()        \n            .hvnId(\"main-hvn\")\n            .cloudProvider(\"aws\")\n            .region(\"us-west-2\")\n            .cidrBlock(\"172.25.16.0/20\")\n            .build());\n\n        var exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder()        \n            .cidrBlock(\"172.31.0.0/16\")\n            .build());\n\n        var exampleTransitGateway = new TransitGateway(\"exampleTransitGateway\", TransitGatewayArgs.builder()        \n            .tags(Map.of(\"Name\", \"example-tgw\"))\n            .build());\n\n        var exampleResourceShare = new ResourceShare(\"exampleResourceShare\", ResourceShareArgs.builder()        \n            .allowExternalPrincipals(true)\n            .build());\n\n        var examplePrincipalAssociation = new PrincipalAssociation(\"examplePrincipalAssociation\", PrincipalAssociationArgs.builder()        \n            .resourceShareArn(exampleResourceShare.arn())\n            .principal(main.providerAccountId())\n            .build());\n\n        var exampleResourceAssociation = new ResourceAssociation(\"exampleResourceAssociation\", ResourceAssociationArgs.builder()        \n            .resourceShareArn(exampleResourceShare.arn())\n            .resourceArn(exampleTransitGateway.arn())\n            .build());\n\n        var exampleAwsTransitGatewayAttachment = new AwsTransitGatewayAttachment(\"exampleAwsTransitGatewayAttachment\", AwsTransitGatewayAttachmentArgs.builder()        \n            .hvnId(main.hvnId())\n            .transitGatewayAttachmentId(\"example-tgw-attachment\")\n            .transitGatewayId(exampleTransitGateway.id())\n            .resourceShareArn(exampleResourceShare.arn())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    examplePrincipalAssociation,\n                    exampleResourceAssociation)\n                .build());\n\n        var route = new HvnRoute(\"route\", HvnRouteArgs.builder()        \n            .hvnLink(main.selfLink())\n            .hvnRouteId(\"hvn-to-tgw-attachment\")\n            .destinationCidr(exampleVpc.cidrBlock())\n            .targetLink(exampleAwsTransitGatewayAttachment.selfLink())\n            .build());\n\n        var exampleVpcAttachmentAccepter = new VpcAttachmentAccepter(\"exampleVpcAttachmentAccepter\", VpcAttachmentAccepterArgs.builder()        \n            .transitGatewayAttachmentId(exampleAwsTransitGatewayAttachment.providerTransitGatewayAttachmentId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: hcp:Hvn\n    properties:\n      hvnId: main-hvn\n      cloudProvider: aws\n      region: us-west-2\n      cidrBlock: 172.25.16.0/20\n  exampleVpc:\n    type: aws:ec2:Vpc\n    properties:\n      cidrBlock: 172.31.0.0/16\n  exampleTransitGateway:\n    type: aws:ec2transitgateway:TransitGateway\n    properties:\n      tags:\n        Name: example-tgw\n  exampleResourceShare:\n    type: aws:ram:ResourceShare\n    properties:\n      allowExternalPrincipals: true\n  examplePrincipalAssociation:\n    type: aws:ram:PrincipalAssociation\n    properties:\n      resourceShareArn: ${exampleResourceShare.arn}\n      principal: ${main.providerAccountId}\n  exampleResourceAssociation:\n    type: aws:ram:ResourceAssociation\n    properties:\n      resourceShareArn: ${exampleResourceShare.arn}\n      resourceArn: ${exampleTransitGateway.arn}\n  exampleAwsTransitGatewayAttachment:\n    type: hcp:AwsTransitGatewayAttachment\n    properties:\n      hvnId: ${main.hvnId}\n      transitGatewayAttachmentId: example-tgw-attachment\n      transitGatewayId: ${exampleTransitGateway.id}\n      resourceShareArn: ${exampleResourceShare.arn}\n    options:\n      dependson:\n        - ${examplePrincipalAssociation}\n        - ${exampleResourceAssociation}\n  route:\n    type: hcp:HvnRoute\n    properties:\n      hvnLink: ${main.selfLink}\n      hvnRouteId: hvn-to-tgw-attachment\n      destinationCidr: ${exampleVpc.cidrBlock}\n      targetLink: ${exampleAwsTransitGatewayAttachment.selfLink}\n  exampleVpcAttachmentAccepter:\n    type: aws:ec2transitgateway:VpcAttachmentAccepter\n    properties:\n      transitGatewayAttachmentId: ${exampleAwsTransitGatewayAttachment.providerTransitGatewayAttachmentId}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# The import ID is {hvn_id}:{transit_gateway_attachment_id}\n\n```sh\n $ pulumi import hcp:index/awsTransitGatewayAttachment:AwsTransitGatewayAttachment example main-hvn:example-tgw-attachment\n```\n\n ",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The time that the transit gateway attachment was created.\n"
        },
        "expiresAt": {
          "type": "string",
          "description": "The time after which the transit gateway attachment will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n"
        },
        "hvnId": {
          "type": "string",
          "description": "The ID of the HashiCorp Virtual Network (HVN).\n"
        },
        "organizationId": {
          "type": "string",
          "description": "The ID of the HCP organization where the transit gateway attachment is located. Always matches the HVN's organization.\n"
        },
        "projectId": {
          "type": "string",
          "description": "The ID of the HCP project where the transit gateway attachment is located. Always matches the HVN's project.\n"
        },
        "providerTransitGatewayAttachmentId": {
          "type": "string",
          "description": "The transit gateway attachment ID used by AWS.\n"
        },
        "resourceShareArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) of the Resource Share that is needed to grant HCP access to the transit gateway in AWS.\nThe Resource Share should be associated with the HCP AWS account principal (see\n[aws_ram_principal_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_principal_association))\nand the transit gateway resource (see\n[aws_ram_resource_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_association))\n"
        },
        "selfLink": {
          "type": "string",
          "description": "A unique URL identifying the transit gateway attachment.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the transit gateway attachment.\n"
        },
        "transitGatewayAttachmentId": {
          "type": "string",
          "description": "The user-settable name of the transit gateway attachment in HCP.\n"
        },
        "transitGatewayId": {
          "type": "string",
          "description": "The ID of the user-owned transit gateway in AWS. The AWS region of the transit gateway must match the HVN.\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "expiresAt",
        "hvnId",
        "organizationId",
        "projectId",
        "providerTransitGatewayAttachmentId",
        "resourceShareArn",
        "selfLink",
        "state",
        "transitGatewayAttachmentId",
        "transitGatewayId"
      ],
      "inputProperties": {
        "hvnId": {
          "type": "string",
          "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
          "willReplaceOnChanges": true
        },
        "resourceShareArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) of the Resource Share that is needed to grant HCP access to the transit gateway in AWS.\nThe Resource Share should be associated with the HCP AWS account principal (see\n[aws_ram_principal_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_principal_association))\nand the transit gateway resource (see\n[aws_ram_resource_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_association))\n",
          "willReplaceOnChanges": true
        },
        "transitGatewayAttachmentId": {
          "type": "string",
          "description": "The user-settable name of the transit gateway attachment in HCP.\n",
          "willReplaceOnChanges": true
        },
        "transitGatewayId": {
          "type": "string",
          "description": "The ID of the user-owned transit gateway in AWS. The AWS region of the transit gateway must match the HVN.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "hvnId",
        "resourceShareArn",
        "transitGatewayAttachmentId",
        "transitGatewayId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AwsTransitGatewayAttachment resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The time that the transit gateway attachment was created.\n"
          },
          "expiresAt": {
            "type": "string",
            "description": "The time after which the transit gateway attachment will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n"
          },
          "hvnId": {
            "type": "string",
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
            "willReplaceOnChanges": true
          },
          "organizationId": {
            "type": "string",
            "description": "The ID of the HCP organization where the transit gateway attachment is located. Always matches the HVN's organization.\n"
          },
          "projectId": {
            "type": "string",
            "description": "The ID of the HCP project where the transit gateway attachment is located. Always matches the HVN's project.\n"
          },
          "providerTransitGatewayAttachmentId": {
            "type": "string",
            "description": "The transit gateway attachment ID used by AWS.\n"
          },
          "resourceShareArn": {
            "type": "string",
            "description": "The Amazon Resource Name (ARN) of the Resource Share that is needed to grant HCP access to the transit gateway in AWS.\nThe Resource Share should be associated with the HCP AWS account principal (see\n[aws_ram_principal_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_principal_association))\nand the transit gateway resource (see\n[aws_ram_resource_association](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_association))\n",
            "willReplaceOnChanges": true
          },
          "selfLink": {
            "type": "string",
            "description": "A unique URL identifying the transit gateway attachment.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the transit gateway attachment.\n"
          },
          "transitGatewayAttachmentId": {
            "type": "string",
            "description": "The user-settable name of the transit gateway attachment in HCP.\n",
            "willReplaceOnChanges": true
          },
          "transitGatewayId": {
            "type": "string",
            "description": "The ID of the user-owned transit gateway in AWS. The AWS region of the transit gateway must match the HVN.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "hcp:index/azurePeeringConnection:AzurePeeringConnection": {
      "description": "> **Note:** This data source is currently in public beta.\n\nThe Azure peering connection resource allows you to manage a peering connection between an HVN and a peer Azure VNet.\n\n\n## Import\n\n# The import ID is {hvn_id}:{peering_id}\n\n```sh\n $ pulumi import hcp:index/azurePeeringConnection:AzurePeeringConnection peer main-hvn:199e7e96-4d5f-4456-91f3-b6cc71f1e561\n```\n\n ",
      "properties": {
        "applicationId": {
          "type": "string",
          "description": "The ID of the Azure application whose credentials are used to peer the HCP HVN's underlying VNet with the customer VNet.\n"
        },
        "azurePeeringId": {
          "type": "string",
          "description": "The peering connection ID used by Azure.\n"
        },
        "createdAt": {
          "type": "string",
          "description": "The time that the peering connection was created.\n"
        },
        "expiresAt": {
          "type": "string",
          "description": "The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n"
        },
        "hvnLink": {
          "type": "string",
          "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n"
        },
        "organizationId": {
          "type": "string",
          "description": "The ID of the HCP organization where the peering connection is located. Always matches the HVN's organization.\n"
        },
        "peerResourceGroupName": {
          "type": "string",
          "description": "The resource group name of the peer VNet in Azure.\n"
        },
        "peerSubscriptionId": {
          "type": "string",
          "description": "The subscription ID of the peer VNet in Azure.\n"
        },
        "peerTenantId": {
          "type": "string",
          "description": "The tenant ID of the peer VNet in Azure.\n"
        },
        "peerVnetName": {
          "type": "string",
          "description": "The name of the peer VNet in Azure.\n"
        },
        "peerVnetRegion": {
          "type": "string",
          "description": "The region of the peer VNet in Azure.\n"
        },
        "peeringId": {
          "type": "string",
          "description": "The ID of the peering connection.\n"
        },
        "projectId": {
          "type": "string",
          "description": "The ID of the HCP project where the peering connection is located. Always matches the HVN's project.\n"
        },
        "selfLink": {
          "type": "string",
          "description": "A unique URL identifying the peering connection.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the Azure peering connection.\n"
        }
      },
      "type": "object",
      "required": [
        "applicationId",
        "azurePeeringId",
        "createdAt",
        "expiresAt",
        "hvnLink",
        "organizationId",
        "peerResourceGroupName",
        "peerSubscriptionId",
        "peerTenantId",
        "peerVnetName",
        "peerVnetRegion",
        "peeringId",
        "projectId",
        "selfLink",
        "state"
      ],
      "inputProperties": {
        "hvnLink": {
          "type": "string",
          "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n",
          "willReplaceOnChanges": true
        },
        "peerResourceGroupName": {
          "type": "string",
          "description": "The resource group name of the peer VNet in Azure.\n",
          "willReplaceOnChanges": true
        },
        "peerSubscriptionId": {
          "type": "string",
          "description": "The subscription ID of the peer VNet in Azure.\n",
          "willReplaceOnChanges": true
        },
        "peerTenantId": {
          "type": "string",
          "description": "The tenant ID of the peer VNet in Azure.\n",
          "willReplaceOnChanges": true
        },
        "peerVnetName": {
          "type": "string",
          "description": "The name of the peer VNet in Azure.\n",
          "willReplaceOnChanges": true
        },
        "peerVnetRegion": {
          "type": "string",
          "description": "The region of the peer VNet in Azure.\n",
          "willReplaceOnChanges": true
        },
        "peeringId": {
          "type": "string",
          "description": "The ID of the peering connection.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "hvnLink",
        "peerResourceGroupName",
        "peerSubscriptionId",
        "peerTenantId",
        "peerVnetName",
        "peerVnetRegion",
        "peeringId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AzurePeeringConnection resources.\n",
        "properties": {
          "applicationId": {
            "type": "string",
            "description": "The ID of the Azure application whose credentials are used to peer the HCP HVN's underlying VNet with the customer VNet.\n"
          },
          "azurePeeringId": {
            "type": "string",
            "description": "The peering connection ID used by Azure.\n"
          },
          "createdAt": {
            "type": "string",
            "description": "The time that the peering connection was created.\n"
          },
          "expiresAt": {
            "type": "string",
            "description": "The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n"
          },
          "hvnLink": {
            "type": "string",
            "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n",
            "willReplaceOnChanges": true
          },
          "organizationId": {
            "type": "string",
            "description": "The ID of the HCP organization where the peering connection is located. Always matches the HVN's organization.\n"
          },
          "peerResourceGroupName": {
            "type": "string",
            "description": "The resource group name of the peer VNet in Azure.\n",
            "willReplaceOnChanges": true
          },
          "peerSubscriptionId": {
            "type": "string",
            "description": "The subscription ID of the peer VNet in Azure.\n",
            "willReplaceOnChanges": true
          },
          "peerTenantId": {
            "type": "string",
            "description": "The tenant ID of the peer VNet in Azure.\n",
            "willReplaceOnChanges": true
          },
          "peerVnetName": {
            "type": "string",
            "description": "The name of the peer VNet in Azure.\n",
            "willReplaceOnChanges": true
          },
          "peerVnetRegion": {
            "type": "string",
            "description": "The region of the peer VNet in Azure.\n",
            "willReplaceOnChanges": true
          },
          "peeringId": {
            "type": "string",
            "description": "The ID of the peering connection.\n",
            "willReplaceOnChanges": true
          },
          "projectId": {
            "type": "string",
            "description": "The ID of the HCP project where the peering connection is located. Always matches the HVN's project.\n"
          },
          "selfLink": {
            "type": "string",
            "description": "A unique URL identifying the peering connection.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the Azure peering connection.\n"
          }
        },
        "type": "object"
      }
    },
    "hcp:index/boundaryCluster:BoundaryCluster": {
      "description": "This resource allows you to manage an HCP Boundary cluster\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = new hcp.BoundaryCluster(\"example\", {\n    clusterId: \"boundary-cluster\",\n    password: \"Password123!\",\n    username: \"test-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.BoundaryCluster(\"example\",\n    cluster_id=\"boundary-cluster\",\n    password=\"Password123!\",\n    username=\"test-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Hcp.BoundaryCluster(\"example\", new()\n    {\n        ClusterId = \"boundary-cluster\",\n        Password = \"Password123!\",\n        Username = \"test-user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.NewBoundaryCluster(ctx, \"example\", &hcp.BoundaryClusterArgs{\n\t\t\tClusterId: pulumi.String(\"boundary-cluster\"),\n\t\t\tPassword:  pulumi.String(\"Password123!\"),\n\t\t\tUsername:  pulumi.String(\"test-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.BoundaryCluster;\nimport com.pulumi.hcp.BoundaryClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new BoundaryCluster(\"example\", BoundaryClusterArgs.builder()        \n            .clusterId(\"boundary-cluster\")\n            .password(\"Password123!\")\n            .username(\"test-user\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: hcp:BoundaryCluster\n    properties:\n      clusterId: boundary-cluster\n      password: Password123!\n      username: test-user\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# The import ID is {cluster_id}\n\n```sh\n $ pulumi import hcp:index/boundaryCluster:BoundaryCluster example boundary-cluster\n```\n\n ",
      "properties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the Boundary cluster\n"
        },
        "clusterUrl": {
          "type": "string",
          "description": "A unique URL identifying the Boundary cluster.\n"
        },
        "createdAt": {
          "type": "string",
          "description": "The time that the Boundary cluster was created.\n"
        },
        "password": {
          "type": "string",
          "description": "The password of the initial admin user. This must be at least 8 characters in length. Note that this may show up in logs, and it will be stored in the state file.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the Boundary cluster.\n"
        },
        "username": {
          "type": "string",
          "description": "The username of the initial admin user. This must be at least 3 characters in length, alphanumeric, hyphen, or period.\n"
        }
      },
      "type": "object",
      "required": [
        "clusterId",
        "clusterUrl",
        "createdAt",
        "password",
        "state",
        "username"
      ],
      "inputProperties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the Boundary cluster\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "The password of the initial admin user. This must be at least 8 characters in length. Note that this may show up in logs, and it will be stored in the state file.\n",
          "willReplaceOnChanges": true
        },
        "username": {
          "type": "string",
          "description": "The username of the initial admin user. This must be at least 3 characters in length, alphanumeric, hyphen, or period.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "clusterId",
        "password",
        "username"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering BoundaryCluster resources.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The ID of the Boundary cluster\n",
            "willReplaceOnChanges": true
          },
          "clusterUrl": {
            "type": "string",
            "description": "A unique URL identifying the Boundary cluster.\n"
          },
          "createdAt": {
            "type": "string",
            "description": "The time that the Boundary cluster was created.\n"
          },
          "password": {
            "type": "string",
            "description": "The password of the initial admin user. This must be at least 8 characters in length. Note that this may show up in logs, and it will be stored in the state file.\n",
            "willReplaceOnChanges": true
          },
          "state": {
            "type": "string",
            "description": "The state of the Boundary cluster.\n"
          },
          "username": {
            "type": "string",
            "description": "The username of the initial admin user. This must be at least 3 characters in length, alphanumeric, hyphen, or period.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "hcp:index/consulCluster:ConsulCluster": {
      "description": "> Consul on Azure is now available in public beta. [Get started with end-to-end deployment configuration](https://learn.hashicorp.com/tutorials/cloud/consul-end-to-end-overview).\n\nThe Consul cluster resource allows you to manage an HCP Consul cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@grapl/pulumi-hcp\";\n\nconst exampleHvn = new hcp.Hvn(\"exampleHvn\", {\n    hvnId: \"hvn\",\n    cloudProvider: \"aws\",\n    region: \"us-west-2\",\n    cidrBlock: \"172.25.16.0/20\",\n});\nconst exampleConsulCluster = new hcp.ConsulCluster(\"exampleConsulCluster\", {\n    clusterId: \"consul-cluster\",\n    hvnId: exampleHvn.hvnId,\n    tier: \"development\",\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample_hvn = hcp.Hvn(\"exampleHvn\",\n    hvn_id=\"hvn\",\n    cloud_provider=\"aws\",\n    region=\"us-west-2\",\n    cidr_block=\"172.25.16.0/20\")\nexample_consul_cluster = hcp.ConsulCluster(\"exampleConsulCluster\",\n    cluster_id=\"consul-cluster\",\n    hvn_id=example_hvn.hvn_id,\n    tier=\"development\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleHvn = new Hcp.Hvn(\"exampleHvn\", new()\n    {\n        HvnId = \"hvn\",\n        CloudProvider = \"aws\",\n        Region = \"us-west-2\",\n        CidrBlock = \"172.25.16.0/20\",\n    });\n\n    var exampleConsulCluster = new Hcp.ConsulCluster(\"exampleConsulCluster\", new()\n    {\n        ClusterId = \"consul-cluster\",\n        HvnId = exampleHvn.HvnId,\n        Tier = \"development\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleHvn, err := hcp.NewHvn(ctx, \"exampleHvn\", &hcp.HvnArgs{\n\t\t\tHvnId:         pulumi.String(\"hvn\"),\n\t\t\tCloudProvider: pulumi.String(\"aws\"),\n\t\t\tRegion:        pulumi.String(\"us-west-2\"),\n\t\t\tCidrBlock:     pulumi.String(\"172.25.16.0/20\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hcp.NewConsulCluster(ctx, \"exampleConsulCluster\", &hcp.ConsulClusterArgs{\n\t\t\tClusterId: pulumi.String(\"consul-cluster\"),\n\t\t\tHvnId:     exampleHvn.HvnId,\n\t\t\tTier:      pulumi.String(\"development\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.Hvn;\nimport com.pulumi.hcp.HvnArgs;\nimport com.pulumi.hcp.ConsulCluster;\nimport com.pulumi.hcp.ConsulClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleHvn = new Hvn(\"exampleHvn\", HvnArgs.builder()        \n            .hvnId(\"hvn\")\n            .cloudProvider(\"aws\")\n            .region(\"us-west-2\")\n            .cidrBlock(\"172.25.16.0/20\")\n            .build());\n\n        var exampleConsulCluster = new ConsulCluster(\"exampleConsulCluster\", ConsulClusterArgs.builder()        \n            .clusterId(\"consul-cluster\")\n            .hvnId(exampleHvn.hvnId())\n            .tier(\"development\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleHvn:\n    type: hcp:Hvn\n    properties:\n      hvnId: hvn\n      cloudProvider: aws\n      region: us-west-2\n      cidrBlock: 172.25.16.0/20\n  exampleConsulCluster:\n    type: hcp:ConsulCluster\n    properties:\n      clusterId: consul-cluster\n      hvnId: ${exampleHvn.hvnId}\n      tier: development\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# The import ID is {cluster_id}\n\n```sh\n $ pulumi import hcp:index/consulCluster:ConsulCluster example consul-cluster\n```\n\n ",
      "properties": {
        "autoHvnToHvnPeering": {
          "type": "boolean",
          "description": "Enables automatic HVN to HVN peering when creating a secondary cluster in a federation. The alternative to using the auto-accept feature is to create an `hcp.HvnPeeringConnection` resource that explicitly defines the HVN resources that are allowed to communicate with each other.\n"
        },
        "cloudProvider": {
          "type": "string",
          "description": "The provider where the HCP Consul cluster is located.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Consul cluster.\n"
        },
        "connectEnabled": {
          "type": "boolean",
          "description": "Denotes the Consul connect feature should be enabled for this cluster.  Default to true.\n"
        },
        "consulAutomaticUpgrades": {
          "type": "boolean",
          "description": "Denotes that automatic Consul upgrades are enabled.\n"
        },
        "consulCaFile": {
          "type": "string",
          "description": "The cluster CA file encoded as a Base64 string.\n"
        },
        "consulConfigFile": {
          "type": "string",
          "description": "The cluster config encoded as a Base64 string.\n"
        },
        "consulPrivateEndpointUrl": {
          "type": "string",
          "description": "The private URL for the Consul UI.\n"
        },
        "consulPublicEndpointUrl": {
          "type": "string",
          "description": "The public URL for the Consul UI. This will be empty if `public_endpoint` is `false`.\n"
        },
        "consulRootTokenAccessorId": {
          "type": "string",
          "description": "The accessor ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcp_consul_root_token` resource, this field is no longer valid.\n"
        },
        "consulRootTokenSecretId": {
          "type": "string",
          "description": "The secret ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcp_consul_root_token` resource, this field is no longer valid.\n"
        },
        "consulSnapshotInterval": {
          "type": "string",
          "description": "The Consul snapshot interval.\n"
        },
        "consulSnapshotRetention": {
          "type": "string",
          "description": "The retention policy for Consul snapshots.\n"
        },
        "consulVersion": {
          "type": "string",
          "description": "The Consul version of the cluster.\n"
        },
        "datacenter": {
          "type": "string",
          "description": "The Consul data center name of the cluster. If not specified, it is defaulted to the value of `cluster_id`.\n"
        },
        "hvnId": {
          "type": "string",
          "description": "The ID of the HVN this HCP Consul cluster is associated to.\n"
        },
        "minConsulVersion": {
          "type": "string",
          "description": "The minimum Consul version of the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP.\n"
        },
        "organizationId": {
          "type": "string",
          "description": "The ID of the organization this HCP Consul cluster is located in.\n"
        },
        "primaryLink": {
          "type": "string",
          "description": "The `self_link` of the HCP Consul cluster which is the primary in the federation setup with this HCP Consul cluster. If not specified, it is a standalone cluster.\n"
        },
        "projectId": {
          "type": "string",
          "description": "The ID of the project this HCP Consul cluster is located in.\n"
        },
        "publicEndpoint": {
          "type": "boolean",
          "description": "Denotes that the cluster has a public endpoint for the Consul UI. Defaults to false.\n"
        },
        "region": {
          "type": "string",
          "description": "The region where the HCP Consul cluster is located.\n"
        },
        "scale": {
          "type": "integer",
          "description": "The number of Consul server nodes in the cluster.\n"
        },
        "selfLink": {
          "type": "string",
          "description": "A unique URL identifying the HCP Consul cluster.\n"
        },
        "size": {
          "type": "string",
          "description": "The t-shirt size representation of each server VM that this Consul cluster is provisioned with. Valid option for development tier - `x_small`. Valid options for other tiers - `small`, `medium`, `large`. For more details - https://cloud.hashicorp.com/pricing/consul. Upgrading the size of a cluster after creation is allowed.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the HCP Consul cluster.\n"
        },
        "tier": {
          "type": "string",
          "description": "The tier that the HCP Consul cluster will be provisioned as.  Only `development`, `standard` and `plus` are available at this time. See [pricing information](https://cloud.hashicorp.com/pricing/consul).\n"
        }
      },
      "type": "object",
      "required": [
        "autoHvnToHvnPeering",
        "cloudProvider",
        "clusterId",
        "consulAutomaticUpgrades",
        "consulCaFile",
        "consulConfigFile",
        "consulPrivateEndpointUrl",
        "consulPublicEndpointUrl",
        "consulRootTokenAccessorId",
        "consulRootTokenSecretId",
        "consulSnapshotInterval",
        "consulSnapshotRetention",
        "consulVersion",
        "datacenter",
        "hvnId",
        "organizationId",
        "projectId",
        "region",
        "scale",
        "selfLink",
        "size",
        "state",
        "tier"
      ],
      "inputProperties": {
        "autoHvnToHvnPeering": {
          "type": "boolean",
          "description": "Enables automatic HVN to HVN peering when creating a secondary cluster in a federation. The alternative to using the auto-accept feature is to create an `hcp.HvnPeeringConnection` resource that explicitly defines the HVN resources that are allowed to communicate with each other.\n",
          "willReplaceOnChanges": true
        },
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Consul cluster.\n",
          "willReplaceOnChanges": true
        },
        "connectEnabled": {
          "type": "boolean",
          "description": "Denotes the Consul connect feature should be enabled for this cluster.  Default to true.\n",
          "willReplaceOnChanges": true
        },
        "datacenter": {
          "type": "string",
          "description": "The Consul data center name of the cluster. If not specified, it is defaulted to the value of `cluster_id`.\n",
          "willReplaceOnChanges": true
        },
        "hvnId": {
          "type": "string",
          "description": "The ID of the HVN this HCP Consul cluster is associated to.\n",
          "willReplaceOnChanges": true
        },
        "minConsulVersion": {
          "type": "string",
          "description": "The minimum Consul version of the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP.\n"
        },
        "primaryLink": {
          "type": "string",
          "description": "The `self_link` of the HCP Consul cluster which is the primary in the federation setup with this HCP Consul cluster. If not specified, it is a standalone cluster.\n",
          "willReplaceOnChanges": true
        },
        "publicEndpoint": {
          "type": "boolean",
          "description": "Denotes that the cluster has a public endpoint for the Consul UI. Defaults to false.\n",
          "willReplaceOnChanges": true
        },
        "size": {
          "type": "string",
          "description": "The t-shirt size representation of each server VM that this Consul cluster is provisioned with. Valid option for development tier - `x_small`. Valid options for other tiers - `small`, `medium`, `large`. For more details - https://cloud.hashicorp.com/pricing/consul. Upgrading the size of a cluster after creation is allowed.\n"
        },
        "tier": {
          "type": "string",
          "description": "The tier that the HCP Consul cluster will be provisioned as.  Only `development`, `standard` and `plus` are available at this time. See [pricing information](https://cloud.hashicorp.com/pricing/consul).\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "clusterId",
        "hvnId",
        "tier"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ConsulCluster resources.\n",
        "properties": {
          "autoHvnToHvnPeering": {
            "type": "boolean",
            "description": "Enables automatic HVN to HVN peering when creating a secondary cluster in a federation. The alternative to using the auto-accept feature is to create an `hcp.HvnPeeringConnection` resource that explicitly defines the HVN resources that are allowed to communicate with each other.\n",
            "willReplaceOnChanges": true
          },
          "cloudProvider": {
            "type": "string",
            "description": "The provider where the HCP Consul cluster is located.\n"
          },
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Consul cluster.\n",
            "willReplaceOnChanges": true
          },
          "connectEnabled": {
            "type": "boolean",
            "description": "Denotes the Consul connect feature should be enabled for this cluster.  Default to true.\n",
            "willReplaceOnChanges": true
          },
          "consulAutomaticUpgrades": {
            "type": "boolean",
            "description": "Denotes that automatic Consul upgrades are enabled.\n"
          },
          "consulCaFile": {
            "type": "string",
            "description": "The cluster CA file encoded as a Base64 string.\n"
          },
          "consulConfigFile": {
            "type": "string",
            "description": "The cluster config encoded as a Base64 string.\n"
          },
          "consulPrivateEndpointUrl": {
            "type": "string",
            "description": "The private URL for the Consul UI.\n"
          },
          "consulPublicEndpointUrl": {
            "type": "string",
            "description": "The public URL for the Consul UI. This will be empty if `public_endpoint` is `false`.\n"
          },
          "consulRootTokenAccessorId": {
            "type": "string",
            "description": "The accessor ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcp_consul_root_token` resource, this field is no longer valid.\n"
          },
          "consulRootTokenSecretId": {
            "type": "string",
            "description": "The secret ID of the root ACL token that is generated upon cluster creation. If a new root token is generated using the `hcp_consul_root_token` resource, this field is no longer valid.\n"
          },
          "consulSnapshotInterval": {
            "type": "string",
            "description": "The Consul snapshot interval.\n"
          },
          "consulSnapshotRetention": {
            "type": "string",
            "description": "The retention policy for Consul snapshots.\n"
          },
          "consulVersion": {
            "type": "string",
            "description": "The Consul version of the cluster.\n"
          },
          "datacenter": {
            "type": "string",
            "description": "The Consul data center name of the cluster. If not specified, it is defaulted to the value of `cluster_id`.\n",
            "willReplaceOnChanges": true
          },
          "hvnId": {
            "type": "string",
            "description": "The ID of the HVN this HCP Consul cluster is associated to.\n",
            "willReplaceOnChanges": true
          },
          "minConsulVersion": {
            "type": "string",
            "description": "The minimum Consul version of the cluster. If not specified, it is defaulted to the version that is currently recommended by HCP.\n"
          },
          "organizationId": {
            "type": "string",
            "description": "The ID of the organization this HCP Consul cluster is located in.\n"
          },
          "primaryLink": {
            "type": "string",
            "description": "The `self_link` of the HCP Consul cluster which is the primary in the federation setup with this HCP Consul cluster. If not specified, it is a standalone cluster.\n",
            "willReplaceOnChanges": true
          },
          "projectId": {
            "type": "string",
            "description": "The ID of the project this HCP Consul cluster is located in.\n"
          },
          "publicEndpoint": {
            "type": "boolean",
            "description": "Denotes that the cluster has a public endpoint for the Consul UI. Defaults to false.\n",
            "willReplaceOnChanges": true
          },
          "region": {
            "type": "string",
            "description": "The region where the HCP Consul cluster is located.\n"
          },
          "scale": {
            "type": "integer",
            "description": "The number of Consul server nodes in the cluster.\n"
          },
          "selfLink": {
            "type": "string",
            "description": "A unique URL identifying the HCP Consul cluster.\n"
          },
          "size": {
            "type": "string",
            "description": "The t-shirt size representation of each server VM that this Consul cluster is provisioned with. Valid option for development tier - `x_small`. Valid options for other tiers - `small`, `medium`, `large`. For more details - https://cloud.hashicorp.com/pricing/consul. Upgrading the size of a cluster after creation is allowed.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the HCP Consul cluster.\n"
          },
          "tier": {
            "type": "string",
            "description": "The tier that the HCP Consul cluster will be provisioned as.  Only `development`, `standard` and `plus` are available at this time. See [pricing information](https://cloud.hashicorp.com/pricing/consul).\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "hcp:index/consulClusterRootToken:ConsulClusterRootToken": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = new hcp.ConsulClusterRootToken(\"example\", {\n    clusterId: \"consul-cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.ConsulClusterRootToken(\"example\", cluster_id=\"consul-cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Hcp.ConsulClusterRootToken(\"example\", new()\n    {\n        ClusterId = \"consul-cluster\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.NewConsulClusterRootToken(ctx, \"example\", &hcp.ConsulClusterRootTokenArgs{\n\t\t\tClusterId: pulumi.String(\"consul-cluster\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.ConsulClusterRootToken;\nimport com.pulumi.hcp.ConsulClusterRootTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ConsulClusterRootToken(\"example\", ConsulClusterRootTokenArgs.builder()        \n            .clusterId(\"consul-cluster\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: hcp:ConsulClusterRootToken\n    properties:\n      clusterId: consul-cluster\n```\n{{% /example %}}\n{{% /examples %}}",
      "properties": {
        "accessorId": {
          "type": "string",
          "description": "The accessor ID of the root ACL token.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Consul cluster.\n"
        },
        "kubernetesSecret": {
          "type": "string",
          "description": "The root ACL token Base64 encoded in a Kubernetes secret.\n"
        },
        "secretId": {
          "type": "string",
          "description": "The secret ID of the root ACL token.\n"
        }
      },
      "type": "object",
      "required": [
        "accessorId",
        "clusterId",
        "kubernetesSecret",
        "secretId"
      ],
      "inputProperties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Consul cluster.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "clusterId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ConsulClusterRootToken resources.\n",
        "properties": {
          "accessorId": {
            "type": "string",
            "description": "The accessor ID of the root ACL token.\n"
          },
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Consul cluster.\n",
            "willReplaceOnChanges": true
          },
          "kubernetesSecret": {
            "type": "string",
            "description": "The root ACL token Base64 encoded in a Kubernetes secret.\n"
          },
          "secretId": {
            "type": "string",
            "description": "The secret ID of the root ACL token.\n"
          }
        },
        "type": "object"
      }
    },
    "hcp:index/consulSnapshot:ConsulSnapshot": {
      "description": "The Consul snapshot resource allows users to manage Consul snapshots of an HCP Consul cluster. Snapshots currently have a retention policy of 30 days.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\n// Note: Snapshots currently have a retention policy of 30 days. After that time, any Terraform\n// state refresh will note that a new snapshot resource will be created.\nconst example = new hcp.ConsulSnapshot(\"example\", {\n    clusterId: \"consul-cluster\",\n    snapshotName: \"my-snapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\n# Note: Snapshots currently have a retention policy of 30 days. After that time, any Terraform\n# state refresh will note that a new snapshot resource will be created.\nexample = hcp.ConsulSnapshot(\"example\",\n    cluster_id=\"consul-cluster\",\n    snapshot_name=\"my-snapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Note: Snapshots currently have a retention policy of 30 days. After that time, any Terraform\n    // state refresh will note that a new snapshot resource will be created.\n    var example = new Hcp.ConsulSnapshot(\"example\", new()\n    {\n        ClusterId = \"consul-cluster\",\n        SnapshotName = \"my-snapshot\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.NewConsulSnapshot(ctx, \"example\", &hcp.ConsulSnapshotArgs{\n\t\t\tClusterId:    pulumi.String(\"consul-cluster\"),\n\t\t\tSnapshotName: pulumi.String(\"my-snapshot\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.ConsulSnapshot;\nimport com.pulumi.hcp.ConsulSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ConsulSnapshot(\"example\", ConsulSnapshotArgs.builder()        \n            .clusterId(\"consul-cluster\")\n            .snapshotName(\"my-snapshot\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Note: Snapshots currently have a retention policy of 30 days. After that time, any Terraform\n  # // state refresh will note that a new snapshot resource will be created.\n  example:\n    type: hcp:ConsulSnapshot\n    properties:\n      clusterId: consul-cluster\n      snapshotName: my-snapshot\n```\n{{% /example %}}\n{{% /examples %}}",
      "properties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Consul cluster.\n"
        },
        "consulVersion": {
          "type": "string",
          "description": "The version of Consul at the time of snapshot creation.\n"
        },
        "organizationId": {
          "type": "string",
          "description": "The ID of the HCP organization where the project the HCP Consul cluster is located.\n"
        },
        "projectId": {
          "type": "string",
          "description": "The ID of the project the HCP Consul cluster is located.\n"
        },
        "restoredAt": {
          "type": "string",
          "description": "Timestamp of when the snapshot was restored. If the snapshot has not been restored, this field will be blank.\n"
        },
        "size": {
          "type": "integer",
          "description": "The size of the snapshot in bytes.\n"
        },
        "snapshotId": {
          "type": "string",
          "description": "The ID of the Consul snapshot\n"
        },
        "snapshotName": {
          "type": "string",
          "description": "The name of the snapshot.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of an HCP Consul snapshot.\n"
        }
      },
      "type": "object",
      "required": [
        "clusterId",
        "consulVersion",
        "organizationId",
        "projectId",
        "restoredAt",
        "size",
        "snapshotId",
        "snapshotName",
        "state"
      ],
      "inputProperties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Consul cluster.\n",
          "willReplaceOnChanges": true
        },
        "snapshotName": {
          "type": "string",
          "description": "The name of the snapshot.\n"
        }
      },
      "requiredInputs": [
        "clusterId",
        "snapshotName"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ConsulSnapshot resources.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Consul cluster.\n",
            "willReplaceOnChanges": true
          },
          "consulVersion": {
            "type": "string",
            "description": "The version of Consul at the time of snapshot creation.\n"
          },
          "organizationId": {
            "type": "string",
            "description": "The ID of the HCP organization where the project the HCP Consul cluster is located.\n"
          },
          "projectId": {
            "type": "string",
            "description": "The ID of the project the HCP Consul cluster is located.\n"
          },
          "restoredAt": {
            "type": "string",
            "description": "Timestamp of when the snapshot was restored. If the snapshot has not been restored, this field will be blank.\n"
          },
          "size": {
            "type": "integer",
            "description": "The size of the snapshot in bytes.\n"
          },
          "snapshotId": {
            "type": "string",
            "description": "The ID of the Consul snapshot\n"
          },
          "snapshotName": {
            "type": "string",
            "description": "The name of the snapshot.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of an HCP Consul snapshot.\n"
          }
        },
        "type": "object"
      }
    },
    "hcp:index/hvn:Hvn": {
      "description": "The HVN resource allows you to manage a HashiCorp Virtual Network in HCP.\n\nWe recommend the following when selecting the CIDR block of an HVN:\n\n- The CIDR block value must be a private IPv4 CIDR block within the [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918) address space (10.*.*.*, 192.168.*.*, 172.[16-31].*.*).\n\n- The CIDR block value must be the first IP address of the desired CIDR block. The helper `cidrsubnet(\"172.16.1.1/24\", 0, 0)` will specify the first address of the CIDR block in the first argument.\n\n- The CIDR block value must end between /16 and /25.\n\n- If the CIDR block values for your HCP HVN and your cloud provider’s virtual network overlap you will not be able to establish a connection. The following are default CIDR block values to be aware of: HCP HVN (172.25.16.0/20), AWS VPC (172.31.0.0/16), and Azure VNet (172.29.0.0/24). Avoid creating overlapping networks.\n\n- If you’re creating a HVN for use in production it's recommended that you specify a CIDR block value that does not overlap with the other HVNs already created in your organization. You will not be able to connect two HVNs with overlapping CIDR block values.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = new hcp.Hvn(\"example\", {\n    cidrBlock: \"172.25.16.0/20\",\n    cloudProvider: \"aws\",\n    hvnId: \"main-hvn\",\n    region: \"us-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.Hvn(\"example\",\n    cidr_block=\"172.25.16.0/20\",\n    cloud_provider=\"aws\",\n    hvn_id=\"main-hvn\",\n    region=\"us-west-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Hcp.Hvn(\"example\", new()\n    {\n        CidrBlock = \"172.25.16.0/20\",\n        CloudProvider = \"aws\",\n        HvnId = \"main-hvn\",\n        Region = \"us-west-2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.NewHvn(ctx, \"example\", &hcp.HvnArgs{\n\t\t\tCidrBlock:     pulumi.String(\"172.25.16.0/20\"),\n\t\t\tCloudProvider: pulumi.String(\"aws\"),\n\t\t\tHvnId:         pulumi.String(\"main-hvn\"),\n\t\t\tRegion:        pulumi.String(\"us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.Hvn;\nimport com.pulumi.hcp.HvnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Hvn(\"example\", HvnArgs.builder()        \n            .cidrBlock(\"172.25.16.0/20\")\n            .cloudProvider(\"aws\")\n            .hvnId(\"main-hvn\")\n            .region(\"us-west-2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: hcp:Hvn\n    properties:\n      cidrBlock: 172.25.16.0/20\n      cloudProvider: aws\n      hvnId: main-hvn\n      region: us-west-2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# The import ID is {hvn_id}\n\n```sh\n $ pulumi import hcp:index/hvn:Hvn example main-hvn\n```\n\n ",
      "properties": {
        "cidrBlock": {
          "type": "string",
          "description": "The CIDR range of the HVN. If this is not provided, the service will provide a default value.\n"
        },
        "cloudProvider": {
          "type": "string",
          "description": "The provider where the HVN is located. The provider 'aws' is generally available and 'azure' is in public beta.\n"
        },
        "createdAt": {
          "type": "string",
          "description": "The time that the HVN was created.\n"
        },
        "hvnId": {
          "type": "string",
          "description": "The ID of the HashiCorp Virtual Network (HVN).\n"
        },
        "organizationId": {
          "type": "string",
          "description": "The ID of the HCP organization where the HVN is located.\n"
        },
        "projectId": {
          "type": "string",
          "description": "The ID of the HCP project where the HVN is located.\n"
        },
        "providerAccountId": {
          "type": "string",
          "description": "The provider account ID where the HVN is located.\n"
        },
        "region": {
          "type": "string",
          "description": "The region where the HVN is located.\n"
        },
        "selfLink": {
          "type": "string",
          "description": "A unique URL identifying the HVN.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the HVN.\n"
        }
      },
      "type": "object",
      "required": [
        "cidrBlock",
        "cloudProvider",
        "createdAt",
        "hvnId",
        "organizationId",
        "projectId",
        "providerAccountId",
        "region",
        "selfLink",
        "state"
      ],
      "inputProperties": {
        "cidrBlock": {
          "type": "string",
          "description": "The CIDR range of the HVN. If this is not provided, the service will provide a default value.\n",
          "willReplaceOnChanges": true
        },
        "cloudProvider": {
          "type": "string",
          "description": "The provider where the HVN is located. The provider 'aws' is generally available and 'azure' is in public beta.\n",
          "willReplaceOnChanges": true
        },
        "hvnId": {
          "type": "string",
          "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
          "willReplaceOnChanges": true
        },
        "region": {
          "type": "string",
          "description": "The region where the HVN is located.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "cloudProvider",
        "hvnId",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Hvn resources.\n",
        "properties": {
          "cidrBlock": {
            "type": "string",
            "description": "The CIDR range of the HVN. If this is not provided, the service will provide a default value.\n",
            "willReplaceOnChanges": true
          },
          "cloudProvider": {
            "type": "string",
            "description": "The provider where the HVN is located. The provider 'aws' is generally available and 'azure' is in public beta.\n",
            "willReplaceOnChanges": true
          },
          "createdAt": {
            "type": "string",
            "description": "The time that the HVN was created.\n"
          },
          "hvnId": {
            "type": "string",
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
            "willReplaceOnChanges": true
          },
          "organizationId": {
            "type": "string",
            "description": "The ID of the HCP organization where the HVN is located.\n"
          },
          "projectId": {
            "type": "string",
            "description": "The ID of the HCP project where the HVN is located.\n"
          },
          "providerAccountId": {
            "type": "string",
            "description": "The provider account ID where the HVN is located.\n"
          },
          "region": {
            "type": "string",
            "description": "The region where the HVN is located.\n",
            "willReplaceOnChanges": true
          },
          "selfLink": {
            "type": "string",
            "description": "A unique URL identifying the HVN.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the HVN.\n"
          }
        },
        "type": "object"
      }
    },
    "hcp:index/hvnPeeringConnection:HvnPeeringConnection": {
      "description": "The HVN peering connection resource allows you to manage a peering connection between HVNs.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@grapl/pulumi-hcp\";\n\nconst hvn1 = new hcp.Hvn(\"hvn1\", {\n    hvnId: \"hvn-1\",\n    cloudProvider: \"aws\",\n    region: \"us-west-2\",\n    cidrBlock: \"172.25.16.0/20\",\n});\nconst hvn2 = new hcp.Hvn(\"hvn2\", {\n    hvnId: \"hvn-2\",\n    cloudProvider: \"aws\",\n    region: \"us-west-2\",\n    cidrBlock: \"172.18.16.0/20\",\n});\nconst peer1 = new hcp.HvnPeeringConnection(\"peer1\", {\n    hvn1: hvn1.selfLink,\n    hvn2: hvn2.selfLink,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nhvn1 = hcp.Hvn(\"hvn1\",\n    hvn_id=\"hvn-1\",\n    cloud_provider=\"aws\",\n    region=\"us-west-2\",\n    cidr_block=\"172.25.16.0/20\")\nhvn2 = hcp.Hvn(\"hvn2\",\n    hvn_id=\"hvn-2\",\n    cloud_provider=\"aws\",\n    region=\"us-west-2\",\n    cidr_block=\"172.18.16.0/20\")\npeer1 = hcp.HvnPeeringConnection(\"peer1\",\n    hvn1=hvn1.self_link,\n    hvn2=hvn2.self_link)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var hvn1 = new Hcp.Hvn(\"hvn1\", new()\n    {\n        HvnId = \"hvn-1\",\n        CloudProvider = \"aws\",\n        Region = \"us-west-2\",\n        CidrBlock = \"172.25.16.0/20\",\n    });\n\n    var hvn2 = new Hcp.Hvn(\"hvn2\", new()\n    {\n        HvnId = \"hvn-2\",\n        CloudProvider = \"aws\",\n        Region = \"us-west-2\",\n        CidrBlock = \"172.18.16.0/20\",\n    });\n\n    var peer1 = new Hcp.HvnPeeringConnection(\"peer1\", new()\n    {\n        Hvn1 = hvn1.SelfLink,\n        Hvn2 = hvn2.SelfLink,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thvn1, err := hcp.NewHvn(ctx, \"hvn1\", &hcp.HvnArgs{\n\t\t\tHvnId:         pulumi.String(\"hvn-1\"),\n\t\t\tCloudProvider: pulumi.String(\"aws\"),\n\t\t\tRegion:        pulumi.String(\"us-west-2\"),\n\t\t\tCidrBlock:     pulumi.String(\"172.25.16.0/20\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\thvn2, err := hcp.NewHvn(ctx, \"hvn2\", &hcp.HvnArgs{\n\t\t\tHvnId:         pulumi.String(\"hvn-2\"),\n\t\t\tCloudProvider: pulumi.String(\"aws\"),\n\t\t\tRegion:        pulumi.String(\"us-west-2\"),\n\t\t\tCidrBlock:     pulumi.String(\"172.18.16.0/20\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hcp.NewHvnPeeringConnection(ctx, \"peer1\", &hcp.HvnPeeringConnectionArgs{\n\t\t\tHvn1: hvn1.SelfLink,\n\t\t\tHvn2: hvn2.SelfLink,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.Hvn;\nimport com.pulumi.hcp.HvnArgs;\nimport com.pulumi.hcp.HvnPeeringConnection;\nimport com.pulumi.hcp.HvnPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var hvn1 = new Hvn(\"hvn1\", HvnArgs.builder()        \n            .hvnId(\"hvn-1\")\n            .cloudProvider(\"aws\")\n            .region(\"us-west-2\")\n            .cidrBlock(\"172.25.16.0/20\")\n            .build());\n\n        var hvn2 = new Hvn(\"hvn2\", HvnArgs.builder()        \n            .hvnId(\"hvn-2\")\n            .cloudProvider(\"aws\")\n            .region(\"us-west-2\")\n            .cidrBlock(\"172.18.16.0/20\")\n            .build());\n\n        var peer1 = new HvnPeeringConnection(\"peer1\", HvnPeeringConnectionArgs.builder()        \n            .hvn1(hvn1.selfLink())\n            .hvn2(hvn2.selfLink())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  hvn1:\n    type: hcp:Hvn\n    properties:\n      hvnId: hvn-1\n      cloudProvider: aws\n      region: us-west-2\n      cidrBlock: 172.25.16.0/20\n  hvn2:\n    type: hcp:Hvn\n    properties:\n      hvnId: hvn-2\n      cloudProvider: aws\n      region: us-west-2\n      cidrBlock: 172.18.16.0/20\n  peer1:\n    type: hcp:HvnPeeringConnection\n    properties:\n      hvn1: ${hvn1.selfLink}\n      hvn2: ${hvn2.selfLink}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# The import ID requires the first HVN ID in the format {hvn_1_id}:{peering_id}\n\n```sh\n $ pulumi import hcp:index/hvnPeeringConnection:HvnPeeringConnection peer_1 hvn-1:peer-1\n```\n\n ",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The time that the peering connection was created.\n"
        },
        "expiresAt": {
          "type": "string",
          "description": "The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n"
        },
        "hvn1": {
          "type": "string",
          "description": "The unique URL of one of the HVNs being peered.\n"
        },
        "hvn2": {
          "type": "string",
          "description": "The unique URL of one of the HVNs being peered.\n"
        },
        "organizationId": {
          "type": "string",
          "description": "The ID of the HCP organization where the peering connection is located. Always matches the HVNs' organization.\n"
        },
        "peeringId": {
          "type": "string",
          "description": "The ID of the peering connection.\n"
        },
        "projectId": {
          "type": "string",
          "description": "The ID of the HCP project where the peering connection is located. Always matches the HVNs' project.\n"
        },
        "selfLink": {
          "type": "string",
          "description": "A unique URL identifying the peering connection\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the HVN peering connection.\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "expiresAt",
        "hvn1",
        "hvn2",
        "organizationId",
        "peeringId",
        "projectId",
        "selfLink",
        "state"
      ],
      "inputProperties": {
        "hvn1": {
          "type": "string",
          "description": "The unique URL of one of the HVNs being peered.\n",
          "willReplaceOnChanges": true
        },
        "hvn2": {
          "type": "string",
          "description": "The unique URL of one of the HVNs being peered.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "hvn1",
        "hvn2"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering HvnPeeringConnection resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The time that the peering connection was created.\n"
          },
          "expiresAt": {
            "type": "string",
            "description": "The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n"
          },
          "hvn1": {
            "type": "string",
            "description": "The unique URL of one of the HVNs being peered.\n",
            "willReplaceOnChanges": true
          },
          "hvn2": {
            "type": "string",
            "description": "The unique URL of one of the HVNs being peered.\n",
            "willReplaceOnChanges": true
          },
          "organizationId": {
            "type": "string",
            "description": "The ID of the HCP organization where the peering connection is located. Always matches the HVNs' organization.\n"
          },
          "peeringId": {
            "type": "string",
            "description": "The ID of the peering connection.\n"
          },
          "projectId": {
            "type": "string",
            "description": "The ID of the HCP project where the peering connection is located. Always matches the HVNs' project.\n"
          },
          "selfLink": {
            "type": "string",
            "description": "A unique URL identifying the peering connection\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the HVN peering connection.\n"
          }
        },
        "type": "object"
      }
    },
    "hcp:index/hvnRoute:HvnRoute": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as hcp from \"@grapl/pulumi-hcp\";\n\nconst main = new hcp.Hvn(\"main\", {\n    hvnId: \"main-hvn\",\n    cloudProvider: \"aws\",\n    region: \"us-west-2\",\n    cidrBlock: \"172.25.16.0/20\",\n});\n// Creating a peering and a route for it.\nconst peerVpc = new aws.ec2.Vpc(\"peerVpc\", {cidrBlock: \"192.168.0.0/20\"});\nconst example = new hcp.AwsNetworkPeering(\"example\", {\n    peeringId: \"peer-example\",\n    hvnId: main.hvnId,\n    peerVpcId: peerVpc.id,\n    peerAccountId: peerVpc.ownerId,\n    peerVpcRegion: \"us-west-2\",\n});\nconst peerVpcPeeringConnectionAccepter = new aws.ec2.VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", {\n    vpcPeeringConnectionId: example.providerPeeringId,\n    autoAccept: true,\n});\nconst example_peering_route = new hcp.HvnRoute(\"example-peering-route\", {\n    hvnLink: main.selfLink,\n    hvnRouteId: \"peering-route\",\n    destinationCidr: peerVpc.cidrBlock,\n    targetLink: example.selfLink,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_hcp as hcp\n\nmain = hcp.Hvn(\"main\",\n    hvn_id=\"main-hvn\",\n    cloud_provider=\"aws\",\n    region=\"us-west-2\",\n    cidr_block=\"172.25.16.0/20\")\n# Creating a peering and a route for it.\npeer_vpc = aws.ec2.Vpc(\"peerVpc\", cidr_block=\"192.168.0.0/20\")\nexample = hcp.AwsNetworkPeering(\"example\",\n    peering_id=\"peer-example\",\n    hvn_id=main.hvn_id,\n    peer_vpc_id=peer_vpc.id,\n    peer_account_id=peer_vpc.owner_id,\n    peer_vpc_region=\"us-west-2\")\npeer_vpc_peering_connection_accepter = aws.ec2.VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\",\n    vpc_peering_connection_id=example.provider_peering_id,\n    auto_accept=True)\nexample_peering_route = hcp.HvnRoute(\"example-peering-route\",\n    hvn_link=main.self_link,\n    hvn_route_id=\"peering-route\",\n    destination_cidr=peer_vpc.cidr_block,\n    target_link=example.self_link)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var main = new Hcp.Hvn(\"main\", new()\n    {\n        HvnId = \"main-hvn\",\n        CloudProvider = \"aws\",\n        Region = \"us-west-2\",\n        CidrBlock = \"172.25.16.0/20\",\n    });\n\n    // Creating a peering and a route for it.\n    var peerVpc = new Aws.Ec2.Vpc(\"peerVpc\", new()\n    {\n        CidrBlock = \"192.168.0.0/20\",\n    });\n\n    var example = new Hcp.AwsNetworkPeering(\"example\", new()\n    {\n        PeeringId = \"peer-example\",\n        HvnId = main.HvnId,\n        PeerVpcId = peerVpc.Id,\n        PeerAccountId = peerVpc.OwnerId,\n        PeerVpcRegion = \"us-west-2\",\n    });\n\n    var peerVpcPeeringConnectionAccepter = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", new()\n    {\n        VpcPeeringConnectionId = example.ProviderPeeringId,\n        AutoAccept = true,\n    });\n\n    var example_peering_route = new Hcp.HvnRoute(\"example-peering-route\", new()\n    {\n        HvnLink = main.SelfLink,\n        HvnRouteId = \"peering-route\",\n        DestinationCidr = peerVpc.CidrBlock,\n        TargetLink = example.SelfLink,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := hcp.NewHvn(ctx, \"main\", &hcp.HvnArgs{\n\t\t\tHvnId:         pulumi.String(\"main-hvn\"),\n\t\t\tCloudProvider: pulumi.String(\"aws\"),\n\t\t\tRegion:        pulumi.String(\"us-west-2\"),\n\t\t\tCidrBlock:     pulumi.String(\"172.25.16.0/20\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerVpc, err := ec2.NewVpc(ctx, \"peerVpc\", &ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/20\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := hcp.NewAwsNetworkPeering(ctx, \"example\", &hcp.AwsNetworkPeeringArgs{\n\t\t\tPeeringId:     pulumi.String(\"peer-example\"),\n\t\t\tHvnId:         main.HvnId,\n\t\t\tPeerVpcId:     peerVpc.ID(),\n\t\t\tPeerAccountId: peerVpc.OwnerId,\n\t\t\tPeerVpcRegion: pulumi.String(\"us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peerVpcPeeringConnectionAccepter\", &ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: example.ProviderPeeringId,\n\t\t\tAutoAccept:             pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hcp.NewHvnRoute(ctx, \"example-peering-route\", &hcp.HvnRouteArgs{\n\t\t\tHvnLink:         main.SelfLink,\n\t\t\tHvnRouteId:      pulumi.String(\"peering-route\"),\n\t\t\tDestinationCidr: peerVpc.CidrBlock,\n\t\t\tTargetLink:      example.SelfLink,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.Hvn;\nimport com.pulumi.hcp.HvnArgs;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.hcp.AwsNetworkPeering;\nimport com.pulumi.hcp.AwsNetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.hcp.HvnRoute;\nimport com.pulumi.hcp.HvnRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var main = new Hvn(\"main\", HvnArgs.builder()        \n            .hvnId(\"main-hvn\")\n            .cloudProvider(\"aws\")\n            .region(\"us-west-2\")\n            .cidrBlock(\"172.25.16.0/20\")\n            .build());\n\n        var peerVpc = new Vpc(\"peerVpc\", VpcArgs.builder()        \n            .cidrBlock(\"192.168.0.0/20\")\n            .build());\n\n        var example = new AwsNetworkPeering(\"example\", AwsNetworkPeeringArgs.builder()        \n            .peeringId(\"peer-example\")\n            .hvnId(main.hvnId())\n            .peerVpcId(peerVpc.id())\n            .peerAccountId(peerVpc.ownerId())\n            .peerVpcRegion(\"us-west-2\")\n            .build());\n\n        var peerVpcPeeringConnectionAccepter = new VpcPeeringConnectionAccepter(\"peerVpcPeeringConnectionAccepter\", VpcPeeringConnectionAccepterArgs.builder()        \n            .vpcPeeringConnectionId(example.providerPeeringId())\n            .autoAccept(true)\n            .build());\n\n        var example_peering_route = new HvnRoute(\"example-peering-route\", HvnRouteArgs.builder()        \n            .hvnLink(main.selfLink())\n            .hvnRouteId(\"peering-route\")\n            .destinationCidr(peerVpc.cidrBlock())\n            .targetLink(example.selfLink())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: hcp:Hvn\n    properties:\n      hvnId: main-hvn\n      cloudProvider: aws\n      region: us-west-2\n      cidrBlock: 172.25.16.0/20\n  # Creating a peering and a route for it.\n  peerVpc:\n    type: aws:ec2:Vpc\n    properties:\n      cidrBlock: 192.168.0.0/20\n  example:\n    type: hcp:AwsNetworkPeering\n    properties:\n      peeringId: peer-example\n      hvnId: ${main.hvnId}\n      peerVpcId: ${peerVpc.id}\n      peerAccountId: ${peerVpc.ownerId}\n      peerVpcRegion: us-west-2\n  peerVpcPeeringConnectionAccepter:\n    type: aws:ec2:VpcPeeringConnectionAccepter\n    properties:\n      vpcPeeringConnectionId: ${example.providerPeeringId}\n      autoAccept: true\n  example-peering-route:\n    type: hcp:HvnRoute\n    properties:\n      hvnLink: ${main.selfLink}\n      hvnRouteId: peering-route\n      destinationCidr: ${peerVpc.cidrBlock}\n      targetLink: ${example.selfLink}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n# The import ID is {hvn_id}:{hvn_route_id}\n\n```sh\n $ pulumi import hcp:index/hvnRoute:HvnRoute example main-hvn:example-hvn-route\n```\n\n ",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The time that the HVN route was created.\n"
        },
        "destinationCidr": {
          "type": "string",
          "description": "The destination CIDR of the HVN route.\n"
        },
        "hvnLink": {
          "type": "string",
          "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n"
        },
        "hvnRouteId": {
          "type": "string",
          "description": "The ID of the HVN route.\n"
        },
        "selfLink": {
          "type": "string",
          "description": "A unique URL identifying the HVN route.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the HVN route.\n"
        },
        "targetLink": {
          "type": "string",
          "description": "A unique URL identifying the target of the HVN route. Examples of the target: `aws_network_peering`, `aws_transit_gateway_attachment`\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "destinationCidr",
        "hvnLink",
        "hvnRouteId",
        "selfLink",
        "state",
        "targetLink"
      ],
      "inputProperties": {
        "destinationCidr": {
          "type": "string",
          "description": "The destination CIDR of the HVN route.\n",
          "willReplaceOnChanges": true
        },
        "hvnLink": {
          "type": "string",
          "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n",
          "willReplaceOnChanges": true
        },
        "hvnRouteId": {
          "type": "string",
          "description": "The ID of the HVN route.\n",
          "willReplaceOnChanges": true
        },
        "targetLink": {
          "type": "string",
          "description": "A unique URL identifying the target of the HVN route. Examples of the target: `aws_network_peering`, `aws_transit_gateway_attachment`\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "destinationCidr",
        "hvnLink",
        "hvnRouteId",
        "targetLink"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering HvnRoute resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The time that the HVN route was created.\n"
          },
          "destinationCidr": {
            "type": "string",
            "description": "The destination CIDR of the HVN route.\n",
            "willReplaceOnChanges": true
          },
          "hvnLink": {
            "type": "string",
            "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n",
            "willReplaceOnChanges": true
          },
          "hvnRouteId": {
            "type": "string",
            "description": "The ID of the HVN route.\n",
            "willReplaceOnChanges": true
          },
          "selfLink": {
            "type": "string",
            "description": "A unique URL identifying the HVN route.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the HVN route.\n"
          },
          "targetLink": {
            "type": "string",
            "description": "A unique URL identifying the target of the HVN route. Examples of the target: `aws_network_peering`, `aws_transit_gateway_attachment`\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "hcp:index/vaultCluster:VaultCluster": {
      "description": "\n\n\n## Import\n\n# The import ID is {cluster_id}\n\n```sh\n $ pulumi import hcp:index/vaultCluster:VaultCluster example vault-cluster\n```\n\n ",
      "properties": {
        "auditLogConfig": {
          "$ref": "#/types/hcp:index%2FVaultClusterAuditLogConfig:VaultClusterAuditLogConfig",
          "description": "The audit logs configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n"
        },
        "cloudProvider": {
          "type": "string",
          "description": "The provider where the HCP Vault cluster is located.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Vault cluster.\n"
        },
        "createdAt": {
          "type": "string",
          "description": "The time that the Vault cluster was created.\n"
        },
        "hvnId": {
          "type": "string",
          "description": "The ID of the HVN this HCP Vault cluster is associated to.\n"
        },
        "majorVersionUpgradeConfig": {
          "$ref": "#/types/hcp:index%2FVaultClusterMajorVersionUpgradeConfig:VaultClusterMajorVersionUpgradeConfig",
          "description": "The Major Version Upgrade configuration.\n"
        },
        "metricsConfig": {
          "$ref": "#/types/hcp:index%2FVaultClusterMetricsConfig:VaultClusterMetricsConfig",
          "description": "The metrics configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n"
        },
        "minVaultVersion": {
          "type": "string",
          "description": "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.\n"
        },
        "namespace": {
          "type": "string",
          "description": "The name of the customer namespace this HCP Vault cluster is located in.\n"
        },
        "organizationId": {
          "type": "string",
          "description": "The ID of the organization this HCP Vault cluster is located in.\n"
        },
        "pathsFilters": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The performance replication [paths filter](https://learn.hashicorp.com/tutorials/vault/paths-filter). Applies to performance replication secondaries only and operates in \"deny\" mode only.\n"
        },
        "primaryLink": {
          "type": "string",
          "description": "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.\n"
        },
        "projectId": {
          "type": "string",
          "description": "The ID of the project this HCP Vault cluster is located in.\n"
        },
        "publicEndpoint": {
          "type": "boolean",
          "description": "Denotes that the cluster has a public endpoint. Defaults to false.\n"
        },
        "region": {
          "type": "string",
          "description": "The region where the HCP Vault cluster is located.\n"
        },
        "selfLink": {
          "type": "string",
          "description": "A unique URL identifying the Vault cluster.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the Vault cluster.\n"
        },
        "tier": {
          "type": "string",
          "description": "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://cloud.hashicorp.com/pricing/vault).\n"
        },
        "vaultPrivateEndpointUrl": {
          "type": "string",
          "description": "The private URL for the Vault cluster.\n"
        },
        "vaultPublicEndpointUrl": {
          "type": "string",
          "description": "The public URL for the Vault cluster. This will be empty if `public_endpoint` is `false`.\n"
        },
        "vaultVersion": {
          "type": "string",
          "description": "The Vault version of the cluster.\n"
        }
      },
      "type": "object",
      "required": [
        "cloudProvider",
        "clusterId",
        "createdAt",
        "hvnId",
        "majorVersionUpgradeConfig",
        "namespace",
        "organizationId",
        "projectId",
        "region",
        "selfLink",
        "state",
        "tier",
        "vaultPrivateEndpointUrl",
        "vaultPublicEndpointUrl",
        "vaultVersion"
      ],
      "inputProperties": {
        "auditLogConfig": {
          "$ref": "#/types/hcp:index%2FVaultClusterAuditLogConfig:VaultClusterAuditLogConfig",
          "description": "The audit logs configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n"
        },
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Vault cluster.\n",
          "willReplaceOnChanges": true
        },
        "hvnId": {
          "type": "string",
          "description": "The ID of the HVN this HCP Vault cluster is associated to.\n",
          "willReplaceOnChanges": true
        },
        "majorVersionUpgradeConfig": {
          "$ref": "#/types/hcp:index%2FVaultClusterMajorVersionUpgradeConfig:VaultClusterMajorVersionUpgradeConfig",
          "description": "The Major Version Upgrade configuration.\n"
        },
        "metricsConfig": {
          "$ref": "#/types/hcp:index%2FVaultClusterMetricsConfig:VaultClusterMetricsConfig",
          "description": "The metrics configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n"
        },
        "minVaultVersion": {
          "type": "string",
          "description": "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.\n",
          "willReplaceOnChanges": true
        },
        "pathsFilters": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The performance replication [paths filter](https://learn.hashicorp.com/tutorials/vault/paths-filter). Applies to performance replication secondaries only and operates in \"deny\" mode only.\n"
        },
        "primaryLink": {
          "type": "string",
          "description": "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.\n",
          "willReplaceOnChanges": true
        },
        "publicEndpoint": {
          "type": "boolean",
          "description": "Denotes that the cluster has a public endpoint. Defaults to false.\n"
        },
        "tier": {
          "type": "string",
          "description": "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://cloud.hashicorp.com/pricing/vault).\n"
        }
      },
      "requiredInputs": [
        "clusterId",
        "hvnId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering VaultCluster resources.\n",
        "properties": {
          "auditLogConfig": {
            "$ref": "#/types/hcp:index%2FVaultClusterAuditLogConfig:VaultClusterAuditLogConfig",
            "description": "The audit logs configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n"
          },
          "cloudProvider": {
            "type": "string",
            "description": "The provider where the HCP Vault cluster is located.\n"
          },
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Vault cluster.\n",
            "willReplaceOnChanges": true
          },
          "createdAt": {
            "type": "string",
            "description": "The time that the Vault cluster was created.\n"
          },
          "hvnId": {
            "type": "string",
            "description": "The ID of the HVN this HCP Vault cluster is associated to.\n",
            "willReplaceOnChanges": true
          },
          "majorVersionUpgradeConfig": {
            "$ref": "#/types/hcp:index%2FVaultClusterMajorVersionUpgradeConfig:VaultClusterMajorVersionUpgradeConfig",
            "description": "The Major Version Upgrade configuration.\n"
          },
          "metricsConfig": {
            "$ref": "#/types/hcp:index%2FVaultClusterMetricsConfig:VaultClusterMetricsConfig",
            "description": "The metrics configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n"
          },
          "minVaultVersion": {
            "type": "string",
            "description": "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.\n",
            "willReplaceOnChanges": true
          },
          "namespace": {
            "type": "string",
            "description": "The name of the customer namespace this HCP Vault cluster is located in.\n"
          },
          "organizationId": {
            "type": "string",
            "description": "The ID of the organization this HCP Vault cluster is located in.\n"
          },
          "pathsFilters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The performance replication [paths filter](https://learn.hashicorp.com/tutorials/vault/paths-filter). Applies to performance replication secondaries only and operates in \"deny\" mode only.\n"
          },
          "primaryLink": {
            "type": "string",
            "description": "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.\n",
            "willReplaceOnChanges": true
          },
          "projectId": {
            "type": "string",
            "description": "The ID of the project this HCP Vault cluster is located in.\n"
          },
          "publicEndpoint": {
            "type": "boolean",
            "description": "Denotes that the cluster has a public endpoint. Defaults to false.\n"
          },
          "region": {
            "type": "string",
            "description": "The region where the HCP Vault cluster is located.\n"
          },
          "selfLink": {
            "type": "string",
            "description": "A unique URL identifying the Vault cluster.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the Vault cluster.\n"
          },
          "tier": {
            "type": "string",
            "description": "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://cloud.hashicorp.com/pricing/vault).\n"
          },
          "vaultPrivateEndpointUrl": {
            "type": "string",
            "description": "The private URL for the Vault cluster.\n"
          },
          "vaultPublicEndpointUrl": {
            "type": "string",
            "description": "The public URL for the Vault cluster. This will be empty if `public_endpoint` is `false`.\n"
          },
          "vaultVersion": {
            "type": "string",
            "description": "The Vault version of the cluster.\n"
          }
        },
        "type": "object"
      }
    },
    "hcp:index/vaultClusterAdminToken:VaultClusterAdminToken": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = new hcp.VaultClusterAdminToken(\"example\", {\n    clusterId: \"test-vault-cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.VaultClusterAdminToken(\"example\", cluster_id=\"test-vault-cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Hcp.VaultClusterAdminToken(\"example\", new()\n    {\n        ClusterId = \"test-vault-cluster\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.NewVaultClusterAdminToken(ctx, \"example\", &hcp.VaultClusterAdminTokenArgs{\n\t\t\tClusterId: pulumi.String(\"test-vault-cluster\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.VaultClusterAdminToken;\nimport com.pulumi.hcp.VaultClusterAdminTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new VaultClusterAdminToken(\"example\", VaultClusterAdminTokenArgs.builder()        \n            .clusterId(\"test-vault-cluster\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: hcp:VaultClusterAdminToken\n    properties:\n      clusterId: test-vault-cluster\n```\n{{% /example %}}\n{{% /examples %}}",
      "properties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Vault cluster.\n"
        },
        "createdAt": {
          "type": "string",
          "description": "The time that the admin token was created.\n"
        },
        "token": {
          "type": "string",
          "description": "The admin token of this HCP Vault cluster.\n"
        }
      },
      "type": "object",
      "required": [
        "clusterId",
        "createdAt",
        "token"
      ],
      "inputProperties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the HCP Vault cluster.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "clusterId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering VaultClusterAdminToken resources.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Vault cluster.\n",
            "willReplaceOnChanges": true
          },
          "createdAt": {
            "type": "string",
            "description": "The time that the admin token was created.\n"
          },
          "token": {
            "type": "string",
            "description": "The admin token of this HCP Vault cluster.\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "hcp:index/getAwsNetworkPeering:getAwsNetworkPeering": {
      "description": "The AWS network peering data source provides information about an existing network peering between an HVN and a peer AWS VPC.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst test = hcp.getAwsNetworkPeering({\n    hvnId: _var.hvn_id,\n    peeringId: _var.peering_id,\n    waitForActiveState: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\ntest = hcp.get_aws_network_peering(hvn_id=var[\"hvn_id\"],\n    peering_id=var[\"peering_id\"],\n    wait_for_active_state=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Hcp.GetAwsNetworkPeering.Invoke(new()\n    {\n        HvnId = @var.Hvn_id,\n        PeeringId = @var.Peering_id,\n        WaitForActiveState = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.LookupAwsNetworkPeering(ctx, \u0026GetAwsNetworkPeeringArgs{\n\t\t\tHvnId:              _var.Hvn_id,\n\t\t\tPeeringId:          _var.Peering_id,\n\t\t\tWaitForActiveState: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetAwsNetworkPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = HcpFunctions.getAwsNetworkPeering(GetAwsNetworkPeeringArgs.builder()\n            .hvnId(var_.hvn_id())\n            .peeringId(var_.peering_id())\n            .waitForActiveState(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    Fn::Invoke:\n      Function: hcp:getAwsNetworkPeering\n      Arguments:\n        hvnId: ${var.hvn_id}\n        peeringId: ${var.peering_id}\n        waitForActiveState: true\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getAwsNetworkPeering.\n",
        "properties": {
          "hvnId": {
            "type": "string",
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n"
          },
          "peeringId": {
            "type": "string",
            "description": "The ID of the network peering.\n"
          },
          "waitForActiveState": {
            "type": "boolean"
          }
        },
        "type": "object",
        "required": [
          "hvnId",
          "peeringId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAwsNetworkPeering.\n",
        "properties": {
          "createdAt": {
            "description": "The time that the network peering was created.\n",
            "type": "string"
          },
          "expiresAt": {
            "description": "The time after which the network peering will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n",
            "type": "string"
          },
          "hvnId": {
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "organizationId": {
            "description": "The ID of the HCP organization where the network peering is located. Always matches the HVN's organization.\n",
            "type": "string"
          },
          "peerAccountId": {
            "description": "The account ID of the peer VPC in AWS.\n",
            "type": "string"
          },
          "peerVpcId": {
            "description": "The ID of the peer VPC in AWS.\n",
            "type": "string"
          },
          "peerVpcRegion": {
            "description": "The region of the peer VPC in AWS.\n",
            "type": "string"
          },
          "peeringId": {
            "description": "The ID of the network peering.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the HCP project where the network peering is located. Always matches the HVN's project.\n",
            "type": "string"
          },
          "providerPeeringId": {
            "description": "The peering connection ID used by AWS.\n",
            "type": "string"
          },
          "selfLink": {
            "description": "A unique URL identifying the network peering.\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the network peering.\n",
            "type": "string"
          },
          "waitForActiveState": {
            "type": "boolean"
          }
        },
        "required": [
          "createdAt",
          "expiresAt",
          "hvnId",
          "id",
          "organizationId",
          "peerAccountId",
          "peerVpcId",
          "peerVpcRegion",
          "peeringId",
          "projectId",
          "providerPeeringId",
          "selfLink",
          "state"
        ],
        "type": "object"
      }
    },
    "hcp:index/getAwsTransitGatewayAttachment:getAwsTransitGatewayAttachment": {
      "description": "The AWS transit gateway attachment data source provides information about an existing transit gateway attachment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst test = hcp.getAwsTransitGatewayAttachment({\n    hvnId: _var.hvn_id,\n    transitGatewayAttachmentId: _var.transit_gateway_attachment_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\ntest = hcp.get_aws_transit_gateway_attachment(hvn_id=var[\"hvn_id\"],\n    transit_gateway_attachment_id=var[\"transit_gateway_attachment_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Hcp.GetAwsTransitGatewayAttachment.Invoke(new()\n    {\n        HvnId = @var.Hvn_id,\n        TransitGatewayAttachmentId = @var.Transit_gateway_attachment_id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.LookupAwsTransitGatewayAttachment(ctx, \u0026GetAwsTransitGatewayAttachmentArgs{\n\t\t\tHvnId:                      _var.Hvn_id,\n\t\t\tTransitGatewayAttachmentId: _var.Transit_gateway_attachment_id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetAwsTransitGatewayAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = HcpFunctions.getAwsTransitGatewayAttachment(GetAwsTransitGatewayAttachmentArgs.builder()\n            .hvnId(var_.hvn_id())\n            .transitGatewayAttachmentId(var_.transit_gateway_attachment_id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    Fn::Invoke:\n      Function: hcp:getAwsTransitGatewayAttachment\n      Arguments:\n        hvnId: ${var.hvn_id}\n        transitGatewayAttachmentId: ${var.transit_gateway_attachment_id}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getAwsTransitGatewayAttachment.\n",
        "properties": {
          "hvnId": {
            "type": "string",
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n"
          },
          "transitGatewayAttachmentId": {
            "type": "string",
            "description": "The user-settable name of the transit gateway attachment in HCP.\n"
          },
          "waitForActiveState": {
            "type": "boolean"
          }
        },
        "type": "object",
        "required": [
          "hvnId",
          "transitGatewayAttachmentId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAwsTransitGatewayAttachment.\n",
        "properties": {
          "createdAt": {
            "description": "The time that the transit gateway attachment was created.\n",
            "type": "string"
          },
          "expiresAt": {
            "description": "The time after which the transit gateway attachment will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n",
            "type": "string"
          },
          "hvnId": {
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "organizationId": {
            "description": "The ID of the HCP organization where the transit gateway attachment is located. Always matches the HVN's organization.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the HCP project where the transit gateway attachment is located. Always matches the HVN's project.\n",
            "type": "string"
          },
          "providerTransitGatewayAttachmentId": {
            "description": "The transit gateway attachment ID used by AWS.\n",
            "type": "string"
          },
          "selfLink": {
            "description": "A unique URL identifying the transit gateway attachment.\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the transit gateway attachment.\n",
            "type": "string"
          },
          "transitGatewayAttachmentId": {
            "description": "The user-settable name of the transit gateway attachment in HCP.\n",
            "type": "string"
          },
          "transitGatewayId": {
            "description": "The ID of the user-owned transit gateway in AWS.\n",
            "type": "string"
          },
          "waitForActiveState": {
            "type": "boolean"
          }
        },
        "required": [
          "createdAt",
          "expiresAt",
          "hvnId",
          "id",
          "organizationId",
          "projectId",
          "providerTransitGatewayAttachmentId",
          "selfLink",
          "state",
          "transitGatewayAttachmentId",
          "transitGatewayId"
        ],
        "type": "object"
      }
    },
    "hcp:index/getAzurePeeringConnection:getAzurePeeringConnection": {
      "description": "\u003e **Note:** This data source is currently in public beta.\n\nThe Azure peering connection data source provides information about a peering connection between an HVN and a peer Azure VNet.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetAzurePeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = HcpFunctions.getAzurePeeringConnection(GetAzurePeeringConnectionArgs.builder()\n            .hvnId(var_.hvn_id())\n            .peeringId(var_.peering_id())\n            .waitForActiveState(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    Fn::Invoke:\n      Function: hcp:getAzurePeeringConnection\n      Arguments:\n        hvnId: ${var.hvn_id}\n        peeringId: ${var.peering_id}\n        waitForActiveState: true\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getAzurePeeringConnection.\n",
        "properties": {
          "hvnLink": {
            "type": "string",
            "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n"
          },
          "peeringId": {
            "type": "string",
            "description": "The ID of the peering connection.\n"
          },
          "waitForActiveState": {
            "type": "boolean"
          }
        },
        "type": "object",
        "required": [
          "hvnLink",
          "peeringId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAzurePeeringConnection.\n",
        "properties": {
          "applicationId": {
            "description": "The ID of the Azure application whose credentials are used to peer the HCP HVN's underlying VNet with the customer VNet.\n",
            "type": "string"
          },
          "azurePeeringId": {
            "description": "The peering connection ID used by Azure.\n",
            "type": "string"
          },
          "createdAt": {
            "description": "The time that the peering connection was created.\n",
            "type": "string"
          },
          "expiresAt": {
            "description": "The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n",
            "type": "string"
          },
          "hvnLink": {
            "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "organizationId": {
            "description": "The ID of the HCP organization where the peering connection is located. Always matches the HVN's organization.\n",
            "type": "string"
          },
          "peerResourceGroupName": {
            "description": "The resource group name of the peer VNet in Azure.\n",
            "type": "string"
          },
          "peerSubscriptionId": {
            "description": "The subscription ID of the peer VNet in Azure.\n",
            "type": "string"
          },
          "peerTenantId": {
            "description": "The tenant ID of the peer VNet in Azure.\n",
            "type": "string"
          },
          "peerVnetName": {
            "description": "The name of the peer VNet in Azure.\n",
            "type": "string"
          },
          "peerVnetRegion": {
            "description": "The region of the peer VNet in Azure.\n",
            "type": "string"
          },
          "peeringId": {
            "description": "The ID of the peering connection.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the HCP project where the peering connection is located. Always matches the HVN's project.\n",
            "type": "string"
          },
          "selfLink": {
            "description": "A unique URL identifying the peering connection\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the Azure peering connection.\n",
            "type": "string"
          },
          "waitForActiveState": {
            "type": "boolean"
          }
        },
        "required": [
          "applicationId",
          "azurePeeringId",
          "createdAt",
          "expiresAt",
          "hvnLink",
          "id",
          "organizationId",
          "peerResourceGroupName",
          "peerSubscriptionId",
          "peerTenantId",
          "peerVnetName",
          "peerVnetRegion",
          "peeringId",
          "projectId",
          "selfLink",
          "state"
        ],
        "type": "object"
      }
    },
    "hcp:index/getBoundaryCluster:getBoundaryCluster": {
      "description": "The Boundary cluster data source provides information about an existing HCP Boundary cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = hcp.getBoundaryCluster({\n    clusterId: _var.cluster_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.get_boundary_cluster(cluster_id=var[\"cluster_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Hcp.GetBoundaryCluster.Invoke(new()\n    {\n        ClusterId = @var.Cluster_id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.LookupBoundaryCluster(ctx, \u0026GetBoundaryClusterArgs{\n\t\t\tClusterId: _var.Cluster_id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetBoundaryClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HcpFunctions.getBoundaryCluster(GetBoundaryClusterArgs.builder()\n            .clusterId(var_.cluster_id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    Fn::Invoke:\n      Function: hcp:getBoundaryCluster\n      Arguments:\n        clusterId: ${var.cluster_id}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getBoundaryCluster.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The ID of the Boundary cluster\n"
          }
        },
        "type": "object",
        "required": [
          "clusterId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getBoundaryCluster.\n",
        "properties": {
          "clusterId": {
            "description": "The ID of the Boundary cluster\n",
            "type": "string"
          },
          "clusterUrl": {
            "description": "A unique URL identifying the Boundary cluster.\n",
            "type": "string"
          },
          "createdAt": {
            "description": "The time that the Boundary cluster was created.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the Boundary cluster.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterId",
          "clusterUrl",
          "createdAt",
          "id",
          "state"
        ],
        "type": "object"
      }
    },
    "hcp:index/getConsulAgentHelmConfig:getConsulAgentHelmConfig": {
      "description": "The Consul agent Helm config data source provides Helm values for a Consul agent running in Kubernetes.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = hcp.getConsulAgentHelmConfig({\n    clusterId: _var.cluster_id,\n    kubernetesEndpoint: _var.kubernetes_endpoint,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.get_consul_agent_helm_config(cluster_id=var[\"cluster_id\"],\n    kubernetes_endpoint=var[\"kubernetes_endpoint\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Hcp.GetConsulAgentHelmConfig.Invoke(new()\n    {\n        ClusterId = @var.Cluster_id,\n        KubernetesEndpoint = @var.Kubernetes_endpoint,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.GetConsulAgentHelmConfig(ctx, \u0026GetConsulAgentHelmConfigArgs{\n\t\t\tClusterId:          _var.Cluster_id,\n\t\t\tKubernetesEndpoint: _var.Kubernetes_endpoint,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetConsulAgentHelmConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HcpFunctions.getConsulAgentHelmConfig(GetConsulAgentHelmConfigArgs.builder()\n            .clusterId(var_.cluster_id())\n            .kubernetesEndpoint(var_.kubernetes_endpoint())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    Fn::Invoke:\n      Function: hcp:getConsulAgentHelmConfig\n      Arguments:\n        clusterId: ${var.cluster_id}\n        kubernetesEndpoint: ${var.kubernetes_endpoint}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getConsulAgentHelmConfig.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Consul cluster.\n"
          },
          "exposeGossipPorts": {
            "type": "boolean",
            "description": "Denotes that the gossip ports should be exposed.\n"
          },
          "kubernetesEndpoint": {
            "type": "string",
            "description": "The FQDN for the Kubernetes API.\n"
          }
        },
        "type": "object",
        "required": [
          "clusterId",
          "kubernetesEndpoint"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getConsulAgentHelmConfig.\n",
        "properties": {
          "clusterId": {
            "description": "The ID of the HCP Consul cluster.\n",
            "type": "string"
          },
          "config": {
            "description": "The agent Helm config.\n",
            "type": "string"
          },
          "exposeGossipPorts": {
            "description": "Denotes that the gossip ports should be exposed.\n",
            "type": "boolean"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "kubernetesEndpoint": {
            "description": "The FQDN for the Kubernetes API.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterId",
          "config",
          "id",
          "kubernetesEndpoint"
        ],
        "type": "object"
      }
    },
    "hcp:index/getConsulAgentKubernetesSecret:getConsulAgentKubernetesSecret": {
      "description": "The agent config Kubernetes secret data source provides Consul agents running in Kubernetes the configuration needed to connect to the Consul cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst test = hcp.getConsulAgentKubernetesSecret({\n    clusterId: _var.cluster_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\ntest = hcp.get_consul_agent_kubernetes_secret(cluster_id=var[\"cluster_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Hcp.GetConsulAgentKubernetesSecret.Invoke(new()\n    {\n        ClusterId = @var.Cluster_id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.GetConsulAgentKubernetesSecret(ctx, \u0026GetConsulAgentKubernetesSecretArgs{\n\t\t\tClusterId: _var.Cluster_id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetConsulAgentKubernetesSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = HcpFunctions.getConsulAgentKubernetesSecret(GetConsulAgentKubernetesSecretArgs.builder()\n            .clusterId(var_.cluster_id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    Fn::Invoke:\n      Function: hcp:getConsulAgentKubernetesSecret\n      Arguments:\n        clusterId: ${var.cluster_id}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getConsulAgentKubernetesSecret.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Consul cluster.\n"
          }
        },
        "type": "object",
        "required": [
          "clusterId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getConsulAgentKubernetesSecret.\n",
        "properties": {
          "clusterId": {
            "description": "The ID of the HCP Consul cluster.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "secret": {
            "description": "The Consul agent configuration in the format of a Kubernetes secret (YAML).\n",
            "type": "string"
          }
        },
        "required": [
          "clusterId",
          "id",
          "secret"
        ],
        "type": "object"
      }
    },
    "hcp:index/getConsulCluster:getConsulCluster": {
      "description": "The cluster data source provides information about an existing HCP Consul cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = hcp.getConsulCluster({\n    clusterId: _var.cluster_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.get_consul_cluster(cluster_id=var[\"cluster_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Hcp.GetConsulCluster.Invoke(new()\n    {\n        ClusterId = @var.Cluster_id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.LookupConsulCluster(ctx, \u0026GetConsulClusterArgs{\n\t\t\tClusterId: _var.Cluster_id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetConsulClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HcpFunctions.getConsulCluster(GetConsulClusterArgs.builder()\n            .clusterId(var_.cluster_id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    Fn::Invoke:\n      Function: hcp:getConsulCluster\n      Arguments:\n        clusterId: ${var.cluster_id}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getConsulCluster.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Consul cluster.\n"
          }
        },
        "type": "object",
        "required": [
          "clusterId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getConsulCluster.\n",
        "properties": {
          "autoHvnToHvnPeering": {
            "description": "Enables automatic HVN to HVN peering when creating a secondary cluster in a federation.\n",
            "type": "boolean"
          },
          "cloudProvider": {
            "description": "The provider where the HCP Consul cluster is located. Only 'aws' is available at this time.\n",
            "type": "string"
          },
          "clusterId": {
            "description": "The ID of the HCP Consul cluster.\n",
            "type": "string"
          },
          "connectEnabled": {
            "description": "Denotes the Consul connect feature should be enabled for this cluster.  Default to true.\n",
            "type": "boolean"
          },
          "consulAutomaticUpgrades": {
            "description": "Denotes that automatic Consul upgrades are enabled.\n",
            "type": "boolean"
          },
          "consulCaFile": {
            "description": "The cluster CA file encoded as a Base64 string.\n",
            "type": "string"
          },
          "consulConfigFile": {
            "description": "The cluster config encoded as a Base64 string.\n",
            "type": "string"
          },
          "consulPrivateEndpointUrl": {
            "description": "The private URL for the Consul UI.\n",
            "type": "string"
          },
          "consulPublicEndpointUrl": {
            "description": "The public URL for the Consul UI. This will be empty if `public_endpoint` is `false`.\n",
            "type": "string"
          },
          "consulSnapshotInterval": {
            "description": "The Consul snapshot interval.\n",
            "type": "string"
          },
          "consulSnapshotRetention": {
            "description": "The retention policy for Consul snapshots.\n",
            "type": "string"
          },
          "consulVersion": {
            "description": "The Consul version of the cluster.\n",
            "type": "string"
          },
          "datacenter": {
            "description": "The Consul data center name of the cluster. If not specified, it is defaulted to the value of `cluster_id`.\n",
            "type": "string"
          },
          "hvnId": {
            "description": "The ID of the HVN this HCP Consul cluster is associated to.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "organizationId": {
            "description": "The ID of the organization the project for this HCP Consul cluster is located.\n",
            "type": "string"
          },
          "primaryLink": {
            "description": "The `self_link` of the HCP Consul cluster which is the primary in the federation setup with this HCP Consul cluster. If not specified, it is a standalone cluster.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the project this HCP Consul cluster is located.\n",
            "type": "string"
          },
          "publicEndpoint": {
            "description": "Denotes that the cluster has a public endpoint for the Consul UI. Defaults to false.\n",
            "type": "boolean"
          },
          "region": {
            "description": "The region where the HCP Consul cluster is located.\n",
            "type": "string"
          },
          "scale": {
            "description": "The the number of Consul server nodes in the cluster.\n",
            "type": "integer"
          },
          "selfLink": {
            "description": "A unique URL identifying the HCP Consul cluster.\n",
            "type": "string"
          },
          "size": {
            "description": "The t-shirt size representation of each server VM that this Consul cluster is provisioned with. Valid option for development tier - `x_small`. Valid options for other tiers - `small`, `medium`, `large`. For more details - https://cloud.hashicorp.com/pricing/consul\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the HCP Consul cluster.\n",
            "type": "string"
          },
          "tier": {
            "description": "The tier that the HCP Consul cluster will be provisioned as.  Only `development`, `standard` and `plus` are available at this time.\n",
            "type": "string"
          }
        },
        "required": [
          "autoHvnToHvnPeering",
          "cloudProvider",
          "clusterId",
          "connectEnabled",
          "consulAutomaticUpgrades",
          "consulCaFile",
          "consulConfigFile",
          "consulPrivateEndpointUrl",
          "consulPublicEndpointUrl",
          "consulSnapshotInterval",
          "consulSnapshotRetention",
          "consulVersion",
          "datacenter",
          "hvnId",
          "id",
          "organizationId",
          "primaryLink",
          "projectId",
          "publicEndpoint",
          "region",
          "scale",
          "selfLink",
          "size",
          "state",
          "tier"
        ],
        "type": "object"
      }
    },
    "hcp:index/getConsulVersions:getConsulVersions": {
      "description": "The Consul versions data source provides the Consul versions supported by HCP.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst defaultConsulVersions = pulumi.output(hcp.getConsulVersions());\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\ndefault = hcp.get_consul_versions()\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Hcp.GetConsulVersions.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.GetConsulVersions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = HcpFunctions.getConsulVersions();\n\n    }\n}\n```\n```yaml\nvariables:\n  default:\n    Fn::Invoke:\n      Function: hcp:getConsulVersions\n      Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}",
      "outputs": {
        "description": "A collection of values returned by getConsulVersions.\n",
        "properties": {
          "availables": {
            "description": "The Consul versions available on HCP.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "previews": {
            "description": "The preview versions of Consul available on HCP.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "recommended": {
            "description": "The recommended Consul version for HCP clusters.\n",
            "type": "string"
          }
        },
        "required": [
          "availables",
          "id",
          "previews",
          "recommended"
        ],
        "type": "object"
      }
    },
    "hcp:index/getHvn:getHvn": {
      "description": "The HVN data source provides information about an existing HashiCorp Virtual Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = hcp.getHvn({\n    hvnId: _var.hvn_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.get_hvn(hvn_id=var[\"hvn_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Hcp.GetHvn.Invoke(new()\n    {\n        HvnId = @var.Hvn_id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.LookupHvn(ctx, \u0026GetHvnArgs{\n\t\t\tHvnId: _var.Hvn_id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetHvnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HcpFunctions.getHvn(GetHvnArgs.builder()\n            .hvnId(var_.hvn_id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    Fn::Invoke:\n      Function: hcp:getHvn\n      Arguments:\n        hvnId: ${var.hvn_id}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getHvn.\n",
        "properties": {
          "hvnId": {
            "type": "string",
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n"
          }
        },
        "type": "object",
        "required": [
          "hvnId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getHvn.\n",
        "properties": {
          "cidrBlock": {
            "description": "The CIDR range of the HVN.\n",
            "type": "string"
          },
          "cloudProvider": {
            "description": "The provider where the HVN is located.\n",
            "type": "string"
          },
          "createdAt": {
            "description": "The time that the HVN was created.\n",
            "type": "string"
          },
          "hvnId": {
            "description": "The ID of the HashiCorp Virtual Network (HVN).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "organizationId": {
            "description": "The ID of the HCP organization where the HVN is located.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the HCP project where the HVN is located.\n",
            "type": "string"
          },
          "providerAccountId": {
            "description": "The provider account ID where the HVN is located.\n",
            "type": "string"
          },
          "region": {
            "description": "The region where the HVN is located.\n",
            "type": "string"
          },
          "selfLink": {
            "description": "A unique URL identifying the HVN.\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the HVN route.\n",
            "type": "string"
          }
        },
        "required": [
          "cidrBlock",
          "cloudProvider",
          "createdAt",
          "hvnId",
          "id",
          "organizationId",
          "projectId",
          "providerAccountId",
          "region",
          "selfLink",
          "state"
        ],
        "type": "object"
      }
    },
    "hcp:index/getHvnPeeringConnection:getHvnPeeringConnection": {
      "description": "The HVN peering connection data source provides information about an existing peering connection between HVNs.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst test = hcp.getHvnPeeringConnection({\n    peeringId: _var.peering_id,\n    hvn1: _var.hvn_1,\n    hvn2: _var.hvn_2,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\ntest = hcp.get_hvn_peering_connection(peering_id=var[\"peering_id\"],\n    hvn1=var[\"hvn_1\"],\n    hvn2=var[\"hvn_2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Hcp.GetHvnPeeringConnection.Invoke(new()\n    {\n        PeeringId = @var.Peering_id,\n        Hvn1 = @var.Hvn_1,\n        Hvn2 = @var.Hvn_2,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.LookupHvnPeeringConnection(ctx, \u0026GetHvnPeeringConnectionArgs{\n\t\t\tPeeringId: _var.Peering_id,\n\t\t\tHvn1:      _var.Hvn_1,\n\t\t\tHvn2:      _var.Hvn_2,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetHvnPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = HcpFunctions.getHvnPeeringConnection(GetHvnPeeringConnectionArgs.builder()\n            .peeringId(var_.peering_id())\n            .hvn1(var_.hvn_1())\n            .hvn2(var_.hvn_2())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    Fn::Invoke:\n      Function: hcp:getHvnPeeringConnection\n      Arguments:\n        peeringId: ${var.peering_id}\n        hvn1: ${var.hvn_1}\n        hvn2: ${var.hvn_2}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getHvnPeeringConnection.\n",
        "properties": {
          "hvn1": {
            "type": "string",
            "description": "The unique URL of one of the HVNs being peered.\n"
          },
          "hvn2": {
            "type": "string",
            "description": "The unique URL of one of the HVNs being peered.\n"
          },
          "peeringId": {
            "type": "string",
            "description": "The ID of the peering connection.\n"
          }
        },
        "type": "object",
        "required": [
          "hvn1",
          "hvn2",
          "peeringId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getHvnPeeringConnection.\n",
        "properties": {
          "createdAt": {
            "description": "The time that the peering connection was created.\n",
            "type": "string"
          },
          "expiresAt": {
            "description": "The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.\n",
            "type": "string"
          },
          "hvn1": {
            "description": "The unique URL of one of the HVNs being peered.\n",
            "type": "string"
          },
          "hvn2": {
            "description": "The unique URL of one of the HVNs being peered.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "organizationId": {
            "description": "The ID of the HCP organization where the peering connection is located. Always matches the HVNs' organization.\n",
            "type": "string"
          },
          "peeringId": {
            "description": "The ID of the peering connection.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the HCP project where the peering connection is located. Always matches the HVNs' project.\n",
            "type": "string"
          },
          "selfLink": {
            "description": "A unique URL identifying the peering connection\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the HVN peering connection.\n",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "expiresAt",
          "hvn1",
          "hvn2",
          "id",
          "organizationId",
          "peeringId",
          "projectId",
          "selfLink",
          "state"
        ],
        "type": "object"
      }
    },
    "hcp:index/getHvnRoute:getHvnRoute": {
      "description": "The HVN route data source provides information about an existing HVN route.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetHvnRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HcpFunctions.getHvnRoute(GetHvnRouteArgs.builder()\n            .hvnLink(var_.hvn_link())\n            .destinationCidr(var_.hvn_route_id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    Fn::Invoke:\n      Function: hcp:getHvnRoute\n      Arguments:\n        hvnLink: ${var.hvn_link}\n        destinationCidr: ${var.hvn_route_id}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getHvnRoute.\n",
        "properties": {
          "hvnLink": {
            "type": "string",
            "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n"
          },
          "hvnRouteId": {
            "type": "string",
            "description": "The ID of the HVN route.\n"
          }
        },
        "type": "object",
        "required": [
          "hvnLink",
          "hvnRouteId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getHvnRoute.\n",
        "properties": {
          "createdAt": {
            "description": "The time that the HVN route was created.\n",
            "type": "string"
          },
          "destinationCidr": {
            "description": "The destination CIDR of the HVN route.\n",
            "type": "string"
          },
          "hvnLink": {
            "description": "The `self_link` of the HashiCorp Virtual Network (HVN).\n",
            "type": "string"
          },
          "hvnRouteId": {
            "description": "The ID of the HVN route.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "selfLink": {
            "description": "A unique URL identifying the HVN route.\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the HVN route.\n",
            "type": "string"
          },
          "targetLink": {
            "description": "A unique URL identifying the target of the HVN route.\n",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "destinationCidr",
          "hvnLink",
          "hvnRouteId",
          "id",
          "selfLink",
          "state",
          "targetLink"
        ],
        "type": "object"
      }
    },
    "hcp:index/getPackerImage:getPackerImage": {
      "description": "The Packer Image data source iteration gets the most recent iteration (or build) of an image, given an iteration id or a channel.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Single image sourcing\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nexport = async () =\u003e {\n    const baz = await hcp.getPackerImage({\n        bucketName: \"hardened-ubuntu-16-04\",\n        cloudProvider: \"aws\",\n        channel: \"production\",\n        region: \"us-east-1\",\n    });\n    const packer_registry_ubuntu_east_1 = baz.cloudImageId;\n    return {\n        \"packer-registry-ubuntu-east-1\": packer_registry_ubuntu_east_1,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nbaz = hcp.get_packer_image(bucket_name=\"hardened-ubuntu-16-04\",\n    cloud_provider=\"aws\",\n    channel=\"production\",\n    region=\"us-east-1\")\npulumi.export(\"packer-registry-ubuntu-east-1\", baz.cloud_image_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var baz = Hcp.GetPackerImage.Invoke(new()\n    {\n        BucketName = \"hardened-ubuntu-16-04\",\n        CloudProvider = \"aws\",\n        Channel = \"production\",\n        Region = \"us-east-1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"packer-registry-ubuntu-east-1\"] = baz.Apply(getPackerImageResult =\u003e getPackerImageResult.CloudImageId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbaz, err := hcp.GetPackerImage(ctx, \u0026GetPackerImageArgs{\n\t\t\tBucketName:    \"hardened-ubuntu-16-04\",\n\t\t\tCloudProvider: \"aws\",\n\t\t\tChannel:       pulumi.StringRef(\"production\"),\n\t\t\tRegion:        \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"packer-registry-ubuntu-east-1\", baz.CloudImageId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetPackerImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var baz = HcpFunctions.getPackerImage(GetPackerImageArgs.builder()\n            .bucketName(\"hardened-ubuntu-16-04\")\n            .cloudProvider(\"aws\")\n            .channel(\"production\")\n            .region(\"us-east-1\")\n            .build());\n\n        ctx.export(\"packer-registry-ubuntu-east-1\", baz.applyValue(getPackerImageResult -\u003e getPackerImageResult.cloudImageId()));\n    }\n}\n```\n```yaml\nvariables:\n  baz:\n    Fn::Invoke:\n      Function: hcp:getPackerImage\n      Arguments:\n        bucketName: hardened-ubuntu-16-04\n        cloudProvider: aws\n        channel: production\n        region: us-east-1\noutputs:\n  packer-registry-ubuntu-east-1: ${baz.cloudImageId}\n```\n\n\u003e **Note:** The `channel` attribute in this data source may incur a billable request to HCP Packer. This attribute is intended for convenience when using a single image. When sourcing multiple images from a single iteration, the `hcp.getPackerIteration` data source is the alternative for querying a channel just once.\n{{% /example %}}\n{{% example %}}\n### Multiple image sourcing from a single iteration\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nexport = async () =\u003e {\n    const hardened-source = await hcp.getPackerIteration({\n        bucketName: \"hardened-ubuntu-16-04\",\n        channel: \"production\",\n    });\n    const foo = await hcp.getPackerImage({\n        bucketName: \"hardened-ubuntu-16-04\",\n        cloudProvider: \"aws\",\n        iterationId: hardened_source.ulid,\n        region: \"us-east-1\",\n    });\n    const bar = await hcp.getPackerImage({\n        bucketName: \"hardened-ubuntu-16-04\",\n        cloudProvider: \"aws\",\n        iterationId: hardened_source.ulid,\n        region: \"us-west-1\",\n    });\n    const packer_registry_ubuntu_east_1 = foo.cloudImageId;\n    const packer_registry_ubuntu_west_1 = bar.cloudImageId;\n    return {\n        \"packer-registry-ubuntu-east-1\": packer_registry_ubuntu_east_1,\n        \"packer-registry-ubuntu-west-1\": packer_registry_ubuntu_west_1,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nhardened_source = hcp.get_packer_iteration(bucket_name=\"hardened-ubuntu-16-04\",\n    channel=\"production\")\nfoo = hcp.get_packer_image(bucket_name=\"hardened-ubuntu-16-04\",\n    cloud_provider=\"aws\",\n    iteration_id=hardened_source.ulid,\n    region=\"us-east-1\")\nbar = hcp.get_packer_image(bucket_name=\"hardened-ubuntu-16-04\",\n    cloud_provider=\"aws\",\n    iteration_id=hardened_source.ulid,\n    region=\"us-west-1\")\npulumi.export(\"packer-registry-ubuntu-east-1\", foo.cloud_image_id)\npulumi.export(\"packer-registry-ubuntu-west-1\", bar.cloud_image_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var hardened_source = Hcp.GetPackerIteration.Invoke(new()\n    {\n        BucketName = \"hardened-ubuntu-16-04\",\n        Channel = \"production\",\n    });\n\n    var foo = Hcp.GetPackerImage.Invoke(new()\n    {\n        BucketName = \"hardened-ubuntu-16-04\",\n        CloudProvider = \"aws\",\n        IterationId = hardened_source.Apply(getPackerIterationResult =\u003e getPackerIterationResult.Ulid),\n        Region = \"us-east-1\",\n    });\n\n    var bar = Hcp.GetPackerImage.Invoke(new()\n    {\n        BucketName = \"hardened-ubuntu-16-04\",\n        CloudProvider = \"aws\",\n        IterationId = hardened_source.Apply(getPackerIterationResult =\u003e getPackerIterationResult.Ulid),\n        Region = \"us-west-1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"packer-registry-ubuntu-east-1\"] = foo.Apply(getPackerImageResult =\u003e getPackerImageResult.CloudImageId),\n        [\"packer-registry-ubuntu-west-1\"] = bar.Apply(getPackerImageResult =\u003e getPackerImageResult.CloudImageId),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thardened_source, err := hcp.GetPackerIteration(ctx, \u0026GetPackerIterationArgs{\n\t\t\tBucketName: \"hardened-ubuntu-16-04\",\n\t\t\tChannel:    \"production\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := hcp.GetPackerImage(ctx, \u0026GetPackerImageArgs{\n\t\t\tBucketName:    \"hardened-ubuntu-16-04\",\n\t\t\tCloudProvider: \"aws\",\n\t\t\tIterationId:   pulumi.StringRef(hardened_source.Ulid),\n\t\t\tRegion:        \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := hcp.GetPackerImage(ctx, \u0026GetPackerImageArgs{\n\t\t\tBucketName:    \"hardened-ubuntu-16-04\",\n\t\t\tCloudProvider: \"aws\",\n\t\t\tIterationId:   pulumi.StringRef(hardened_source.Ulid),\n\t\t\tRegion:        \"us-west-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"packer-registry-ubuntu-east-1\", foo.CloudImageId)\n\t\tctx.Export(\"packer-registry-ubuntu-west-1\", bar.CloudImageId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetPackerIterationArgs;\nimport com.pulumi.hcp.inputs.GetPackerImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var hardened-source = HcpFunctions.getPackerIteration(GetPackerIterationArgs.builder()\n            .bucketName(\"hardened-ubuntu-16-04\")\n            .channel(\"production\")\n            .build());\n\n        final var foo = HcpFunctions.getPackerImage(GetPackerImageArgs.builder()\n            .bucketName(\"hardened-ubuntu-16-04\")\n            .cloudProvider(\"aws\")\n            .iterationId(hardened_source.ulid())\n            .region(\"us-east-1\")\n            .build());\n\n        final var bar = HcpFunctions.getPackerImage(GetPackerImageArgs.builder()\n            .bucketName(\"hardened-ubuntu-16-04\")\n            .cloudProvider(\"aws\")\n            .iterationId(hardened_source.ulid())\n            .region(\"us-west-1\")\n            .build());\n\n        ctx.export(\"packer-registry-ubuntu-east-1\", foo.applyValue(getPackerImageResult -\u003e getPackerImageResult.cloudImageId()));\n        ctx.export(\"packer-registry-ubuntu-west-1\", bar.applyValue(getPackerImageResult -\u003e getPackerImageResult.cloudImageId()));\n    }\n}\n```\n```yaml\nvariables:\n  hardened-source:\n    Fn::Invoke:\n      Function: hcp:getPackerIteration\n      Arguments:\n        bucketName: hardened-ubuntu-16-04\n        channel: production\n  foo:\n    Fn::Invoke:\n      Function: hcp:getPackerImage\n      Arguments:\n        bucketName: hardened-ubuntu-16-04\n        cloudProvider: aws\n        iterationId: ${[\"hardened-source\"].ulid}\n        region: us-east-1\n  bar:\n    Fn::Invoke:\n      Function: hcp:getPackerImage\n      Arguments:\n        bucketName: hardened-ubuntu-16-04\n        cloudProvider: aws\n        iterationId: ${[\"hardened-source\"].ulid}\n        region: us-west-1\noutputs:\n  packer-registry-ubuntu-east-1: ${foo.cloudImageId}\n  packer-registry-ubuntu-west-1: ${bar.cloudImageId}\n```\n\n\u003e **Note:** This data source only returns the first found image's metadata filtered by the given arguments, from the returned list of images associated with the specified iteration. Therefore, if multiple images exist in the same region, it will only pick one of them. In this case, you can filter images by a source build name (Ex: `amazon-ebs.example`) using the `component_type` optional argument.\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getPackerImage.\n",
        "properties": {
          "bucketName": {
            "type": "string",
            "description": "The slug of the HCP Packer Registry image bucket to pull from.\n"
          },
          "channel": {
            "type": "string",
            "description": "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\n"
          },
          "cloudProvider": {
            "type": "string",
            "description": "Name of the cloud provider this image is stored-in.\n"
          },
          "componentType": {
            "type": "string",
            "description": "Name of the builder that built this image. Ex: `amazon-ebs.example`.\n"
          },
          "iterationId": {
            "type": "string",
            "description": "The iteration from which to get the image. Either this or `channel` must be specified.\n"
          },
          "region": {
            "type": "string",
            "description": "Region this image is stored in, if any.\n"
          }
        },
        "type": "object",
        "required": [
          "bucketName",
          "cloudProvider",
          "region"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPackerImage.\n",
        "properties": {
          "bucketName": {
            "description": "The slug of the HCP Packer Registry image bucket to pull from.\n",
            "type": "string"
          },
          "buildId": {
            "description": "HCP ID of this build.\n",
            "type": "string"
          },
          "channel": {
            "description": "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\n",
            "type": "string"
          },
          "cloudImageId": {
            "description": "Cloud Image ID or URL string identifying this image for the builder that built it.\n",
            "type": "string"
          },
          "cloudProvider": {
            "description": "Name of the cloud provider this image is stored-in.\n",
            "type": "string"
          },
          "componentType": {
            "description": "Name of the builder that built this image. Ex: `amazon-ebs.example`.\n",
            "type": "string"
          },
          "createdAt": {
            "description": "Creation time of this build.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "iterationId": {
            "description": "The iteration from which to get the image. Either this or `channel` must be specified.\n",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "$ref": "pulumi.json#/Any"
            },
            "description": "Labels associated with this build.\n",
            "type": "object"
          },
          "organizationId": {
            "description": "The ID of the organization this HCP Packer registry is located in.\n",
            "type": "string"
          },
          "packerRunUuid": {
            "description": "UUID of this build.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the project this HCP Packer registry is located in.\n",
            "type": "string"
          },
          "region": {
            "description": "Region this image is stored in, if any.\n",
            "type": "string"
          },
          "revokeAt": {
            "description": "The revocation time of this build. This field will be null for any build that has not been revoked or scheduled for revocation.\n",
            "type": "string"
          }
        },
        "required": [
          "bucketName",
          "buildId",
          "cloudImageId",
          "cloudProvider",
          "componentType",
          "createdAt",
          "id",
          "iterationId",
          "labels",
          "organizationId",
          "packerRunUuid",
          "projectId",
          "region",
          "revokeAt"
        ],
        "type": "object"
      }
    },
    "hcp:index/getPackerImageIteration:getPackerImageIteration": {
      "description": "The Packer Image data source iteration gets the most recent iteration (or build) of an image, given a channel.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst alpine = pulumi.output(hcp.getPackerImageIteration({\n    bucketName: \"alpine\",\n    channel: \"production\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nalpine = hcp.get_packer_image_iteration(bucket_name=\"alpine\",\n    channel=\"production\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var alpine = Hcp.GetPackerImageIteration.Invoke(new()\n    {\n        BucketName = \"alpine\",\n        Channel = \"production\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.GetPackerImageIteration(ctx, \u0026GetPackerImageIterationArgs{\n\t\t\tBucketName: \"alpine\",\n\t\t\tChannel:    \"production\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetPackerImageIterationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var alpine = HcpFunctions.getPackerImageIteration(GetPackerImageIterationArgs.builder()\n            .bucketName(\"alpine\")\n            .channel(\"production\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  alpine:\n    Fn::Invoke:\n      Function: hcp:getPackerImageIteration\n      Arguments:\n        bucketName: alpine\n        channel: production\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getPackerImageIteration.\n",
        "properties": {
          "bucketName": {
            "type": "string",
            "description": "The slug of the HCP Packer Registry image bucket to pull from.\n"
          },
          "channel": {
            "type": "string",
            "description": "The channel that points to the version of the image you want.\n"
          }
        },
        "type": "object",
        "required": [
          "bucketName",
          "channel"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPackerImageIteration.\n",
        "properties": {
          "bucketName": {
            "description": "The slug of the HCP Packer Registry image bucket to pull from.\n",
            "type": "string"
          },
          "builds": {
            "description": "Builds for this iteration. An iteration can have more than one build if it took more than one go to build all images.\n",
            "items": {
              "$ref": "#/types/hcp:index%2FgetPackerImageIterationBuild:getPackerImageIterationBuild"
            },
            "type": "array"
          },
          "channel": {
            "description": "The channel that points to the version of the image you want.\n",
            "type": "string"
          },
          "createdAt": {
            "description": "Creation time of this iteration\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "incrementalVersion": {
            "description": "Incremental version of this iteration\n",
            "type": "integer"
          },
          "organizationId": {
            "description": "The ID of the organization this HCP Packer registry is located in.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the project this HCP Packer registry is located in.\n",
            "type": "string"
          },
          "revokeAt": {
            "type": "string"
          }
        },
        "required": [
          "bucketName",
          "builds",
          "channel",
          "createdAt",
          "id",
          "incrementalVersion",
          "organizationId",
          "projectId",
          "revokeAt"
        ],
        "type": "object"
      }
    },
    "hcp:index/getPackerIteration:getPackerIteration": {
      "description": "The Packer Image data source iteration gets the most recent iteration (or build) of an image, given a channel.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst hardened_source = pulumi.output(hcp.getPackerIteration({\n    bucketName: \"hardened-ubuntu-16-04\",\n    channel: \"megan-test\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nhardened_source = hcp.get_packer_iteration(bucket_name=\"hardened-ubuntu-16-04\",\n    channel=\"megan-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var hardened_source = Hcp.GetPackerIteration.Invoke(new()\n    {\n        BucketName = \"hardened-ubuntu-16-04\",\n        Channel = \"megan-test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.GetPackerIteration(ctx, \u0026GetPackerIterationArgs{\n\t\t\tBucketName: \"hardened-ubuntu-16-04\",\n\t\t\tChannel:    \"megan-test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetPackerIterationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var hardened-source = HcpFunctions.getPackerIteration(GetPackerIterationArgs.builder()\n            .bucketName(\"hardened-ubuntu-16-04\")\n            .channel(\"megan-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  hardened-source:\n    Fn::Invoke:\n      Function: hcp:getPackerIteration\n      Arguments:\n        bucketName: hardened-ubuntu-16-04\n        channel: megan-test\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getPackerIteration.\n",
        "properties": {
          "bucketName": {
            "type": "string",
            "description": "The slug of the HCP Packer Registry image bucket to pull from.\n"
          },
          "channel": {
            "type": "string",
            "description": "The channel that points to the version of the image you want.\n"
          }
        },
        "type": "object",
        "required": [
          "bucketName",
          "channel"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPackerIteration.\n",
        "properties": {
          "authorId": {
            "description": "The name of the person who created this iteration.\n",
            "type": "string"
          },
          "bucketName": {
            "description": "The slug of the HCP Packer Registry image bucket to pull from.\n",
            "type": "string"
          },
          "channel": {
            "description": "The channel that points to the version of the image you want.\n",
            "type": "string"
          },
          "createdAt": {
            "description": "Creation time of this iteration\n",
            "type": "string"
          },
          "fingerprint": {
            "description": "The unique fingerprint associated with this iteration; often a git sha.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "incrementalVersion": {
            "description": "Incremental version of this iteration\n",
            "type": "integer"
          },
          "organizationId": {
            "description": "The ID of the organization this HCP Packer registry is located in.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the project this HCP Packer registry is located in.\n",
            "type": "string"
          },
          "revokeAt": {
            "description": "The revocation time of this iteration. This field will be null for any iteration that has not been revoked or scheduled for revocation.\n",
            "type": "string"
          },
          "ulid": {
            "description": "The ULID of this iteration.\n",
            "type": "string"
          },
          "updatedAt": {
            "description": "Time this build was last updated.\n",
            "type": "string"
          }
        },
        "required": [
          "authorId",
          "bucketName",
          "channel",
          "createdAt",
          "fingerprint",
          "id",
          "incrementalVersion",
          "organizationId",
          "projectId",
          "revokeAt",
          "ulid",
          "updatedAt"
        ],
        "type": "object"
      }
    },
    "hcp:index/getVaultCluster:getVaultCluster": {
      "description": "The cluster data source provides information about an existing HCP Vault cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as hcp from \"@pulumi/hcp\";\n\nconst example = hcp.getVaultCluster({\n    clusterId: _var.cluster_id,\n});\n```\n```python\nimport pulumi\nimport pulumi_hcp as hcp\n\nexample = hcp.get_vault_cluster(cluster_id=var[\"cluster_id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Hcp = Pulumi.Hcp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Hcp.GetVaultCluster.Invoke(new()\n    {\n        ClusterId = @var.Cluster_id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/grapl-security/pulumi-hcp/sdk/go/hcp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hcp.LookupVaultCluster(ctx, \u0026GetVaultClusterArgs{\n\t\t\tClusterId: _var.Cluster_id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.hcp.HcpFunctions;\nimport com.pulumi.hcp.inputs.GetVaultClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HcpFunctions.getVaultCluster(GetVaultClusterArgs.builder()\n            .clusterId(var_.cluster_id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    Fn::Invoke:\n      Function: hcp:getVaultCluster\n      Arguments:\n        clusterId: ${var.cluster_id}\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getVaultCluster.\n",
        "properties": {
          "auditLogConfigs": {
            "type": "array",
            "items": {
              "$ref": "#/types/hcp:index%2FgetVaultClusterAuditLogConfig:getVaultClusterAuditLogConfig"
            },
            "description": "The audit logs configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n"
          },
          "clusterId": {
            "type": "string",
            "description": "The ID of the HCP Vault cluster.\n"
          },
          "metricsConfigs": {
            "type": "array",
            "items": {
              "$ref": "#/types/hcp:index%2FgetVaultClusterMetricsConfig:getVaultClusterMetricsConfig"
            },
            "description": "The metrics configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n"
          }
        },
        "type": "object",
        "required": [
          "clusterId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getVaultCluster.\n",
        "properties": {
          "auditLogConfigs": {
            "description": "The audit logs configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n",
            "items": {
              "$ref": "#/types/hcp:index%2FgetVaultClusterAuditLogConfig:getVaultClusterAuditLogConfig"
            },
            "type": "array"
          },
          "cloudProvider": {
            "description": "The provider where the HCP Vault cluster is located.\n",
            "type": "string"
          },
          "clusterId": {
            "description": "The ID of the HCP Vault cluster.\n",
            "type": "string"
          },
          "createdAt": {
            "description": "The time that the Vault cluster was created.\n",
            "type": "string"
          },
          "hvnId": {
            "description": "The ID of the HVN this HCP Vault cluster is associated to.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "majorVersionUpgradeConfigs": {
            "items": {
              "$ref": "#/types/hcp:index%2FgetVaultClusterMajorVersionUpgradeConfig:getVaultClusterMajorVersionUpgradeConfig"
            },
            "type": "array"
          },
          "metricsConfigs": {
            "description": "The metrics configuration for export. (https://learn.hashicorp.com/tutorials/cloud/vault-metrics-guide#metrics-streaming-configuration)\n",
            "items": {
              "$ref": "#/types/hcp:index%2FgetVaultClusterMetricsConfig:getVaultClusterMetricsConfig"
            },
            "type": "array"
          },
          "minVaultVersion": {
            "description": "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.\n",
            "type": "string"
          },
          "namespace": {
            "description": "The name of the customer namespace this HCP Vault cluster is located in.\n",
            "type": "string"
          },
          "organizationId": {
            "description": "The ID of the organization this HCP Vault cluster is located in.\n",
            "type": "string"
          },
          "pathsFilters": {
            "description": "The performance replication [paths filter](https://learn.hashicorp.com/tutorials/vault/paths-filter). Applies to performance replication secondaries only and operates in \"deny\" mode only.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "primaryLink": {
            "description": "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.\n",
            "type": "string"
          },
          "projectId": {
            "description": "The ID of the project this HCP Vault cluster is located in.\n",
            "type": "string"
          },
          "publicEndpoint": {
            "description": "Denotes that the cluster has a public endpoint. Defaults to false.\n",
            "type": "boolean"
          },
          "region": {
            "description": "The region where the HCP Vault cluster is located.\n",
            "type": "string"
          },
          "selfLink": {
            "description": "A unique URL identifying the Vault cluster.\n",
            "type": "string"
          },
          "state": {
            "description": "The state of the Vault cluster.\n",
            "type": "string"
          },
          "tier": {
            "description": "The tier that the HCP Vault cluster will be provisioned as.  Only 'development' is available at this time.\n",
            "type": "string"
          },
          "vaultPrivateEndpointUrl": {
            "description": "The private URL for the Vault cluster.\n",
            "type": "string"
          },
          "vaultPublicEndpointUrl": {
            "description": "The public URL for the Vault cluster. This will be empty if `public_endpoint` is `false`.\n",
            "type": "string"
          },
          "vaultVersion": {
            "description": "The Vault version of the cluster.\n",
            "type": "string"
          }
        },
        "required": [
          "auditLogConfigs",
          "cloudProvider",
          "clusterId",
          "createdAt",
          "hvnId",
          "id",
          "majorVersionUpgradeConfigs",
          "metricsConfigs",
          "minVaultVersion",
          "namespace",
          "organizationId",
          "pathsFilters",
          "primaryLink",
          "projectId",
          "publicEndpoint",
          "region",
          "selfLink",
          "state",
          "tier",
          "vaultPrivateEndpointUrl",
          "vaultPublicEndpointUrl",
          "vaultVersion"
        ],
        "type": "object"
      }
    }
  }
}
