provider

package
v17.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: MPL-2.0 Imports: 7 Imported by: 0

README

provider

Refer to the Terraform Registry for docs: github.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GithubProvider_GenerateConfigForImport

func GithubProvider_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktn.TerraformProvider) cdktn.ImportableResource

Generates CDKTN code for importing a GithubProvider resource upon running "cdktn plan <stack-name>".

func GithubProvider_IsConstruct

func GithubProvider_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func GithubProvider_IsTerraformElement

func GithubProvider_IsTerraformElement(x interface{}) *bool

Experimental.

func GithubProvider_IsTerraformProvider

func GithubProvider_IsTerraformProvider(x interface{}) *bool

Experimental.

func GithubProvider_TfResourceType

func GithubProvider_TfResourceType() *string

func NewGithubProvider_Override

func NewGithubProvider_Override(g GithubProvider, scope constructs.Construct, id *string, config *GithubProviderConfig)

Create a new {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs github} Resource.

Types

type GithubProvider

type GithubProvider interface {
	cdktn.TerraformProvider
	Alias() *string
	SetAlias(val *string)
	AliasInput() *string
	AppAuth() *GithubProviderAppAuth
	SetAppAuth(val *GithubProviderAppAuth)
	AppAuthInput() *GithubProviderAppAuth
	BaseUrl() *string
	SetBaseUrl(val *string)
	BaseUrlInput() *string
	CachePath() *string
	SetCachePath(val *string)
	CachePathInput() *string
	// Experimental.
	CdktfStack() cdktn.TerraformStack
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	Insecure() interface{}
	SetInsecure(val interface{})
	InsecureInput() interface{}
	LegacyClient() interface{}
	SetLegacyClient(val interface{})
	LegacyClientInput() interface{}
	MaxPerPage() *float64
	SetMaxPerPage(val *float64)
	MaxPerPageInput() *float64
	MaxRetries() *float64
	SetMaxRetries(val *float64)
	MaxRetriesInput() *float64
	// Experimental.
	MetaAttributes() *map[string]interface{}
	// The tree node.
	Node() constructs.Node
	Organization() *string
	SetOrganization(val *string)
	OrganizationInput() *string
	Owner() *string
	SetOwner(val *string)
	OwnerInput() *string
	ParallelRequests() interface{}
	SetParallelRequests(val interface{})
	ParallelRequestsInput() interface{}
	// Experimental.
	RawOverrides() interface{}
	ReadDelayMs() *float64
	SetReadDelayMs(val *float64)
	ReadDelayMsInput() *float64
	RetryableErrors() *[]*float64
	SetRetryableErrors(val *[]*float64)
	RetryableErrorsInput() *[]*float64
	RetryDelayMs() *float64
	SetRetryDelayMs(val *float64)
	RetryDelayMsInput() *float64
	// Experimental.
	TerraformGeneratorMetadata() *cdktn.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformProviderSource() *string
	// Experimental.
	TerraformResourceType() *string
	Token() *string
	SetToken(val *string)
	TokenInput() *string
	WriteDelayMs() *float64
	SetWriteDelayMs(val *float64)
	WriteDelayMsInput() *float64
	// Experimental.
	AddOverride(path *string, value interface{})
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	ResetAlias()
	ResetAppAuth()
	ResetBaseUrl()
	ResetCachePath()
	ResetInsecure()
	ResetLegacyClient()
	ResetMaxPerPage()
	ResetMaxRetries()
	ResetOrganization()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetOwner()
	ResetParallelRequests()
	ResetReadDelayMs()
	ResetRetryableErrors()
	ResetRetryDelayMs()
	ResetToken()
	ResetWriteDelayMs()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	//
	// Returns: This construct for chaining.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

Represents a {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs github}.

type GithubProviderAppAuth

type GithubProviderAppAuth struct {
	// The GitHub App's identifier. This can also be set by the `GITHUB_APP_ID` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#id GithubProvider#id}
	//
	// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
	// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
	Id *string `field:"required" json:"id" yaml:"id"`
	// The GitHub App's installation identifier. This can also be set by the `GITHUB_APP_INSTALLATION_ID` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#installation_id GithubProvider#installation_id}
	InstallationId *string `field:"required" json:"installationId" yaml:"installationId"`
	// The GitHub App's PEM file content;
	//
	// `\n` can be used for newlines. This can also be set by the `GITHUB_APP_PEM_FILE` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#pem_file GithubProvider#pem_file}
	PemFile *string `field:"required" json:"pemFile" yaml:"pemFile"`
}

type GithubProviderConfig

type GithubProviderConfig struct {
	// Alias name.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#alias GithubProvider#alias}
	Alias *string `field:"optional" json:"alias" yaml:"alias"`
	// app_auth block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#app_auth GithubProvider#app_auth}
	AppAuth *GithubProviderAppAuth `field:"optional" json:"appAuth" yaml:"appAuth"`
	// The base URL for the GitHub API;
	//
	// this defaults to the GitHub API URL. If you are using GitHub Enterprise Server (GHES) or GitHub Enterprise Cloud with Data Residency (GHEC-DR), this is required. This can also be set by the `GITHUB_BASE_URL` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#base_url GithubProvider#base_url}
	BaseUrl *string `field:"optional" json:"baseUrl" yaml:"baseUrl"`
	// The path to the cache directory for persisting GitHub API requests between runs;
	//
	// if not set there will be no caching between runs. This can also be set by the `GITHUB_CACHE_PATH` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#cache_path GithubProvider#cache_path}
	CachePath *string `field:"optional" json:"cachePath" yaml:"cachePath"`
	// Allow insecure server connections when using SSL.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#insecure GithubProvider#insecure}
	Insecure interface{} `field:"optional" json:"insecure" yaml:"insecure"`
	// Use the legacy GitHub client implementation;
	//
	// if set to `false`, the new client implementation is used. This can also be set by the `GITHUB_LEGACY_CLIENT` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#legacy_client GithubProvider#legacy_client}
	LegacyClient interface{} `field:"optional" json:"legacyClient" yaml:"legacyClient"`
	// The maximum number of results per page for paginated API requests;
	//
	// this defaults to `100`. This can also be set by the `GITHUB_MAX_PER_PAGE` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#max_per_page GithubProvider#max_per_page}
	MaxPerPage *float64 `field:"optional" json:"maxPerPage" yaml:"maxPerPage"`
	// The maximum number of retries for failed requests; this defaults to `3`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#max_retries GithubProvider#max_retries}
	MaxRetries *float64 `field:"optional" json:"maxRetries" yaml:"maxRetries"`
	// GitHub organization to manage. This can also be set by the `GITHUB_ORGANIZATION` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#organization GithubProvider#organization}
	Organization *string `field:"optional" json:"organization" yaml:"organization"`
	// GitHub organization or user account to manage;
	//
	// this is required when authenticating using a GitHub App. If the owner is not provided and a token is provided, the provider will attempt to auto-detect the owner associated with the token. This can also be set by the `GITHUB_OWNER` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#owner GithubProvider#owner}
	Owner *string `field:"optional" json:"owner" yaml:"owner"`
	// Allow the provider to make parallel API calls;
	//
	// this is experimental and may cause concurrency and rate limiting issues. This is ignored for the REST API when `legacy_client` is `false` since the new client implementation is designed to safely handle parallel requests.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#parallel_requests GithubProvider#parallel_requests}
	ParallelRequests interface{} `field:"optional" json:"parallelRequests" yaml:"parallelRequests"`
	// The delay in milliseconds between read operations;
	//
	// this defaults to `0`. This can be used to mitigate rate limiting issues when performing a large number of read operations. This is ignored for the REST API when `legacy_client` is `false` since the new client implementation is GitHub rate limit aware.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#read_delay_ms GithubProvider#read_delay_ms}
	ReadDelayMs *float64 `field:"optional" json:"readDelayMs" yaml:"readDelayMs"`
	// List of HTTP status codes that should be retried;
	//
	// if not set this uses the provider defaults. This setting only applies when `max_retries` is greater than `0`. This is ignored for the REST API when `legacy_client` is `false` since the new client implementation handles the retry logic.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#retryable_errors GithubProvider#retryable_errors}
	RetryableErrors *[]*float64 `field:"optional" json:"retryableErrors" yaml:"retryableErrors"`
	// The delay in milliseconds between retry attempts;
	//
	// this defaults to `1000`. This setting only applies when `max_retries` is greater than `0`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#retry_delay_ms GithubProvider#retry_delay_ms}
	RetryDelayMs *float64 `field:"optional" json:"retryDelayMs" yaml:"retryDelayMs"`
	// GitHub OAuth or Personal Access Token (PAT) to use for authentication.
	//
	// This can also be set by the `GITHUB_TOKEN` environment variable.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#token GithubProvider#token}
	Token *string `field:"optional" json:"token" yaml:"token"`
	// The delay in milliseconds between write operations;
	//
	// this defaults to `1000`. This is used to mitigate the GitHub API's abuse rate limits when writing. Note that **ALL** requests to the GraphQL API are implemented as `POST` requests under the hood, so this setting affects those calls as well. This is ignored for the REST API when `legacy_client` is `false` since the new client implementation is GitHub rate limit aware.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs#write_delay_ms GithubProvider#write_delay_ms}
	WriteDelayMs *float64 `field:"optional" json:"writeDelayMs" yaml:"writeDelayMs"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL