// 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 incus import ( "context" "reflect" "errors" "git.kalinow.ski/kiterun/pulumi-incus/sdk/go/incus/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) type NetworkAcl struct { pulumi.CustomResourceState // *Optional* - Map of key/value pairs of // network ACL config settings. Config pulumi.StringMapOutput `pulumi:"config"` // *Optional* - Description of the network ACL rule. Description pulumi.StringOutput `pulumi:"description"` // *Optional* - List of network ACL rules for egress traffic. See reference below. Egresses NetworkAclEgressArrayOutput `pulumi:"egresses"` // *Optional* - List of network ACL rules for ingress traffic. See reference below. // // The network ACL rule supports: Ingresses NetworkAclIngressArrayOutput `pulumi:"ingresses"` // **Required** - Name of the network ACL. Name pulumi.StringOutput `pulumi:"name"` // *Optional* - Name of the project where the network ACL will be created. Project pulumi.StringOutput `pulumi:"project"` // *Optional* - The remote in which the resource will be created. If // not provided, the provider's default remote will be used. Remote pulumi.StringPtrOutput `pulumi:"remote"` } // NewNetworkAcl registers a new resource with the given unique name, arguments, and options. func NewNetworkAcl(ctx *pulumi.Context, name string, args *NetworkAclArgs, opts ...pulumi.ResourceOption) (*NetworkAcl, error) { if args == nil { return nil, errors.New("missing one or more required arguments") } if args.Name == nil { return nil, errors.New("invalid value for required argument 'Name'") } if args.Project == nil { args.Project = pulumi.StringPtr("default") } opts = internal.PkgResourceDefaultOpts(opts) var resource NetworkAcl err := ctx.RegisterResource("incus:index/networkAcl:NetworkAcl", name, args, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // GetNetworkAcl gets an existing NetworkAcl 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 GetNetworkAcl(ctx *pulumi.Context, name string, id pulumi.IDInput, state *NetworkAclState, opts ...pulumi.ResourceOption) (*NetworkAcl, error) { var resource NetworkAcl err := ctx.ReadResource("incus:index/networkAcl:NetworkAcl", name, id, state, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // Input properties used for looking up and filtering NetworkAcl resources. type networkAclState struct { // *Optional* - Map of key/value pairs of // network ACL config settings. Config map[string]string `pulumi:"config"` // *Optional* - Description of the network ACL rule. Description *string `pulumi:"description"` // *Optional* - List of network ACL rules for egress traffic. See reference below. Egresses []NetworkAclEgress `pulumi:"egresses"` // *Optional* - List of network ACL rules for ingress traffic. See reference below. // // The network ACL rule supports: Ingresses []NetworkAclIngress `pulumi:"ingresses"` // **Required** - Name of the network ACL. Name *string `pulumi:"name"` // *Optional* - Name of the project where the network ACL will be created. Project *string `pulumi:"project"` // *Optional* - The remote in which the resource will be created. If // not provided, the provider's default remote will be used. Remote *string `pulumi:"remote"` } type NetworkAclState struct { // *Optional* - Map of key/value pairs of // network ACL config settings. Config pulumi.StringMapInput // *Optional* - Description of the network ACL rule. Description pulumi.StringPtrInput // *Optional* - List of network ACL rules for egress traffic. See reference below. Egresses NetworkAclEgressArrayInput // *Optional* - List of network ACL rules for ingress traffic. See reference below. // // The network ACL rule supports: Ingresses NetworkAclIngressArrayInput // **Required** - Name of the network ACL. Name pulumi.StringPtrInput // *Optional* - Name of the project where the network ACL will be created. Project pulumi.StringPtrInput // *Optional* - The remote in which the resource will be created. If // not provided, the provider's default remote will be used. Remote pulumi.StringPtrInput } func (NetworkAclState) ElementType() reflect.Type { return reflect.TypeOf((*networkAclState)(nil)).Elem() } type networkAclArgs struct { // *Optional* - Map of key/value pairs of // network ACL config settings. Config map[string]string `pulumi:"config"` // *Optional* - Description of the network ACL rule. Description *string `pulumi:"description"` // *Optional* - List of network ACL rules for egress traffic. See reference below. Egresses []NetworkAclEgress `pulumi:"egresses"` // *Optional* - List of network ACL rules for ingress traffic. See reference below. // // The network ACL rule supports: Ingresses []NetworkAclIngress `pulumi:"ingresses"` // **Required** - Name of the network ACL. Name string `pulumi:"name"` // *Optional* - Name of the project where the network ACL will be created. Project *string `pulumi:"project"` // *Optional* - The remote in which the resource will be created. If // not provided, the provider's default remote will be used. Remote *string `pulumi:"remote"` } // The set of arguments for constructing a NetworkAcl resource. type NetworkAclArgs struct { // *Optional* - Map of key/value pairs of // network ACL config settings. Config pulumi.StringMapInput // *Optional* - Description of the network ACL rule. Description pulumi.StringPtrInput // *Optional* - List of network ACL rules for egress traffic. See reference below. Egresses NetworkAclEgressArrayInput // *Optional* - List of network ACL rules for ingress traffic. See reference below. // // The network ACL rule supports: Ingresses NetworkAclIngressArrayInput // **Required** - Name of the network ACL. Name pulumi.StringInput // *Optional* - Name of the project where the network ACL will be created. Project pulumi.StringPtrInput // *Optional* - The remote in which the resource will be created. If // not provided, the provider's default remote will be used. Remote pulumi.StringPtrInput } func (NetworkAclArgs) ElementType() reflect.Type { return reflect.TypeOf((*networkAclArgs)(nil)).Elem() } type NetworkAclInput interface { pulumi.Input ToNetworkAclOutput() NetworkAclOutput ToNetworkAclOutputWithContext(ctx context.Context) NetworkAclOutput } func (*NetworkAcl) ElementType() reflect.Type { return reflect.TypeOf((**NetworkAcl)(nil)).Elem() } func (i *NetworkAcl) ToNetworkAclOutput() NetworkAclOutput { return i.ToNetworkAclOutputWithContext(context.Background()) } func (i *NetworkAcl) ToNetworkAclOutputWithContext(ctx context.Context) NetworkAclOutput { return pulumi.ToOutputWithContext(ctx, i).(NetworkAclOutput) } // NetworkAclArrayInput is an input type that accepts NetworkAclArray and NetworkAclArrayOutput values. // You can construct a concrete instance of `NetworkAclArrayInput` via: // // NetworkAclArray{ NetworkAclArgs{...} } type NetworkAclArrayInput interface { pulumi.Input ToNetworkAclArrayOutput() NetworkAclArrayOutput ToNetworkAclArrayOutputWithContext(context.Context) NetworkAclArrayOutput } type NetworkAclArray []NetworkAclInput func (NetworkAclArray) ElementType() reflect.Type { return reflect.TypeOf((*[]*NetworkAcl)(nil)).Elem() } func (i NetworkAclArray) ToNetworkAclArrayOutput() NetworkAclArrayOutput { return i.ToNetworkAclArrayOutputWithContext(context.Background()) } func (i NetworkAclArray) ToNetworkAclArrayOutputWithContext(ctx context.Context) NetworkAclArrayOutput { return pulumi.ToOutputWithContext(ctx, i).(NetworkAclArrayOutput) } // NetworkAclMapInput is an input type that accepts NetworkAclMap and NetworkAclMapOutput values. // You can construct a concrete instance of `NetworkAclMapInput` via: // // NetworkAclMap{ "key": NetworkAclArgs{...} } type NetworkAclMapInput interface { pulumi.Input ToNetworkAclMapOutput() NetworkAclMapOutput ToNetworkAclMapOutputWithContext(context.Context) NetworkAclMapOutput } type NetworkAclMap map[string]NetworkAclInput func (NetworkAclMap) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*NetworkAcl)(nil)).Elem() } func (i NetworkAclMap) ToNetworkAclMapOutput() NetworkAclMapOutput { return i.ToNetworkAclMapOutputWithContext(context.Background()) } func (i NetworkAclMap) ToNetworkAclMapOutputWithContext(ctx context.Context) NetworkAclMapOutput { return pulumi.ToOutputWithContext(ctx, i).(NetworkAclMapOutput) } type NetworkAclOutput struct{ *pulumi.OutputState } func (NetworkAclOutput) ElementType() reflect.Type { return reflect.TypeOf((**NetworkAcl)(nil)).Elem() } func (o NetworkAclOutput) ToNetworkAclOutput() NetworkAclOutput { return o } func (o NetworkAclOutput) ToNetworkAclOutputWithContext(ctx context.Context) NetworkAclOutput { return o } // *Optional* - Map of key/value pairs of // network ACL config settings. func (o NetworkAclOutput) Config() pulumi.StringMapOutput { return o.ApplyT(func(v *NetworkAcl) pulumi.StringMapOutput { return v.Config }).(pulumi.StringMapOutput) } // *Optional* - Description of the network ACL rule. func (o NetworkAclOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *NetworkAcl) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } // *Optional* - List of network ACL rules for egress traffic. See reference below. func (o NetworkAclOutput) Egresses() NetworkAclEgressArrayOutput { return o.ApplyT(func(v *NetworkAcl) NetworkAclEgressArrayOutput { return v.Egresses }).(NetworkAclEgressArrayOutput) } // *Optional* - List of network ACL rules for ingress traffic. See reference below. // // The network ACL rule supports: func (o NetworkAclOutput) Ingresses() NetworkAclIngressArrayOutput { return o.ApplyT(func(v *NetworkAcl) NetworkAclIngressArrayOutput { return v.Ingresses }).(NetworkAclIngressArrayOutput) } // **Required** - Name of the network ACL. func (o NetworkAclOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *NetworkAcl) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } // *Optional* - Name of the project where the network ACL will be created. func (o NetworkAclOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v *NetworkAcl) pulumi.StringOutput { return v.Project }).(pulumi.StringOutput) } // *Optional* - The remote in which the resource will be created. If // not provided, the provider's default remote will be used. func (o NetworkAclOutput) Remote() pulumi.StringPtrOutput { return o.ApplyT(func(v *NetworkAcl) pulumi.StringPtrOutput { return v.Remote }).(pulumi.StringPtrOutput) } type NetworkAclArrayOutput struct{ *pulumi.OutputState } func (NetworkAclArrayOutput) ElementType() reflect.Type { return reflect.TypeOf((*[]*NetworkAcl)(nil)).Elem() } func (o NetworkAclArrayOutput) ToNetworkAclArrayOutput() NetworkAclArrayOutput { return o } func (o NetworkAclArrayOutput) ToNetworkAclArrayOutputWithContext(ctx context.Context) NetworkAclArrayOutput { return o } func (o NetworkAclArrayOutput) Index(i pulumi.IntInput) NetworkAclOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NetworkAcl { return vs[0].([]*NetworkAcl)[vs[1].(int)] }).(NetworkAclOutput) } type NetworkAclMapOutput struct{ *pulumi.OutputState } func (NetworkAclMapOutput) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*NetworkAcl)(nil)).Elem() } func (o NetworkAclMapOutput) ToNetworkAclMapOutput() NetworkAclMapOutput { return o } func (o NetworkAclMapOutput) ToNetworkAclMapOutputWithContext(ctx context.Context) NetworkAclMapOutput { return o } func (o NetworkAclMapOutput) MapIndex(k pulumi.StringInput) NetworkAclOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NetworkAcl { return vs[0].(map[string]*NetworkAcl)[vs[1].(string)] }).(NetworkAclOutput) } func init() { pulumi.RegisterInputType(reflect.TypeOf((*NetworkAclInput)(nil)).Elem(), &NetworkAcl{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAclArrayInput)(nil)).Elem(), NetworkAclArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAclMapInput)(nil)).Elem(), NetworkAclMap{}) pulumi.RegisterOutputType(NetworkAclOutput{}) pulumi.RegisterOutputType(NetworkAclArrayOutput{}) pulumi.RegisterOutputType(NetworkAclMapOutput{}) }