package splunk

import (
	"context"
	"reflect"

	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

type AppsLocalAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type AppsLocalAclInput interface {
	pulumi.Input

	ToAppsLocalAclOutput() AppsLocalAclOutput
	ToAppsLocalAclOutputWithContext(context.Context) AppsLocalAclOutput
}

type AppsLocalAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (AppsLocalAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*AppsLocalAcl)(nil)).Elem()
}

func (i AppsLocalAclArgs) ToAppsLocalAclOutput() AppsLocalAclOutput {
	return i.ToAppsLocalAclOutputWithContext(context.Background())
}

func (i AppsLocalAclArgs) ToAppsLocalAclOutputWithContext(ctx context.Context) AppsLocalAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(AppsLocalAclOutput)
}

func (i AppsLocalAclArgs) ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput {
	return i.ToAppsLocalAclPtrOutputWithContext(context.Background())
}

func (i AppsLocalAclArgs) ToAppsLocalAclPtrOutputWithContext(ctx context.Context) AppsLocalAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(AppsLocalAclOutput).ToAppsLocalAclPtrOutputWithContext(ctx)
}

type AppsLocalAclPtrInput interface {
	pulumi.Input

	ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput
	ToAppsLocalAclPtrOutputWithContext(context.Context) AppsLocalAclPtrOutput
}

type appsLocalAclPtrType AppsLocalAclArgs

func AppsLocalAclPtr(v *AppsLocalAclArgs) AppsLocalAclPtrInput {
	return (*appsLocalAclPtrType)(v)
}

func (*appsLocalAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**AppsLocalAcl)(nil)).Elem()
}

func (i *appsLocalAclPtrType) ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput {
	return i.ToAppsLocalAclPtrOutputWithContext(context.Background())
}

func (i *appsLocalAclPtrType) ToAppsLocalAclPtrOutputWithContext(ctx context.Context) AppsLocalAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(AppsLocalAclPtrOutput)
}

type AppsLocalAclOutput struct{ *pulumi.OutputState }

func (AppsLocalAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*AppsLocalAcl)(nil)).Elem()
}

func (o AppsLocalAclOutput) ToAppsLocalAclOutput() AppsLocalAclOutput {
	return o
}

func (o AppsLocalAclOutput) ToAppsLocalAclOutputWithContext(ctx context.Context) AppsLocalAclOutput {
	return o
}

func (o AppsLocalAclOutput) ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput {
	return o.ToAppsLocalAclPtrOutputWithContext(context.Background())
}

func (o AppsLocalAclOutput) ToAppsLocalAclPtrOutputWithContext(ctx context.Context) AppsLocalAclPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *AppsLocalAcl {
		return &v
	}).(AppsLocalAclPtrOutput)
}
func (o AppsLocalAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v AppsLocalAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o AppsLocalAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v AppsLocalAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type AppsLocalAclPtrOutput struct{ *pulumi.OutputState }

func (AppsLocalAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**AppsLocalAcl)(nil)).Elem()
}

func (o AppsLocalAclPtrOutput) ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput {
	return o
}

func (o AppsLocalAclPtrOutput) ToAppsLocalAclPtrOutputWithContext(ctx context.Context) AppsLocalAclPtrOutput {
	return o
}

func (o AppsLocalAclPtrOutput) Elem() AppsLocalAclOutput {
	return o.ApplyT(func(v *AppsLocalAcl) AppsLocalAcl { return *v }).(AppsLocalAclOutput)
}

func (o AppsLocalAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *AppsLocalAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o AppsLocalAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *AppsLocalAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type ConfigsConfAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type ConfigsConfAclInput interface {
	pulumi.Input

	ToConfigsConfAclOutput() ConfigsConfAclOutput
	ToConfigsConfAclOutputWithContext(context.Context) ConfigsConfAclOutput
}

type ConfigsConfAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (ConfigsConfAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*ConfigsConfAcl)(nil)).Elem()
}

func (i ConfigsConfAclArgs) ToConfigsConfAclOutput() ConfigsConfAclOutput {
	return i.ToConfigsConfAclOutputWithContext(context.Background())
}

func (i ConfigsConfAclArgs) ToConfigsConfAclOutputWithContext(ctx context.Context) ConfigsConfAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ConfigsConfAclOutput)
}

func (i ConfigsConfAclArgs) ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput {
	return i.ToConfigsConfAclPtrOutputWithContext(context.Background())
}

func (i ConfigsConfAclArgs) ToConfigsConfAclPtrOutputWithContext(ctx context.Context) ConfigsConfAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ConfigsConfAclOutput).ToConfigsConfAclPtrOutputWithContext(ctx)
}

type ConfigsConfAclPtrInput interface {
	pulumi.Input

	ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput
	ToConfigsConfAclPtrOutputWithContext(context.Context) ConfigsConfAclPtrOutput
}

type configsConfAclPtrType ConfigsConfAclArgs

func ConfigsConfAclPtr(v *ConfigsConfAclArgs) ConfigsConfAclPtrInput {
	return (*configsConfAclPtrType)(v)
}

func (*configsConfAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**ConfigsConfAcl)(nil)).Elem()
}

func (i *configsConfAclPtrType) ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput {
	return i.ToConfigsConfAclPtrOutputWithContext(context.Background())
}

func (i *configsConfAclPtrType) ToConfigsConfAclPtrOutputWithContext(ctx context.Context) ConfigsConfAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ConfigsConfAclPtrOutput)
}

type ConfigsConfAclOutput struct{ *pulumi.OutputState }

func (ConfigsConfAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*ConfigsConfAcl)(nil)).Elem()
}

func (o ConfigsConfAclOutput) ToConfigsConfAclOutput() ConfigsConfAclOutput {
	return o
}

func (o ConfigsConfAclOutput) ToConfigsConfAclOutputWithContext(ctx context.Context) ConfigsConfAclOutput {
	return o
}

func (o ConfigsConfAclOutput) ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput {
	return o.ToConfigsConfAclPtrOutputWithContext(context.Background())
}

func (o ConfigsConfAclOutput) ToConfigsConfAclPtrOutputWithContext(ctx context.Context) ConfigsConfAclPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *ConfigsConfAcl {
		return &v
	}).(ConfigsConfAclPtrOutput)
}
func (o ConfigsConfAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v ConfigsConfAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o ConfigsConfAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v ConfigsConfAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type ConfigsConfAclPtrOutput struct{ *pulumi.OutputState }

func (ConfigsConfAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**ConfigsConfAcl)(nil)).Elem()
}

func (o ConfigsConfAclPtrOutput) ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput {
	return o
}

func (o ConfigsConfAclPtrOutput) ToConfigsConfAclPtrOutputWithContext(ctx context.Context) ConfigsConfAclPtrOutput {
	return o
}

func (o ConfigsConfAclPtrOutput) Elem() ConfigsConfAclOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) ConfigsConfAcl { return *v }).(ConfigsConfAclOutput)
}

func (o ConfigsConfAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o ConfigsConfAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type DataUiViewsAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type DataUiViewsAclInput interface {
	pulumi.Input

	ToDataUiViewsAclOutput() DataUiViewsAclOutput
	ToDataUiViewsAclOutputWithContext(context.Context) DataUiViewsAclOutput
}

type DataUiViewsAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (DataUiViewsAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*DataUiViewsAcl)(nil)).Elem()
}

func (i DataUiViewsAclArgs) ToDataUiViewsAclOutput() DataUiViewsAclOutput {
	return i.ToDataUiViewsAclOutputWithContext(context.Background())
}

func (i DataUiViewsAclArgs) ToDataUiViewsAclOutputWithContext(ctx context.Context) DataUiViewsAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(DataUiViewsAclOutput)
}

func (i DataUiViewsAclArgs) ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput {
	return i.ToDataUiViewsAclPtrOutputWithContext(context.Background())
}

func (i DataUiViewsAclArgs) ToDataUiViewsAclPtrOutputWithContext(ctx context.Context) DataUiViewsAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(DataUiViewsAclOutput).ToDataUiViewsAclPtrOutputWithContext(ctx)
}

type DataUiViewsAclPtrInput interface {
	pulumi.Input

	ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput
	ToDataUiViewsAclPtrOutputWithContext(context.Context) DataUiViewsAclPtrOutput
}

type dataUiViewsAclPtrType DataUiViewsAclArgs

func DataUiViewsAclPtr(v *DataUiViewsAclArgs) DataUiViewsAclPtrInput {
	return (*dataUiViewsAclPtrType)(v)
}

func (*dataUiViewsAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**DataUiViewsAcl)(nil)).Elem()
}

func (i *dataUiViewsAclPtrType) ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput {
	return i.ToDataUiViewsAclPtrOutputWithContext(context.Background())
}

func (i *dataUiViewsAclPtrType) ToDataUiViewsAclPtrOutputWithContext(ctx context.Context) DataUiViewsAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(DataUiViewsAclPtrOutput)
}

type DataUiViewsAclOutput struct{ *pulumi.OutputState }

func (DataUiViewsAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*DataUiViewsAcl)(nil)).Elem()
}

func (o DataUiViewsAclOutput) ToDataUiViewsAclOutput() DataUiViewsAclOutput {
	return o
}

func (o DataUiViewsAclOutput) ToDataUiViewsAclOutputWithContext(ctx context.Context) DataUiViewsAclOutput {
	return o
}

func (o DataUiViewsAclOutput) ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput {
	return o.ToDataUiViewsAclPtrOutputWithContext(context.Background())
}

func (o DataUiViewsAclOutput) ToDataUiViewsAclPtrOutputWithContext(ctx context.Context) DataUiViewsAclPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *DataUiViewsAcl {
		return &v
	}).(DataUiViewsAclPtrOutput)
}
func (o DataUiViewsAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v DataUiViewsAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o DataUiViewsAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v DataUiViewsAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type DataUiViewsAclPtrOutput struct{ *pulumi.OutputState }

func (DataUiViewsAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**DataUiViewsAcl)(nil)).Elem()
}

func (o DataUiViewsAclPtrOutput) ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput {
	return o
}

func (o DataUiViewsAclPtrOutput) ToDataUiViewsAclPtrOutputWithContext(ctx context.Context) DataUiViewsAclPtrOutput {
	return o
}

func (o DataUiViewsAclPtrOutput) Elem() DataUiViewsAclOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) DataUiViewsAcl { return *v }).(DataUiViewsAclOutput)
}

func (o DataUiViewsAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o DataUiViewsAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type IndexesAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type IndexesAclInput interface {
	pulumi.Input

	ToIndexesAclOutput() IndexesAclOutput
	ToIndexesAclOutputWithContext(context.Context) IndexesAclOutput
}

type IndexesAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (IndexesAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*IndexesAcl)(nil)).Elem()
}

func (i IndexesAclArgs) ToIndexesAclOutput() IndexesAclOutput {
	return i.ToIndexesAclOutputWithContext(context.Background())
}

func (i IndexesAclArgs) ToIndexesAclOutputWithContext(ctx context.Context) IndexesAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(IndexesAclOutput)
}

func (i IndexesAclArgs) ToIndexesAclPtrOutput() IndexesAclPtrOutput {
	return i.ToIndexesAclPtrOutputWithContext(context.Background())
}

func (i IndexesAclArgs) ToIndexesAclPtrOutputWithContext(ctx context.Context) IndexesAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(IndexesAclOutput).ToIndexesAclPtrOutputWithContext(ctx)
}

type IndexesAclPtrInput interface {
	pulumi.Input

	ToIndexesAclPtrOutput() IndexesAclPtrOutput
	ToIndexesAclPtrOutputWithContext(context.Context) IndexesAclPtrOutput
}

type indexesAclPtrType IndexesAclArgs

func IndexesAclPtr(v *IndexesAclArgs) IndexesAclPtrInput {
	return (*indexesAclPtrType)(v)
}

func (*indexesAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**IndexesAcl)(nil)).Elem()
}

func (i *indexesAclPtrType) ToIndexesAclPtrOutput() IndexesAclPtrOutput {
	return i.ToIndexesAclPtrOutputWithContext(context.Background())
}

func (i *indexesAclPtrType) ToIndexesAclPtrOutputWithContext(ctx context.Context) IndexesAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(IndexesAclPtrOutput)
}

type IndexesAclOutput struct{ *pulumi.OutputState }

func (IndexesAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*IndexesAcl)(nil)).Elem()
}

func (o IndexesAclOutput) ToIndexesAclOutput() IndexesAclOutput {
	return o
}

func (o IndexesAclOutput) ToIndexesAclOutputWithContext(ctx context.Context) IndexesAclOutput {
	return o
}

func (o IndexesAclOutput) ToIndexesAclPtrOutput() IndexesAclPtrOutput {
	return o.ToIndexesAclPtrOutputWithContext(context.Background())
}

func (o IndexesAclOutput) ToIndexesAclPtrOutputWithContext(ctx context.Context) IndexesAclPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *IndexesAcl {
		return &v
	}).(IndexesAclPtrOutput)
}
func (o IndexesAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o IndexesAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o IndexesAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v IndexesAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o IndexesAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o IndexesAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v IndexesAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type IndexesAclPtrOutput struct{ *pulumi.OutputState }

func (IndexesAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**IndexesAcl)(nil)).Elem()
}

func (o IndexesAclPtrOutput) ToIndexesAclPtrOutput() IndexesAclPtrOutput {
	return o
}

func (o IndexesAclPtrOutput) ToIndexesAclPtrOutputWithContext(ctx context.Context) IndexesAclPtrOutput {
	return o
}

func (o IndexesAclPtrOutput) Elem() IndexesAclOutput {
	return o.ApplyT(func(v *IndexesAcl) IndexesAcl { return *v }).(IndexesAclOutput)
}

func (o IndexesAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o IndexesAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o IndexesAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *IndexesAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o IndexesAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o IndexesAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *IndexesAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsHttpEventCollectorAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type InputsHttpEventCollectorAclInput interface {
	pulumi.Input

	ToInputsHttpEventCollectorAclOutput() InputsHttpEventCollectorAclOutput
	ToInputsHttpEventCollectorAclOutputWithContext(context.Context) InputsHttpEventCollectorAclOutput
}

type InputsHttpEventCollectorAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsHttpEventCollectorAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsHttpEventCollectorAcl)(nil)).Elem()
}

func (i InputsHttpEventCollectorAclArgs) ToInputsHttpEventCollectorAclOutput() InputsHttpEventCollectorAclOutput {
	return i.ToInputsHttpEventCollectorAclOutputWithContext(context.Background())
}

func (i InputsHttpEventCollectorAclArgs) ToInputsHttpEventCollectorAclOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsHttpEventCollectorAclOutput)
}

func (i InputsHttpEventCollectorAclArgs) ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput {
	return i.ToInputsHttpEventCollectorAclPtrOutputWithContext(context.Background())
}

func (i InputsHttpEventCollectorAclArgs) ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsHttpEventCollectorAclOutput).ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx)
}

type InputsHttpEventCollectorAclPtrInput interface {
	pulumi.Input

	ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput
	ToInputsHttpEventCollectorAclPtrOutputWithContext(context.Context) InputsHttpEventCollectorAclPtrOutput
}

type inputsHttpEventCollectorAclPtrType InputsHttpEventCollectorAclArgs

func InputsHttpEventCollectorAclPtr(v *InputsHttpEventCollectorAclArgs) InputsHttpEventCollectorAclPtrInput {
	return (*inputsHttpEventCollectorAclPtrType)(v)
}

func (*inputsHttpEventCollectorAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsHttpEventCollectorAcl)(nil)).Elem()
}

func (i *inputsHttpEventCollectorAclPtrType) ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput {
	return i.ToInputsHttpEventCollectorAclPtrOutputWithContext(context.Background())
}

func (i *inputsHttpEventCollectorAclPtrType) ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsHttpEventCollectorAclPtrOutput)
}

type InputsHttpEventCollectorAclOutput struct{ *pulumi.OutputState }

func (InputsHttpEventCollectorAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsHttpEventCollectorAcl)(nil)).Elem()
}

func (o InputsHttpEventCollectorAclOutput) ToInputsHttpEventCollectorAclOutput() InputsHttpEventCollectorAclOutput {
	return o
}

func (o InputsHttpEventCollectorAclOutput) ToInputsHttpEventCollectorAclOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclOutput {
	return o
}

func (o InputsHttpEventCollectorAclOutput) ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput {
	return o.ToInputsHttpEventCollectorAclPtrOutputWithContext(context.Background())
}

func (o InputsHttpEventCollectorAclOutput) ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *InputsHttpEventCollectorAcl {
		return &v
	}).(InputsHttpEventCollectorAclPtrOutput)
}
func (o InputsHttpEventCollectorAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsHttpEventCollectorAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsHttpEventCollectorAclPtrOutput struct{ *pulumi.OutputState }

func (InputsHttpEventCollectorAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsHttpEventCollectorAcl)(nil)).Elem()
}

func (o InputsHttpEventCollectorAclPtrOutput) ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput {
	return o
}

func (o InputsHttpEventCollectorAclPtrOutput) ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclPtrOutput {
	return o
}

func (o InputsHttpEventCollectorAclPtrOutput) Elem() InputsHttpEventCollectorAclOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) InputsHttpEventCollectorAcl { return *v }).(InputsHttpEventCollectorAclOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsMonitorAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type InputsMonitorAclInput interface {
	pulumi.Input

	ToInputsMonitorAclOutput() InputsMonitorAclOutput
	ToInputsMonitorAclOutputWithContext(context.Context) InputsMonitorAclOutput
}

type InputsMonitorAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsMonitorAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsMonitorAcl)(nil)).Elem()
}

func (i InputsMonitorAclArgs) ToInputsMonitorAclOutput() InputsMonitorAclOutput {
	return i.ToInputsMonitorAclOutputWithContext(context.Background())
}

func (i InputsMonitorAclArgs) ToInputsMonitorAclOutputWithContext(ctx context.Context) InputsMonitorAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsMonitorAclOutput)
}

func (i InputsMonitorAclArgs) ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput {
	return i.ToInputsMonitorAclPtrOutputWithContext(context.Background())
}

func (i InputsMonitorAclArgs) ToInputsMonitorAclPtrOutputWithContext(ctx context.Context) InputsMonitorAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsMonitorAclOutput).ToInputsMonitorAclPtrOutputWithContext(ctx)
}

type InputsMonitorAclPtrInput interface {
	pulumi.Input

	ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput
	ToInputsMonitorAclPtrOutputWithContext(context.Context) InputsMonitorAclPtrOutput
}

type inputsMonitorAclPtrType InputsMonitorAclArgs

func InputsMonitorAclPtr(v *InputsMonitorAclArgs) InputsMonitorAclPtrInput {
	return (*inputsMonitorAclPtrType)(v)
}

func (*inputsMonitorAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsMonitorAcl)(nil)).Elem()
}

func (i *inputsMonitorAclPtrType) ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput {
	return i.ToInputsMonitorAclPtrOutputWithContext(context.Background())
}

func (i *inputsMonitorAclPtrType) ToInputsMonitorAclPtrOutputWithContext(ctx context.Context) InputsMonitorAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsMonitorAclPtrOutput)
}

type InputsMonitorAclOutput struct{ *pulumi.OutputState }

func (InputsMonitorAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsMonitorAcl)(nil)).Elem()
}

func (o InputsMonitorAclOutput) ToInputsMonitorAclOutput() InputsMonitorAclOutput {
	return o
}

func (o InputsMonitorAclOutput) ToInputsMonitorAclOutputWithContext(ctx context.Context) InputsMonitorAclOutput {
	return o
}

func (o InputsMonitorAclOutput) ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput {
	return o.ToInputsMonitorAclPtrOutputWithContext(context.Background())
}

func (o InputsMonitorAclOutput) ToInputsMonitorAclPtrOutputWithContext(ctx context.Context) InputsMonitorAclPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *InputsMonitorAcl {
		return &v
	}).(InputsMonitorAclPtrOutput)
}
func (o InputsMonitorAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsMonitorAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsMonitorAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsMonitorAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsMonitorAclPtrOutput struct{ *pulumi.OutputState }

func (InputsMonitorAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsMonitorAcl)(nil)).Elem()
}

func (o InputsMonitorAclPtrOutput) ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput {
	return o
}

func (o InputsMonitorAclPtrOutput) ToInputsMonitorAclPtrOutputWithContext(ctx context.Context) InputsMonitorAclPtrOutput {
	return o
}

func (o InputsMonitorAclPtrOutput) Elem() InputsMonitorAclOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) InputsMonitorAcl { return *v }).(InputsMonitorAclOutput)
}

func (o InputsMonitorAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsMonitorAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsScriptAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type InputsScriptAclInput interface {
	pulumi.Input

	ToInputsScriptAclOutput() InputsScriptAclOutput
	ToInputsScriptAclOutputWithContext(context.Context) InputsScriptAclOutput
}

type InputsScriptAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsScriptAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsScriptAcl)(nil)).Elem()
}

func (i InputsScriptAclArgs) ToInputsScriptAclOutput() InputsScriptAclOutput {
	return i.ToInputsScriptAclOutputWithContext(context.Background())
}

func (i InputsScriptAclArgs) ToInputsScriptAclOutputWithContext(ctx context.Context) InputsScriptAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsScriptAclOutput)
}

func (i InputsScriptAclArgs) ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput {
	return i.ToInputsScriptAclPtrOutputWithContext(context.Background())
}

func (i InputsScriptAclArgs) ToInputsScriptAclPtrOutputWithContext(ctx context.Context) InputsScriptAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsScriptAclOutput).ToInputsScriptAclPtrOutputWithContext(ctx)
}

type InputsScriptAclPtrInput interface {
	pulumi.Input

	ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput
	ToInputsScriptAclPtrOutputWithContext(context.Context) InputsScriptAclPtrOutput
}

type inputsScriptAclPtrType InputsScriptAclArgs

func InputsScriptAclPtr(v *InputsScriptAclArgs) InputsScriptAclPtrInput {
	return (*inputsScriptAclPtrType)(v)
}

func (*inputsScriptAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsScriptAcl)(nil)).Elem()
}

func (i *inputsScriptAclPtrType) ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput {
	return i.ToInputsScriptAclPtrOutputWithContext(context.Background())
}

func (i *inputsScriptAclPtrType) ToInputsScriptAclPtrOutputWithContext(ctx context.Context) InputsScriptAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsScriptAclPtrOutput)
}

type InputsScriptAclOutput struct{ *pulumi.OutputState }

func (InputsScriptAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsScriptAcl)(nil)).Elem()
}

func (o InputsScriptAclOutput) ToInputsScriptAclOutput() InputsScriptAclOutput {
	return o
}

func (o InputsScriptAclOutput) ToInputsScriptAclOutputWithContext(ctx context.Context) InputsScriptAclOutput {
	return o
}

func (o InputsScriptAclOutput) ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput {
	return o.ToInputsScriptAclPtrOutputWithContext(context.Background())
}

func (o InputsScriptAclOutput) ToInputsScriptAclPtrOutputWithContext(ctx context.Context) InputsScriptAclPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *InputsScriptAcl {
		return &v
	}).(InputsScriptAclPtrOutput)
}
func (o InputsScriptAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsScriptAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsScriptAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsScriptAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsScriptAclPtrOutput struct{ *pulumi.OutputState }

func (InputsScriptAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsScriptAcl)(nil)).Elem()
}

func (o InputsScriptAclPtrOutput) ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput {
	return o
}

func (o InputsScriptAclPtrOutput) ToInputsScriptAclPtrOutputWithContext(ctx context.Context) InputsScriptAclPtrOutput {
	return o
}

func (o InputsScriptAclPtrOutput) Elem() InputsScriptAclOutput {
	return o.ApplyT(func(v *InputsScriptAcl) InputsScriptAcl { return *v }).(InputsScriptAclOutput)
}

func (o InputsScriptAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsScriptAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsScriptAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsScriptAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsTcpCookedAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type InputsTcpCookedAclInput interface {
	pulumi.Input

	ToInputsTcpCookedAclOutput() InputsTcpCookedAclOutput
	ToInputsTcpCookedAclOutputWithContext(context.Context) InputsTcpCookedAclOutput
}

type InputsTcpCookedAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsTcpCookedAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpCookedAcl)(nil)).Elem()
}

func (i InputsTcpCookedAclArgs) ToInputsTcpCookedAclOutput() InputsTcpCookedAclOutput {
	return i.ToInputsTcpCookedAclOutputWithContext(context.Background())
}

func (i InputsTcpCookedAclArgs) ToInputsTcpCookedAclOutputWithContext(ctx context.Context) InputsTcpCookedAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpCookedAclOutput)
}

func (i InputsTcpCookedAclArgs) ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput {
	return i.ToInputsTcpCookedAclPtrOutputWithContext(context.Background())
}

func (i InputsTcpCookedAclArgs) ToInputsTcpCookedAclPtrOutputWithContext(ctx context.Context) InputsTcpCookedAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpCookedAclOutput).ToInputsTcpCookedAclPtrOutputWithContext(ctx)
}

type InputsTcpCookedAclPtrInput interface {
	pulumi.Input

	ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput
	ToInputsTcpCookedAclPtrOutputWithContext(context.Context) InputsTcpCookedAclPtrOutput
}

type inputsTcpCookedAclPtrType InputsTcpCookedAclArgs

func InputsTcpCookedAclPtr(v *InputsTcpCookedAclArgs) InputsTcpCookedAclPtrInput {
	return (*inputsTcpCookedAclPtrType)(v)
}

func (*inputsTcpCookedAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpCookedAcl)(nil)).Elem()
}

func (i *inputsTcpCookedAclPtrType) ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput {
	return i.ToInputsTcpCookedAclPtrOutputWithContext(context.Background())
}

func (i *inputsTcpCookedAclPtrType) ToInputsTcpCookedAclPtrOutputWithContext(ctx context.Context) InputsTcpCookedAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpCookedAclPtrOutput)
}

type InputsTcpCookedAclOutput struct{ *pulumi.OutputState }

func (InputsTcpCookedAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpCookedAcl)(nil)).Elem()
}

func (o InputsTcpCookedAclOutput) ToInputsTcpCookedAclOutput() InputsTcpCookedAclOutput {
	return o
}

func (o InputsTcpCookedAclOutput) ToInputsTcpCookedAclOutputWithContext(ctx context.Context) InputsTcpCookedAclOutput {
	return o
}

func (o InputsTcpCookedAclOutput) ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput {
	return o.ToInputsTcpCookedAclPtrOutputWithContext(context.Background())
}

func (o InputsTcpCookedAclOutput) ToInputsTcpCookedAclPtrOutputWithContext(ctx context.Context) InputsTcpCookedAclPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *InputsTcpCookedAcl {
		return &v
	}).(InputsTcpCookedAclPtrOutput)
}
func (o InputsTcpCookedAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsTcpCookedAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsTcpCookedAclPtrOutput struct{ *pulumi.OutputState }

func (InputsTcpCookedAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpCookedAcl)(nil)).Elem()
}

func (o InputsTcpCookedAclPtrOutput) ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput {
	return o
}

func (o InputsTcpCookedAclPtrOutput) ToInputsTcpCookedAclPtrOutputWithContext(ctx context.Context) InputsTcpCookedAclPtrOutput {
	return o
}

func (o InputsTcpCookedAclPtrOutput) Elem() InputsTcpCookedAclOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) InputsTcpCookedAcl { return *v }).(InputsTcpCookedAclOutput)
}

func (o InputsTcpCookedAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsTcpCookedAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsTcpRawAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type InputsTcpRawAclInput interface {
	pulumi.Input

	ToInputsTcpRawAclOutput() InputsTcpRawAclOutput
	ToInputsTcpRawAclOutputWithContext(context.Context) InputsTcpRawAclOutput
}

type InputsTcpRawAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsTcpRawAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpRawAcl)(nil)).Elem()
}

func (i InputsTcpRawAclArgs) ToInputsTcpRawAclOutput() InputsTcpRawAclOutput {
	return i.ToInputsTcpRawAclOutputWithContext(context.Background())
}

func (i InputsTcpRawAclArgs) ToInputsTcpRawAclOutputWithContext(ctx context.Context) InputsTcpRawAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpRawAclOutput)
}

func (i InputsTcpRawAclArgs) ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput {
	return i.ToInputsTcpRawAclPtrOutputWithContext(context.Background())
}

func (i InputsTcpRawAclArgs) ToInputsTcpRawAclPtrOutputWithContext(ctx context.Context) InputsTcpRawAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpRawAclOutput).ToInputsTcpRawAclPtrOutputWithContext(ctx)
}

type InputsTcpRawAclPtrInput interface {
	pulumi.Input

	ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput
	ToInputsTcpRawAclPtrOutputWithContext(context.Context) InputsTcpRawAclPtrOutput
}

type inputsTcpRawAclPtrType InputsTcpRawAclArgs

func InputsTcpRawAclPtr(v *InputsTcpRawAclArgs) InputsTcpRawAclPtrInput {
	return (*inputsTcpRawAclPtrType)(v)
}

func (*inputsTcpRawAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpRawAcl)(nil)).Elem()
}

func (i *inputsTcpRawAclPtrType) ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput {
	return i.ToInputsTcpRawAclPtrOutputWithContext(context.Background())
}

func (i *inputsTcpRawAclPtrType) ToInputsTcpRawAclPtrOutputWithContext(ctx context.Context) InputsTcpRawAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpRawAclPtrOutput)
}

type InputsTcpRawAclOutput struct{ *pulumi.OutputState }

func (InputsTcpRawAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpRawAcl)(nil)).Elem()
}

func (o InputsTcpRawAclOutput) ToInputsTcpRawAclOutput() InputsTcpRawAclOutput {
	return o
}

func (o InputsTcpRawAclOutput) ToInputsTcpRawAclOutputWithContext(ctx context.Context) InputsTcpRawAclOutput {
	return o
}

func (o InputsTcpRawAclOutput) ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput {
	return o.ToInputsTcpRawAclPtrOutputWithContext(context.Background())
}

func (o InputsTcpRawAclOutput) ToInputsTcpRawAclPtrOutputWithContext(ctx context.Context) InputsTcpRawAclPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *InputsTcpRawAcl {
		return &v
	}).(InputsTcpRawAclPtrOutput)
}
func (o InputsTcpRawAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsTcpRawAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsTcpRawAclPtrOutput struct{ *pulumi.OutputState }

func (InputsTcpRawAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpRawAcl)(nil)).Elem()
}

func (o InputsTcpRawAclPtrOutput) ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput {
	return o
}

func (o InputsTcpRawAclPtrOutput) ToInputsTcpRawAclPtrOutputWithContext(ctx context.Context) InputsTcpRawAclPtrOutput {
	return o
}

func (o InputsTcpRawAclPtrOutput) Elem() InputsTcpRawAclOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) InputsTcpRawAcl { return *v }).(InputsTcpRawAclOutput)
}

func (o InputsTcpRawAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsTcpRawAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsTcpSplunkTcpTokenAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type InputsTcpSplunkTcpTokenAclInput interface {
	pulumi.Input

	ToInputsTcpSplunkTcpTokenAclOutput() InputsTcpSplunkTcpTokenAclOutput
	ToInputsTcpSplunkTcpTokenAclOutputWithContext(context.Context) InputsTcpSplunkTcpTokenAclOutput
}

type InputsTcpSplunkTcpTokenAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsTcpSplunkTcpTokenAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpSplunkTcpTokenAcl)(nil)).Elem()
}

func (i InputsTcpSplunkTcpTokenAclArgs) ToInputsTcpSplunkTcpTokenAclOutput() InputsTcpSplunkTcpTokenAclOutput {
	return i.ToInputsTcpSplunkTcpTokenAclOutputWithContext(context.Background())
}

func (i InputsTcpSplunkTcpTokenAclArgs) ToInputsTcpSplunkTcpTokenAclOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpSplunkTcpTokenAclOutput)
}

func (i InputsTcpSplunkTcpTokenAclArgs) ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput {
	return i.ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(context.Background())
}

func (i InputsTcpSplunkTcpTokenAclArgs) ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpSplunkTcpTokenAclOutput).ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx)
}

type InputsTcpSplunkTcpTokenAclPtrInput interface {
	pulumi.Input

	ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput
	ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(context.Context) InputsTcpSplunkTcpTokenAclPtrOutput
}

type inputsTcpSplunkTcpTokenAclPtrType InputsTcpSplunkTcpTokenAclArgs

func InputsTcpSplunkTcpTokenAclPtr(v *InputsTcpSplunkTcpTokenAclArgs) InputsTcpSplunkTcpTokenAclPtrInput {
	return (*inputsTcpSplunkTcpTokenAclPtrType)(v)
}

func (*inputsTcpSplunkTcpTokenAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpSplunkTcpTokenAcl)(nil)).Elem()
}

func (i *inputsTcpSplunkTcpTokenAclPtrType) ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput {
	return i.ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(context.Background())
}

func (i *inputsTcpSplunkTcpTokenAclPtrType) ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpSplunkTcpTokenAclPtrOutput)
}

type InputsTcpSplunkTcpTokenAclOutput struct{ *pulumi.OutputState }

func (InputsTcpSplunkTcpTokenAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpSplunkTcpTokenAcl)(nil)).Elem()
}

func (o InputsTcpSplunkTcpTokenAclOutput) ToInputsTcpSplunkTcpTokenAclOutput() InputsTcpSplunkTcpTokenAclOutput {
	return o
}

func (o InputsTcpSplunkTcpTokenAclOutput) ToInputsTcpSplunkTcpTokenAclOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclOutput {
	return o
}

func (o InputsTcpSplunkTcpTokenAclOutput) ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput {
	return o.ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(context.Background())
}

func (o InputsTcpSplunkTcpTokenAclOutput) ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *InputsTcpSplunkTcpTokenAcl {
		return &v
	}).(InputsTcpSplunkTcpTokenAclPtrOutput)
}
func (o InputsTcpSplunkTcpTokenAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsTcpSplunkTcpTokenAclPtrOutput struct{ *pulumi.OutputState }

func (InputsTcpSplunkTcpTokenAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpSplunkTcpTokenAcl)(nil)).Elem()
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput {
	return o
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclPtrOutput {
	return o
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Elem() InputsTcpSplunkTcpTokenAclOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) InputsTcpSplunkTcpTokenAcl { return *v }).(InputsTcpSplunkTcpTokenAclOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsUdpAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type InputsUdpAclInput interface {
	pulumi.Input

	ToInputsUdpAclOutput() InputsUdpAclOutput
	ToInputsUdpAclOutputWithContext(context.Context) InputsUdpAclOutput
}

type InputsUdpAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsUdpAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsUdpAcl)(nil)).Elem()
}

func (i InputsUdpAclArgs) ToInputsUdpAclOutput() InputsUdpAclOutput {
	return i.ToInputsUdpAclOutputWithContext(context.Background())
}

func (i InputsUdpAclArgs) ToInputsUdpAclOutputWithContext(ctx context.Context) InputsUdpAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsUdpAclOutput)
}

func (i InputsUdpAclArgs) ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput {
	return i.ToInputsUdpAclPtrOutputWithContext(context.Background())
}

func (i InputsUdpAclArgs) ToInputsUdpAclPtrOutputWithContext(ctx context.Context) InputsUdpAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsUdpAclOutput).ToInputsUdpAclPtrOutputWithContext(ctx)
}

type InputsUdpAclPtrInput interface {
	pulumi.Input

	ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput
	ToInputsUdpAclPtrOutputWithContext(context.Context) InputsUdpAclPtrOutput
}

type inputsUdpAclPtrType InputsUdpAclArgs

func InputsUdpAclPtr(v *InputsUdpAclArgs) InputsUdpAclPtrInput {
	return (*inputsUdpAclPtrType)(v)
}

func (*inputsUdpAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsUdpAcl)(nil)).Elem()
}

func (i *inputsUdpAclPtrType) ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput {
	return i.ToInputsUdpAclPtrOutputWithContext(context.Background())
}

func (i *inputsUdpAclPtrType) ToInputsUdpAclPtrOutputWithContext(ctx context.Context) InputsUdpAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsUdpAclPtrOutput)
}

type InputsUdpAclOutput struct{ *pulumi.OutputState }

func (InputsUdpAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsUdpAcl)(nil)).Elem()
}

func (o InputsUdpAclOutput) ToInputsUdpAclOutput() InputsUdpAclOutput {
	return o
}

func (o InputsUdpAclOutput) ToInputsUdpAclOutputWithContext(ctx context.Context) InputsUdpAclOutput {
	return o
}

func (o InputsUdpAclOutput) ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput {
	return o.ToInputsUdpAclPtrOutputWithContext(context.Background())
}

func (o InputsUdpAclOutput) ToInputsUdpAclPtrOutputWithContext(ctx context.Context) InputsUdpAclPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *InputsUdpAcl {
		return &v
	}).(InputsUdpAclPtrOutput)
}
func (o InputsUdpAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsUdpAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsUdpAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsUdpAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsUdpAclPtrOutput struct{ *pulumi.OutputState }

func (InputsUdpAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsUdpAcl)(nil)).Elem()
}

func (o InputsUdpAclPtrOutput) ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput {
	return o
}

func (o InputsUdpAclPtrOutput) ToInputsUdpAclPtrOutputWithContext(ctx context.Context) InputsUdpAclPtrOutput {
	return o
}

func (o InputsUdpAclPtrOutput) Elem() InputsUdpAclOutput {
	return o.ApplyT(func(v *InputsUdpAcl) InputsUdpAcl { return *v }).(InputsUdpAclOutput)
}

func (o InputsUdpAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsUdpAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsUdpAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsUdpAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type OutputsTcpDefaultAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type OutputsTcpDefaultAclInput interface {
	pulumi.Input

	ToOutputsTcpDefaultAclOutput() OutputsTcpDefaultAclOutput
	ToOutputsTcpDefaultAclOutputWithContext(context.Context) OutputsTcpDefaultAclOutput
}

type OutputsTcpDefaultAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (OutputsTcpDefaultAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpDefaultAcl)(nil)).Elem()
}

func (i OutputsTcpDefaultAclArgs) ToOutputsTcpDefaultAclOutput() OutputsTcpDefaultAclOutput {
	return i.ToOutputsTcpDefaultAclOutputWithContext(context.Background())
}

func (i OutputsTcpDefaultAclArgs) ToOutputsTcpDefaultAclOutputWithContext(ctx context.Context) OutputsTcpDefaultAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpDefaultAclOutput)
}

func (i OutputsTcpDefaultAclArgs) ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput {
	return i.ToOutputsTcpDefaultAclPtrOutputWithContext(context.Background())
}

func (i OutputsTcpDefaultAclArgs) ToOutputsTcpDefaultAclPtrOutputWithContext(ctx context.Context) OutputsTcpDefaultAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpDefaultAclOutput).ToOutputsTcpDefaultAclPtrOutputWithContext(ctx)
}

type OutputsTcpDefaultAclPtrInput interface {
	pulumi.Input

	ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput
	ToOutputsTcpDefaultAclPtrOutputWithContext(context.Context) OutputsTcpDefaultAclPtrOutput
}

type outputsTcpDefaultAclPtrType OutputsTcpDefaultAclArgs

func OutputsTcpDefaultAclPtr(v *OutputsTcpDefaultAclArgs) OutputsTcpDefaultAclPtrInput {
	return (*outputsTcpDefaultAclPtrType)(v)
}

func (*outputsTcpDefaultAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpDefaultAcl)(nil)).Elem()
}

func (i *outputsTcpDefaultAclPtrType) ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput {
	return i.ToOutputsTcpDefaultAclPtrOutputWithContext(context.Background())
}

func (i *outputsTcpDefaultAclPtrType) ToOutputsTcpDefaultAclPtrOutputWithContext(ctx context.Context) OutputsTcpDefaultAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpDefaultAclPtrOutput)
}

type OutputsTcpDefaultAclOutput struct{ *pulumi.OutputState }

func (OutputsTcpDefaultAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpDefaultAcl)(nil)).Elem()
}

func (o OutputsTcpDefaultAclOutput) ToOutputsTcpDefaultAclOutput() OutputsTcpDefaultAclOutput {
	return o
}

func (o OutputsTcpDefaultAclOutput) ToOutputsTcpDefaultAclOutputWithContext(ctx context.Context) OutputsTcpDefaultAclOutput {
	return o
}

func (o OutputsTcpDefaultAclOutput) ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput {
	return o.ToOutputsTcpDefaultAclPtrOutputWithContext(context.Background())
}

func (o OutputsTcpDefaultAclOutput) ToOutputsTcpDefaultAclPtrOutputWithContext(ctx context.Context) OutputsTcpDefaultAclPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *OutputsTcpDefaultAcl {
		return &v
	}).(OutputsTcpDefaultAclPtrOutput)
}
func (o OutputsTcpDefaultAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o OutputsTcpDefaultAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type OutputsTcpDefaultAclPtrOutput struct{ *pulumi.OutputState }

func (OutputsTcpDefaultAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpDefaultAcl)(nil)).Elem()
}

func (o OutputsTcpDefaultAclPtrOutput) ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput {
	return o
}

func (o OutputsTcpDefaultAclPtrOutput) ToOutputsTcpDefaultAclPtrOutputWithContext(ctx context.Context) OutputsTcpDefaultAclPtrOutput {
	return o
}

func (o OutputsTcpDefaultAclPtrOutput) Elem() OutputsTcpDefaultAclOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) OutputsTcpDefaultAcl { return *v }).(OutputsTcpDefaultAclOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type OutputsTcpGroupAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type OutputsTcpGroupAclInput interface {
	pulumi.Input

	ToOutputsTcpGroupAclOutput() OutputsTcpGroupAclOutput
	ToOutputsTcpGroupAclOutputWithContext(context.Context) OutputsTcpGroupAclOutput
}

type OutputsTcpGroupAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (OutputsTcpGroupAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpGroupAcl)(nil)).Elem()
}

func (i OutputsTcpGroupAclArgs) ToOutputsTcpGroupAclOutput() OutputsTcpGroupAclOutput {
	return i.ToOutputsTcpGroupAclOutputWithContext(context.Background())
}

func (i OutputsTcpGroupAclArgs) ToOutputsTcpGroupAclOutputWithContext(ctx context.Context) OutputsTcpGroupAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpGroupAclOutput)
}

func (i OutputsTcpGroupAclArgs) ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput {
	return i.ToOutputsTcpGroupAclPtrOutputWithContext(context.Background())
}

func (i OutputsTcpGroupAclArgs) ToOutputsTcpGroupAclPtrOutputWithContext(ctx context.Context) OutputsTcpGroupAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpGroupAclOutput).ToOutputsTcpGroupAclPtrOutputWithContext(ctx)
}

type OutputsTcpGroupAclPtrInput interface {
	pulumi.Input

	ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput
	ToOutputsTcpGroupAclPtrOutputWithContext(context.Context) OutputsTcpGroupAclPtrOutput
}

type outputsTcpGroupAclPtrType OutputsTcpGroupAclArgs

func OutputsTcpGroupAclPtr(v *OutputsTcpGroupAclArgs) OutputsTcpGroupAclPtrInput {
	return (*outputsTcpGroupAclPtrType)(v)
}

func (*outputsTcpGroupAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpGroupAcl)(nil)).Elem()
}

func (i *outputsTcpGroupAclPtrType) ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput {
	return i.ToOutputsTcpGroupAclPtrOutputWithContext(context.Background())
}

func (i *outputsTcpGroupAclPtrType) ToOutputsTcpGroupAclPtrOutputWithContext(ctx context.Context) OutputsTcpGroupAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpGroupAclPtrOutput)
}

type OutputsTcpGroupAclOutput struct{ *pulumi.OutputState }

func (OutputsTcpGroupAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpGroupAcl)(nil)).Elem()
}

func (o OutputsTcpGroupAclOutput) ToOutputsTcpGroupAclOutput() OutputsTcpGroupAclOutput {
	return o
}

func (o OutputsTcpGroupAclOutput) ToOutputsTcpGroupAclOutputWithContext(ctx context.Context) OutputsTcpGroupAclOutput {
	return o
}

func (o OutputsTcpGroupAclOutput) ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput {
	return o.ToOutputsTcpGroupAclPtrOutputWithContext(context.Background())
}

func (o OutputsTcpGroupAclOutput) ToOutputsTcpGroupAclPtrOutputWithContext(ctx context.Context) OutputsTcpGroupAclPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *OutputsTcpGroupAcl {
		return &v
	}).(OutputsTcpGroupAclPtrOutput)
}
func (o OutputsTcpGroupAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o OutputsTcpGroupAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type OutputsTcpGroupAclPtrOutput struct{ *pulumi.OutputState }

func (OutputsTcpGroupAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpGroupAcl)(nil)).Elem()
}

func (o OutputsTcpGroupAclPtrOutput) ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput {
	return o
}

func (o OutputsTcpGroupAclPtrOutput) ToOutputsTcpGroupAclPtrOutputWithContext(ctx context.Context) OutputsTcpGroupAclPtrOutput {
	return o
}

func (o OutputsTcpGroupAclPtrOutput) Elem() OutputsTcpGroupAclOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) OutputsTcpGroupAcl { return *v }).(OutputsTcpGroupAclOutput)
}

func (o OutputsTcpGroupAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type OutputsTcpServerAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type OutputsTcpServerAclInput interface {
	pulumi.Input

	ToOutputsTcpServerAclOutput() OutputsTcpServerAclOutput
	ToOutputsTcpServerAclOutputWithContext(context.Context) OutputsTcpServerAclOutput
}

type OutputsTcpServerAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (OutputsTcpServerAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpServerAcl)(nil)).Elem()
}

func (i OutputsTcpServerAclArgs) ToOutputsTcpServerAclOutput() OutputsTcpServerAclOutput {
	return i.ToOutputsTcpServerAclOutputWithContext(context.Background())
}

func (i OutputsTcpServerAclArgs) ToOutputsTcpServerAclOutputWithContext(ctx context.Context) OutputsTcpServerAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpServerAclOutput)
}

func (i OutputsTcpServerAclArgs) ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput {
	return i.ToOutputsTcpServerAclPtrOutputWithContext(context.Background())
}

func (i OutputsTcpServerAclArgs) ToOutputsTcpServerAclPtrOutputWithContext(ctx context.Context) OutputsTcpServerAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpServerAclOutput).ToOutputsTcpServerAclPtrOutputWithContext(ctx)
}

type OutputsTcpServerAclPtrInput interface {
	pulumi.Input

	ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput
	ToOutputsTcpServerAclPtrOutputWithContext(context.Context) OutputsTcpServerAclPtrOutput
}

type outputsTcpServerAclPtrType OutputsTcpServerAclArgs

func OutputsTcpServerAclPtr(v *OutputsTcpServerAclArgs) OutputsTcpServerAclPtrInput {
	return (*outputsTcpServerAclPtrType)(v)
}

func (*outputsTcpServerAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpServerAcl)(nil)).Elem()
}

func (i *outputsTcpServerAclPtrType) ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput {
	return i.ToOutputsTcpServerAclPtrOutputWithContext(context.Background())
}

func (i *outputsTcpServerAclPtrType) ToOutputsTcpServerAclPtrOutputWithContext(ctx context.Context) OutputsTcpServerAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpServerAclPtrOutput)
}

type OutputsTcpServerAclOutput struct{ *pulumi.OutputState }

func (OutputsTcpServerAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpServerAcl)(nil)).Elem()
}

func (o OutputsTcpServerAclOutput) ToOutputsTcpServerAclOutput() OutputsTcpServerAclOutput {
	return o
}

func (o OutputsTcpServerAclOutput) ToOutputsTcpServerAclOutputWithContext(ctx context.Context) OutputsTcpServerAclOutput {
	return o
}

func (o OutputsTcpServerAclOutput) ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput {
	return o.ToOutputsTcpServerAclPtrOutputWithContext(context.Background())
}

func (o OutputsTcpServerAclOutput) ToOutputsTcpServerAclPtrOutputWithContext(ctx context.Context) OutputsTcpServerAclPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *OutputsTcpServerAcl {
		return &v
	}).(OutputsTcpServerAclPtrOutput)
}
func (o OutputsTcpServerAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o OutputsTcpServerAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type OutputsTcpServerAclPtrOutput struct{ *pulumi.OutputState }

func (OutputsTcpServerAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpServerAcl)(nil)).Elem()
}

func (o OutputsTcpServerAclPtrOutput) ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput {
	return o
}

func (o OutputsTcpServerAclPtrOutput) ToOutputsTcpServerAclPtrOutputWithContext(ctx context.Context) OutputsTcpServerAclPtrOutput {
	return o
}

func (o OutputsTcpServerAclPtrOutput) Elem() OutputsTcpServerAclOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) OutputsTcpServerAcl { return *v }).(OutputsTcpServerAclOutput)
}

func (o OutputsTcpServerAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o OutputsTcpServerAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type OutputsTcpSyslogAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type OutputsTcpSyslogAclInput interface {
	pulumi.Input

	ToOutputsTcpSyslogAclOutput() OutputsTcpSyslogAclOutput
	ToOutputsTcpSyslogAclOutputWithContext(context.Context) OutputsTcpSyslogAclOutput
}

type OutputsTcpSyslogAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (OutputsTcpSyslogAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpSyslogAcl)(nil)).Elem()
}

func (i OutputsTcpSyslogAclArgs) ToOutputsTcpSyslogAclOutput() OutputsTcpSyslogAclOutput {
	return i.ToOutputsTcpSyslogAclOutputWithContext(context.Background())
}

func (i OutputsTcpSyslogAclArgs) ToOutputsTcpSyslogAclOutputWithContext(ctx context.Context) OutputsTcpSyslogAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpSyslogAclOutput)
}

func (i OutputsTcpSyslogAclArgs) ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput {
	return i.ToOutputsTcpSyslogAclPtrOutputWithContext(context.Background())
}

func (i OutputsTcpSyslogAclArgs) ToOutputsTcpSyslogAclPtrOutputWithContext(ctx context.Context) OutputsTcpSyslogAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpSyslogAclOutput).ToOutputsTcpSyslogAclPtrOutputWithContext(ctx)
}

type OutputsTcpSyslogAclPtrInput interface {
	pulumi.Input

	ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput
	ToOutputsTcpSyslogAclPtrOutputWithContext(context.Context) OutputsTcpSyslogAclPtrOutput
}

type outputsTcpSyslogAclPtrType OutputsTcpSyslogAclArgs

func OutputsTcpSyslogAclPtr(v *OutputsTcpSyslogAclArgs) OutputsTcpSyslogAclPtrInput {
	return (*outputsTcpSyslogAclPtrType)(v)
}

func (*outputsTcpSyslogAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpSyslogAcl)(nil)).Elem()
}

func (i *outputsTcpSyslogAclPtrType) ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput {
	return i.ToOutputsTcpSyslogAclPtrOutputWithContext(context.Background())
}

func (i *outputsTcpSyslogAclPtrType) ToOutputsTcpSyslogAclPtrOutputWithContext(ctx context.Context) OutputsTcpSyslogAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpSyslogAclPtrOutput)
}

type OutputsTcpSyslogAclOutput struct{ *pulumi.OutputState }

func (OutputsTcpSyslogAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpSyslogAcl)(nil)).Elem()
}

func (o OutputsTcpSyslogAclOutput) ToOutputsTcpSyslogAclOutput() OutputsTcpSyslogAclOutput {
	return o
}

func (o OutputsTcpSyslogAclOutput) ToOutputsTcpSyslogAclOutputWithContext(ctx context.Context) OutputsTcpSyslogAclOutput {
	return o
}

func (o OutputsTcpSyslogAclOutput) ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput {
	return o.ToOutputsTcpSyslogAclPtrOutputWithContext(context.Background())
}

func (o OutputsTcpSyslogAclOutput) ToOutputsTcpSyslogAclPtrOutputWithContext(ctx context.Context) OutputsTcpSyslogAclPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *OutputsTcpSyslogAcl {
		return &v
	}).(OutputsTcpSyslogAclPtrOutput)
}
func (o OutputsTcpSyslogAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o OutputsTcpSyslogAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type OutputsTcpSyslogAclPtrOutput struct{ *pulumi.OutputState }

func (OutputsTcpSyslogAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpSyslogAcl)(nil)).Elem()
}

func (o OutputsTcpSyslogAclPtrOutput) ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput {
	return o
}

func (o OutputsTcpSyslogAclPtrOutput) ToOutputsTcpSyslogAclPtrOutputWithContext(ctx context.Context) OutputsTcpSyslogAclPtrOutput {
	return o
}

func (o OutputsTcpSyslogAclPtrOutput) Elem() OutputsTcpSyslogAclOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) OutputsTcpSyslogAcl { return *v }).(OutputsTcpSyslogAclOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type SavedSearchesAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type SavedSearchesAclInput interface {
	pulumi.Input

	ToSavedSearchesAclOutput() SavedSearchesAclOutput
	ToSavedSearchesAclOutputWithContext(context.Context) SavedSearchesAclOutput
}

type SavedSearchesAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (SavedSearchesAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SavedSearchesAcl)(nil)).Elem()
}

func (i SavedSearchesAclArgs) ToSavedSearchesAclOutput() SavedSearchesAclOutput {
	return i.ToSavedSearchesAclOutputWithContext(context.Background())
}

func (i SavedSearchesAclArgs) ToSavedSearchesAclOutputWithContext(ctx context.Context) SavedSearchesAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SavedSearchesAclOutput)
}

func (i SavedSearchesAclArgs) ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput {
	return i.ToSavedSearchesAclPtrOutputWithContext(context.Background())
}

func (i SavedSearchesAclArgs) ToSavedSearchesAclPtrOutputWithContext(ctx context.Context) SavedSearchesAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SavedSearchesAclOutput).ToSavedSearchesAclPtrOutputWithContext(ctx)
}

type SavedSearchesAclPtrInput interface {
	pulumi.Input

	ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput
	ToSavedSearchesAclPtrOutputWithContext(context.Context) SavedSearchesAclPtrOutput
}

type savedSearchesAclPtrType SavedSearchesAclArgs

func SavedSearchesAclPtr(v *SavedSearchesAclArgs) SavedSearchesAclPtrInput {
	return (*savedSearchesAclPtrType)(v)
}

func (*savedSearchesAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**SavedSearchesAcl)(nil)).Elem()
}

func (i *savedSearchesAclPtrType) ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput {
	return i.ToSavedSearchesAclPtrOutputWithContext(context.Background())
}

func (i *savedSearchesAclPtrType) ToSavedSearchesAclPtrOutputWithContext(ctx context.Context) SavedSearchesAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SavedSearchesAclPtrOutput)
}

type SavedSearchesAclOutput struct{ *pulumi.OutputState }

func (SavedSearchesAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SavedSearchesAcl)(nil)).Elem()
}

func (o SavedSearchesAclOutput) ToSavedSearchesAclOutput() SavedSearchesAclOutput {
	return o
}

func (o SavedSearchesAclOutput) ToSavedSearchesAclOutputWithContext(ctx context.Context) SavedSearchesAclOutput {
	return o
}

func (o SavedSearchesAclOutput) ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput {
	return o.ToSavedSearchesAclPtrOutputWithContext(context.Background())
}

func (o SavedSearchesAclOutput) ToSavedSearchesAclPtrOutputWithContext(ctx context.Context) SavedSearchesAclPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *SavedSearchesAcl {
		return &v
	}).(SavedSearchesAclPtrOutput)
}
func (o SavedSearchesAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v SavedSearchesAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o SavedSearchesAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v SavedSearchesAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type SavedSearchesAclPtrOutput struct{ *pulumi.OutputState }

func (SavedSearchesAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**SavedSearchesAcl)(nil)).Elem()
}

func (o SavedSearchesAclPtrOutput) ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput {
	return o
}

func (o SavedSearchesAclPtrOutput) ToSavedSearchesAclPtrOutputWithContext(ctx context.Context) SavedSearchesAclPtrOutput {
	return o
}

func (o SavedSearchesAclPtrOutput) Elem() SavedSearchesAclOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) SavedSearchesAcl { return *v }).(SavedSearchesAclOutput)
}

func (o SavedSearchesAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o SavedSearchesAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type ShIndexesManagerAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

type ShIndexesManagerAclInput interface {
	pulumi.Input

	ToShIndexesManagerAclOutput() ShIndexesManagerAclOutput
	ToShIndexesManagerAclOutputWithContext(context.Context) ShIndexesManagerAclOutput
}

type ShIndexesManagerAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (ShIndexesManagerAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*ShIndexesManagerAcl)(nil)).Elem()
}

func (i ShIndexesManagerAclArgs) ToShIndexesManagerAclOutput() ShIndexesManagerAclOutput {
	return i.ToShIndexesManagerAclOutputWithContext(context.Background())
}

func (i ShIndexesManagerAclArgs) ToShIndexesManagerAclOutputWithContext(ctx context.Context) ShIndexesManagerAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ShIndexesManagerAclOutput)
}

func (i ShIndexesManagerAclArgs) ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput {
	return i.ToShIndexesManagerAclPtrOutputWithContext(context.Background())
}

func (i ShIndexesManagerAclArgs) ToShIndexesManagerAclPtrOutputWithContext(ctx context.Context) ShIndexesManagerAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ShIndexesManagerAclOutput).ToShIndexesManagerAclPtrOutputWithContext(ctx)
}

type ShIndexesManagerAclPtrInput interface {
	pulumi.Input

	ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput
	ToShIndexesManagerAclPtrOutputWithContext(context.Context) ShIndexesManagerAclPtrOutput
}

type shIndexesManagerAclPtrType ShIndexesManagerAclArgs

func ShIndexesManagerAclPtr(v *ShIndexesManagerAclArgs) ShIndexesManagerAclPtrInput {
	return (*shIndexesManagerAclPtrType)(v)
}

func (*shIndexesManagerAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**ShIndexesManagerAcl)(nil)).Elem()
}

func (i *shIndexesManagerAclPtrType) ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput {
	return i.ToShIndexesManagerAclPtrOutputWithContext(context.Background())
}

func (i *shIndexesManagerAclPtrType) ToShIndexesManagerAclPtrOutputWithContext(ctx context.Context) ShIndexesManagerAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ShIndexesManagerAclPtrOutput)
}

type ShIndexesManagerAclOutput struct{ *pulumi.OutputState }

func (ShIndexesManagerAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*ShIndexesManagerAcl)(nil)).Elem()
}

func (o ShIndexesManagerAclOutput) ToShIndexesManagerAclOutput() ShIndexesManagerAclOutput {
	return o
}

func (o ShIndexesManagerAclOutput) ToShIndexesManagerAclOutputWithContext(ctx context.Context) ShIndexesManagerAclOutput {
	return o
}

func (o ShIndexesManagerAclOutput) ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput {
	return o.ToShIndexesManagerAclPtrOutputWithContext(context.Background())
}

func (o ShIndexesManagerAclOutput) ToShIndexesManagerAclPtrOutputWithContext(ctx context.Context) ShIndexesManagerAclPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *ShIndexesManagerAcl {
		return &v
	}).(ShIndexesManagerAclPtrOutput)
}
func (o ShIndexesManagerAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o ShIndexesManagerAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type ShIndexesManagerAclPtrOutput struct{ *pulumi.OutputState }

func (ShIndexesManagerAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**ShIndexesManagerAcl)(nil)).Elem()
}

func (o ShIndexesManagerAclPtrOutput) ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput {
	return o
}

func (o ShIndexesManagerAclPtrOutput) ToShIndexesManagerAclPtrOutputWithContext(ctx context.Context) ShIndexesManagerAclPtrOutput {
	return o
}

func (o ShIndexesManagerAclPtrOutput) Elem() ShIndexesManagerAclOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) ShIndexesManagerAcl { return *v }).(ShIndexesManagerAclOutput)
}

func (o ShIndexesManagerAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o ShIndexesManagerAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

func init() {
	pulumi.RegisterOutputType(AppsLocalAclOutput{})
	pulumi.RegisterOutputType(AppsLocalAclPtrOutput{})
	pulumi.RegisterOutputType(ConfigsConfAclOutput{})
	pulumi.RegisterOutputType(ConfigsConfAclPtrOutput{})
	pulumi.RegisterOutputType(DataUiViewsAclOutput{})
	pulumi.RegisterOutputType(DataUiViewsAclPtrOutput{})
	pulumi.RegisterOutputType(IndexesAclOutput{})
	pulumi.RegisterOutputType(IndexesAclPtrOutput{})
	pulumi.RegisterOutputType(InputsHttpEventCollectorAclOutput{})
	pulumi.RegisterOutputType(InputsHttpEventCollectorAclPtrOutput{})
	pulumi.RegisterOutputType(InputsMonitorAclOutput{})
	pulumi.RegisterOutputType(InputsMonitorAclPtrOutput{})
	pulumi.RegisterOutputType(InputsScriptAclOutput{})
	pulumi.RegisterOutputType(InputsScriptAclPtrOutput{})
	pulumi.RegisterOutputType(InputsTcpCookedAclOutput{})
	pulumi.RegisterOutputType(InputsTcpCookedAclPtrOutput{})
	pulumi.RegisterOutputType(InputsTcpRawAclOutput{})
	pulumi.RegisterOutputType(InputsTcpRawAclPtrOutput{})
	pulumi.RegisterOutputType(InputsTcpSplunkTcpTokenAclOutput{})
	pulumi.RegisterOutputType(InputsTcpSplunkTcpTokenAclPtrOutput{})
	pulumi.RegisterOutputType(InputsUdpAclOutput{})
	pulumi.RegisterOutputType(InputsUdpAclPtrOutput{})
	pulumi.RegisterOutputType(OutputsTcpDefaultAclOutput{})
	pulumi.RegisterOutputType(OutputsTcpDefaultAclPtrOutput{})
	pulumi.RegisterOutputType(OutputsTcpGroupAclOutput{})
	pulumi.RegisterOutputType(OutputsTcpGroupAclPtrOutput{})
	pulumi.RegisterOutputType(OutputsTcpServerAclOutput{})
	pulumi.RegisterOutputType(OutputsTcpServerAclPtrOutput{})
	pulumi.RegisterOutputType(OutputsTcpSyslogAclOutput{})
	pulumi.RegisterOutputType(OutputsTcpSyslogAclPtrOutput{})
	pulumi.RegisterOutputType(SavedSearchesAclOutput{})
	pulumi.RegisterOutputType(SavedSearchesAclPtrOutput{})
	pulumi.RegisterOutputType(ShIndexesManagerAclOutput{})
	pulumi.RegisterOutputType(ShIndexesManagerAclPtrOutput{})
}
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package splunk

import (
	"context"
	"reflect"

	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

type AppsLocalAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// AppsLocalAclInput is an input type that accepts AppsLocalAclArgs and AppsLocalAclOutput values.
// You can construct a concrete instance of `AppsLocalAclInput` via:
//
//          AppsLocalAclArgs{...}
type AppsLocalAclInput interface {
	pulumi.Input

	ToAppsLocalAclOutput() AppsLocalAclOutput
	ToAppsLocalAclOutputWithContext(context.Context) AppsLocalAclOutput
}

type AppsLocalAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (AppsLocalAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*AppsLocalAcl)(nil)).Elem()
}

func (i AppsLocalAclArgs) ToAppsLocalAclOutput() AppsLocalAclOutput {
	return i.ToAppsLocalAclOutputWithContext(context.Background())
}

func (i AppsLocalAclArgs) ToAppsLocalAclOutputWithContext(ctx context.Context) AppsLocalAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(AppsLocalAclOutput)
}

func (i AppsLocalAclArgs) ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput {
	return i.ToAppsLocalAclPtrOutputWithContext(context.Background())
}

func (i AppsLocalAclArgs) ToAppsLocalAclPtrOutputWithContext(ctx context.Context) AppsLocalAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(AppsLocalAclOutput).ToAppsLocalAclPtrOutputWithContext(ctx)
}

// AppsLocalAclPtrInput is an input type that accepts AppsLocalAclArgs, AppsLocalAclPtr and AppsLocalAclPtrOutput values.
// You can construct a concrete instance of `AppsLocalAclPtrInput` via:
//
//          AppsLocalAclArgs{...}
//
//  or:
//
//          nil
type AppsLocalAclPtrInput interface {
	pulumi.Input

	ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput
	ToAppsLocalAclPtrOutputWithContext(context.Context) AppsLocalAclPtrOutput
}

type appsLocalAclPtrType AppsLocalAclArgs

func AppsLocalAclPtr(v *AppsLocalAclArgs) AppsLocalAclPtrInput {
	return (*appsLocalAclPtrType)(v)
}

func (*appsLocalAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**AppsLocalAcl)(nil)).Elem()
}

func (i *appsLocalAclPtrType) ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput {
	return i.ToAppsLocalAclPtrOutputWithContext(context.Background())
}

func (i *appsLocalAclPtrType) ToAppsLocalAclPtrOutputWithContext(ctx context.Context) AppsLocalAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(AppsLocalAclPtrOutput)
}

type AppsLocalAclOutput struct{ *pulumi.OutputState }

func (AppsLocalAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*AppsLocalAcl)(nil)).Elem()
}

func (o AppsLocalAclOutput) ToAppsLocalAclOutput() AppsLocalAclOutput {
	return o
}

func (o AppsLocalAclOutput) ToAppsLocalAclOutputWithContext(ctx context.Context) AppsLocalAclOutput {
	return o
}

func (o AppsLocalAclOutput) ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput {
	return o.ToAppsLocalAclPtrOutputWithContext(context.Background())
}

func (o AppsLocalAclOutput) ToAppsLocalAclPtrOutputWithContext(ctx context.Context) AppsLocalAclPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *AppsLocalAcl {
		return &v
	}).(AppsLocalAclPtrOutput)
}
func (o AppsLocalAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v AppsLocalAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o AppsLocalAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v AppsLocalAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v AppsLocalAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type AppsLocalAclPtrOutput struct{ *pulumi.OutputState }

func (AppsLocalAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**AppsLocalAcl)(nil)).Elem()
}

func (o AppsLocalAclPtrOutput) ToAppsLocalAclPtrOutput() AppsLocalAclPtrOutput {
	return o
}

func (o AppsLocalAclPtrOutput) ToAppsLocalAclPtrOutputWithContext(ctx context.Context) AppsLocalAclPtrOutput {
	return o
}

func (o AppsLocalAclPtrOutput) Elem() AppsLocalAclOutput {
	return o.ApplyT(func(v *AppsLocalAcl) AppsLocalAcl { return *v }).(AppsLocalAclOutput)
}

func (o AppsLocalAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *AppsLocalAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o AppsLocalAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o AppsLocalAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *AppsLocalAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o AppsLocalAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *AppsLocalAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type ConfigsConfAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// ConfigsConfAclInput is an input type that accepts ConfigsConfAclArgs and ConfigsConfAclOutput values.
// You can construct a concrete instance of `ConfigsConfAclInput` via:
//
//          ConfigsConfAclArgs{...}
type ConfigsConfAclInput interface {
	pulumi.Input

	ToConfigsConfAclOutput() ConfigsConfAclOutput
	ToConfigsConfAclOutputWithContext(context.Context) ConfigsConfAclOutput
}

type ConfigsConfAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (ConfigsConfAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*ConfigsConfAcl)(nil)).Elem()
}

func (i ConfigsConfAclArgs) ToConfigsConfAclOutput() ConfigsConfAclOutput {
	return i.ToConfigsConfAclOutputWithContext(context.Background())
}

func (i ConfigsConfAclArgs) ToConfigsConfAclOutputWithContext(ctx context.Context) ConfigsConfAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ConfigsConfAclOutput)
}

func (i ConfigsConfAclArgs) ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput {
	return i.ToConfigsConfAclPtrOutputWithContext(context.Background())
}

func (i ConfigsConfAclArgs) ToConfigsConfAclPtrOutputWithContext(ctx context.Context) ConfigsConfAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ConfigsConfAclOutput).ToConfigsConfAclPtrOutputWithContext(ctx)
}

// ConfigsConfAclPtrInput is an input type that accepts ConfigsConfAclArgs, ConfigsConfAclPtr and ConfigsConfAclPtrOutput values.
// You can construct a concrete instance of `ConfigsConfAclPtrInput` via:
//
//          ConfigsConfAclArgs{...}
//
//  or:
//
//          nil
type ConfigsConfAclPtrInput interface {
	pulumi.Input

	ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput
	ToConfigsConfAclPtrOutputWithContext(context.Context) ConfigsConfAclPtrOutput
}

type configsConfAclPtrType ConfigsConfAclArgs

func ConfigsConfAclPtr(v *ConfigsConfAclArgs) ConfigsConfAclPtrInput {
	return (*configsConfAclPtrType)(v)
}

func (*configsConfAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**ConfigsConfAcl)(nil)).Elem()
}

func (i *configsConfAclPtrType) ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput {
	return i.ToConfigsConfAclPtrOutputWithContext(context.Background())
}

func (i *configsConfAclPtrType) ToConfigsConfAclPtrOutputWithContext(ctx context.Context) ConfigsConfAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ConfigsConfAclPtrOutput)
}

type ConfigsConfAclOutput struct{ *pulumi.OutputState }

func (ConfigsConfAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*ConfigsConfAcl)(nil)).Elem()
}

func (o ConfigsConfAclOutput) ToConfigsConfAclOutput() ConfigsConfAclOutput {
	return o
}

func (o ConfigsConfAclOutput) ToConfigsConfAclOutputWithContext(ctx context.Context) ConfigsConfAclOutput {
	return o
}

func (o ConfigsConfAclOutput) ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput {
	return o.ToConfigsConfAclPtrOutputWithContext(context.Background())
}

func (o ConfigsConfAclOutput) ToConfigsConfAclPtrOutputWithContext(ctx context.Context) ConfigsConfAclPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *ConfigsConfAcl {
		return &v
	}).(ConfigsConfAclPtrOutput)
}
func (o ConfigsConfAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v ConfigsConfAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o ConfigsConfAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ConfigsConfAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v ConfigsConfAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type ConfigsConfAclPtrOutput struct{ *pulumi.OutputState }

func (ConfigsConfAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**ConfigsConfAcl)(nil)).Elem()
}

func (o ConfigsConfAclPtrOutput) ToConfigsConfAclPtrOutput() ConfigsConfAclPtrOutput {
	return o
}

func (o ConfigsConfAclPtrOutput) ToConfigsConfAclPtrOutputWithContext(ctx context.Context) ConfigsConfAclPtrOutput {
	return o
}

func (o ConfigsConfAclPtrOutput) Elem() ConfigsConfAclOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) ConfigsConfAcl { return *v }).(ConfigsConfAclOutput)
}

func (o ConfigsConfAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o ConfigsConfAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o ConfigsConfAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o ConfigsConfAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *ConfigsConfAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type DataUiViewsAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// DataUiViewsAclInput is an input type that accepts DataUiViewsAclArgs and DataUiViewsAclOutput values.
// You can construct a concrete instance of `DataUiViewsAclInput` via:
//
//          DataUiViewsAclArgs{...}
type DataUiViewsAclInput interface {
	pulumi.Input

	ToDataUiViewsAclOutput() DataUiViewsAclOutput
	ToDataUiViewsAclOutputWithContext(context.Context) DataUiViewsAclOutput
}

type DataUiViewsAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (DataUiViewsAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*DataUiViewsAcl)(nil)).Elem()
}

func (i DataUiViewsAclArgs) ToDataUiViewsAclOutput() DataUiViewsAclOutput {
	return i.ToDataUiViewsAclOutputWithContext(context.Background())
}

func (i DataUiViewsAclArgs) ToDataUiViewsAclOutputWithContext(ctx context.Context) DataUiViewsAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(DataUiViewsAclOutput)
}

func (i DataUiViewsAclArgs) ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput {
	return i.ToDataUiViewsAclPtrOutputWithContext(context.Background())
}

func (i DataUiViewsAclArgs) ToDataUiViewsAclPtrOutputWithContext(ctx context.Context) DataUiViewsAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(DataUiViewsAclOutput).ToDataUiViewsAclPtrOutputWithContext(ctx)
}

// DataUiViewsAclPtrInput is an input type that accepts DataUiViewsAclArgs, DataUiViewsAclPtr and DataUiViewsAclPtrOutput values.
// You can construct a concrete instance of `DataUiViewsAclPtrInput` via:
//
//          DataUiViewsAclArgs{...}
//
//  or:
//
//          nil
type DataUiViewsAclPtrInput interface {
	pulumi.Input

	ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput
	ToDataUiViewsAclPtrOutputWithContext(context.Context) DataUiViewsAclPtrOutput
}

type dataUiViewsAclPtrType DataUiViewsAclArgs

func DataUiViewsAclPtr(v *DataUiViewsAclArgs) DataUiViewsAclPtrInput {
	return (*dataUiViewsAclPtrType)(v)
}

func (*dataUiViewsAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**DataUiViewsAcl)(nil)).Elem()
}

func (i *dataUiViewsAclPtrType) ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput {
	return i.ToDataUiViewsAclPtrOutputWithContext(context.Background())
}

func (i *dataUiViewsAclPtrType) ToDataUiViewsAclPtrOutputWithContext(ctx context.Context) DataUiViewsAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(DataUiViewsAclPtrOutput)
}

type DataUiViewsAclOutput struct{ *pulumi.OutputState }

func (DataUiViewsAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*DataUiViewsAcl)(nil)).Elem()
}

func (o DataUiViewsAclOutput) ToDataUiViewsAclOutput() DataUiViewsAclOutput {
	return o
}

func (o DataUiViewsAclOutput) ToDataUiViewsAclOutputWithContext(ctx context.Context) DataUiViewsAclOutput {
	return o
}

func (o DataUiViewsAclOutput) ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput {
	return o.ToDataUiViewsAclPtrOutputWithContext(context.Background())
}

func (o DataUiViewsAclOutput) ToDataUiViewsAclPtrOutputWithContext(ctx context.Context) DataUiViewsAclPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *DataUiViewsAcl {
		return &v
	}).(DataUiViewsAclPtrOutput)
}
func (o DataUiViewsAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v DataUiViewsAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o DataUiViewsAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v DataUiViewsAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v DataUiViewsAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type DataUiViewsAclPtrOutput struct{ *pulumi.OutputState }

func (DataUiViewsAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**DataUiViewsAcl)(nil)).Elem()
}

func (o DataUiViewsAclPtrOutput) ToDataUiViewsAclPtrOutput() DataUiViewsAclPtrOutput {
	return o
}

func (o DataUiViewsAclPtrOutput) ToDataUiViewsAclPtrOutputWithContext(ctx context.Context) DataUiViewsAclPtrOutput {
	return o
}

func (o DataUiViewsAclPtrOutput) Elem() DataUiViewsAclOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) DataUiViewsAcl { return *v }).(DataUiViewsAclOutput)
}

func (o DataUiViewsAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o DataUiViewsAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o DataUiViewsAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o DataUiViewsAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *DataUiViewsAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type IndexesAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// IndexesAclInput is an input type that accepts IndexesAclArgs and IndexesAclOutput values.
// You can construct a concrete instance of `IndexesAclInput` via:
//
//          IndexesAclArgs{...}
type IndexesAclInput interface {
	pulumi.Input

	ToIndexesAclOutput() IndexesAclOutput
	ToIndexesAclOutputWithContext(context.Context) IndexesAclOutput
}

type IndexesAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (IndexesAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*IndexesAcl)(nil)).Elem()
}

func (i IndexesAclArgs) ToIndexesAclOutput() IndexesAclOutput {
	return i.ToIndexesAclOutputWithContext(context.Background())
}

func (i IndexesAclArgs) ToIndexesAclOutputWithContext(ctx context.Context) IndexesAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(IndexesAclOutput)
}

func (i IndexesAclArgs) ToIndexesAclPtrOutput() IndexesAclPtrOutput {
	return i.ToIndexesAclPtrOutputWithContext(context.Background())
}

func (i IndexesAclArgs) ToIndexesAclPtrOutputWithContext(ctx context.Context) IndexesAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(IndexesAclOutput).ToIndexesAclPtrOutputWithContext(ctx)
}

// IndexesAclPtrInput is an input type that accepts IndexesAclArgs, IndexesAclPtr and IndexesAclPtrOutput values.
// You can construct a concrete instance of `IndexesAclPtrInput` via:
//
//          IndexesAclArgs{...}
//
//  or:
//
//          nil
type IndexesAclPtrInput interface {
	pulumi.Input

	ToIndexesAclPtrOutput() IndexesAclPtrOutput
	ToIndexesAclPtrOutputWithContext(context.Context) IndexesAclPtrOutput
}

type indexesAclPtrType IndexesAclArgs

func IndexesAclPtr(v *IndexesAclArgs) IndexesAclPtrInput {
	return (*indexesAclPtrType)(v)
}

func (*indexesAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**IndexesAcl)(nil)).Elem()
}

func (i *indexesAclPtrType) ToIndexesAclPtrOutput() IndexesAclPtrOutput {
	return i.ToIndexesAclPtrOutputWithContext(context.Background())
}

func (i *indexesAclPtrType) ToIndexesAclPtrOutputWithContext(ctx context.Context) IndexesAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(IndexesAclPtrOutput)
}

type IndexesAclOutput struct{ *pulumi.OutputState }

func (IndexesAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*IndexesAcl)(nil)).Elem()
}

func (o IndexesAclOutput) ToIndexesAclOutput() IndexesAclOutput {
	return o
}

func (o IndexesAclOutput) ToIndexesAclOutputWithContext(ctx context.Context) IndexesAclOutput {
	return o
}

func (o IndexesAclOutput) ToIndexesAclPtrOutput() IndexesAclPtrOutput {
	return o.ToIndexesAclPtrOutputWithContext(context.Background())
}

func (o IndexesAclOutput) ToIndexesAclPtrOutputWithContext(ctx context.Context) IndexesAclPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *IndexesAcl {
		return &v
	}).(IndexesAclPtrOutput)
}
func (o IndexesAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o IndexesAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o IndexesAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v IndexesAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o IndexesAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o IndexesAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v IndexesAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o IndexesAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v IndexesAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type IndexesAclPtrOutput struct{ *pulumi.OutputState }

func (IndexesAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**IndexesAcl)(nil)).Elem()
}

func (o IndexesAclPtrOutput) ToIndexesAclPtrOutput() IndexesAclPtrOutput {
	return o
}

func (o IndexesAclPtrOutput) ToIndexesAclPtrOutputWithContext(ctx context.Context) IndexesAclPtrOutput {
	return o
}

func (o IndexesAclPtrOutput) Elem() IndexesAclOutput {
	return o.ApplyT(func(v *IndexesAcl) IndexesAcl { return *v }).(IndexesAclOutput)
}

func (o IndexesAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o IndexesAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o IndexesAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *IndexesAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o IndexesAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o IndexesAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *IndexesAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o IndexesAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *IndexesAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsHttpEventCollectorAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// InputsHttpEventCollectorAclInput is an input type that accepts InputsHttpEventCollectorAclArgs and InputsHttpEventCollectorAclOutput values.
// You can construct a concrete instance of `InputsHttpEventCollectorAclInput` via:
//
//          InputsHttpEventCollectorAclArgs{...}
type InputsHttpEventCollectorAclInput interface {
	pulumi.Input

	ToInputsHttpEventCollectorAclOutput() InputsHttpEventCollectorAclOutput
	ToInputsHttpEventCollectorAclOutputWithContext(context.Context) InputsHttpEventCollectorAclOutput
}

type InputsHttpEventCollectorAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsHttpEventCollectorAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsHttpEventCollectorAcl)(nil)).Elem()
}

func (i InputsHttpEventCollectorAclArgs) ToInputsHttpEventCollectorAclOutput() InputsHttpEventCollectorAclOutput {
	return i.ToInputsHttpEventCollectorAclOutputWithContext(context.Background())
}

func (i InputsHttpEventCollectorAclArgs) ToInputsHttpEventCollectorAclOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsHttpEventCollectorAclOutput)
}

func (i InputsHttpEventCollectorAclArgs) ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput {
	return i.ToInputsHttpEventCollectorAclPtrOutputWithContext(context.Background())
}

func (i InputsHttpEventCollectorAclArgs) ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsHttpEventCollectorAclOutput).ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx)
}

// InputsHttpEventCollectorAclPtrInput is an input type that accepts InputsHttpEventCollectorAclArgs, InputsHttpEventCollectorAclPtr and InputsHttpEventCollectorAclPtrOutput values.
// You can construct a concrete instance of `InputsHttpEventCollectorAclPtrInput` via:
//
//          InputsHttpEventCollectorAclArgs{...}
//
//  or:
//
//          nil
type InputsHttpEventCollectorAclPtrInput interface {
	pulumi.Input

	ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput
	ToInputsHttpEventCollectorAclPtrOutputWithContext(context.Context) InputsHttpEventCollectorAclPtrOutput
}

type inputsHttpEventCollectorAclPtrType InputsHttpEventCollectorAclArgs

func InputsHttpEventCollectorAclPtr(v *InputsHttpEventCollectorAclArgs) InputsHttpEventCollectorAclPtrInput {
	return (*inputsHttpEventCollectorAclPtrType)(v)
}

func (*inputsHttpEventCollectorAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsHttpEventCollectorAcl)(nil)).Elem()
}

func (i *inputsHttpEventCollectorAclPtrType) ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput {
	return i.ToInputsHttpEventCollectorAclPtrOutputWithContext(context.Background())
}

func (i *inputsHttpEventCollectorAclPtrType) ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsHttpEventCollectorAclPtrOutput)
}

type InputsHttpEventCollectorAclOutput struct{ *pulumi.OutputState }

func (InputsHttpEventCollectorAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsHttpEventCollectorAcl)(nil)).Elem()
}

func (o InputsHttpEventCollectorAclOutput) ToInputsHttpEventCollectorAclOutput() InputsHttpEventCollectorAclOutput {
	return o
}

func (o InputsHttpEventCollectorAclOutput) ToInputsHttpEventCollectorAclOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclOutput {
	return o
}

func (o InputsHttpEventCollectorAclOutput) ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput {
	return o.ToInputsHttpEventCollectorAclPtrOutputWithContext(context.Background())
}

func (o InputsHttpEventCollectorAclOutput) ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *InputsHttpEventCollectorAcl {
		return &v
	}).(InputsHttpEventCollectorAclPtrOutput)
}
func (o InputsHttpEventCollectorAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsHttpEventCollectorAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsHttpEventCollectorAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsHttpEventCollectorAclPtrOutput struct{ *pulumi.OutputState }

func (InputsHttpEventCollectorAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsHttpEventCollectorAcl)(nil)).Elem()
}

func (o InputsHttpEventCollectorAclPtrOutput) ToInputsHttpEventCollectorAclPtrOutput() InputsHttpEventCollectorAclPtrOutput {
	return o
}

func (o InputsHttpEventCollectorAclPtrOutput) ToInputsHttpEventCollectorAclPtrOutputWithContext(ctx context.Context) InputsHttpEventCollectorAclPtrOutput {
	return o
}

func (o InputsHttpEventCollectorAclPtrOutput) Elem() InputsHttpEventCollectorAclOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) InputsHttpEventCollectorAcl { return *v }).(InputsHttpEventCollectorAclOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsHttpEventCollectorAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsHttpEventCollectorAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsMonitorAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// InputsMonitorAclInput is an input type that accepts InputsMonitorAclArgs and InputsMonitorAclOutput values.
// You can construct a concrete instance of `InputsMonitorAclInput` via:
//
//          InputsMonitorAclArgs{...}
type InputsMonitorAclInput interface {
	pulumi.Input

	ToInputsMonitorAclOutput() InputsMonitorAclOutput
	ToInputsMonitorAclOutputWithContext(context.Context) InputsMonitorAclOutput
}

type InputsMonitorAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsMonitorAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsMonitorAcl)(nil)).Elem()
}

func (i InputsMonitorAclArgs) ToInputsMonitorAclOutput() InputsMonitorAclOutput {
	return i.ToInputsMonitorAclOutputWithContext(context.Background())
}

func (i InputsMonitorAclArgs) ToInputsMonitorAclOutputWithContext(ctx context.Context) InputsMonitorAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsMonitorAclOutput)
}

func (i InputsMonitorAclArgs) ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput {
	return i.ToInputsMonitorAclPtrOutputWithContext(context.Background())
}

func (i InputsMonitorAclArgs) ToInputsMonitorAclPtrOutputWithContext(ctx context.Context) InputsMonitorAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsMonitorAclOutput).ToInputsMonitorAclPtrOutputWithContext(ctx)
}

// InputsMonitorAclPtrInput is an input type that accepts InputsMonitorAclArgs, InputsMonitorAclPtr and InputsMonitorAclPtrOutput values.
// You can construct a concrete instance of `InputsMonitorAclPtrInput` via:
//
//          InputsMonitorAclArgs{...}
//
//  or:
//
//          nil
type InputsMonitorAclPtrInput interface {
	pulumi.Input

	ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput
	ToInputsMonitorAclPtrOutputWithContext(context.Context) InputsMonitorAclPtrOutput
}

type inputsMonitorAclPtrType InputsMonitorAclArgs

func InputsMonitorAclPtr(v *InputsMonitorAclArgs) InputsMonitorAclPtrInput {
	return (*inputsMonitorAclPtrType)(v)
}

func (*inputsMonitorAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsMonitorAcl)(nil)).Elem()
}

func (i *inputsMonitorAclPtrType) ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput {
	return i.ToInputsMonitorAclPtrOutputWithContext(context.Background())
}

func (i *inputsMonitorAclPtrType) ToInputsMonitorAclPtrOutputWithContext(ctx context.Context) InputsMonitorAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsMonitorAclPtrOutput)
}

type InputsMonitorAclOutput struct{ *pulumi.OutputState }

func (InputsMonitorAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsMonitorAcl)(nil)).Elem()
}

func (o InputsMonitorAclOutput) ToInputsMonitorAclOutput() InputsMonitorAclOutput {
	return o
}

func (o InputsMonitorAclOutput) ToInputsMonitorAclOutputWithContext(ctx context.Context) InputsMonitorAclOutput {
	return o
}

func (o InputsMonitorAclOutput) ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput {
	return o.ToInputsMonitorAclPtrOutputWithContext(context.Background())
}

func (o InputsMonitorAclOutput) ToInputsMonitorAclPtrOutputWithContext(ctx context.Context) InputsMonitorAclPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *InputsMonitorAcl {
		return &v
	}).(InputsMonitorAclPtrOutput)
}
func (o InputsMonitorAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsMonitorAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsMonitorAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsMonitorAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsMonitorAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsMonitorAclPtrOutput struct{ *pulumi.OutputState }

func (InputsMonitorAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsMonitorAcl)(nil)).Elem()
}

func (o InputsMonitorAclPtrOutput) ToInputsMonitorAclPtrOutput() InputsMonitorAclPtrOutput {
	return o
}

func (o InputsMonitorAclPtrOutput) ToInputsMonitorAclPtrOutputWithContext(ctx context.Context) InputsMonitorAclPtrOutput {
	return o
}

func (o InputsMonitorAclPtrOutput) Elem() InputsMonitorAclOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) InputsMonitorAcl { return *v }).(InputsMonitorAclOutput)
}

func (o InputsMonitorAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsMonitorAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsMonitorAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsMonitorAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsMonitorAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsScriptAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// InputsScriptAclInput is an input type that accepts InputsScriptAclArgs and InputsScriptAclOutput values.
// You can construct a concrete instance of `InputsScriptAclInput` via:
//
//          InputsScriptAclArgs{...}
type InputsScriptAclInput interface {
	pulumi.Input

	ToInputsScriptAclOutput() InputsScriptAclOutput
	ToInputsScriptAclOutputWithContext(context.Context) InputsScriptAclOutput
}

type InputsScriptAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsScriptAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsScriptAcl)(nil)).Elem()
}

func (i InputsScriptAclArgs) ToInputsScriptAclOutput() InputsScriptAclOutput {
	return i.ToInputsScriptAclOutputWithContext(context.Background())
}

func (i InputsScriptAclArgs) ToInputsScriptAclOutputWithContext(ctx context.Context) InputsScriptAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsScriptAclOutput)
}

func (i InputsScriptAclArgs) ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput {
	return i.ToInputsScriptAclPtrOutputWithContext(context.Background())
}

func (i InputsScriptAclArgs) ToInputsScriptAclPtrOutputWithContext(ctx context.Context) InputsScriptAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsScriptAclOutput).ToInputsScriptAclPtrOutputWithContext(ctx)
}

// InputsScriptAclPtrInput is an input type that accepts InputsScriptAclArgs, InputsScriptAclPtr and InputsScriptAclPtrOutput values.
// You can construct a concrete instance of `InputsScriptAclPtrInput` via:
//
//          InputsScriptAclArgs{...}
//
//  or:
//
//          nil
type InputsScriptAclPtrInput interface {
	pulumi.Input

	ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput
	ToInputsScriptAclPtrOutputWithContext(context.Context) InputsScriptAclPtrOutput
}

type inputsScriptAclPtrType InputsScriptAclArgs

func InputsScriptAclPtr(v *InputsScriptAclArgs) InputsScriptAclPtrInput {
	return (*inputsScriptAclPtrType)(v)
}

func (*inputsScriptAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsScriptAcl)(nil)).Elem()
}

func (i *inputsScriptAclPtrType) ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput {
	return i.ToInputsScriptAclPtrOutputWithContext(context.Background())
}

func (i *inputsScriptAclPtrType) ToInputsScriptAclPtrOutputWithContext(ctx context.Context) InputsScriptAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsScriptAclPtrOutput)
}

type InputsScriptAclOutput struct{ *pulumi.OutputState }

func (InputsScriptAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsScriptAcl)(nil)).Elem()
}

func (o InputsScriptAclOutput) ToInputsScriptAclOutput() InputsScriptAclOutput {
	return o
}

func (o InputsScriptAclOutput) ToInputsScriptAclOutputWithContext(ctx context.Context) InputsScriptAclOutput {
	return o
}

func (o InputsScriptAclOutput) ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput {
	return o.ToInputsScriptAclPtrOutputWithContext(context.Background())
}

func (o InputsScriptAclOutput) ToInputsScriptAclPtrOutputWithContext(ctx context.Context) InputsScriptAclPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *InputsScriptAcl {
		return &v
	}).(InputsScriptAclPtrOutput)
}
func (o InputsScriptAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsScriptAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsScriptAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsScriptAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsScriptAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsScriptAclPtrOutput struct{ *pulumi.OutputState }

func (InputsScriptAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsScriptAcl)(nil)).Elem()
}

func (o InputsScriptAclPtrOutput) ToInputsScriptAclPtrOutput() InputsScriptAclPtrOutput {
	return o
}

func (o InputsScriptAclPtrOutput) ToInputsScriptAclPtrOutputWithContext(ctx context.Context) InputsScriptAclPtrOutput {
	return o
}

func (o InputsScriptAclPtrOutput) Elem() InputsScriptAclOutput {
	return o.ApplyT(func(v *InputsScriptAcl) InputsScriptAcl { return *v }).(InputsScriptAclOutput)
}

func (o InputsScriptAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsScriptAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsScriptAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsScriptAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsScriptAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsScriptAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsScriptAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsTcpCookedAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// InputsTcpCookedAclInput is an input type that accepts InputsTcpCookedAclArgs and InputsTcpCookedAclOutput values.
// You can construct a concrete instance of `InputsTcpCookedAclInput` via:
//
//          InputsTcpCookedAclArgs{...}
type InputsTcpCookedAclInput interface {
	pulumi.Input

	ToInputsTcpCookedAclOutput() InputsTcpCookedAclOutput
	ToInputsTcpCookedAclOutputWithContext(context.Context) InputsTcpCookedAclOutput
}

type InputsTcpCookedAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsTcpCookedAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpCookedAcl)(nil)).Elem()
}

func (i InputsTcpCookedAclArgs) ToInputsTcpCookedAclOutput() InputsTcpCookedAclOutput {
	return i.ToInputsTcpCookedAclOutputWithContext(context.Background())
}

func (i InputsTcpCookedAclArgs) ToInputsTcpCookedAclOutputWithContext(ctx context.Context) InputsTcpCookedAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpCookedAclOutput)
}

func (i InputsTcpCookedAclArgs) ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput {
	return i.ToInputsTcpCookedAclPtrOutputWithContext(context.Background())
}

func (i InputsTcpCookedAclArgs) ToInputsTcpCookedAclPtrOutputWithContext(ctx context.Context) InputsTcpCookedAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpCookedAclOutput).ToInputsTcpCookedAclPtrOutputWithContext(ctx)
}

// InputsTcpCookedAclPtrInput is an input type that accepts InputsTcpCookedAclArgs, InputsTcpCookedAclPtr and InputsTcpCookedAclPtrOutput values.
// You can construct a concrete instance of `InputsTcpCookedAclPtrInput` via:
//
//          InputsTcpCookedAclArgs{...}
//
//  or:
//
//          nil
type InputsTcpCookedAclPtrInput interface {
	pulumi.Input

	ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput
	ToInputsTcpCookedAclPtrOutputWithContext(context.Context) InputsTcpCookedAclPtrOutput
}

type inputsTcpCookedAclPtrType InputsTcpCookedAclArgs

func InputsTcpCookedAclPtr(v *InputsTcpCookedAclArgs) InputsTcpCookedAclPtrInput {
	return (*inputsTcpCookedAclPtrType)(v)
}

func (*inputsTcpCookedAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpCookedAcl)(nil)).Elem()
}

func (i *inputsTcpCookedAclPtrType) ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput {
	return i.ToInputsTcpCookedAclPtrOutputWithContext(context.Background())
}

func (i *inputsTcpCookedAclPtrType) ToInputsTcpCookedAclPtrOutputWithContext(ctx context.Context) InputsTcpCookedAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpCookedAclPtrOutput)
}

type InputsTcpCookedAclOutput struct{ *pulumi.OutputState }

func (InputsTcpCookedAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpCookedAcl)(nil)).Elem()
}

func (o InputsTcpCookedAclOutput) ToInputsTcpCookedAclOutput() InputsTcpCookedAclOutput {
	return o
}

func (o InputsTcpCookedAclOutput) ToInputsTcpCookedAclOutputWithContext(ctx context.Context) InputsTcpCookedAclOutput {
	return o
}

func (o InputsTcpCookedAclOutput) ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput {
	return o.ToInputsTcpCookedAclPtrOutputWithContext(context.Background())
}

func (o InputsTcpCookedAclOutput) ToInputsTcpCookedAclPtrOutputWithContext(ctx context.Context) InputsTcpCookedAclPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *InputsTcpCookedAcl {
		return &v
	}).(InputsTcpCookedAclPtrOutput)
}
func (o InputsTcpCookedAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsTcpCookedAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpCookedAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsTcpCookedAclPtrOutput struct{ *pulumi.OutputState }

func (InputsTcpCookedAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpCookedAcl)(nil)).Elem()
}

func (o InputsTcpCookedAclPtrOutput) ToInputsTcpCookedAclPtrOutput() InputsTcpCookedAclPtrOutput {
	return o
}

func (o InputsTcpCookedAclPtrOutput) ToInputsTcpCookedAclPtrOutputWithContext(ctx context.Context) InputsTcpCookedAclPtrOutput {
	return o
}

func (o InputsTcpCookedAclPtrOutput) Elem() InputsTcpCookedAclOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) InputsTcpCookedAcl { return *v }).(InputsTcpCookedAclOutput)
}

func (o InputsTcpCookedAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsTcpCookedAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpCookedAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpCookedAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsTcpRawAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// InputsTcpRawAclInput is an input type that accepts InputsTcpRawAclArgs and InputsTcpRawAclOutput values.
// You can construct a concrete instance of `InputsTcpRawAclInput` via:
//
//          InputsTcpRawAclArgs{...}
type InputsTcpRawAclInput interface {
	pulumi.Input

	ToInputsTcpRawAclOutput() InputsTcpRawAclOutput
	ToInputsTcpRawAclOutputWithContext(context.Context) InputsTcpRawAclOutput
}

type InputsTcpRawAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsTcpRawAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpRawAcl)(nil)).Elem()
}

func (i InputsTcpRawAclArgs) ToInputsTcpRawAclOutput() InputsTcpRawAclOutput {
	return i.ToInputsTcpRawAclOutputWithContext(context.Background())
}

func (i InputsTcpRawAclArgs) ToInputsTcpRawAclOutputWithContext(ctx context.Context) InputsTcpRawAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpRawAclOutput)
}

func (i InputsTcpRawAclArgs) ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput {
	return i.ToInputsTcpRawAclPtrOutputWithContext(context.Background())
}

func (i InputsTcpRawAclArgs) ToInputsTcpRawAclPtrOutputWithContext(ctx context.Context) InputsTcpRawAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpRawAclOutput).ToInputsTcpRawAclPtrOutputWithContext(ctx)
}

// InputsTcpRawAclPtrInput is an input type that accepts InputsTcpRawAclArgs, InputsTcpRawAclPtr and InputsTcpRawAclPtrOutput values.
// You can construct a concrete instance of `InputsTcpRawAclPtrInput` via:
//
//          InputsTcpRawAclArgs{...}
//
//  or:
//
//          nil
type InputsTcpRawAclPtrInput interface {
	pulumi.Input

	ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput
	ToInputsTcpRawAclPtrOutputWithContext(context.Context) InputsTcpRawAclPtrOutput
}

type inputsTcpRawAclPtrType InputsTcpRawAclArgs

func InputsTcpRawAclPtr(v *InputsTcpRawAclArgs) InputsTcpRawAclPtrInput {
	return (*inputsTcpRawAclPtrType)(v)
}

func (*inputsTcpRawAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpRawAcl)(nil)).Elem()
}

func (i *inputsTcpRawAclPtrType) ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput {
	return i.ToInputsTcpRawAclPtrOutputWithContext(context.Background())
}

func (i *inputsTcpRawAclPtrType) ToInputsTcpRawAclPtrOutputWithContext(ctx context.Context) InputsTcpRawAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpRawAclPtrOutput)
}

type InputsTcpRawAclOutput struct{ *pulumi.OutputState }

func (InputsTcpRawAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpRawAcl)(nil)).Elem()
}

func (o InputsTcpRawAclOutput) ToInputsTcpRawAclOutput() InputsTcpRawAclOutput {
	return o
}

func (o InputsTcpRawAclOutput) ToInputsTcpRawAclOutputWithContext(ctx context.Context) InputsTcpRawAclOutput {
	return o
}

func (o InputsTcpRawAclOutput) ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput {
	return o.ToInputsTcpRawAclPtrOutputWithContext(context.Background())
}

func (o InputsTcpRawAclOutput) ToInputsTcpRawAclPtrOutputWithContext(ctx context.Context) InputsTcpRawAclPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *InputsTcpRawAcl {
		return &v
	}).(InputsTcpRawAclPtrOutput)
}
func (o InputsTcpRawAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsTcpRawAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpRawAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsTcpRawAclPtrOutput struct{ *pulumi.OutputState }

func (InputsTcpRawAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpRawAcl)(nil)).Elem()
}

func (o InputsTcpRawAclPtrOutput) ToInputsTcpRawAclPtrOutput() InputsTcpRawAclPtrOutput {
	return o
}

func (o InputsTcpRawAclPtrOutput) ToInputsTcpRawAclPtrOutputWithContext(ctx context.Context) InputsTcpRawAclPtrOutput {
	return o
}

func (o InputsTcpRawAclPtrOutput) Elem() InputsTcpRawAclOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) InputsTcpRawAcl { return *v }).(InputsTcpRawAclOutput)
}

func (o InputsTcpRawAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsTcpRawAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpRawAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpRawAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsTcpSplunkTcpTokenAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// InputsTcpSplunkTcpTokenAclInput is an input type that accepts InputsTcpSplunkTcpTokenAclArgs and InputsTcpSplunkTcpTokenAclOutput values.
// You can construct a concrete instance of `InputsTcpSplunkTcpTokenAclInput` via:
//
//          InputsTcpSplunkTcpTokenAclArgs{...}
type InputsTcpSplunkTcpTokenAclInput interface {
	pulumi.Input

	ToInputsTcpSplunkTcpTokenAclOutput() InputsTcpSplunkTcpTokenAclOutput
	ToInputsTcpSplunkTcpTokenAclOutputWithContext(context.Context) InputsTcpSplunkTcpTokenAclOutput
}

type InputsTcpSplunkTcpTokenAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsTcpSplunkTcpTokenAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpSplunkTcpTokenAcl)(nil)).Elem()
}

func (i InputsTcpSplunkTcpTokenAclArgs) ToInputsTcpSplunkTcpTokenAclOutput() InputsTcpSplunkTcpTokenAclOutput {
	return i.ToInputsTcpSplunkTcpTokenAclOutputWithContext(context.Background())
}

func (i InputsTcpSplunkTcpTokenAclArgs) ToInputsTcpSplunkTcpTokenAclOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpSplunkTcpTokenAclOutput)
}

func (i InputsTcpSplunkTcpTokenAclArgs) ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput {
	return i.ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(context.Background())
}

func (i InputsTcpSplunkTcpTokenAclArgs) ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpSplunkTcpTokenAclOutput).ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx)
}

// InputsTcpSplunkTcpTokenAclPtrInput is an input type that accepts InputsTcpSplunkTcpTokenAclArgs, InputsTcpSplunkTcpTokenAclPtr and InputsTcpSplunkTcpTokenAclPtrOutput values.
// You can construct a concrete instance of `InputsTcpSplunkTcpTokenAclPtrInput` via:
//
//          InputsTcpSplunkTcpTokenAclArgs{...}
//
//  or:
//
//          nil
type InputsTcpSplunkTcpTokenAclPtrInput interface {
	pulumi.Input

	ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput
	ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(context.Context) InputsTcpSplunkTcpTokenAclPtrOutput
}

type inputsTcpSplunkTcpTokenAclPtrType InputsTcpSplunkTcpTokenAclArgs

func InputsTcpSplunkTcpTokenAclPtr(v *InputsTcpSplunkTcpTokenAclArgs) InputsTcpSplunkTcpTokenAclPtrInput {
	return (*inputsTcpSplunkTcpTokenAclPtrType)(v)
}

func (*inputsTcpSplunkTcpTokenAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpSplunkTcpTokenAcl)(nil)).Elem()
}

func (i *inputsTcpSplunkTcpTokenAclPtrType) ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput {
	return i.ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(context.Background())
}

func (i *inputsTcpSplunkTcpTokenAclPtrType) ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsTcpSplunkTcpTokenAclPtrOutput)
}

type InputsTcpSplunkTcpTokenAclOutput struct{ *pulumi.OutputState }

func (InputsTcpSplunkTcpTokenAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsTcpSplunkTcpTokenAcl)(nil)).Elem()
}

func (o InputsTcpSplunkTcpTokenAclOutput) ToInputsTcpSplunkTcpTokenAclOutput() InputsTcpSplunkTcpTokenAclOutput {
	return o
}

func (o InputsTcpSplunkTcpTokenAclOutput) ToInputsTcpSplunkTcpTokenAclOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclOutput {
	return o
}

func (o InputsTcpSplunkTcpTokenAclOutput) ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput {
	return o.ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(context.Background())
}

func (o InputsTcpSplunkTcpTokenAclOutput) ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *InputsTcpSplunkTcpTokenAcl {
		return &v
	}).(InputsTcpSplunkTcpTokenAclPtrOutput)
}
func (o InputsTcpSplunkTcpTokenAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsTcpSplunkTcpTokenAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsTcpSplunkTcpTokenAclPtrOutput struct{ *pulumi.OutputState }

func (InputsTcpSplunkTcpTokenAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsTcpSplunkTcpTokenAcl)(nil)).Elem()
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) ToInputsTcpSplunkTcpTokenAclPtrOutput() InputsTcpSplunkTcpTokenAclPtrOutput {
	return o
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) ToInputsTcpSplunkTcpTokenAclPtrOutputWithContext(ctx context.Context) InputsTcpSplunkTcpTokenAclPtrOutput {
	return o
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Elem() InputsTcpSplunkTcpTokenAclOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) InputsTcpSplunkTcpTokenAcl { return *v }).(InputsTcpSplunkTcpTokenAclOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsTcpSplunkTcpTokenAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsTcpSplunkTcpTokenAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type InputsUdpAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// InputsUdpAclInput is an input type that accepts InputsUdpAclArgs and InputsUdpAclOutput values.
// You can construct a concrete instance of `InputsUdpAclInput` via:
//
//          InputsUdpAclArgs{...}
type InputsUdpAclInput interface {
	pulumi.Input

	ToInputsUdpAclOutput() InputsUdpAclOutput
	ToInputsUdpAclOutputWithContext(context.Context) InputsUdpAclOutput
}

type InputsUdpAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (InputsUdpAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsUdpAcl)(nil)).Elem()
}

func (i InputsUdpAclArgs) ToInputsUdpAclOutput() InputsUdpAclOutput {
	return i.ToInputsUdpAclOutputWithContext(context.Background())
}

func (i InputsUdpAclArgs) ToInputsUdpAclOutputWithContext(ctx context.Context) InputsUdpAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsUdpAclOutput)
}

func (i InputsUdpAclArgs) ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput {
	return i.ToInputsUdpAclPtrOutputWithContext(context.Background())
}

func (i InputsUdpAclArgs) ToInputsUdpAclPtrOutputWithContext(ctx context.Context) InputsUdpAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsUdpAclOutput).ToInputsUdpAclPtrOutputWithContext(ctx)
}

// InputsUdpAclPtrInput is an input type that accepts InputsUdpAclArgs, InputsUdpAclPtr and InputsUdpAclPtrOutput values.
// You can construct a concrete instance of `InputsUdpAclPtrInput` via:
//
//          InputsUdpAclArgs{...}
//
//  or:
//
//          nil
type InputsUdpAclPtrInput interface {
	pulumi.Input

	ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput
	ToInputsUdpAclPtrOutputWithContext(context.Context) InputsUdpAclPtrOutput
}

type inputsUdpAclPtrType InputsUdpAclArgs

func InputsUdpAclPtr(v *InputsUdpAclArgs) InputsUdpAclPtrInput {
	return (*inputsUdpAclPtrType)(v)
}

func (*inputsUdpAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsUdpAcl)(nil)).Elem()
}

func (i *inputsUdpAclPtrType) ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput {
	return i.ToInputsUdpAclPtrOutputWithContext(context.Background())
}

func (i *inputsUdpAclPtrType) ToInputsUdpAclPtrOutputWithContext(ctx context.Context) InputsUdpAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(InputsUdpAclPtrOutput)
}

type InputsUdpAclOutput struct{ *pulumi.OutputState }

func (InputsUdpAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*InputsUdpAcl)(nil)).Elem()
}

func (o InputsUdpAclOutput) ToInputsUdpAclOutput() InputsUdpAclOutput {
	return o
}

func (o InputsUdpAclOutput) ToInputsUdpAclOutputWithContext(ctx context.Context) InputsUdpAclOutput {
	return o
}

func (o InputsUdpAclOutput) ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput {
	return o.ToInputsUdpAclPtrOutputWithContext(context.Background())
}

func (o InputsUdpAclOutput) ToInputsUdpAclPtrOutputWithContext(ctx context.Context) InputsUdpAclPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *InputsUdpAcl {
		return &v
	}).(InputsUdpAclPtrOutput)
}
func (o InputsUdpAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsUdpAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o InputsUdpAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v InputsUdpAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v InputsUdpAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type InputsUdpAclPtrOutput struct{ *pulumi.OutputState }

func (InputsUdpAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**InputsUdpAcl)(nil)).Elem()
}

func (o InputsUdpAclPtrOutput) ToInputsUdpAclPtrOutput() InputsUdpAclPtrOutput {
	return o
}

func (o InputsUdpAclPtrOutput) ToInputsUdpAclPtrOutputWithContext(ctx context.Context) InputsUdpAclPtrOutput {
	return o
}

func (o InputsUdpAclPtrOutput) Elem() InputsUdpAclOutput {
	return o.ApplyT(func(v *InputsUdpAcl) InputsUdpAcl { return *v }).(InputsUdpAclOutput)
}

func (o InputsUdpAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsUdpAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o InputsUdpAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o InputsUdpAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *InputsUdpAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o InputsUdpAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *InputsUdpAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type OutputsTcpDefaultAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// OutputsTcpDefaultAclInput is an input type that accepts OutputsTcpDefaultAclArgs and OutputsTcpDefaultAclOutput values.
// You can construct a concrete instance of `OutputsTcpDefaultAclInput` via:
//
//          OutputsTcpDefaultAclArgs{...}
type OutputsTcpDefaultAclInput interface {
	pulumi.Input

	ToOutputsTcpDefaultAclOutput() OutputsTcpDefaultAclOutput
	ToOutputsTcpDefaultAclOutputWithContext(context.Context) OutputsTcpDefaultAclOutput
}

type OutputsTcpDefaultAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (OutputsTcpDefaultAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpDefaultAcl)(nil)).Elem()
}

func (i OutputsTcpDefaultAclArgs) ToOutputsTcpDefaultAclOutput() OutputsTcpDefaultAclOutput {
	return i.ToOutputsTcpDefaultAclOutputWithContext(context.Background())
}

func (i OutputsTcpDefaultAclArgs) ToOutputsTcpDefaultAclOutputWithContext(ctx context.Context) OutputsTcpDefaultAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpDefaultAclOutput)
}

func (i OutputsTcpDefaultAclArgs) ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput {
	return i.ToOutputsTcpDefaultAclPtrOutputWithContext(context.Background())
}

func (i OutputsTcpDefaultAclArgs) ToOutputsTcpDefaultAclPtrOutputWithContext(ctx context.Context) OutputsTcpDefaultAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpDefaultAclOutput).ToOutputsTcpDefaultAclPtrOutputWithContext(ctx)
}

// OutputsTcpDefaultAclPtrInput is an input type that accepts OutputsTcpDefaultAclArgs, OutputsTcpDefaultAclPtr and OutputsTcpDefaultAclPtrOutput values.
// You can construct a concrete instance of `OutputsTcpDefaultAclPtrInput` via:
//
//          OutputsTcpDefaultAclArgs{...}
//
//  or:
//
//          nil
type OutputsTcpDefaultAclPtrInput interface {
	pulumi.Input

	ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput
	ToOutputsTcpDefaultAclPtrOutputWithContext(context.Context) OutputsTcpDefaultAclPtrOutput
}

type outputsTcpDefaultAclPtrType OutputsTcpDefaultAclArgs

func OutputsTcpDefaultAclPtr(v *OutputsTcpDefaultAclArgs) OutputsTcpDefaultAclPtrInput {
	return (*outputsTcpDefaultAclPtrType)(v)
}

func (*outputsTcpDefaultAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpDefaultAcl)(nil)).Elem()
}

func (i *outputsTcpDefaultAclPtrType) ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput {
	return i.ToOutputsTcpDefaultAclPtrOutputWithContext(context.Background())
}

func (i *outputsTcpDefaultAclPtrType) ToOutputsTcpDefaultAclPtrOutputWithContext(ctx context.Context) OutputsTcpDefaultAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpDefaultAclPtrOutput)
}

type OutputsTcpDefaultAclOutput struct{ *pulumi.OutputState }

func (OutputsTcpDefaultAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpDefaultAcl)(nil)).Elem()
}

func (o OutputsTcpDefaultAclOutput) ToOutputsTcpDefaultAclOutput() OutputsTcpDefaultAclOutput {
	return o
}

func (o OutputsTcpDefaultAclOutput) ToOutputsTcpDefaultAclOutputWithContext(ctx context.Context) OutputsTcpDefaultAclOutput {
	return o
}

func (o OutputsTcpDefaultAclOutput) ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput {
	return o.ToOutputsTcpDefaultAclPtrOutputWithContext(context.Background())
}

func (o OutputsTcpDefaultAclOutput) ToOutputsTcpDefaultAclPtrOutputWithContext(ctx context.Context) OutputsTcpDefaultAclPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *OutputsTcpDefaultAcl {
		return &v
	}).(OutputsTcpDefaultAclPtrOutput)
}
func (o OutputsTcpDefaultAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o OutputsTcpDefaultAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpDefaultAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type OutputsTcpDefaultAclPtrOutput struct{ *pulumi.OutputState }

func (OutputsTcpDefaultAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpDefaultAcl)(nil)).Elem()
}

func (o OutputsTcpDefaultAclPtrOutput) ToOutputsTcpDefaultAclPtrOutput() OutputsTcpDefaultAclPtrOutput {
	return o
}

func (o OutputsTcpDefaultAclPtrOutput) ToOutputsTcpDefaultAclPtrOutputWithContext(ctx context.Context) OutputsTcpDefaultAclPtrOutput {
	return o
}

func (o OutputsTcpDefaultAclPtrOutput) Elem() OutputsTcpDefaultAclOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) OutputsTcpDefaultAcl { return *v }).(OutputsTcpDefaultAclOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpDefaultAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpDefaultAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type OutputsTcpGroupAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// OutputsTcpGroupAclInput is an input type that accepts OutputsTcpGroupAclArgs and OutputsTcpGroupAclOutput values.
// You can construct a concrete instance of `OutputsTcpGroupAclInput` via:
//
//          OutputsTcpGroupAclArgs{...}
type OutputsTcpGroupAclInput interface {
	pulumi.Input

	ToOutputsTcpGroupAclOutput() OutputsTcpGroupAclOutput
	ToOutputsTcpGroupAclOutputWithContext(context.Context) OutputsTcpGroupAclOutput
}

type OutputsTcpGroupAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (OutputsTcpGroupAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpGroupAcl)(nil)).Elem()
}

func (i OutputsTcpGroupAclArgs) ToOutputsTcpGroupAclOutput() OutputsTcpGroupAclOutput {
	return i.ToOutputsTcpGroupAclOutputWithContext(context.Background())
}

func (i OutputsTcpGroupAclArgs) ToOutputsTcpGroupAclOutputWithContext(ctx context.Context) OutputsTcpGroupAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpGroupAclOutput)
}

func (i OutputsTcpGroupAclArgs) ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput {
	return i.ToOutputsTcpGroupAclPtrOutputWithContext(context.Background())
}

func (i OutputsTcpGroupAclArgs) ToOutputsTcpGroupAclPtrOutputWithContext(ctx context.Context) OutputsTcpGroupAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpGroupAclOutput).ToOutputsTcpGroupAclPtrOutputWithContext(ctx)
}

// OutputsTcpGroupAclPtrInput is an input type that accepts OutputsTcpGroupAclArgs, OutputsTcpGroupAclPtr and OutputsTcpGroupAclPtrOutput values.
// You can construct a concrete instance of `OutputsTcpGroupAclPtrInput` via:
//
//          OutputsTcpGroupAclArgs{...}
//
//  or:
//
//          nil
type OutputsTcpGroupAclPtrInput interface {
	pulumi.Input

	ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput
	ToOutputsTcpGroupAclPtrOutputWithContext(context.Context) OutputsTcpGroupAclPtrOutput
}

type outputsTcpGroupAclPtrType OutputsTcpGroupAclArgs

func OutputsTcpGroupAclPtr(v *OutputsTcpGroupAclArgs) OutputsTcpGroupAclPtrInput {
	return (*outputsTcpGroupAclPtrType)(v)
}

func (*outputsTcpGroupAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpGroupAcl)(nil)).Elem()
}

func (i *outputsTcpGroupAclPtrType) ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput {
	return i.ToOutputsTcpGroupAclPtrOutputWithContext(context.Background())
}

func (i *outputsTcpGroupAclPtrType) ToOutputsTcpGroupAclPtrOutputWithContext(ctx context.Context) OutputsTcpGroupAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpGroupAclPtrOutput)
}

type OutputsTcpGroupAclOutput struct{ *pulumi.OutputState }

func (OutputsTcpGroupAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpGroupAcl)(nil)).Elem()
}

func (o OutputsTcpGroupAclOutput) ToOutputsTcpGroupAclOutput() OutputsTcpGroupAclOutput {
	return o
}

func (o OutputsTcpGroupAclOutput) ToOutputsTcpGroupAclOutputWithContext(ctx context.Context) OutputsTcpGroupAclOutput {
	return o
}

func (o OutputsTcpGroupAclOutput) ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput {
	return o.ToOutputsTcpGroupAclPtrOutputWithContext(context.Background())
}

func (o OutputsTcpGroupAclOutput) ToOutputsTcpGroupAclPtrOutputWithContext(ctx context.Context) OutputsTcpGroupAclPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *OutputsTcpGroupAcl {
		return &v
	}).(OutputsTcpGroupAclPtrOutput)
}
func (o OutputsTcpGroupAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o OutputsTcpGroupAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpGroupAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type OutputsTcpGroupAclPtrOutput struct{ *pulumi.OutputState }

func (OutputsTcpGroupAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpGroupAcl)(nil)).Elem()
}

func (o OutputsTcpGroupAclPtrOutput) ToOutputsTcpGroupAclPtrOutput() OutputsTcpGroupAclPtrOutput {
	return o
}

func (o OutputsTcpGroupAclPtrOutput) ToOutputsTcpGroupAclPtrOutputWithContext(ctx context.Context) OutputsTcpGroupAclPtrOutput {
	return o
}

func (o OutputsTcpGroupAclPtrOutput) Elem() OutputsTcpGroupAclOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) OutputsTcpGroupAcl { return *v }).(OutputsTcpGroupAclOutput)
}

func (o OutputsTcpGroupAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpGroupAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpGroupAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type OutputsTcpServerAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// OutputsTcpServerAclInput is an input type that accepts OutputsTcpServerAclArgs and OutputsTcpServerAclOutput values.
// You can construct a concrete instance of `OutputsTcpServerAclInput` via:
//
//          OutputsTcpServerAclArgs{...}
type OutputsTcpServerAclInput interface {
	pulumi.Input

	ToOutputsTcpServerAclOutput() OutputsTcpServerAclOutput
	ToOutputsTcpServerAclOutputWithContext(context.Context) OutputsTcpServerAclOutput
}

type OutputsTcpServerAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (OutputsTcpServerAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpServerAcl)(nil)).Elem()
}

func (i OutputsTcpServerAclArgs) ToOutputsTcpServerAclOutput() OutputsTcpServerAclOutput {
	return i.ToOutputsTcpServerAclOutputWithContext(context.Background())
}

func (i OutputsTcpServerAclArgs) ToOutputsTcpServerAclOutputWithContext(ctx context.Context) OutputsTcpServerAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpServerAclOutput)
}

func (i OutputsTcpServerAclArgs) ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput {
	return i.ToOutputsTcpServerAclPtrOutputWithContext(context.Background())
}

func (i OutputsTcpServerAclArgs) ToOutputsTcpServerAclPtrOutputWithContext(ctx context.Context) OutputsTcpServerAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpServerAclOutput).ToOutputsTcpServerAclPtrOutputWithContext(ctx)
}

// OutputsTcpServerAclPtrInput is an input type that accepts OutputsTcpServerAclArgs, OutputsTcpServerAclPtr and OutputsTcpServerAclPtrOutput values.
// You can construct a concrete instance of `OutputsTcpServerAclPtrInput` via:
//
//          OutputsTcpServerAclArgs{...}
//
//  or:
//
//          nil
type OutputsTcpServerAclPtrInput interface {
	pulumi.Input

	ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput
	ToOutputsTcpServerAclPtrOutputWithContext(context.Context) OutputsTcpServerAclPtrOutput
}

type outputsTcpServerAclPtrType OutputsTcpServerAclArgs

func OutputsTcpServerAclPtr(v *OutputsTcpServerAclArgs) OutputsTcpServerAclPtrInput {
	return (*outputsTcpServerAclPtrType)(v)
}

func (*outputsTcpServerAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpServerAcl)(nil)).Elem()
}

func (i *outputsTcpServerAclPtrType) ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput {
	return i.ToOutputsTcpServerAclPtrOutputWithContext(context.Background())
}

func (i *outputsTcpServerAclPtrType) ToOutputsTcpServerAclPtrOutputWithContext(ctx context.Context) OutputsTcpServerAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpServerAclPtrOutput)
}

type OutputsTcpServerAclOutput struct{ *pulumi.OutputState }

func (OutputsTcpServerAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpServerAcl)(nil)).Elem()
}

func (o OutputsTcpServerAclOutput) ToOutputsTcpServerAclOutput() OutputsTcpServerAclOutput {
	return o
}

func (o OutputsTcpServerAclOutput) ToOutputsTcpServerAclOutputWithContext(ctx context.Context) OutputsTcpServerAclOutput {
	return o
}

func (o OutputsTcpServerAclOutput) ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput {
	return o.ToOutputsTcpServerAclPtrOutputWithContext(context.Background())
}

func (o OutputsTcpServerAclOutput) ToOutputsTcpServerAclPtrOutputWithContext(ctx context.Context) OutputsTcpServerAclPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *OutputsTcpServerAcl {
		return &v
	}).(OutputsTcpServerAclPtrOutput)
}
func (o OutputsTcpServerAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o OutputsTcpServerAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpServerAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type OutputsTcpServerAclPtrOutput struct{ *pulumi.OutputState }

func (OutputsTcpServerAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpServerAcl)(nil)).Elem()
}

func (o OutputsTcpServerAclPtrOutput) ToOutputsTcpServerAclPtrOutput() OutputsTcpServerAclPtrOutput {
	return o
}

func (o OutputsTcpServerAclPtrOutput) ToOutputsTcpServerAclPtrOutputWithContext(ctx context.Context) OutputsTcpServerAclPtrOutput {
	return o
}

func (o OutputsTcpServerAclPtrOutput) Elem() OutputsTcpServerAclOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) OutputsTcpServerAcl { return *v }).(OutputsTcpServerAclOutput)
}

func (o OutputsTcpServerAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o OutputsTcpServerAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpServerAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpServerAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type OutputsTcpSyslogAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// OutputsTcpSyslogAclInput is an input type that accepts OutputsTcpSyslogAclArgs and OutputsTcpSyslogAclOutput values.
// You can construct a concrete instance of `OutputsTcpSyslogAclInput` via:
//
//          OutputsTcpSyslogAclArgs{...}
type OutputsTcpSyslogAclInput interface {
	pulumi.Input

	ToOutputsTcpSyslogAclOutput() OutputsTcpSyslogAclOutput
	ToOutputsTcpSyslogAclOutputWithContext(context.Context) OutputsTcpSyslogAclOutput
}

type OutputsTcpSyslogAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (OutputsTcpSyslogAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpSyslogAcl)(nil)).Elem()
}

func (i OutputsTcpSyslogAclArgs) ToOutputsTcpSyslogAclOutput() OutputsTcpSyslogAclOutput {
	return i.ToOutputsTcpSyslogAclOutputWithContext(context.Background())
}

func (i OutputsTcpSyslogAclArgs) ToOutputsTcpSyslogAclOutputWithContext(ctx context.Context) OutputsTcpSyslogAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpSyslogAclOutput)
}

func (i OutputsTcpSyslogAclArgs) ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput {
	return i.ToOutputsTcpSyslogAclPtrOutputWithContext(context.Background())
}

func (i OutputsTcpSyslogAclArgs) ToOutputsTcpSyslogAclPtrOutputWithContext(ctx context.Context) OutputsTcpSyslogAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpSyslogAclOutput).ToOutputsTcpSyslogAclPtrOutputWithContext(ctx)
}

// OutputsTcpSyslogAclPtrInput is an input type that accepts OutputsTcpSyslogAclArgs, OutputsTcpSyslogAclPtr and OutputsTcpSyslogAclPtrOutput values.
// You can construct a concrete instance of `OutputsTcpSyslogAclPtrInput` via:
//
//          OutputsTcpSyslogAclArgs{...}
//
//  or:
//
//          nil
type OutputsTcpSyslogAclPtrInput interface {
	pulumi.Input

	ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput
	ToOutputsTcpSyslogAclPtrOutputWithContext(context.Context) OutputsTcpSyslogAclPtrOutput
}

type outputsTcpSyslogAclPtrType OutputsTcpSyslogAclArgs

func OutputsTcpSyslogAclPtr(v *OutputsTcpSyslogAclArgs) OutputsTcpSyslogAclPtrInput {
	return (*outputsTcpSyslogAclPtrType)(v)
}

func (*outputsTcpSyslogAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpSyslogAcl)(nil)).Elem()
}

func (i *outputsTcpSyslogAclPtrType) ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput {
	return i.ToOutputsTcpSyslogAclPtrOutputWithContext(context.Background())
}

func (i *outputsTcpSyslogAclPtrType) ToOutputsTcpSyslogAclPtrOutputWithContext(ctx context.Context) OutputsTcpSyslogAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(OutputsTcpSyslogAclPtrOutput)
}

type OutputsTcpSyslogAclOutput struct{ *pulumi.OutputState }

func (OutputsTcpSyslogAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*OutputsTcpSyslogAcl)(nil)).Elem()
}

func (o OutputsTcpSyslogAclOutput) ToOutputsTcpSyslogAclOutput() OutputsTcpSyslogAclOutput {
	return o
}

func (o OutputsTcpSyslogAclOutput) ToOutputsTcpSyslogAclOutputWithContext(ctx context.Context) OutputsTcpSyslogAclOutput {
	return o
}

func (o OutputsTcpSyslogAclOutput) ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput {
	return o.ToOutputsTcpSyslogAclPtrOutputWithContext(context.Background())
}

func (o OutputsTcpSyslogAclOutput) ToOutputsTcpSyslogAclPtrOutputWithContext(ctx context.Context) OutputsTcpSyslogAclPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *OutputsTcpSyslogAcl {
		return &v
	}).(OutputsTcpSyslogAclPtrOutput)
}
func (o OutputsTcpSyslogAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o OutputsTcpSyslogAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v OutputsTcpSyslogAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type OutputsTcpSyslogAclPtrOutput struct{ *pulumi.OutputState }

func (OutputsTcpSyslogAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**OutputsTcpSyslogAcl)(nil)).Elem()
}

func (o OutputsTcpSyslogAclPtrOutput) ToOutputsTcpSyslogAclPtrOutput() OutputsTcpSyslogAclPtrOutput {
	return o
}

func (o OutputsTcpSyslogAclPtrOutput) ToOutputsTcpSyslogAclPtrOutputWithContext(ctx context.Context) OutputsTcpSyslogAclPtrOutput {
	return o
}

func (o OutputsTcpSyslogAclPtrOutput) Elem() OutputsTcpSyslogAclOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) OutputsTcpSyslogAcl { return *v }).(OutputsTcpSyslogAclOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o OutputsTcpSyslogAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *OutputsTcpSyslogAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type SavedSearchesAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// SavedSearchesAclInput is an input type that accepts SavedSearchesAclArgs and SavedSearchesAclOutput values.
// You can construct a concrete instance of `SavedSearchesAclInput` via:
//
//          SavedSearchesAclArgs{...}
type SavedSearchesAclInput interface {
	pulumi.Input

	ToSavedSearchesAclOutput() SavedSearchesAclOutput
	ToSavedSearchesAclOutputWithContext(context.Context) SavedSearchesAclOutput
}

type SavedSearchesAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (SavedSearchesAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SavedSearchesAcl)(nil)).Elem()
}

func (i SavedSearchesAclArgs) ToSavedSearchesAclOutput() SavedSearchesAclOutput {
	return i.ToSavedSearchesAclOutputWithContext(context.Background())
}

func (i SavedSearchesAclArgs) ToSavedSearchesAclOutputWithContext(ctx context.Context) SavedSearchesAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SavedSearchesAclOutput)
}

func (i SavedSearchesAclArgs) ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput {
	return i.ToSavedSearchesAclPtrOutputWithContext(context.Background())
}

func (i SavedSearchesAclArgs) ToSavedSearchesAclPtrOutputWithContext(ctx context.Context) SavedSearchesAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SavedSearchesAclOutput).ToSavedSearchesAclPtrOutputWithContext(ctx)
}

// SavedSearchesAclPtrInput is an input type that accepts SavedSearchesAclArgs, SavedSearchesAclPtr and SavedSearchesAclPtrOutput values.
// You can construct a concrete instance of `SavedSearchesAclPtrInput` via:
//
//          SavedSearchesAclArgs{...}
//
//  or:
//
//          nil
type SavedSearchesAclPtrInput interface {
	pulumi.Input

	ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput
	ToSavedSearchesAclPtrOutputWithContext(context.Context) SavedSearchesAclPtrOutput
}

type savedSearchesAclPtrType SavedSearchesAclArgs

func SavedSearchesAclPtr(v *SavedSearchesAclArgs) SavedSearchesAclPtrInput {
	return (*savedSearchesAclPtrType)(v)
}

func (*savedSearchesAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**SavedSearchesAcl)(nil)).Elem()
}

func (i *savedSearchesAclPtrType) ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput {
	return i.ToSavedSearchesAclPtrOutputWithContext(context.Background())
}

func (i *savedSearchesAclPtrType) ToSavedSearchesAclPtrOutputWithContext(ctx context.Context) SavedSearchesAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SavedSearchesAclPtrOutput)
}

type SavedSearchesAclOutput struct{ *pulumi.OutputState }

func (SavedSearchesAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SavedSearchesAcl)(nil)).Elem()
}

func (o SavedSearchesAclOutput) ToSavedSearchesAclOutput() SavedSearchesAclOutput {
	return o
}

func (o SavedSearchesAclOutput) ToSavedSearchesAclOutputWithContext(ctx context.Context) SavedSearchesAclOutput {
	return o
}

func (o SavedSearchesAclOutput) ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput {
	return o.ToSavedSearchesAclPtrOutputWithContext(context.Background())
}

func (o SavedSearchesAclOutput) ToSavedSearchesAclPtrOutputWithContext(ctx context.Context) SavedSearchesAclPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *SavedSearchesAcl {
		return &v
	}).(SavedSearchesAclPtrOutput)
}
func (o SavedSearchesAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v SavedSearchesAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o SavedSearchesAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SavedSearchesAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v SavedSearchesAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type SavedSearchesAclPtrOutput struct{ *pulumi.OutputState }

func (SavedSearchesAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**SavedSearchesAcl)(nil)).Elem()
}

func (o SavedSearchesAclPtrOutput) ToSavedSearchesAclPtrOutput() SavedSearchesAclPtrOutput {
	return o
}

func (o SavedSearchesAclPtrOutput) ToSavedSearchesAclPtrOutputWithContext(ctx context.Context) SavedSearchesAclPtrOutput {
	return o
}

func (o SavedSearchesAclPtrOutput) Elem() SavedSearchesAclOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) SavedSearchesAcl { return *v }).(SavedSearchesAclOutput)
}

func (o SavedSearchesAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o SavedSearchesAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o SavedSearchesAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o SavedSearchesAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *SavedSearchesAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

type ShIndexesManagerAcl struct {
	App            *string  `pulumi:"app"`
	CanChangePerms *bool    `pulumi:"canChangePerms"`
	CanShareApp    *bool    `pulumi:"canShareApp"`
	CanShareGlobal *bool    `pulumi:"canShareGlobal"`
	CanShareUser   *bool    `pulumi:"canShareUser"`
	CanWrite       *bool    `pulumi:"canWrite"`
	Owner          *string  `pulumi:"owner"`
	Reads          []string `pulumi:"reads"`
	Removable      *bool    `pulumi:"removable"`
	Sharing        *string  `pulumi:"sharing"`
	Writes         []string `pulumi:"writes"`
}

// ShIndexesManagerAclInput is an input type that accepts ShIndexesManagerAclArgs and ShIndexesManagerAclOutput values.
// You can construct a concrete instance of `ShIndexesManagerAclInput` via:
//
//          ShIndexesManagerAclArgs{...}
type ShIndexesManagerAclInput interface {
	pulumi.Input

	ToShIndexesManagerAclOutput() ShIndexesManagerAclOutput
	ToShIndexesManagerAclOutputWithContext(context.Context) ShIndexesManagerAclOutput
}

type ShIndexesManagerAclArgs struct {
	App            pulumi.StringPtrInput   `pulumi:"app"`
	CanChangePerms pulumi.BoolPtrInput     `pulumi:"canChangePerms"`
	CanShareApp    pulumi.BoolPtrInput     `pulumi:"canShareApp"`
	CanShareGlobal pulumi.BoolPtrInput     `pulumi:"canShareGlobal"`
	CanShareUser   pulumi.BoolPtrInput     `pulumi:"canShareUser"`
	CanWrite       pulumi.BoolPtrInput     `pulumi:"canWrite"`
	Owner          pulumi.StringPtrInput   `pulumi:"owner"`
	Reads          pulumi.StringArrayInput `pulumi:"reads"`
	Removable      pulumi.BoolPtrInput     `pulumi:"removable"`
	Sharing        pulumi.StringPtrInput   `pulumi:"sharing"`
	Writes         pulumi.StringArrayInput `pulumi:"writes"`
}

func (ShIndexesManagerAclArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*ShIndexesManagerAcl)(nil)).Elem()
}

func (i ShIndexesManagerAclArgs) ToShIndexesManagerAclOutput() ShIndexesManagerAclOutput {
	return i.ToShIndexesManagerAclOutputWithContext(context.Background())
}

func (i ShIndexesManagerAclArgs) ToShIndexesManagerAclOutputWithContext(ctx context.Context) ShIndexesManagerAclOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ShIndexesManagerAclOutput)
}

func (i ShIndexesManagerAclArgs) ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput {
	return i.ToShIndexesManagerAclPtrOutputWithContext(context.Background())
}

func (i ShIndexesManagerAclArgs) ToShIndexesManagerAclPtrOutputWithContext(ctx context.Context) ShIndexesManagerAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ShIndexesManagerAclOutput).ToShIndexesManagerAclPtrOutputWithContext(ctx)
}

// ShIndexesManagerAclPtrInput is an input type that accepts ShIndexesManagerAclArgs, ShIndexesManagerAclPtr and ShIndexesManagerAclPtrOutput values.
// You can construct a concrete instance of `ShIndexesManagerAclPtrInput` via:
//
//          ShIndexesManagerAclArgs{...}
//
//  or:
//
//          nil
type ShIndexesManagerAclPtrInput interface {
	pulumi.Input

	ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput
	ToShIndexesManagerAclPtrOutputWithContext(context.Context) ShIndexesManagerAclPtrOutput
}

type shIndexesManagerAclPtrType ShIndexesManagerAclArgs

func ShIndexesManagerAclPtr(v *ShIndexesManagerAclArgs) ShIndexesManagerAclPtrInput {
	return (*shIndexesManagerAclPtrType)(v)
}

func (*shIndexesManagerAclPtrType) ElementType() reflect.Type {
	return reflect.TypeOf((**ShIndexesManagerAcl)(nil)).Elem()
}

func (i *shIndexesManagerAclPtrType) ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput {
	return i.ToShIndexesManagerAclPtrOutputWithContext(context.Background())
}

func (i *shIndexesManagerAclPtrType) ToShIndexesManagerAclPtrOutputWithContext(ctx context.Context) ShIndexesManagerAclPtrOutput {
	return pulumi.ToOutputWithContext(ctx, i).(ShIndexesManagerAclPtrOutput)
}

type ShIndexesManagerAclOutput struct{ *pulumi.OutputState }

func (ShIndexesManagerAclOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*ShIndexesManagerAcl)(nil)).Elem()
}

func (o ShIndexesManagerAclOutput) ToShIndexesManagerAclOutput() ShIndexesManagerAclOutput {
	return o
}

func (o ShIndexesManagerAclOutput) ToShIndexesManagerAclOutputWithContext(ctx context.Context) ShIndexesManagerAclOutput {
	return o
}

func (o ShIndexesManagerAclOutput) ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput {
	return o.ToShIndexesManagerAclPtrOutputWithContext(context.Background())
}

func (o ShIndexesManagerAclOutput) ToShIndexesManagerAclPtrOutputWithContext(ctx context.Context) ShIndexesManagerAclPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *ShIndexesManagerAcl {
		return &v
	}).(ShIndexesManagerAclPtrOutput)
}
func (o ShIndexesManagerAclOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *string { return v.App }).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanChangePerms }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanShareApp }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanShareGlobal }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanShareUser }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.CanWrite }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *string { return v.Owner }).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) []string { return v.Reads }).(pulumi.StringArrayOutput)
}

func (o ShIndexesManagerAclOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *bool { return v.Removable }).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) *string { return v.Sharing }).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v ShIndexesManagerAcl) []string { return v.Writes }).(pulumi.StringArrayOutput)
}

type ShIndexesManagerAclPtrOutput struct{ *pulumi.OutputState }

func (ShIndexesManagerAclPtrOutput) ElementType() reflect.Type {
	return reflect.TypeOf((**ShIndexesManagerAcl)(nil)).Elem()
}

func (o ShIndexesManagerAclPtrOutput) ToShIndexesManagerAclPtrOutput() ShIndexesManagerAclPtrOutput {
	return o
}

func (o ShIndexesManagerAclPtrOutput) ToShIndexesManagerAclPtrOutputWithContext(ctx context.Context) ShIndexesManagerAclPtrOutput {
	return o
}

func (o ShIndexesManagerAclPtrOutput) Elem() ShIndexesManagerAclOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) ShIndexesManagerAcl { return *v }).(ShIndexesManagerAclOutput)
}

func (o ShIndexesManagerAclPtrOutput) App() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *string {
		if v == nil {
			return nil
		}
		return v.App
	}).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanChangePerms() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanChangePerms
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanShareApp() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareApp
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanShareGlobal() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareGlobal
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanShareUser() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanShareUser
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) CanWrite() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.CanWrite
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) Owner() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *string {
		if v == nil {
			return nil
		}
		return v.Owner
	}).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) Reads() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) []string {
		if v == nil {
			return nil
		}
		return v.Reads
	}).(pulumi.StringArrayOutput)
}

func (o ShIndexesManagerAclPtrOutput) Removable() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *bool {
		if v == nil {
			return nil
		}
		return v.Removable
	}).(pulumi.BoolPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) Sharing() pulumi.StringPtrOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) *string {
		if v == nil {
			return nil
		}
		return v.Sharing
	}).(pulumi.StringPtrOutput)
}

func (o ShIndexesManagerAclPtrOutput) Writes() pulumi.StringArrayOutput {
	return o.ApplyT(func(v *ShIndexesManagerAcl) []string {
		if v == nil {
			return nil
		}
		return v.Writes
	}).(pulumi.StringArrayOutput)
}

func init() {
	pulumi.RegisterOutputType(AppsLocalAclOutput{})
	pulumi.RegisterOutputType(AppsLocalAclPtrOutput{})
	pulumi.RegisterOutputType(ConfigsConfAclOutput{})
	pulumi.RegisterOutputType(ConfigsConfAclPtrOutput{})
	pulumi.RegisterOutputType(DataUiViewsAclOutput{})
	pulumi.RegisterOutputType(DataUiViewsAclPtrOutput{})
	pulumi.RegisterOutputType(IndexesAclOutput{})
	pulumi.RegisterOutputType(IndexesAclPtrOutput{})
	pulumi.RegisterOutputType(InputsHttpEventCollectorAclOutput{})
	pulumi.RegisterOutputType(InputsHttpEventCollectorAclPtrOutput{})
	pulumi.RegisterOutputType(InputsMonitorAclOutput{})
	pulumi.RegisterOutputType(InputsMonitorAclPtrOutput{})
	pulumi.RegisterOutputType(InputsScriptAclOutput{})
	pulumi.RegisterOutputType(InputsScriptAclPtrOutput{})
	pulumi.RegisterOutputType(InputsTcpCookedAclOutput{})
	pulumi.RegisterOutputType(InputsTcpCookedAclPtrOutput{})
	pulumi.RegisterOutputType(InputsTcpRawAclOutput{})
	pulumi.RegisterOutputType(InputsTcpRawAclPtrOutput{})
	pulumi.RegisterOutputType(InputsTcpSplunkTcpTokenAclOutput{})
	pulumi.RegisterOutputType(InputsTcpSplunkTcpTokenAclPtrOutput{})
	pulumi.RegisterOutputType(InputsUdpAclOutput{})
	pulumi.RegisterOutputType(InputsUdpAclPtrOutput{})
	pulumi.RegisterOutputType(OutputsTcpDefaultAclOutput{})
	pulumi.RegisterOutputType(OutputsTcpDefaultAclPtrOutput{})
	pulumi.RegisterOutputType(OutputsTcpGroupAclOutput{})
	pulumi.RegisterOutputType(OutputsTcpGroupAclPtrOutput{})
	pulumi.RegisterOutputType(OutputsTcpServerAclOutput{})
	pulumi.RegisterOutputType(OutputsTcpServerAclPtrOutput{})
	pulumi.RegisterOutputType(OutputsTcpSyslogAclOutput{})
	pulumi.RegisterOutputType(OutputsTcpSyslogAclPtrOutput{})
	pulumi.RegisterOutputType(SavedSearchesAclOutput{})
	pulumi.RegisterOutputType(SavedSearchesAclPtrOutput{})
	pulumi.RegisterOutputType(ShIndexesManagerAclOutput{})
	pulumi.RegisterOutputType(ShIndexesManagerAclPtrOutput{})
}
