UNPKG

@pulumiverse/harbor

Version:

A Pulumi package for creating and managing Harbor resources.

164 lines (163 loc) 4.04 kB
import * as outputs from "../types/output"; export interface ConfigSystemBannerMessage { /** * Whether or not the banner message is closable. */ closable?: boolean; /** * The date the banner message will start displaying. (Format: `MM/DD/YYYY`) */ fromDate?: string; /** * The message to display in the banner. */ message: string; /** * The date the banner message will stop displaying. (Format: `MM/DD/YYYY`) */ toDate?: string; /** * The type of banner message. Can be `"info"`, `"warning"`, `"success"` or `"danger"`. */ type?: string; } export interface GetGroupsGroup { /** * The name of the group to filter by. */ groupName: string; groupType: number; /** * The ID of this resource. */ id: number; /** * The LDAP group DN to filter by. */ ldapGroupDn: string; } export interface GetProjectMemberGroupsProjectMemberGroup { groupName: string; /** * The ID of this resource. */ id: string; /** * The id of the project within harbor. */ projectId: string; role: string; } export interface GetProjectMemberUsersProjectMemberUser { /** * The ID of this resource. */ id: string; /** * The id of the project within harbor. */ projectId: string; role: string; userName: string; } export interface GetProjectsProject { name: string; projectId: number; public: boolean; type: string; vulnerabilityScanning: boolean; } export interface GetRobotAccountsRobotAccount { description: string; disable: boolean; duration: number; /** * The ID of this resource. */ id: string; /** * Level of the robot account, currently either `system` or `project`. Default is `system`. */ level: string; /** * The name of the robot account to filter by. */ name: string; } export interface GetUsersUser { admin: boolean; comment: string; /** * The email of the user to filter by. */ email: string; fullName: string; /** * The ID of this resource. */ id: string; /** * The name of the user to filter by. */ username: string; } export interface ReplicationFilter { /** * Matches or excludes the result. Can be one of the following. `matches`, `excludes` */ decoration?: string; /** * Filter on the resource according to labels. */ labels?: string[]; /** * Filter on the name of the resource. */ name?: string; /** * Filter on the resource type. Can be one of the following types. `chart`, `artifact` */ resource?: string; /** * Filter on the tag/version of the resource. */ tag?: string; } export interface RetentionPolicyRule { alwaysRetain?: boolean; disabled?: boolean; mostRecentlyPulled?: number; mostRecentlyPushed?: number; nDaysSinceLastPull?: number; nDaysSinceLastPush?: number; repoExcluding?: string; repoMatching?: string; tagExcluding?: string; tagMatching?: string; untaggedArtifacts?: boolean; } export interface RobotAccountPermission { accesses: outputs.RobotAccountPermissionAccess[]; /** * Either `system` or `project`. */ kind: string; /** * namespace is the name of your project. For kind `system` permissions, always use `/` as namespace. Use `*` to match all projects. */ namespace: string; } export interface RobotAccountPermissionAccess { /** * Eg. `push`, `pull`, `read`, etc. Check [available actions](https://github.com/goharbor/harbor/blob/-/src/common/rbac/const.go). */ action: string; /** * Either `allow` or `deny`. Defaults to `allow`. */ effect?: string; /** * Eg. `repository`, `labels`, etc. Check [available resources](https://github.com/goharbor/harbor/blob/-/src/common/rbac/const.go). */ resource: string; }