Documentation
¶
Index ¶
- func GithubProvider_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktn.ImportableResource
- func GithubProvider_IsConstruct(x interface{}) *bool
- func GithubProvider_IsTerraformElement(x interface{}) *bool
- func GithubProvider_IsTerraformProvider(x interface{}) *bool
- func GithubProvider_TfResourceType() *string
- func NewGithubProvider_Override(g GithubProvider, scope constructs.Construct, id *string, ...)
- type GithubProvider
- type GithubProviderAppAuth
- type GithubProviderConfig
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}.
func NewGithubProvider ¶
func NewGithubProvider(scope constructs.Construct, id *string, config *GithubProviderConfig) GithubProvider
Create a new {@link https://registry.terraform.io/providers/integrations/github/6.13.0/docs github} Resource.
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"`
}