Skip to content
v2.275.0

Experimental

@aws-cdk/aws-amplify-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

GitHubSourceCodeProvider Class ​

GitHub source code provider.

Example ​

ts
const amplifyApp = new amplify.App(this, 'App', {
  sourceCodeProvider: new amplify.GitHubSourceCodeProvider({
    owner: '<user>',
    repository: '<repo>',
    oauthToken: SecretValue.secretsManager('my-github-token'),
  }),
  customResponseHeaders: [
    {
      pattern: '*.json',
      headers: {
        'custom-header-name-1': 'custom-header-value-1',
        'custom-header-name-2': 'custom-header-value-2',
      },
    },
    {
      pattern: '/path/*',
      headers: {
        'custom-header-name-1': 'custom-header-value-2',
      },
    },
  ],
});
python
amplify_app = amplify.App(self, "App",
    source_code_provider=amplify.GitHubSourceCodeProvider(
        owner="<user>",
        repository="<repo>",
        oauth_token=SecretValue.secrets_manager("my-github-token")
    ),
    custom_response_headers=[amplify.CustomResponseHeader(
        pattern="*.json",
        headers={
            "custom-header-name-1": "custom-header-value-1",
            "custom-header-name-2": "custom-header-value-2"
        }
    ), amplify.CustomResponseHeader(
        pattern="/path/*",
        headers={
            "custom-header-name-1": "custom-header-value-2"
        }
    )
    ]
)
java
App amplifyApp = App.Builder.create(this, "App")
        .sourceCodeProvider(GitHubSourceCodeProvider.Builder.create()
                .owner("<user>")
                .repository("<repo>")
                .oauthToken(SecretValue.secretsManager("my-github-token"))
                .build())
        .customResponseHeaders(List.of(CustomResponseHeader.builder()
                .pattern("*.json")
                .headers(Map.of(
                        "custom-header-name-1", "custom-header-value-1",
                        "custom-header-name-2", "custom-header-value-2"))
                .build(), CustomResponseHeader.builder()
                .pattern("/path/*")
                .headers(Map.of(
                        "custom-header-name-1", "custom-header-value-2"))
                .build()))
        .build();
csharp
// Install: dotnet add package Amazon.CDK.AWS.Amplify.Alpha
var amplifyApp = new App(this, "App", new AppProps {
    SourceCodeProvider = new GitHubSourceCodeProvider(new GitHubSourceCodeProviderProps {
        Owner = "<user>",
        Repository = "<repo>",
        OauthToken = SecretValue.SecretsManager("my-github-token")
    }),
    CustomResponseHeaders = new [] { new CustomResponseHeader {
        Pattern = "*.json",
        Headers = new Dictionary<string, string> {
            { "custom-header-name-1", "custom-header-value-1" },
            { "custom-header-name-2", "custom-header-value-2" }
        }
    }, new CustomResponseHeader {
        Pattern = "/path/*",
        Headers = new Dictionary<string, string> {
            { "custom-header-name-1", "custom-header-value-2" }
        }
    } }
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdkamplifyalpha/v2
amplifyApp := amplify.NewApp(this, jsii.String("App"), &AppProps{
	SourceCodeProvider: amplify.NewGitHubSourceCodeProvider(&GitHubSourceCodeProviderProps{
		Owner: jsii.String("<user>"),
		Repository: jsii.String("<repo>"),
		OauthToken: awscdk.SecretValue_SecretsManager(jsii.String("my-github-token")),
	}),
	CustomResponseHeaders: []CustomResponseHeader{
		&CustomResponseHeader{
			Pattern: jsii.String("*.json"),
			Headers: map[string]*string{
				"custom-header-name-1": jsii.String("custom-header-value-1"),
				"custom-header-name-2": jsii.String("custom-header-value-2"),
			},
		},
		&CustomResponseHeader{
			Pattern: jsii.String("/path/*"),
			Headers: map[string]*string{
				"custom-header-name-1": jsii.String("custom-header-value-2"),
			},
		},
	},
})

Initializer ​

ts
new GitHubSourceCodeProvider(props: GitHubSourceCodeProviderProps)
python
GitHubSourceCodeProvider(props: GitHubSourceCodeProviderProps)
java
new GitHubSourceCodeProvider(GitHubSourceCodeProviderProps props)
csharp
new GitHubSourceCodeProvider(GitHubSourceCodeProviderProps props)
go
NewGitHubSourceCodeProvider(Props GitHubSourceCodeProviderProps)

Methods ​

bind(_app: App): SourceCodeProviderConfigdef bind(self, _app: App) -> SourceCodeProviderConfigpublic SourceCodeProviderConfig bind(App _app)public SourceCodeProviderConfig Bind(App _app)func Bind(_app App) SourceCodeProviderConfig#
Binds the source code provider to an app.