@pulumiverse/harbor
Version:
A Pulumi package for creating and managing Harbor resources.
164 lines (163 loc) • 4.04 kB
TypeScript
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;
}