// 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 dokploy import ( "context" "reflect" "errors" "github.com/maxvojtkov/pulumi-dokploy/sdk/go/dokploy/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // A DNS provider connection Dokploy uses to create records for domains automatically. // // `config` is a JSON object whose shape depends on `providerType`: type DnsProvider struct { pulumi.CustomResourceState // Provider credentials as a JSON object, including the `providerType` discriminator. Config pulumi.StringOutput `pulumi:"config"` // RFC 3339 timestamp of when the connection was created. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`. Name pulumi.StringOutput `pulumi:"name"` // Organization that owns the connection. OrganizationId pulumi.StringOutput `pulumi:"organizationId"` // Provider kind derived from `config`: `cloudflare` or `route53`. ProviderType pulumi.StringOutput `pulumi:"providerType"` } // NewDnsProvider registers a new resource with the given unique name, arguments, and options. func NewDnsProvider(ctx *pulumi.Context, name string, args *DnsProviderArgs, opts ...pulumi.ResourceOption) (*DnsProvider, error) { if args == nil { return nil, errors.New("missing one or more required arguments") } if args.Config == nil { return nil, errors.New("invalid value for required argument 'Config'") } if args.Config != nil { args.Config = pulumi.ToSecret(args.Config).(pulumi.StringInput) } secrets := pulumi.AdditionalSecretOutputs([]string{ "config", }) opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) var resource DnsProvider err := ctx.RegisterResource("dokploy:index/dnsProvider:DnsProvider", name, args, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // GetDnsProvider gets an existing DnsProvider 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 GetDnsProvider(ctx *pulumi.Context, name string, id pulumi.IDInput, state *DnsProviderState, opts ...pulumi.ResourceOption) (*DnsProvider, error) { var resource DnsProvider err := ctx.ReadResource("dokploy:index/dnsProvider:DnsProvider", name, id, state, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // Input properties used for looking up and filtering DnsProvider resources. type dnsProviderState struct { // Provider credentials as a JSON object, including the `providerType` discriminator. Config *string `pulumi:"config"` // RFC 3339 timestamp of when the connection was created. CreatedAt *string `pulumi:"createdAt"` // Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`. Name *string `pulumi:"name"` // Organization that owns the connection. OrganizationId *string `pulumi:"organizationId"` // Provider kind derived from `config`: `cloudflare` or `route53`. ProviderType *string `pulumi:"providerType"` } type DnsProviderState struct { // Provider credentials as a JSON object, including the `providerType` discriminator. Config pulumi.StringPtrInput // RFC 3339 timestamp of when the connection was created. CreatedAt pulumi.StringPtrInput // Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`. Name pulumi.StringPtrInput // Organization that owns the connection. OrganizationId pulumi.StringPtrInput // Provider kind derived from `config`: `cloudflare` or `route53`. ProviderType pulumi.StringPtrInput } func (DnsProviderState) ElementType() reflect.Type { return reflect.TypeOf((*dnsProviderState)(nil)).Elem() } type dnsProviderArgs struct { // Provider credentials as a JSON object, including the `providerType` discriminator. Config string `pulumi:"config"` // Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`. Name *string `pulumi:"name"` } // The set of arguments for constructing a DnsProvider resource. type DnsProviderArgs struct { // Provider credentials as a JSON object, including the `providerType` discriminator. Config pulumi.StringInput // Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`. Name pulumi.StringPtrInput } func (DnsProviderArgs) ElementType() reflect.Type { return reflect.TypeOf((*dnsProviderArgs)(nil)).Elem() } type DnsProviderInput interface { pulumi.Input ToDnsProviderOutput() DnsProviderOutput ToDnsProviderOutputWithContext(ctx context.Context) DnsProviderOutput } func (*DnsProvider) ElementType() reflect.Type { return reflect.TypeOf((**DnsProvider)(nil)).Elem() } func (i *DnsProvider) ToDnsProviderOutput() DnsProviderOutput { return i.ToDnsProviderOutputWithContext(context.Background()) } func (i *DnsProvider) ToDnsProviderOutputWithContext(ctx context.Context) DnsProviderOutput { return pulumi.ToOutputWithContext(ctx, i).(DnsProviderOutput) } // DnsProviderArrayInput is an input type that accepts DnsProviderArray and DnsProviderArrayOutput values. // You can construct a concrete instance of `DnsProviderArrayInput` via: // // DnsProviderArray{ DnsProviderArgs{...} } type DnsProviderArrayInput interface { pulumi.Input ToDnsProviderArrayOutput() DnsProviderArrayOutput ToDnsProviderArrayOutputWithContext(context.Context) DnsProviderArrayOutput } type DnsProviderArray []DnsProviderInput func (DnsProviderArray) ElementType() reflect.Type { return reflect.TypeOf((*[]*DnsProvider)(nil)).Elem() } func (i DnsProviderArray) ToDnsProviderArrayOutput() DnsProviderArrayOutput { return i.ToDnsProviderArrayOutputWithContext(context.Background()) } func (i DnsProviderArray) ToDnsProviderArrayOutputWithContext(ctx context.Context) DnsProviderArrayOutput { return pulumi.ToOutputWithContext(ctx, i).(DnsProviderArrayOutput) } // DnsProviderMapInput is an input type that accepts DnsProviderMap and DnsProviderMapOutput values. // You can construct a concrete instance of `DnsProviderMapInput` via: // // DnsProviderMap{ "key": DnsProviderArgs{...} } type DnsProviderMapInput interface { pulumi.Input ToDnsProviderMapOutput() DnsProviderMapOutput ToDnsProviderMapOutputWithContext(context.Context) DnsProviderMapOutput } type DnsProviderMap map[string]DnsProviderInput func (DnsProviderMap) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*DnsProvider)(nil)).Elem() } func (i DnsProviderMap) ToDnsProviderMapOutput() DnsProviderMapOutput { return i.ToDnsProviderMapOutputWithContext(context.Background()) } func (i DnsProviderMap) ToDnsProviderMapOutputWithContext(ctx context.Context) DnsProviderMapOutput { return pulumi.ToOutputWithContext(ctx, i).(DnsProviderMapOutput) } type DnsProviderOutput struct{ *pulumi.OutputState } func (DnsProviderOutput) ElementType() reflect.Type { return reflect.TypeOf((**DnsProvider)(nil)).Elem() } func (o DnsProviderOutput) ToDnsProviderOutput() DnsProviderOutput { return o } func (o DnsProviderOutput) ToDnsProviderOutputWithContext(ctx context.Context) DnsProviderOutput { return o } // Provider credentials as a JSON object, including the `providerType` discriminator. func (o DnsProviderOutput) Config() pulumi.StringOutput { return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.Config }).(pulumi.StringOutput) } // RFC 3339 timestamp of when the connection was created. func (o DnsProviderOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } // Name of the connection. Must be unique within the organization and may contain only letters, digits, `-` and `_`. func (o DnsProviderOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } // Organization that owns the connection. func (o DnsProviderOutput) OrganizationId() pulumi.StringOutput { return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.OrganizationId }).(pulumi.StringOutput) } // Provider kind derived from `config`: `cloudflare` or `route53`. func (o DnsProviderOutput) ProviderType() pulumi.StringOutput { return o.ApplyT(func(v *DnsProvider) pulumi.StringOutput { return v.ProviderType }).(pulumi.StringOutput) } type DnsProviderArrayOutput struct{ *pulumi.OutputState } func (DnsProviderArrayOutput) ElementType() reflect.Type { return reflect.TypeOf((*[]*DnsProvider)(nil)).Elem() } func (o DnsProviderArrayOutput) ToDnsProviderArrayOutput() DnsProviderArrayOutput { return o } func (o DnsProviderArrayOutput) ToDnsProviderArrayOutputWithContext(ctx context.Context) DnsProviderArrayOutput { return o } func (o DnsProviderArrayOutput) Index(i pulumi.IntInput) DnsProviderOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DnsProvider { return vs[0].([]*DnsProvider)[vs[1].(int)] }).(DnsProviderOutput) } type DnsProviderMapOutput struct{ *pulumi.OutputState } func (DnsProviderMapOutput) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*DnsProvider)(nil)).Elem() } func (o DnsProviderMapOutput) ToDnsProviderMapOutput() DnsProviderMapOutput { return o } func (o DnsProviderMapOutput) ToDnsProviderMapOutputWithContext(ctx context.Context) DnsProviderMapOutput { return o } func (o DnsProviderMapOutput) MapIndex(k pulumi.StringInput) DnsProviderOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DnsProvider { return vs[0].(map[string]*DnsProvider)[vs[1].(string)] }).(DnsProviderOutput) } func init() { pulumi.RegisterInputType(reflect.TypeOf((*DnsProviderInput)(nil)).Elem(), &DnsProvider{}) pulumi.RegisterInputType(reflect.TypeOf((*DnsProviderArrayInput)(nil)).Elem(), DnsProviderArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DnsProviderMapInput)(nil)).Elem(), DnsProviderMap{}) pulumi.RegisterOutputType(DnsProviderOutput{}) pulumi.RegisterOutputType(DnsProviderArrayOutput{}) pulumi.RegisterOutputType(DnsProviderMapOutput{}) }