artifactory.ArtifactLifecycleCustomWebhook
Explore with Pulumi AI
Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.
Example Usage
.
import * as pulumi from "@pulumi/pulumi";
import * as artifactory from "@pulumi/artifactory";
const artifact_lifecycle_custom_webhook = new artifactory.ArtifactLifecycleCustomWebhook("artifact-lifecycle-custom-webhook", {
key: "artifact-lifecycle-custom-webhook",
eventTypes: [
"archive",
"restore",
],
handlers: [{
url: "https://tempurl.org",
secrets: {
secretName1: "value1",
secretName2: "value2",
},
httpHeaders: {
headerName1: "value1",
headerName2: "value2",
},
payload: "{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }",
}],
});
import pulumi
import pulumi_artifactory as artifactory
artifact_lifecycle_custom_webhook = artifactory.ArtifactLifecycleCustomWebhook("artifact-lifecycle-custom-webhook",
key="artifact-lifecycle-custom-webhook",
event_types=[
"archive",
"restore",
],
handlers=[{
"url": "https://tempurl.org",
"secrets": {
"secretName1": "value1",
"secretName2": "value2",
},
"http_headers": {
"headerName1": "value1",
"headerName2": "value2",
},
"payload": "{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }",
}])
package main
import (
"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := artifactory.NewArtifactLifecycleCustomWebhook(ctx, "artifact-lifecycle-custom-webhook", &artifactory.ArtifactLifecycleCustomWebhookArgs{
Key: pulumi.String("artifact-lifecycle-custom-webhook"),
EventTypes: pulumi.StringArray{
pulumi.String("archive"),
pulumi.String("restore"),
},
Handlers: artifactory.ArtifactLifecycleCustomWebhookHandlerArray{
&artifactory.ArtifactLifecycleCustomWebhookHandlerArgs{
Url: pulumi.String("https://tempurl.org"),
Secrets: pulumi.StringMap{
"secretName1": pulumi.String("value1"),
"secretName2": pulumi.String("value2"),
},
HttpHeaders: pulumi.StringMap{
"headerName1": pulumi.String("value1"),
"headerName2": pulumi.String("value2"),
},
Payload: pulumi.String("{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Artifactory = Pulumi.Artifactory;
return await Deployment.RunAsync(() =>
{
var artifact_lifecycle_custom_webhook = new Artifactory.ArtifactLifecycleCustomWebhook("artifact-lifecycle-custom-webhook", new()
{
Key = "artifact-lifecycle-custom-webhook",
EventTypes = new[]
{
"archive",
"restore",
},
Handlers = new[]
{
new Artifactory.Inputs.ArtifactLifecycleCustomWebhookHandlerArgs
{
Url = "https://tempurl.org",
Secrets =
{
{ "secretName1", "value1" },
{ "secretName2", "value2" },
},
HttpHeaders =
{
{ "headerName1", "value1" },
{ "headerName2", "value2" },
},
Payload = "{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.artifactory.ArtifactLifecycleCustomWebhook;
import com.pulumi.artifactory.ArtifactLifecycleCustomWebhookArgs;
import com.pulumi.artifactory.inputs.ArtifactLifecycleCustomWebhookHandlerArgs;
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) {
var artifact_lifecycle_custom_webhook = new ArtifactLifecycleCustomWebhook("artifact-lifecycle-custom-webhook", ArtifactLifecycleCustomWebhookArgs.builder()
.key("artifact-lifecycle-custom-webhook")
.eventTypes(
"archive",
"restore")
.handlers(ArtifactLifecycleCustomWebhookHandlerArgs.builder()
.url("https://tempurl.org")
.secrets(Map.ofEntries(
Map.entry("secretName1", "value1"),
Map.entry("secretName2", "value2")
))
.httpHeaders(Map.ofEntries(
Map.entry("headerName1", "value1"),
Map.entry("headerName2", "value2")
))
.payload("{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }")
.build())
.build());
}
}
resources:
artifact-lifecycle-custom-webhook:
type: artifactory:ArtifactLifecycleCustomWebhook
properties:
key: artifact-lifecycle-custom-webhook
eventTypes:
- archive
- restore
handlers:
- url: https://tempurl.org
secrets:
secretName1: value1
secretName2: value2
httpHeaders:
headerName1: value1
headerName2: value2
payload: '{ "ref": "main" , "inputs": { "artifact_path": "test-repo/repo-path" } }'
Create ArtifactLifecycleCustomWebhook Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ArtifactLifecycleCustomWebhook(name: string, args: ArtifactLifecycleCustomWebhookArgs, opts?: CustomResourceOptions);
@overload
def ArtifactLifecycleCustomWebhook(resource_name: str,
args: ArtifactLifecycleCustomWebhookArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ArtifactLifecycleCustomWebhook(resource_name: str,
opts: Optional[ResourceOptions] = None,
event_types: Optional[Sequence[str]] = None,
key: Optional[str] = None,
description: Optional[str] = None,
enabled: Optional[bool] = None,
handlers: Optional[Sequence[ArtifactLifecycleCustomWebhookHandlerArgs]] = None)
func NewArtifactLifecycleCustomWebhook(ctx *Context, name string, args ArtifactLifecycleCustomWebhookArgs, opts ...ResourceOption) (*ArtifactLifecycleCustomWebhook, error)
public ArtifactLifecycleCustomWebhook(string name, ArtifactLifecycleCustomWebhookArgs args, CustomResourceOptions? opts = null)
public ArtifactLifecycleCustomWebhook(String name, ArtifactLifecycleCustomWebhookArgs args)
public ArtifactLifecycleCustomWebhook(String name, ArtifactLifecycleCustomWebhookArgs args, CustomResourceOptions options)
type: artifactory:ArtifactLifecycleCustomWebhook
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 ArtifactLifecycleCustomWebhookArgs
- 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 ArtifactLifecycleCustomWebhookArgs
- 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 ArtifactLifecycleCustomWebhookArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ArtifactLifecycleCustomWebhookArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ArtifactLifecycleCustomWebhookArgs
- 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 artifactLifecycleCustomWebhookResource = new Artifactory.ArtifactLifecycleCustomWebhook("artifactLifecycleCustomWebhookResource", new()
{
EventTypes = new[]
{
"string",
},
Key = "string",
Description = "string",
Enabled = false,
Handlers = new[]
{
new Artifactory.Inputs.ArtifactLifecycleCustomWebhookHandlerArgs
{
Url = "string",
HttpHeaders =
{
{ "string", "string" },
},
Payload = "string",
Proxy = "string",
Secrets =
{
{ "string", "string" },
},
},
},
});
example, err := artifactory.NewArtifactLifecycleCustomWebhook(ctx, "artifactLifecycleCustomWebhookResource", &artifactory.ArtifactLifecycleCustomWebhookArgs{
EventTypes: pulumi.StringArray{
pulumi.String("string"),
},
Key: pulumi.String("string"),
Description: pulumi.String("string"),
Enabled: pulumi.Bool(false),
Handlers: artifactory.ArtifactLifecycleCustomWebhookHandlerArray{
&artifactory.ArtifactLifecycleCustomWebhookHandlerArgs{
Url: pulumi.String("string"),
HttpHeaders: pulumi.StringMap{
"string": pulumi.String("string"),
},
Payload: pulumi.String("string"),
Proxy: pulumi.String("string"),
Secrets: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
})
var artifactLifecycleCustomWebhookResource = new ArtifactLifecycleCustomWebhook("artifactLifecycleCustomWebhookResource", ArtifactLifecycleCustomWebhookArgs.builder()
.eventTypes("string")
.key("string")
.description("string")
.enabled(false)
.handlers(ArtifactLifecycleCustomWebhookHandlerArgs.builder()
.url("string")
.httpHeaders(Map.of("string", "string"))
.payload("string")
.proxy("string")
.secrets(Map.of("string", "string"))
.build())
.build());
artifact_lifecycle_custom_webhook_resource = artifactory.ArtifactLifecycleCustomWebhook("artifactLifecycleCustomWebhookResource",
event_types=["string"],
key="string",
description="string",
enabled=False,
handlers=[{
"url": "string",
"http_headers": {
"string": "string",
},
"payload": "string",
"proxy": "string",
"secrets": {
"string": "string",
},
}])
const artifactLifecycleCustomWebhookResource = new artifactory.ArtifactLifecycleCustomWebhook("artifactLifecycleCustomWebhookResource", {
eventTypes: ["string"],
key: "string",
description: "string",
enabled: false,
handlers: [{
url: "string",
httpHeaders: {
string: "string",
},
payload: "string",
proxy: "string",
secrets: {
string: "string",
},
}],
});
type: artifactory:ArtifactLifecycleCustomWebhook
properties:
description: string
enabled: false
eventTypes:
- string
handlers:
- httpHeaders:
string: string
payload: string
proxy: string
secrets:
string: string
url: string
key: string
ArtifactLifecycleCustomWebhook 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 ArtifactLifecycleCustomWebhook resource accepts the following input properties:
- Event
Types List<string> - List of event triggers for the Webhook. Allow values:
archive
,restore
- Key string
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- Description string
- Webhook description. Max length 1000 characters.
- Enabled bool
- Status of webhook. Default to
true
- Handlers
List<Artifact
Lifecycle Custom Webhook Handler> - At least one is required.
- Event
Types []string - List of event triggers for the Webhook. Allow values:
archive
,restore
- Key string
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- Description string
- Webhook description. Max length 1000 characters.
- Enabled bool
- Status of webhook. Default to
true
- Handlers
[]Artifact
Lifecycle Custom Webhook Handler Args - At least one is required.
- event
Types List<String> - List of event triggers for the Webhook. Allow values:
archive
,restore
- key String
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- description String
- Webhook description. Max length 1000 characters.
- enabled Boolean
- Status of webhook. Default to
true
- handlers
List<Artifact
Lifecycle Custom Webhook Handler> - At least one is required.
- event
Types string[] - List of event triggers for the Webhook. Allow values:
archive
,restore
- key string
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- description string
- Webhook description. Max length 1000 characters.
- enabled boolean
- Status of webhook. Default to
true
- handlers
Artifact
Lifecycle Custom Webhook Handler[] - At least one is required.
- event_
types Sequence[str] - List of event triggers for the Webhook. Allow values:
archive
,restore
- key str
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- description str
- Webhook description. Max length 1000 characters.
- enabled bool
- Status of webhook. Default to
true
- handlers
Sequence[Artifact
Lifecycle Custom Webhook Handler Args] - At least one is required.
- event
Types List<String> - List of event triggers for the Webhook. Allow values:
archive
,restore
- key String
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- description String
- Webhook description. Max length 1000 characters.
- enabled Boolean
- Status of webhook. Default to
true
- handlers List<Property Map>
- At least one is required.
Outputs
All input properties are implicitly available as output properties. Additionally, the ArtifactLifecycleCustomWebhook 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 ArtifactLifecycleCustomWebhook Resource
Get an existing ArtifactLifecycleCustomWebhook 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?: ArtifactLifecycleCustomWebhookState, opts?: CustomResourceOptions): ArtifactLifecycleCustomWebhook
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
enabled: Optional[bool] = None,
event_types: Optional[Sequence[str]] = None,
handlers: Optional[Sequence[ArtifactLifecycleCustomWebhookHandlerArgs]] = None,
key: Optional[str] = None) -> ArtifactLifecycleCustomWebhook
func GetArtifactLifecycleCustomWebhook(ctx *Context, name string, id IDInput, state *ArtifactLifecycleCustomWebhookState, opts ...ResourceOption) (*ArtifactLifecycleCustomWebhook, error)
public static ArtifactLifecycleCustomWebhook Get(string name, Input<string> id, ArtifactLifecycleCustomWebhookState? state, CustomResourceOptions? opts = null)
public static ArtifactLifecycleCustomWebhook get(String name, Output<String> id, ArtifactLifecycleCustomWebhookState 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.
- Description string
- Webhook description. Max length 1000 characters.
- Enabled bool
- Status of webhook. Default to
true
- Event
Types List<string> - List of event triggers for the Webhook. Allow values:
archive
,restore
- Handlers
List<Artifact
Lifecycle Custom Webhook Handler> - At least one is required.
- Key string
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- Description string
- Webhook description. Max length 1000 characters.
- Enabled bool
- Status of webhook. Default to
true
- Event
Types []string - List of event triggers for the Webhook. Allow values:
archive
,restore
- Handlers
[]Artifact
Lifecycle Custom Webhook Handler Args - At least one is required.
- Key string
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- description String
- Webhook description. Max length 1000 characters.
- enabled Boolean
- Status of webhook. Default to
true
- event
Types List<String> - List of event triggers for the Webhook. Allow values:
archive
,restore
- handlers
List<Artifact
Lifecycle Custom Webhook Handler> - At least one is required.
- key String
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- description string
- Webhook description. Max length 1000 characters.
- enabled boolean
- Status of webhook. Default to
true
- event
Types string[] - List of event triggers for the Webhook. Allow values:
archive
,restore
- handlers
Artifact
Lifecycle Custom Webhook Handler[] - At least one is required.
- key string
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- description str
- Webhook description. Max length 1000 characters.
- enabled bool
- Status of webhook. Default to
true
- event_
types Sequence[str] - List of event triggers for the Webhook. Allow values:
archive
,restore
- handlers
Sequence[Artifact
Lifecycle Custom Webhook Handler Args] - At least one is required.
- key str
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
- description String
- Webhook description. Max length 1000 characters.
- enabled Boolean
- Status of webhook. Default to
true
- event
Types List<String> - List of event triggers for the Webhook. Allow values:
archive
,restore
- handlers List<Property Map>
- At least one is required.
- key String
- The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.
Supporting Types
ArtifactLifecycleCustomWebhookHandler, ArtifactLifecycleCustomWebhookHandlerArgs
- Url string
- Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.
- Http
Headers Dictionary<string, string> - HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.
- Payload string
- This attribute is used to build the request body. Used in custom webhooks
- Proxy string
- Proxy key from Artifactory UI (Administration > Proxies > Configuration).
- Secrets Dictionary<string, string>
- Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the
{{.secrets.token}}
format, where token is the name provided for the secret value. Comprise key/value pair. Note: if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:
- Url string
- Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.
- Http
Headers map[string]string - HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.
- Payload string
- This attribute is used to build the request body. Used in custom webhooks
- Proxy string
- Proxy key from Artifactory UI (Administration > Proxies > Configuration).
- Secrets map[string]string
- Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the
{{.secrets.token}}
format, where token is the name provided for the secret value. Comprise key/value pair. Note: if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:
- url String
- Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.
- http
Headers Map<String,String> - HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.
- payload String
- This attribute is used to build the request body. Used in custom webhooks
- proxy String
- Proxy key from Artifactory UI (Administration > Proxies > Configuration).
- secrets Map<String,String>
- Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the
{{.secrets.token}}
format, where token is the name provided for the secret value. Comprise key/value pair. Note: if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:
- url string
- Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.
- http
Headers {[key: string]: string} - HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.
- payload string
- This attribute is used to build the request body. Used in custom webhooks
- proxy string
- Proxy key from Artifactory UI (Administration > Proxies > Configuration).
- secrets {[key: string]: string}
- Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the
{{.secrets.token}}
format, where token is the name provided for the secret value. Comprise key/value pair. Note: if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:
- url str
- Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.
- http_
headers Mapping[str, str] - HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.
- payload str
- This attribute is used to build the request body. Used in custom webhooks
- proxy str
- Proxy key from Artifactory UI (Administration > Proxies > Configuration).
- secrets Mapping[str, str]
- Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the
{{.secrets.token}}
format, where token is the name provided for the secret value. Comprise key/value pair. Note: if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:
- url String
- Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.
- http
Headers Map<String> - HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.
- payload String
- This attribute is used to build the request body. Used in custom webhooks
- proxy String
- Proxy key from Artifactory UI (Administration > Proxies > Configuration).
- secrets Map<String>
- Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the
{{.secrets.token}}
format, where token is the name provided for the secret value. Comprise key/value pair. Note: if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:
Package Details
- Repository
- artifactory pulumi/pulumi-artifactory
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
artifactory
Terraform Provider.