/
campaign.go
175 lines (145 loc) · 5.69 KB
/
campaign.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
// Code generated by pulumi-language-go DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package connectcampaigns
import (
"context"
"reflect"
"errors"
"github.com/pulumi/pulumi-aws-native/sdk/go/aws"
"github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Definition of AWS::ConnectCampaigns::Campaign Resource Type
type Campaign struct {
pulumi.CustomResourceState
// Amazon Connect Campaign Arn
Arn pulumi.StringOutput `pulumi:"arn"`
// Amazon Connect Instance Arn
ConnectInstanceArn pulumi.StringOutput `pulumi:"connectInstanceArn"`
DialerConfig CampaignDialerConfigOutput `pulumi:"dialerConfig"`
// Amazon Connect Campaign Name
Name pulumi.StringOutput `pulumi:"name"`
OutboundCallConfig CampaignOutboundCallConfigOutput `pulumi:"outboundCallConfig"`
// One or more tags.
Tags aws.TagArrayOutput `pulumi:"tags"`
}
// NewCampaign registers a new resource with the given unique name, arguments, and options.
func NewCampaign(ctx *pulumi.Context,
name string, args *CampaignArgs, opts ...pulumi.ResourceOption) (*Campaign, error) {
if args == nil {
return nil, errors.New("missing one or more required arguments")
}
if args.ConnectInstanceArn == nil {
return nil, errors.New("invalid value for required argument 'ConnectInstanceArn'")
}
if args.DialerConfig == nil {
return nil, errors.New("invalid value for required argument 'DialerConfig'")
}
if args.OutboundCallConfig == nil {
return nil, errors.New("invalid value for required argument 'OutboundCallConfig'")
}
replaceOnChanges := pulumi.ReplaceOnChanges([]string{
"connectInstanceArn",
})
opts = append(opts, replaceOnChanges)
opts = internal.PkgResourceDefaultOpts(opts)
var resource Campaign
err := ctx.RegisterResource("aws-native:connectcampaigns:Campaign", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// GetCampaign gets an existing Campaign resource's state with the given name, ID, and optional
// state properties that are used to uniquely qualify the lookup (nil if not required).
func GetCampaign(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *CampaignState, opts ...pulumi.ResourceOption) (*Campaign, error) {
var resource Campaign
err := ctx.ReadResource("aws-native:connectcampaigns:Campaign", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// Input properties used for looking up and filtering Campaign resources.
type campaignState struct {
}
type CampaignState struct {
}
func (CampaignState) ElementType() reflect.Type {
return reflect.TypeOf((*campaignState)(nil)).Elem()
}
type campaignArgs struct {
// Amazon Connect Instance Arn
ConnectInstanceArn string `pulumi:"connectInstanceArn"`
DialerConfig CampaignDialerConfig `pulumi:"dialerConfig"`
// Amazon Connect Campaign Name
Name *string `pulumi:"name"`
OutboundCallConfig CampaignOutboundCallConfig `pulumi:"outboundCallConfig"`
// One or more tags.
Tags []aws.Tag `pulumi:"tags"`
}
// The set of arguments for constructing a Campaign resource.
type CampaignArgs struct {
// Amazon Connect Instance Arn
ConnectInstanceArn pulumi.StringInput
DialerConfig CampaignDialerConfigInput
// Amazon Connect Campaign Name
Name pulumi.StringPtrInput
OutboundCallConfig CampaignOutboundCallConfigInput
// One or more tags.
Tags aws.TagArrayInput
}
func (CampaignArgs) ElementType() reflect.Type {
return reflect.TypeOf((*campaignArgs)(nil)).Elem()
}
type CampaignInput interface {
pulumi.Input
ToCampaignOutput() CampaignOutput
ToCampaignOutputWithContext(ctx context.Context) CampaignOutput
}
func (*Campaign) ElementType() reflect.Type {
return reflect.TypeOf((**Campaign)(nil)).Elem()
}
func (i *Campaign) ToCampaignOutput() CampaignOutput {
return i.ToCampaignOutputWithContext(context.Background())
}
func (i *Campaign) ToCampaignOutputWithContext(ctx context.Context) CampaignOutput {
return pulumi.ToOutputWithContext(ctx, i).(CampaignOutput)
}
type CampaignOutput struct{ *pulumi.OutputState }
func (CampaignOutput) ElementType() reflect.Type {
return reflect.TypeOf((**Campaign)(nil)).Elem()
}
func (o CampaignOutput) ToCampaignOutput() CampaignOutput {
return o
}
func (o CampaignOutput) ToCampaignOutputWithContext(ctx context.Context) CampaignOutput {
return o
}
// Amazon Connect Campaign Arn
func (o CampaignOutput) Arn() pulumi.StringOutput {
return o.ApplyT(func(v *Campaign) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
}
// Amazon Connect Instance Arn
func (o CampaignOutput) ConnectInstanceArn() pulumi.StringOutput {
return o.ApplyT(func(v *Campaign) pulumi.StringOutput { return v.ConnectInstanceArn }).(pulumi.StringOutput)
}
func (o CampaignOutput) DialerConfig() CampaignDialerConfigOutput {
return o.ApplyT(func(v *Campaign) CampaignDialerConfigOutput { return v.DialerConfig }).(CampaignDialerConfigOutput)
}
// Amazon Connect Campaign Name
func (o CampaignOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v *Campaign) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
}
func (o CampaignOutput) OutboundCallConfig() CampaignOutboundCallConfigOutput {
return o.ApplyT(func(v *Campaign) CampaignOutboundCallConfigOutput { return v.OutboundCallConfig }).(CampaignOutboundCallConfigOutput)
}
// One or more tags.
func (o CampaignOutput) Tags() aws.TagArrayOutput {
return o.ApplyT(func(v *Campaign) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput)
}
func init() {
pulumi.RegisterInputType(reflect.TypeOf((*CampaignInput)(nil)).Elem(), &Campaign{})
pulumi.RegisterOutputType(CampaignOutput{})
}