jfrogproject

package
v0.0.0-...-6acb799 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

The Jfrog Project provider for Pulumi can be used to provision any of the projects resources available on Jfrog Platform. The Jfrog Platform provider must be configured with credentials to deploy and update resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Environment

type Environment struct {
	pulumi.CustomResourceState

	// Environment name. Must start with a letter and can contain letters, digits and `-` character.
	Name pulumi.StringOutput `pulumi:"name"`
	// Project key for this environment. This field supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter.
	ProjectKey pulumi.StringOutput `pulumi:"projectKey"`
}

Creates a new environment for the specified project.

~>The combined length of `projectKey` and `name` (separated by '-') cannot not exceeds 32 characters.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/skycaptain/pulumi-jfrog-project/sdk/go/jfrog-project"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := jfrog - project.NewEnvironment(ctx, "myenv", &jfrog-project.EnvironmentArgs{
			ProjectKey: pulumi.String("myproj"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

```sh

$ pulumi import jfrog-project:index/environment:Environment myenv project_key:environment_name

```

func GetEnvironment

func GetEnvironment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnvironmentState, opts ...pulumi.ResourceOption) (*Environment, error)

GetEnvironment gets an existing Environment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEnvironment

func NewEnvironment(ctx *pulumi.Context,
	name string, args *EnvironmentArgs, opts ...pulumi.ResourceOption) (*Environment, error)

NewEnvironment registers a new resource with the given unique name, arguments, and options.

func (*Environment) ElementType

func (*Environment) ElementType() reflect.Type

func (*Environment) ToEnvironmentOutput

func (i *Environment) ToEnvironmentOutput() EnvironmentOutput

func (*Environment) ToEnvironmentOutputWithContext

func (i *Environment) ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput

type EnvironmentArgs

type EnvironmentArgs struct {
	// Environment name. Must start with a letter and can contain letters, digits and `-` character.
	Name pulumi.StringPtrInput
	// Project key for this environment. This field supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter.
	ProjectKey pulumi.StringInput
}

The set of arguments for constructing a Environment resource.

func (EnvironmentArgs) ElementType

func (EnvironmentArgs) ElementType() reflect.Type

type EnvironmentArray

type EnvironmentArray []EnvironmentInput

func (EnvironmentArray) ElementType

func (EnvironmentArray) ElementType() reflect.Type

func (EnvironmentArray) ToEnvironmentArrayOutput

func (i EnvironmentArray) ToEnvironmentArrayOutput() EnvironmentArrayOutput

func (EnvironmentArray) ToEnvironmentArrayOutputWithContext

func (i EnvironmentArray) ToEnvironmentArrayOutputWithContext(ctx context.Context) EnvironmentArrayOutput

type EnvironmentArrayInput

type EnvironmentArrayInput interface {
	pulumi.Input

	ToEnvironmentArrayOutput() EnvironmentArrayOutput
	ToEnvironmentArrayOutputWithContext(context.Context) EnvironmentArrayOutput
}

EnvironmentArrayInput is an input type that accepts EnvironmentArray and EnvironmentArrayOutput values. You can construct a concrete instance of `EnvironmentArrayInput` via:

EnvironmentArray{ EnvironmentArgs{...} }

type EnvironmentArrayOutput

type EnvironmentArrayOutput struct{ *pulumi.OutputState }

func (EnvironmentArrayOutput) ElementType

func (EnvironmentArrayOutput) ElementType() reflect.Type

func (EnvironmentArrayOutput) Index

func (EnvironmentArrayOutput) ToEnvironmentArrayOutput

func (o EnvironmentArrayOutput) ToEnvironmentArrayOutput() EnvironmentArrayOutput

func (EnvironmentArrayOutput) ToEnvironmentArrayOutputWithContext

func (o EnvironmentArrayOutput) ToEnvironmentArrayOutputWithContext(ctx context.Context) EnvironmentArrayOutput

type EnvironmentInput

type EnvironmentInput interface {
	pulumi.Input

	ToEnvironmentOutput() EnvironmentOutput
	ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput
}

type EnvironmentMap

type EnvironmentMap map[string]EnvironmentInput

func (EnvironmentMap) ElementType

func (EnvironmentMap) ElementType() reflect.Type

func (EnvironmentMap) ToEnvironmentMapOutput

func (i EnvironmentMap) ToEnvironmentMapOutput() EnvironmentMapOutput

func (EnvironmentMap) ToEnvironmentMapOutputWithContext

func (i EnvironmentMap) ToEnvironmentMapOutputWithContext(ctx context.Context) EnvironmentMapOutput

type EnvironmentMapInput

type EnvironmentMapInput interface {
	pulumi.Input

	ToEnvironmentMapOutput() EnvironmentMapOutput
	ToEnvironmentMapOutputWithContext(context.Context) EnvironmentMapOutput
}

EnvironmentMapInput is an input type that accepts EnvironmentMap and EnvironmentMapOutput values. You can construct a concrete instance of `EnvironmentMapInput` via:

EnvironmentMap{ "key": EnvironmentArgs{...} }

type EnvironmentMapOutput

type EnvironmentMapOutput struct{ *pulumi.OutputState }

func (EnvironmentMapOutput) ElementType

func (EnvironmentMapOutput) ElementType() reflect.Type

func (EnvironmentMapOutput) MapIndex

func (EnvironmentMapOutput) ToEnvironmentMapOutput

func (o EnvironmentMapOutput) ToEnvironmentMapOutput() EnvironmentMapOutput

func (EnvironmentMapOutput) ToEnvironmentMapOutputWithContext

func (o EnvironmentMapOutput) ToEnvironmentMapOutputWithContext(ctx context.Context) EnvironmentMapOutput

type EnvironmentOutput

type EnvironmentOutput struct{ *pulumi.OutputState }

func (EnvironmentOutput) ElementType

func (EnvironmentOutput) ElementType() reflect.Type

func (EnvironmentOutput) Name

Environment name. Must start with a letter and can contain letters, digits and `-` character.

func (EnvironmentOutput) ProjectKey

func (o EnvironmentOutput) ProjectKey() pulumi.StringOutput

Project key for this environment. This field supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter.

func (EnvironmentOutput) ToEnvironmentOutput

func (o EnvironmentOutput) ToEnvironmentOutput() EnvironmentOutput

func (EnvironmentOutput) ToEnvironmentOutputWithContext

func (o EnvironmentOutput) ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput

type EnvironmentState

type EnvironmentState struct {
	// Environment name. Must start with a letter and can contain letters, digits and `-` character.
	Name pulumi.StringPtrInput
	// Project key for this environment. This field supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter.
	ProjectKey pulumi.StringPtrInput
}

func (EnvironmentState) ElementType

func (EnvironmentState) ElementType() reflect.Type

type Group

type Group struct {
	pulumi.CustomResourceState

	// The name of an artifactory group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The key of the project to which the group should be assigned to.
	ProjectKey pulumi.StringOutput `pulumi:"projectKey"`
	// List of pre-defined Project or custom roles
	Roles pulumi.StringArrayOutput `pulumi:"roles"`
}

Add a group as project member. Element has one to one mapping with the [JFrog Project Groups API](https://jfrog.com/help/r/jfrog-rest-apis/update-group-in-project). Requires a user assigned with the 'Administer the Platform' role or Project Admin permissions if `admin_privileges.manage_resoures` is enabled.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/skycaptain/pulumi-jfrog-project/sdk/go/jfrog-project"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := jfrog - project.NewGroup(ctx, "mygroup", &jfrog-project.GroupArgs{
			ProjectKey: pulumi.String("myproj"),
			Roles: pulumi.StringArray{
				pulumi.String("Viewer"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

```sh

$ pulumi import jfrog-project:index/group:Group mygroup project_key:groupname

```

func GetGroup

func GetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupState, opts ...pulumi.ResourceOption) (*Group, error)

GetGroup gets an existing Group resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGroup

func NewGroup(ctx *pulumi.Context,
	name string, args *GroupArgs, opts ...pulumi.ResourceOption) (*Group, error)

NewGroup registers a new resource with the given unique name, arguments, and options.

func (*Group) ElementType

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

func (i *Group) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupArgs

type GroupArgs struct {
	// The name of an artifactory group.
	Name pulumi.StringPtrInput
	// The key of the project to which the group should be assigned to.
	ProjectKey pulumi.StringInput
	// List of pre-defined Project or custom roles
	Roles pulumi.StringArrayInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

func (i GroupArray) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

	ToGroupArrayOutput() GroupArrayOutput
	ToGroupArrayOutputWithContext(context.Context) GroupArrayOutput
}

GroupArrayInput is an input type that accepts GroupArray and GroupArrayOutput values. You can construct a concrete instance of `GroupArrayInput` via:

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

func (o GroupArrayOutput) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupInput

type GroupInput interface {
	pulumi.Input

	ToGroupOutput() GroupOutput
	ToGroupOutputWithContext(ctx context.Context) GroupOutput
}

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

func (i GroupMap) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

	ToGroupMapOutput() GroupMapOutput
	ToGroupMapOutputWithContext(context.Context) GroupMapOutput
}

GroupMapInput is an input type that accepts GroupMap and GroupMapOutput values. You can construct a concrete instance of `GroupMapInput` via:

GroupMap{ "key": GroupArgs{...} }

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

func (o GroupMapOutput) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) Name

func (o GroupOutput) Name() pulumi.StringOutput

The name of an artifactory group.

func (GroupOutput) ProjectKey

func (o GroupOutput) ProjectKey() pulumi.StringOutput

The key of the project to which the group should be assigned to.

func (GroupOutput) Roles

List of pre-defined Project or custom roles

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupState

type GroupState struct {
	// The name of an artifactory group.
	Name pulumi.StringPtrInput
	// The key of the project to which the group should be assigned to.
	ProjectKey pulumi.StringPtrInput
	// List of pre-defined Project or custom roles
	Roles pulumi.StringArrayInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

type Project

type Project struct {
	pulumi.CustomResourceState

	AdminPrivileges ProjectAdminPrivilegeArrayOutput `pulumi:"adminPrivileges"`
	// Block deployment of artifacts if storage quota is exceeded.
	BlockDeploymentsOnLimit pulumi.BoolPtrOutput   `pulumi:"blockDeploymentsOnLimit"`
	Description             pulumi.StringPtrOutput `pulumi:"description"`
	// Also known as project name on the UI
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// Alerts will be sent when reaching 75% and 95% of the storage quota. This serves as a notification only and is not a
	// blocker
	EmailNotification pulumi.BoolPtrOutput `pulumi:"emailNotification"`
	// Project group. Element has one to one mapping with the [JFrog Project Groups
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateGroupinProject)
	//
	// Deprecated: Replaced by `project_group` resource. This should not be used in combination with `project_group` resource. Use `use_project_group_resource` attribute to control which resource manages project roles.
	Groups ProjectGroupArrayOutput `pulumi:"groups"`
	// The Project Key is added as a prefix to resources created within a Project. This field is mandatory and supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter. For example: `us1a-test`.
	Key pulumi.StringOutput `pulumi:"key"`
	// Storage quota in GiB. Must be 1 or larger. Set to -1 for unlimited storage. This is translated to binary bytes for
	// Artifactory API. So for a 1TB quota, this should be set to 1024 (vs 1000) which will translate to 1099511627776 bytes
	// for the API.
	MaxStorageInGibibytes pulumi.IntPtrOutput `pulumi:"maxStorageInGibibytes"`
	// Member of the project. Element has one to one mapping with the [JFrog Project Users
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateUserinProject).
	//
	// Deprecated: Replaced by `project_user` resource. This should not be used in combination with `project_user` resource. Use `use_project_user_resource` attribute to control which resource manages project roles.
	Members ProjectMemberArrayOutput `pulumi:"members"`
	// (Optional) List of existing repo keys to be assigned to the project. **Note** We *strongly* recommend using this
	// attribute to manage the list of repositories. If you wish to use the alternate method of setting `project_key` attribute
	// in each `artifactory_*_repository` resource in the `artifactory` provider, you will need to use
	// `lifecycle.ignore_changes` in the `project` resource to avoid state drift. “`hcl lifecycle { ignore_changes = [ repos ]
	// } “`
	//
	// Deprecated: Replaced by `project_repository` resource. This should not be used in combination with `project_repository` resource. Use `use_project_repository_resource` attribute to control which resource manages project repositories.
	Repos pulumi.StringArrayOutput `pulumi:"repos"`
	// Project role. Element has one to one mapping with the [JFrog Project Roles
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-AddaNewRole)
	//
	// Deprecated: Replaced by `project_role` resource. This should not be used in combination with `project_role` resource. Use `use_project_role_resource` attribute to control which resource manages project roles.
	Roles ProjectRoleArrayOutput `pulumi:"roles"`
	// When set to true, this resource will ignore the `group` attributes and allow users to be managed by `project_group`
	// resource instead. Default to `true`.
	UseProjectGroupResource pulumi.BoolPtrOutput `pulumi:"useProjectGroupResource"`
	// When set to true, this resource will ignore the `repos` attributes and allow repository to be managed by
	// `project_repository` resource instead. Default to `true`.
	UseProjectRepositoryResource pulumi.BoolPtrOutput `pulumi:"useProjectRepositoryResource"`
	// When set to true, this resource will ignore the `roles` attributes and allow roles to be managed by `project_role`
	// resource instead. Default to `true`.
	UseProjectRoleResource pulumi.BoolPtrOutput `pulumi:"useProjectRoleResource"`
	// When set to true, this resource will ignore the `member` attributes and allow users to be managed by `project_user`
	// resource instead. Default to `true`.
	UseProjectUserResource pulumi.BoolPtrOutput `pulumi:"useProjectUserResource"`
}

Provides an Artifactory project resource. This can be used to create and manage Artifactory project, maintain users/groups/roles/repos.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/skycaptain/pulumi-jfrog-project/sdk/go/jfrog-project"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := jfrog - project.NewProject(ctx, "myproject", &jfrog-project.ProjectArgs{
			AdminPrivileges: jfrogproject.ProjectAdminPrivilegeArray{
				&jfrogproject.ProjectAdminPrivilegeArgs{
					IndexResources:  pulumi.Bool(true),
					ManageMembers:   pulumi.Bool(true),
					ManageResources: pulumi.Bool(true),
				},
			},
			BlockDeploymentsOnLimit: pulumi.Bool(false),
			Description:             pulumi.String("My Project"),
			DisplayName:             pulumi.String("My Project"),
			EmailNotification:       pulumi.Bool(true),
			Key:                     pulumi.String("myproj"),
			MaxStorageInGibibytes:   pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

```sh

$ pulumi import jfrog-project:index/project:Project myproject myproj

```

func GetProject

func GetProject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProjectState, opts ...pulumi.ResourceOption) (*Project, error)

GetProject gets an existing Project resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProject

func NewProject(ctx *pulumi.Context,
	name string, args *ProjectArgs, opts ...pulumi.ResourceOption) (*Project, error)

NewProject registers a new resource with the given unique name, arguments, and options.

func (*Project) ElementType

func (*Project) ElementType() reflect.Type

func (*Project) ToProjectOutput

func (i *Project) ToProjectOutput() ProjectOutput

func (*Project) ToProjectOutputWithContext

func (i *Project) ToProjectOutputWithContext(ctx context.Context) ProjectOutput

type ProjectAdminPrivilege

type ProjectAdminPrivilege struct {
	// Enables a project admin to define the resources to be indexed by Xray
	IndexResources bool `pulumi:"indexResources"`
	// Allows the Project Admin to manage Platform users/groups as project members with different roles.
	ManageMembers bool `pulumi:"manageMembers"`
	// Allows the Project Admin to manage resources - repositories, builds and Pipelines resources on the project level.
	ManageResources bool `pulumi:"manageResources"`
}

type ProjectAdminPrivilegeArgs

type ProjectAdminPrivilegeArgs struct {
	// Enables a project admin to define the resources to be indexed by Xray
	IndexResources pulumi.BoolInput `pulumi:"indexResources"`
	// Allows the Project Admin to manage Platform users/groups as project members with different roles.
	ManageMembers pulumi.BoolInput `pulumi:"manageMembers"`
	// Allows the Project Admin to manage resources - repositories, builds and Pipelines resources on the project level.
	ManageResources pulumi.BoolInput `pulumi:"manageResources"`
}

func (ProjectAdminPrivilegeArgs) ElementType

func (ProjectAdminPrivilegeArgs) ElementType() reflect.Type

func (ProjectAdminPrivilegeArgs) ToProjectAdminPrivilegeOutput

func (i ProjectAdminPrivilegeArgs) ToProjectAdminPrivilegeOutput() ProjectAdminPrivilegeOutput

func (ProjectAdminPrivilegeArgs) ToProjectAdminPrivilegeOutputWithContext

func (i ProjectAdminPrivilegeArgs) ToProjectAdminPrivilegeOutputWithContext(ctx context.Context) ProjectAdminPrivilegeOutput

type ProjectAdminPrivilegeArray

type ProjectAdminPrivilegeArray []ProjectAdminPrivilegeInput

func (ProjectAdminPrivilegeArray) ElementType

func (ProjectAdminPrivilegeArray) ElementType() reflect.Type

func (ProjectAdminPrivilegeArray) ToProjectAdminPrivilegeArrayOutput

func (i ProjectAdminPrivilegeArray) ToProjectAdminPrivilegeArrayOutput() ProjectAdminPrivilegeArrayOutput

func (ProjectAdminPrivilegeArray) ToProjectAdminPrivilegeArrayOutputWithContext

func (i ProjectAdminPrivilegeArray) ToProjectAdminPrivilegeArrayOutputWithContext(ctx context.Context) ProjectAdminPrivilegeArrayOutput

type ProjectAdminPrivilegeArrayInput

type ProjectAdminPrivilegeArrayInput interface {
	pulumi.Input

	ToProjectAdminPrivilegeArrayOutput() ProjectAdminPrivilegeArrayOutput
	ToProjectAdminPrivilegeArrayOutputWithContext(context.Context) ProjectAdminPrivilegeArrayOutput
}

ProjectAdminPrivilegeArrayInput is an input type that accepts ProjectAdminPrivilegeArray and ProjectAdminPrivilegeArrayOutput values. You can construct a concrete instance of `ProjectAdminPrivilegeArrayInput` via:

ProjectAdminPrivilegeArray{ ProjectAdminPrivilegeArgs{...} }

type ProjectAdminPrivilegeArrayOutput

type ProjectAdminPrivilegeArrayOutput struct{ *pulumi.OutputState }

func (ProjectAdminPrivilegeArrayOutput) ElementType

func (ProjectAdminPrivilegeArrayOutput) Index

func (ProjectAdminPrivilegeArrayOutput) ToProjectAdminPrivilegeArrayOutput

func (o ProjectAdminPrivilegeArrayOutput) ToProjectAdminPrivilegeArrayOutput() ProjectAdminPrivilegeArrayOutput

func (ProjectAdminPrivilegeArrayOutput) ToProjectAdminPrivilegeArrayOutputWithContext

func (o ProjectAdminPrivilegeArrayOutput) ToProjectAdminPrivilegeArrayOutputWithContext(ctx context.Context) ProjectAdminPrivilegeArrayOutput

type ProjectAdminPrivilegeInput

type ProjectAdminPrivilegeInput interface {
	pulumi.Input

	ToProjectAdminPrivilegeOutput() ProjectAdminPrivilegeOutput
	ToProjectAdminPrivilegeOutputWithContext(context.Context) ProjectAdminPrivilegeOutput
}

ProjectAdminPrivilegeInput is an input type that accepts ProjectAdminPrivilegeArgs and ProjectAdminPrivilegeOutput values. You can construct a concrete instance of `ProjectAdminPrivilegeInput` via:

ProjectAdminPrivilegeArgs{...}

type ProjectAdminPrivilegeOutput

type ProjectAdminPrivilegeOutput struct{ *pulumi.OutputState }

func (ProjectAdminPrivilegeOutput) ElementType

func (ProjectAdminPrivilegeOutput) IndexResources

func (o ProjectAdminPrivilegeOutput) IndexResources() pulumi.BoolOutput

Enables a project admin to define the resources to be indexed by Xray

func (ProjectAdminPrivilegeOutput) ManageMembers

func (o ProjectAdminPrivilegeOutput) ManageMembers() pulumi.BoolOutput

Allows the Project Admin to manage Platform users/groups as project members with different roles.

func (ProjectAdminPrivilegeOutput) ManageResources

func (o ProjectAdminPrivilegeOutput) ManageResources() pulumi.BoolOutput

Allows the Project Admin to manage resources - repositories, builds and Pipelines resources on the project level.

func (ProjectAdminPrivilegeOutput) ToProjectAdminPrivilegeOutput

func (o ProjectAdminPrivilegeOutput) ToProjectAdminPrivilegeOutput() ProjectAdminPrivilegeOutput

func (ProjectAdminPrivilegeOutput) ToProjectAdminPrivilegeOutputWithContext

func (o ProjectAdminPrivilegeOutput) ToProjectAdminPrivilegeOutputWithContext(ctx context.Context) ProjectAdminPrivilegeOutput

type ProjectArgs

type ProjectArgs struct {
	AdminPrivileges ProjectAdminPrivilegeArrayInput
	// Block deployment of artifacts if storage quota is exceeded.
	BlockDeploymentsOnLimit pulumi.BoolPtrInput
	Description             pulumi.StringPtrInput
	// Also known as project name on the UI
	DisplayName pulumi.StringInput
	// Alerts will be sent when reaching 75% and 95% of the storage quota. This serves as a notification only and is not a
	// blocker
	EmailNotification pulumi.BoolPtrInput
	// Project group. Element has one to one mapping with the [JFrog Project Groups
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateGroupinProject)
	//
	// Deprecated: Replaced by `project_group` resource. This should not be used in combination with `project_group` resource. Use `use_project_group_resource` attribute to control which resource manages project roles.
	Groups ProjectGroupArrayInput
	// The Project Key is added as a prefix to resources created within a Project. This field is mandatory and supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter. For example: `us1a-test`.
	Key pulumi.StringInput
	// Storage quota in GiB. Must be 1 or larger. Set to -1 for unlimited storage. This is translated to binary bytes for
	// Artifactory API. So for a 1TB quota, this should be set to 1024 (vs 1000) which will translate to 1099511627776 bytes
	// for the API.
	MaxStorageInGibibytes pulumi.IntPtrInput
	// Member of the project. Element has one to one mapping with the [JFrog Project Users
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateUserinProject).
	//
	// Deprecated: Replaced by `project_user` resource. This should not be used in combination with `project_user` resource. Use `use_project_user_resource` attribute to control which resource manages project roles.
	Members ProjectMemberArrayInput
	// (Optional) List of existing repo keys to be assigned to the project. **Note** We *strongly* recommend using this
	// attribute to manage the list of repositories. If you wish to use the alternate method of setting `project_key` attribute
	// in each `artifactory_*_repository` resource in the `artifactory` provider, you will need to use
	// `lifecycle.ignore_changes` in the `project` resource to avoid state drift. “`hcl lifecycle { ignore_changes = [ repos ]
	// } “`
	//
	// Deprecated: Replaced by `project_repository` resource. This should not be used in combination with `project_repository` resource. Use `use_project_repository_resource` attribute to control which resource manages project repositories.
	Repos pulumi.StringArrayInput
	// Project role. Element has one to one mapping with the [JFrog Project Roles
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-AddaNewRole)
	//
	// Deprecated: Replaced by `project_role` resource. This should not be used in combination with `project_role` resource. Use `use_project_role_resource` attribute to control which resource manages project roles.
	Roles ProjectRoleArrayInput
	// When set to true, this resource will ignore the `group` attributes and allow users to be managed by `project_group`
	// resource instead. Default to `true`.
	UseProjectGroupResource pulumi.BoolPtrInput
	// When set to true, this resource will ignore the `repos` attributes and allow repository to be managed by
	// `project_repository` resource instead. Default to `true`.
	UseProjectRepositoryResource pulumi.BoolPtrInput
	// When set to true, this resource will ignore the `roles` attributes and allow roles to be managed by `project_role`
	// resource instead. Default to `true`.
	UseProjectRoleResource pulumi.BoolPtrInput
	// When set to true, this resource will ignore the `member` attributes and allow users to be managed by `project_user`
	// resource instead. Default to `true`.
	UseProjectUserResource pulumi.BoolPtrInput
}

The set of arguments for constructing a Project resource.

func (ProjectArgs) ElementType

func (ProjectArgs) ElementType() reflect.Type

type ProjectArray

type ProjectArray []ProjectInput

func (ProjectArray) ElementType

func (ProjectArray) ElementType() reflect.Type

func (ProjectArray) ToProjectArrayOutput

func (i ProjectArray) ToProjectArrayOutput() ProjectArrayOutput

func (ProjectArray) ToProjectArrayOutputWithContext

func (i ProjectArray) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput

type ProjectArrayInput

type ProjectArrayInput interface {
	pulumi.Input

	ToProjectArrayOutput() ProjectArrayOutput
	ToProjectArrayOutputWithContext(context.Context) ProjectArrayOutput
}

ProjectArrayInput is an input type that accepts ProjectArray and ProjectArrayOutput values. You can construct a concrete instance of `ProjectArrayInput` via:

ProjectArray{ ProjectArgs{...} }

type ProjectArrayOutput

type ProjectArrayOutput struct{ *pulumi.OutputState }

func (ProjectArrayOutput) ElementType

func (ProjectArrayOutput) ElementType() reflect.Type

func (ProjectArrayOutput) Index

func (ProjectArrayOutput) ToProjectArrayOutput

func (o ProjectArrayOutput) ToProjectArrayOutput() ProjectArrayOutput

func (ProjectArrayOutput) ToProjectArrayOutputWithContext

func (o ProjectArrayOutput) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput

type ProjectGroup

type ProjectGroup struct {
	// Must be existing Artifactory group
	Name string `pulumi:"name"`
	// List of pre-defined Project or custom roles
	Roles []string `pulumi:"roles"`
}

type ProjectGroupArgs

type ProjectGroupArgs struct {
	// Must be existing Artifactory group
	Name pulumi.StringInput `pulumi:"name"`
	// List of pre-defined Project or custom roles
	Roles pulumi.StringArrayInput `pulumi:"roles"`
}

func (ProjectGroupArgs) ElementType

func (ProjectGroupArgs) ElementType() reflect.Type

func (ProjectGroupArgs) ToProjectGroupOutput

func (i ProjectGroupArgs) ToProjectGroupOutput() ProjectGroupOutput

func (ProjectGroupArgs) ToProjectGroupOutputWithContext

func (i ProjectGroupArgs) ToProjectGroupOutputWithContext(ctx context.Context) ProjectGroupOutput

type ProjectGroupArray

type ProjectGroupArray []ProjectGroupInput

func (ProjectGroupArray) ElementType

func (ProjectGroupArray) ElementType() reflect.Type

func (ProjectGroupArray) ToProjectGroupArrayOutput

func (i ProjectGroupArray) ToProjectGroupArrayOutput() ProjectGroupArrayOutput

func (ProjectGroupArray) ToProjectGroupArrayOutputWithContext

func (i ProjectGroupArray) ToProjectGroupArrayOutputWithContext(ctx context.Context) ProjectGroupArrayOutput

type ProjectGroupArrayInput

type ProjectGroupArrayInput interface {
	pulumi.Input

	ToProjectGroupArrayOutput() ProjectGroupArrayOutput
	ToProjectGroupArrayOutputWithContext(context.Context) ProjectGroupArrayOutput
}

ProjectGroupArrayInput is an input type that accepts ProjectGroupArray and ProjectGroupArrayOutput values. You can construct a concrete instance of `ProjectGroupArrayInput` via:

ProjectGroupArray{ ProjectGroupArgs{...} }

type ProjectGroupArrayOutput

type ProjectGroupArrayOutput struct{ *pulumi.OutputState }

func (ProjectGroupArrayOutput) ElementType

func (ProjectGroupArrayOutput) ElementType() reflect.Type

func (ProjectGroupArrayOutput) Index

func (ProjectGroupArrayOutput) ToProjectGroupArrayOutput

func (o ProjectGroupArrayOutput) ToProjectGroupArrayOutput() ProjectGroupArrayOutput

func (ProjectGroupArrayOutput) ToProjectGroupArrayOutputWithContext

func (o ProjectGroupArrayOutput) ToProjectGroupArrayOutputWithContext(ctx context.Context) ProjectGroupArrayOutput

type ProjectGroupInput

type ProjectGroupInput interface {
	pulumi.Input

	ToProjectGroupOutput() ProjectGroupOutput
	ToProjectGroupOutputWithContext(context.Context) ProjectGroupOutput
}

ProjectGroupInput is an input type that accepts ProjectGroupArgs and ProjectGroupOutput values. You can construct a concrete instance of `ProjectGroupInput` via:

ProjectGroupArgs{...}

type ProjectGroupOutput

type ProjectGroupOutput struct{ *pulumi.OutputState }

func (ProjectGroupOutput) ElementType

func (ProjectGroupOutput) ElementType() reflect.Type

func (ProjectGroupOutput) Name

Must be existing Artifactory group

func (ProjectGroupOutput) Roles

List of pre-defined Project or custom roles

func (ProjectGroupOutput) ToProjectGroupOutput

func (o ProjectGroupOutput) ToProjectGroupOutput() ProjectGroupOutput

func (ProjectGroupOutput) ToProjectGroupOutputWithContext

func (o ProjectGroupOutput) ToProjectGroupOutputWithContext(ctx context.Context) ProjectGroupOutput

type ProjectInput

type ProjectInput interface {
	pulumi.Input

	ToProjectOutput() ProjectOutput
	ToProjectOutputWithContext(ctx context.Context) ProjectOutput
}

type ProjectMap

type ProjectMap map[string]ProjectInput

func (ProjectMap) ElementType

func (ProjectMap) ElementType() reflect.Type

func (ProjectMap) ToProjectMapOutput

func (i ProjectMap) ToProjectMapOutput() ProjectMapOutput

func (ProjectMap) ToProjectMapOutputWithContext

func (i ProjectMap) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput

type ProjectMapInput

type ProjectMapInput interface {
	pulumi.Input

	ToProjectMapOutput() ProjectMapOutput
	ToProjectMapOutputWithContext(context.Context) ProjectMapOutput
}

ProjectMapInput is an input type that accepts ProjectMap and ProjectMapOutput values. You can construct a concrete instance of `ProjectMapInput` via:

ProjectMap{ "key": ProjectArgs{...} }

type ProjectMapOutput

type ProjectMapOutput struct{ *pulumi.OutputState }

func (ProjectMapOutput) ElementType

func (ProjectMapOutput) ElementType() reflect.Type

func (ProjectMapOutput) MapIndex

func (ProjectMapOutput) ToProjectMapOutput

func (o ProjectMapOutput) ToProjectMapOutput() ProjectMapOutput

func (ProjectMapOutput) ToProjectMapOutputWithContext

func (o ProjectMapOutput) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput

type ProjectMember

type ProjectMember struct {
	// Must be existing Artifactory user
	Name string `pulumi:"name"`
	// List of pre-defined Project or custom roles
	Roles []string `pulumi:"roles"`
}

type ProjectMemberArgs

type ProjectMemberArgs struct {
	// Must be existing Artifactory user
	Name pulumi.StringInput `pulumi:"name"`
	// List of pre-defined Project or custom roles
	Roles pulumi.StringArrayInput `pulumi:"roles"`
}

func (ProjectMemberArgs) ElementType

func (ProjectMemberArgs) ElementType() reflect.Type

func (ProjectMemberArgs) ToProjectMemberOutput

func (i ProjectMemberArgs) ToProjectMemberOutput() ProjectMemberOutput

func (ProjectMemberArgs) ToProjectMemberOutputWithContext

func (i ProjectMemberArgs) ToProjectMemberOutputWithContext(ctx context.Context) ProjectMemberOutput

type ProjectMemberArray

type ProjectMemberArray []ProjectMemberInput

func (ProjectMemberArray) ElementType

func (ProjectMemberArray) ElementType() reflect.Type

func (ProjectMemberArray) ToProjectMemberArrayOutput

func (i ProjectMemberArray) ToProjectMemberArrayOutput() ProjectMemberArrayOutput

func (ProjectMemberArray) ToProjectMemberArrayOutputWithContext

func (i ProjectMemberArray) ToProjectMemberArrayOutputWithContext(ctx context.Context) ProjectMemberArrayOutput

type ProjectMemberArrayInput

type ProjectMemberArrayInput interface {
	pulumi.Input

	ToProjectMemberArrayOutput() ProjectMemberArrayOutput
	ToProjectMemberArrayOutputWithContext(context.Context) ProjectMemberArrayOutput
}

ProjectMemberArrayInput is an input type that accepts ProjectMemberArray and ProjectMemberArrayOutput values. You can construct a concrete instance of `ProjectMemberArrayInput` via:

ProjectMemberArray{ ProjectMemberArgs{...} }

type ProjectMemberArrayOutput

type ProjectMemberArrayOutput struct{ *pulumi.OutputState }

func (ProjectMemberArrayOutput) ElementType

func (ProjectMemberArrayOutput) ElementType() reflect.Type

func (ProjectMemberArrayOutput) Index

func (ProjectMemberArrayOutput) ToProjectMemberArrayOutput

func (o ProjectMemberArrayOutput) ToProjectMemberArrayOutput() ProjectMemberArrayOutput

func (ProjectMemberArrayOutput) ToProjectMemberArrayOutputWithContext

func (o ProjectMemberArrayOutput) ToProjectMemberArrayOutputWithContext(ctx context.Context) ProjectMemberArrayOutput

type ProjectMemberInput

type ProjectMemberInput interface {
	pulumi.Input

	ToProjectMemberOutput() ProjectMemberOutput
	ToProjectMemberOutputWithContext(context.Context) ProjectMemberOutput
}

ProjectMemberInput is an input type that accepts ProjectMemberArgs and ProjectMemberOutput values. You can construct a concrete instance of `ProjectMemberInput` via:

ProjectMemberArgs{...}

type ProjectMemberOutput

type ProjectMemberOutput struct{ *pulumi.OutputState }

func (ProjectMemberOutput) ElementType

func (ProjectMemberOutput) ElementType() reflect.Type

func (ProjectMemberOutput) Name

Must be existing Artifactory user

func (ProjectMemberOutput) Roles

List of pre-defined Project or custom roles

func (ProjectMemberOutput) ToProjectMemberOutput

func (o ProjectMemberOutput) ToProjectMemberOutput() ProjectMemberOutput

func (ProjectMemberOutput) ToProjectMemberOutputWithContext

func (o ProjectMemberOutput) ToProjectMemberOutputWithContext(ctx context.Context) ProjectMemberOutput

type ProjectOutput

type ProjectOutput struct{ *pulumi.OutputState }

func (ProjectOutput) AdminPrivileges

func (o ProjectOutput) AdminPrivileges() ProjectAdminPrivilegeArrayOutput

func (ProjectOutput) BlockDeploymentsOnLimit

func (o ProjectOutput) BlockDeploymentsOnLimit() pulumi.BoolPtrOutput

Block deployment of artifacts if storage quota is exceeded.

func (ProjectOutput) Description

func (o ProjectOutput) Description() pulumi.StringPtrOutput

func (ProjectOutput) DisplayName

func (o ProjectOutput) DisplayName() pulumi.StringOutput

Also known as project name on the UI

func (ProjectOutput) ElementType

func (ProjectOutput) ElementType() reflect.Type

func (ProjectOutput) EmailNotification

func (o ProjectOutput) EmailNotification() pulumi.BoolPtrOutput

Alerts will be sent when reaching 75% and 95% of the storage quota. This serves as a notification only and is not a blocker

func (ProjectOutput) Groups deprecated

Project group. Element has one to one mapping with the [JFrog Project Groups API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateGroupinProject)

Deprecated: Replaced by `project_group` resource. This should not be used in combination with `project_group` resource. Use `use_project_group_resource` attribute to control which resource manages project roles.

func (ProjectOutput) Key

The Project Key is added as a prefix to resources created within a Project. This field is mandatory and supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter. For example: `us1a-test`.

func (ProjectOutput) MaxStorageInGibibytes

func (o ProjectOutput) MaxStorageInGibibytes() pulumi.IntPtrOutput

Storage quota in GiB. Must be 1 or larger. Set to -1 for unlimited storage. This is translated to binary bytes for Artifactory API. So for a 1TB quota, this should be set to 1024 (vs 1000) which will translate to 1099511627776 bytes for the API.

func (ProjectOutput) Members deprecated

Member of the project. Element has one to one mapping with the [JFrog Project Users API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateUserinProject).

Deprecated: Replaced by `project_user` resource. This should not be used in combination with `project_user` resource. Use `use_project_user_resource` attribute to control which resource manages project roles.

func (ProjectOutput) Repos deprecated

(Optional) List of existing repo keys to be assigned to the project. **Note** We *strongly* recommend using this attribute to manage the list of repositories. If you wish to use the alternate method of setting `project_key` attribute in each `artifactory_*_repository` resource in the `artifactory` provider, you will need to use `lifecycle.ignore_changes` in the `project` resource to avoid state drift. ```hcl lifecycle { ignore_changes = [ repos ] } ```

Deprecated: Replaced by `project_repository` resource. This should not be used in combination with `project_repository` resource. Use `use_project_repository_resource` attribute to control which resource manages project repositories.

func (ProjectOutput) Roles deprecated

Project role. Element has one to one mapping with the [JFrog Project Roles API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-AddaNewRole)

Deprecated: Replaced by `project_role` resource. This should not be used in combination with `project_role` resource. Use `use_project_role_resource` attribute to control which resource manages project roles.

func (ProjectOutput) ToProjectOutput

func (o ProjectOutput) ToProjectOutput() ProjectOutput

func (ProjectOutput) ToProjectOutputWithContext

func (o ProjectOutput) ToProjectOutputWithContext(ctx context.Context) ProjectOutput

func (ProjectOutput) UseProjectGroupResource

func (o ProjectOutput) UseProjectGroupResource() pulumi.BoolPtrOutput

When set to true, this resource will ignore the `group` attributes and allow users to be managed by `project_group` resource instead. Default to `true`.

func (ProjectOutput) UseProjectRepositoryResource

func (o ProjectOutput) UseProjectRepositoryResource() pulumi.BoolPtrOutput

When set to true, this resource will ignore the `repos` attributes and allow repository to be managed by `project_repository` resource instead. Default to `true`.

func (ProjectOutput) UseProjectRoleResource

func (o ProjectOutput) UseProjectRoleResource() pulumi.BoolPtrOutput

When set to true, this resource will ignore the `roles` attributes and allow roles to be managed by `project_role` resource instead. Default to `true`.

func (ProjectOutput) UseProjectUserResource

func (o ProjectOutput) UseProjectUserResource() pulumi.BoolPtrOutput

When set to true, this resource will ignore the `member` attributes and allow users to be managed by `project_user` resource instead. Default to `true`.

type ProjectRole

type ProjectRole struct {
	// List of pre-defined actions (READ*REPOSITORY, ANNOTATE*REPOSITORY, DEPLOY*CACHE*REPOSITORY, DELETE*OVERWRITE*REPOSITORY, MANAGE*XRAY*MD*REPOSITORY, READ*RELEASE*BUNDLE, ANNOTATE*RELEASE*BUNDLE, CREATE*RELEASE*BUNDLE, DISTRIBUTE*RELEASE*BUNDLE, DELETE*RELEASE*BUNDLE, MANAGE*XRAY*MD*RELEASE*BUNDLE, READ*BUILD, ANNOTATE*BUILD, DEPLOY*BUILD, DELETE*BUILD, MANAGE*XRAY*MD*BUILD, READ*SOURCES*PIPELINE, TRIGGER*PIPELINE, READ*INTEGRATIONS*PIPELINE, READ*POOLS*PIPELINE, MANAGE*INTEGRATIONS*PIPELINE, MANAGE*SOURCES*PIPELINE, MANAGE*POOLS*PIPELINE, TRIGGER*SECURITY, ISSUES*SECURITY, LICENCES*SECURITY, REPORTS*SECURITY, WATCHES*SECURITY, POLICIES*SECURITY, RULES*SECURITY, MANAGE*MEMBERS, MANAGE*RESOURCES)
	Actions     []string `pulumi:"actions"`
	Description *string  `pulumi:"description"`
	// A repository can be available in different environments. Members with roles defined in the set environment will have access to the repository. List of pre-defined environments (DEV, PROD)
	Environments []string `pulumi:"environments"`
	Name         string   `pulumi:"name"`
	// Type of role. Only "CUSTOM" is supported
	Type string `pulumi:"type"`
}

type ProjectRoleArgs

type ProjectRoleArgs struct {
	// List of pre-defined actions (READ*REPOSITORY, ANNOTATE*REPOSITORY, DEPLOY*CACHE*REPOSITORY, DELETE*OVERWRITE*REPOSITORY, MANAGE*XRAY*MD*REPOSITORY, READ*RELEASE*BUNDLE, ANNOTATE*RELEASE*BUNDLE, CREATE*RELEASE*BUNDLE, DISTRIBUTE*RELEASE*BUNDLE, DELETE*RELEASE*BUNDLE, MANAGE*XRAY*MD*RELEASE*BUNDLE, READ*BUILD, ANNOTATE*BUILD, DEPLOY*BUILD, DELETE*BUILD, MANAGE*XRAY*MD*BUILD, READ*SOURCES*PIPELINE, TRIGGER*PIPELINE, READ*INTEGRATIONS*PIPELINE, READ*POOLS*PIPELINE, MANAGE*INTEGRATIONS*PIPELINE, MANAGE*SOURCES*PIPELINE, MANAGE*POOLS*PIPELINE, TRIGGER*SECURITY, ISSUES*SECURITY, LICENCES*SECURITY, REPORTS*SECURITY, WATCHES*SECURITY, POLICIES*SECURITY, RULES*SECURITY, MANAGE*MEMBERS, MANAGE*RESOURCES)
	Actions     pulumi.StringArrayInput `pulumi:"actions"`
	Description pulumi.StringPtrInput   `pulumi:"description"`
	// A repository can be available in different environments. Members with roles defined in the set environment will have access to the repository. List of pre-defined environments (DEV, PROD)
	Environments pulumi.StringArrayInput `pulumi:"environments"`
	Name         pulumi.StringInput      `pulumi:"name"`
	// Type of role. Only "CUSTOM" is supported
	Type pulumi.StringInput `pulumi:"type"`
}

func (ProjectRoleArgs) ElementType

func (ProjectRoleArgs) ElementType() reflect.Type

func (ProjectRoleArgs) ToProjectRoleOutput

func (i ProjectRoleArgs) ToProjectRoleOutput() ProjectRoleOutput

func (ProjectRoleArgs) ToProjectRoleOutputWithContext

func (i ProjectRoleArgs) ToProjectRoleOutputWithContext(ctx context.Context) ProjectRoleOutput

type ProjectRoleArray

type ProjectRoleArray []ProjectRoleInput

func (ProjectRoleArray) ElementType

func (ProjectRoleArray) ElementType() reflect.Type

func (ProjectRoleArray) ToProjectRoleArrayOutput

func (i ProjectRoleArray) ToProjectRoleArrayOutput() ProjectRoleArrayOutput

func (ProjectRoleArray) ToProjectRoleArrayOutputWithContext

func (i ProjectRoleArray) ToProjectRoleArrayOutputWithContext(ctx context.Context) ProjectRoleArrayOutput

type ProjectRoleArrayInput

type ProjectRoleArrayInput interface {
	pulumi.Input

	ToProjectRoleArrayOutput() ProjectRoleArrayOutput
	ToProjectRoleArrayOutputWithContext(context.Context) ProjectRoleArrayOutput
}

ProjectRoleArrayInput is an input type that accepts ProjectRoleArray and ProjectRoleArrayOutput values. You can construct a concrete instance of `ProjectRoleArrayInput` via:

ProjectRoleArray{ ProjectRoleArgs{...} }

type ProjectRoleArrayOutput

type ProjectRoleArrayOutput struct{ *pulumi.OutputState }

func (ProjectRoleArrayOutput) ElementType

func (ProjectRoleArrayOutput) ElementType() reflect.Type

func (ProjectRoleArrayOutput) Index

func (ProjectRoleArrayOutput) ToProjectRoleArrayOutput

func (o ProjectRoleArrayOutput) ToProjectRoleArrayOutput() ProjectRoleArrayOutput

func (ProjectRoleArrayOutput) ToProjectRoleArrayOutputWithContext

func (o ProjectRoleArrayOutput) ToProjectRoleArrayOutputWithContext(ctx context.Context) ProjectRoleArrayOutput

type ProjectRoleInput

type ProjectRoleInput interface {
	pulumi.Input

	ToProjectRoleOutput() ProjectRoleOutput
	ToProjectRoleOutputWithContext(context.Context) ProjectRoleOutput
}

ProjectRoleInput is an input type that accepts ProjectRoleArgs and ProjectRoleOutput values. You can construct a concrete instance of `ProjectRoleInput` via:

ProjectRoleArgs{...}

type ProjectRoleOutput

type ProjectRoleOutput struct{ *pulumi.OutputState }

func (ProjectRoleOutput) Actions

List of pre-defined actions (READ*REPOSITORY, ANNOTATE*REPOSITORY, DEPLOY*CACHE*REPOSITORY, DELETE*OVERWRITE*REPOSITORY, MANAGE*XRAY*MD*REPOSITORY, READ*RELEASE*BUNDLE, ANNOTATE*RELEASE*BUNDLE, CREATE*RELEASE*BUNDLE, DISTRIBUTE*RELEASE*BUNDLE, DELETE*RELEASE*BUNDLE, MANAGE*XRAY*MD*RELEASE*BUNDLE, READ*BUILD, ANNOTATE*BUILD, DEPLOY*BUILD, DELETE*BUILD, MANAGE*XRAY*MD*BUILD, READ*SOURCES*PIPELINE, TRIGGER*PIPELINE, READ*INTEGRATIONS*PIPELINE, READ*POOLS*PIPELINE, MANAGE*INTEGRATIONS*PIPELINE, MANAGE*SOURCES*PIPELINE, MANAGE*POOLS*PIPELINE, TRIGGER*SECURITY, ISSUES*SECURITY, LICENCES*SECURITY, REPORTS*SECURITY, WATCHES*SECURITY, POLICIES*SECURITY, RULES*SECURITY, MANAGE*MEMBERS, MANAGE*RESOURCES)

func (ProjectRoleOutput) Description

func (o ProjectRoleOutput) Description() pulumi.StringPtrOutput

func (ProjectRoleOutput) ElementType

func (ProjectRoleOutput) ElementType() reflect.Type

func (ProjectRoleOutput) Environments

func (o ProjectRoleOutput) Environments() pulumi.StringArrayOutput

A repository can be available in different environments. Members with roles defined in the set environment will have access to the repository. List of pre-defined environments (DEV, PROD)

func (ProjectRoleOutput) Name

func (ProjectRoleOutput) ToProjectRoleOutput

func (o ProjectRoleOutput) ToProjectRoleOutput() ProjectRoleOutput

func (ProjectRoleOutput) ToProjectRoleOutputWithContext

func (o ProjectRoleOutput) ToProjectRoleOutputWithContext(ctx context.Context) ProjectRoleOutput

func (ProjectRoleOutput) Type

Type of role. Only "CUSTOM" is supported

type ProjectState

type ProjectState struct {
	AdminPrivileges ProjectAdminPrivilegeArrayInput
	// Block deployment of artifacts if storage quota is exceeded.
	BlockDeploymentsOnLimit pulumi.BoolPtrInput
	Description             pulumi.StringPtrInput
	// Also known as project name on the UI
	DisplayName pulumi.StringPtrInput
	// Alerts will be sent when reaching 75% and 95% of the storage quota. This serves as a notification only and is not a
	// blocker
	EmailNotification pulumi.BoolPtrInput
	// Project group. Element has one to one mapping with the [JFrog Project Groups
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateGroupinProject)
	//
	// Deprecated: Replaced by `project_group` resource. This should not be used in combination with `project_group` resource. Use `use_project_group_resource` attribute to control which resource manages project roles.
	Groups ProjectGroupArrayInput
	// The Project Key is added as a prefix to resources created within a Project. This field is mandatory and supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter. For example: `us1a-test`.
	Key pulumi.StringPtrInput
	// Storage quota in GiB. Must be 1 or larger. Set to -1 for unlimited storage. This is translated to binary bytes for
	// Artifactory API. So for a 1TB quota, this should be set to 1024 (vs 1000) which will translate to 1099511627776 bytes
	// for the API.
	MaxStorageInGibibytes pulumi.IntPtrInput
	// Member of the project. Element has one to one mapping with the [JFrog Project Users
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateUserinProject).
	//
	// Deprecated: Replaced by `project_user` resource. This should not be used in combination with `project_user` resource. Use `use_project_user_resource` attribute to control which resource manages project roles.
	Members ProjectMemberArrayInput
	// (Optional) List of existing repo keys to be assigned to the project. **Note** We *strongly* recommend using this
	// attribute to manage the list of repositories. If you wish to use the alternate method of setting `project_key` attribute
	// in each `artifactory_*_repository` resource in the `artifactory` provider, you will need to use
	// `lifecycle.ignore_changes` in the `project` resource to avoid state drift. “`hcl lifecycle { ignore_changes = [ repos ]
	// } “`
	//
	// Deprecated: Replaced by `project_repository` resource. This should not be used in combination with `project_repository` resource. Use `use_project_repository_resource` attribute to control which resource manages project repositories.
	Repos pulumi.StringArrayInput
	// Project role. Element has one to one mapping with the [JFrog Project Roles
	// API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-AddaNewRole)
	//
	// Deprecated: Replaced by `project_role` resource. This should not be used in combination with `project_role` resource. Use `use_project_role_resource` attribute to control which resource manages project roles.
	Roles ProjectRoleArrayInput
	// When set to true, this resource will ignore the `group` attributes and allow users to be managed by `project_group`
	// resource instead. Default to `true`.
	UseProjectGroupResource pulumi.BoolPtrInput
	// When set to true, this resource will ignore the `repos` attributes and allow repository to be managed by
	// `project_repository` resource instead. Default to `true`.
	UseProjectRepositoryResource pulumi.BoolPtrInput
	// When set to true, this resource will ignore the `roles` attributes and allow roles to be managed by `project_role`
	// resource instead. Default to `true`.
	UseProjectRoleResource pulumi.BoolPtrInput
	// When set to true, this resource will ignore the `member` attributes and allow users to be managed by `project_user`
	// resource instead. Default to `true`.
	UseProjectUserResource pulumi.BoolPtrInput
}

func (ProjectState) ElementType

func (ProjectState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.ProviderResourceState

	// This is a Bearer token that can be given to you by your admin under `Identity and Access`. This can also be sourced from
	// the `PROJECT_ACCESS_TOKEN` or `JFROG_ACCESS_TOKEN` environment variable. Defauult to empty string if not set.
	AccessToken pulumi.StringOutput `pulumi:"accessToken"`
	// URL of Artifactory. This can also be sourced from the `PROJECT_URL` or `JFROG_URL` environment variable. Default to
	// 'http://localhost:8081' if not set.
	Url pulumi.StringOutput `pulumi:"url"`
}

The provider type for the project package. By default, resources use package-wide configuration settings, however an explicit `Provider` instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.

func NewProvider

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

NewProvider registers a new resource with the given unique name, arguments, and options.

func (*Provider) ElementType

func (*Provider) ElementType() reflect.Type

func (*Provider) ToProviderOutput

func (i *Provider) ToProviderOutput() ProviderOutput

func (*Provider) ToProviderOutputWithContext

func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type ProviderArgs

type ProviderArgs struct {
	// This is a Bearer token that can be given to you by your admin under `Identity and Access`. This can also be sourced from
	// the `PROJECT_ACCESS_TOKEN` or `JFROG_ACCESS_TOKEN` environment variable. Defauult to empty string if not set.
	AccessToken pulumi.StringInput
	// Toggle for pre-flight checking of Artifactory Enterprise license. Default to `true`.
	CheckLicense pulumi.BoolPtrInput
	// URL of Artifactory. This can also be sourced from the `PROJECT_URL` or `JFROG_URL` environment variable. Default to
	// 'http://localhost:8081' if not set.
	Url pulumi.StringInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ProviderInput

type ProviderInput interface {
	pulumi.Input

	ToProviderOutput() ProviderOutput
	ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}

type ProviderOutput

type ProviderOutput struct{ *pulumi.OutputState }

func (ProviderOutput) AccessToken

func (o ProviderOutput) AccessToken() pulumi.StringOutput

This is a Bearer token that can be given to you by your admin under `Identity and Access`. This can also be sourced from the `PROJECT_ACCESS_TOKEN` or `JFROG_ACCESS_TOKEN` environment variable. Defauult to empty string if not set.

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

func (ProviderOutput) Url

URL of Artifactory. This can also be sourced from the `PROJECT_URL` or `JFROG_URL` environment variable. Default to 'http://localhost:8081' if not set.

type Repository

type Repository struct {
	pulumi.CustomResourceState

	// The key of the repository.
	Key pulumi.StringOutput `pulumi:"key"`
	// The key of the project to which the repository should be assigned to.
	ProjectKey pulumi.StringOutput `pulumi:"projectKey"`
}

Assign a repository to a project. Requires a user assigned with the 'Administer the Platform' role or Project Admin permissions if `admin_privileges.manage_resoures` is enabled.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/skycaptain/pulumi-jfrog-project/sdk/go/jfrog-project"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := jfrog - project.NewRepository(ctx, "myprojectrepo", &jfrog-project.RepositoryArgs{
			Key:        pulumi.String("my-generic-local"),
			ProjectKey: pulumi.String("myproj"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

```sh

$ pulumi import jfrog-project:index/repository:Repository myprojectrepo project_key:repository_key

```

func GetRepository

func GetRepository(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryState, opts ...pulumi.ResourceOption) (*Repository, error)

GetRepository gets an existing Repository resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRepository

func NewRepository(ctx *pulumi.Context,
	name string, args *RepositoryArgs, opts ...pulumi.ResourceOption) (*Repository, error)

NewRepository registers a new resource with the given unique name, arguments, and options.

func (*Repository) ElementType

func (*Repository) ElementType() reflect.Type

func (*Repository) ToRepositoryOutput

func (i *Repository) ToRepositoryOutput() RepositoryOutput

func (*Repository) ToRepositoryOutputWithContext

func (i *Repository) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput

type RepositoryArgs

type RepositoryArgs struct {
	// The key of the repository.
	Key pulumi.StringInput
	// The key of the project to which the repository should be assigned to.
	ProjectKey pulumi.StringInput
}

The set of arguments for constructing a Repository resource.

func (RepositoryArgs) ElementType

func (RepositoryArgs) ElementType() reflect.Type

type RepositoryArray

type RepositoryArray []RepositoryInput

func (RepositoryArray) ElementType

func (RepositoryArray) ElementType() reflect.Type

func (RepositoryArray) ToRepositoryArrayOutput

func (i RepositoryArray) ToRepositoryArrayOutput() RepositoryArrayOutput

func (RepositoryArray) ToRepositoryArrayOutputWithContext

func (i RepositoryArray) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput

type RepositoryArrayInput

type RepositoryArrayInput interface {
	pulumi.Input

	ToRepositoryArrayOutput() RepositoryArrayOutput
	ToRepositoryArrayOutputWithContext(context.Context) RepositoryArrayOutput
}

RepositoryArrayInput is an input type that accepts RepositoryArray and RepositoryArrayOutput values. You can construct a concrete instance of `RepositoryArrayInput` via:

RepositoryArray{ RepositoryArgs{...} }

type RepositoryArrayOutput

type RepositoryArrayOutput struct{ *pulumi.OutputState }

func (RepositoryArrayOutput) ElementType

func (RepositoryArrayOutput) ElementType() reflect.Type

func (RepositoryArrayOutput) Index

func (RepositoryArrayOutput) ToRepositoryArrayOutput

func (o RepositoryArrayOutput) ToRepositoryArrayOutput() RepositoryArrayOutput

func (RepositoryArrayOutput) ToRepositoryArrayOutputWithContext

func (o RepositoryArrayOutput) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput

type RepositoryInput

type RepositoryInput interface {
	pulumi.Input

	ToRepositoryOutput() RepositoryOutput
	ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput
}

type RepositoryMap

type RepositoryMap map[string]RepositoryInput

func (RepositoryMap) ElementType

func (RepositoryMap) ElementType() reflect.Type

func (RepositoryMap) ToRepositoryMapOutput

func (i RepositoryMap) ToRepositoryMapOutput() RepositoryMapOutput

func (RepositoryMap) ToRepositoryMapOutputWithContext

func (i RepositoryMap) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput

type RepositoryMapInput

type RepositoryMapInput interface {
	pulumi.Input

	ToRepositoryMapOutput() RepositoryMapOutput
	ToRepositoryMapOutputWithContext(context.Context) RepositoryMapOutput
}

RepositoryMapInput is an input type that accepts RepositoryMap and RepositoryMapOutput values. You can construct a concrete instance of `RepositoryMapInput` via:

RepositoryMap{ "key": RepositoryArgs{...} }

type RepositoryMapOutput

type RepositoryMapOutput struct{ *pulumi.OutputState }

func (RepositoryMapOutput) ElementType

func (RepositoryMapOutput) ElementType() reflect.Type

func (RepositoryMapOutput) MapIndex

func (RepositoryMapOutput) ToRepositoryMapOutput

func (o RepositoryMapOutput) ToRepositoryMapOutput() RepositoryMapOutput

func (RepositoryMapOutput) ToRepositoryMapOutputWithContext

func (o RepositoryMapOutput) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput

type RepositoryOutput

type RepositoryOutput struct{ *pulumi.OutputState }

func (RepositoryOutput) ElementType

func (RepositoryOutput) ElementType() reflect.Type

func (RepositoryOutput) Key

The key of the repository.

func (RepositoryOutput) ProjectKey

func (o RepositoryOutput) ProjectKey() pulumi.StringOutput

The key of the project to which the repository should be assigned to.

func (RepositoryOutput) ToRepositoryOutput

func (o RepositoryOutput) ToRepositoryOutput() RepositoryOutput

func (RepositoryOutput) ToRepositoryOutputWithContext

func (o RepositoryOutput) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput

type RepositoryState

type RepositoryState struct {
	// The key of the repository.
	Key pulumi.StringPtrInput
	// The key of the project to which the repository should be assigned to.
	ProjectKey pulumi.StringPtrInput
}

func (RepositoryState) ElementType

func (RepositoryState) ElementType() reflect.Type

type Role

type Role struct {
	pulumi.CustomResourceState

	// List of pre-defined actions (READ*REPOSITORY, ANNOTATE*REPOSITORY, DEPLOY*CACHE*REPOSITORY, DELETE*OVERWRITE*REPOSITORY, MANAGE*XRAY*MD*REPOSITORY, READ*RELEASE*BUNDLE, ANNOTATE*RELEASE*BUNDLE, CREATE*RELEASE*BUNDLE, DISTRIBUTE*RELEASE*BUNDLE, DELETE*RELEASE*BUNDLE, MANAGE*XRAY*MD*RELEASE*BUNDLE, READ*BUILD, ANNOTATE*BUILD, DEPLOY*BUILD, DELETE*BUILD, MANAGE*XRAY*MD*BUILD, READ*SOURCES*PIPELINE, TRIGGER*PIPELINE, READ*INTEGRATIONS*PIPELINE, READ*POOLS*PIPELINE, MANAGE*INTEGRATIONS*PIPELINE, MANAGE*SOURCES*PIPELINE, MANAGE*POOLS*PIPELINE, TRIGGER*SECURITY, ISSUES*SECURITY, LICENCES*SECURITY, REPORTS*SECURITY, WATCHES*SECURITY, POLICIES*SECURITY, RULES*SECURITY, MANAGE*MEMBERS, MANAGE*RESOURCES)
	Actions pulumi.StringArrayOutput `pulumi:"actions"`
	// A repository can be available in different environments. Members with roles defined in the set environment will have access to the repository. List of pre-defined environments (DEV, PROD)
	Environments pulumi.StringArrayOutput `pulumi:"environments"`
	Name         pulumi.StringOutput      `pulumi:"name"`
	// Project key for this environment. This field supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter.
	ProjectKey pulumi.StringOutput `pulumi:"projectKey"`
	// Type of role. Only "CUSTOM" is supported
	Type pulumi.StringOutput `pulumi:"type"`
}

Create a project role. Element has one to one mapping with the [JFrog Project Roles API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-AddaNewRole). Requires a user assigned with the 'Administer the Platform' role or Project Admin permissions if `admin_privileges.manage_resoures` is enabled.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/skycaptain/pulumi-jfrog-project/sdk/go/jfrog-project"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := jfrog - project.NewRole(ctx, "myrole", &jfrog-project.RoleArgs{
			Type:       pulumi.String("CUSTOM"),
			ProjectKey: pulumi.Any(project.Myproject.Key),
			Environments: pulumi.StringArray{
				pulumi.String("DEV"),
			},
			Actions: pulumi.StringArray{
				pulumi.String("READ_REPOSITORY"),
				pulumi.String("ANNOTATE_REPOSITORY"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

```sh

$ pulumi import jfrog-project:index/role:Role myrole project_key:role_name

```

func GetRole

func GetRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RoleState, opts ...pulumi.ResourceOption) (*Role, error)

GetRole gets an existing Role resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRole

func NewRole(ctx *pulumi.Context,
	name string, args *RoleArgs, opts ...pulumi.ResourceOption) (*Role, error)

NewRole registers a new resource with the given unique name, arguments, and options.

func (*Role) ElementType

func (*Role) ElementType() reflect.Type

func (*Role) ToRoleOutput

func (i *Role) ToRoleOutput() RoleOutput

func (*Role) ToRoleOutputWithContext

func (i *Role) ToRoleOutputWithContext(ctx context.Context) RoleOutput

type RoleArgs

type RoleArgs struct {
	// List of pre-defined actions (READ*REPOSITORY, ANNOTATE*REPOSITORY, DEPLOY*CACHE*REPOSITORY, DELETE*OVERWRITE*REPOSITORY, MANAGE*XRAY*MD*REPOSITORY, READ*RELEASE*BUNDLE, ANNOTATE*RELEASE*BUNDLE, CREATE*RELEASE*BUNDLE, DISTRIBUTE*RELEASE*BUNDLE, DELETE*RELEASE*BUNDLE, MANAGE*XRAY*MD*RELEASE*BUNDLE, READ*BUILD, ANNOTATE*BUILD, DEPLOY*BUILD, DELETE*BUILD, MANAGE*XRAY*MD*BUILD, READ*SOURCES*PIPELINE, TRIGGER*PIPELINE, READ*INTEGRATIONS*PIPELINE, READ*POOLS*PIPELINE, MANAGE*INTEGRATIONS*PIPELINE, MANAGE*SOURCES*PIPELINE, MANAGE*POOLS*PIPELINE, TRIGGER*SECURITY, ISSUES*SECURITY, LICENCES*SECURITY, REPORTS*SECURITY, WATCHES*SECURITY, POLICIES*SECURITY, RULES*SECURITY, MANAGE*MEMBERS, MANAGE*RESOURCES)
	Actions pulumi.StringArrayInput
	// A repository can be available in different environments. Members with roles defined in the set environment will have access to the repository. List of pre-defined environments (DEV, PROD)
	Environments pulumi.StringArrayInput
	Name         pulumi.StringPtrInput
	// Project key for this environment. This field supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter.
	ProjectKey pulumi.StringInput
	// Type of role. Only "CUSTOM" is supported
	Type pulumi.StringInput
}

The set of arguments for constructing a Role resource.

func (RoleArgs) ElementType

func (RoleArgs) ElementType() reflect.Type

type RoleArray

type RoleArray []RoleInput

func (RoleArray) ElementType

func (RoleArray) ElementType() reflect.Type

func (RoleArray) ToRoleArrayOutput

func (i RoleArray) ToRoleArrayOutput() RoleArrayOutput

func (RoleArray) ToRoleArrayOutputWithContext

func (i RoleArray) ToRoleArrayOutputWithContext(ctx context.Context) RoleArrayOutput

type RoleArrayInput

type RoleArrayInput interface {
	pulumi.Input

	ToRoleArrayOutput() RoleArrayOutput
	ToRoleArrayOutputWithContext(context.Context) RoleArrayOutput
}

RoleArrayInput is an input type that accepts RoleArray and RoleArrayOutput values. You can construct a concrete instance of `RoleArrayInput` via:

RoleArray{ RoleArgs{...} }

type RoleArrayOutput

type RoleArrayOutput struct{ *pulumi.OutputState }

func (RoleArrayOutput) ElementType

func (RoleArrayOutput) ElementType() reflect.Type

func (RoleArrayOutput) Index

func (RoleArrayOutput) ToRoleArrayOutput

func (o RoleArrayOutput) ToRoleArrayOutput() RoleArrayOutput

func (RoleArrayOutput) ToRoleArrayOutputWithContext

func (o RoleArrayOutput) ToRoleArrayOutputWithContext(ctx context.Context) RoleArrayOutput

type RoleInput

type RoleInput interface {
	pulumi.Input

	ToRoleOutput() RoleOutput
	ToRoleOutputWithContext(ctx context.Context) RoleOutput
}

type RoleMap

type RoleMap map[string]RoleInput

func (RoleMap) ElementType

func (RoleMap) ElementType() reflect.Type

func (RoleMap) ToRoleMapOutput

func (i RoleMap) ToRoleMapOutput() RoleMapOutput

func (RoleMap) ToRoleMapOutputWithContext

func (i RoleMap) ToRoleMapOutputWithContext(ctx context.Context) RoleMapOutput

type RoleMapInput

type RoleMapInput interface {
	pulumi.Input

	ToRoleMapOutput() RoleMapOutput
	ToRoleMapOutputWithContext(context.Context) RoleMapOutput
}

RoleMapInput is an input type that accepts RoleMap and RoleMapOutput values. You can construct a concrete instance of `RoleMapInput` via:

RoleMap{ "key": RoleArgs{...} }

type RoleMapOutput

type RoleMapOutput struct{ *pulumi.OutputState }

func (RoleMapOutput) ElementType

func (RoleMapOutput) ElementType() reflect.Type

func (RoleMapOutput) MapIndex

func (RoleMapOutput) ToRoleMapOutput

func (o RoleMapOutput) ToRoleMapOutput() RoleMapOutput

func (RoleMapOutput) ToRoleMapOutputWithContext

func (o RoleMapOutput) ToRoleMapOutputWithContext(ctx context.Context) RoleMapOutput

type RoleOutput

type RoleOutput struct{ *pulumi.OutputState }

func (RoleOutput) Actions

func (o RoleOutput) Actions() pulumi.StringArrayOutput

List of pre-defined actions (READ*REPOSITORY, ANNOTATE*REPOSITORY, DEPLOY*CACHE*REPOSITORY, DELETE*OVERWRITE*REPOSITORY, MANAGE*XRAY*MD*REPOSITORY, READ*RELEASE*BUNDLE, ANNOTATE*RELEASE*BUNDLE, CREATE*RELEASE*BUNDLE, DISTRIBUTE*RELEASE*BUNDLE, DELETE*RELEASE*BUNDLE, MANAGE*XRAY*MD*RELEASE*BUNDLE, READ*BUILD, ANNOTATE*BUILD, DEPLOY*BUILD, DELETE*BUILD, MANAGE*XRAY*MD*BUILD, READ*SOURCES*PIPELINE, TRIGGER*PIPELINE, READ*INTEGRATIONS*PIPELINE, READ*POOLS*PIPELINE, MANAGE*INTEGRATIONS*PIPELINE, MANAGE*SOURCES*PIPELINE, MANAGE*POOLS*PIPELINE, TRIGGER*SECURITY, ISSUES*SECURITY, LICENCES*SECURITY, REPORTS*SECURITY, WATCHES*SECURITY, POLICIES*SECURITY, RULES*SECURITY, MANAGE*MEMBERS, MANAGE*RESOURCES)

func (RoleOutput) ElementType

func (RoleOutput) ElementType() reflect.Type

func (RoleOutput) Environments

func (o RoleOutput) Environments() pulumi.StringArrayOutput

A repository can be available in different environments. Members with roles defined in the set environment will have access to the repository. List of pre-defined environments (DEV, PROD)

func (RoleOutput) Name

func (o RoleOutput) Name() pulumi.StringOutput

func (RoleOutput) ProjectKey

func (o RoleOutput) ProjectKey() pulumi.StringOutput

Project key for this environment. This field supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter.

func (RoleOutput) ToRoleOutput

func (o RoleOutput) ToRoleOutput() RoleOutput

func (RoleOutput) ToRoleOutputWithContext

func (o RoleOutput) ToRoleOutputWithContext(ctx context.Context) RoleOutput

func (RoleOutput) Type

func (o RoleOutput) Type() pulumi.StringOutput

Type of role. Only "CUSTOM" is supported

type RoleState

type RoleState struct {
	// List of pre-defined actions (READ*REPOSITORY, ANNOTATE*REPOSITORY, DEPLOY*CACHE*REPOSITORY, DELETE*OVERWRITE*REPOSITORY, MANAGE*XRAY*MD*REPOSITORY, READ*RELEASE*BUNDLE, ANNOTATE*RELEASE*BUNDLE, CREATE*RELEASE*BUNDLE, DISTRIBUTE*RELEASE*BUNDLE, DELETE*RELEASE*BUNDLE, MANAGE*XRAY*MD*RELEASE*BUNDLE, READ*BUILD, ANNOTATE*BUILD, DEPLOY*BUILD, DELETE*BUILD, MANAGE*XRAY*MD*BUILD, READ*SOURCES*PIPELINE, TRIGGER*PIPELINE, READ*INTEGRATIONS*PIPELINE, READ*POOLS*PIPELINE, MANAGE*INTEGRATIONS*PIPELINE, MANAGE*SOURCES*PIPELINE, MANAGE*POOLS*PIPELINE, TRIGGER*SECURITY, ISSUES*SECURITY, LICENCES*SECURITY, REPORTS*SECURITY, WATCHES*SECURITY, POLICIES*SECURITY, RULES*SECURITY, MANAGE*MEMBERS, MANAGE*RESOURCES)
	Actions pulumi.StringArrayInput
	// A repository can be available in different environments. Members with roles defined in the set environment will have access to the repository. List of pre-defined environments (DEV, PROD)
	Environments pulumi.StringArrayInput
	Name         pulumi.StringPtrInput
	// Project key for this environment. This field supports only 2 - 32 lowercase alphanumeric and hyphen characters. Must begin with a letter.
	ProjectKey pulumi.StringPtrInput
	// Type of role. Only "CUSTOM" is supported
	Type pulumi.StringPtrInput
}

func (RoleState) ElementType

func (RoleState) ElementType() reflect.Type

type User

type User struct {
	pulumi.CustomResourceState

	// When set to `true`, the resource will not fail if the user does not exist. Default to `false`. This is useful when the user is externally managed and the local account wasn't created yet.
	IgnoreMissingUser pulumi.BoolPtrOutput `pulumi:"ignoreMissingUser"`
	// The name of an artifactory user.
	Name pulumi.StringOutput `pulumi:"name"`
	// The key of the project to which the user should be assigned to.
	ProjectKey pulumi.StringOutput `pulumi:"projectKey"`
	// List of pre-defined Project or custom roles
	Roles pulumi.StringArrayOutput `pulumi:"roles"`
}

Add a user as project member. Element has one to one mapping with the [JFrog Project Users API](https://jfrog.com/help/r/jfrog-rest-apis/add-or-update-user-in-project). Requires a user assigned with the 'Administer the Platform' role or Project Admin permissions if `admin_privileges.manage_resoures` is enabled.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/skycaptain/pulumi-jfrog-project/sdk/go/jfrog-project"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := jfrog - project.NewUser(ctx, "myuser", &jfrog-project.UserArgs{
			ProjectKey: pulumi.String("myproj"),
			Roles: pulumi.StringArray{
				pulumi.String("Viewer"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

```sh

$ pulumi import jfrog-project:index/user:User myuser project_key:username

```

func GetUser

func GetUser(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error)

GetUser gets an existing User resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewUser

func NewUser(ctx *pulumi.Context,
	name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error)

NewUser registers a new resource with the given unique name, arguments, and options.

func (*User) ElementType

func (*User) ElementType() reflect.Type

func (*User) ToUserOutput

func (i *User) ToUserOutput() UserOutput

func (*User) ToUserOutputWithContext

func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput

type UserArgs

type UserArgs struct {
	// When set to `true`, the resource will not fail if the user does not exist. Default to `false`. This is useful when the user is externally managed and the local account wasn't created yet.
	IgnoreMissingUser pulumi.BoolPtrInput
	// The name of an artifactory user.
	Name pulumi.StringPtrInput
	// The key of the project to which the user should be assigned to.
	ProjectKey pulumi.StringInput
	// List of pre-defined Project or custom roles
	Roles pulumi.StringArrayInput
}

The set of arguments for constructing a User resource.

func (UserArgs) ElementType

func (UserArgs) ElementType() reflect.Type

type UserArray

type UserArray []UserInput

func (UserArray) ElementType

func (UserArray) ElementType() reflect.Type

func (UserArray) ToUserArrayOutput

func (i UserArray) ToUserArrayOutput() UserArrayOutput

func (UserArray) ToUserArrayOutputWithContext

func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserArrayInput

type UserArrayInput interface {
	pulumi.Input

	ToUserArrayOutput() UserArrayOutput
	ToUserArrayOutputWithContext(context.Context) UserArrayOutput
}

UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. You can construct a concrete instance of `UserArrayInput` via:

UserArray{ UserArgs{...} }

type UserArrayOutput

type UserArrayOutput struct{ *pulumi.OutputState }

func (UserArrayOutput) ElementType

func (UserArrayOutput) ElementType() reflect.Type

func (UserArrayOutput) Index

func (UserArrayOutput) ToUserArrayOutput

func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput

func (UserArrayOutput) ToUserArrayOutputWithContext

func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserInput

type UserInput interface {
	pulumi.Input

	ToUserOutput() UserOutput
	ToUserOutputWithContext(ctx context.Context) UserOutput
}

type UserMap

type UserMap map[string]UserInput

func (UserMap) ElementType

func (UserMap) ElementType() reflect.Type

func (UserMap) ToUserMapOutput

func (i UserMap) ToUserMapOutput() UserMapOutput

func (UserMap) ToUserMapOutputWithContext

func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserMapInput

type UserMapInput interface {
	pulumi.Input

	ToUserMapOutput() UserMapOutput
	ToUserMapOutputWithContext(context.Context) UserMapOutput
}

UserMapInput is an input type that accepts UserMap and UserMapOutput values. You can construct a concrete instance of `UserMapInput` via:

UserMap{ "key": UserArgs{...} }

type UserMapOutput

type UserMapOutput struct{ *pulumi.OutputState }

func (UserMapOutput) ElementType

func (UserMapOutput) ElementType() reflect.Type

func (UserMapOutput) MapIndex

func (UserMapOutput) ToUserMapOutput

func (o UserMapOutput) ToUserMapOutput() UserMapOutput

func (UserMapOutput) ToUserMapOutputWithContext

func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserOutput

type UserOutput struct{ *pulumi.OutputState }

func (UserOutput) ElementType

func (UserOutput) ElementType() reflect.Type

func (UserOutput) IgnoreMissingUser

func (o UserOutput) IgnoreMissingUser() pulumi.BoolPtrOutput

When set to `true`, the resource will not fail if the user does not exist. Default to `false`. This is useful when the user is externally managed and the local account wasn't created yet.

func (UserOutput) Name

func (o UserOutput) Name() pulumi.StringOutput

The name of an artifactory user.

func (UserOutput) ProjectKey

func (o UserOutput) ProjectKey() pulumi.StringOutput

The key of the project to which the user should be assigned to.

func (UserOutput) Roles

List of pre-defined Project or custom roles

func (UserOutput) ToUserOutput

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext

func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput

type UserState

type UserState struct {
	// When set to `true`, the resource will not fail if the user does not exist. Default to `false`. This is useful when the user is externally managed and the local account wasn't created yet.
	IgnoreMissingUser pulumi.BoolPtrInput
	// The name of an artifactory user.
	Name pulumi.StringPtrInput
	// The key of the project to which the user should be assigned to.
	ProjectKey pulumi.StringPtrInput
	// List of pre-defined Project or custom roles
	Roles pulumi.StringArrayInput
}

func (UserState) ElementType

func (UserState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL