// *** WARNING: this file was generated by test. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package mypkg

import (
	"context"
	"reflect"

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

// Ssis environment reference.
type SsisEnvironmentReferenceResponse struct {
	// Environment folder name.
	EnvironmentFolderName *string `pulumi:"environmentFolderName"`
	// Environment name.
	EnvironmentName *string `pulumi:"environmentName"`
	// Environment reference id.
	Id *float64 `pulumi:"id"`
	// Reference type
	ReferenceType *string `pulumi:"referenceType"`
}

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

	ToSsisEnvironmentReferenceResponseOutput() SsisEnvironmentReferenceResponseOutput
	ToSsisEnvironmentReferenceResponseOutputWithContext(context.Context) SsisEnvironmentReferenceResponseOutput
}

// Ssis environment reference.
type SsisEnvironmentReferenceResponseArgs struct {
	// Environment folder name.
	EnvironmentFolderName pulumi.StringPtrInput `pulumi:"environmentFolderName"`
	// Environment name.
	EnvironmentName pulumi.StringPtrInput `pulumi:"environmentName"`
	// Environment reference id.
	Id pulumi.Float64PtrInput `pulumi:"id"`
	// Reference type
	ReferenceType pulumi.StringPtrInput `pulumi:"referenceType"`
}

func (SsisEnvironmentReferenceResponseArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisEnvironmentReferenceResponse)(nil)).Elem()
}

func (i SsisEnvironmentReferenceResponseArgs) ToSsisEnvironmentReferenceResponseOutput() SsisEnvironmentReferenceResponseOutput {
	return i.ToSsisEnvironmentReferenceResponseOutputWithContext(context.Background())
}

func (i SsisEnvironmentReferenceResponseArgs) ToSsisEnvironmentReferenceResponseOutputWithContext(ctx context.Context) SsisEnvironmentReferenceResponseOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisEnvironmentReferenceResponseOutput)
}

// SsisEnvironmentReferenceResponseArrayInput is an input type that accepts SsisEnvironmentReferenceResponseArray and SsisEnvironmentReferenceResponseArrayOutput values.
// You can construct a concrete instance of `SsisEnvironmentReferenceResponseArrayInput` via:
//
//          SsisEnvironmentReferenceResponseArray{ SsisEnvironmentReferenceResponseArgs{...} }
type SsisEnvironmentReferenceResponseArrayInput interface {
	pulumi.Input

	ToSsisEnvironmentReferenceResponseArrayOutput() SsisEnvironmentReferenceResponseArrayOutput
	ToSsisEnvironmentReferenceResponseArrayOutputWithContext(context.Context) SsisEnvironmentReferenceResponseArrayOutput
}

type SsisEnvironmentReferenceResponseArray []SsisEnvironmentReferenceResponseInput

func (SsisEnvironmentReferenceResponseArray) ElementType() reflect.Type {
	return reflect.TypeOf((*[]SsisEnvironmentReferenceResponse)(nil)).Elem()
}

func (i SsisEnvironmentReferenceResponseArray) ToSsisEnvironmentReferenceResponseArrayOutput() SsisEnvironmentReferenceResponseArrayOutput {
	return i.ToSsisEnvironmentReferenceResponseArrayOutputWithContext(context.Background())
}

func (i SsisEnvironmentReferenceResponseArray) ToSsisEnvironmentReferenceResponseArrayOutputWithContext(ctx context.Context) SsisEnvironmentReferenceResponseArrayOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisEnvironmentReferenceResponseArrayOutput)
}

// Ssis environment reference.
type SsisEnvironmentReferenceResponseOutput struct{ *pulumi.OutputState }

func (SsisEnvironmentReferenceResponseOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisEnvironmentReferenceResponse)(nil)).Elem()
}

func (o SsisEnvironmentReferenceResponseOutput) ToSsisEnvironmentReferenceResponseOutput() SsisEnvironmentReferenceResponseOutput {
	return o
}

func (o SsisEnvironmentReferenceResponseOutput) ToSsisEnvironmentReferenceResponseOutputWithContext(ctx context.Context) SsisEnvironmentReferenceResponseOutput {
	return o
}

// Environment folder name.
func (o SsisEnvironmentReferenceResponseOutput) EnvironmentFolderName() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisEnvironmentReferenceResponse) *string { return v.EnvironmentFolderName }).(pulumi.StringPtrOutput)
}

// Environment name.
func (o SsisEnvironmentReferenceResponseOutput) EnvironmentName() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisEnvironmentReferenceResponse) *string { return v.EnvironmentName }).(pulumi.StringPtrOutput)
}

// Environment reference id.
func (o SsisEnvironmentReferenceResponseOutput) Id() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisEnvironmentReferenceResponse) *float64 { return v.Id }).(pulumi.Float64PtrOutput)
}

// Reference type
func (o SsisEnvironmentReferenceResponseOutput) ReferenceType() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisEnvironmentReferenceResponse) *string { return v.ReferenceType }).(pulumi.StringPtrOutput)
}

type SsisEnvironmentReferenceResponseArrayOutput struct{ *pulumi.OutputState }

func (SsisEnvironmentReferenceResponseArrayOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*[]SsisEnvironmentReferenceResponse)(nil)).Elem()
}

func (o SsisEnvironmentReferenceResponseArrayOutput) ToSsisEnvironmentReferenceResponseArrayOutput() SsisEnvironmentReferenceResponseArrayOutput {
	return o
}

func (o SsisEnvironmentReferenceResponseArrayOutput) ToSsisEnvironmentReferenceResponseArrayOutputWithContext(ctx context.Context) SsisEnvironmentReferenceResponseArrayOutput {
	return o
}

func (o SsisEnvironmentReferenceResponseArrayOutput) Index(i pulumi.IntInput) SsisEnvironmentReferenceResponseOutput {
	return pulumi.All(o, i).ApplyT(func(vs []interface{}) SsisEnvironmentReferenceResponse {
		return vs[0].([]SsisEnvironmentReferenceResponse)[vs[1].(int)]
	}).(SsisEnvironmentReferenceResponseOutput)
}

// Ssis environment.
type SsisEnvironmentResponse struct {
	// Metadata description.
	Description *string `pulumi:"description"`
	// Folder id which contains environment.
	FolderId *float64 `pulumi:"folderId"`
	// Metadata id.
	Id *float64 `pulumi:"id"`
	// Metadata name.
	Name *string `pulumi:"name"`
	// The type of SSIS object metadata.
	// Expected value is 'Environment'.
	Type string `pulumi:"type"`
	// Variable in environment
	Variables []SsisVariableResponse `pulumi:"variables"`
}

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

	ToSsisEnvironmentResponseOutput() SsisEnvironmentResponseOutput
	ToSsisEnvironmentResponseOutputWithContext(context.Context) SsisEnvironmentResponseOutput
}

// Ssis environment.
type SsisEnvironmentResponseArgs struct {
	// Metadata description.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Folder id which contains environment.
	FolderId pulumi.Float64PtrInput `pulumi:"folderId"`
	// Metadata id.
	Id pulumi.Float64PtrInput `pulumi:"id"`
	// Metadata name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The type of SSIS object metadata.
	// Expected value is 'Environment'.
	Type pulumi.StringInput `pulumi:"type"`
	// Variable in environment
	Variables SsisVariableResponseArrayInput `pulumi:"variables"`
}

func (SsisEnvironmentResponseArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisEnvironmentResponse)(nil)).Elem()
}

func (i SsisEnvironmentResponseArgs) ToSsisEnvironmentResponseOutput() SsisEnvironmentResponseOutput {
	return i.ToSsisEnvironmentResponseOutputWithContext(context.Background())
}

func (i SsisEnvironmentResponseArgs) ToSsisEnvironmentResponseOutputWithContext(ctx context.Context) SsisEnvironmentResponseOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisEnvironmentResponseOutput)
}

// Ssis environment.
type SsisEnvironmentResponseOutput struct{ *pulumi.OutputState }

func (SsisEnvironmentResponseOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisEnvironmentResponse)(nil)).Elem()
}

func (o SsisEnvironmentResponseOutput) ToSsisEnvironmentResponseOutput() SsisEnvironmentResponseOutput {
	return o
}

func (o SsisEnvironmentResponseOutput) ToSsisEnvironmentResponseOutputWithContext(ctx context.Context) SsisEnvironmentResponseOutput {
	return o
}

// Metadata description.
func (o SsisEnvironmentResponseOutput) Description() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisEnvironmentResponse) *string { return v.Description }).(pulumi.StringPtrOutput)
}

// Folder id which contains environment.
func (o SsisEnvironmentResponseOutput) FolderId() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisEnvironmentResponse) *float64 { return v.FolderId }).(pulumi.Float64PtrOutput)
}

// Metadata id.
func (o SsisEnvironmentResponseOutput) Id() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisEnvironmentResponse) *float64 { return v.Id }).(pulumi.Float64PtrOutput)
}

// Metadata name.
func (o SsisEnvironmentResponseOutput) Name() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisEnvironmentResponse) *string { return v.Name }).(pulumi.StringPtrOutput)
}

// The type of SSIS object metadata.
// Expected value is 'Environment'.
func (o SsisEnvironmentResponseOutput) Type() pulumi.StringOutput {
	return o.ApplyT(func(v SsisEnvironmentResponse) string { return v.Type }).(pulumi.StringOutput)
}

// Variable in environment
func (o SsisEnvironmentResponseOutput) Variables() SsisVariableResponseArrayOutput {
	return o.ApplyT(func(v SsisEnvironmentResponse) []SsisVariableResponse { return v.Variables }).(SsisVariableResponseArrayOutput)
}

// Ssis folder.
type SsisFolderResponse struct {
	// Metadata description.
	Description *string `pulumi:"description"`
	// Metadata id.
	Id *float64 `pulumi:"id"`
	// Metadata name.
	Name *string `pulumi:"name"`
	// The type of SSIS object metadata.
	// Expected value is 'Folder'.
	Type string `pulumi:"type"`
}

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

	ToSsisFolderResponseOutput() SsisFolderResponseOutput
	ToSsisFolderResponseOutputWithContext(context.Context) SsisFolderResponseOutput
}

// Ssis folder.
type SsisFolderResponseArgs struct {
	// Metadata description.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Metadata id.
	Id pulumi.Float64PtrInput `pulumi:"id"`
	// Metadata name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The type of SSIS object metadata.
	// Expected value is 'Folder'.
	Type pulumi.StringInput `pulumi:"type"`
}

func (SsisFolderResponseArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisFolderResponse)(nil)).Elem()
}

func (i SsisFolderResponseArgs) ToSsisFolderResponseOutput() SsisFolderResponseOutput {
	return i.ToSsisFolderResponseOutputWithContext(context.Background())
}

func (i SsisFolderResponseArgs) ToSsisFolderResponseOutputWithContext(ctx context.Context) SsisFolderResponseOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisFolderResponseOutput)
}

// Ssis folder.
type SsisFolderResponseOutput struct{ *pulumi.OutputState }

func (SsisFolderResponseOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisFolderResponse)(nil)).Elem()
}

func (o SsisFolderResponseOutput) ToSsisFolderResponseOutput() SsisFolderResponseOutput {
	return o
}

func (o SsisFolderResponseOutput) ToSsisFolderResponseOutputWithContext(ctx context.Context) SsisFolderResponseOutput {
	return o
}

// Metadata description.
func (o SsisFolderResponseOutput) Description() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisFolderResponse) *string { return v.Description }).(pulumi.StringPtrOutput)
}

// Metadata id.
func (o SsisFolderResponseOutput) Id() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisFolderResponse) *float64 { return v.Id }).(pulumi.Float64PtrOutput)
}

// Metadata name.
func (o SsisFolderResponseOutput) Name() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisFolderResponse) *string { return v.Name }).(pulumi.StringPtrOutput)
}

// The type of SSIS object metadata.
// Expected value is 'Folder'.
func (o SsisFolderResponseOutput) Type() pulumi.StringOutput {
	return o.ApplyT(func(v SsisFolderResponse) string { return v.Type }).(pulumi.StringOutput)
}

// Ssis Package.
type SsisPackageResponse struct {
	// Metadata description.
	Description *string `pulumi:"description"`
	// Folder id which contains package.
	FolderId *float64 `pulumi:"folderId"`
	// Metadata id.
	Id *float64 `pulumi:"id"`
	// Metadata name.
	Name *string `pulumi:"name"`
	// Parameters in package
	Parameters []SsisParameterResponse `pulumi:"parameters"`
	// Project id which contains package.
	ProjectId *float64 `pulumi:"projectId"`
	// Project version which contains package.
	ProjectVersion *float64 `pulumi:"projectVersion"`
	// The type of SSIS object metadata.
	// Expected value is 'Package'.
	Type string `pulumi:"type"`
}

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

	ToSsisPackageResponseOutput() SsisPackageResponseOutput
	ToSsisPackageResponseOutputWithContext(context.Context) SsisPackageResponseOutput
}

// Ssis Package.
type SsisPackageResponseArgs struct {
	// Metadata description.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Folder id which contains package.
	FolderId pulumi.Float64PtrInput `pulumi:"folderId"`
	// Metadata id.
	Id pulumi.Float64PtrInput `pulumi:"id"`
	// Metadata name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Parameters in package
	Parameters SsisParameterResponseArrayInput `pulumi:"parameters"`
	// Project id which contains package.
	ProjectId pulumi.Float64PtrInput `pulumi:"projectId"`
	// Project version which contains package.
	ProjectVersion pulumi.Float64PtrInput `pulumi:"projectVersion"`
	// The type of SSIS object metadata.
	// Expected value is 'Package'.
	Type pulumi.StringInput `pulumi:"type"`
}

func (SsisPackageResponseArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisPackageResponse)(nil)).Elem()
}

func (i SsisPackageResponseArgs) ToSsisPackageResponseOutput() SsisPackageResponseOutput {
	return i.ToSsisPackageResponseOutputWithContext(context.Background())
}

func (i SsisPackageResponseArgs) ToSsisPackageResponseOutputWithContext(ctx context.Context) SsisPackageResponseOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisPackageResponseOutput)
}

// Ssis Package.
type SsisPackageResponseOutput struct{ *pulumi.OutputState }

func (SsisPackageResponseOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisPackageResponse)(nil)).Elem()
}

func (o SsisPackageResponseOutput) ToSsisPackageResponseOutput() SsisPackageResponseOutput {
	return o
}

func (o SsisPackageResponseOutput) ToSsisPackageResponseOutputWithContext(ctx context.Context) SsisPackageResponseOutput {
	return o
}

// Metadata description.
func (o SsisPackageResponseOutput) Description() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisPackageResponse) *string { return v.Description }).(pulumi.StringPtrOutput)
}

// Folder id which contains package.
func (o SsisPackageResponseOutput) FolderId() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisPackageResponse) *float64 { return v.FolderId }).(pulumi.Float64PtrOutput)
}

// Metadata id.
func (o SsisPackageResponseOutput) Id() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisPackageResponse) *float64 { return v.Id }).(pulumi.Float64PtrOutput)
}

// Metadata name.
func (o SsisPackageResponseOutput) Name() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisPackageResponse) *string { return v.Name }).(pulumi.StringPtrOutput)
}

// Parameters in package
func (o SsisPackageResponseOutput) Parameters() SsisParameterResponseArrayOutput {
	return o.ApplyT(func(v SsisPackageResponse) []SsisParameterResponse { return v.Parameters }).(SsisParameterResponseArrayOutput)
}

// Project id which contains package.
func (o SsisPackageResponseOutput) ProjectId() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisPackageResponse) *float64 { return v.ProjectId }).(pulumi.Float64PtrOutput)
}

// Project version which contains package.
func (o SsisPackageResponseOutput) ProjectVersion() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisPackageResponse) *float64 { return v.ProjectVersion }).(pulumi.Float64PtrOutput)
}

// The type of SSIS object metadata.
// Expected value is 'Package'.
func (o SsisPackageResponseOutput) Type() pulumi.StringOutput {
	return o.ApplyT(func(v SsisPackageResponse) string { return v.Type }).(pulumi.StringOutput)
}

// Ssis parameter.
type SsisParameterResponse struct {
	// Parameter type.
	DataType *string `pulumi:"dataType"`
	// Default value of parameter.
	DefaultValue *string `pulumi:"defaultValue"`
	// Parameter description.
	Description *string `pulumi:"description"`
	// Design default value of parameter.
	DesignDefaultValue *string `pulumi:"designDefaultValue"`
	// Parameter id.
	Id *float64 `pulumi:"id"`
	// Parameter name.
	Name *string `pulumi:"name"`
	// Whether parameter is required.
	Required *bool `pulumi:"required"`
	// Whether parameter is sensitive.
	Sensitive *bool `pulumi:"sensitive"`
	// Default sensitive value of parameter.
	SensitiveDefaultValue *string `pulumi:"sensitiveDefaultValue"`
	// Parameter value set.
	ValueSet *bool `pulumi:"valueSet"`
	// Parameter value type.
	ValueType *string `pulumi:"valueType"`
	// Parameter reference variable.
	Variable *string `pulumi:"variable"`
}

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

	ToSsisParameterResponseOutput() SsisParameterResponseOutput
	ToSsisParameterResponseOutputWithContext(context.Context) SsisParameterResponseOutput
}

// Ssis parameter.
type SsisParameterResponseArgs struct {
	// Parameter type.
	DataType pulumi.StringPtrInput `pulumi:"dataType"`
	// Default value of parameter.
	DefaultValue pulumi.StringPtrInput `pulumi:"defaultValue"`
	// Parameter description.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Design default value of parameter.
	DesignDefaultValue pulumi.StringPtrInput `pulumi:"designDefaultValue"`
	// Parameter id.
	Id pulumi.Float64PtrInput `pulumi:"id"`
	// Parameter name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Whether parameter is required.
	Required pulumi.BoolPtrInput `pulumi:"required"`
	// Whether parameter is sensitive.
	Sensitive pulumi.BoolPtrInput `pulumi:"sensitive"`
	// Default sensitive value of parameter.
	SensitiveDefaultValue pulumi.StringPtrInput `pulumi:"sensitiveDefaultValue"`
	// Parameter value set.
	ValueSet pulumi.BoolPtrInput `pulumi:"valueSet"`
	// Parameter value type.
	ValueType pulumi.StringPtrInput `pulumi:"valueType"`
	// Parameter reference variable.
	Variable pulumi.StringPtrInput `pulumi:"variable"`
}

func (SsisParameterResponseArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisParameterResponse)(nil)).Elem()
}

func (i SsisParameterResponseArgs) ToSsisParameterResponseOutput() SsisParameterResponseOutput {
	return i.ToSsisParameterResponseOutputWithContext(context.Background())
}

func (i SsisParameterResponseArgs) ToSsisParameterResponseOutputWithContext(ctx context.Context) SsisParameterResponseOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisParameterResponseOutput)
}

// SsisParameterResponseArrayInput is an input type that accepts SsisParameterResponseArray and SsisParameterResponseArrayOutput values.
// You can construct a concrete instance of `SsisParameterResponseArrayInput` via:
//
//          SsisParameterResponseArray{ SsisParameterResponseArgs{...} }
type SsisParameterResponseArrayInput interface {
	pulumi.Input

	ToSsisParameterResponseArrayOutput() SsisParameterResponseArrayOutput
	ToSsisParameterResponseArrayOutputWithContext(context.Context) SsisParameterResponseArrayOutput
}

type SsisParameterResponseArray []SsisParameterResponseInput

func (SsisParameterResponseArray) ElementType() reflect.Type {
	return reflect.TypeOf((*[]SsisParameterResponse)(nil)).Elem()
}

func (i SsisParameterResponseArray) ToSsisParameterResponseArrayOutput() SsisParameterResponseArrayOutput {
	return i.ToSsisParameterResponseArrayOutputWithContext(context.Background())
}

func (i SsisParameterResponseArray) ToSsisParameterResponseArrayOutputWithContext(ctx context.Context) SsisParameterResponseArrayOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisParameterResponseArrayOutput)
}

// Ssis parameter.
type SsisParameterResponseOutput struct{ *pulumi.OutputState }

func (SsisParameterResponseOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisParameterResponse)(nil)).Elem()
}

func (o SsisParameterResponseOutput) ToSsisParameterResponseOutput() SsisParameterResponseOutput {
	return o
}

func (o SsisParameterResponseOutput) ToSsisParameterResponseOutputWithContext(ctx context.Context) SsisParameterResponseOutput {
	return o
}

// Parameter type.
func (o SsisParameterResponseOutput) DataType() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *string { return v.DataType }).(pulumi.StringPtrOutput)
}

// Default value of parameter.
func (o SsisParameterResponseOutput) DefaultValue() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *string { return v.DefaultValue }).(pulumi.StringPtrOutput)
}

// Parameter description.
func (o SsisParameterResponseOutput) Description() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *string { return v.Description }).(pulumi.StringPtrOutput)
}

// Design default value of parameter.
func (o SsisParameterResponseOutput) DesignDefaultValue() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *string { return v.DesignDefaultValue }).(pulumi.StringPtrOutput)
}

// Parameter id.
func (o SsisParameterResponseOutput) Id() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *float64 { return v.Id }).(pulumi.Float64PtrOutput)
}

// Parameter name.
func (o SsisParameterResponseOutput) Name() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *string { return v.Name }).(pulumi.StringPtrOutput)
}

// Whether parameter is required.
func (o SsisParameterResponseOutput) Required() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *bool { return v.Required }).(pulumi.BoolPtrOutput)
}

// Whether parameter is sensitive.
func (o SsisParameterResponseOutput) Sensitive() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *bool { return v.Sensitive }).(pulumi.BoolPtrOutput)
}

// Default sensitive value of parameter.
func (o SsisParameterResponseOutput) SensitiveDefaultValue() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *string { return v.SensitiveDefaultValue }).(pulumi.StringPtrOutput)
}

// Parameter value set.
func (o SsisParameterResponseOutput) ValueSet() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *bool { return v.ValueSet }).(pulumi.BoolPtrOutput)
}

// Parameter value type.
func (o SsisParameterResponseOutput) ValueType() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *string { return v.ValueType }).(pulumi.StringPtrOutput)
}

// Parameter reference variable.
func (o SsisParameterResponseOutput) Variable() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisParameterResponse) *string { return v.Variable }).(pulumi.StringPtrOutput)
}

type SsisParameterResponseArrayOutput struct{ *pulumi.OutputState }

func (SsisParameterResponseArrayOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*[]SsisParameterResponse)(nil)).Elem()
}

func (o SsisParameterResponseArrayOutput) ToSsisParameterResponseArrayOutput() SsisParameterResponseArrayOutput {
	return o
}

func (o SsisParameterResponseArrayOutput) ToSsisParameterResponseArrayOutputWithContext(ctx context.Context) SsisParameterResponseArrayOutput {
	return o
}

func (o SsisParameterResponseArrayOutput) Index(i pulumi.IntInput) SsisParameterResponseOutput {
	return pulumi.All(o, i).ApplyT(func(vs []interface{}) SsisParameterResponse {
		return vs[0].([]SsisParameterResponse)[vs[1].(int)]
	}).(SsisParameterResponseOutput)
}

// Ssis project.
type SsisProjectResponse struct {
	// Metadata description.
	Description *string `pulumi:"description"`
	// Environment reference in project
	EnvironmentRefs []SsisEnvironmentReferenceResponse `pulumi:"environmentRefs"`
	// Folder id which contains project.
	FolderId *float64 `pulumi:"folderId"`
	// Metadata id.
	Id *float64 `pulumi:"id"`
	// Metadata name.
	Name *string `pulumi:"name"`
	// Parameters in project
	Parameters []SsisParameterResponse `pulumi:"parameters"`
	// The type of SSIS object metadata.
	// Expected value is 'Project'.
	Type string `pulumi:"type"`
	// Project version.
	Version *float64 `pulumi:"version"`
}

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

	ToSsisProjectResponseOutput() SsisProjectResponseOutput
	ToSsisProjectResponseOutputWithContext(context.Context) SsisProjectResponseOutput
}

// Ssis project.
type SsisProjectResponseArgs struct {
	// Metadata description.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Environment reference in project
	EnvironmentRefs SsisEnvironmentReferenceResponseArrayInput `pulumi:"environmentRefs"`
	// Folder id which contains project.
	FolderId pulumi.Float64PtrInput `pulumi:"folderId"`
	// Metadata id.
	Id pulumi.Float64PtrInput `pulumi:"id"`
	// Metadata name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Parameters in project
	Parameters SsisParameterResponseArrayInput `pulumi:"parameters"`
	// The type of SSIS object metadata.
	// Expected value is 'Project'.
	Type pulumi.StringInput `pulumi:"type"`
	// Project version.
	Version pulumi.Float64PtrInput `pulumi:"version"`
}

func (SsisProjectResponseArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisProjectResponse)(nil)).Elem()
}

func (i SsisProjectResponseArgs) ToSsisProjectResponseOutput() SsisProjectResponseOutput {
	return i.ToSsisProjectResponseOutputWithContext(context.Background())
}

func (i SsisProjectResponseArgs) ToSsisProjectResponseOutputWithContext(ctx context.Context) SsisProjectResponseOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisProjectResponseOutput)
}

// Ssis project.
type SsisProjectResponseOutput struct{ *pulumi.OutputState }

func (SsisProjectResponseOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisProjectResponse)(nil)).Elem()
}

func (o SsisProjectResponseOutput) ToSsisProjectResponseOutput() SsisProjectResponseOutput {
	return o
}

func (o SsisProjectResponseOutput) ToSsisProjectResponseOutputWithContext(ctx context.Context) SsisProjectResponseOutput {
	return o
}

// Metadata description.
func (o SsisProjectResponseOutput) Description() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisProjectResponse) *string { return v.Description }).(pulumi.StringPtrOutput)
}

// Environment reference in project
func (o SsisProjectResponseOutput) EnvironmentRefs() SsisEnvironmentReferenceResponseArrayOutput {
	return o.ApplyT(func(v SsisProjectResponse) []SsisEnvironmentReferenceResponse { return v.EnvironmentRefs }).(SsisEnvironmentReferenceResponseArrayOutput)
}

// Folder id which contains project.
func (o SsisProjectResponseOutput) FolderId() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisProjectResponse) *float64 { return v.FolderId }).(pulumi.Float64PtrOutput)
}

// Metadata id.
func (o SsisProjectResponseOutput) Id() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisProjectResponse) *float64 { return v.Id }).(pulumi.Float64PtrOutput)
}

// Metadata name.
func (o SsisProjectResponseOutput) Name() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisProjectResponse) *string { return v.Name }).(pulumi.StringPtrOutput)
}

// Parameters in project
func (o SsisProjectResponseOutput) Parameters() SsisParameterResponseArrayOutput {
	return o.ApplyT(func(v SsisProjectResponse) []SsisParameterResponse { return v.Parameters }).(SsisParameterResponseArrayOutput)
}

// The type of SSIS object metadata.
// Expected value is 'Project'.
func (o SsisProjectResponseOutput) Type() pulumi.StringOutput {
	return o.ApplyT(func(v SsisProjectResponse) string { return v.Type }).(pulumi.StringOutput)
}

// Project version.
func (o SsisProjectResponseOutput) Version() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisProjectResponse) *float64 { return v.Version }).(pulumi.Float64PtrOutput)
}

// Ssis variable.
type SsisVariableResponse struct {
	// Variable type.
	DataType *string `pulumi:"dataType"`
	// Variable description.
	Description *string `pulumi:"description"`
	// Variable id.
	Id *float64 `pulumi:"id"`
	// Variable name.
	Name *string `pulumi:"name"`
	// Whether variable is sensitive.
	Sensitive *bool `pulumi:"sensitive"`
	// Variable sensitive value.
	SensitiveValue *string `pulumi:"sensitiveValue"`
	// Variable value.
	Value *string `pulumi:"value"`
}

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

	ToSsisVariableResponseOutput() SsisVariableResponseOutput
	ToSsisVariableResponseOutputWithContext(context.Context) SsisVariableResponseOutput
}

// Ssis variable.
type SsisVariableResponseArgs struct {
	// Variable type.
	DataType pulumi.StringPtrInput `pulumi:"dataType"`
	// Variable description.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Variable id.
	Id pulumi.Float64PtrInput `pulumi:"id"`
	// Variable name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Whether variable is sensitive.
	Sensitive pulumi.BoolPtrInput `pulumi:"sensitive"`
	// Variable sensitive value.
	SensitiveValue pulumi.StringPtrInput `pulumi:"sensitiveValue"`
	// Variable value.
	Value pulumi.StringPtrInput `pulumi:"value"`
}

func (SsisVariableResponseArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisVariableResponse)(nil)).Elem()
}

func (i SsisVariableResponseArgs) ToSsisVariableResponseOutput() SsisVariableResponseOutput {
	return i.ToSsisVariableResponseOutputWithContext(context.Background())
}

func (i SsisVariableResponseArgs) ToSsisVariableResponseOutputWithContext(ctx context.Context) SsisVariableResponseOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisVariableResponseOutput)
}

// SsisVariableResponseArrayInput is an input type that accepts SsisVariableResponseArray and SsisVariableResponseArrayOutput values.
// You can construct a concrete instance of `SsisVariableResponseArrayInput` via:
//
//          SsisVariableResponseArray{ SsisVariableResponseArgs{...} }
type SsisVariableResponseArrayInput interface {
	pulumi.Input

	ToSsisVariableResponseArrayOutput() SsisVariableResponseArrayOutput
	ToSsisVariableResponseArrayOutputWithContext(context.Context) SsisVariableResponseArrayOutput
}

type SsisVariableResponseArray []SsisVariableResponseInput

func (SsisVariableResponseArray) ElementType() reflect.Type {
	return reflect.TypeOf((*[]SsisVariableResponse)(nil)).Elem()
}

func (i SsisVariableResponseArray) ToSsisVariableResponseArrayOutput() SsisVariableResponseArrayOutput {
	return i.ToSsisVariableResponseArrayOutputWithContext(context.Background())
}

func (i SsisVariableResponseArray) ToSsisVariableResponseArrayOutputWithContext(ctx context.Context) SsisVariableResponseArrayOutput {
	return pulumi.ToOutputWithContext(ctx, i).(SsisVariableResponseArrayOutput)
}

// Ssis variable.
type SsisVariableResponseOutput struct{ *pulumi.OutputState }

func (SsisVariableResponseOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*SsisVariableResponse)(nil)).Elem()
}

func (o SsisVariableResponseOutput) ToSsisVariableResponseOutput() SsisVariableResponseOutput {
	return o
}

func (o SsisVariableResponseOutput) ToSsisVariableResponseOutputWithContext(ctx context.Context) SsisVariableResponseOutput {
	return o
}

// Variable type.
func (o SsisVariableResponseOutput) DataType() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisVariableResponse) *string { return v.DataType }).(pulumi.StringPtrOutput)
}

// Variable description.
func (o SsisVariableResponseOutput) Description() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisVariableResponse) *string { return v.Description }).(pulumi.StringPtrOutput)
}

// Variable id.
func (o SsisVariableResponseOutput) Id() pulumi.Float64PtrOutput {
	return o.ApplyT(func(v SsisVariableResponse) *float64 { return v.Id }).(pulumi.Float64PtrOutput)
}

// Variable name.
func (o SsisVariableResponseOutput) Name() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisVariableResponse) *string { return v.Name }).(pulumi.StringPtrOutput)
}

// Whether variable is sensitive.
func (o SsisVariableResponseOutput) Sensitive() pulumi.BoolPtrOutput {
	return o.ApplyT(func(v SsisVariableResponse) *bool { return v.Sensitive }).(pulumi.BoolPtrOutput)
}

// Variable sensitive value.
func (o SsisVariableResponseOutput) SensitiveValue() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisVariableResponse) *string { return v.SensitiveValue }).(pulumi.StringPtrOutput)
}

// Variable value.
func (o SsisVariableResponseOutput) Value() pulumi.StringPtrOutput {
	return o.ApplyT(func(v SsisVariableResponse) *string { return v.Value }).(pulumi.StringPtrOutput)
}

type SsisVariableResponseArrayOutput struct{ *pulumi.OutputState }

func (SsisVariableResponseArrayOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*[]SsisVariableResponse)(nil)).Elem()
}

func (o SsisVariableResponseArrayOutput) ToSsisVariableResponseArrayOutput() SsisVariableResponseArrayOutput {
	return o
}

func (o SsisVariableResponseArrayOutput) ToSsisVariableResponseArrayOutputWithContext(ctx context.Context) SsisVariableResponseArrayOutput {
	return o
}

func (o SsisVariableResponseArrayOutput) Index(i pulumi.IntInput) SsisVariableResponseOutput {
	return pulumi.All(o, i).ApplyT(func(vs []interface{}) SsisVariableResponse {
		return vs[0].([]SsisVariableResponse)[vs[1].(int)]
	}).(SsisVariableResponseOutput)
}

// An access key for the storage account.
type StorageAccountKeyResponse struct {
	// Creation time of the key, in round trip date format.
	CreationTime string `pulumi:"creationTime"`
	// Name of the key.
	KeyName string `pulumi:"keyName"`
	// Permissions for the key -- read-only or full permissions.
	Permissions string `pulumi:"permissions"`
	// Base 64-encoded value of the key.
	Value string `pulumi:"value"`
}

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

	ToStorageAccountKeyResponseOutput() StorageAccountKeyResponseOutput
	ToStorageAccountKeyResponseOutputWithContext(context.Context) StorageAccountKeyResponseOutput
}

// An access key for the storage account.
type StorageAccountKeyResponseArgs struct {
	// Creation time of the key, in round trip date format.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// Name of the key.
	KeyName pulumi.StringInput `pulumi:"keyName"`
	// Permissions for the key -- read-only or full permissions.
	Permissions pulumi.StringInput `pulumi:"permissions"`
	// Base 64-encoded value of the key.
	Value pulumi.StringInput `pulumi:"value"`
}

func (StorageAccountKeyResponseArgs) ElementType() reflect.Type {
	return reflect.TypeOf((*StorageAccountKeyResponse)(nil)).Elem()
}

func (i StorageAccountKeyResponseArgs) ToStorageAccountKeyResponseOutput() StorageAccountKeyResponseOutput {
	return i.ToStorageAccountKeyResponseOutputWithContext(context.Background())
}

func (i StorageAccountKeyResponseArgs) ToStorageAccountKeyResponseOutputWithContext(ctx context.Context) StorageAccountKeyResponseOutput {
	return pulumi.ToOutputWithContext(ctx, i).(StorageAccountKeyResponseOutput)
}

// StorageAccountKeyResponseArrayInput is an input type that accepts StorageAccountKeyResponseArray and StorageAccountKeyResponseArrayOutput values.
// You can construct a concrete instance of `StorageAccountKeyResponseArrayInput` via:
//
//          StorageAccountKeyResponseArray{ StorageAccountKeyResponseArgs{...} }
type StorageAccountKeyResponseArrayInput interface {
	pulumi.Input

	ToStorageAccountKeyResponseArrayOutput() StorageAccountKeyResponseArrayOutput
	ToStorageAccountKeyResponseArrayOutputWithContext(context.Context) StorageAccountKeyResponseArrayOutput
}

type StorageAccountKeyResponseArray []StorageAccountKeyResponseInput

func (StorageAccountKeyResponseArray) ElementType() reflect.Type {
	return reflect.TypeOf((*[]StorageAccountKeyResponse)(nil)).Elem()
}

func (i StorageAccountKeyResponseArray) ToStorageAccountKeyResponseArrayOutput() StorageAccountKeyResponseArrayOutput {
	return i.ToStorageAccountKeyResponseArrayOutputWithContext(context.Background())
}

func (i StorageAccountKeyResponseArray) ToStorageAccountKeyResponseArrayOutputWithContext(ctx context.Context) StorageAccountKeyResponseArrayOutput {
	return pulumi.ToOutputWithContext(ctx, i).(StorageAccountKeyResponseArrayOutput)
}

// An access key for the storage account.
type StorageAccountKeyResponseOutput struct{ *pulumi.OutputState }

func (StorageAccountKeyResponseOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*StorageAccountKeyResponse)(nil)).Elem()
}

func (o StorageAccountKeyResponseOutput) ToStorageAccountKeyResponseOutput() StorageAccountKeyResponseOutput {
	return o
}

func (o StorageAccountKeyResponseOutput) ToStorageAccountKeyResponseOutputWithContext(ctx context.Context) StorageAccountKeyResponseOutput {
	return o
}

// Creation time of the key, in round trip date format.
func (o StorageAccountKeyResponseOutput) CreationTime() pulumi.StringOutput {
	return o.ApplyT(func(v StorageAccountKeyResponse) string { return v.CreationTime }).(pulumi.StringOutput)
}

// Name of the key.
func (o StorageAccountKeyResponseOutput) KeyName() pulumi.StringOutput {
	return o.ApplyT(func(v StorageAccountKeyResponse) string { return v.KeyName }).(pulumi.StringOutput)
}

// Permissions for the key -- read-only or full permissions.
func (o StorageAccountKeyResponseOutput) Permissions() pulumi.StringOutput {
	return o.ApplyT(func(v StorageAccountKeyResponse) string { return v.Permissions }).(pulumi.StringOutput)
}

// Base 64-encoded value of the key.
func (o StorageAccountKeyResponseOutput) Value() pulumi.StringOutput {
	return o.ApplyT(func(v StorageAccountKeyResponse) string { return v.Value }).(pulumi.StringOutput)
}

type StorageAccountKeyResponseArrayOutput struct{ *pulumi.OutputState }

func (StorageAccountKeyResponseArrayOutput) ElementType() reflect.Type {
	return reflect.TypeOf((*[]StorageAccountKeyResponse)(nil)).Elem()
}

func (o StorageAccountKeyResponseArrayOutput) ToStorageAccountKeyResponseArrayOutput() StorageAccountKeyResponseArrayOutput {
	return o
}

func (o StorageAccountKeyResponseArrayOutput) ToStorageAccountKeyResponseArrayOutputWithContext(ctx context.Context) StorageAccountKeyResponseArrayOutput {
	return o
}

func (o StorageAccountKeyResponseArrayOutput) Index(i pulumi.IntInput) StorageAccountKeyResponseOutput {
	return pulumi.All(o, i).ApplyT(func(vs []interface{}) StorageAccountKeyResponse {
		return vs[0].([]StorageAccountKeyResponse)[vs[1].(int)]
	}).(StorageAccountKeyResponseOutput)
}

func init() {
	pulumi.RegisterOutputType(SsisEnvironmentReferenceResponseOutput{})
	pulumi.RegisterOutputType(SsisEnvironmentReferenceResponseArrayOutput{})
	pulumi.RegisterOutputType(SsisEnvironmentResponseOutput{})
	pulumi.RegisterOutputType(SsisFolderResponseOutput{})
	pulumi.RegisterOutputType(SsisPackageResponseOutput{})
	pulumi.RegisterOutputType(SsisParameterResponseOutput{})
	pulumi.RegisterOutputType(SsisParameterResponseArrayOutput{})
	pulumi.RegisterOutputType(SsisProjectResponseOutput{})
	pulumi.RegisterOutputType(SsisVariableResponseOutput{})
	pulumi.RegisterOutputType(SsisVariableResponseArrayOutput{})
	pulumi.RegisterOutputType(StorageAccountKeyResponseOutput{})
	pulumi.RegisterOutputType(StorageAccountKeyResponseArrayOutput{})
}
