import * as pulumi from "@pulumi/pulumi"; /** * This resource allows you to create and manage an OpenID Connect subject claim customization template for a GitHub * repository. * * More information on integrating GitHub with cloud providers using OpenID Connect and a list of available claims is * available in the [Actions documentation](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect). * * The following table lists the behaviour of `useDefault`: * * | `useDefault` | `includeClaimKeys` | Template used | * |---------------|----------------------|-----------------------------------------------------------| * | `true` | Unset | GitHub's default | * | `false` | Set | `includeClaimKeys` | * | `false` | Unset | Organization's default if set, otherwise GitHub's default | * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as github from "@pulumi/github"; * * const example = new github.Repository("example", {name: "example-repository"}); * const exampleTemplate = new github.ActionsRepositoryOidcSubjectClaimCustomizationTemplate("example_template", { * repository: example.name, * useDefault: false, * includeClaimKeys: [ * "actor", * "context", * "repository_owner", * ], * }); * ``` * * ## Import * * This resource can be imported using the repository's name. * * ```sh * $ pulumi import github:index/actionsRepositoryOidcSubjectClaimCustomizationTemplate:ActionsRepositoryOidcSubjectClaimCustomizationTemplate test example_repository * ``` */ export declare class ActionsRepositoryOidcSubjectClaimCustomizationTemplate extends pulumi.CustomResource { /** * Get an existing ActionsRepositoryOidcSubjectClaimCustomizationTemplate resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ActionsRepositoryOidcSubjectClaimCustomizationTemplateState, opts?: pulumi.CustomResourceOptions): ActionsRepositoryOidcSubjectClaimCustomizationTemplate; /** * Returns true if the given object is an instance of ActionsRepositoryOidcSubjectClaimCustomizationTemplate. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ActionsRepositoryOidcSubjectClaimCustomizationTemplate; /** * A list of OpenID Connect claims. */ readonly includeClaimKeys: pulumi.Output; /** * The name of the repository. */ readonly repository: pulumi.Output; /** * Whether to use the default template or not. If `true`, `includeClaimKeys` must not * be set. */ readonly useDefault: pulumi.Output; /** * Create a ActionsRepositoryOidcSubjectClaimCustomizationTemplate resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ActionsRepositoryOidcSubjectClaimCustomizationTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ActionsRepositoryOidcSubjectClaimCustomizationTemplate resources. */ export interface ActionsRepositoryOidcSubjectClaimCustomizationTemplateState { /** * A list of OpenID Connect claims. */ includeClaimKeys?: pulumi.Input[]>; /** * The name of the repository. */ repository?: pulumi.Input; /** * Whether to use the default template or not. If `true`, `includeClaimKeys` must not * be set. */ useDefault?: pulumi.Input; } /** * The set of arguments for constructing a ActionsRepositoryOidcSubjectClaimCustomizationTemplate resource. */ export interface ActionsRepositoryOidcSubjectClaimCustomizationTemplateArgs { /** * A list of OpenID Connect claims. */ includeClaimKeys?: pulumi.Input[]>; /** * The name of the repository. */ repository: pulumi.Input; /** * Whether to use the default template or not. If `true`, `includeClaimKeys` must not * be set. */ useDefault: pulumi.Input; }