{
  "name": "buildkite",
  "displayName": "Buildkite",
  "version": "3.1.6",
  "description": "A Pulumi package for creating and managing Buildkite resources.",
  "keywords": [
    "pulumi",
    "buildkite"
  ],
  "homepage": "https://github.com/pulumiverse/pulumi-buildkite",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`buildkite` Terraform Provider](https://github.com/buildkite/terraform-provider-buildkite).",
  "repository": "https://github.com/pulumiverse/pulumi-buildkite",
  "logoUrl": "https://raw.githubusercontent.com/pulumiverse/pulumi-buildkite/main/assets/buildkite-logo.png",
  "pluginDownloadURL": "github://api.github.com/pulumiverse/pulumi-buildkite",
  "publisher": "Pulumiverse",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "namespaces": {
        "buildkite": "Buildkite"
      },
      "compatibility": "tfbridge20",
      "rootNamespace": "Pulumiverse"
    },
    "go": {
      "importBasePath": "github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite",
      "generateResourceContainerTypes": true,
      "generateExtraInputTypes": true
    },
    "nodejs": {
      "packageName": "@pulumiverse/buildkite",
      "packageDescription": "A Pulumi package for creating and managing Buildkite resources.",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/buildkite/terraform-provider-buildkite)\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-buildkite` repo](https://github.com/pulumiverse/pulumi-buildkite/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-buildkite` repo](https://github.com/buildkite/terraform-provider-buildkite/issues).",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true
    },
    "python": {
      "packageName": "pulumiverse_buildkite",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/buildkite/terraform-provider-buildkite)\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-buildkite` repo](https://github.com/pulumiverse/pulumi-buildkite/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-buildkite` repo](https://github.com/buildkite/terraform-provider-buildkite/issues).",
      "compatibility": "tfbridge20",
      "pyproject": {}
    }
  },
  "config": {
    "variables": {
      "apiToken": {
        "type": "string",
        "secret": true
      },
      "archivePipelineOnDelete": {
        "type": "boolean",
        "description": "Enable this to archive pipelines when destroying the resource. This is opposed to completely deleting pipelines.\n"
      },
      "graphqlUrl": {
        "type": "string",
        "description": "Base URL for the GraphQL API to use. If not provided, the value is taken from the `BUILDKITE_GRAPHQL_URL` environment\nvariable.\n"
      },
      "organization": {
        "type": "string",
        "description": "The Buildkite organization slug. This can be found on the [settings](https://buildkite.com/organizations/~/settings)\npage. If not provided, the value is taken from the `BUILDKITE_ORGANIZATION_SLUG` environment variable.\n"
      },
      "restUrl": {
        "type": "string",
        "description": "Base URL for the REST API to use. If not provided, the value is taken from the `BUILDKITE_REST_URL` environment\nvariable.\n"
      },
      "timeouts": {
        "$ref": "#/types/buildkite:config%2Ftimeouts:timeouts"
      }
    }
  },
  "types": {
    "buildkite:Pipeline/PipelineProviderSettings:PipelineProviderSettings": {
      "properties": {
        "buildBranches": {
          "type": "boolean",
          "description": "Whether to create builds when branches are pushed.\n"
        },
        "buildPullRequestForks": {
          "type": "boolean",
          "description": "Whether to create builds for pull requests from third-party forks.\n"
        },
        "buildPullRequestLabelsChanged": {
          "type": "boolean",
          "description": "Whether to create builds for pull requests when labels are added or removed.\n"
        },
        "buildPullRequestReadyForReview": {
          "type": "boolean",
          "description": "Whether to create a build when a pull request changes to \"Ready for review\".\n"
        },
        "buildPullRequests": {
          "type": "boolean",
          "description": "Whether to create builds for commits that are part of a pull request.\n"
        },
        "buildTags": {
          "type": "boolean",
          "description": "Whether to create builds when tags are pushed.\n"
        },
        "cancelDeletedBranchBuilds": {
          "type": "boolean",
          "description": "Automatically cancel running builds for a branch if the branch is deleted.\n"
        },
        "filterCondition": {
          "type": "string",
          "description": "The condition to evaluate when deciding if a build should run. More details available in [the documentation](https://buildkite.com/docs/pipelines/conditionals#conditionals-in-pipelines).\n"
        },
        "filterEnabled": {
          "type": "boolean",
          "description": "Whether to filter builds to only run when the condition in `filter_condition` is true.\n"
        },
        "prefixPullRequestForkBranchNames": {
          "type": "boolean",
          "description": "Prefix branch names for third-party fork builds to ensure they don't trigger branch conditions. For example, the main branch from some-user will become some-user:main.\n"
        },
        "publishBlockedAsPending": {
          "type": "boolean",
          "description": "The status to use for blocked builds. Pending can be used with [required status checks](https://help.github.com/en/articles/enabling-required-status-checks) to prevent merging pull requests with blocked builds.\n"
        },
        "publishCommitStatus": {
          "type": "boolean",
          "description": "Whether to update the status of commits in Bitbucket or GitHub.\n"
        },
        "publishCommitStatusPerStep": {
          "type": "boolean",
          "description": "Whether to create a separate status for each job in a build, allowing you to see the status of each job directly in Bitbucket or GitHub.\n"
        },
        "pullRequestBranchFilterConfiguration": {
          "type": "string",
          "description": "Filter pull requests builds by the branch filter.\n"
        },
        "pullRequestBranchFilterEnabled": {
          "type": "boolean",
          "description": "Filter pull request builds.\n"
        },
        "separatePullRequestStatuses": {
          "type": "boolean",
          "description": "Whether to create a separate status for pull request builds, allowing you to require a passing pull request build in your [required status checks](https://help.github.com/en/articles/enabling-required-status-checks) in GitHub.\n"
        },
        "skipBuildsForExistingCommits": {
          "type": "boolean",
          "description": "Whether to skip creating a new build if an existing build for the commit and branch already exists. This option is only valid if the pipeline uses a GitHub repository.\n"
        },
        "skipPullRequestBuildsForExistingCommits": {
          "type": "boolean",
          "description": "Whether to skip creating a new build for a pull request if an existing build for the commit and branch already exists.\n"
        },
        "triggerMode": {
          "type": "string",
          "description": "What type of event to trigger builds on. Must be one of:\n\t- `code` will create builds when code is pushed to GitHub.\n\t- `deployment` will create builds when a deployment is created in GitHub.\n\t- `fork` will create builds when the GitHub repository is forked.\n\t- `none` will not create any builds based on GitHub activity.\n\n\t> `trigger_mode` is only valid if the pipeline uses a GitHub repository.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "buildBranches",
            "buildPullRequestForks",
            "buildPullRequestLabelsChanged",
            "buildPullRequestReadyForReview",
            "buildPullRequests",
            "buildTags",
            "cancelDeletedBranchBuilds",
            "filterCondition",
            "filterEnabled",
            "prefixPullRequestForkBranchNames",
            "publishBlockedAsPending",
            "publishCommitStatus",
            "publishCommitStatusPerStep",
            "pullRequestBranchFilterConfiguration",
            "pullRequestBranchFilterEnabled",
            "separatePullRequestStatuses",
            "skipBuildsForExistingCommits",
            "skipPullRequestBuildsForExistingCommits",
            "triggerMode"
          ]
        }
      }
    },
    "buildkite:config/timeouts:timeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "buildkite:index/ProviderTimeouts:ProviderTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    }
  },
  "provider": {
    "description": "The provider type for the buildkite 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": {
      "apiToken": {
        "type": "string",
        "description": "API token with GraphQL access and `write_pipelines`, `read_pipelines` and `write_suites` REST API scopes. You can\ngenerate a token from [your settings\npage](https://buildkite.com/user/api-access-tokens/new?description=terraform&scopes[]=write_pipelines&scopes[]=write_suites&scopes[]=read_pipelines&scopes[]=graphql).\nIf not provided, the value is taken from the `BUILDKITE_API_TOKEN` environment variable.\n",
        "secret": true
      },
      "graphqlUrl": {
        "type": "string",
        "description": "Base URL for the GraphQL API to use. If not provided, the value is taken from the `BUILDKITE_GRAPHQL_URL` environment\nvariable.\n"
      },
      "organization": {
        "type": "string",
        "description": "The Buildkite organization slug. This can be found on the [settings](https://buildkite.com/organizations/~/settings)\npage. If not provided, the value is taken from the `BUILDKITE_ORGANIZATION_SLUG` environment variable.\n"
      },
      "restUrl": {
        "type": "string",
        "description": "Base URL for the REST API to use. If not provided, the value is taken from the `BUILDKITE_REST_URL` environment\nvariable.\n"
      }
    },
    "type": "object",
    "inputProperties": {
      "apiToken": {
        "type": "string",
        "description": "API token with GraphQL access and `write_pipelines`, `read_pipelines` and `write_suites` REST API scopes. You can\ngenerate a token from [your settings\npage](https://buildkite.com/user/api-access-tokens/new?description=terraform&scopes[]=write_pipelines&scopes[]=write_suites&scopes[]=read_pipelines&scopes[]=graphql).\nIf not provided, the value is taken from the `BUILDKITE_API_TOKEN` environment variable.\n",
        "secret": true
      },
      "archivePipelineOnDelete": {
        "type": "boolean",
        "description": "Enable this to archive pipelines when destroying the resource. This is opposed to completely deleting pipelines.\n"
      },
      "graphqlUrl": {
        "type": "string",
        "description": "Base URL for the GraphQL API to use. If not provided, the value is taken from the `BUILDKITE_GRAPHQL_URL` environment\nvariable.\n"
      },
      "organization": {
        "type": "string",
        "description": "The Buildkite organization slug. This can be found on the [settings](https://buildkite.com/organizations/~/settings)\npage. If not provided, the value is taken from the `BUILDKITE_ORGANIZATION_SLUG` environment variable.\n"
      },
      "restUrl": {
        "type": "string",
        "description": "Base URL for the REST API to use. If not provided, the value is taken from the `BUILDKITE_REST_URL` environment\nvariable.\n"
      },
      "timeouts": {
        "$ref": "#/types/buildkite:index%2FProviderTimeouts:ProviderTimeouts"
      }
    }
  },
  "resources": {
    "buildkite:Agent/agentToken:AgentToken": {
      "description": "This resource allows you to create and manage non-clustered agent tokens.\nYou can find out more about clusters in the Buildkite [documentation](https://buildkite.com/docs/agent/v3/tokens).\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// create a default token\nconst _default = new buildkite.agent.AgentToken(\"default\", {description: \"Default token\"});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# create a default token\ndefault = buildkite.agent.AgentToken(\"default\", description=\"Default token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // create a default token\n    var @default = new Buildkite.Agent.AgentToken(\"default\", new()\n    {\n        Description = \"Default token\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Agent\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create a default token\n\t\t_, err := Agent.NewAgentToken(ctx, \"default\", &Agent.AgentTokenArgs{\n\t\t\tDescription: pulumi.String(\"Default token\"),\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.buildkite.Agent.AgentToken;\nimport com.pulumi.buildkite.Agent.AgentTokenArgs;\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 default_ = new AgentToken(\"default\", AgentTokenArgs.builder()        \n            .description(\"Default token\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # create a default token\n  default:\n    type: buildkite:Agent:AgentToken\n    properties:\n      description: Default token\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "The description of the agent token. Used to help identify its use.\n"
        },
        "token": {
          "type": "string",
          "description": "The token value used by an agent to register with the API.\n",
          "secret": true
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the agent token.\n"
        }
      },
      "type": "object",
      "required": [
        "token",
        "uuid"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The description of the agent token. Used to help identify its use.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AgentToken resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "The description of the agent token. Used to help identify its use.\n"
          },
          "token": {
            "type": "string",
            "description": "The token value used by an agent to register with the API.\n",
            "secret": true
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the agent token.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Cluster/cluster:Cluster": {
      "description": "This resource allows you to create and manage a Buildkite Cluster to run your builds in.\nClusters are useful for grouping agents by there capabilities or permissions.\nFind out more information in our [documentation](https://buildkite.com/docs/clusters/overview).\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// create a cluster\nconst primary = new buildkite.cluster.Cluster(\"primary\", {\n    description: \"Runs the monolith build and deploy\",\n    emoji: \"🚀\",\n    color: \"#bada55\",\n});\n// add a pipeline to the cluster\nconst monolith = new buildkite.pipeline.Pipeline(\"monolith\", {\n    repository: \"https://github.com/...\",\n    clusterId: primary.id,\n});\nconst _default = new buildkite.cluster.ClusterQueue(\"default\", {\n    clusterId: primary.id,\n    key: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# create a cluster\nprimary = buildkite.cluster.Cluster(\"primary\",\n    description=\"Runs the monolith build and deploy\",\n    emoji=\"🚀\",\n    color=\"#bada55\")\n# add a pipeline to the cluster\nmonolith = buildkite.pipeline.Pipeline(\"monolith\",\n    repository=\"https://github.com/...\",\n    cluster_id=primary.id)\ndefault = buildkite.cluster.ClusterQueue(\"default\",\n    cluster_id=primary.id,\n    key=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // create a cluster\n    var primary = new Buildkite.Cluster.Cluster(\"primary\", new()\n    {\n        Description = \"Runs the monolith build and deploy\",\n        Emoji = \"🚀\",\n        Color = \"#bada55\",\n    });\n\n    // add a pipeline to the cluster\n    var monolith = new Buildkite.Pipeline.Pipeline(\"monolith\", new()\n    {\n        Repository = \"https://github.com/...\",\n        ClusterId = primary.Id,\n    });\n\n    var @default = new Buildkite.Cluster.ClusterQueue(\"default\", new()\n    {\n        ClusterId = primary.Id,\n        Key = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Cluster\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create a cluster\n\t\tprimary, err := Cluster.NewCluster(ctx, \"primary\", &Cluster.ClusterArgs{\n\t\t\tDescription: pulumi.String(\"Runs the monolith build and deploy\"),\n\t\t\tEmoji:       pulumi.String(\"🚀\"),\n\t\t\tColor:       pulumi.String(\"#bada55\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// add a pipeline to the cluster\n\t\t_, err = Pipeline.NewPipeline(ctx, \"monolith\", &Pipeline.PipelineArgs{\n\t\t\tRepository: pulumi.String(\"https://github.com/...\"),\n\t\t\tClusterId:  primary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cluster.NewClusterQueue(ctx, \"default\", &Cluster.ClusterQueueArgs{\n\t\t\tClusterId: primary.ID(),\n\t\t\tKey:       pulumi.String(\"default\"),\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.buildkite.Cluster.Cluster;\nimport com.pulumi.buildkite.Cluster.ClusterArgs;\nimport com.pulumi.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\nimport com.pulumi.buildkite.Cluster.ClusterQueue;\nimport com.pulumi.buildkite.Cluster.ClusterQueueArgs;\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 primary = new Cluster(\"primary\", ClusterArgs.builder()        \n            .description(\"Runs the monolith build and deploy\")\n            .emoji(\"🚀\")\n            .color(\"#bada55\")\n            .build());\n\n        var monolith = new Pipeline(\"monolith\", PipelineArgs.builder()        \n            .repository(\"https://github.com/...\")\n            .clusterId(primary.id())\n            .build());\n\n        var default_ = new ClusterQueue(\"default\", ClusterQueueArgs.builder()        \n            .clusterId(primary.id())\n            .key(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # create a cluster\n  primary:\n    type: buildkite:Cluster:Cluster\n    properties:\n      description: Runs the monolith build and deploy\n      emoji: \"\\U0001F680\"\n      color: '#bada55'\n  # add a pipeline to the cluster\n  monolith:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: https://github.com/...\n      clusterId: ${primary.id}\n  default:\n    type: buildkite:Cluster:ClusterQueue\n    properties:\n      clusterId: ${primary.id}\n      key: default\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a cluster resource using the GraphQL ID\n\n#\n\nyou can use this query to find the ID:\n\nquery getClusters {\n\n  organization(slug: \"ORGANIZATION\"){\n\n    clusters(first: 5, order:NAME) {\n\n      edges{\n\n        node {\n\n          id\n\n          name\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Cluster/cluster:Cluster primary Q2x1c3Rlci0tLTI3ZmFmZjA4LTA3OWEtNDk5ZC1hMmIwLTIzNmY3NWFkMWZjYg==\n```\n\n",
      "properties": {
        "color": {
          "type": "string",
          "description": "A color representation of the Cluster. Accepts hex codes, eg #BADA55.\n"
        },
        "description": {
          "type": "string",
          "description": "This is a description for the cluster, this may describe the usage for it, the region, or something else\nwhich would help identify the Cluster's purpose.\n"
        },
        "emoji": {
          "type": "string",
          "description": "An emoji to use with the Cluster, this can either be set using :buildkite: notation, or with the\nemoji itself, such as 🚀.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Cluster. Can only contain numbers and letters, no spaces or special characters.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the cluster.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "uuid"
      ],
      "inputProperties": {
        "color": {
          "type": "string",
          "description": "A color representation of the Cluster. Accepts hex codes, eg #BADA55.\n"
        },
        "description": {
          "type": "string",
          "description": "This is a description for the cluster, this may describe the usage for it, the region, or something else\nwhich would help identify the Cluster's purpose.\n"
        },
        "emoji": {
          "type": "string",
          "description": "An emoji to use with the Cluster, this can either be set using :buildkite: notation, or with the\nemoji itself, such as 🚀.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Cluster. Can only contain numbers and letters, no spaces or special characters.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Cluster resources.\n",
        "properties": {
          "color": {
            "type": "string",
            "description": "A color representation of the Cluster. Accepts hex codes, eg #BADA55.\n"
          },
          "description": {
            "type": "string",
            "description": "This is a description for the cluster, this may describe the usage for it, the region, or something else\nwhich would help identify the Cluster's purpose.\n"
          },
          "emoji": {
            "type": "string",
            "description": "An emoji to use with the Cluster, this can either be set using :buildkite: notation, or with the\nemoji itself, such as 🚀.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the Cluster. Can only contain numbers and letters, no spaces or special characters.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the cluster.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Cluster/clusterAgentToken:ClusterAgentToken": {
      "description": "A Cluster Agent Token is a token used to connect an agent to a cluster in Buildkite.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// create a cluster\nconst primary = new buildkite.cluster.Cluster(\"primary\", {\n    description: \"Runs the monolith build and deploy\",\n    emoji: \"🚀\",\n    color: \"#bada55\",\n});\n// create an agent token for the cluster\nconst defaultClusterAgentToken = new buildkite.cluster.ClusterAgentToken(\"defaultClusterAgentToken\", {\n    description: \"Default cluster token\",\n    clusterId: primary.id,\n});\nconst ipLimitedToken = new buildkite.cluster.ClusterAgentToken(\"ipLimitedToken\", {\n    description: \"Token with allowed IP range\",\n    clusterId: primary.id,\n    allowedIpAddresses: [\"10.100.1.0/28\"],\n});\nconst monolith = new buildkite.pipeline.Pipeline(\"monolith\", {\n    repository: \"https://github.com/...\",\n    clusterId: primary.id,\n});\nconst defaultClusterQueue = new buildkite.cluster.ClusterQueue(\"defaultClusterQueue\", {\n    clusterId: primary.id,\n    key: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# create a cluster\nprimary = buildkite.cluster.Cluster(\"primary\",\n    description=\"Runs the monolith build and deploy\",\n    emoji=\"🚀\",\n    color=\"#bada55\")\n# create an agent token for the cluster\ndefault_cluster_agent_token = buildkite.cluster.ClusterAgentToken(\"defaultClusterAgentToken\",\n    description=\"Default cluster token\",\n    cluster_id=primary.id)\nip_limited_token = buildkite.cluster.ClusterAgentToken(\"ipLimitedToken\",\n    description=\"Token with allowed IP range\",\n    cluster_id=primary.id,\n    allowed_ip_addresses=[\"10.100.1.0/28\"])\nmonolith = buildkite.pipeline.Pipeline(\"monolith\",\n    repository=\"https://github.com/...\",\n    cluster_id=primary.id)\ndefault_cluster_queue = buildkite.cluster.ClusterQueue(\"defaultClusterQueue\",\n    cluster_id=primary.id,\n    key=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // create a cluster\n    var primary = new Buildkite.Cluster.Cluster(\"primary\", new()\n    {\n        Description = \"Runs the monolith build and deploy\",\n        Emoji = \"🚀\",\n        Color = \"#bada55\",\n    });\n\n    // create an agent token for the cluster\n    var defaultClusterAgentToken = new Buildkite.Cluster.ClusterAgentToken(\"defaultClusterAgentToken\", new()\n    {\n        Description = \"Default cluster token\",\n        ClusterId = primary.Id,\n    });\n\n    var ipLimitedToken = new Buildkite.Cluster.ClusterAgentToken(\"ipLimitedToken\", new()\n    {\n        Description = \"Token with allowed IP range\",\n        ClusterId = primary.Id,\n        AllowedIpAddresses = new[]\n        {\n            \"10.100.1.0/28\",\n        },\n    });\n\n    var monolith = new Buildkite.Pipeline.Pipeline(\"monolith\", new()\n    {\n        Repository = \"https://github.com/...\",\n        ClusterId = primary.Id,\n    });\n\n    var defaultClusterQueue = new Buildkite.Cluster.ClusterQueue(\"defaultClusterQueue\", new()\n    {\n        ClusterId = primary.Id,\n        Key = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Cluster\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create a cluster\n\t\tprimary, err := Cluster.NewCluster(ctx, \"primary\", &Cluster.ClusterArgs{\n\t\t\tDescription: pulumi.String(\"Runs the monolith build and deploy\"),\n\t\t\tEmoji:       pulumi.String(\"🚀\"),\n\t\t\tColor:       pulumi.String(\"#bada55\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create an agent token for the cluster\n\t\t_, err = Cluster.NewClusterAgentToken(ctx, \"defaultClusterAgentToken\", &Cluster.ClusterAgentTokenArgs{\n\t\t\tDescription: pulumi.String(\"Default cluster token\"),\n\t\t\tClusterId:   primary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cluster.NewClusterAgentToken(ctx, \"ipLimitedToken\", &Cluster.ClusterAgentTokenArgs{\n\t\t\tDescription: pulumi.String(\"Token with allowed IP range\"),\n\t\t\tClusterId:   primary.ID(),\n\t\t\tAllowedIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.100.1.0/28\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Pipeline.NewPipeline(ctx, \"monolith\", &Pipeline.PipelineArgs{\n\t\t\tRepository: pulumi.String(\"https://github.com/...\"),\n\t\t\tClusterId:  primary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cluster.NewClusterQueue(ctx, \"defaultClusterQueue\", &Cluster.ClusterQueueArgs{\n\t\t\tClusterId: primary.ID(),\n\t\t\tKey:       pulumi.String(\"default\"),\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.buildkite.Cluster.Cluster;\nimport com.pulumi.buildkite.Cluster.ClusterArgs;\nimport com.pulumi.buildkite.Cluster.ClusterAgentToken;\nimport com.pulumi.buildkite.Cluster.ClusterAgentTokenArgs;\nimport com.pulumi.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\nimport com.pulumi.buildkite.Cluster.ClusterQueue;\nimport com.pulumi.buildkite.Cluster.ClusterQueueArgs;\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 primary = new Cluster(\"primary\", ClusterArgs.builder()        \n            .description(\"Runs the monolith build and deploy\")\n            .emoji(\"🚀\")\n            .color(\"#bada55\")\n            .build());\n\n        var defaultClusterAgentToken = new ClusterAgentToken(\"defaultClusterAgentToken\", ClusterAgentTokenArgs.builder()        \n            .description(\"Default cluster token\")\n            .clusterId(primary.id())\n            .build());\n\n        var ipLimitedToken = new ClusterAgentToken(\"ipLimitedToken\", ClusterAgentTokenArgs.builder()        \n            .description(\"Token with allowed IP range\")\n            .clusterId(primary.id())\n            .allowedIpAddresses(\"10.100.1.0/28\")\n            .build());\n\n        var monolith = new Pipeline(\"monolith\", PipelineArgs.builder()        \n            .repository(\"https://github.com/...\")\n            .clusterId(primary.id())\n            .build());\n\n        var defaultClusterQueue = new ClusterQueue(\"defaultClusterQueue\", ClusterQueueArgs.builder()        \n            .clusterId(primary.id())\n            .key(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # create a cluster\n  primary:\n    type: buildkite:Cluster:Cluster\n    properties:\n      description: Runs the monolith build and deploy\n      emoji: \"\\U0001F680\"\n      color: '#bada55'\n  # create an agent token for the cluster\n  defaultClusterAgentToken:\n    type: buildkite:Cluster:ClusterAgentToken\n    properties:\n      description: Default cluster token\n      clusterId: ${primary.id}\n  ipLimitedToken:\n    type: buildkite:Cluster:ClusterAgentToken\n    properties:\n      description: Token with allowed IP range\n      clusterId: ${primary.id}\n      allowedIpAddresses:\n        - 10.100.1.0/28\n  monolith:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: https://github.com/...\n      clusterId: ${primary.id}\n  defaultClusterQueue:\n    type: buildkite:Cluster:ClusterQueue\n    properties:\n      clusterId: ${primary.id}\n      key: default\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "allowedIpAddresses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of CIDR-notation IPv4 addresses from which agents can use this Cluster Agent Token.If not set, all IP addresses are allowed (the same as setting 0.0.0.0/0).\n"
        },
        "clusterId": {
          "type": "string",
          "description": "The GraphQL ID of the Cluster that this Cluster Agent Token belongs to.\n"
        },
        "clusterUuid": {
          "type": "string",
          "description": "The UUID of the Cluster that this token belongs to.\n"
        },
        "description": {
          "type": "string",
          "description": "A description about what this cluster agent token is used for.\n"
        },
        "token": {
          "type": "string",
          "description": "The token value used by an agent to register with the API.\n",
          "secret": true
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the token.\n"
        }
      },
      "type": "object",
      "required": [
        "clusterId",
        "clusterUuid",
        "description",
        "token",
        "uuid"
      ],
      "inputProperties": {
        "allowedIpAddresses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of CIDR-notation IPv4 addresses from which agents can use this Cluster Agent Token.If not set, all IP addresses are allowed (the same as setting 0.0.0.0/0).\n"
        },
        "clusterId": {
          "type": "string",
          "description": "The GraphQL ID of the Cluster that this Cluster Agent Token belongs to.\n"
        },
        "description": {
          "type": "string",
          "description": "A description about what this cluster agent token is used for.\n"
        }
      },
      "requiredInputs": [
        "clusterId",
        "description"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClusterAgentToken resources.\n",
        "properties": {
          "allowedIpAddresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of CIDR-notation IPv4 addresses from which agents can use this Cluster Agent Token.If not set, all IP addresses are allowed (the same as setting 0.0.0.0/0).\n"
          },
          "clusterId": {
            "type": "string",
            "description": "The GraphQL ID of the Cluster that this Cluster Agent Token belongs to.\n"
          },
          "clusterUuid": {
            "type": "string",
            "description": "The UUID of the Cluster that this token belongs to.\n"
          },
          "description": {
            "type": "string",
            "description": "A description about what this cluster agent token is used for.\n"
          },
          "token": {
            "type": "string",
            "description": "The token value used by an agent to register with the API.\n",
            "secret": true
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the token.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Cluster/clusterDefaultQueue:ClusterDefaultQueue": {
      "description": "This resource allows you to manage a default queue for a Buildkite Cluster.\nFind out more information in our [documentation](https://buildkite.com/docs/clusters/overview).\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// create a cluster\nconst primaryCluster = new buildkite.cluster.Cluster(\"primaryCluster\", {\n    description: \"Runs the monolith build and deploy\",\n    emoji: \"🚀\",\n    color: \"#bada55\",\n});\nconst _default = new buildkite.cluster.ClusterQueue(\"default\", {\n    clusterId: primaryCluster.id,\n    key: \"default\",\n});\nconst primaryClusterDefaultQueue = new buildkite.cluster.ClusterDefaultQueue(\"primaryClusterDefaultQueue\", {\n    clusterId: primaryCluster.id,\n    queueId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# create a cluster\nprimary_cluster = buildkite.cluster.Cluster(\"primaryCluster\",\n    description=\"Runs the monolith build and deploy\",\n    emoji=\"🚀\",\n    color=\"#bada55\")\ndefault = buildkite.cluster.ClusterQueue(\"default\",\n    cluster_id=primary_cluster.id,\n    key=\"default\")\nprimary_cluster_default_queue = buildkite.cluster.ClusterDefaultQueue(\"primaryClusterDefaultQueue\",\n    cluster_id=primary_cluster.id,\n    queue_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // create a cluster\n    var primaryCluster = new Buildkite.Cluster.Cluster(\"primaryCluster\", new()\n    {\n        Description = \"Runs the monolith build and deploy\",\n        Emoji = \"🚀\",\n        Color = \"#bada55\",\n    });\n\n    var @default = new Buildkite.Cluster.ClusterQueue(\"default\", new()\n    {\n        ClusterId = primaryCluster.Id,\n        Key = \"default\",\n    });\n\n    var primaryClusterDefaultQueue = new Buildkite.Cluster.ClusterDefaultQueue(\"primaryClusterDefaultQueue\", new()\n    {\n        ClusterId = primaryCluster.Id,\n        QueueId = @default.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Cluster\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create a cluster\n\t\tprimaryCluster, err := Cluster.NewCluster(ctx, \"primaryCluster\", &Cluster.ClusterArgs{\n\t\t\tDescription: pulumi.String(\"Runs the monolith build and deploy\"),\n\t\t\tEmoji:       pulumi.String(\"🚀\"),\n\t\t\tColor:       pulumi.String(\"#bada55\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cluster.NewClusterQueue(ctx, \"default\", &Cluster.ClusterQueueArgs{\n\t\t\tClusterId: primaryCluster.ID(),\n\t\t\tKey:       pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cluster.NewClusterDefaultQueue(ctx, \"primaryClusterDefaultQueue\", &Cluster.ClusterDefaultQueueArgs{\n\t\t\tClusterId: primaryCluster.ID(),\n\t\t\tQueueId:   _default.ID(),\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.buildkite.Cluster.Cluster;\nimport com.pulumi.buildkite.Cluster.ClusterArgs;\nimport com.pulumi.buildkite.Cluster.ClusterQueue;\nimport com.pulumi.buildkite.Cluster.ClusterQueueArgs;\nimport com.pulumi.buildkite.Cluster.ClusterDefaultQueue;\nimport com.pulumi.buildkite.Cluster.ClusterDefaultQueueArgs;\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 primaryCluster = new Cluster(\"primaryCluster\", ClusterArgs.builder()        \n            .description(\"Runs the monolith build and deploy\")\n            .emoji(\"🚀\")\n            .color(\"#bada55\")\n            .build());\n\n        var default_ = new ClusterQueue(\"default\", ClusterQueueArgs.builder()        \n            .clusterId(primaryCluster.id())\n            .key(\"default\")\n            .build());\n\n        var primaryClusterDefaultQueue = new ClusterDefaultQueue(\"primaryClusterDefaultQueue\", ClusterDefaultQueueArgs.builder()        \n            .clusterId(primaryCluster.id())\n            .queueId(default_.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # create a cluster\n  primaryCluster:\n    type: buildkite:Cluster:Cluster\n    properties:\n      description: Runs the monolith build and deploy\n      emoji: \"\\U0001F680\"\n      color: '#bada55'\n  default:\n    type: buildkite:Cluster:ClusterQueue\n    properties:\n      clusterId: ${primaryCluster.id}\n      key: default\n  primaryClusterDefaultQueue:\n    type: buildkite:Cluster:ClusterDefaultQueue\n    properties:\n      clusterId: ${primaryCluster.id}\n      queueId: ${default.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a clusters default queue resource using the GraphQL ID of the cluster itself\n\n#\n\nyou can use this query to find the ID:\n\nquery getClusters {\n\n  organization(slug: \"ORGANIZATION\"){\n\n    clusters(first: 5, order:NAME) {\n\n      edges{\n\n        node {\n\n          id\n\n          name\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Cluster/clusterDefaultQueue:ClusterDefaultQueue primary Q2x1c3Rlci0tLTI3ZmFmZjA4LTA3OWEtNDk5ZC1hMmIwLTIzNmY3NWFkMWZjYg==\n```\n\n",
      "properties": {
        "clusterId": {
          "type": "string",
          "description": "The GraphQL ID of the cluster to which to add a default queue.\n"
        },
        "queueId": {
          "type": "string",
          "description": "The GraphQL ID of the cluster queue to set as default on the cluster.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the cluster.\n"
        }
      },
      "type": "object",
      "required": [
        "clusterId",
        "queueId",
        "uuid"
      ],
      "inputProperties": {
        "clusterId": {
          "type": "string",
          "description": "The GraphQL ID of the cluster to which to add a default queue.\n"
        },
        "queueId": {
          "type": "string",
          "description": "The GraphQL ID of the cluster queue to set as default on the cluster.\n"
        }
      },
      "requiredInputs": [
        "clusterId",
        "queueId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClusterDefaultQueue resources.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The GraphQL ID of the cluster to which to add a default queue.\n"
          },
          "queueId": {
            "type": "string",
            "description": "The GraphQL ID of the cluster queue to set as default on the cluster.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the cluster.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Cluster/clusterQueue:ClusterQueue": {
      "description": "A Cluster Queue is a queue belonging to a specific Cluster for its Agents to target builds on.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// create a cluster\nconst primary = new buildkite.cluster.Cluster(\"primary\", {\n    description: \"Runs the monolith build and deploy\",\n    emoji: \"🚀\",\n    color: \"#bada55\",\n});\nconst monolith = new buildkite.pipeline.Pipeline(\"monolith\", {\n    repository: \"https://github.com/...\",\n    clusterId: primary.id,\n});\n// create a queue to put pipeline builds in\nconst _default = new buildkite.cluster.ClusterQueue(\"default\", {\n    clusterId: primary.id,\n    key: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# create a cluster\nprimary = buildkite.cluster.Cluster(\"primary\",\n    description=\"Runs the monolith build and deploy\",\n    emoji=\"🚀\",\n    color=\"#bada55\")\nmonolith = buildkite.pipeline.Pipeline(\"monolith\",\n    repository=\"https://github.com/...\",\n    cluster_id=primary.id)\n# create a queue to put pipeline builds in\ndefault = buildkite.cluster.ClusterQueue(\"default\",\n    cluster_id=primary.id,\n    key=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // create a cluster\n    var primary = new Buildkite.Cluster.Cluster(\"primary\", new()\n    {\n        Description = \"Runs the monolith build and deploy\",\n        Emoji = \"🚀\",\n        Color = \"#bada55\",\n    });\n\n    var monolith = new Buildkite.Pipeline.Pipeline(\"monolith\", new()\n    {\n        Repository = \"https://github.com/...\",\n        ClusterId = primary.Id,\n    });\n\n    // create a queue to put pipeline builds in\n    var @default = new Buildkite.Cluster.ClusterQueue(\"default\", new()\n    {\n        ClusterId = primary.Id,\n        Key = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Cluster\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create a cluster\n\t\tprimary, err := Cluster.NewCluster(ctx, \"primary\", &Cluster.ClusterArgs{\n\t\t\tDescription: pulumi.String(\"Runs the monolith build and deploy\"),\n\t\t\tEmoji:       pulumi.String(\"🚀\"),\n\t\t\tColor:       pulumi.String(\"#bada55\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Pipeline.NewPipeline(ctx, \"monolith\", &Pipeline.PipelineArgs{\n\t\t\tRepository: pulumi.String(\"https://github.com/...\"),\n\t\t\tClusterId:  primary.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create a queue to put pipeline builds in\n\t\t_, err = Cluster.NewClusterQueue(ctx, \"default\", &Cluster.ClusterQueueArgs{\n\t\t\tClusterId: primary.ID(),\n\t\t\tKey:       pulumi.String(\"default\"),\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.buildkite.Cluster.Cluster;\nimport com.pulumi.buildkite.Cluster.ClusterArgs;\nimport com.pulumi.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\nimport com.pulumi.buildkite.Cluster.ClusterQueue;\nimport com.pulumi.buildkite.Cluster.ClusterQueueArgs;\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 primary = new Cluster(\"primary\", ClusterArgs.builder()        \n            .description(\"Runs the monolith build and deploy\")\n            .emoji(\"🚀\")\n            .color(\"#bada55\")\n            .build());\n\n        var monolith = new Pipeline(\"monolith\", PipelineArgs.builder()        \n            .repository(\"https://github.com/...\")\n            .clusterId(primary.id())\n            .build());\n\n        var default_ = new ClusterQueue(\"default\", ClusterQueueArgs.builder()        \n            .clusterId(primary.id())\n            .key(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # create a cluster\n  primary:\n    type: buildkite:Cluster:Cluster\n    properties:\n      description: Runs the monolith build and deploy\n      emoji: \"\\U0001F680\"\n      color: '#bada55'\n  monolith:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: https://github.com/...\n      clusterId: ${primary.id}\n  # create a queue to put pipeline builds in\n  default:\n    type: buildkite:Cluster:ClusterQueue\n    properties:\n      clusterId: ${primary.id}\n      key: default\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a cluster queue resource using the GraphQL ID along with its respective cluster UUID\n\n#\n\nyou can use this query to find the ID:\n\nquery getClusterQueues {\n\n  organization(slug: \"ORGANIZATION_SLUG\") {\n\n    cluster(id: \"CLUSTER_UUID\") {\n\n      queues(first: 50) {\n\n        edges {\n\n          node {\n\n            id\n\n            key\n\n          }\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Cluster/clusterQueue:ClusterQueue test Q2x1c3RlclF1ZXVlLS0tYjJiOGRhNTEtOWY5My00Y2MyLTkyMjktMGRiNzg3ZDQzOTAz,35498aaf-ad05-4fa5-9a07-91bf6cacd2bd\n```\n\n",
      "properties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the cluster that this cluster queue belongs to.\n"
        },
        "clusterUuid": {
          "type": "string",
          "description": "The UUID of the cluster this queue belongs to.\n"
        },
        "description": {
          "type": "string",
          "description": "A description for the cluster queue.\n"
        },
        "key": {
          "type": "string",
          "description": "The key of the cluster queue.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the cluster queue.\n"
        }
      },
      "type": "object",
      "required": [
        "clusterId",
        "clusterUuid",
        "key",
        "uuid"
      ],
      "inputProperties": {
        "clusterId": {
          "type": "string",
          "description": "The ID of the cluster that this cluster queue belongs to.\n"
        },
        "description": {
          "type": "string",
          "description": "A description for the cluster queue.\n"
        },
        "key": {
          "type": "string",
          "description": "The key of the cluster queue.\n"
        }
      },
      "requiredInputs": [
        "clusterId",
        "key"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClusterQueue resources.\n",
        "properties": {
          "clusterId": {
            "type": "string",
            "description": "The ID of the cluster that this cluster queue belongs to.\n"
          },
          "clusterUuid": {
            "type": "string",
            "description": "The UUID of the cluster this queue belongs to.\n"
          },
          "description": {
            "type": "string",
            "description": "A description for the cluster queue.\n"
          },
          "key": {
            "type": "string",
            "description": "The key of the cluster queue.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the cluster queue.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Organization/banner:Banner": {
      "description": "This resource allows you to create and manage banners for specific organizations, displayed to all members at the top of each page in Buildkite's UI.\n\nMore information on organization/system banners can be found in the [documentation](https://buildkite.com/docs/team-management/system-banners).\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\nconst banner = new buildkite.organization.Banner(\"banner\", {message: \":warning: Please be aware of the maintenance window this weekend!\"});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\nbanner = buildkite.organization.Banner(\"banner\", message=\":warning: Please be aware of the maintenance window this weekend!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    var banner = new Buildkite.Organization.Banner(\"banner\", new()\n    {\n        Message = \":warning: Please be aware of the maintenance window this weekend!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.NewBanner(ctx, \"banner\", &Organization.BannerArgs{\n\t\t\tMessage: pulumi.String(\":warning: Please be aware of the maintenance window this weekend!\"),\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.buildkite.Organization.Banner;\nimport com.pulumi.buildkite.Organization.BannerArgs;\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 banner = new Banner(\"banner\", BannerArgs.builder()        \n            .message(\":warning: Please be aware of the maintenance window this weekend!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  banner:\n    type: buildkite:Organization:Banner\n    properties:\n      message: ':warning: Please be aware of the maintenance window this weekend!'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport an organization banner resource using the banner's GraphQL ID\n\n#\n\nyou can use this query to find the banner's ID:\n\nquery getOrganizationBannerId {\n\n  organization(slug: \"ORGANIZATION_SLUG\") {\n\n    banners(first: 1) {\n\n      edges {\n\n        node {\n\n          id\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Organization/banner:Banner banner T3JnYW5pemF0aW9uQmFubmVyLS0tNjZlMmE5YzktM2IzMy00OGE5LTk1NjItMzY2YzMwNzYzN2Uz\n```\n\n",
      "properties": {
        "message": {
          "type": "string",
          "description": "The organization banner's message.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the organization banner.\n"
        }
      },
      "type": "object",
      "required": [
        "message",
        "uuid"
      ],
      "inputProperties": {
        "message": {
          "type": "string",
          "description": "The organization banner's message.\n"
        }
      },
      "requiredInputs": [
        "message"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Banner resources.\n",
        "properties": {
          "message": {
            "type": "string",
            "description": "The organization banner's message.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the organization banner.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Organization/organization:Organization": {
      "description": "This resource allows you to manage the settings for an organization.\n\nThe user of your API token must be an organization administrator to manage organization settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// allow api access only from 1.1.1.1 and enforce 2fa for all members\nconst settings = new buildkite.organization.Organization(\"settings\", {\n    allowedApiIpAddresses: [\"1.1.1.1/32\"],\n    enforce2fa: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# allow api access only from 1.1.1.1 and enforce 2fa for all members\nsettings = buildkite.organization.Organization(\"settings\",\n    allowed_api_ip_addresses=[\"1.1.1.1/32\"],\n    enforce2fa=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // allow api access only from 1.1.1.1 and enforce 2fa for all members\n    var settings = new Buildkite.Organization.Organization(\"settings\", new()\n    {\n        AllowedApiIpAddresses = new[]\n        {\n            \"1.1.1.1/32\",\n        },\n        Enforce2fa = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// allow api access only from 1.1.1.1 and enforce 2fa for all members\n\t\t_, err := Organization.NewOrganization(ctx, \"settings\", &Organization.OrganizationArgs{\n\t\t\tAllowedApiIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1/32\"),\n\t\t\t},\n\t\t\tEnforce2fa: 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.buildkite.Organization.Organization;\nimport com.pulumi.buildkite.Organization.OrganizationArgs;\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 settings = new Organization(\"settings\", OrganizationArgs.builder()        \n            .allowedApiIpAddresses(\"1.1.1.1/32\")\n            .enforce2fa(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # allow api access only from 1.1.1.1 and enforce 2fa for all members\n  settings:\n    type: buildkite:Organization:Organization\n    properties:\n      allowedApiIpAddresses:\n        - 1.1.1.1/32\n      enforce2fa: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport the organization settings via the organization slug\n\n```sh\n$ pulumi import buildkite:Organization/organization:Organization settings <organization slug>\n```\n\n",
      "properties": {
        "allowedApiIpAddresses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of IP addresses in CIDR format that are allowed to access the Buildkite API.If not set, all IP addresses are allowed (the same as setting 0.0.0.0/0).\n"
        },
        "enforce2fa": {
          "type": "boolean",
          "description": "Sets whether the organization requires two-factor authentication for all members.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the organization.\n"
        }
      },
      "type": "object",
      "required": [
        "enforce2fa",
        "uuid"
      ],
      "inputProperties": {
        "allowedApiIpAddresses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of IP addresses in CIDR format that are allowed to access the Buildkite API.If not set, all IP addresses are allowed (the same as setting 0.0.0.0/0).\n"
        },
        "enforce2fa": {
          "type": "boolean",
          "description": "Sets whether the organization requires two-factor authentication for all members.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Organization resources.\n",
        "properties": {
          "allowedApiIpAddresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of IP addresses in CIDR format that are allowed to access the Buildkite API.If not set, all IP addresses are allowed (the same as setting 0.0.0.0/0).\n"
          },
          "enforce2fa": {
            "type": "boolean",
            "description": "Sets whether the organization requires two-factor authentication for all members.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the organization.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Pipeline/pipeline:Pipeline": {
      "description": "This resource allows you to create and manage pipelines for repositories.\n\nMore information on pipelines can be found in the [documentation](https://buildkite.com/docs/pipelines).\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\nimport com.pulumi.buildkite.Pipeline.inputs.PipelineProviderSettingsArgs;\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 pipeline = new Pipeline(\"pipeline\", PipelineArgs.builder()        \n            .color(\"#000000\")\n            .emoji(\":buildkite:\")\n            .providerSettings(PipelineProviderSettingsArgs.builder()\n                .build_branches(false)\n                .build_pull_requests(false)\n                .build_tags(true)\n                .trigger_mode(\"code\")\n                .build())\n            .repository(\"git@github.com:org/repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # with github provider settings\n  pipeline:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      color: '#000000'\n      emoji: ':buildkite:'\n      providerSettings:\n        build_branches: false\n        build_pull_requests: false\n        build_tags: true\n        trigger_mode: code\n      repository: git@github.com:org/repo\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a pipeline resource using the pipelines GraphQL ID\n\nGraphQL ID for a pipeline can be found on its settings page\n\n```sh\n$ pulumi import buildkite:Pipeline/pipeline:Pipeline pipeline UGlwZWxpbmUtLS00MzVjYWQ1OC1lODFkLTQ1YWYtODYzNy1iMWNmODA3MDIzOGQ=\n```\n\n",
      "properties": {
        "allowRebuilds": {
          "type": "boolean",
          "description": "Whether rebuilds are allowed for this pipeline.\n"
        },
        "badgeUrl": {
          "type": "string",
          "description": "The badge URL showing build state.\n"
        },
        "branchConfiguration": {
          "type": "string",
          "description": "Configure the pipeline to only build on this branch conditional.\n"
        },
        "cancelIntermediateBuilds": {
          "type": "boolean",
          "description": "Whether to cancel builds when a new commit is pushed to a matching branch.\n"
        },
        "cancelIntermediateBuildsBranchFilter": {
          "type": "string",
          "description": "Filter the `cancel_intermediate_builds` setting based on this branch condition.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "Attach this pipeline to the given cluster GraphQL ID.\n"
        },
        "color": {
          "type": "string",
          "description": "A color hex code to represent this pipeline.\n"
        },
        "defaultBranch": {
          "type": "string",
          "description": "Default branch of the pipeline.\n"
        },
        "defaultTeamId": {
          "type": "string",
          "description": "The GraphQL ID of the team to use as the default owner of the pipeline.\n"
        },
        "defaultTimeoutInMinutes": {
          "type": "integer",
          "description": "Set pipeline wide timeout for command steps.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the pipeline. Can include emoji 🙌.\n"
        },
        "emoji": {
          "type": "string",
          "description": "An emoji that represents this pipeline.\n"
        },
        "maximumTimeoutInMinutes": {
          "type": "integer",
          "description": "Set pipeline wide maximum timeout for command steps.\n"
        },
        "name": {
          "type": "string",
          "description": "Name to give the pipeline.\n"
        },
        "pipelineTemplateId": {
          "type": "string",
          "description": "The GraphQL ID of the pipeline template applied to this pipeline.\n"
        },
        "providerSettings": {
          "$ref": "#/types/buildkite:Pipeline%2FPipelineProviderSettings:PipelineProviderSettings",
          "description": "Control settings depending on the VCS provider used in `repository`.\n"
        },
        "repository": {
          "type": "string",
          "description": "URL to the repository this pipeline is configured for.\n"
        },
        "skipIntermediateBuilds": {
          "type": "boolean",
          "description": "Whether to skip queued builds if a new commit is pushed to a matching branch.\n"
        },
        "skipIntermediateBuildsBranchFilter": {
          "type": "string",
          "description": "Filter the `skip_intermediate_builds` setting based on this branch condition.\n"
        },
        "slug": {
          "type": "string",
          "description": "The slug generated for the pipeline.\n"
        },
        "steps": {
          "type": "string",
          "description": "The YAML steps to configure for the pipeline. Defaults to `buildkite-agent pipeline upload`.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Tags to attribute to the pipeline. Useful for searching by in the UI.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the pipeline.\n"
        },
        "webhookUrl": {
          "type": "string",
          "description": "The webhook URL used to trigger builds from VCS providers.\n"
        }
      },
      "type": "object",
      "required": [
        "allowRebuilds",
        "badgeUrl",
        "cancelIntermediateBuilds",
        "cancelIntermediateBuildsBranchFilter",
        "defaultBranch",
        "defaultTimeoutInMinutes",
        "description",
        "maximumTimeoutInMinutes",
        "name",
        "repository",
        "skipIntermediateBuilds",
        "skipIntermediateBuildsBranchFilter",
        "slug",
        "steps",
        "tags",
        "uuid",
        "webhookUrl"
      ],
      "inputProperties": {
        "allowRebuilds": {
          "type": "boolean",
          "description": "Whether rebuilds are allowed for this pipeline.\n"
        },
        "branchConfiguration": {
          "type": "string",
          "description": "Configure the pipeline to only build on this branch conditional.\n"
        },
        "cancelIntermediateBuilds": {
          "type": "boolean",
          "description": "Whether to cancel builds when a new commit is pushed to a matching branch.\n"
        },
        "cancelIntermediateBuildsBranchFilter": {
          "type": "string",
          "description": "Filter the `cancel_intermediate_builds` setting based on this branch condition.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "Attach this pipeline to the given cluster GraphQL ID.\n"
        },
        "color": {
          "type": "string",
          "description": "A color hex code to represent this pipeline.\n"
        },
        "defaultBranch": {
          "type": "string",
          "description": "Default branch of the pipeline.\n"
        },
        "defaultTeamId": {
          "type": "string",
          "description": "The GraphQL ID of the team to use as the default owner of the pipeline.\n"
        },
        "defaultTimeoutInMinutes": {
          "type": "integer",
          "description": "Set pipeline wide timeout for command steps.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the pipeline. Can include emoji 🙌.\n"
        },
        "emoji": {
          "type": "string",
          "description": "An emoji that represents this pipeline.\n"
        },
        "maximumTimeoutInMinutes": {
          "type": "integer",
          "description": "Set pipeline wide maximum timeout for command steps.\n"
        },
        "name": {
          "type": "string",
          "description": "Name to give the pipeline.\n"
        },
        "pipelineTemplateId": {
          "type": "string",
          "description": "The GraphQL ID of the pipeline template applied to this pipeline.\n"
        },
        "providerSettings": {
          "$ref": "#/types/buildkite:Pipeline%2FPipelineProviderSettings:PipelineProviderSettings",
          "description": "Control settings depending on the VCS provider used in `repository`.\n"
        },
        "repository": {
          "type": "string",
          "description": "URL to the repository this pipeline is configured for.\n"
        },
        "skipIntermediateBuilds": {
          "type": "boolean",
          "description": "Whether to skip queued builds if a new commit is pushed to a matching branch.\n"
        },
        "skipIntermediateBuildsBranchFilter": {
          "type": "string",
          "description": "Filter the `skip_intermediate_builds` setting based on this branch condition.\n"
        },
        "steps": {
          "type": "string",
          "description": "The YAML steps to configure for the pipeline. Defaults to `buildkite-agent pipeline upload`.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Tags to attribute to the pipeline. Useful for searching by in the UI.\n"
        }
      },
      "requiredInputs": [
        "repository"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Pipeline resources.\n",
        "properties": {
          "allowRebuilds": {
            "type": "boolean",
            "description": "Whether rebuilds are allowed for this pipeline.\n"
          },
          "badgeUrl": {
            "type": "string",
            "description": "The badge URL showing build state.\n"
          },
          "branchConfiguration": {
            "type": "string",
            "description": "Configure the pipeline to only build on this branch conditional.\n"
          },
          "cancelIntermediateBuilds": {
            "type": "boolean",
            "description": "Whether to cancel builds when a new commit is pushed to a matching branch.\n"
          },
          "cancelIntermediateBuildsBranchFilter": {
            "type": "string",
            "description": "Filter the `cancel_intermediate_builds` setting based on this branch condition.\n"
          },
          "clusterId": {
            "type": "string",
            "description": "Attach this pipeline to the given cluster GraphQL ID.\n"
          },
          "color": {
            "type": "string",
            "description": "A color hex code to represent this pipeline.\n"
          },
          "defaultBranch": {
            "type": "string",
            "description": "Default branch of the pipeline.\n"
          },
          "defaultTeamId": {
            "type": "string",
            "description": "The GraphQL ID of the team to use as the default owner of the pipeline.\n"
          },
          "defaultTimeoutInMinutes": {
            "type": "integer",
            "description": "Set pipeline wide timeout for command steps.\n"
          },
          "description": {
            "type": "string",
            "description": "Description for the pipeline. Can include emoji 🙌.\n"
          },
          "emoji": {
            "type": "string",
            "description": "An emoji that represents this pipeline.\n"
          },
          "maximumTimeoutInMinutes": {
            "type": "integer",
            "description": "Set pipeline wide maximum timeout for command steps.\n"
          },
          "name": {
            "type": "string",
            "description": "Name to give the pipeline.\n"
          },
          "pipelineTemplateId": {
            "type": "string",
            "description": "The GraphQL ID of the pipeline template applied to this pipeline.\n"
          },
          "providerSettings": {
            "$ref": "#/types/buildkite:Pipeline%2FPipelineProviderSettings:PipelineProviderSettings",
            "description": "Control settings depending on the VCS provider used in `repository`.\n"
          },
          "repository": {
            "type": "string",
            "description": "URL to the repository this pipeline is configured for.\n"
          },
          "skipIntermediateBuilds": {
            "type": "boolean",
            "description": "Whether to skip queued builds if a new commit is pushed to a matching branch.\n"
          },
          "skipIntermediateBuildsBranchFilter": {
            "type": "string",
            "description": "Filter the `skip_intermediate_builds` setting based on this branch condition.\n"
          },
          "slug": {
            "type": "string",
            "description": "The slug generated for the pipeline.\n"
          },
          "steps": {
            "type": "string",
            "description": "The YAML steps to configure for the pipeline. Defaults to `buildkite-agent pipeline upload`.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags to attribute to the pipeline. Useful for searching by in the UI.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the pipeline.\n"
          },
          "webhookUrl": {
            "type": "string",
            "description": "The webhook URL used to trigger builds from VCS providers.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Pipeline/schedule:Schedule": {
      "description": "A pipeline schedule is a schedule that triggers a pipeline to run at a specific time.\n\nYou can find more information in the [documentation](https://buildkite.com/docs/pipelines/scheduled-builds).\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// create a pipeline\nconst pipeline = new buildkite.pipeline.Pipeline(\"pipeline\", {repository: \"https://github.com/...\"});\n// schedule a build at midnight every day\nconst nightly = new buildkite.pipeline.Schedule(\"nightly\", {\n    pipelineId: buildkite_pipeline.repo.id,\n    label: \"Nightly build\",\n    cronline: \"@midnight\",\n    branch: buildkite_pipeline.repo.default_branch,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# create a pipeline\npipeline = buildkite.pipeline.Pipeline(\"pipeline\", repository=\"https://github.com/...\")\n# schedule a build at midnight every day\nnightly = buildkite.pipeline.Schedule(\"nightly\",\n    pipeline_id=buildkite_pipeline[\"repo\"][\"id\"],\n    label=\"Nightly build\",\n    cronline=\"@midnight\",\n    branch=buildkite_pipeline[\"repo\"][\"default_branch\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // create a pipeline\n    var pipeline = new Buildkite.Pipeline.Pipeline(\"pipeline\", new()\n    {\n        Repository = \"https://github.com/...\",\n    });\n\n    // schedule a build at midnight every day\n    var nightly = new Buildkite.Pipeline.Schedule(\"nightly\", new()\n    {\n        PipelineId = buildkite_pipeline.Repo.Id,\n        Label = \"Nightly build\",\n        Cronline = \"@midnight\",\n        Branch = buildkite_pipeline.Repo.Default_branch,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create a pipeline\n\t\t_, err := Pipeline.NewPipeline(ctx, \"pipeline\", &Pipeline.PipelineArgs{\n\t\t\tRepository: pulumi.String(\"https://github.com/...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// schedule a build at midnight every day\n\t\t_, err = Pipeline.NewSchedule(ctx, \"nightly\", &Pipeline.ScheduleArgs{\n\t\t\tPipelineId: pulumi.Any(buildkite_pipeline.Repo.Id),\n\t\t\tLabel:      pulumi.String(\"Nightly build\"),\n\t\t\tCronline:   pulumi.String(\"@midnight\"),\n\t\t\tBranch:     pulumi.Any(buildkite_pipeline.Repo.Default_branch),\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.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\nimport com.pulumi.buildkite.Pipeline.Schedule;\nimport com.pulumi.buildkite.Pipeline.ScheduleArgs;\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 pipeline = new Pipeline(\"pipeline\", PipelineArgs.builder()        \n            .repository(\"https://github.com/...\")\n            .build());\n\n        var nightly = new Schedule(\"nightly\", ScheduleArgs.builder()        \n            .pipelineId(buildkite_pipeline.repo().id())\n            .label(\"Nightly build\")\n            .cronline(\"@midnight\")\n            .branch(buildkite_pipeline.repo().default_branch())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # create a pipeline\n  pipeline:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: https://github.com/...\n  # schedule a build at midnight every day\n  nightly:\n    type: buildkite:Pipeline:Schedule\n    properties:\n      pipelineId: ${buildkite_pipeline.repo.id}\n      label: Nightly build\n      cronline: '@midnight'\n      branch: ${buildkite_pipeline.repo.default_branch}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a pipeline schedule resource using the schedules GraphQL ID\n\n#\n\nyou can use this query to find the schedule:\n\nquery getPipelineScheduleId {\n\n  organization(slug: \"ORGANIZATION_SLUG\") {\n\n        pipelines(first: 5, search: \"PIPELINE_SEARCH_TERM\") {\n\n      edges{\n\n        node{\n\n          name\n\n          schedules{\n\n            edges{\n\n              node{\n\n                id\n\n              }\n\n            }\n\n          }\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Pipeline/schedule:Schedule test UGlwZWxpgm5Tf2hhZHVsZ35tLWRk4DdmN7c4LTA5M2ItNDM9YS0gMWE0LTAwZDUgYTAxYvRf49==\n```\n\n",
      "properties": {
        "branch": {
          "type": "string",
          "description": "The branch that the schedule should run on.\n"
        },
        "commit": {
          "type": "string",
          "description": "The commit that the schedule should run on.\n"
        },
        "cronline": {
          "type": "string",
          "description": "The cronline that describes when the schedule should run. See[here](https://buildkite.com/docs/pipelines/scheduled-builds#schedule-intervals) for supported syntax.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the schedule is enabled or not.\n"
        },
        "env": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "The environment variables that scheduled builds should use.\n"
        },
        "label": {
          "type": "string",
          "description": "A label to describe the schedule.\n"
        },
        "message": {
          "type": "string",
          "description": "The message the builds show for builds created by this schedule.\n"
        },
        "pipelineId": {
          "type": "string",
          "description": "The GraphQL ID of the pipeline that this schedule belongs to.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the schedule.\n"
        }
      },
      "type": "object",
      "required": [
        "branch",
        "commit",
        "cronline",
        "enabled",
        "label",
        "pipelineId",
        "uuid"
      ],
      "inputProperties": {
        "branch": {
          "type": "string",
          "description": "The branch that the schedule should run on.\n"
        },
        "commit": {
          "type": "string",
          "description": "The commit that the schedule should run on.\n"
        },
        "cronline": {
          "type": "string",
          "description": "The cronline that describes when the schedule should run. See[here](https://buildkite.com/docs/pipelines/scheduled-builds#schedule-intervals) for supported syntax.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the schedule is enabled or not.\n"
        },
        "env": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "The environment variables that scheduled builds should use.\n"
        },
        "label": {
          "type": "string",
          "description": "A label to describe the schedule.\n"
        },
        "message": {
          "type": "string",
          "description": "The message the builds show for builds created by this schedule.\n"
        },
        "pipelineId": {
          "type": "string",
          "description": "The GraphQL ID of the pipeline that this schedule belongs to.\n"
        }
      },
      "requiredInputs": [
        "branch",
        "cronline",
        "label",
        "pipelineId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Schedule resources.\n",
        "properties": {
          "branch": {
            "type": "string",
            "description": "The branch that the schedule should run on.\n"
          },
          "commit": {
            "type": "string",
            "description": "The commit that the schedule should run on.\n"
          },
          "cronline": {
            "type": "string",
            "description": "The cronline that describes when the schedule should run. See[here](https://buildkite.com/docs/pipelines/scheduled-builds#schedule-intervals) for supported syntax.\n"
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the schedule is enabled or not.\n"
          },
          "env": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The environment variables that scheduled builds should use.\n"
          },
          "label": {
            "type": "string",
            "description": "A label to describe the schedule.\n"
          },
          "message": {
            "type": "string",
            "description": "The message the builds show for builds created by this schedule.\n"
          },
          "pipelineId": {
            "type": "string",
            "description": "The GraphQL ID of the pipeline that this schedule belongs to.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the schedule.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Pipeline/team:Team": {
      "description": "Manage team access to a pipeline.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\nconst pipeline = new buildkite.pipeline.Pipeline(\"pipeline\", {repository: \"https://github.com/...\"});\nconst team = new buildkite.team.Team(\"team\", {\n    privacy: \"VISIBLE\",\n    defaultTeam: false,\n    defaultMemberRole: \"MEMBER\",\n});\n// allow everyone in the \"Everyone\" team read-only access to pipeline\nconst pipelineTeam = new buildkite.pipeline.Team(\"pipelineTeam\", {\n    pipelineId: pipeline.id,\n    teamId: team.id,\n    accessLevel: \"READ_ONLY\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\npipeline = buildkite.pipeline.Pipeline(\"pipeline\", repository=\"https://github.com/...\")\nteam = buildkite.team.Team(\"team\",\n    privacy=\"VISIBLE\",\n    default_team=False,\n    default_member_role=\"MEMBER\")\n# allow everyone in the \"Everyone\" team read-only access to pipeline\npipeline_team = buildkite.pipeline.Team(\"pipelineTeam\",\n    pipeline_id=pipeline.id,\n    team_id=team.id,\n    access_level=\"READ_ONLY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    var pipeline = new Buildkite.Pipeline.Pipeline(\"pipeline\", new()\n    {\n        Repository = \"https://github.com/...\",\n    });\n\n    var team = new Buildkite.Team.Team(\"team\", new()\n    {\n        Privacy = \"VISIBLE\",\n        DefaultTeam = false,\n        DefaultMemberRole = \"MEMBER\",\n    });\n\n    // allow everyone in the \"Everyone\" team read-only access to pipeline\n    var pipelineTeam = new Buildkite.Pipeline.Team(\"pipelineTeam\", new()\n    {\n        PipelineId = pipeline.Id,\n        TeamId = team.Id,\n        AccessLevel = \"READ_ONLY\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Team\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpipeline, err := Pipeline.NewPipeline(ctx, \"pipeline\", &Pipeline.PipelineArgs{\n\t\t\tRepository: pulumi.String(\"https://github.com/...\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tteam, err := Team.NewTeam(ctx, \"team\", &Team.TeamArgs{\n\t\t\tPrivacy:           pulumi.String(\"VISIBLE\"),\n\t\t\tDefaultTeam:       pulumi.Bool(false),\n\t\t\tDefaultMemberRole: pulumi.String(\"MEMBER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// allow everyone in the \"Everyone\" team read-only access to pipeline\n\t\t_, err = Pipeline.NewTeam(ctx, \"pipelineTeam\", &Pipeline.TeamArgs{\n\t\t\tPipelineId:  pipeline.ID(),\n\t\t\tTeamId:      team.ID(),\n\t\t\tAccessLevel: pulumi.String(\"READ_ONLY\"),\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.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\nimport com.pulumi.buildkite.Team.Team;\nimport com.pulumi.buildkite.Team.TeamArgs;\nimport com.pulumi.buildkite.Pipeline.Team;\nimport com.pulumi.buildkite.Pipeline.TeamArgs;\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 pipeline = new Pipeline(\"pipeline\", PipelineArgs.builder()        \n            .repository(\"https://github.com/...\")\n            .build());\n\n        var team = new Team(\"team\", TeamArgs.builder()        \n            .privacy(\"VISIBLE\")\n            .defaultTeam(false)\n            .defaultMemberRole(\"MEMBER\")\n            .build());\n\n        var pipelineTeam = new Team(\"pipelineTeam\", TeamArgs.builder()        \n            .pipelineId(pipeline.id())\n            .teamId(team.id())\n            .accessLevel(\"READ_ONLY\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pipeline:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: https://github.com/...\n  team:\n    type: buildkite:Team:Team\n    properties:\n      privacy: VISIBLE\n      defaultTeam: false\n      defaultMemberRole: MEMBER\n  # allow everyone in the \"Everyone\" team read-only access to pipeline\n  pipelineTeam:\n    type: buildkite:Pipeline:Team\n    properties:\n      pipelineId: ${pipeline.id}\n      teamId: ${team.id}\n      accessLevel: READ_ONLY\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a pipeline team resource using the GraphQL ID\n\n#\n\nyou can use this query to find the ID:\n\nquery getPipelineTeamId {\n\n  pipeline(slug: \"ORGANIZATION_SLUG/PIPELINE_SLUG\") {\n\n    teams(first: 5, search: \"PIPELINE_SEARCH_TERM\") {\n\n      edges{\n\n        node{\n\n          id\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Pipeline/team:Team guests VGVhbS0tLWU1YjQyMDQyLTUzN2QtNDZjNi04MjY0LTliZjFkMzkyYjZkNQ==\n```\n\n",
      "properties": {
        "accessLevel": {
          "type": "string",
          "description": "The access level for the team. Either `READ_ONLY`, `BUILD_AND_READ` or `MANAGE_BUILD_AND_READ`.\n"
        },
        "pipelineId": {
          "type": "string",
          "description": "The GraphQL ID of the pipeline.\n"
        },
        "teamId": {
          "type": "string",
          "description": "The GraphQL ID of the team.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the pipeline-team relationship.\n"
        }
      },
      "type": "object",
      "required": [
        "accessLevel",
        "pipelineId",
        "teamId",
        "uuid"
      ],
      "inputProperties": {
        "accessLevel": {
          "type": "string",
          "description": "The access level for the team. Either `READ_ONLY`, `BUILD_AND_READ` or `MANAGE_BUILD_AND_READ`.\n"
        },
        "pipelineId": {
          "type": "string",
          "description": "The GraphQL ID of the pipeline.\n"
        },
        "teamId": {
          "type": "string",
          "description": "The GraphQL ID of the team.\n"
        }
      },
      "requiredInputs": [
        "accessLevel",
        "pipelineId",
        "teamId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Team resources.\n",
        "properties": {
          "accessLevel": {
            "type": "string",
            "description": "The access level for the team. Either `READ_ONLY`, `BUILD_AND_READ` or `MANAGE_BUILD_AND_READ`.\n"
          },
          "pipelineId": {
            "type": "string",
            "description": "The GraphQL ID of the pipeline.\n"
          },
          "teamId": {
            "type": "string",
            "description": "The GraphQL ID of the team.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the pipeline-team relationship.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Pipeline/template:Template": {
      "description": "This resource allows for standardized step configurations that can be used within various pipelines of an organization.\n\nMore information on pipeline templates can be found in the [documentation](https://buildkite.com/docs/pipelines/templates).\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\nconst templateRequired = new buildkite.pipeline.Template(\"templateRequired\", {configuration: `steps:\n  - label: \":pipeline:\"\n    command: \"buildkite-agent pipeline upload .buildkite/pipeline-qa.yml\"\n\n`});\nconst templateFull = new buildkite.pipeline.Template(\"templateFull\", {\n    available: true,\n    configuration: `steps:\n  - label: \":pipeline:\"\n    command: \"buildkite-agent pipeline upload .buildkite/pipeline-production.yml\"\n\n`,\n    description: \"Production upload template\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\ntemplate_required = buildkite.pipeline.Template(\"templateRequired\", configuration=\"\"\"steps:\n  - label: \":pipeline:\"\n    command: \"buildkite-agent pipeline upload .buildkite/pipeline-qa.yml\"\n\n\"\"\")\ntemplate_full = buildkite.pipeline.Template(\"templateFull\",\n    available=True,\n    configuration=\"\"\"steps:\n  - label: \":pipeline:\"\n    command: \"buildkite-agent pipeline upload .buildkite/pipeline-production.yml\"\n\n\"\"\",\n    description=\"Production upload template\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    var templateRequired = new Buildkite.Pipeline.Template(\"templateRequired\", new()\n    {\n        Configuration = @\"steps:\n  - label: \"\":pipeline:\"\"\n    command: \"\"buildkite-agent pipeline upload .buildkite/pipeline-qa.yml\"\"\n\n\",\n    });\n\n    var templateFull = new Buildkite.Pipeline.Template(\"templateFull\", new()\n    {\n        Available = true,\n        Configuration = @\"steps:\n  - label: \"\":pipeline:\"\"\n    command: \"\"buildkite-agent pipeline upload .buildkite/pipeline-production.yml\"\"\n\n\",\n        Description = \"Production upload template\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Pipeline.NewTemplate(ctx, \"templateRequired\", &Pipeline.TemplateArgs{\n\t\t\tConfiguration: pulumi.String(\"steps:\\n  - label: \\\":pipeline:\\\"\\n    command: \\\"buildkite-agent pipeline upload .buildkite/pipeline-qa.yml\\\"\\n\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Pipeline.NewTemplate(ctx, \"templateFull\", &Pipeline.TemplateArgs{\n\t\t\tAvailable:     pulumi.Bool(true),\n\t\t\tConfiguration: pulumi.String(\"steps:\\n  - label: \\\":pipeline:\\\"\\n    command: \\\"buildkite-agent pipeline upload .buildkite/pipeline-production.yml\\\"\\n\\n\"),\n\t\t\tDescription:   pulumi.String(\"Production upload template\"),\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.buildkite.Pipeline.Template;\nimport com.pulumi.buildkite.Pipeline.TemplateArgs;\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 templateRequired = new Template(\"templateRequired\", TemplateArgs.builder()        \n            .configuration(\"\"\"\nsteps:\n  - label: \":pipeline:\"\n    command: \"buildkite-agent pipeline upload .buildkite/pipeline-qa.yml\"\n\n            \"\"\")\n            .build());\n\n        var templateFull = new Template(\"templateFull\", TemplateArgs.builder()        \n            .available(true)\n            .configuration(\"\"\"\nsteps:\n  - label: \":pipeline:\"\n    command: \"buildkite-agent pipeline upload .buildkite/pipeline-production.yml\"\n\n            \"\"\")\n            .description(\"Production upload template\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  templateRequired:\n    type: buildkite:Pipeline:Template\n    properties:\n      configuration: |+\n        steps:\n          - label: \":pipeline:\"\n            command: \"buildkite-agent pipeline upload .buildkite/pipeline-qa.yml\"\n\n  templateFull:\n    type: buildkite:Pipeline:Template\n    properties:\n      available: true\n      configuration: |+\n        steps:\n          - label: \":pipeline:\"\n            command: \"buildkite-agent pipeline upload .buildkite/pipeline-production.yml\"\n\n      description: Production upload template\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a pipeline template resource using the templates GraphQL ID\n\n#\n\nYou can use this query to find the first 50 templates (adjust for less or more):\n\nquery getPipelineTemplateIds {\n\n  organization(slug: \"ORGANIZATION_SLUG\") {\n\n    pipelineTemplates(first: 50) {\n\n      edges{\n\n        node{\n\n          id\n\n          name\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Pipeline/template:Template template UGlwZWxpbmVUZW1wbGF0ZS0tLWU0YWQ3YjdjLTljZDYtNGM0MS1hYWE0LTY2ZmI3ODY0MTMwNw==\n```\n\n",
      "properties": {
        "available": {
          "type": "boolean",
          "description": "If the pipeline template is available for assignment by non admin users.\n"
        },
        "configuration": {
          "type": "string",
          "description": "The YAML step configuration for the pipeline template.\n"
        },
        "description": {
          "type": "string",
          "description": "A description for the pipeline template.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the pipeline template.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the pipeline template.\n"
        }
      },
      "type": "object",
      "required": [
        "available",
        "configuration",
        "name",
        "uuid"
      ],
      "inputProperties": {
        "available": {
          "type": "boolean",
          "description": "If the pipeline template is available for assignment by non admin users.\n"
        },
        "configuration": {
          "type": "string",
          "description": "The YAML step configuration for the pipeline template.\n"
        },
        "description": {
          "type": "string",
          "description": "A description for the pipeline template.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the pipeline template.\n"
        }
      },
      "requiredInputs": [
        "configuration"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Template resources.\n",
        "properties": {
          "available": {
            "type": "boolean",
            "description": "If the pipeline template is available for assignment by non admin users.\n"
          },
          "configuration": {
            "type": "string",
            "description": "The YAML step configuration for the pipeline template.\n"
          },
          "description": {
            "type": "string",
            "description": "A description for the pipeline template.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the pipeline template.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the pipeline template.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Team/member:Member": {
      "description": "A team member resource allows for the management of team membership for existing organization users.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\nconst everyone = new buildkite.team.Team(\"everyone\", {\n    privacy: \"VISIBLE\",\n    defaultTeam: false,\n    defaultMemberRole: \"MEMBER\",\n});\nconst aSmith = new buildkite.team.Member(\"aSmith\", {\n    teamId: everyone.id,\n    userId: \"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\",\n    role: \"MEMBER\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\neveryone = buildkite.team.Team(\"everyone\",\n    privacy=\"VISIBLE\",\n    default_team=False,\n    default_member_role=\"MEMBER\")\na_smith = buildkite.team.Member(\"aSmith\",\n    team_id=everyone.id,\n    user_id=\"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\",\n    role=\"MEMBER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    var everyone = new Buildkite.Team.Team(\"everyone\", new()\n    {\n        Privacy = \"VISIBLE\",\n        DefaultTeam = false,\n        DefaultMemberRole = \"MEMBER\",\n    });\n\n    var aSmith = new Buildkite.Team.Member(\"aSmith\", new()\n    {\n        TeamId = everyone.Id,\n        UserId = \"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\",\n        Role = \"MEMBER\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Team\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\teveryone, err := Team.NewTeam(ctx, \"everyone\", &Team.TeamArgs{\n\t\t\tPrivacy:           pulumi.String(\"VISIBLE\"),\n\t\t\tDefaultTeam:       pulumi.Bool(false),\n\t\t\tDefaultMemberRole: pulumi.String(\"MEMBER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Team.NewMember(ctx, \"aSmith\", &Team.MemberArgs{\n\t\t\tTeamId: everyone.ID(),\n\t\t\tUserId: pulumi.String(\"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\"),\n\t\t\tRole:   pulumi.String(\"MEMBER\"),\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.buildkite.Team.Team;\nimport com.pulumi.buildkite.Team.TeamArgs;\nimport com.pulumi.buildkite.Team.Member;\nimport com.pulumi.buildkite.Team.MemberArgs;\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 everyone = new Team(\"everyone\", TeamArgs.builder()        \n            .privacy(\"VISIBLE\")\n            .defaultTeam(false)\n            .defaultMemberRole(\"MEMBER\")\n            .build());\n\n        var aSmith = new Member(\"aSmith\", MemberArgs.builder()        \n            .teamId(everyone.id())\n            .userId(\"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\")\n            .role(\"MEMBER\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  everyone:\n    type: buildkite:Team:Team\n    properties:\n      privacy: VISIBLE\n      defaultTeam: false\n      defaultMemberRole: MEMBER\n  aSmith:\n    type: buildkite:Team:Member\n    properties:\n      teamId: ${everyone.id}\n      userId: VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\n      role: MEMBER\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a team member resource using the GraphQL ID\n\n#\n\nyou can use this query to find the ID:\n\nquery getTeamMemberId {\n\n  organization(slug: \"ORGANIZATION_SLUG\") {\n\n    teams(first: 2, search: \"TEAM_SEARCH_TERM\") {\n\n      edges {\n\n        node {\n\n          members(first: 2, search: \"TEAM_MEMBER_SEARCH_TERM\") {\n\n            edges {\n\n              node {\n\n                id\n\n              }\n\n            }\n\n          }\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Team/member:Member a_smith VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\n```\n\n",
      "properties": {
        "role": {
          "type": "string",
          "description": "The role for the user. Either `MEMBER` or `MAINTAINER`.\n"
        },
        "teamId": {
          "type": "string",
          "description": "The GraphQL ID of the team.\n"
        },
        "userId": {
          "type": "string",
          "description": "The GraphQL ID of the user.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the team membership.\n"
        }
      },
      "type": "object",
      "required": [
        "role",
        "teamId",
        "userId",
        "uuid"
      ],
      "inputProperties": {
        "role": {
          "type": "string",
          "description": "The role for the user. Either `MEMBER` or `MAINTAINER`.\n"
        },
        "teamId": {
          "type": "string",
          "description": "The GraphQL ID of the team.\n"
        },
        "userId": {
          "type": "string",
          "description": "The GraphQL ID of the user.\n"
        }
      },
      "requiredInputs": [
        "role",
        "teamId",
        "userId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Member resources.\n",
        "properties": {
          "role": {
            "type": "string",
            "description": "The role for the user. Either `MEMBER` or `MAINTAINER`.\n"
          },
          "teamId": {
            "type": "string",
            "description": "The GraphQL ID of the team.\n"
          },
          "userId": {
            "type": "string",
            "description": "The GraphQL ID of the user.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the team membership.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:Team/team:Team": {
      "description": "A Team is a group of users that can be given permissions for using Pipelines.This feature is only available to Business and Enterprise customers.  You can find out more about Teams in the Buildkite [documentation](https://buildkite.com/docs/team-management/permissions).\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\nconst everyone = new buildkite.team.Team(\"everyone\", {\n    defaultMemberRole: \"MEMBER\",\n    defaultTeam: false,\n    privacy: \"VISIBLE\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\neveryone = buildkite.team.Team(\"everyone\",\n    default_member_role=\"MEMBER\",\n    default_team=False,\n    privacy=\"VISIBLE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    var everyone = new Buildkite.Team.Team(\"everyone\", new()\n    {\n        DefaultMemberRole = \"MEMBER\",\n        DefaultTeam = false,\n        Privacy = \"VISIBLE\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Team\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Team.NewTeam(ctx, \"everyone\", &Team.TeamArgs{\n\t\t\tDefaultMemberRole: pulumi.String(\"MEMBER\"),\n\t\t\tDefaultTeam:       pulumi.Bool(false),\n\t\t\tPrivacy:           pulumi.String(\"VISIBLE\"),\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.buildkite.Team.Team;\nimport com.pulumi.buildkite.Team.TeamArgs;\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 everyone = new Team(\"everyone\", TeamArgs.builder()        \n            .defaultMemberRole(\"MEMBER\")\n            .defaultTeam(false)\n            .privacy(\"VISIBLE\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  everyone:\n    type: buildkite:Team:Team\n    properties:\n      defaultMemberRole: MEMBER\n      defaultTeam: false\n      privacy: VISIBLE\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a team resource using the GraphQL ID\n\n#\n\nyou can use this query to find the ID:\n\nquery getTeamId {\n\n  organization(slug: \"ORGANIZATION_SLUG\") {\n\n    teams(first: 1, search: \"TEAM_SEARCH_TERM\") {\n\n      edges {\n\n        node {\n\n          id\n\n          name\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:Team/team:Team everyone UGlwZWxpbmUtLS00MzVjYWQ1OC1lODFkLTQ1YWYtODYzNy1iMWNmODA3MDIzOGQ=\n```\n\n",
      "properties": {
        "defaultMemberRole": {
          "type": "string",
          "description": "The default role for new members of the team. This can be either `MEMBER` or `MAINTAINER`.\n"
        },
        "defaultTeam": {
          "type": "boolean",
          "description": "Whether this is the default team for the organization.\n"
        },
        "description": {
          "type": "string",
          "description": "A description for the team. This is displayed in the Buildkite UI.\n"
        },
        "membersCanCreatePipelines": {
          "type": "boolean",
          "description": "Whether members of the team can create Pipelines.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the team.\n"
        },
        "privacy": {
          "type": "string",
          "description": "The privacy setting for the team. This can be either `VISIBLE` or `SECRET`.\n"
        },
        "slug": {
          "type": "string",
          "description": "The generated slug for the team.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the team.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultMemberRole",
        "defaultTeam",
        "membersCanCreatePipelines",
        "name",
        "privacy",
        "slug",
        "uuid"
      ],
      "inputProperties": {
        "defaultMemberRole": {
          "type": "string",
          "description": "The default role for new members of the team. This can be either `MEMBER` or `MAINTAINER`.\n"
        },
        "defaultTeam": {
          "type": "boolean",
          "description": "Whether this is the default team for the organization.\n"
        },
        "description": {
          "type": "string",
          "description": "A description for the team. This is displayed in the Buildkite UI.\n"
        },
        "membersCanCreatePipelines": {
          "type": "boolean",
          "description": "Whether members of the team can create Pipelines.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the team.\n"
        },
        "privacy": {
          "type": "string",
          "description": "The privacy setting for the team. This can be either `VISIBLE` or `SECRET`.\n"
        }
      },
      "requiredInputs": [
        "defaultMemberRole",
        "defaultTeam",
        "privacy"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Team resources.\n",
        "properties": {
          "defaultMemberRole": {
            "type": "string",
            "description": "The default role for new members of the team. This can be either `MEMBER` or `MAINTAINER`.\n"
          },
          "defaultTeam": {
            "type": "boolean",
            "description": "Whether this is the default team for the organization.\n"
          },
          "description": {
            "type": "string",
            "description": "A description for the team. This is displayed in the Buildkite UI.\n"
          },
          "membersCanCreatePipelines": {
            "type": "boolean",
            "description": "Whether members of the team can create Pipelines.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the team.\n"
          },
          "privacy": {
            "type": "string",
            "description": "The privacy setting for the team. This can be either `VISIBLE` or `SECRET`.\n"
          },
          "slug": {
            "type": "string",
            "description": "The generated slug for the team.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the team.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:TestSuite/team:Team": {
      "description": "Manage team access to a test suite.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// create a test suite\nconst main = new buildkite.testsuite.TestSuite(\"main\", {\n    defaultBranch: \"main\",\n    teamOwnerId: \"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\",\n});\n// give the \"everyone\" team manage access to the \"main\" test suite\nconst mainEveryone = new buildkite.testsuite.Team(\"mainEveryone\", {\n    testSuiteId: main.id,\n    teamId: \"VGVhbS0tLWU1YjQyMDQyLTUzN2QtNDZjNi04MjY0LTliZjFkMzkyYjZkNQ==\",\n    accessLevel: \"MANAGE_AND_READ\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# create a test suite\nmain = buildkite.test_suite.TestSuite(\"main\",\n    default_branch=\"main\",\n    team_owner_id=\"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\")\n# give the \"everyone\" team manage access to the \"main\" test suite\nmain_everyone = buildkite.test_suite.Team(\"mainEveryone\",\n    test_suite_id=main.id,\n    team_id=\"VGVhbS0tLWU1YjQyMDQyLTUzN2QtNDZjNi04MjY0LTliZjFkMzkyYjZkNQ==\",\n    access_level=\"MANAGE_AND_READ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // create a test suite\n    var main = new Buildkite.TestSuite.TestSuite(\"main\", new()\n    {\n        DefaultBranch = \"main\",\n        TeamOwnerId = \"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\",\n    });\n\n    // give the \"everyone\" team manage access to the \"main\" test suite\n    var mainEveryone = new Buildkite.TestSuite.Team(\"mainEveryone\", new()\n    {\n        TestSuiteId = main.Id,\n        TeamId = \"VGVhbS0tLWU1YjQyMDQyLTUzN2QtNDZjNi04MjY0LTliZjFkMzkyYjZkNQ==\",\n        AccessLevel = \"MANAGE_AND_READ\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/TestSuite\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create a test suite\n\t\tmain, err := TestSuite.NewTestSuite(ctx, \"main\", &TestSuite.TestSuiteArgs{\n\t\t\tDefaultBranch: pulumi.String(\"main\"),\n\t\t\tTeamOwnerId:   pulumi.String(\"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// give the \"everyone\" team manage access to the \"main\" test suite\n\t\t_, err = TestSuite.NewTeam(ctx, \"mainEveryone\", &TestSuite.TeamArgs{\n\t\t\tTestSuiteId: main.ID(),\n\t\t\tTeamId:      pulumi.String(\"VGVhbS0tLWU1YjQyMDQyLTUzN2QtNDZjNi04MjY0LTliZjFkMzkyYjZkNQ==\"),\n\t\t\tAccessLevel: pulumi.String(\"MANAGE_AND_READ\"),\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.buildkite.TestSuite.TestSuite;\nimport com.pulumi.buildkite.TestSuite.TestSuiteArgs;\nimport com.pulumi.buildkite.TestSuite.Team;\nimport com.pulumi.buildkite.TestSuite.TeamArgs;\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 TestSuite(\"main\", TestSuiteArgs.builder()        \n            .defaultBranch(\"main\")\n            .teamOwnerId(\"VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\")\n            .build());\n\n        var mainEveryone = new Team(\"mainEveryone\", TeamArgs.builder()        \n            .testSuiteId(main.id())\n            .teamId(\"VGVhbS0tLWU1YjQyMDQyLTUzN2QtNDZjNi04MjY0LTliZjFkMzkyYjZkNQ==\")\n            .accessLevel(\"MANAGE_AND_READ\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # create a test suite\n  main:\n    type: buildkite:TestSuite:TestSuite\n    properties:\n      defaultBranch: main\n      teamOwnerId: VGVhbU1lbWJlci0tLTVlZDEyMmY2LTM2NjQtNDI1MS04YzMwLTc4NjRiMDdiZDQ4Zg==\n  # give the \"everyone\" team manage access to the \"main\" test suite\n  mainEveryone:\n    type: buildkite:TestSuite:Team\n    properties:\n      testSuiteId: ${main.id}\n      teamId: VGVhbS0tLWU1YjQyMDQyLTUzN2QtNDZjNi04MjY0LTliZjFkMzkyYjZkNQ==\n      accessLevel: MANAGE_AND_READ\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport a test suite team resource using the GraphQL ID\n\n#\n\nyou can use this query to find the ID:\n\nquery getTeamSuiteIds {\n\n  organization(slug: \"ORGANIZATION_SLUG\") {\n\n    suites(first: 1, search:\"SUITE_SEARCH_TERM\") {\n\n      edges {\n\n        node {\n\n          id\n\n          name\n\n          teams(first: 10){\n\n            edges {\n\n              node {\n\n                id\n\n                accessLevel\n\n                team{\n\n                  name\n\n                }\n\n              }\n\n            }\n\n          }\n\n        }\n\n      }\n\n    }\n\n  }\n\n}\n\n```sh\n$ pulumi import buildkite:TestSuite/team:Team main_everyone VGVhbvDf4eRef20tMzIxMGEfYTctNzEF5g00M8f5s6E2YjYtODNlOGNlZgD6HcBi\n```\n\n",
      "properties": {
        "accessLevel": {
          "type": "string",
          "description": "The access level the team has on the test suite. Either `READ_ONLY` or `MANAGE_AND_READ`.\n"
        },
        "teamId": {
          "type": "string",
          "description": "The GraphQL ID of the team.\n"
        },
        "testSuiteId": {
          "type": "string",
          "description": "The GraphQL ID of the test suite.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the test suite-team relationship.\n"
        }
      },
      "type": "object",
      "required": [
        "accessLevel",
        "teamId",
        "testSuiteId",
        "uuid"
      ],
      "inputProperties": {
        "accessLevel": {
          "type": "string",
          "description": "The access level the team has on the test suite. Either `READ_ONLY` or `MANAGE_AND_READ`.\n"
        },
        "teamId": {
          "type": "string",
          "description": "The GraphQL ID of the team.\n"
        },
        "testSuiteId": {
          "type": "string",
          "description": "The GraphQL ID of the test suite.\n"
        }
      },
      "requiredInputs": [
        "accessLevel",
        "teamId",
        "testSuiteId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Team resources.\n",
        "properties": {
          "accessLevel": {
            "type": "string",
            "description": "The access level the team has on the test suite. Either `READ_ONLY` or `MANAGE_AND_READ`.\n"
          },
          "teamId": {
            "type": "string",
            "description": "The GraphQL ID of the team.\n"
          },
          "testSuiteId": {
            "type": "string",
            "description": "The GraphQL ID of the test suite.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the test suite-team relationship.\n"
          }
        },
        "type": "object"
      }
    },
    "buildkite:TestSuite/testSuite:TestSuite": {
      "description": "A test suite is a collection of tests. A run is to a suite what a build is to a Pipeline.Use this resource to manage [Test Suites](https://buildkite.com/docs/test-analytics) on Buildkite.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\n// create a test suite for the main repository\nconst main = new buildkite.testsuite.TestSuite(\"main\", {\n    defaultBranch: \"main\",\n    teamOwnerId: \"VGVhbvDf4eRef20tMzIxMGEfYTctNzEF5g00M8f5s6E2YjYtODNlOGNlZgD6HcBi\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_buildkite as buildkite\n\n# create a test suite for the main repository\nmain = buildkite.test_suite.TestSuite(\"main\",\n    default_branch=\"main\",\n    team_owner_id=\"VGVhbvDf4eRef20tMzIxMGEfYTctNzEF5g00M8f5s6E2YjYtODNlOGNlZgD6HcBi\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() => \n{\n    // create a test suite for the main repository\n    var main = new Buildkite.TestSuite.TestSuite(\"main\", new()\n    {\n        DefaultBranch = \"main\",\n        TeamOwnerId = \"VGVhbvDf4eRef20tMzIxMGEfYTctNzEF5g00M8f5s6E2YjYtODNlOGNlZgD6HcBi\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/TestSuite\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create a test suite for the main repository\n\t\t_, err := TestSuite.NewTestSuite(ctx, \"main\", &TestSuite.TestSuiteArgs{\n\t\t\tDefaultBranch: pulumi.String(\"main\"),\n\t\t\tTeamOwnerId:   pulumi.String(\"VGVhbvDf4eRef20tMzIxMGEfYTctNzEF5g00M8f5s6E2YjYtODNlOGNlZgD6HcBi\"),\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.buildkite.TestSuite.TestSuite;\nimport com.pulumi.buildkite.TestSuite.TestSuiteArgs;\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 TestSuite(\"main\", TestSuiteArgs.builder()        \n            .defaultBranch(\"main\")\n            .teamOwnerId(\"VGVhbvDf4eRef20tMzIxMGEfYTctNzEF5g00M8f5s6E2YjYtODNlOGNlZgD6HcBi\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # create a test suite for the main repository\n  main:\n    type: buildkite:TestSuite:TestSuite\n    properties:\n      defaultBranch: main\n      teamOwnerId: VGVhbvDf4eRef20tMzIxMGEfYTctNzEF5g00M8f5s6E2YjYtODNlOGNlZgD6HcBi\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "apiToken": {
          "type": "string",
          "description": "The API token to use to send test run data to the API.\n",
          "secret": true
        },
        "defaultBranch": {
          "type": "string",
          "description": "The default branch for the repository this test suite is for.\n"
        },
        "name": {
          "type": "string",
          "description": "The name to give the test suite.\n"
        },
        "slug": {
          "type": "string",
          "description": "The generated slug of the test suite.\n"
        },
        "teamOwnerId": {
          "type": "string",
          "description": "The GraphQL ID of the team to mark as the owner/admin of the test suite.\n"
        },
        "uuid": {
          "type": "string",
          "description": "The UUID of the test suite.\n"
        }
      },
      "type": "object",
      "required": [
        "apiToken",
        "defaultBranch",
        "name",
        "slug",
        "teamOwnerId",
        "uuid"
      ],
      "inputProperties": {
        "defaultBranch": {
          "type": "string",
          "description": "The default branch for the repository this test suite is for.\n"
        },
        "name": {
          "type": "string",
          "description": "The name to give the test suite.\n"
        },
        "teamOwnerId": {
          "type": "string",
          "description": "The GraphQL ID of the team to mark as the owner/admin of the test suite.\n"
        }
      },
      "requiredInputs": [
        "defaultBranch",
        "teamOwnerId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering TestSuite resources.\n",
        "properties": {
          "apiToken": {
            "type": "string",
            "description": "The API token to use to send test run data to the API.\n",
            "secret": true
          },
          "defaultBranch": {
            "type": "string",
            "description": "The default branch for the repository this test suite is for.\n"
          },
          "name": {
            "type": "string",
            "description": "The name to give the test suite.\n"
          },
          "slug": {
            "type": "string",
            "description": "The generated slug of the test suite.\n"
          },
          "teamOwnerId": {
            "type": "string",
            "description": "The GraphQL ID of the team to mark as the owner/admin of the test suite.\n"
          },
          "uuid": {
            "type": "string",
            "description": "The UUID of the test suite.\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "buildkite:Cluster/getCluster:getCluster": {
      "description": "Use this data source to retrieve a cluster by name. You can find out more about clusters in the Buildkite [documentation](https://buildkite.com/docs/clusters/overview).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumi/buildkite\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\nconst default = buildkite.Cluster.getCluster({\n    name: \"default\",\n});\n// Assign a pipeline to that cluster\nconst terraform_provider_buildkite = new buildkite.pipeline.Pipeline(\"terraform-provider-buildkite\", {\n    repository: \"git@github.com:buildkite/terraform-provider-buildkite.git\",\n    clusterId: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_buildkite as buildkite\nimport pulumiverse_buildkite as buildkite\n\ndefault = buildkite.Cluster.get_cluster(name=\"default\")\n# Assign a pipeline to that cluster\nterraform_provider_buildkite = buildkite.pipeline.Pipeline(\"terraform-provider-buildkite\",\n    repository=\"git@github.com:buildkite/terraform-provider-buildkite.git\",\n    cluster_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumi.Buildkite;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Buildkite.Cluster.GetCluster.Invoke(new()\n    {\n        Name = \"default\",\n    });\n\n    // Assign a pipeline to that cluster\n    var terraform_provider_buildkite = new Buildkite.Pipeline.Pipeline(\"terraform-provider-buildkite\", new()\n    {\n        Repository = \"git@github.com:buildkite/terraform-provider-buildkite.git\",\n        ClusterId = @default.Apply(@default =\u003e @default.Apply(getClusterResult =\u003e getClusterResult.Id)),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Cluster\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := Cluster.GetCluster(ctx, \u0026cluster.GetClusterArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Assign a pipeline to that cluster\n\t\t_, err = Pipeline.NewPipeline(ctx, \"terraform-provider-buildkite\", \u0026Pipeline.PipelineArgs{\n\t\t\tRepository: pulumi.String(\"git@github.com:buildkite/terraform-provider-buildkite.git\"),\n\t\t\tClusterId:  *pulumi.String(_default.Id),\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.buildkite.Cluster.ClusterFunctions;\nimport com.pulumi.buildkite.Cluster.inputs.GetClusterArgs;\nimport com.pulumi.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\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 = ClusterFunctions.getCluster(GetClusterArgs.builder()\n            .name(\"default\")\n            .build());\n\n        var terraform_provider_buildkite = new Pipeline(\"terraform-provider-buildkite\", PipelineArgs.builder()        \n            .repository(\"git@github.com:buildkite/terraform-provider-buildkite.git\")\n            .clusterId(default_.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Assign a pipeline to that cluster\n  terraform-provider-buildkite:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: git@github.com:buildkite/terraform-provider-buildkite.git\n      clusterId: ${default.id}\nvariables:\n  default:\n    fn::invoke:\n      Function: buildkite:Cluster:getCluster\n      Arguments:\n        name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCluster.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the cluster to retrieve.\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getCluster.\n",
        "properties": {
          "color": {
            "description": "The color of the cluster.\n",
            "type": "string"
          },
          "description": {
            "description": "The description of the cluster.\n",
            "type": "string"
          },
          "emoji": {
            "description": "The emoji of the cluster.\n",
            "type": "string"
          },
          "id": {
            "description": "The GraphQL ID of the cluster.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the cluster to retrieve.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The UUID of the cluster\n",
            "type": "string"
          }
        },
        "required": [
          "color",
          "description",
          "emoji",
          "id",
          "name",
          "uuid"
        ],
        "type": "object"
      }
    },
    "buildkite:Organization/getOrganization:getOrganization": {
      "description": "Use this data source to look up the organization settings.\n",
      "outputs": {
        "description": "A collection of values returned by getOrganization.\n",
        "properties": {
          "allowedApiIpAddresses": {
            "description": "List of IP addresses in CIDR format that are allowed to access the Buildkite API for this organization.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The GraphQL ID of the organization.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The UUID of the organization.\n",
            "type": "string"
          }
        },
        "required": [
          "allowedApiIpAddresses",
          "id",
          "uuid"
        ],
        "type": "object"
      }
    },
    "buildkite:Pipeline/getPipeline:getPipeline": {
      "description": "Use this data source to look up properties on a specific pipeline. This is particularly useful for looking up the webhook URL for each pipeline.\n\nMore info in the Buildkite [documentation](https://buildkite.com/docs/pipelines).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumi/buildkite\";\n\nconst pipeline = buildkite.Pipeline.getPipeline({\n    slug: \"buildkite\",\n});\n```\n```python\nimport pulumi\nimport pulumi_buildkite as buildkite\n\npipeline = buildkite.Pipeline.get_pipeline(slug=\"buildkite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumi.Buildkite;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pipeline = Buildkite.Pipeline.GetPipeline.Invoke(new()\n    {\n        Slug = \"buildkite\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Pipeline.GetPipeline(ctx, \u0026pipeline.GetPipelineArgs{\n\t\t\tSlug: \"buildkite\",\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.buildkite.Pipeline.PipelineFunctions;\nimport com.pulumi.buildkite.Pipeline.inputs.GetPipelineArgs;\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 pipeline = PipelineFunctions.getPipeline(GetPipelineArgs.builder()\n            .slug(\"buildkite\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  pipeline:\n    fn::invoke:\n      Function: buildkite:Pipeline:getPipeline\n      Arguments:\n        slug: buildkite\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPipeline.\n",
        "properties": {
          "slug": {
            "type": "string",
            "description": "The slug of the pipeline.\n"
          }
        },
        "type": "object",
        "required": [
          "slug"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPipeline.\n",
        "properties": {
          "defaultBranch": {
            "description": "The default branch to prefill when new builds are created or triggered.\n",
            "type": "string"
          },
          "description": {
            "description": "The description of the pipeline.\n",
            "type": "string"
          },
          "id": {
            "description": "The GraphQL ID of the pipeline.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the pipeline.\n",
            "type": "string"
          },
          "repository": {
            "description": "The git URL of the repository.\n",
            "type": "string"
          },
          "slug": {
            "description": "The slug of the pipeline.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The UUID of the pipeline.\n",
            "type": "string"
          },
          "webhookUrl": {
            "description": "The Buildkite webhook URL that triggers builds on this pipeline.\n",
            "type": "string"
          }
        },
        "required": [
          "defaultBranch",
          "description",
          "id",
          "name",
          "repository",
          "slug",
          "uuid",
          "webhookUrl"
        ],
        "type": "object"
      }
    },
    "buildkite:Pipeline/getSignedSteps:getSignedSteps": {
      "description": "Use this data source to sign pipeline steps with a JWKS key. You will need to have\nthe corresponding verification key present on the agents that run this the steps in\nthis pipeline. You can then use these steps in a `buildkite.Pipeline.Pipeline` resource.\n\nSee [RFC 7517](https://datatracker.ietf.org/doc/html/rfc7517) for more information\nabout the JWKS format.\n\nSee the Buildkite [documentation](https://buildkite.com/docs/agent/v3/signed_pipelines)\nfor more info about signed pipelines.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumi/buildkite\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\nconst repository = \"git@github.com:my-org/my-repo.git\";\nconst my-steps = buildkite.Pipeline.getSignedSteps({\n    repository: repository,\n    jwksFile: \"/path/to/my/jwks.json\",\n    jwksKeyId: \"my-key\",\n    unsignedSteps: `steps:\n- label: \":pipeline:\"\n  command: buildkite-agent pipeline upload\n`,\n});\nconst my_pipeline = new buildkite.pipeline.Pipeline(\"my-pipeline\", {\n    repository: repository,\n    steps: my_steps.then(my_steps =\u003e my_steps.steps),\n});\n```\n```python\nimport pulumi\nimport pulumi_buildkite as buildkite\nimport pulumiverse_buildkite as buildkite\n\nrepository = \"git@github.com:my-org/my-repo.git\"\nmy_steps = buildkite.Pipeline.get_signed_steps(repository=repository,\n    jwks_file=\"/path/to/my/jwks.json\",\n    jwks_key_id=\"my-key\",\n    unsigned_steps=\"\"\"steps:\n- label: \":pipeline:\"\n  command: buildkite-agent pipeline upload\n\"\"\")\nmy_pipeline = buildkite.pipeline.Pipeline(\"my-pipeline\",\n    repository=repository,\n    steps=my_steps.steps)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumi.Buildkite;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var repository = \"git@github.com:my-org/my-repo.git\";\n\n    var my_steps = Buildkite.Pipeline.GetSignedSteps.Invoke(new()\n    {\n        Repository = repository,\n        JwksFile = \"/path/to/my/jwks.json\",\n        JwksKeyId = \"my-key\",\n        UnsignedSteps = @\"steps:\n- label: \"\":pipeline:\"\"\n  command: buildkite-agent pipeline upload\n\",\n    });\n\n    var my_pipeline = new Buildkite.Pipeline.Pipeline(\"my-pipeline\", new()\n    {\n        Repository = repository,\n        Steps = my_steps.Apply(my_steps =\u003e my_steps.Apply(getSignedStepsResult =\u003e getSignedStepsResult.Steps)),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trepository := \"git@github.com:my-org/my-repo.git\"\n\t\tmy_steps, err := Pipeline.GetSignedSteps(ctx, \u0026pipeline.GetSignedStepsArgs{\n\t\t\tRepository:    repository,\n\t\t\tJwksFile:      pulumi.StringRef(\"/path/to/my/jwks.json\"),\n\t\t\tJwksKeyId:     pulumi.StringRef(\"my-key\"),\n\t\t\tUnsignedSteps: \"steps:\\n- label: \\\":pipeline:\\\"\\n  command: buildkite-agent pipeline upload\\n\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Pipeline.NewPipeline(ctx, \"my-pipeline\", \u0026Pipeline.PipelineArgs{\n\t\t\tRepository: pulumi.String(repository),\n\t\t\tSteps:      *pulumi.String(my_steps.Steps),\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.buildkite.Pipeline.PipelineFunctions;\nimport com.pulumi.buildkite.Pipeline.inputs.GetSignedStepsArgs;\nimport com.pulumi.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\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 repository = \"git@github.com:my-org/my-repo.git\";\n\n        final var my-steps = PipelineFunctions.getSignedSteps(GetSignedStepsArgs.builder()\n            .repository(repository)\n            .jwksFile(\"/path/to/my/jwks.json\")\n            .jwksKeyId(\"my-key\")\n            .unsignedSteps(\"\"\"\nsteps:\n- label: \":pipeline:\"\n  command: buildkite-agent pipeline upload\n            \"\"\")\n            .build());\n\n        var my_pipeline = new Pipeline(\"my-pipeline\", PipelineArgs.builder()        \n            .repository(repository)\n            .steps(my_steps.steps())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-pipeline:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: ${repository}\n      steps: ${[\"my-steps\"].steps}\nvariables:\n  repository: git@github.com:my-org/my-repo.git\n  my-steps:\n    fn::invoke:\n      Function: buildkite:Pipeline:getSignedSteps\n      Arguments:\n        repository: ${repository}\n        jwksFile: /path/to/my/jwks.json\n        jwksKeyId: my-key\n        unsignedSteps: |\n          steps:\n          - label: \":pipeline:\"\n            command: buildkite-agent pipeline upload\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSignedSteps.\n",
        "properties": {
          "jwks": {
            "type": "string",
            "description": "The JSON Web Key Set (JWKS) to use for signing.\nIf `jwks_key_id` is not specified, and the set contains exactly one key, that key will\nbe used.\n",
            "secret": true
          },
          "jwksFile": {
            "type": "string"
          },
          "jwksKeyId": {
            "type": "string"
          },
          "repository": {
            "type": "string",
            "description": "The repository that will be checked out in a build of the pipeline.\n"
          },
          "unsignedSteps": {
            "type": "string",
            "description": "The steps to sign in YAML format.\n"
          }
        },
        "type": "object",
        "required": [
          "repository",
          "unsignedSteps"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSignedSteps.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "jwks": {
            "description": "The JSON Web Key Set (JWKS) to use for signing.\nIf `jwks_key_id` is not specified, and the set contains exactly one key, that key will\nbe used.\n",
            "secret": true,
            "type": "string"
          },
          "jwksFile": {
            "type": "string"
          },
          "jwksKeyId": {
            "type": "string"
          },
          "repository": {
            "description": "The repository that will be checked out in a build of the pipeline.\n",
            "type": "string"
          },
          "steps": {
            "type": "string"
          },
          "unsignedSteps": {
            "description": "The steps to sign in YAML format.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "repository",
          "steps",
          "unsignedSteps"
        ],
        "type": "object"
      }
    },
    "buildkite:Pipeline/getTemplate:getTemplate": {
      "description": "Use this data source to retrieve a pipeline template by its ID or name.\n\nMore information on pipeline templates can be found in the [documentation](https://buildkite.com/docs/pipelines/templates).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumi/buildkite\";\nimport * as buildkite from \"@pulumiverse/buildkite\";\n\nconst repository = \"git@github.com:my-org/my-repo.git\";\nconst devTemplate = buildkite.Pipeline.getTemplate({\n    id: buildkite_pipeline_template.template_dev.id,\n});\nconst frontendTemplate = buildkite.Pipeline.getTemplate({\n    name: \"Frontend app template\",\n});\nconst apiv2Dev = new buildkite.pipeline.Pipeline(\"apiv2Dev\", {\n    repository: repository,\n    pipelineTemplateId: devTemplate.then(devTemplate =\u003e devTemplate.id),\n});\nconst frontend = new buildkite.pipeline.Pipeline(\"frontend\", {\n    repository: repository,\n    pipelineTemplateId: frontendTemplate.then(frontendTemplate =\u003e frontendTemplate.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_buildkite as buildkite\nimport pulumiverse_buildkite as buildkite\n\nrepository = \"git@github.com:my-org/my-repo.git\"\ndev_template = buildkite.Pipeline.get_template(id=buildkite_pipeline_template[\"template_dev\"][\"id\"])\nfrontend_template = buildkite.Pipeline.get_template(name=\"Frontend app template\")\napiv2_dev = buildkite.pipeline.Pipeline(\"apiv2Dev\",\n    repository=repository,\n    pipeline_template_id=dev_template.id)\nfrontend = buildkite.pipeline.Pipeline(\"frontend\",\n    repository=repository,\n    pipeline_template_id=frontend_template.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumi.Buildkite;\nusing Buildkite = Pulumiverse.Buildkite;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var repository = \"git@github.com:my-org/my-repo.git\";\n\n    var devTemplate = Buildkite.Pipeline.GetTemplate.Invoke(new()\n    {\n        Id = buildkite_pipeline_template.Template_dev.Id,\n    });\n\n    var frontendTemplate = Buildkite.Pipeline.GetTemplate.Invoke(new()\n    {\n        Name = \"Frontend app template\",\n    });\n\n    var apiv2Dev = new Buildkite.Pipeline.Pipeline(\"apiv2Dev\", new()\n    {\n        Repository = repository,\n        PipelineTemplateId = devTemplate.Apply(getTemplateResult =\u003e getTemplateResult.Id),\n    });\n\n    var frontend = new Buildkite.Pipeline.Pipeline(\"frontend\", new()\n    {\n        Repository = repository,\n        PipelineTemplateId = frontendTemplate.Apply(getTemplateResult =\u003e getTemplateResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Pipeline\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trepository := \"git@github.com:my-org/my-repo.git\"\n\t\tdevTemplate, err := Pipeline.GetTemplate(ctx, \u0026pipeline.GetTemplateArgs{\n\t\t\tId: pulumi.StringRef(buildkite_pipeline_template.Template_dev.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrontendTemplate, err := Pipeline.GetTemplate(ctx, \u0026pipeline.GetTemplateArgs{\n\t\t\tName: pulumi.StringRef(\"Frontend app template\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Pipeline.NewPipeline(ctx, \"apiv2Dev\", \u0026Pipeline.PipelineArgs{\n\t\t\tRepository:         pulumi.String(repository),\n\t\t\tPipelineTemplateId: *pulumi.String(devTemplate.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Pipeline.NewPipeline(ctx, \"frontend\", \u0026Pipeline.PipelineArgs{\n\t\t\tRepository:         pulumi.String(repository),\n\t\t\tPipelineTemplateId: *pulumi.String(frontendTemplate.Id),\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.buildkite.Pipeline.PipelineFunctions;\nimport com.pulumi.buildkite.Pipeline.inputs.GetTemplateArgs;\nimport com.pulumi.buildkite.Pipeline.Pipeline;\nimport com.pulumi.buildkite.Pipeline.PipelineArgs;\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 repository = \"git@github.com:my-org/my-repo.git\";\n\n        final var devTemplate = PipelineFunctions.getTemplate(GetTemplateArgs.builder()\n            .id(buildkite_pipeline_template.template_dev().id())\n            .build());\n\n        final var frontendTemplate = PipelineFunctions.getTemplate(GetTemplateArgs.builder()\n            .name(\"Frontend app template\")\n            .build());\n\n        var apiv2Dev = new Pipeline(\"apiv2Dev\", PipelineArgs.builder()        \n            .repository(repository)\n            .pipelineTemplateId(devTemplate.applyValue(getTemplateResult -\u003e getTemplateResult.id()))\n            .build());\n\n        var frontend = new Pipeline(\"frontend\", PipelineArgs.builder()        \n            .repository(repository)\n            .pipelineTemplateId(frontendTemplate.applyValue(getTemplateResult -\u003e getTemplateResult.id()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  apiv2Dev:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: ${repository}\n      pipelineTemplateId: ${devTemplate.id}\n  frontend:\n    type: buildkite:Pipeline:Pipeline\n    properties:\n      repository: ${repository}\n      pipelineTemplateId: ${frontendTemplate.id}\nvariables:\n  repository: git@github.com:my-org/my-repo.git\n  devTemplate:\n    fn::invoke:\n      Function: buildkite:Pipeline:getTemplate\n      Arguments:\n        id: ${buildkite_pipeline_template.template_dev.id}\n  frontendTemplate:\n    fn::invoke:\n      Function: buildkite:Pipeline:getTemplate\n      Arguments:\n        name: Frontend app template\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getTemplate.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GraphQL ID of the pipeline template.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the pipeline template.\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getTemplate.\n",
        "properties": {
          "available": {
            "description": "If the pipeline template is available for assignment by non admin users.\n",
            "type": "boolean"
          },
          "configuration": {
            "description": "The YAML step configuration for the pipeline template.\n",
            "type": "string"
          },
          "description": {
            "description": "The description for the pipeline template.\n",
            "type": "string"
          },
          "id": {
            "description": "The GraphQL ID of the pipeline template.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the pipeline template.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The UUID of the pipeline template.\n",
            "type": "string"
          }
        },
        "required": [
          "available",
          "configuration",
          "description",
          "id",
          "name",
          "uuid"
        ],
        "type": "object"
      }
    },
    "buildkite:Team/getTeam:getTeam": {
      "description": "Use this data source to retrieve a team by slug or id. You can find out more about teams in the Buildkite\n[documentation](https://buildkite.com/docs/pipelines/permissions).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as buildkite from \"@pulumi/buildkite\";\n\nconst teamDev = buildkite.Team.getTeam({\n    id: buildkite_team.team_dev.id,\n});\nconst team = buildkite.Team.getTeam({\n    slug: \"Everyone\",\n});\n```\n```python\nimport pulumi\nimport pulumi_buildkite as buildkite\n\nteam_dev = buildkite.Team.get_team(id=buildkite_team[\"team_dev\"][\"id\"])\nteam = buildkite.Team.get_team(slug=\"Everyone\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Buildkite = Pulumi.Buildkite;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var teamDev = Buildkite.Team.GetTeam.Invoke(new()\n    {\n        Id = buildkite_team.Team_dev.Id,\n    });\n\n    var team = Buildkite.Team.GetTeam.Invoke(new()\n    {\n        Slug = \"Everyone\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite/Team\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Team.GetTeam(ctx, \u0026team.GetTeamArgs{\n\t\t\tId: pulumi.StringRef(buildkite_team.Team_dev.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Team.GetTeam(ctx, \u0026team.GetTeamArgs{\n\t\t\tSlug: pulumi.StringRef(\"Everyone\"),\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.buildkite.Team.TeamFunctions;\nimport com.pulumi.buildkite.Team.inputs.GetTeamArgs;\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 teamDev = TeamFunctions.getTeam(GetTeamArgs.builder()\n            .id(buildkite_team.team_dev().id())\n            .build());\n\n        final var team = TeamFunctions.getTeam(GetTeamArgs.builder()\n            .slug(\"Everyone\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  teamDev:\n    fn::invoke:\n      Function: buildkite:Team:getTeam\n      Arguments:\n        id: ${buildkite_team.team_dev.id}\n  team:\n    fn::invoke:\n      Function: buildkite:Team:getTeam\n      Arguments:\n        slug: Everyone\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getTeam.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GraphQL ID of the team to find.\n"
          },
          "slug": {
            "type": "string",
            "description": "The slug of the team to find.\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getTeam.\n",
        "properties": {
          "defaultMemberRole": {
            "description": "The default member role of the team.\n",
            "type": "string"
          },
          "defaultTeam": {
            "description": "Whether the team is the default team.\n",
            "type": "boolean"
          },
          "description": {
            "description": "The description of the team.\n",
            "type": "string"
          },
          "id": {
            "description": "The GraphQL ID of the team to find.\n",
            "type": "string"
          },
          "membersCanCreatePipelines": {
            "description": "Whether members can create pipelines.\n",
            "type": "boolean"
          },
          "name": {
            "description": "The name of the team.\n",
            "type": "string"
          },
          "privacy": {
            "description": "The privacy setting of the team.\n",
            "type": "string"
          },
          "slug": {
            "description": "The slug of the team to find.\n",
            "type": "string"
          },
          "uuid": {
            "description": "The UUID of the team.\n",
            "type": "string"
          }
        },
        "required": [
          "defaultMemberRole",
          "defaultTeam",
          "description",
          "id",
          "membersCanCreatePipelines",
          "name",
          "privacy",
          "slug",
          "uuid"
        ],
        "type": "object"
      }
    },
    "buildkite:index/getMeta:getMeta": {
      "description": "Use this data source to look up the source IP addresses that Buildkite may use to send external requests,\nincluding webhooks and API calls to source control systems (like GitHub Enterprise Server and BitBucket Server).\n\nMore info in the Buildkite [documentation](https://buildkite.com/docs/apis/rest-api/meta).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as buildkite from \"@pulumi/buildkite\";\n\nconst ips = buildkite.getMeta({});\n// Create an AWS security group allowing ingress from Buildkite\nconst fromBuildkite = new aws.ec2.SecurityGroup(\"fromBuildkite\", {ingress: [{\n    fromPort: \"*\",\n    toPort: 443,\n    protocol: \"tcp\",\n    cidrBlocks: ips.then(ips =\u003e ips.webhookIps),\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_buildkite as buildkite\n\nips = buildkite.get_meta()\n# Create an AWS security group allowing ingress from Buildkite\nfrom_buildkite = aws.ec2.SecurityGroup(\"fromBuildkite\", ingress=[aws.ec2.SecurityGroupIngressArgs(\n    from_port=\"*\",\n    to_port=443,\n    protocol=\"tcp\",\n    cidr_blocks=ips.webhook_ips,\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Buildkite = Pulumi.Buildkite;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ips = Buildkite.GetMeta.Invoke();\n\n    // Create an AWS security group allowing ingress from Buildkite\n    var fromBuildkite = new Aws.Ec2.SecurityGroup(\"fromBuildkite\", new()\n    {\n        Ingress = new[]\n        {\n            new Aws.Ec2.Inputs.SecurityGroupIngressArgs\n            {\n                FromPort = \"*\",\n                ToPort = 443,\n                Protocol = \"tcp\",\n                CidrBlocks = ips.Apply(getMetaResult =\u003e getMetaResult.WebhookIps),\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-buildkite/sdk/v3/go/buildkite\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tips, err := buildkite.GetMeta(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an AWS security group allowing ingress from Buildkite\n\t\t_, err = ec2.NewSecurityGroup(ctx, \"fromBuildkite\", \u0026ec2.SecurityGroupArgs{\n\t\t\tIngress: ec2.SecurityGroupIngressArray{\n\t\t\t\t\u0026ec2.SecurityGroupIngressArgs{\n\t\t\t\t\tFromPort:   pulumi.Int(\"*\"),\n\t\t\t\t\tToPort:     pulumi.Int(443),\n\t\t\t\t\tProtocol:   pulumi.String(\"tcp\"),\n\t\t\t\t\tCidrBlocks: interface{}(ips.WebhookIps),\n\t\t\t\t},\n\t\t\t},\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.buildkite.BuildkiteFunctions;\nimport com.pulumi.aws.ec2.SecurityGroup;\nimport com.pulumi.aws.ec2.SecurityGroupArgs;\nimport com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;\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 ips = BuildkiteFunctions.getMeta();\n\n        var fromBuildkite = new SecurityGroup(\"fromBuildkite\", SecurityGroupArgs.builder()        \n            .ingress(SecurityGroupIngressArgs.builder()\n                .fromPort(\"*\")\n                .toPort(\"443\")\n                .protocol(\"tcp\")\n                .cidrBlocks(ips.applyValue(getMetaResult -\u003e getMetaResult.webhookIps()))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an AWS security group allowing ingress from Buildkite\n  fromBuildkite:\n    type: aws:ec2:SecurityGroup\n    properties:\n      ingress:\n        - fromPort: '*'\n          toPort: '443'\n          protocol: tcp\n          cidrBlocks: ${ips.webhookIps}\nvariables:\n  ips:\n    fn::invoke:\n      Function: buildkite:getMeta\n      Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getMeta.\n",
        "properties": {
          "id": {
            "description": "Fixed value: `https://api.buildkite.com/v2/meta`.\n",
            "type": "string"
          },
          "webhookIps": {
            "description": "List of IPs in CIDR format.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "webhookIps"
        ],
        "type": "object"
      }
    }
  }
}
