1. Packages
  2. Artifactory
  3. API Docs
  4. PermissionTarget
artifactory v6.7.0 published on Friday, Apr 19, 2024 by Pulumi

artifactory.PermissionTarget

Explore with Pulumi AI

artifactory logo
artifactory v6.7.0 published on Friday, Apr 19, 2024 by Pulumi

    Provides an Artifactory permission target resource. This can be used to create and manage Artifactory permission targets.

    This resource has been deprecated in favor of platform_permission resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as artifactory from "@pulumi/artifactory";
    
    // Create a new Artifactory permission target called testpermission
    const test_perm = new artifactory.PermissionTarget("test-perm", {
        build: {
            actions: {
                users: [
                    {
                        name: "anonymous",
                        permissions: ["read"],
                    },
                    {
                        name: "user1",
                        permissions: [
                            "read",
                            "write",
                        ],
                    },
                ],
            },
            includesPatterns: ["**"],
            repositories: ["artifactory-build-info"],
        },
        releaseBundle: {
            actions: {
                users: [{
                    name: "anonymous",
                    permissions: ["read"],
                }],
            },
            includesPatterns: ["**"],
            repositories: ["release-bundles"],
        },
        repo: {
            actions: {
                groups: [
                    {
                        name: "readers",
                        permissions: ["read"],
                    },
                    {
                        name: "dev",
                        permissions: [
                            "read",
                            "write",
                        ],
                    },
                ],
                users: [
                    {
                        name: "anonymous",
                        permissions: [
                            "read",
                            "write",
                        ],
                    },
                    {
                        name: "user1",
                        permissions: [
                            "read",
                            "write",
                        ],
                    },
                ],
            },
            excludesPatterns: ["bar/**"],
            includesPatterns: ["foo/**"],
            repositories: ["example-repo-local"],
        },
    });
    
    import pulumi
    import pulumi_artifactory as artifactory
    
    # Create a new Artifactory permission target called testpermission
    test_perm = artifactory.PermissionTarget("test-perm",
        build=artifactory.PermissionTargetBuildArgs(
            actions=artifactory.PermissionTargetBuildActionsArgs(
                users=[
                    artifactory.PermissionTargetBuildActionsUserArgs(
                        name="anonymous",
                        permissions=["read"],
                    ),
                    artifactory.PermissionTargetBuildActionsUserArgs(
                        name="user1",
                        permissions=[
                            "read",
                            "write",
                        ],
                    ),
                ],
            ),
            includes_patterns=["**"],
            repositories=["artifactory-build-info"],
        ),
        release_bundle=artifactory.PermissionTargetReleaseBundleArgs(
            actions=artifactory.PermissionTargetReleaseBundleActionsArgs(
                users=[artifactory.PermissionTargetReleaseBundleActionsUserArgs(
                    name="anonymous",
                    permissions=["read"],
                )],
            ),
            includes_patterns=["**"],
            repositories=["release-bundles"],
        ),
        repo=artifactory.PermissionTargetRepoArgs(
            actions=artifactory.PermissionTargetRepoActionsArgs(
                groups=[
                    artifactory.PermissionTargetRepoActionsGroupArgs(
                        name="readers",
                        permissions=["read"],
                    ),
                    artifactory.PermissionTargetRepoActionsGroupArgs(
                        name="dev",
                        permissions=[
                            "read",
                            "write",
                        ],
                    ),
                ],
                users=[
                    artifactory.PermissionTargetRepoActionsUserArgs(
                        name="anonymous",
                        permissions=[
                            "read",
                            "write",
                        ],
                    ),
                    artifactory.PermissionTargetRepoActionsUserArgs(
                        name="user1",
                        permissions=[
                            "read",
                            "write",
                        ],
                    ),
                ],
            ),
            excludes_patterns=["bar/**"],
            includes_patterns=["foo/**"],
            repositories=["example-repo-local"],
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-artifactory/sdk/v6/go/artifactory"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create a new Artifactory permission target called testpermission
    		_, err := artifactory.NewPermissionTarget(ctx, "test-perm", &artifactory.PermissionTargetArgs{
    			Build: &artifactory.PermissionTargetBuildArgs{
    				Actions: &artifactory.PermissionTargetBuildActionsArgs{
    					Users: artifactory.PermissionTargetBuildActionsUserArray{
    						&artifactory.PermissionTargetBuildActionsUserArgs{
    							Name: pulumi.String("anonymous"),
    							Permissions: pulumi.StringArray{
    								pulumi.String("read"),
    							},
    						},
    						&artifactory.PermissionTargetBuildActionsUserArgs{
    							Name: pulumi.String("user1"),
    							Permissions: pulumi.StringArray{
    								pulumi.String("read"),
    								pulumi.String("write"),
    							},
    						},
    					},
    				},
    				IncludesPatterns: pulumi.StringArray{
    					pulumi.String("**"),
    				},
    				Repositories: pulumi.StringArray{
    					pulumi.String("artifactory-build-info"),
    				},
    			},
    			ReleaseBundle: &artifactory.PermissionTargetReleaseBundleArgs{
    				Actions: &artifactory.PermissionTargetReleaseBundleActionsArgs{
    					Users: artifactory.PermissionTargetReleaseBundleActionsUserArray{
    						&artifactory.PermissionTargetReleaseBundleActionsUserArgs{
    							Name: pulumi.String("anonymous"),
    							Permissions: pulumi.StringArray{
    								pulumi.String("read"),
    							},
    						},
    					},
    				},
    				IncludesPatterns: pulumi.StringArray{
    					pulumi.String("**"),
    				},
    				Repositories: pulumi.StringArray{
    					pulumi.String("release-bundles"),
    				},
    			},
    			Repo: &artifactory.PermissionTargetRepoArgs{
    				Actions: &artifactory.PermissionTargetRepoActionsArgs{
    					Groups: artifactory.PermissionTargetRepoActionsGroupArray{
    						&artifactory.PermissionTargetRepoActionsGroupArgs{
    							Name: pulumi.String("readers"),
    							Permissions: pulumi.StringArray{
    								pulumi.String("read"),
    							},
    						},
    						&artifactory.PermissionTargetRepoActionsGroupArgs{
    							Name: pulumi.String("dev"),
    							Permissions: pulumi.StringArray{
    								pulumi.String("read"),
    								pulumi.String("write"),
    							},
    						},
    					},
    					Users: artifactory.PermissionTargetRepoActionsUserArray{
    						&artifactory.PermissionTargetRepoActionsUserArgs{
    							Name: pulumi.String("anonymous"),
    							Permissions: pulumi.StringArray{
    								pulumi.String("read"),
    								pulumi.String("write"),
    							},
    						},
    						&artifactory.PermissionTargetRepoActionsUserArgs{
    							Name: pulumi.String("user1"),
    							Permissions: pulumi.StringArray{
    								pulumi.String("read"),
    								pulumi.String("write"),
    							},
    						},
    					},
    				},
    				ExcludesPatterns: pulumi.StringArray{
    					pulumi.String("bar/**"),
    				},
    				IncludesPatterns: pulumi.StringArray{
    					pulumi.String("foo/**"),
    				},
    				Repositories: pulumi.StringArray{
    					pulumi.String("example-repo-local"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Artifactory = Pulumi.Artifactory;
    
    return await Deployment.RunAsync(() => 
    {
        // Create a new Artifactory permission target called testpermission
        var test_perm = new Artifactory.PermissionTarget("test-perm", new()
        {
            Build = new Artifactory.Inputs.PermissionTargetBuildArgs
            {
                Actions = new Artifactory.Inputs.PermissionTargetBuildActionsArgs
                {
                    Users = new[]
                    {
                        new Artifactory.Inputs.PermissionTargetBuildActionsUserArgs
                        {
                            Name = "anonymous",
                            Permissions = new[]
                            {
                                "read",
                            },
                        },
                        new Artifactory.Inputs.PermissionTargetBuildActionsUserArgs
                        {
                            Name = "user1",
                            Permissions = new[]
                            {
                                "read",
                                "write",
                            },
                        },
                    },
                },
                IncludesPatterns = new[]
                {
                    "**",
                },
                Repositories = new[]
                {
                    "artifactory-build-info",
                },
            },
            ReleaseBundle = new Artifactory.Inputs.PermissionTargetReleaseBundleArgs
            {
                Actions = new Artifactory.Inputs.PermissionTargetReleaseBundleActionsArgs
                {
                    Users = new[]
                    {
                        new Artifactory.Inputs.PermissionTargetReleaseBundleActionsUserArgs
                        {
                            Name = "anonymous",
                            Permissions = new[]
                            {
                                "read",
                            },
                        },
                    },
                },
                IncludesPatterns = new[]
                {
                    "**",
                },
                Repositories = new[]
                {
                    "release-bundles",
                },
            },
            Repo = new Artifactory.Inputs.PermissionTargetRepoArgs
            {
                Actions = new Artifactory.Inputs.PermissionTargetRepoActionsArgs
                {
                    Groups = new[]
                    {
                        new Artifactory.Inputs.PermissionTargetRepoActionsGroupArgs
                        {
                            Name = "readers",
                            Permissions = new[]
                            {
                                "read",
                            },
                        },
                        new Artifactory.Inputs.PermissionTargetRepoActionsGroupArgs
                        {
                            Name = "dev",
                            Permissions = new[]
                            {
                                "read",
                                "write",
                            },
                        },
                    },
                    Users = new[]
                    {
                        new Artifactory.Inputs.PermissionTargetRepoActionsUserArgs
                        {
                            Name = "anonymous",
                            Permissions = new[]
                            {
                                "read",
                                "write",
                            },
                        },
                        new Artifactory.Inputs.PermissionTargetRepoActionsUserArgs
                        {
                            Name = "user1",
                            Permissions = new[]
                            {
                                "read",
                                "write",
                            },
                        },
                    },
                },
                ExcludesPatterns = new[]
                {
                    "bar/**",
                },
                IncludesPatterns = new[]
                {
                    "foo/**",
                },
                Repositories = new[]
                {
                    "example-repo-local",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.artifactory.PermissionTarget;
    import com.pulumi.artifactory.PermissionTargetArgs;
    import com.pulumi.artifactory.inputs.PermissionTargetBuildArgs;
    import com.pulumi.artifactory.inputs.PermissionTargetBuildActionsArgs;
    import com.pulumi.artifactory.inputs.PermissionTargetReleaseBundleArgs;
    import com.pulumi.artifactory.inputs.PermissionTargetReleaseBundleActionsArgs;
    import com.pulumi.artifactory.inputs.PermissionTargetRepoArgs;
    import com.pulumi.artifactory.inputs.PermissionTargetRepoActionsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Create a new Artifactory permission target called testpermission
            var test_perm = new PermissionTarget("test-perm", PermissionTargetArgs.builder()        
                .build(PermissionTargetBuildArgs.builder()
                    .actions(PermissionTargetBuildActionsArgs.builder()
                        .users(                    
                            PermissionTargetBuildActionsUserArgs.builder()
                                .name("anonymous")
                                .permissions("read")
                                .build(),
                            PermissionTargetBuildActionsUserArgs.builder()
                                .name("user1")
                                .permissions(                            
                                    "read",
                                    "write")
                                .build())
                        .build())
                    .includesPatterns("**")
                    .repositories("artifactory-build-info")
                    .build())
                .releaseBundle(PermissionTargetReleaseBundleArgs.builder()
                    .actions(PermissionTargetReleaseBundleActionsArgs.builder()
                        .users(PermissionTargetReleaseBundleActionsUserArgs.builder()
                            .name("anonymous")
                            .permissions("read")
                            .build())
                        .build())
                    .includesPatterns("**")
                    .repositories("release-bundles")
                    .build())
                .repo(PermissionTargetRepoArgs.builder()
                    .actions(PermissionTargetRepoActionsArgs.builder()
                        .groups(                    
                            PermissionTargetRepoActionsGroupArgs.builder()
                                .name("readers")
                                .permissions("read")
                                .build(),
                            PermissionTargetRepoActionsGroupArgs.builder()
                                .name("dev")
                                .permissions(                            
                                    "read",
                                    "write")
                                .build())
                        .users(                    
                            PermissionTargetRepoActionsUserArgs.builder()
                                .name("anonymous")
                                .permissions(                            
                                    "read",
                                    "write")
                                .build(),
                            PermissionTargetRepoActionsUserArgs.builder()
                                .name("user1")
                                .permissions(                            
                                    "read",
                                    "write")
                                .build())
                        .build())
                    .excludesPatterns("bar/**")
                    .includesPatterns("foo/**")
                    .repositories("example-repo-local")
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Create a new Artifactory permission target called testpermission
      test-perm:
        type: artifactory:PermissionTarget
        properties:
          build:
            actions:
              users:
                - name: anonymous
                  permissions:
                    - read
                - name: user1
                  permissions:
                    - read
                    - write
            includesPatterns:
              - '**'
            repositories:
              - artifactory-build-info
          releaseBundle:
            actions:
              users:
                - name: anonymous
                  permissions:
                    - read
            includesPatterns:
              - '**'
            repositories:
              - release-bundles
          repo:
            actions:
              groups:
                - name: readers
                  permissions:
                    - read
                - name: dev
                  permissions:
                    - read
                    - write
              users:
                - name: anonymous
                  permissions:
                    - read
                    - write
                - name: user1
                  permissions:
                    - read
                    - write
            excludesPatterns:
              - bar/**
            includesPatterns:
              - foo/**
            repositories:
              - example-repo-local
    

    Permissions

    The provider supports the following permission enums:

    • read
    • write
    • annotate
    • delete
    • manage
    • managedXrayMeta
    • distribute

    The values can be mapped to the permissions from the official documentation:

    • read - matches Read permissions.
    • write - matches Deploy / Cache / Create permissions.
    • annotate - matches Annotate permissions.
    • delete - matches Delete / Overwrite permissions.
    • manage - matches Manage permissions.
    • managedXrayMeta - matches Manage Xray Metadata permissions.
    • distribute - matches Distribute permissions.

    Create PermissionTarget Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PermissionTarget(name: string, args?: PermissionTargetArgs, opts?: CustomResourceOptions);
    @overload
    def PermissionTarget(resource_name: str,
                         args: Optional[PermissionTargetArgs] = None,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def PermissionTarget(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         build: Optional[PermissionTargetBuildArgs] = None,
                         name: Optional[str] = None,
                         release_bundle: Optional[PermissionTargetReleaseBundleArgs] = None,
                         repo: Optional[PermissionTargetRepoArgs] = None)
    func NewPermissionTarget(ctx *Context, name string, args *PermissionTargetArgs, opts ...ResourceOption) (*PermissionTarget, error)
    public PermissionTarget(string name, PermissionTargetArgs? args = null, CustomResourceOptions? opts = null)
    public PermissionTarget(String name, PermissionTargetArgs args)
    public PermissionTarget(String name, PermissionTargetArgs args, CustomResourceOptions options)
    
    type: artifactory:PermissionTarget
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PermissionTargetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PermissionTargetArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PermissionTargetArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PermissionTargetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PermissionTargetArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var permissionTargetResource = new Artifactory.PermissionTarget("permissionTargetResource", new()
    {
        Build = new Artifactory.Inputs.PermissionTargetBuildArgs
        {
            Repositories = new[]
            {
                "string",
            },
            Actions = new Artifactory.Inputs.PermissionTargetBuildActionsArgs
            {
                Groups = new[]
                {
                    new Artifactory.Inputs.PermissionTargetBuildActionsGroupArgs
                    {
                        Name = "string",
                        Permissions = new[]
                        {
                            "string",
                        },
                    },
                },
                Users = new[]
                {
                    new Artifactory.Inputs.PermissionTargetBuildActionsUserArgs
                    {
                        Name = "string",
                        Permissions = new[]
                        {
                            "string",
                        },
                    },
                },
            },
            ExcludesPatterns = new[]
            {
                "string",
            },
            IncludesPatterns = new[]
            {
                "string",
            },
        },
        Name = "string",
        ReleaseBundle = new Artifactory.Inputs.PermissionTargetReleaseBundleArgs
        {
            Repositories = new[]
            {
                "string",
            },
            Actions = new Artifactory.Inputs.PermissionTargetReleaseBundleActionsArgs
            {
                Groups = new[]
                {
                    new Artifactory.Inputs.PermissionTargetReleaseBundleActionsGroupArgs
                    {
                        Name = "string",
                        Permissions = new[]
                        {
                            "string",
                        },
                    },
                },
                Users = new[]
                {
                    new Artifactory.Inputs.PermissionTargetReleaseBundleActionsUserArgs
                    {
                        Name = "string",
                        Permissions = new[]
                        {
                            "string",
                        },
                    },
                },
            },
            ExcludesPatterns = new[]
            {
                "string",
            },
            IncludesPatterns = new[]
            {
                "string",
            },
        },
        Repo = new Artifactory.Inputs.PermissionTargetRepoArgs
        {
            Repositories = new[]
            {
                "string",
            },
            Actions = new Artifactory.Inputs.PermissionTargetRepoActionsArgs
            {
                Groups = new[]
                {
                    new Artifactory.Inputs.PermissionTargetRepoActionsGroupArgs
                    {
                        Name = "string",
                        Permissions = new[]
                        {
                            "string",
                        },
                    },
                },
                Users = new[]
                {
                    new Artifactory.Inputs.PermissionTargetRepoActionsUserArgs
                    {
                        Name = "string",
                        Permissions = new[]
                        {
                            "string",
                        },
                    },
                },
            },
            ExcludesPatterns = new[]
            {
                "string",
            },
            IncludesPatterns = new[]
            {
                "string",
            },
        },
    });
    
    example, err := artifactory.NewPermissionTarget(ctx, "permissionTargetResource", &artifactory.PermissionTargetArgs{
    	Build: &artifactory.PermissionTargetBuildArgs{
    		Repositories: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Actions: &artifactory.PermissionTargetBuildActionsArgs{
    			Groups: artifactory.PermissionTargetBuildActionsGroupArray{
    				&artifactory.PermissionTargetBuildActionsGroupArgs{
    					Name: pulumi.String("string"),
    					Permissions: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			Users: artifactory.PermissionTargetBuildActionsUserArray{
    				&artifactory.PermissionTargetBuildActionsUserArgs{
    					Name: pulumi.String("string"),
    					Permissions: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    		},
    		ExcludesPatterns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		IncludesPatterns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Name: pulumi.String("string"),
    	ReleaseBundle: &artifactory.PermissionTargetReleaseBundleArgs{
    		Repositories: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Actions: &artifactory.PermissionTargetReleaseBundleActionsArgs{
    			Groups: artifactory.PermissionTargetReleaseBundleActionsGroupArray{
    				&artifactory.PermissionTargetReleaseBundleActionsGroupArgs{
    					Name: pulumi.String("string"),
    					Permissions: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			Users: artifactory.PermissionTargetReleaseBundleActionsUserArray{
    				&artifactory.PermissionTargetReleaseBundleActionsUserArgs{
    					Name: pulumi.String("string"),
    					Permissions: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    		},
    		ExcludesPatterns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		IncludesPatterns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Repo: &artifactory.PermissionTargetRepoArgs{
    		Repositories: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Actions: &artifactory.PermissionTargetRepoActionsArgs{
    			Groups: artifactory.PermissionTargetRepoActionsGroupArray{
    				&artifactory.PermissionTargetRepoActionsGroupArgs{
    					Name: pulumi.String("string"),
    					Permissions: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			Users: artifactory.PermissionTargetRepoActionsUserArray{
    				&artifactory.PermissionTargetRepoActionsUserArgs{
    					Name: pulumi.String("string"),
    					Permissions: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    		},
    		ExcludesPatterns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		IncludesPatterns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    })
    
    var permissionTargetResource = new PermissionTarget("permissionTargetResource", PermissionTargetArgs.builder()        
        .build(PermissionTargetBuildArgs.builder()
            .repositories("string")
            .actions(PermissionTargetBuildActionsArgs.builder()
                .groups(PermissionTargetBuildActionsGroupArgs.builder()
                    .name("string")
                    .permissions("string")
                    .build())
                .users(PermissionTargetBuildActionsUserArgs.builder()
                    .name("string")
                    .permissions("string")
                    .build())
                .build())
            .excludesPatterns("string")
            .includesPatterns("string")
            .build())
        .name("string")
        .releaseBundle(PermissionTargetReleaseBundleArgs.builder()
            .repositories("string")
            .actions(PermissionTargetReleaseBundleActionsArgs.builder()
                .groups(PermissionTargetReleaseBundleActionsGroupArgs.builder()
                    .name("string")
                    .permissions("string")
                    .build())
                .users(PermissionTargetReleaseBundleActionsUserArgs.builder()
                    .name("string")
                    .permissions("string")
                    .build())
                .build())
            .excludesPatterns("string")
            .includesPatterns("string")
            .build())
        .repo(PermissionTargetRepoArgs.builder()
            .repositories("string")
            .actions(PermissionTargetRepoActionsArgs.builder()
                .groups(PermissionTargetRepoActionsGroupArgs.builder()
                    .name("string")
                    .permissions("string")
                    .build())
                .users(PermissionTargetRepoActionsUserArgs.builder()
                    .name("string")
                    .permissions("string")
                    .build())
                .build())
            .excludesPatterns("string")
            .includesPatterns("string")
            .build())
        .build());
    
    permission_target_resource = artifactory.PermissionTarget("permissionTargetResource",
        build=artifactory.PermissionTargetBuildArgs(
            repositories=["string"],
            actions=artifactory.PermissionTargetBuildActionsArgs(
                groups=[artifactory.PermissionTargetBuildActionsGroupArgs(
                    name="string",
                    permissions=["string"],
                )],
                users=[artifactory.PermissionTargetBuildActionsUserArgs(
                    name="string",
                    permissions=["string"],
                )],
            ),
            excludes_patterns=["string"],
            includes_patterns=["string"],
        ),
        name="string",
        release_bundle=artifactory.PermissionTargetReleaseBundleArgs(
            repositories=["string"],
            actions=artifactory.PermissionTargetReleaseBundleActionsArgs(
                groups=[artifactory.PermissionTargetReleaseBundleActionsGroupArgs(
                    name="string",
                    permissions=["string"],
                )],
                users=[artifactory.PermissionTargetReleaseBundleActionsUserArgs(
                    name="string",
                    permissions=["string"],
                )],
            ),
            excludes_patterns=["string"],
            includes_patterns=["string"],
        ),
        repo=artifactory.PermissionTargetRepoArgs(
            repositories=["string"],
            actions=artifactory.PermissionTargetRepoActionsArgs(
                groups=[artifactory.PermissionTargetRepoActionsGroupArgs(
                    name="string",
                    permissions=["string"],
                )],
                users=[artifactory.PermissionTargetRepoActionsUserArgs(
                    name="string",
                    permissions=["string"],
                )],
            ),
            excludes_patterns=["string"],
            includes_patterns=["string"],
        ))
    
    const permissionTargetResource = new artifactory.PermissionTarget("permissionTargetResource", {
        build: {
            repositories: ["string"],
            actions: {
                groups: [{
                    name: "string",
                    permissions: ["string"],
                }],
                users: [{
                    name: "string",
                    permissions: ["string"],
                }],
            },
            excludesPatterns: ["string"],
            includesPatterns: ["string"],
        },
        name: "string",
        releaseBundle: {
            repositories: ["string"],
            actions: {
                groups: [{
                    name: "string",
                    permissions: ["string"],
                }],
                users: [{
                    name: "string",
                    permissions: ["string"],
                }],
            },
            excludesPatterns: ["string"],
            includesPatterns: ["string"],
        },
        repo: {
            repositories: ["string"],
            actions: {
                groups: [{
                    name: "string",
                    permissions: ["string"],
                }],
                users: [{
                    name: "string",
                    permissions: ["string"],
                }],
            },
            excludesPatterns: ["string"],
            includesPatterns: ["string"],
        },
    });
    
    type: artifactory:PermissionTarget
    properties:
        build:
            actions:
                groups:
                    - name: string
                      permissions:
                        - string
                users:
                    - name: string
                      permissions:
                        - string
            excludesPatterns:
                - string
            includesPatterns:
                - string
            repositories:
                - string
        name: string
        releaseBundle:
            actions:
                groups:
                    - name: string
                      permissions:
                        - string
                users:
                    - name: string
                      permissions:
                        - string
            excludesPatterns:
                - string
            includesPatterns:
                - string
            repositories:
                - string
        repo:
            actions:
                groups:
                    - name: string
                      permissions:
                        - string
                users:
                    - name: string
                      permissions:
                        - string
            excludesPatterns:
                - string
            includesPatterns:
                - string
            repositories:
                - string
    

    PermissionTarget Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The PermissionTarget resource accepts the following input properties:

    Build PermissionTargetBuild
    As for repo but for artifactory-build-info permissions.
    Name string
    Name of permission.
    ReleaseBundle PermissionTargetReleaseBundle
    As for repo for for release-bundles permissions.
    Repo PermissionTargetRepo
    Repository permission configuration.
    Build PermissionTargetBuildArgs
    As for repo but for artifactory-build-info permissions.
    Name string
    Name of permission.
    ReleaseBundle PermissionTargetReleaseBundleArgs
    As for repo for for release-bundles permissions.
    Repo PermissionTargetRepoArgs
    Repository permission configuration.
    build PermissionTargetBuild
    As for repo but for artifactory-build-info permissions.
    name String
    Name of permission.
    releaseBundle PermissionTargetReleaseBundle
    As for repo for for release-bundles permissions.
    repo PermissionTargetRepo
    Repository permission configuration.
    build PermissionTargetBuild
    As for repo but for artifactory-build-info permissions.
    name string
    Name of permission.
    releaseBundle PermissionTargetReleaseBundle
    As for repo for for release-bundles permissions.
    repo PermissionTargetRepo
    Repository permission configuration.
    build PermissionTargetBuildArgs
    As for repo but for artifactory-build-info permissions.
    name str
    Name of permission.
    release_bundle PermissionTargetReleaseBundleArgs
    As for repo for for release-bundles permissions.
    repo PermissionTargetRepoArgs
    Repository permission configuration.
    build Property Map
    As for repo but for artifactory-build-info permissions.
    name String
    Name of permission.
    releaseBundle Property Map
    As for repo for for release-bundles permissions.
    repo Property Map
    Repository permission configuration.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the PermissionTarget resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing PermissionTarget Resource

    Get an existing PermissionTarget resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PermissionTargetState, opts?: CustomResourceOptions): PermissionTarget
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            build: Optional[PermissionTargetBuildArgs] = None,
            name: Optional[str] = None,
            release_bundle: Optional[PermissionTargetReleaseBundleArgs] = None,
            repo: Optional[PermissionTargetRepoArgs] = None) -> PermissionTarget
    func GetPermissionTarget(ctx *Context, name string, id IDInput, state *PermissionTargetState, opts ...ResourceOption) (*PermissionTarget, error)
    public static PermissionTarget Get(string name, Input<string> id, PermissionTargetState? state, CustomResourceOptions? opts = null)
    public static PermissionTarget get(String name, Output<String> id, PermissionTargetState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Build PermissionTargetBuild
    As for repo but for artifactory-build-info permissions.
    Name string
    Name of permission.
    ReleaseBundle PermissionTargetReleaseBundle
    As for repo for for release-bundles permissions.
    Repo PermissionTargetRepo
    Repository permission configuration.
    Build PermissionTargetBuildArgs
    As for repo but for artifactory-build-info permissions.
    Name string
    Name of permission.
    ReleaseBundle PermissionTargetReleaseBundleArgs
    As for repo for for release-bundles permissions.
    Repo PermissionTargetRepoArgs
    Repository permission configuration.
    build PermissionTargetBuild
    As for repo but for artifactory-build-info permissions.
    name String
    Name of permission.
    releaseBundle PermissionTargetReleaseBundle
    As for repo for for release-bundles permissions.
    repo PermissionTargetRepo
    Repository permission configuration.
    build PermissionTargetBuild
    As for repo but for artifactory-build-info permissions.
    name string
    Name of permission.
    releaseBundle PermissionTargetReleaseBundle
    As for repo for for release-bundles permissions.
    repo PermissionTargetRepo
    Repository permission configuration.
    build PermissionTargetBuildArgs
    As for repo but for artifactory-build-info permissions.
    name str
    Name of permission.
    release_bundle PermissionTargetReleaseBundleArgs
    As for repo for for release-bundles permissions.
    repo PermissionTargetRepoArgs
    Repository permission configuration.
    build Property Map
    As for repo but for artifactory-build-info permissions.
    name String
    Name of permission.
    releaseBundle Property Map
    As for repo for for release-bundles permissions.
    repo Property Map
    Repository permission configuration.

    Supporting Types

    PermissionTargetBuild, PermissionTargetBuildArgs

    Repositories List<string>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    Actions PermissionTargetBuildActions
    ExcludesPatterns List<string>
    Pattern of artifacts to exclude.
    IncludesPatterns List<string>
    Pattern of artifacts to include.
    Repositories []string
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    Actions PermissionTargetBuildActions
    ExcludesPatterns []string
    Pattern of artifacts to exclude.
    IncludesPatterns []string
    Pattern of artifacts to include.
    repositories List<String>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetBuildActions
    excludesPatterns List<String>
    Pattern of artifacts to exclude.
    includesPatterns List<String>
    Pattern of artifacts to include.
    repositories string[]
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetBuildActions
    excludesPatterns string[]
    Pattern of artifacts to exclude.
    includesPatterns string[]
    Pattern of artifacts to include.
    repositories Sequence[str]
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetBuildActions
    excludes_patterns Sequence[str]
    Pattern of artifacts to exclude.
    includes_patterns Sequence[str]
    Pattern of artifacts to include.
    repositories List<String>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions Property Map
    excludesPatterns List<String>
    Pattern of artifacts to exclude.
    includesPatterns List<String>
    Pattern of artifacts to include.

    PermissionTargetBuildActions, PermissionTargetBuildActionsArgs

    Groups List<PermissionTargetBuildActionsGroup>
    Groups this permission applies for.
    Users List<PermissionTargetBuildActionsUser>
    Users this permission target applies for.
    Groups []PermissionTargetBuildActionsGroup
    Groups this permission applies for.
    Users []PermissionTargetBuildActionsUser
    Users this permission target applies for.
    groups List<PermissionTargetBuildActionsGroup>
    Groups this permission applies for.
    users List<PermissionTargetBuildActionsUser>
    Users this permission target applies for.
    groups PermissionTargetBuildActionsGroup[]
    Groups this permission applies for.
    users PermissionTargetBuildActionsUser[]
    Users this permission target applies for.
    groups Sequence[PermissionTargetBuildActionsGroup]
    Groups this permission applies for.
    users Sequence[PermissionTargetBuildActionsUser]
    Users this permission target applies for.
    groups List<Property Map>
    Groups this permission applies for.
    users List<Property Map>
    Users this permission target applies for.

    PermissionTargetBuildActionsGroup, PermissionTargetBuildActionsGroupArgs

    Name string
    Name of permission.
    Permissions List<string>
    Name string
    Name of permission.
    Permissions []string
    name String
    Name of permission.
    permissions List<String>
    name string
    Name of permission.
    permissions string[]
    name str
    Name of permission.
    permissions Sequence[str]
    name String
    Name of permission.
    permissions List<String>

    PermissionTargetBuildActionsUser, PermissionTargetBuildActionsUserArgs

    Name string
    Name of permission.
    Permissions List<string>
    Name string
    Name of permission.
    Permissions []string
    name String
    Name of permission.
    permissions List<String>
    name string
    Name of permission.
    permissions string[]
    name str
    Name of permission.
    permissions Sequence[str]
    name String
    Name of permission.
    permissions List<String>

    PermissionTargetReleaseBundle, PermissionTargetReleaseBundleArgs

    Repositories List<string>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    Actions PermissionTargetReleaseBundleActions
    ExcludesPatterns List<string>
    Pattern of artifacts to exclude.
    IncludesPatterns List<string>
    Pattern of artifacts to include.
    Repositories []string
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    Actions PermissionTargetReleaseBundleActions
    ExcludesPatterns []string
    Pattern of artifacts to exclude.
    IncludesPatterns []string
    Pattern of artifacts to include.
    repositories List<String>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetReleaseBundleActions
    excludesPatterns List<String>
    Pattern of artifacts to exclude.
    includesPatterns List<String>
    Pattern of artifacts to include.
    repositories string[]
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetReleaseBundleActions
    excludesPatterns string[]
    Pattern of artifacts to exclude.
    includesPatterns string[]
    Pattern of artifacts to include.
    repositories Sequence[str]
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetReleaseBundleActions
    excludes_patterns Sequence[str]
    Pattern of artifacts to exclude.
    includes_patterns Sequence[str]
    Pattern of artifacts to include.
    repositories List<String>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions Property Map
    excludesPatterns List<String>
    Pattern of artifacts to exclude.
    includesPatterns List<String>
    Pattern of artifacts to include.

    PermissionTargetReleaseBundleActions, PermissionTargetReleaseBundleActionsArgs

    Groups List<PermissionTargetReleaseBundleActionsGroup>
    Groups this permission applies for.
    Users List<PermissionTargetReleaseBundleActionsUser>
    Users this permission target applies for.
    Groups []PermissionTargetReleaseBundleActionsGroup
    Groups this permission applies for.
    Users []PermissionTargetReleaseBundleActionsUser
    Users this permission target applies for.
    groups List<PermissionTargetReleaseBundleActionsGroup>
    Groups this permission applies for.
    users List<PermissionTargetReleaseBundleActionsUser>
    Users this permission target applies for.
    groups PermissionTargetReleaseBundleActionsGroup[]
    Groups this permission applies for.
    users PermissionTargetReleaseBundleActionsUser[]
    Users this permission target applies for.
    groups Sequence[PermissionTargetReleaseBundleActionsGroup]
    Groups this permission applies for.
    users Sequence[PermissionTargetReleaseBundleActionsUser]
    Users this permission target applies for.
    groups List<Property Map>
    Groups this permission applies for.
    users List<Property Map>
    Users this permission target applies for.

    PermissionTargetReleaseBundleActionsGroup, PermissionTargetReleaseBundleActionsGroupArgs

    Name string
    Name of permission.
    Permissions List<string>
    Name string
    Name of permission.
    Permissions []string
    name String
    Name of permission.
    permissions List<String>
    name string
    Name of permission.
    permissions string[]
    name str
    Name of permission.
    permissions Sequence[str]
    name String
    Name of permission.
    permissions List<String>

    PermissionTargetReleaseBundleActionsUser, PermissionTargetReleaseBundleActionsUserArgs

    Name string
    Name of permission.
    Permissions List<string>
    Name string
    Name of permission.
    Permissions []string
    name String
    Name of permission.
    permissions List<String>
    name string
    Name of permission.
    permissions string[]
    name str
    Name of permission.
    permissions Sequence[str]
    name String
    Name of permission.
    permissions List<String>

    PermissionTargetRepo, PermissionTargetRepoArgs

    Repositories List<string>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    Actions PermissionTargetRepoActions
    ExcludesPatterns List<string>
    Pattern of artifacts to exclude.
    IncludesPatterns List<string>
    Pattern of artifacts to include.
    Repositories []string
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    Actions PermissionTargetRepoActions
    ExcludesPatterns []string
    Pattern of artifacts to exclude.
    IncludesPatterns []string
    Pattern of artifacts to include.
    repositories List<String>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetRepoActions
    excludesPatterns List<String>
    Pattern of artifacts to exclude.
    includesPatterns List<String>
    Pattern of artifacts to include.
    repositories string[]
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetRepoActions
    excludesPatterns string[]
    Pattern of artifacts to exclude.
    includesPatterns string[]
    Pattern of artifacts to include.
    repositories Sequence[str]
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions PermissionTargetRepoActions
    excludes_patterns Sequence[str]
    Pattern of artifacts to exclude.
    includes_patterns Sequence[str]
    Pattern of artifacts to include.
    repositories List<String>
    List of repositories this permission target is applicable for. You can specify the name ANY in the repositories section in order to apply to all repositories, ANY REMOTE for all remote repositories and ANY LOCAL for all local repositories. The default value will be [] if nothing is specified.
    actions Property Map
    excludesPatterns List<String>
    Pattern of artifacts to exclude.
    includesPatterns List<String>
    Pattern of artifacts to include.

    PermissionTargetRepoActions, PermissionTargetRepoActionsArgs

    Groups List<PermissionTargetRepoActionsGroup>
    Groups this permission applies for.
    Users List<PermissionTargetRepoActionsUser>
    Users this permission target applies for.
    Groups []PermissionTargetRepoActionsGroup
    Groups this permission applies for.
    Users []PermissionTargetRepoActionsUser
    Users this permission target applies for.
    groups List<PermissionTargetRepoActionsGroup>
    Groups this permission applies for.
    users List<PermissionTargetRepoActionsUser>
    Users this permission target applies for.
    groups PermissionTargetRepoActionsGroup[]
    Groups this permission applies for.
    users PermissionTargetRepoActionsUser[]
    Users this permission target applies for.
    groups Sequence[PermissionTargetRepoActionsGroup]
    Groups this permission applies for.
    users Sequence[PermissionTargetRepoActionsUser]
    Users this permission target applies for.
    groups List<Property Map>
    Groups this permission applies for.
    users List<Property Map>
    Users this permission target applies for.

    PermissionTargetRepoActionsGroup, PermissionTargetRepoActionsGroupArgs

    Name string
    Name of permission.
    Permissions List<string>
    Name string
    Name of permission.
    Permissions []string
    name String
    Name of permission.
    permissions List<String>
    name string
    Name of permission.
    permissions string[]
    name str
    Name of permission.
    permissions Sequence[str]
    name String
    Name of permission.
    permissions List<String>

    PermissionTargetRepoActionsUser, PermissionTargetRepoActionsUserArgs

    Name string
    Name of permission.
    Permissions List<string>
    Name string
    Name of permission.
    Permissions []string
    name String
    Name of permission.
    permissions List<String>
    name string
    Name of permission.
    permissions string[]
    name str
    Name of permission.
    permissions Sequence[str]
    name String
    Name of permission.
    permissions List<String>

    Import

    Permission targets can be imported using their name, e.g.

    $ pulumi import artifactory:index/permissionTarget:PermissionTarget terraform-test-permission mypermission
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    artifactory pulumi/pulumi-artifactory
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the artifactory Terraform Provider.
    artifactory logo
    artifactory v6.7.0 published on Friday, Apr 19, 2024 by Pulumi