1. Packages
  2. Docker Provider
  3. API Docs
  4. Plugin
Docker v4.6.2 published on Saturday, Mar 15, 2025 by Pulumi

docker.Plugin

Explore with Pulumi AI

Manages the lifecycle of a Docker plugin.

Create Plugin Resource

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

Constructor syntax

new Plugin(name: string, args?: PluginArgs, opts?: CustomResourceOptions);
@overload
def Plugin(resource_name: str,
           args: Optional[PluginArgs] = None,
           opts: Optional[ResourceOptions] = None)

@overload
def Plugin(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           alias: Optional[str] = None,
           enable_timeout: Optional[int] = None,
           enabled: Optional[bool] = None,
           envs: Optional[Sequence[str]] = None,
           force_destroy: Optional[bool] = None,
           force_disable: Optional[bool] = None,
           grant_all_permissions: Optional[bool] = None,
           grant_permissions: Optional[Sequence[PluginGrantPermissionArgs]] = None,
           name: Optional[str] = None)
func NewPlugin(ctx *Context, name string, args *PluginArgs, opts ...ResourceOption) (*Plugin, error)
public Plugin(string name, PluginArgs? args = null, CustomResourceOptions? opts = null)
public Plugin(String name, PluginArgs args)
public Plugin(String name, PluginArgs args, CustomResourceOptions options)
type: docker:Plugin
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

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

Constructor example

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

var pluginResource = new Docker.Plugin("pluginResource", new()
{
    Alias = "string",
    EnableTimeout = 0,
    Enabled = false,
    Envs = new[]
    {
        "string",
    },
    ForceDestroy = false,
    ForceDisable = false,
    GrantAllPermissions = false,
    GrantPermissions = new[]
    {
        new Docker.Inputs.PluginGrantPermissionArgs
        {
            Name = "string",
            Values = new[]
            {
                "string",
            },
        },
    },
    Name = "string",
});
Copy
example, err := docker.NewPlugin(ctx, "pluginResource", &docker.PluginArgs{
	Alias:         pulumi.String("string"),
	EnableTimeout: pulumi.Int(0),
	Enabled:       pulumi.Bool(false),
	Envs: pulumi.StringArray{
		pulumi.String("string"),
	},
	ForceDestroy:        pulumi.Bool(false),
	ForceDisable:        pulumi.Bool(false),
	GrantAllPermissions: pulumi.Bool(false),
	GrantPermissions: docker.PluginGrantPermissionArray{
		&docker.PluginGrantPermissionArgs{
			Name: pulumi.String("string"),
			Values: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	Name: pulumi.String("string"),
})
Copy
var pluginResource = new Plugin("pluginResource", PluginArgs.builder()
    .alias("string")
    .enableTimeout(0)
    .enabled(false)
    .envs("string")
    .forceDestroy(false)
    .forceDisable(false)
    .grantAllPermissions(false)
    .grantPermissions(PluginGrantPermissionArgs.builder()
        .name("string")
        .values("string")
        .build())
    .name("string")
    .build());
Copy
plugin_resource = docker.Plugin("pluginResource",
    alias="string",
    enable_timeout=0,
    enabled=False,
    envs=["string"],
    force_destroy=False,
    force_disable=False,
    grant_all_permissions=False,
    grant_permissions=[{
        "name": "string",
        "values": ["string"],
    }],
    name="string")
Copy
const pluginResource = new docker.Plugin("pluginResource", {
    alias: "string",
    enableTimeout: 0,
    enabled: false,
    envs: ["string"],
    forceDestroy: false,
    forceDisable: false,
    grantAllPermissions: false,
    grantPermissions: [{
        name: "string",
        values: ["string"],
    }],
    name: "string",
});
Copy
type: docker:Plugin
properties:
    alias: string
    enableTimeout: 0
    enabled: false
    envs:
        - string
    forceDestroy: false
    forceDisable: false
    grantAllPermissions: false
    grantPermissions:
        - name: string
          values:
            - string
    name: string
Copy

Plugin Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Plugin resource accepts the following input properties:

Alias Changes to this property will trigger replacement. string
Docker Plugin alias
EnableTimeout int
HTTP client timeout to enable the plugin
Enabled bool
If true the plugin is enabled. Defaults to true
Envs List<string>
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
ForceDestroy bool
If true, then the plugin is destroyed forcibly
ForceDisable bool
If true, then the plugin is disabled forcibly
GrantAllPermissions bool
If true, grant all permissions necessary to run the plugin
GrantPermissions List<PluginGrantPermission>
Grant specific permissions only
Name Changes to this property will trigger replacement. string
Docker Plugin name
Alias Changes to this property will trigger replacement. string
Docker Plugin alias
EnableTimeout int
HTTP client timeout to enable the plugin
Enabled bool
If true the plugin is enabled. Defaults to true
Envs []string
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
ForceDestroy bool
If true, then the plugin is destroyed forcibly
ForceDisable bool
If true, then the plugin is disabled forcibly
GrantAllPermissions bool
If true, grant all permissions necessary to run the plugin
GrantPermissions []PluginGrantPermissionArgs
Grant specific permissions only
Name Changes to this property will trigger replacement. string
Docker Plugin name
alias Changes to this property will trigger replacement. String
Docker Plugin alias
enableTimeout Integer
HTTP client timeout to enable the plugin
enabled Boolean
If true the plugin is enabled. Defaults to true
envs List<String>
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
forceDestroy Boolean
If true, then the plugin is destroyed forcibly
forceDisable Boolean
If true, then the plugin is disabled forcibly
grantAllPermissions Boolean
If true, grant all permissions necessary to run the plugin
grantPermissions List<PluginGrantPermission>
Grant specific permissions only
name Changes to this property will trigger replacement. String
Docker Plugin name
alias Changes to this property will trigger replacement. string
Docker Plugin alias
enableTimeout number
HTTP client timeout to enable the plugin
enabled boolean
If true the plugin is enabled. Defaults to true
envs string[]
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
forceDestroy boolean
If true, then the plugin is destroyed forcibly
forceDisable boolean
If true, then the plugin is disabled forcibly
grantAllPermissions boolean
If true, grant all permissions necessary to run the plugin
grantPermissions PluginGrantPermission[]
Grant specific permissions only
name Changes to this property will trigger replacement. string
Docker Plugin name
alias Changes to this property will trigger replacement. str
Docker Plugin alias
enable_timeout int
HTTP client timeout to enable the plugin
enabled bool
If true the plugin is enabled. Defaults to true
envs Sequence[str]
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
force_destroy bool
If true, then the plugin is destroyed forcibly
force_disable bool
If true, then the plugin is disabled forcibly
grant_all_permissions bool
If true, grant all permissions necessary to run the plugin
grant_permissions Sequence[PluginGrantPermissionArgs]
Grant specific permissions only
name Changes to this property will trigger replacement. str
Docker Plugin name
alias Changes to this property will trigger replacement. String
Docker Plugin alias
enableTimeout Number
HTTP client timeout to enable the plugin
enabled Boolean
If true the plugin is enabled. Defaults to true
envs List<String>
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
forceDestroy Boolean
If true, then the plugin is destroyed forcibly
forceDisable Boolean
If true, then the plugin is disabled forcibly
grantAllPermissions Boolean
If true, grant all permissions necessary to run the plugin
grantPermissions List<Property Map>
Grant specific permissions only
name Changes to this property will trigger replacement. String
Docker Plugin name

Outputs

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

Id string
The provider-assigned unique ID for this managed resource.
PluginReference string
Docker Plugin Reference
Id string
The provider-assigned unique ID for this managed resource.
PluginReference string
Docker Plugin Reference
id String
The provider-assigned unique ID for this managed resource.
pluginReference String
Docker Plugin Reference
id string
The provider-assigned unique ID for this managed resource.
pluginReference string
Docker Plugin Reference
id str
The provider-assigned unique ID for this managed resource.
plugin_reference str
Docker Plugin Reference
id String
The provider-assigned unique ID for this managed resource.
pluginReference String
Docker Plugin Reference

Look up Existing Plugin Resource

Get an existing Plugin 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?: PluginState, opts?: CustomResourceOptions): Plugin
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        alias: Optional[str] = None,
        enable_timeout: Optional[int] = None,
        enabled: Optional[bool] = None,
        envs: Optional[Sequence[str]] = None,
        force_destroy: Optional[bool] = None,
        force_disable: Optional[bool] = None,
        grant_all_permissions: Optional[bool] = None,
        grant_permissions: Optional[Sequence[PluginGrantPermissionArgs]] = None,
        name: Optional[str] = None,
        plugin_reference: Optional[str] = None) -> Plugin
func GetPlugin(ctx *Context, name string, id IDInput, state *PluginState, opts ...ResourceOption) (*Plugin, error)
public static Plugin Get(string name, Input<string> id, PluginState? state, CustomResourceOptions? opts = null)
public static Plugin get(String name, Output<String> id, PluginState state, CustomResourceOptions options)
resources:  _:    type: docker:Plugin    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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:
Alias Changes to this property will trigger replacement. string
Docker Plugin alias
EnableTimeout int
HTTP client timeout to enable the plugin
Enabled bool
If true the plugin is enabled. Defaults to true
Envs List<string>
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
ForceDestroy bool
If true, then the plugin is destroyed forcibly
ForceDisable bool
If true, then the plugin is disabled forcibly
GrantAllPermissions bool
If true, grant all permissions necessary to run the plugin
GrantPermissions List<PluginGrantPermission>
Grant specific permissions only
Name Changes to this property will trigger replacement. string
Docker Plugin name
PluginReference string
Docker Plugin Reference
Alias Changes to this property will trigger replacement. string
Docker Plugin alias
EnableTimeout int
HTTP client timeout to enable the plugin
Enabled bool
If true the plugin is enabled. Defaults to true
Envs []string
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
ForceDestroy bool
If true, then the plugin is destroyed forcibly
ForceDisable bool
If true, then the plugin is disabled forcibly
GrantAllPermissions bool
If true, grant all permissions necessary to run the plugin
GrantPermissions []PluginGrantPermissionArgs
Grant specific permissions only
Name Changes to this property will trigger replacement. string
Docker Plugin name
PluginReference string
Docker Plugin Reference
alias Changes to this property will trigger replacement. String
Docker Plugin alias
enableTimeout Integer
HTTP client timeout to enable the plugin
enabled Boolean
If true the plugin is enabled. Defaults to true
envs List<String>
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
forceDestroy Boolean
If true, then the plugin is destroyed forcibly
forceDisable Boolean
If true, then the plugin is disabled forcibly
grantAllPermissions Boolean
If true, grant all permissions necessary to run the plugin
grantPermissions List<PluginGrantPermission>
Grant specific permissions only
name Changes to this property will trigger replacement. String
Docker Plugin name
pluginReference String
Docker Plugin Reference
alias Changes to this property will trigger replacement. string
Docker Plugin alias
enableTimeout number
HTTP client timeout to enable the plugin
enabled boolean
If true the plugin is enabled. Defaults to true
envs string[]
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
forceDestroy boolean
If true, then the plugin is destroyed forcibly
forceDisable boolean
If true, then the plugin is disabled forcibly
grantAllPermissions boolean
If true, grant all permissions necessary to run the plugin
grantPermissions PluginGrantPermission[]
Grant specific permissions only
name Changes to this property will trigger replacement. string
Docker Plugin name
pluginReference string
Docker Plugin Reference
alias Changes to this property will trigger replacement. str
Docker Plugin alias
enable_timeout int
HTTP client timeout to enable the plugin
enabled bool
If true the plugin is enabled. Defaults to true
envs Sequence[str]
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
force_destroy bool
If true, then the plugin is destroyed forcibly
force_disable bool
If true, then the plugin is disabled forcibly
grant_all_permissions bool
If true, grant all permissions necessary to run the plugin
grant_permissions Sequence[PluginGrantPermissionArgs]
Grant specific permissions only
name Changes to this property will trigger replacement. str
Docker Plugin name
plugin_reference str
Docker Plugin Reference
alias Changes to this property will trigger replacement. String
Docker Plugin alias
enableTimeout Number
HTTP client timeout to enable the plugin
enabled Boolean
If true the plugin is enabled. Defaults to true
envs List<String>
The environment variables in the form of KEY=VALUE, e.g. DEBUG=0
forceDestroy Boolean
If true, then the plugin is destroyed forcibly
forceDisable Boolean
If true, then the plugin is disabled forcibly
grantAllPermissions Boolean
If true, grant all permissions necessary to run the plugin
grantPermissions List<Property Map>
Grant specific permissions only
name Changes to this property will trigger replacement. String
Docker Plugin name
pluginReference String
Docker Plugin Reference

Supporting Types

PluginGrantPermission
, PluginGrantPermissionArgs

Name This property is required. string
The name of the permission
Values This property is required. List<string>
The value of the permission
Name This property is required. string
The name of the permission
Values This property is required. []string
The value of the permission
name This property is required. String
The name of the permission
values This property is required. List<String>
The value of the permission
name This property is required. string
The name of the permission
values This property is required. string[]
The value of the permission
name This property is required. str
The name of the permission
values This property is required. Sequence[str]
The value of the permission
name This property is required. String
The name of the permission
values This property is required. List<String>
The value of the permission

Import

#!/bin/bash

$ pulumi import docker:index/plugin:Plugin sample-volume-plugin "$(docker plugin inspect -f {{.ID}} tiborvass/sample-volume-plugin:latest)"
Copy

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

Package Details

Repository
Docker pulumi/pulumi-docker
License
Apache-2.0
Notes
This Pulumi package is based on the docker Terraform Provider.